自律走行車用 リアルタイムステレオカメラ

ステレオカメラは唯一の3次元画像生成手段である。弊社ではその特性を最大限に活用し、30年にわたるステレオカメラ開発の経験を活かして、高速・高精度かつ小型軽量でコストも抑えた、新世代のステレオカメラを開発した。このカメラを用いることにより、自動車用に限らず、自律走行車やドローンの衝突防止や自律走行、さらにロボットハンドの眼など幅広い応用が可能になった。

ステレオカメラの原理

2台のカメラを横に並べて撮像すると、物体の写った位置が右のカメラでは左に、左のカメラでは右にずれる。このずれ量(視差と呼ぶ)は距離に反比例して、遠いところでは小さく、近いところでは大きくなる。ステレオカメラは画像を4×4画素などの小さい領域に分け、それぞれの領域に対して視差を求めることで画像全体の視差分布を生成する。そこから画素ごとの距離を求めることができる。図1に視差画像の例を示す。


図1 視差画像の例
赤が手前、遠方に行くにしたがって黄色から緑、水色で表現した。

ステレオカメラの特長を以下に述べる。
1)知識や仮定を使うことなく、2つ並べたカメラでの画像から機械的に距離の絶対値を測定できる。つまり画面に写っていれば、どのような物体に対しても距離がわかる。たとえば単眼カメラでは富士山の画像が得られても、本物の富士山なのか近くに置いた富士山の絵なのかを区別できない。

2)近いところでの測定精度が高いこともステレオカメラの特長である。車載用レーザーセンサ(LiDAR)やミリ波レーダーは距離に関係なく±10cmの精度で測距できるが、ステレオカメラでは距離の2乗に反比例して精度がよくなる。車載用ステレオカメラでは100mの距離では±1.3mであるが10mになると±1.3㎝になる。これは近づくにつれてより高い精度が必要になる衝突回避の制御にとって重要な性質である。

3)画像であるから、情報量は桁違いに多く、1つの物体に対しても大量の距離データが得られる。たとえば、図2に示す64m先の自動車に対して60点以上の距離データが得られる。しかも取得時間は1/60秒である。これらのデータ群をグループ化するだけで距離や形状を含めた自動車の検出ができる。LiDARも点群データを用いるが同図に示すように高々数点であり、密度が圧倒的に違う。したがって検出率に大きな差が生じる。


図2 視差画像とLiDARのデータ数の比較

4)物体依存性が小さいことも大きな特長である。LiDARやミリ波レーダーは物体からの反射波を使うので反射率の低い物体を検出することが難しい。またある程度の面積が必要である。一方、ステレオカメラは物体表面のパターンや境界を検出するので、反射率は直接影響しない。低ければ黒い物体として検出するだけのことである。細いロープや電線も画面に写れば検出できる(図3)。単眼カメラもその意味では物体を検出できるが、カメラ内部にもっている自動車やロープといったモデルに合致しないと認識できず、したがって距離もわからない。


図3 ステレオカメラで電線を検出した例

5)衝突の危険性を判断するためには相手物体との相対速度ベクトルが重要である。そのためには相手物体の横方向速度も計測しなければならない。LiDARやミリ波レーダーは面の距離を測っているので、センサに直角な面が横に動いても距離は変化せず、横方向の速度は検出できない。その点、ステレオカメラでは距離と輪郭や表面のパターンが同時に精度よくわかるので、それらの時間変化から相対速度を求めることができる。

6)そのほかにも、特に弊社のステレオカメラは視差画像生成までをFPGAで行っているので処理時間が短く160fpsでも実行できる。また視野角が大きく水平視野角150度にも対応できる、白線や標識など通常の画像認識も画素ごとに距離と組み合わせることで、より精度よく処理できるなどの特長をもつ。もちろん暗い場所や逆光、激しい雨や雪、霧など環境の悪いところでは画像自体が得にくくなるが、それは人間も同じで、そのためにヘッドライトやワイパーなどを活用して、悪環境下でも視界が遮られることを極力防いでいる。なお、激しい雨や雪になると、LiDARやミリ波レーダーもノイズが多くなり使えなくなることを述べておく。万能なセンサは未だに存在しないのである。

