画像はイメージです original image: © chombosan - Fotolia.com
画像はイメージです original image: © chombosan - Fotolia.com
某自動車メーカーで電気自動車の開発に関わっている元部下が、「ゼッタイお勧めなんで試乗してください」とライバルメーカーの製品を勧めるので、最初は気乗りしなかったものの、話題の「自動運転」機能のついた某社の電気自動車に試乗してきた。
結論から言うとこれはまだ到底実用レベルとは言えない。
ディープラーニングが、とか、それ以前の時点で自動運転システムの構造に大きな問題があると感じた。
同社の自動車が無数のセンサーやカメラを搭載していて、自動車の周囲の状況に関しては人間以上に把握できていることは想像に難くない。
しかし、例えばちょっとした白線のかすれですぐに自分の位置を見失いヨタヨタ走りを始める様は惨めだ。
ディーラーのセールスマンが必至で助手席からステアリングに手を伸ばしてフォローを入れるが、どちらかというと現状の自動運転機能(半自動運転機能と彼らは呼ぶ)は、かなり人間のフォローが必要な代物のようだ。
以前この会社の半自動運転機能を使っていて、そのままトラックに突っ込んで死んだ人がいるらしいが、僕に言わせれば「よくこんなお粗末な機能を信用しようと思ったな」というレベルだった。それくらい、今の半自動運転機能は危険である。
アメリカなど、日本よりよほど道路事情が悪いのでもっとひどいことになるだろう。
良くも悪くも、この「半自動運転」という機能は、私に「自動運転への幻想」を捨てさせるには良い教訓になったと思う。
正直言うともう少し期待していて、運転席に座っていてもほとんど運転しなくていいくらいのレベルなのかと思ったら、常に注意を払う必要がある。下手すると自分で運転するよりも注意力が必要なのではないかと思う。少なくも都内のように不意な飛び出しをしてくる歩行者、自転車、あるいは路駐といった障害物の多い場所ではまともに機能することを期待するのが難しいと感じた。
もちろんこの機能は随時アップグレードされるので、今の半自動運転が不安であるからといってずっとそうであるとは限らない。もしかしたら来月改善されるかもしれない。ただ、純粋にエンジニアとして今のシステムの完成度を評価してみると、どんなに贔屓目に見ても50%くらいがいいところだろうと思った。
ちなみに今の自動運転システムにはどこにもディープラーングは使われていない。積み上げ式のやり方で、丁寧に作られている。故に、限界が低いとも言えるし信頼性が高いとも言える。
自動運転に関するエンジニアとこれまで非公式に話をしてきた印象で、彼らがディープラーニングを嫌い、地道なやり方に固執するのは「彼らがここまで自信たっぷりに語るんだから、それはそれでアリかな」と思っていた。しかし実際にそうした設計で作られた自動車に乗ってみると、怖くて乗れそうにない。
「自動運転つくらしいからテスラ買おうかな」と漏らすと、私が所属するギリア株式会社会長の北野宏明が、「それよりRobocarを買って自分で自動運転を実装しようぜ」と煽ってきて、「冗談でしょ。死ぬわ」と一蹴したのだが、もしかするとそっちのほうがマシかもしれない。
さて、ではどうすればもっと自動運転を安全にできるだろうか。
まず、カメラで検出した白線に頼ってる時点でいまの自動運転技術はだいぶ危ない。
歩行者の検知も、ディープラーニングを使っていないとするとかなり危険だ。そもそも画像認識の分野でほとんど成果がでなかったのが、ディープラーニング以前の技術の限界点である。世の中がディープラーニングに沸き立つのは、それに劇的な効果が認められたからだ。
もちろんディープラーニングといえど完璧ではないけれども、少なくとも画像認識という分野において、ディープラーニングを使わないというのはほとんど支離滅裂な行為だろう。
ディープラーニングなら、たとえば消えた白線を想像によって補完することができる。これは「インペインティング」という技術である。
これだけでもだいぶ違う。
また、ディープラーニングなら、適切な学習データを用意すれば(これが大変なのだが)、そもそも白線などなくてもどの部分が走行可能な領域なのか検出したり、歩行者や動物、自転車、対向車といったものを識別したりすることができる。姿勢推定を使えば、歩行者がどちらへ向かっているか、自転車がどこへ行こうとしているかさえ推定可能だろう。
もちろん、こうしたさまざまな深層ニューラルネットワークを実際に自動車に組み込むには、専用の半導体が必要になるだろう。そして今のところそうした半導体は非常に高価で消費電力も高い。けれども推論だけに限定すれば、今時のスマートフォンでもそれなりのスピードで動作するのだから、そこまで時間はかからないだろう。
全体のシステムとしては、ディープラーニングと現状の自動運転システムのハイブリッドが用いられるはずだ。おそらく、ロドニー・ブルックスの包摂アーキテクチャのように、まずカーナビゲーションシステムが大方針を決め、次にディープラーニングシステムで適切な進路を予想、さらに下位のLIDARやその他現状用いられているセンサーシステムで最終的な安全性を確認した上で進路決定をするような仕組みにするのが理想的だろう。
当然、自動運転に取り組んでいる会社は各社ディープラーニングにも目を光らせているから、現状の半自動運転機能がたとえ拍子抜けする内容だったとしても、将来はもっと安全でもっと快適な自動運転が実現するだろう。
ポジティブに捉えれば、「ディープラーニングなしでもここまでできる」と考えると驚異的であり、逆に言うと「ディープラーニングを使えばもっとずっと安全にできる」とも言える。
一人のエンジニアとしては、たしかにRobocarを買って自分で自動運転を組み立ててみたい気持ちも芽生えてきたが、いかんせん2000万円するエスティマの改造車を個人で買う勇気はちょっとない。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。