2016年08月20日

◆ 単眼カメラ方式の欠陥(自動運転)

 自動運転または自動ブレーキで、単眼カメラ方式には、致命的な難点がある。それは「低コントラストの対象を認識できない」ということだ。

 ──

 この問題は、テスラの交通事故で注目を浴びた。そのあと、「なるほど」と思われただけで、特に議論されたフシはなかった。「そういうものさ、単眼カメラなら当り前だろ」と思われたらしい。
 しかし、よく考えると、この問題は致命的だ。





 日産はこの動画によって、「単眼カメラ方式でも十分に自動ブレーキが働きます」と宣伝している。
 しかし、これは「やらせ」も同然だ。なぜなら、「コントラストが高い」という、好都合な状況を設定しているからだ。
  ・ 自動車モデルの場合には、白ボディと赤ランプ。
  ・ 人間モデルの場合には、明るい背景と黒い服装。

 いずれにしても、コントラストが極めて高い状況を勝手に設定している。
 しかし、現実には、そういうふうに好都合な状況ばかりだとは限らない。
  ・ 車体も背景も白っぽい。
  ・ 車体も背景も黒っぽい。
  ・ 車体も背景もランプも赤色っぽい。

 このように低コントラストの場合もあるはずだ。そして、そのような場合には、単眼カメラはほとんど無効化してしまうのだ。(輪郭抽出ができないせいで。)

 ステレオカメラならば、この問題はない。たとえコントラストが低いとしても、「完全な塗りつぶし状態」というのでなければ(= 少しでもコントラストがあれば)、位相のズレを検出できるので、距離認識が可能だ。この点では、目のよくない場合も多い人間よりも、かなり優れていると言えるだろう。(特に、暗い場所では、高感度のカメラを使うことで、人間をはるかに上回る性能を確保できそうだ。また、真夏の直射日光の元でも、同様になりそうだ。)

 というわけで、好都合な状況で単眼カメラが有効だとしても、そんなことは何の根拠にもならないのだ。
 どうせなら、自動ブレーキテストは、コントラストの低い状況で行うべきだ。こんなふうに。
 「夕方の薄闇のなかで、赤い背景の手前に置かれた、赤い自動車」
 これは、「闇夜のカラス」ならぬ「赤色のなかの赤い自動車」である。「真っ赤」ではなく、濃い深い赤色。こんな感じの色。
  → インフィニティ Q50
 こういうふうに低コントラストの状況に自動車を置いて、そこに衝突テスト(自動ブレーキテスト)を行なえばいい。たぶん、たいていの場合、単眼カメラは機能不全となって、衝突するだろう。

 というわけで、今のような「好都合な状況」における自動ブレーキテストは、ナンセンスなわけだ。現実には、「闇夜のカラス」に近い状況もあるはずなのだから、もっと厳しい状況においてテストするべきなのだ。
 要するに、今の自動ブレーキテストは、三菱自動車のインチキ実験も同様だ。現実離れした、架空の好都合な状況でのみ、テストしている。こんなテストは無意味なのだ。(やらせ、である。)

 ──

 さらに、似たことは、ミリ波レーダーでも言える。
 日産のスカイラインは、ミリ波レーダーだけがあって、単眼カメラもステレオカメラもない。しかし、ミリ波レーダーだけだと、致命的な難点が生じる。
  ・ 人間に対する検知能力が、弱い。(ほとんどない。)
  ・ 斜めに置かれた物体に対する検出能力が、弱い。

 後者はどういうことかというと、「ステルス」と同じだ。一般に、レーダーは反射波を検知するが、相手がステルス機だと、ステルス機はレーダー電波を斜めに反射して、斜めに逃がす。そのせいで、レーダーのアンテナには検知されないのだ。
 自動車も同様だ。自動車の車体が正面を向いていれば(正対していれば)、反射した電波は戻ってくる。しかし、自動車の車体が正面を向いていなければ(正対していなければ)、反射した電波は戻ってこない。こうなると、ミリ波レーダーは無効化する。(ステルス機を検知できなくなるのと同じ。)

 というわけで、日産の自動ブレーキは、単眼カメラも、ミリ波レーダーも、どっちも駄目だ。まったく、ひどい状況だ。




 このあと、お口直し情報。

 (1) 日立のステレオカメラ

 日産の自動ブレーキはひどいものだが、日立はステレオカメラの装置を安価に提供している。その情報をいくつか示す。
  → 日立オートモティブシステムズ、自動運転など最先端技術を公開
  → 先進運転支援システムや自動走行システムなどの技術を紹介
  → “オール日立”の自動運転技術はレベル2の最終形態を目指す
  → スズキのステレオカメラは「アイサイト」と0.2ポイント差、違いは“熟成度”
  → 「スペーシア」がステレオカメラを搭載、時速100kmまで自動ブレーキ

 日立はステレオカメラを提供するが、それを自動運転に結びつけるには、ハンドルの自動操作などのノウハウが必要となる。だから、スバルはスズキよりも一日の長がある。(一日でなく数年か。)
 日産は、はるかに遅れている状況。単眼カメラのまま、どんどん突き進んで、そのあと「これじゃ駄目だ」と気づいてから、ようやくステレオカメラに転向する。日産の今後の数年間は、ただの浪費だ。2019年ごろになって、「どうにもならない」と気づいてから、改めてステレオカメラを開発するのだろう。しかしそのときには、他者ははるか先を進んでしまっている。日産は、このあと 2019年ごろまで、「行き止まりの無駄な道筋」を進む予定。
 なぜ? 研究費をケチるという、ゴーン主義のせい。愚かな社長がいると、会社全体を危機にさらす。……三菱自動車と同じだね。似た者同士。やがては仲良くいっしょに倒産か。(シャープみたい。)

 (2) 東芝の単眼カメラ(新方式)

 東芝が単眼カメラで、全く新しい方式の技術を開発した。単眼カメラでありながら、ステレオカメラと同様の精度を持つという。
  → 東芝の発表
 「東芝 研究開発センター:研究開発ライブラリ 単眼カメラで撮影した1枚の画像からカラー画像と距離画像を同時に取得できる撮像技術を開発」
 とのことだ。具体的には、次の通り。
 「レンズの色収差を利用する。レンズに水色と黄色のカラーフィルタを付けて、二種類の波長で光を通す。それぞれの波長ごとに色収差が生じる。その色収差の量は、対象との距離に依存する。そこで、色収差の量を画像センサで検出することで、逆に、対象との距離を検出できる」

  ※ 詳しくは、上記文書を参照。

 読んでビックリ。へえ。頭のいいことを考える人がいるものだ。これは、カメラのレンズは一つだが、二つの波長をそれぞれ検出することで、一つのレンズで二つの画像を得るのも同様だ。
 そして、ステレオカメラが「画像の横方向の位相差」を検出するのに対して、東芝方式は「画像の前後方向の位相差」を検出する。そのために、二つの波長を用いる。
 換言すれば、二つの波長を用いることで、レンズは一つで済ませる。

 ふむふむ。たいしたものだ。頭いい。感心した。独創性がある。

( ※ 実はこれは、本来ならば、レンズ会社のキヤノンあたりが開発していいはずの技術だ。だが、キヤノンは人工知能がおろそかなので、東芝が頑張ったようだ。しかもこの技術は、先に東芝がキヤノンに買収を決めた会社[東芝メディカルシステムズ]には含まれていないようだ。あはは。)

 この東芝の新技術と、日立のステレオカメラ方式は、どっちがいいか? それは簡単には決められない。
 東芝の方は、確かに装置は1つで済むが、精度は高精度を要求されそうだ。一方、日立のステレオカメラは、安価な汎用品を使うことで済ませることができそうだ。「汎用品を二つ]の方が、「高精度の専用品を一つ」よりも、安上がりかもしれないね。つまり、「一つよりは二つの方が高い」とは限らないのだ。

 ま、このあたりは、技術的興味を持って、今後の推移を見守りたい。

( ※ ただし、ただの単眼カメラと輪郭抽出なんていう方式は、全然ダメだよ。 → 日産のことだけどね。)



 [ 余談 ] 
 ゴーン社長ならば、目玉も眉毛も、くっきりしているので認識しやすい。しかし日本人の多くは、目玉も眉毛もはっきりしていないことがかなりある。
 そういうことに気づかないで、「相手は目鼻立ちがパッチリしている」と決めつけると、例外にぶつかったときに、右往左往することになる。下手をすると、死ぬ。
 


 【 追記 】
 動画があるので紹介する。





 この動画を見ると、レンズ部分に可動部があるようだ。カメラのピント合わせに似ている。
 しかし、そうだとすると、タイムラグが発生する。こいつは問題だ。また、機構が複雑化しそうだ。
 単純に「安価なカメラと CCD を二つ」というステレオカメラ式の方が、可動部がないだけ、堅牢だし、レスポンスもいいはずだ。

 というわけで、私としては、「ステレオカメラ方式の方が良い」と評価したい。
 だいたい、カメラと CCD なんて、価格はたいしてかからないのだ。スマホにだって付属しているくらいだし。こんなところで 5000円か1万円ぐらいのコストダウンを狙っても、ほとんど意味がない。
 「ステレオカメラはコストが高額だ」というのは、昔の認識だ。スマホのカメラが大普及した現代では、「ステレオカメラはコストが高額だ」というのは成立しない。カメラを一つ減らすことでコストダウンを狙おうというのは、あまりにも筋が悪すぎる。
 東芝の方式は頭がいいのだが、現実レベルではステレオカメラには負けてしまうだろう、というのが私の(個人的な)判定だ。
