Haato Watanabe(渡辺 羽亜人)
About
所属:東京大学大学院 情報理工学系研究科 創造情報学専攻 梅谷研究室 修士2年
専門:コンピュータ・グラフィックス、特にコンテンツ制作支援とシミュレーションに興味があります。現在は3D Reconstructionの研究をしています。
Publications
SketchRodGS: Sketch-based Extraction of Slender Geometries for Animating Gaussian Splatting Scenes
- Haato Watanabe, Nobuyuki Umetani
- ACM, SIGGRAPH Asia 2025 Technical Communications (SA Technical Communications ‘25)
- プロジェクトページとコード、データセットを公開しています。
3D Gabor Splatting: ガボールノイズを用いた高周波テクスチャの三次元再構築
- 渡辺羽亜人,東條建治,梅谷信行
- 下記の論文「3D Gabor Splatting: Reconstruction of High-frequency Surface Texture using Gabor Noise」の日本語版が「MIRU2025」のオーラル発表と「電子情報通信学会,研究速報,分冊D,システム開発論文」に採択されました。
- 「MIRU2025」で優秀賞(MIRU Excellent Paper Award)とオーディエンス賞(MIRU Audience Award)を受賞しました。
3D Gabor Splatting: Reconstruction of High-frequency Surface Texture using Gabor Noise
- Haato Watanabe, Kenji Tojo and Nobuyuki Umetani
- Proceedings of the Eurographics 2025 Short Papers, 2025, Eurographics Association
- 3D Gaussian splattingで高周波を持ったテクスチャ(細かいチェック柄など)を再構成しようとすると、極めて多くのGaussian primitiveを組み合わせて表現することになり、効率が良くないです。そこで、Procedural texture synthesisの技術であるGabor noiseに着想を受けて、Gaussian primitiveをGabor kernelに置き換えることでより小さなデータ数で高周波テクスチャを表現することを実現しました。
- 3D空間においてGabor kernelをfittingすることが可能であることを示したこともcontributionの一つとなると思います。
- プロジェクトページとコード、データセットを公開しています。
Exploring User’s Line of Sight And Word Gesture Text Entry Techniques in Virtual Reality
- Haato Watanabe, Ryo Hatano, Hiroyuki Nishiyama
- Proceedings of the Joint Symposium of The Twenty-Ninth International Symposium on Artificial Life and Robotics (AROB 29th 2024)
- VR空間において、目線で英字キーボード入力を行うシステムの提案、評価を行いました。
- 論文を公開しています。
Experience
Reviewer (by invitation), Pacific Graphics 2025.
- 微分可能表現を用いた3D reconstruction分野のfull paperをレビューしました。
株式会社Preferred Networks

- R&Dサマーインターン、パートタイムエンジニア
- 4D Gaussian splatting web viewerの開発をしました。成果をテックブログとして公開しています。
株式会社松尾研究所

- エンジニア インターン
- LLMを用いた業務効率化システムの共同研究プロジェクトに参加しました。
株式会社プレイド

- エンジニア インターン
- webプロダクトの開発に参加していました。バックエンド、フロントエンド両方の開発を担当していました。
- キーワード:TypeScript, Express, Vue, Mongo, circleci, e2e, svelte, CDN
株式会社Alice
- エンジニア(業務委託)
- Edge AIの画像認識システムを開発をしました。既存プロダクトの調査、既存技術のサーベイ・検証、論文実装、システム設計、コーディングを一貫して個人プロジェクトとして行いました。
- キーワード:Keras, Tensorflow, ONNX, TensorRT, Jupyter, Git, Docker, Linux
Works
Shell reimplementation
勉強のためにでBash likeなshellをc言語で再実装しました。基本ライブラリは自身で実装したものを用いました。 以下の機能を再現しました。
- コマンド実行: 外部コマンドの実行と PATH 解決
- ビルトインコマンド:
echo,cd,pwd,export,unset,env,exit - パイプライン: コマンド間のデータフロー (
|) - リダイレクション: 入力/出力のファイルリダイレクト (
<,>,>>) - ヒアドキュメント: 複数行入力 (
<<) - 環境変数: 変数の展開と管理 (
$VAR) - クォート処理: シングル・ダブルクォート内の文字列処理
- シグナル処理:
Ctrl+C,Ctrl+D,Ctrl+\
コマンドは子プロセスで実行するなどのBash内部の処理だけでなく、機能も改めて学べました。
実装を公開しています。
MIRU 2025 優秀賞 & オーディエンス賞
2025 MIRU(画像の認識・理解シンポジウム)3D Gabor Splattingの発表を行いました。




