Skip to content

Latest commit

 

History

History
110 lines (89 loc) · 6.29 KB

8_0_exprimental.md

File metadata and controls

110 lines (89 loc) · 6.29 KB

試験的な実装

第1章 設計の方針 で述べている考え方に基づいて、試験的な実装を試みている。 それらの実装のリポジトリのリストを示す。

視差データをnpyファイルで保存してあるのを可視化するツール。

  • 視差データをcolormapで表示
  • colormapの視差データと左画像との重ね書き
  • 法線ベクトルの向きによる色分け
  • 点群データからの再投影
  • 点群データのplyファイルへの保存  おまけの機能として、ZED2iカメラからのステレオ画像の保存ツールを同梱。

 ステレオ計測アルゴリズムの1例を、モジュールとしてインストール可能なように改変したもの。 IGEVは近年のステレオライブラリの1つ。  細い領域に対しても視差の計算ができるようになってきている。  保存した結果は、上述のviewer によって可視化できる。

ステレオ計測アルゴリズムの1例、ここではOpenCVのStereoSGBMを、同様なインタフェースをもつモジュールとしてインストール可能なように改変したもの。  実装自体に新規性はない。

単眼画像に対する深度予測のライブラリにdepth-anythingがある。 それをJetson AGX orin に移植してある実装を、モジュールとしてインストール可能なように改変したもの。  それを利用したサンプルとして、ZED SDKでの深度にスケーリングを合わせ込んだ単眼深度画像(正確には単眼での視差相当画像)を作成するスクリプトを含む。

開発理由

大半の3Dカメラには、近距離側の計測限界がある。そのためカメラに写っている至近距離の物体が、欠損値になってしまう。 このことを回避するには、 作業距離を近距離側の計測限界より遠くなるようにする、 超音波センサでの物体検出をする、 のような対策が必要になる。

Depth-Anything を使えば、至近距離での物体があることに気づける。(距離の精度は不十分かもしれないが) 欠損値として無視してしまうのを避けるための実装である。

YOLOX とZED SDKとの組合せた実装例

https://github.com/stereolabs/zed-sdk/tree/master/object%20detection/custom%20detector/python/pytorch_yolov8 の実装をヒントに、yolov8の代わりにyoloxを用いたもの。

実施例

  • このコードは、pytorch_yolov8 に似せて書いた。
  • StereoLabs にこのコードを寄付した。
  • StereoLabsで動作検証されて、標準の配布物になればうれしいと思っている。
  • YOLOX と同じMIT ライセンスを選択した。

grounded-segment-anything with ZED SDK

Open Vocaburary でのセグメンテーションとZED SDKでの連動の実装例

  • 深度情報とセグメンテーションとを画素単位で対応付けすることができる。
  • ZED SDK の算出する世界座標系と、Open Vocaburary でのセグメンテーションとを対応付けることができる。
  • できないこと:
    • text_prompt で指定されていない物体へのセグメンテーション。
    • 物体の見えてない範囲についての仮説の生成
    • 次の行動を引き起こすための、把持位置についての仮説の生成
    • 周辺環境を考慮して、ぶつからないためのアームとハンドの行動計画の生成
    • これらの課題については、それぞれに適した実装を探すこと。

動作確認済み・ライブラリ化未実施の実装

  • 大規模言語モデルがJetsonで動作することの検証結果
    • Dockerfileでの動作
    • オリジナルは git clone をすることにした。

 NVIDIA Jetson AGX orin で動作確認したLLMへのDocker設定  それぞれのリポジトリは、Dockerfile の中で git clone している。  そのためこのリポジトリの中では、オリジナルのリポジトリをfork していない。

egohos-docker/

- https://github.com/owenzlz/EgoHOS

  • 自己視点画像での腕検出と対象物の検出 対象物は1st orderと 2nd orderとがある。
grounded-sam-docker/
groundingdino-docker/
nanoowl-docker/
  • https://github.com/NVIDIA-AI-IOT/nanoowl
  • Jetson対応済み
  • Jetsonで高速に操作するように移植されたOWL-ViT
  • これも自然言語で指定した記述にそって物体検出ができる。
nanosam-docker/