( ※ この判定が当たっているかどうかは、定かではありません。)

 【 訂正 】
 「可動部はなさそうだ」というふうに修正します。
 理由は、コメント欄(08月21日 20:26)を参照。
 
( ※ なお、可動部はないらしいが、大口径のレンズが必要であるようだ。となると、コスト的には、かなり厳しいことになりそうだ。カメラの数は少なくとも、レンズは高精度で高価格のものが必要だからだ。)



 [ 余談 ]
 日産の単眼カメラ方式がいかに不評であるかは、ネットでググるとわかる。面白い結果。
  → 日産セレナ 単眼カメラ - Google 検索
  → 日産セレナ ステレオカメラ - Google 検索

 前者で1番目に来る項目と、後者の2番目に来る項目は、同じである。いずれもそのタイトルは、こうだ。
  「日産セレナの自動運転は欠陥品: Open ブログ」

 こんなのがデカデカと表示されるのだから、日産の単眼カメラ方式がいかに不評であるかがわかる。
 なお、当初は私だけが批判していたが、今では2ちゃんねるでは批判する人が大多数だ。
  → 2ちゃんねるの 魚拓



 【 関連項目 】

  → 単眼カメラ方式の限界(自動運転)
posted by 管理人 at 23:58| Comment(18) | 安全・事故 | 更新情報をチェックする
この記事へのコメント
>東芝の単眼カメラ(新方式)
これはたいしたものだ。フィルターとしては、緑色をはさんだ黄色と水色が最適でしょう。調整は、簡単そうだ。
昔、単管カラーカメラでは、3色フィルターを使用していたが、日本人の得意技術でしょう。
Posted by senjyu at 2016年08月21日 14:39
 最後に 【 追記 】 を加筆しました。動画挿入しました。
 タイムスタンプは 下記 ↓
Posted by 管理人 at 2016年08月21日 15:06
 最後に [ 余談 ] を加筆しました。動画挿入しました。
 タイムスタンプは 下記 ↓
Posted by 管理人 at 2016年08月21日 19:27
レンズの半分だけを通すと、焦点のずれと同時に像の位置のずれが生じ、そのずれが別の半分を通した像の位置ずれと逆方向になる、現象を使ったものと思われます。昔のカメラのファインダーでに二重像を一重にすることでピント合わせをした古典的技術を車載カメラの測距技術に応用したものではないでしょうか。機械的な可動部は不要と思います。
Posted by Shuji Nakao at 2016年08月21日 20:11
> 昔のカメラのファインダーでに二重像を一重にすることでピント合わせをした古典的技術

 これだと、レンズを動かすので、可動部があることになる……と思ったのですが、動画を見ると、レンズが動くのではなく、対象が動いていますね。

 たしかに、自動車はどんどん前進しているので、対象が動いているのも同然だ。それだったら、レンズが動く必要はなさそうですね。