優秀賞(MIRU Excellent Paper Award)とオーディエンス賞(MIRU Audience Award)を受賞しました。
NeRF in 2D Space
NeRFの学習を画像空間のみで行うコードです。3次元再構築ではないので実用性は無いですが、NeRFのpositional encodingがどれほどのものかを自分で確かめてみたくなり実装しました。想像以上にpositional encodingが有る場合と無い場合で差が出たので面白かったです。因みにpositional encodingをx軸、y軸のどちらかに絞ると高周波成分を表現したい方向を制限することもできました。つまり、縦方向(横方向)だけ綺麗に学習して直角方向はぼやかすことができます。
Ground Truth画像

(10,000 iterations)

(3,000 iterations)

Fractal visualizer
急にやってみたくなったので、Julia集合とMadelbrot集合をレンダリングするコードを書いてみました。
Making Visual hull mesh from mask images and camera params
- 多視点画像データのカメラパラメータとマスク画像から対象物体のvisual hull meshを生成するコードを実装しました。
- visual hullを作成するコードは存在していたのですが、使いにくかったのでシンプルな仕様で作り直しました。
- 実装を公開しています。
Nerf synthetic data creation code using Mitsuba renderer

- Mitsuba rendererを使用してNeRFのsyntheticデータを撮影する環境を作成しました。
- 公式実装ではBlender上のスクリプトで作成されていますが、Mitsuba rendererでデータを撮りたくなったので作成しました。
- 写真はYuksel hair dataset(curly)をレンダリングした例です。
- Mitsuba上でオブジェクトを配置してランダムな位置から撮影できます。
- ランダムに位置を決める処理や出力されるカメラパラメータファイルはNerf-syntheticデータセットを作成するコードに合わせて作っているので、3D Reconstructionに使いやすいと思います。
- コードに書かれているdict(json)データを設定することでレンダリングするシーンを変更できます。
- 実装を公開しています。
Stable fluids implementation
- 流体シミュレーションの1種であるStable fluidsをC++で実装しました。OpenMPを用いてSIMD並列化とスレッド並列化を行いました。
- Poisson方程式はJacobi法で計算しています。
- 元々流体シミューレーションに興味があったのでキャッチアップの最初のステップとして丁度良いと思い始めました。
- 書籍「GPU Gems」の38章「GPU上での高速な流体力学シミュレーション」が分かりやすかったです。
3D Gabor Splatting
- 研究プロジェクト3D Gabor Splattingで2D Gaussian splattingのコードをベースとし、拡張したGabor kernelをfittingするシステムを開発しました。
- コア部分はCUDA differentiable rasterizerを改造しました。
- 実装を公開しています。
Gabor noise rasterizer in image space using pytorch
- PytorchでGabor noiseを表示するコードを作成しました。Pytorchで実装しているためexample imageに対してfittingをすることができます。
- Gabor noiseとは
- Gaussian distributionに正弦波を掛けたものをGabor kernelと言います。
- Gabor kernelは画像から特徴を検出する場合に使われますが、複数のGabor kernelを画像空間で足し合わせることで様々なテクスチャを表現することができ、そのようなテクスチャをGabor noiseと言います。
- Gabor noiseはProcedural Texture Generation技術の1種として有名なものになります。
- 実装を公開しています。
4D Gaussian Splatting Web Viewer
- プリファード・ネットワークスのR&Dサマーインターン、アルバイトで動きのある3D Sceneを再構成する手法である4D Gaussian SplattingのWeb Viewerを開発しました。PCとモバイルデバイスの両方で動作します。
- WebGLとReactで開発を行いました。シェーダーでのレンダリング処理やカメラ操作、視点変更UIのための衝突判定処理等を実装しました。
- ウェブブラウザという限られた環境の中で様々な処理を行う必要があるため、処理の効率化やスレッド並列化を特に工夫しました。
- サマーインターンにおける開発成果はテックブログとして公開しています。
- 時間周りは書籍「ゲームエンジン・アーキテクチャ」の7.4, 7.5章の時間の扱いが参考になりました。
C Standard Library reimplementation
- 低レイヤのコードに慣れようと思い、C標準ライブラリを再実装しました。
- 実装難易度は全く高くないですが、自分で書くと細かい仕様を学べるので楽しかったです。
- 実装を公開しています。
視線によるキーボード入力アプリ
- Meta Quest上でどうさする視線で英字キーボードを操作できるシステムです。
- 視線でキーボードをなぞり、ジェスチャータイピングを行うことで英単語を入力できます。
- 動画は与えられたテキストを視線で入力している様子です。
- マウス操作は目で行い、選択はコントローラで行います。
- 実装を公開しています。
ペリペリ感触アプリ
- iOS上で動作する「くじ引きをめくっているときのペリペリ感を体感する」ことができるアプリを開発しました。スマホの画面を指でなぞるとくじがめくられるアニメーションが動作し、バイブレーションによりくじをめくっている感触を体験できます。
- ハイカジュゲームを作る過程で実験のために作りました。
- 動画はめくっている様子を示しています。めくる動作と同時にバイブレーションでぺりぺり感を演出します。
- アニメーションはUnity、バイブレーションはCore Hapticsを用いて開発しました。
- Test Flightで配布してテストしていました。
Ray-tracing implementation

- 趣味でRay-tracingをC++で実装しました。
- 画像はコーネルボックスを100x100pxでレンダリングした結果です。
ナンバープレート認識システム


- Edge AIコンピュータのJetson Nano上で動作する日本語ナンバープレート認識システムを開発しました。
- 研究開発案件で開発しました。
- 開発当時、Nvidiaが公開しているLPRモデルが日本のナンバープレートに対応していなかったため、日本のナンバープレートに対応するシステムを開発しました。
- 以下、開発内容の一部です。
- NvidiaのLPDNetモデルをTensorRTライブラリで高速化
- OpenCVを用いた画像処理による文字の抽出
- 文字認識CNNモデルを訓練しTensorRTライブラリで高速化
- プロジェクトの過程で作成したコードを公開しています。
- tensorrt-infer-python
- PythonでTensorRTを用いてinferenceをするコードです。
- google-drive-document-ocr
- Google DocumentのOCR機能を用いてOCRを行うコードです。
- GoogleDriveAPIを利用します。
- Google DocumentのOCR機能の精度が良かったので遊びで作りました。
- deepstream_lpr_app_python
- Nvidiaが公開しているLicense Place Recognition(LPR)モデルのPython版です。
- 公式のサンプルコードはCで書かれていたのでPythonで作りました。
- tensorrt-infer-python
ImageDataAugmentation code

- 細かい調整ができるデータアーギュメンテーションのコードです。
- ナンバープレート認識システムの開発の過程で文字認識を行う必要があり、当時細かいパラメータ調整ができるライブラリが無かったので作りました。
- 実装を公開しています。
サイクリスト用情報交換サイト(DeNAハッカソン)

- 5人の学生チームでサイクリスト用情報交換サイトを作成しました。
- DeNAのオータムハッカソン 2022で作成しました。
- 自身はバックエンドを担当しました。
- フロントエンドはReact、バックエンドはdjango, SQLiteで開発し、EC2にデプロイしました。
姿勢監視タスク管理アプリ
- タスク管理用タイマーに作業時の姿勢を監視して姿勢が崩れると警告を発する機能を付けたデスクトップアプリを開発しました。
- ハッカソンで作成しました。
- 姿勢推定はOpenPoseを用いており、フロントエンドはTkinterで作成しました。
Learning App on Android
- 1問1答形式の問題を練習するためのAndroidアプリケーションです。
- サーバー側に問題と答えのCSVファイルを入れておくことで様々な問題を配布することができます。
- フロントエンドはJava、バックエンドはPHPで作りました。
- 塾講師の友人がアプリを欲しがっていたので作りました。
- 実装を公開しています。
Awards
- 2025 MIRU(画像の認識・理解シンポジウム)
- 2022 DeNA オータムハッカソン 優勝
- 自身がリーダーを努めたチームでサイクリスト用情報交換サイトを作成しました。
Misc.
- TOEFL iBT: 79 (2022 September)
- TOEIC L&R: 920 (2023 February)
- 応用情報技術者試験
- 42 Tokyoに所属しており、低レイヤ側の開発の練習をしています。