広がる用途

弊社で開発した汎用ステレオカメラ(ISC-100VM)は、90年代に筆者が発明してこれまでアイサイトに使われてきた車載用ステレオカメラの技術をもとにしている。これまで培ってきた技術をさらに洗練させ、汎用部品と少ない部品点数で高性能と低価格の両立を狙った製品とした(図4)。その仕様を表1に示す。


図4 評価用に開発したステレオカメラ「ISC-100VM」


表1 ISC-100VMの主な仕様

100m超まで検出できる車載用に比べて近いほうまで見えるようにしたり視野角を目的に応じて広くしたりするなど、カメラの設計自体にも汎用性をもたせ、100mmの基線長を基本としつつ、視野角30度から80度までのステレオカメラを取り揃えた。また、お客様の意向に合わせて任意の基線長、焦点距離で設計することもできる。大きさは135×30×40mmで重さは260gと小型軽量である。FPGAで視差画像まで生成するので、後段での処理の負荷が減り、電力消費やコストアップにつながるGPUなどの規模を小さくすることができる。その結果としてステレオカメラの応用の可能性は大きく広がった。移動する物体は必ず衝突の危険を伴う。このステレオカメラを使えば様々な状況に柔軟に対応して、衝突警報、自動衝突回避などを行うことができる。

たとえば工場内の無人搬車、ゆっくり移動する建設機械、フォークリフト、ゴルフカート、電動車いす、掃除ロボットなど地上を低速度で進む移動物体に応用できる。また小型で軽いことを活かしてドローンや無人ヘリなどの空中を飛翔する移動物体にも応用できる。さらに移動物体に限らず、物体までの正確な距離と形状がわかることから、把持などの手作業を代行するロボットハンドの視覚センサとしても期待されている。ロボットハンドの眼として活用することができれば、その応用分野はさらに広がる。適切なアクチュエータと組み合わせることにより、農作業、建築業における木工・金工など道具を駆使するあらゆる業種の作業、さらに一般家庭の家事や介護に至るまで人間の大部分の作業を代行することができるようになる。これはステレオカメラという人間の視覚にきわめて類似したセンサであるからこそなし得るものである。

充実した開発環境

ステレオカメラISC-100VMはお客様の評価用として開発したものである。そこで容易に評価できるようにSDKを用意している。その中身はビューアをはじめ(図5)、C++言語に組み込んでリアルタイムでの視差画像・原画像同時取得、シャッタ速度の自動/手動切り替え、本ステレオカメラの特長であるカメラの自動位置合わせ機能などをソフト側からコントロールできるようになっている。


図5 SDKに含まれるVIEWERの表示画面

関数一覧を表2に示す。これらの関数を用いることで視差画像の評価はもちろん、独自の立体物検出やAIなど他の手法と組み合わせたり、LiDARやミリ波レーダーとの組み合わせも可能となる。 現在ISC-100VMは評価用キットとして販売している。


表2 SDKに含まれる関数一覧

今後の展開

今後は4Kカメラや8Kカメラによるステレオカメラの高精度化をはじめ、AIとの組み合わせによる物体認識能力の向上、さらなる低価格化や立体物検出ソフトの多機能化によるステレオカメラの普及、3次元マップマッチングによる自律走行や自動運転への応用を進めていく。両眼立体視を行っている動物は人間などの霊長類とネコ科ぐらいで、進化の最後に獲得した高度な外界認識法である。ネコ科はライオンやトラ、ヒョウなど捕獲能力がきわめて高い最強の動物たちであり、われわれ人間は両眼立体視のおかげで他の動物たちに比べてはるかに精度の高い動作ができる。このような自然界の育て上げた優れたセンサを、自律走行や自動運転などのセンサとして用いることはきわめて自然な流れではないだろうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください