arutema47's blog

書いたり書かなかったり。

Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving

f:id:aru47:20200409111938p:plain

密、かつ高精度な点群をステレオカメラによって得る研究。Depth prediction Networkの提案により高精度な点群の生成に成功している。

従来のステレオカメラは深度情報(カメラからの距離)のみしか得られなかったが、この研究では3D点群(つまりX,Y,Z座標)を獲得する。 高密度、高精度な3D点群をステレオカメラで得るメリットは: 1) LiDARベースの3D物体検出技術がステレオカメラに適応可能になる。 2) LiDARの高密度化に使える。

f:id:aru47:20200608110735p:plain 黄色のとてもスパースな点群がLiDARで実際に観測した点群。 赤、紫が従来のステレオカメラベースの点群である一方、本技術の点群は青。驚くべきことに高精度+高密度!

というかLIDARより密度が高いのでかなりブレークスルー。 LiDARで点群密度を上げるのはかなり大変で機器のコストもかなり上がる(数十倍とか)。

LiDARを使わない3D物体検出技術としてはかなり面白い技術で色々派生が出てきそう。(Psuedo-LiDAR++など)

arXiv

github

CVPR 2019.

背景と従来の課題

f:id:aru47:20200409111055p:plain
#

自動運転には3D物体検出の精度が非常に重要である。 車の位置を3D binding boxで囲み、3D座標上でその位置を認識する必要がある。

一方でこのようなタスクではLiDARベースでは精度が高かったが、ステレオやモノラルカメラを使ったネットワークの精度は低かった。 具体的にはLiDARではIoU70%で70%程度の認識精度があるのに対し、ステレオ画像ではその精度はたったの10%程度と大きな差があった。

従来Deep+ステレオカメラの技術では視差マップ(Disparity Map)を学習するのが主なタスクであった。するとカメラからの距離Dは学習できるが、3D情報は得られない。そのため物体検出精度ではLiDARに劣っていた。

提案

この論文の提案は非常にシンプルである:

ステレオ画像から点群データ(psuedo-LiDAR)を直接出力するようにDeep Prediction Networkを学習する事で、LiDARと同様の3D物体検出ネットワークを適応できるようにする

だけである。本当にこれしか論文中でやっていない。(解析はちゃんと行っているが)

今までステレオカメラでは(長距離の)点群マップを得るのは難しいと考えられてきたが、そこのギャップを超えたのがこの論文である。実装自体はシンプルで、意外と”誰も気づいていなかったことをやってのけた”論文という印象。

従来はステレオ距離画像は(R,G,B,D)という表現で出力しており3D物体検出を行おうとしていた。一方で自動運転のような幅広い空間では奥行きをチャネルとして表現するのは難しく、隣接データの関連付けをうまく行うことは難しかった。

このようなデータ表現ではなく、ステレオカメラで点群(X,Y,Zデータ)を表現するようにprediction networkを学習することが可能であること、そしてそれが高精度に可能であることを示したのがこの論文の発見である。

驚くべきことにステレオ画像から推定した距離データの精度は非常に高く、ほぼLiDAR検出結果とオーバーラップしている。 そのため精度向上が得られたことは納得の行く結果だと思う。それでも精度は40%程度とLiDARに対し倍以上の差がまだ残っている。

関連論文(2020/6/18追記)

f:id:aru47:20200618110911p:plain

同著者による発展研究であるPsuedoLiDAR++ ICLR2020は疎なLiDARスキャン+ステレオカメラのデータを合体させることで密かつ正確な点群の生成に成功しています。

疎なLiDARであれば価格も安いのでスジの良い研究ですね。今後も要ウォッチです。