Posted by 管理人 at 2016年08月21日 20:26
ご参考までに、
CCD(今はCMOSが主流ですが)は古くはLogアンプを利用した感度カーブ変換があり、人間の目に近づける技術はありますよ。亜流としては二種類(複数種類)のゲインカーブを持ったリニアアンプからパラで取り出す方法や、センサーのゲインカーブにスレッシュ設けて途中から感光感度を変える方法等も有ります。
絞りは被写界深度を変えてしまうので感光感度を変える方法としては二流で、やはりセンサのゲインそのものをダイナミックにコントロールするのが普通ですね。

ステレオカメラのむずかしさは、「プリズム三板式カラーCCDカメラ」の難しさと同じで、機械精度を要求される事にあります。あと、個体差の恒久固定という問題。さらには雨粒などによる片目問題。
それに、下手な人がぶつけて狂う事も(笑)
定期的に再調整が必要です。って、ウケないですしね。(人間も定期的に健康診断した方が良いです)
単眼2.5次元の場合はその意味では長期安定性が確保できますし工業製品としては単眼の方が良いですよ。
Posted by 通りすがり at 2016年08月23日 12:49
追加で
測長は、車間距離のような厳密なものでないのならソフトで如何様にも出来ますよ。
我々だって、初めて見るものを画像だけで提示されたら大きさなんか判断付かないでしょ?
画像認識ソフトは、人間(開発者)の認知プロセスを写しているので、こういうものはこういうだいたい大きさなんだという事を最初に覚えこませた上で、画像上、対象物が〇×〇画素なので、×mくらい離れている。と出すんです。

テスラの事故で「横向きのトラックはトラックとして認識してなかった」というのも、開発者からすると常識を突かれたケースで、開発者のアタマには、「走行中の車が車を見る時、それは後姿か前姿。横姿は見ない」という意識の元、ソフトウェア設計をしたはずです。
タマタマ事故になっちゃって原因が公開されたのは社会にとっては有益ですが、会社にとっては面白くない事かもしれませんね。フィールドトラブルというものは会社にとって門外不出の貴重な財産ですからね。(経験の差が性能の差になります)
Posted by 通りすがり at 2016年08月23日 13:16
> ステレオカメラのむずかしさは、「プリズム三板式カラーCCDカメラ」の難しさと同じで、機械精度を要求される事にあります。あと、個体差の恒久固定という問題。さらには雨粒などによる片目問題。

 そう思っている人が多いようですが、違います。
 ステレオカメラで位相差を知るには、二つの画像の、画像中のズレを検知すればいいので、機械精度は要求されません。たとえば、右側カメラが角度で1度ぐらいズレても、検出能力にはまったく影響しません。新たに生じたズレは、ソフトウェア的に完全に吸収されます。(手ぶれ補正と同様です。)

 また、雨粒の問題もありません。室内にカメラを置いて、レンズの口径を大きくすれば、大丈夫。また、ワイパーもあるので、大丈夫。
 ただし、雨で能力が低下するということはあり、それは、人間の目の場合も同様です。ワイパーで見えなくなることがあるとしたら、それも人間の場合と同様です。
Posted by 管理人 at 2016年08月23日 20:47
こんにちは
一番重要な事は最初に書いたので、レス付ける時はこの部分を引いてほしかった。

「測長は、車間距離のような厳密なものでないのならソフトで如何様にも出来ますよ。」

ソフトウェア関連のお仕事をされているようですが、3D計測のご経験は無いようですね。
3D計測でも2Dと同じく対象物の抽出を行います。そのうえで2視点画像の位相差を検出するのがセオリーです。
もちろん、単純スライド比較という手法も取れますが、それは1フレーム中の計測対象が1つに限る(あるいは複数であってもライン検査のように奥行きが限定されている対象)場合です。そして、そこまで簡素な検出なら、光切断でもOKって場合も多いです。

ステレオであっても、単眼と同じく各眼はゲインコントロールとノイズ除去、コントラスト伸張と言った前処理は必要で、これが無いと特徴抽出(と、それに続く位相検知)が難しくなります。つまりコントラストの問題と単眼/複眼は全く関係ない話なんです。
コントラストは”眼”であるセンサ+カメラの問題、位相検知は”頭”であるプロセッサの問題です。
もちろん、怪しげな撮像画像を頼りに頭だけでゴリゴリ計算する事も出来ない訳じゃないですが、そこまで無理する理由が思い浮かびません。

ステレオの良い所は1フレームで完結すること。それと、流れ方向(画像の上から下、右から左)に【しか】移動しない対象でも測長できる事です。
ところが、車載カメラの場合、奥行き流れ(奥から手前)です。そうなるとステレオでも単眼でもほぼ違いが無くなるのです。
もちろん若干ですがステレオの方が精度良いですが、数十cm〜数十mの検出スパンで数cmを争う事に意味は有りません。停止時の横方向からの飛び出し検出には差が出ますが、それは使用目的から外れています。

そうなるとステレオの良さはフェールセーフに対応している(1カメラ壊れてももう1つ有る)くらいに集約されてしまいますね。ステレオカメラではなく本カメラと予備カメラです(笑)

更に言うと、画像検知だけでは走行環境に大きな影響を受けてしまうので、他のセンシングと組み合わせる必要が有りますね。
開発行為は「技術的にできる」に到達して、漸くスタートラインですから。

太陽光のコメントへのレスも含め、管理人さんは少しこだわりが強すぎるなぁと思いました。
「性能」と「最適」は違いますよ。
Posted by 通りすがり at 2016年08月24日 12:02
> 単純スライド比較という手法も取れます

ステレオ・カメラの利点は、上記「も」取れるということです。ここに利点は集約されています。

これ以外の「特徴抽出」でやるのだったら、単眼カメラと同様なので、ほとんど意味はありません。あなたが自分で言っているように、その方式は意味はありません。自分で「意味がない」と言っている方式を示す必要はありません。

単純スライド比較ができるから、スバルの自動ブレーキは数年前から圧倒的な高性能を発揮したのです。単眼カメラと共通する方式を二つ使ったからではありません。お間違えなく。

また、時間変化を取るのは、単純スライドでもなされます。特徴抽出してから時間変化を取るより、単純スライドで差分を出してから時間変化を取る方が、はるかに高精度・高感度・高速です。単純スライドだけだとつまらないけれど、単純スライドに時間変化を組み合わせると、最強です。

なお、単眼カメラの方式は、近距離を把握して自動運転(ハンドル操作)をするのにはとても有益ですが、かなり先にある対象物に対するブレーキ能力では、性能不足です。ずっと距離のあるところの対象物に対しては、性能をうまく発揮できません。奥行き方向の変化も、ほとんど変化がないので、わかりにくいのです。
Posted by 管理人 at 2016年08月24日 12:57
こんばんわ
単純スライドは計算負荷が小さく高速に処理できるのは事実ですが、それはROIを決め打ちした場合に限りますよ。つまり、ある程度対象物の素性と位置がはっきりしている場合です。工業計測(検査装置)で10年以上前から実用化されているのは、その条件を満たしているからです。

自動ブレーキに特化するなら画像中の測定対象物を大きく取れるので問題は少ないと思いがちでしょうが、時間軸位相は常に一定のバイアス(単一方向とは限りません)が掛かるので、結局は特徴点抽出してROIを動的に変えてやる必要が有るんです。

それに、測長精度が悪いなら、アラートのスレッシュを変えるのが常識で、精度アップは安全方向に向きません。ギリギリを狙えるようになるだけです。
ハラハラした方がその後の安心感が大きくなるので良いかもしれませんが(笑)

実際の自動運転では画像中の監視対象ポイントを複数取る必要が有ります。(中央線、直前車、追い越し車線の車・・・などなど)なので、複眼だろうが単眼だろうが結局は特徴点抽出が必要になるんです。だったらカメラ2台使わずに1台でいいじゃない・・・というのが私の見解です。
ちなみに、自動運転は自車速度のパラメーターや、セレナならミリ波レーダーの測定値も別に貰えるので、画像オンリーでやってる訳じゃないです。


確かに監視対象区間を長く取れる(高精度に取れる=サブピクセル精度が出る)面でステレオ方式に一日の長がありますが、そこで不利な方を「面白い」と思うのが技術屋の性です(笑)
易きに流れても得るものが少ないですしね。


※私は今まで一回もリンクを載せませんでしたが、コメントの内容を以て真偽の判断していただいて結構です。
Posted by 通りすがり at 2016年08月24日 20:06
> 時間軸位相は常に一定のバイアス(単一方向とは限りません)が掛かるので、結局は特徴点抽出してROIを動的に変えてやる必要が有るんです。

これは説明がないので、同意できません。たぶん、あなたの個人的認識だと思います。
何らかのバイアス(一定のもの)があることは問題ではありません。それは CPU で吸収できます。
一般的には差分の時間的変化を見れば十分です。

> 測長精度

可視光のステレオカメラに波長精度なんかないでしょう。ナノメートル波なのに。(ミリ波ならともかく。)

> セレナならミリ波レーダーの測定値も別に貰えるので、画像オンリーでやってる訳じゃないです。

セレナにはミリ波レーダーはありません。これは私が何度も批判したことです。(別項を参照。)

単眼カメラにミリ波レーダーを併用すると、コスト的な優位性はなくなります。
Posted by 管理人 at 2016年08月24日 20:38
 単眼カメラについては、新たな項目を書きました。
 → http://openblog.seesaa.net/article/441326087.html
Posted by 管理人 at 2016年08月25日 00:03
>何らかのバイアス(一定のもの)があることは問題ではありません。それは CPU で吸収できます。
一般的には差分の時間的変化を見れば十分です。

やったこともないのに断言できる根拠が知りたいです。
Posted by 名無し at 2016年08月25日 00:26
> 断言できる根拠

コメントというのはすべて、「私はこう思います」という個人的主観です。お間違えなく。

コメント欄の意見を、学術論文と勘違いしていませんか? コメント欄なんて、2ちゃんねると同じレベルですよ。
Posted by 管理人 at 2016年08月25日 00:49
>セレナにはミリ波レーダーはありません。これは私が何度も批判したことです。(別項を参照。)

自分のってるセレナに付いてるよ・・と言おうと思ったけど、いま確認したらサイドレーダーなんですね。
いつも駐車場出し入れする時に雑草や茂みに反応して勝手にブレーキ掛かる余計な機能だけど、走行時は使ってないのかな?
そう言われれば横すり抜けバイクの警報出すのも停止時ですね。

コメント欄は2ちゃんと同じという意見には同意です。
知識経験が似通った人が見たら有益、そうじゃなければ便所の落書き同然ですから。


管理人さんはシステムとしての画像認識装置と、プログラマが管理できる狭義の画像検知プログラムを、完全に混同しています。眼は眼、頭は頭です。
今更26262の観点で語るつもりはありませんので、また今晩にでも新スレの方にカメラシステム観点でコメント入れます(笑)
Posted by 通りすがり at 2016年08月25日 12:30
>> 測長精度

>可視光のステレオカメラに波長精度なんかないでしょう。ナノメートル波なのに。(ミリ波ならともかく。)


検出距離精度という意味で書きました。わかりにく言葉づかいですみません。
管理人さんの書いている事は、一般的に「波長感度」と言います。どのデータシートにもこの用語が必ず使われます。
ソニーのSiベースの安い新センサーでも意外とIR感度有るの知ってますか?
当社比レベルですが(笑)
Posted by 通りすがり at 2016年08月25日 12:45
 2年近く前にボルボがオーストラリアでカンガルーの回避に取り組むって記事がありましたが、未だ苦戦しているらしいです。

 例えばカンガルーがジャンプしながら道路を横断すると、体が宙にあるので「遠方に存在する」と画像解析されてしまうとか。


【ボルボがオーストラリアで世界初の対カンガルー安全テストをスタート】
https://clicccar.com/2015/11/13/339327/2/

【Driverless cars: Kangaroos throwing off animal detection software】
http://www.abc.net.au/news/2017-06-24/driverless-cars-in-australia-face-challenge-of-roo-problem/8574816
Posted by ぺいぺい at 2017年07月03日 14:03
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

過去ログ