StereoLabs のZED2iカメラをZED SDKで使っている。
困っていること
DEPTH_MODEはどれを使うのがいいんですか?
DEPTH_MODE.NEURAL
DEPTH_MODE.NEURAL_PLUS
DEPTH_MODE.PERFORMANCE
DEPTH_MODE.QUALITY
DEPTH_MODE.ULTRA
frame_rate,
カメラの解像度設定
カメラの絵作りに関わる初設定
それらを考慮した時に、どのDEPTH_MODEを使ったらいいのかが、わかりにくい。
StereoLabsの公式に情報はないのか
- DEPTH_MODEの種類があることは書いてある。
- https://github.com/stereolabs/zed-sdk の大半のスクリプトはDEPTH_MODE.ULTRA を使っている。
- 同一データに対するモードの比較例さえ、見つけられていない。
ユーザーにできること
- svo2 ファイルを保存する。
- depthを推論するスクリプトへの入力にsvo2ファイルを指定して実行させる。
- その際に、DEPTH_MODEの値を切り替えて、実行させれば、同一のSVO2ファイルに対して、モードの切り替えの影響を見ることができる。
いまの時点でわかっていること
- ULTRA, NEURAL, NEURAL_PLUS のどれでも、至近距離でのdepthは欠損値になる。
近距離のdepthの欠損をなんとかしたい。
- 以下のリポジトリに、depth-anything(version1) とのZED SDKとの比較スクリプトを置きました。
参照してください。
今の時点では,DEPTH_MODE.NEURAL_PLUSでも、近い側はこうなってしまう。
- DEPTH_MODE.NEURAL_PLUS は深度計算が狭い領域に対しても処理できている。例:メガネフレーム。
- 近距離側については制限があり、上記のように手が両方のカメラに写っていても、対応点を見つけられていない。
(計算時間のために、大きすぎる視差の領域は、ブロックマッチングでも対象外にすることが多い)