Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Implicit Neural Representations (INRs)

暗黙的ニューラル表現では、画像、形状、3Dシーンを、座標を値に変換するニューラルネットワークとして保持し、任意の解像度で照会できます。

暗黙的ニューラル表現(INR)は、信号をニューラルネットワークで学習する連続関数として保持します。通常は小規模な多層パーセプトロン(MLP)が使われ、座標を値に変換します。画像はピクセル位置(x, y)を色に変換する関数、3D形状は点(x, y, z)を表面からの符号付き距離に変換する関数、シーンは点と視線方向を色と密度に変換する関数として表現されます。ネットワークの重みが表現そのものであり、ピクセルやボクセルのグリッドはありません。そのため、任意の座標で信号を取得でき、出力解像度が上がってもメモリ使用量は増えず、自動微分によって導関数を追加コストなしで取得できます。INRは座標ベースネットワークまたはニューラルフィールドとも呼ばれ、ニューラル放射輝度場や現代の3D再構成の多くを支えています。

暗黙的ニューラル表現の仕組み#

INRは一度に1つの信号に適合させます。座標をサンプリングし、その座標でのネットワーク出力と正解値を比較して、勾配降下法で重みを更新します。目標は信号の記憶であるため、適合時には意図的に過学習させます。通常のReLU活性化関数を使うMLPでは、ネットワークが高周波成分より低周波成分をはるかに速く学習するため、うまくいきません。Nasim Rahaman氏らは2019年、この現象をスペクトルバイアスと名付けました。生の座標を入力すると、ネットワークの出力は信号をぼかしたものになります。2020年に、2つの工夫でINRが実用化されました。座標をさまざまな周波数の正弦と余弦に変換する、Matthew Tancik氏らのフーリエ特徴とNeRFの位置エンコーディング、そしてReLUを正弦の活性化関数に置き換える、Vincent Sitzmann氏らのSIRENです。

このPyTorchの例では、同じMLPを使って1枚の写真に2回適合させます。1回目は生の座標、2回目はフーリエ特徴を使用します。

import torch
from skimage import data, transform
from torch import nn

torch.manual_seed(0)

# The signal: a 128 x 128 grayscale photo, and the (x, y) coordinate of every pixel in [-1, 1]
image = torch.tensor(transform.resize(data.camera(), (128, 128)), dtype=torch.float32).reshape(-1, 1)
grid = torch.linspace(-1, 1, 128)
coords = torch.stack(torch.meshgrid(grid, grid, indexing="ij"), dim=-1).reshape(-1, 2)

# Fourier features: sines and cosines of the coordinates at 128 random frequencies
proj = torch.pi * coords @ (10 * torch.randn(2, 128))
inputs = {"Raw coordinates": coords, "Fourier features": torch.cat([proj.sin(), proj.cos()], dim=-1)}

for name, x in inputs.items():
    # The INR: a small MLP from coordinate to gray value, fit to this one image
    mlp = nn.Sequential(nn.Linear(x.shape[1], 256), nn.ReLU(), nn.Linear(256, 256), nn.ReLU(), nn.Linear(256, 1))
    optimizer = torch.optim.Adam(mlp.parameters(), lr=1e-3)
    for _ in range(1000):
        loss = (mlp(x) - image).pow(2).mean()
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"{name}: PSNR {-10 * torch.log10(loss).item():.1f} dB")

1,000ステップ後、生の座標を使ったネットワークのピーク信号対雑音比は22.0 dBで、画像はぼやけています。一方、フーリエ特徴を使ったネットワークは46.0 dBに達し、ほぼ完全な複製を生成します。ここでは10とした周波数スケールは、信号ごとに調整します。低すぎると適合結果がぼやけ、高すぎるとサンプルを記憶してしまい、サンプル間の値がノイズを含みます。Ultralyticsパッケージで動作するMetaのSegment Anything Modelは、点プロンプトとボックスプロンプトの座標をマスクデコーダーに渡す前に、同じランダムなガウスフーリエ特徴でエンコードします。

形状、シーン、処理速度#

3D形状向けINRは2019年に登場しました。DeepSDFは符号付き距離を、Occupancy Networksは任意の3D点が内側か外側かの確率を予測し、任意の解像度でメッシュを抽出できるようにしました。2020年にはNeRFが続き、位置と視線方向から色と密度を算出して新規視点合成を行いました。純粋なMLPは学習とクエリ処理に時間がかかるため、ハイブリッド設計では学習済み特徴をグリッドに保存し、小さなMLPでデコードします。NVIDIAのThomas Müller氏らによるInstant-NGPは、特徴のマルチ解像度ハッシュテーブルを使い、数時間ではなく数秒でNeRFを学習します。

INRは、ピクセルグリッド、ボクセルグリッド、メッシュ、点群などの明示的表現とは対照的です。明示的表現は値を直接保持し、ボクセルでは立方的に、解像度とともにデータ量が増えます。ガウシアンスプラッティングはNeRFに代わる近年の明示的手法で、数百万個の3Dガウスをラスタライズして高速にレンダリングします。基本的なINRは単一の信号に適合するため、多数の信号に汎化させるには追加の仕組みが必要です。たとえば、潜在コードからINRの重みを出力するハイパーネットワークや、少ないステップで新しい信号に適合する初期値を学習するメタ学習があります。

実際のアプリケーション#

  • 医用画像:INRは、疎またはアンダーサンプリングされた計測値からCTやMRIのボリュームを再構成します。取得済みサンプル間の隙間を、滑らかでデータ整合性のあるボリュームで補完できるためです。
  • 超解像:LIIFなどの局所暗黙的画像関数は、周辺特徴から任意の連続座標における色を予測するため、1つのモデルで画像を任意の倍率に拡大できます。
  • 3Dコンテンツ制作:テキストから3D、画像から3Dへの生成モデルは、ニューラルフィールドを最適化または予測し、それをゲームや視覚効果用のメッシュに変換することがよくあります。
  • 圧縮:Emilien Dupont氏らが2021年に発表したCOINは、小規模なMLPの量子化済み重みとして画像を保存し、低ビットレートではJPEGを上回ります。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう