Semantic Mapping
Ultralytics YOLO26 を使用して、セマンティックセグメンテーション、深度、ローカリゼーション、センサーフュージョンを組み合わせることで、よりスマートなロボットナビゲーションを実現するセマンティックマッピングの方法について学びます。
セマンティックマッピングは、環境の空間表現を構築し、道路、壁、出入り口、人物、棚、植生などの意味のあるクラスラベルをその中の位置に関連付けるプロセスです。AIやロボット工学において、セマンティックマップは「何かがどこにあるか?」と「それは何か?」の両方に答えます。シーンを占有空間と自由空間のみとして表現する代わりに、ナビゲーション、計画、インタラクション、シーン理解をサポートするコンテキスト情報を提供します。
セマンティックマッピングの仕組み#
セマンティックマッピングシステムは通常、知覚、幾何学、ローカリゼーション、時間的フュージョンを組み合わせます。まず、セマンティックセグメンテーションモデルがすべての画像ピクセルを分類します。たとえば、「道路」とラベル付けされたすべてのピクセルは道路領域を形成し、「車」とラベル付けされたピクセルは車両領域を特定します。NVIDIAによるロボット工学における画像セグメンテーションの紹介は、これらのピクセルごとのラベルがどのようにロボットの知覚をサポートするかを示しています。
ピクセルラベル単体では、2次元のカメラ画像に結び付いたままになります。システムには、ピクセルを物理的な位置に関連付けるために、通常LiDAR、ステレオカメラ、または深度推定からの幾何学が必要です。Open3D RGB-D画像ワークフローは、位置合わせされたカラー画像と深度画像から3D点群を生成する方法を示しています。
正確な投影は、カメラの内部パラメータと外部パラメータにも依存します。OpenCVカメラキャリブレーションのドキュメントでは、画像ピクセルを3D点に関連付けるために使用されるパラメータについて説明しており、一方、ROSのCameraInfoメッセージ定義はこのキャリブレーション情報をロボットシステムで標準化しています。
最後に、センサーフュージョンによって時間の経過に伴う観測が結合されます。ロボットの姿勢と座標変換により、ラベル付けされた各観測が共有マップフレームに配置されます。ROSのtf2座標変換は、これらの関係を維持するための一般的なメカニズムの1つを提供します。
関連する概念と主な違い#
セマンティックマッピングは、いくつかのコンピュータービジョンやロボット工学の概念と重なっていますが、それぞれ異なる問題を解決します。
- **ビジュアルSLAM**は、幾何学的マップを構築しながら、カメラまたはロボットの位置を推定します。セマンティックマッピングは、その幾何学にクラスの意味を追加します。したがって、システムは姿勢推定にSLAMを使用し、ラベル付けにセマンティック知覚を使用する場合があります。
- 占有マッピングは、セルが自由であるか、占有されているか、または不明であるかを記述します。Nav2マッピングおよびローカリゼーションガイドでは、占有グリッドがパス計画をどのようにサポートするかについて説明しています。セマンティックマップでは、さらに壁と人を区別したり、走行可能な道路と歩道を区別したりすることができます。
- **インスタンスセグメンテーション**は、2台の異なる車などの個々のオブジェクトを分離します。セマンティックセグメンテーションは、両方の車を1つのピクセルクラスの下にグループ化します。セマンティックマップは、オブジェクトのアイデンティティを保持する必要があるかどうかに応じて、どちらの表現も使用する場合があります。
- セマンティック検索は情報を概念的な類似性によって整理しますが、ロボット工学におけるセマンティックマッピングは意味を物理的な位置に関連付けます。
実社会での応用#
自律走行: 配送ロボットは、床を走行可能、壁や縁石を障害物、人を動的危険物としてラベル付けできます。これらのラベルをナビゲーションコストに変換できるため、プランナーはすべての目に見える領域を同じように扱うのではなく、安全な表面を優先するようになります。Nav2セマンティックセグメンテーションナビゲーションチュートリアルは、クラスマスクと位置合わせされた点群を使用してロボットのコストマップを更新する方法を示しています。
都市部での走行: 自律走行車は、道路、歩道、建物、植生、歩行者、車両の予測を永続的なワールドマップに投影できます。これは、システムが車線の境界を理解し、走行不可能なエリアを認識し、脆弱な道路利用者が現れる可能性のある場所を推論するのに役立ちます。公式のCityscapes都市シーンデータセットは、このタイプのシーン理解を開発するための高密度にラベル付けされた街路画像を提供します。
Ultralytics YOLOによるセマンティック知覚#
次のUltralyticsセマンティックセグメンテーションワークフローは、YOLO26を使用して高密度クラスマップを生成します。その出力は、後でマッピングパイプラインによって2Dグリッドまたは3Dワールド座標系に投影できます。
from ultralytics import YOLO
# Load a pretrained semantic segmentation model
model = YOLO("yolo26n-sem.pt")
# Predict a per-pixel class map
results = model("https://ultralytics.com/images/bus.jpg")
# Select the first result and inspect its map dimensions
result = results[0]
class_map = result.semantic_mask.data
print(class_map.shape)
result.save(filename="semantic_scene.jpg")semantic_maskには、画像ピクセルごとに1つのクラスIDが含まれます。これはセマンティック知覚層を提供しますが、永続的な空間マップを構築するには、深度、キャリブレーション、ローカリゼーション、および時間的フュージョンが引き続き必要です。カスタムのピクセルレベルのデータセットは、Ultralyticsプラットフォームの注釈ツールを使用してラベル付けおよび管理できます。
実用的な設計上の考慮事項#
信頼性の高いセマンティックマップには、一貫したクラス定義、正確なセンサーキャリブレーション、同期されたタイムスタンプ、および代表的なトレーニングデータが必要です。姿勢のドリフトにより、正しいラベルが間違った場所に配置される可能性があり、一方でセグメンテーションエラーにより、障害物が走行可能な空間としてマークされる可能性があります。また、動的オブジェクトには、駐車中の車両や歩行者がマップに永久に埋め込まれないようにするための、有効期限切れまたは追跡ルールが必要です。
チームは、知覚の精度と空間的一貫性の両方を検証し、困難な境界や小さな構造物をテストし、可能な限り予測の信頼度を維持し、競合する観測がどのように更新されるかを定義する必要があります。安全性重要度の高いナビゲーションの場合、セマンティック情報は、幾何学的な障害物検知や衝突チェックを自動的に置き換えるのではなく、それを補完するものである必要があります。






