2023年05月19日

◆ Turing 社の自動運転技術

 自動運転の技術開発で、Turing 社というベンチャーが新技術で開発に挑んでいる。Deep Learning の画像認識技術で自動運転をやる、という方式。

 ──

 Deep Learning で絵を描いたり、音楽を作曲したり、小説を執筆したり、コンピュータのプログラムを作ったり……という例が話題になっている。
 その延長上で、「 Deep Learning の画像認識技術を使って、自動車の自動運転をやってしまおう」という独自の方式を取っているのが、Turing 社というベンチャーだ。
 ここで中核となっているのが、山本一成という人だ。本サイトでも前に紹介したことがあるが、ponanza  という最高レベルの将棋ソフトを開発した人だ。
  → 将棋電王戦 第2局: Open ブログ (2013年)

 この人は、その後、将棋の分野から撤退して、AI開発の道に進んだ。そこで選んだのが、Turing 社というベンチャーだ。その CEO となって、自動運転の技術開発をしている。この件は、ネット上でも紹介された。
  → 名人に勝利した将棋AIソフトを開発した天才が作る自動運転車で目指すはテスラ超え!
  → 目指すは「Tesla超え」 将棋AI作者にして自動運転EVベンチャー創業、山本一成CEOが見る景色
 会社情報は下記だ。
  → Turing株式会社

 ──

 では、技術はどんなものか? 上記記事によると、こうだ。
 センサーという目にあたる部分よりもAIによる制御系(頭脳)を重視した自動運転を実現しようとしている点だ。
 センサーは高価なLiDARではなく、非常に安価なカメラを使うという。センサーの性能ではなく、画像を深層学習で鍛えたAIによって解析することで、自分で判断して走れるクルマを生み出そうというのがチューリングの考える完全自動運転である。
 現在の自動運転テクノロジーには欠かせないとされているダイナミックマップ(高精度3次元地図)がなくとも完全な自動運転が可能になるというのが同社の主張だ。
( → 名人に勝利した将棋AIソフトを開発した天才が作る自動運転車で目指すはテスラ超え!

 その技術のキモは、テスラと同じ方式であるらしい。テスラの方式は、下記で紹介されている。
  → Teslaはカメラを使ってどのように世界を認識しているか
 つまり、こうだ。
  ・ 単一カメラでなく、マルチカメラを使う。
  ・ 複数の画像を統合して、3次元の空間状態を構築する。
  ・ そのときは、Deep Learning の Transformer の技術を使う。


 その原理はこうだ。
 「2次元の画像から3次元の空間状態を構築するときに、実際の測定をしないで、AIによる推定の技術だけで構築する」


 こうして「 Deep Learning の技術で現実の状態を推定する」ことが可能となる。それによって自動運転が可能になる、というわけだ。基本的には「 Deep Learning 技術による認識に基づいて、自動運転をする」と言っていいだろう。
  ※ 運転技術に Deep Learning を使うのではなく、現実(外界)の認識に Deep Learning の技術を使うだけだ。この点、お間違えなく。

 ──

 では、この方式の優れているところは何か? 
 「安価なカメラを使うだけなので、超高額の LiDAR を使わなくて済む。だからコストが非常に安く済む」
 ということだ。このことを理由に、テスラはこの方式を採用している。Turing 社もまた同じ。

 一方、この方式の劣るところは何か? 
 「現実を直接測定しないで、推定するだけなので、誤認の可能性が残る。99.9%のケースでは正しくても、残りの 0.1% では間違っているかもしれない。しかし、999秒では正しくても、1秒にはエラーが起こるのというのでは、危なっかしくて使い物にならない。1000秒に1秒ずつの認識ミスが起こるのでは、重大な事故が起こる危険がある。命を預けるには、信頼性が低すぎる」

 つまり、あちらが立てばこちらが立たず。長所もあるが、短所もある。これではまずい。困った。どうする?

 ──

 そこで、困ったときの Openブログ。うまい案を出そう。こうだ。
 「 現実に3次元状況を測定しないで、2次元から3次元を推定する、という方式そのものが間違っている。そんなデタラメな方式が許されるわけがない。現実に3次元状況を測定するべきだ。しかも、そのためには、高価な LiDAR を使わずに、安価なカメラを使うべきだ。では、その方法は? ステレオカメラ方式だ」

 ステレオカメラ方式のみが、「良いとこ取り」をすることができる。
  ・ 現実に3次元の状況を測定する。(推定ではない。)
  ・ 安価なカメラだけで済む。(高価な LiDAR は不要だ。)


 特に、前者は有効だ。たとえば、次の状況がある。
 「夜間の道路を走行中に、ずっと先の方で赤いランプが点滅している。そこまでの距離を知りたい。ただし、路面の状況は、よくわからない。近くの路面は、ヘッドライトで照らされているのでわかるが、遠くの路面は、真っ暗なのでわからない。単に、赤いランプが見えるだけだ」

 この場合、Deep Learning 技術では赤い点しか認識できないので、3次元情報は得られない。
 一方、ステレオカメラ方式ならば、赤い点の位置を画像内で知ると、二つのカメラの画像の差分を取ることで、赤い点の位置をかなり正確に知ることができる。その位置の時間的変化を追えば、その赤い点と自車との距離がどんどん縮まりつつあるのもわかる。かくて、自動ブレーキをかけるべきだという判断を下すことができる。

 ──

 結論。

 自動運転のために、Deep Learning の技術を使おう、という発想がある。
 この発想自体は、悪くはない。だが、Deep Learning の技術を、「2次元情報から3次元情報を推定する」という目的のために使うのは、邪道である。3次元情報は、推定によって得るのではなく、実測によって得るべきだ。さもないと、エラーの危険性が残る。人の命を託すための方式としては、安全度が低すぎる。
 自動運転においては、3次元情報はあくまで実測によって得るべきだ。そのためには、ステレオカメラまたは LiDAR を使うべきだ。LiDAR がコスト的に無理であるのなら、ステレオカメラを使えばいい。
 テスラは Deep Learning の技術を、「2次元情報から3次元情報を推定する」という目的のために使ってきた。Turing 社はその方式を真似ようとする。だが、この方式がダメなことは先に述べたとおり。
 自動運転に Deep Learning の技術を使おう、という発想そのものは悪くない。だが、その発想によるのなら、Deep Learning の技術は、運転技術にのみ適用するべきだ。測距機能に適用しようとするのは、本末転倒と言える。
 なのに、テスラはそういう本末転倒の方式を取る。そのせいかどうかは不明だが、テスラの自動運転は、しばしば死亡事故を起こしている。それほどにも危険度の高いものだ。安全性が無視されているとも言える。
 そして、そういうテスラの方式を踏襲しようとする Turing 社の方針は、根本的に間違っていると言えるだろう。(そもそも、テスラの物真似をしようという点で、独自の発想力がない。ただの柳の下のドジョウ戦略だ。馬鹿丸出し。)

 ──

 本質。

 Deep Learning の技術は、(人間の)大脳の思考を真似するものだ。そのことで昨今、大幅な技術的成果を上げることができた。それを見て、Deep Learning の技術を自動運転にも適用しよう、という発想が生じた。このこと自体は、なかなかセンスがいいかもしれない。
 しかしそもそも、人間は外界を認識するとき、(2次元情報を得てから)大脳の思考によって認識しているのではない。直接的に3次元情報を感知しているのだ。そのためには、大脳の思考を使うかわりに、両目立体視という手法を使う。ここでは思考でなく、二つの目を使うということが大切だ。
 なのに、その違いを理解できないで、Deep Learning の方式を使うのは、二つの目を使うかわりに、一つの目と想像力で外界を知ろうとするようなもの。
 このようなことは、Deep Learning の使い方を間違えているとも言える。流行に乗ろうとするばかりで、物事の本質を理解できていないわけだ。トンチンカンであり、お門違いであると言える。

 なお、両目立体視という直接的な方法を取らずに、大脳の思考に頼るという方法では、失敗する事例が生じる。そのことは、心理学では「錯視」という概念で説明される。錯覚の一種だ。その事例は、次の動画でもわかる。



エイムズの部屋 - Wikipedia



 もちろん、これだけではない。「錯視」には、さまざまな例がある。それゆえ、外界の認識には、(単眼でなく)二つの目による立体視が必要なのだ。




 [ 付記1 ]
 「3次元情報はあくまで実測によって得るべきだ」と述べた。その理由を説明しよう。
 そもそも、Deep Learning で得られる情報は、実測値でなく、推定値である。その推定値とは、過去のデータを学習することで得られたものである。つまり、過去における多数の同種のものから、類推的に得られた、想像上の値だ。それが現実の値と一致するという保証はない。99.9% では正しくとも、0.1%では正しくない、ということが起こりうる。
 2次元データをいくら大量に学習しても、現実の3次元データを得ることはできないのだ。過去の地形をいくら大量に学んでも、新たな未知の地形を理解することはできないのだ。目の前の現実から、直接的に3次元データを得る方法があるのに、過去の記憶から推定するというのは、あまりにも馬鹿げていることだ。
 なるほど、今はやりの Deep Learning を使う、という発想そのものはいい。しかし、その対象となる地形データは、2次元画像によって得られた推定値ではなく、実測された測定値であるべきだ。3次元の地形データを得るために、2次元の画像から類推で推定する、という方式は、Deep Learning の使い方としては、お門違いというものだ。それはいわば、言語AIを構築するときに、2次元画像のAIを使う、というようなトンチンカンさだ。あまりにも馬鹿げている。Deep Learning の本質をまったく理解できていない、と言えるだろう。
 比喩的に言おう。大脳がどれほど学習して類推しても、直接的に目で見ることには負けるのだ。
 人には二つの目がある。その二つの目によって外界の地形情報を理解できる。なのに、片目を閉じたまま、頭の理解だけで足を動かしていけば、いつかは認識ミスを起こして、事故を引き起こすだろう。人に二つの目があることの意義を、きちんと理解するべきなのだ。

 [ 付記2 ]
 なお、自動ブレーキのためだけであれば、対象との距離が縮まったことを知るだけで済むので、ミリ波レーダーを使うのでも済みそうだ。(ステレオカメラや LiDAR を使わないで。)
 しかし、自動ブレーキだけでなく、自動運転をするためには、もっと詳しい3次元情報が要求される。そのためには、ミリ波レーダーでなく、ステレオカメラや LiDAR が必要装備となるだろう。

 [ 付記3 ]
 ステレオカメラ方式では、外界の三次元情報を認識できる。そのための方式は、昔の機械式のカメラにおける「二重像合致方式」というのと同様である。
 この方式を取れば、闇夜のなかに浮かぶ赤い点の位置を知ることもできるし、白い空間のなかに浮かぶ黒い点の位置を知ることもできる。(一方、ミリ波レーダーや LiDAR では、黒い物体の位置を知ることはできない。対象が電波を反射しないからだ。)




 
 [ 付記4 ]
 結局、Turing 社はどうすればよかったのか? 簡単に言えば、こうだ。
 「机上で開発するだけでなく、実車で走行テストをして、多大なデータを得るべきだった」
 「ただし、ある程度の実車走行データが溜まったら、以後は、仮想空間の中でシミュレートすることで、実車走行のかわりとすることもできる」

 ともあれ、前提としては、実車走行のデータをたくさん取ることが必要だ。この際、自動運転をしないで走行データを取るのではなく、実際に自動運転をしながら走行データを取ることが必要だ。そうしてこそ、自分たちの方式の欠点を知ることができる。
 現実には、Turing 社は自動運転をしている実車データを取っていないはずだ。その金もあるはずがない。だとしたら、やっていることはすべて机上の空論であるにすぎない。
 彼らが本気で自動運転を開発するつもりならば、数千億円ぐらいの出資を受けるべきだ。そうしてこそ、実車でテストできる。
 それができないのなら、自主開発は諦めて、既存のメーカーに就職するべきだろう。あるいは、業務提携して、開発の下請けになるべきだろう。



 [ 補記 ]
 実は、「ステレオカメラ方式で、差分を取るために、Deep Learning 技術を使う」という方式も考えられる。脳は実際にそういうことをなしていると推定される。
 ただし、この方式は計算量を多大に要する。普通の「差分を取る」という単純な計算方式の方が、計算量はずっと少なくて済む。
 だから、「ステレオカメラ方式で、差分を取るために、Deep Learning 技術を使う」という方式が有意義かどうかは、何とも言えない。技術的には興味深いが、実現性は高くない。
 


 【 追記 】
 「ステレオカメラ方式で、Deep Learning 技術を使う」という方式を、すぐ上で紹介した。「ただし、この方式は計算量を多大に要する」とも述べた。
 だが、よく考えると、CPU のかわりに GPU を使えば、処理を高速度で実施できる。たとえ計算量が大幅に増えても、それを上回る高速処理が可能になる。
 とすれば、「ステレオカメラ方式で、Deep Learning 技術を使う」という方式が望ましい。これぞ名案……と思った。とはいえ、このくらいのことは、すでに他の人も思いついているだろう、とも思った。
 そこで、ググってみると、まさしくそうだとわかった。すでにあちこちで開発中である。
  → アイサイトに深層学習、ステレオカメラどこまで進化 スバル寄稿 | 日経
  → ステレオカメラの領域にも深層学習が及んできている - Qiita
  → 深層学習モデルを用いたステレオカメラ画像による高精度な 3D 計測技術
 
 とすれば、この方式が、今後は主流になりそうだ。これに比べると、Turing 社の方式は、はるかに時代遅れになる、と言えそうだ。スタートの時点で、周回遅れであり、今後はどんどん引き離されるばかり、となるだろう。本人たちは、そう気づいていないが。
 
posted by 管理人 at 22:17 | Comment(8) | 自動車・交通 | 更新情報をチェックする
この記事へのコメント
 最後に [ 付記5 ] を加筆しました。
Posted by 管理人 at 2023年05月20日 09:10
お説半分くらいわかりました。分からなかったのは素人的にはステレオカメラ方式の方が簡単で信頼性も高いように思われるのに、どうして他の方式を考える必要があったのかという点です。ステレオカメラ方式では2台のカメラ間距離を人の目よりはるかに遠い所に置けるので、距離識別能力は非常に優れているように思います。
 実は鉄道模型の自動運転でステレオカメラ方式を考えています。距離識別ができるOpenCVのような公開ソフトがあったらご教示いただけると幸いです。
Posted by よく見ています at 2023年05月20日 09:59
 昔はカメラの分解能が低かったので、遠くの方の対象を測定しにくかったんです。そのせいで時速 40km ぐらいまでの自動ブレーキしか作れなかった。

 カラーでなくモノクロにすれば水平分解能が3倍になるとか、2K の 200万画素のかわりに 4K の800万画素のカメラを使うとか、そういうところにまで頭が及ばなかった。古い技術を前提としていた。
Posted by 管理人 at 2023年05月20日 10:26
 単眼カメラで画像処理するときには GPU で高速処理できるが、ステレオカメラで差分を取るときには CPU で処理するので時間がかかる、という問題はあります。
 しかし、画面中央だけは高レートで処理して、中央以外は低レートで処理する、というふうに分割処理すれば、この問題は回避できます。そういう方式をしないせいで、困っていたのかも。あるいは、特許権の関係か。
Posted by 管理人 at 2023年05月20日 11:55
 この記事も、最初、筆者が何を言いたいのか理解するのにすごく時間がかかりました。うまく理解できなかった理由は、Tesla や Turing は「マルチカメラ」だと書いていること。じゃあ、

 マルチカメラ >> ステレオカメラ

 なんじゃないかと思ってしまう。他にもあたってよく調べると、例えば Turing は、マルチカメラといっても、普通の画角のカメラと魚眼カメラ(超広角)の組み合わせなので、測距は難しい(やっていない、無理だ)とわかりました。

 その測距の重要性についても、昔のレンジファインダーカメラに付いている距離計を持ち出したら混乱します。昔の距離計は、内部のハーフミラーやプリズムが実際に動いて、光学的視差を検出するやり方でしょう。物理的にはどこも動かない、単焦点カメラ2台の画像解析での視差検出とは違います。

 それと、【 追記 】に書かれている記事は、コメントしようと思ったら先に書き込まれてしまいました。ただし、一つ目の富士通の記事では、「Deep Learning 技術を主に測距に応用した」という内容ではないように読めます。三つ目の記事とは、そこが大きく違うように思います。

 最後に、細かい話ですが、[付記3]のところの「一方、ミリ波レーダーや LiDAR では、黒い物体の位置を知ることはできない。対象が電波を反射しないからだ。」というのは、事実とは違うのではないでしょうか。
Posted by かわっこだっこ at 2023年05月24日 14:20
 「LiDAR  黒い」でググるといい。
 → https://x.gd/gxvJe

> 事実とは違うのではないでしょうか

 厳密に言えばその通りだけど、細かい話は省略。電波黒体みたいに理解してください。可視光でなくて。
 波長の違いがあるだけで、基本的には電波吸収という話で OK 。

Posted by 管理人 at 2023年05月24日 14:39
 私が指摘したのは、LiDARではなくて、ミリ波のほうなんですが。もちろん、可視的に黒い方が、ミリ波の波長域の吸収率も多少は高くなるでしょうが、システムとしての性能にはあまり影響を与えないのでは。逆に、ミリ波を吸収する材料で、見た目が黒くないものはたくさんあるようです。
Posted by かわっこだっこ at 2023年05月24日 20:00
 正確に言えばそうなんだけど、原文は簡単に1行で書いただけ。「黒い」を「ミリ波の吸収体」に読み替えればいいだけ。
 要するに、「電磁波を反射しない物体は検知できない」と言っているだけです。色が(可視光領域で)黒かどうかは、表現の仕方の問題であって、本質的ではない。一種の比喩的表現です。
 対比しているのは、「電磁波を反射しない物体をも測距できるステレオカメラ」であって、「黒」に対する「白」や「赤」が対比されているわけではない。
Posted by 管理人 at 2023年05月24日 20:57
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

  ※ コメントが掲載されるまで、時間がかかることがあります。

過去ログ