カーエレクトロニクスにおいて「ディープラーニング」は、非常にホットなトピックスだ。特に、自動運転に効果的だという話は、NVIDIAが2015年4月にGTCで行った発表以来、一般の人にも比較的広く知られるようになってきた。しかし、この分野に携わってきた開発者にとって、ディープラーニングとの出会いはもっと早かったといえる。

今回は、様々な分野の研究を行うデンソーアイティーラボラトリにて、画像認識の研究開発に携わる佐藤 育郎 氏へのインタビューから、カーエレクトロニクスにおけるディープラーニングの現状と、ビジョンについて紐解いていきたい。

デンソーアイティーラボラトリ 研究開発グループ チーフエンジニア 博士(理学) 佐藤 育郎 氏

ADASにディープラーニングはどのように寄与するか

前述のとおり、自動運転におけるディープラーニングの有効性が広く認識されたのは2015年となるが、このテーマに佐藤氏が着目したのは、さかのぼること約3年となる2012年10月だという。

「画像認識の手法を競う『ILSVRC 2012』」というコンペティションがあるのですが、そこでのトロント大学の発表に衝撃を受けました。ディープラーニングを活用し、当時としては画期的なほどに深い畳み込みと、全結合を組み合わせた手法によって、圧倒的な認識率を記録したのです。しかも、より深く階層化することで、認識率は更に高まるというものでした」(佐藤氏)。

ILSVRC 2012におけるトロント大学の発表内容。2010~2011年はDeep Learningを利用せずに20%台の誤認識率だった

トロント大学の研究成果。畳み込み(Covolution)とサイズ縮小(Pooling)をとにかく繰り返す

ディープラーニングの階層をより深くすることで、更なる性能向上が可能とした。2014年におけるGoogleによる22層の畳み込みを経て、2015年には遂に、一般人の認識率を超える性能を出すに至っているという

ADASにおいて、カメラを利用した歩行者検知そのものは既に広く実装がなされており、ステレオカメラを利用すれば、対象物との距離の認識なども可能だ。しかしそこでは、「単に歩行者がいる事」だけしか認識できず、歩行者の詳細な属性までは認識することができない。歩行者がどのような状況にあるのかを自動で認識し、その後の行動予測が行えれば、今後制御の幅が広がっていくと期待される。

そこへはこれまで以上の精度の画像認識が必要となり、ILSVRC 2012に参加していた佐藤氏は、アプローチの手法としてディープラーニングに着目したという。「私の研究分野では、『あんしんな運転』へ必要な要素として、『どのような歩行者かを認識』することが重要だと考えています。そのために研究に取り組んでいますが、ディープラーニングというアプローチは、この研究を加速できると考えたのです」(佐藤 氏)。

「歩行者がいる事」しか認識していない現在の歩行者検知(写真左)を、ディープラーニングをもって「どのような歩行者か」まで認識にまで引き上げる(写真右)研究を、佐藤氏は行う

Tegra K1と1台のWebカメラだけで高度な画像認識を実現する意義

佐藤氏の研究では、NVIDIA Tegra K1を利用し、歩行者のリアルタイム認識を行うシステムを構築している。ここで特徴的なのは、歩行者の身長や歩行者との距離、歩行者の体の向きを、「1枚の静止画」から算出できる点だ。歩行者との距離を画像認識する場合、ステレオカメラを利用し視差から距離を求める方式が一般的だが、同氏のシステムでは、ここから更に歩行者の身長を推定する事もできる。くわえて、1フレームから歩行者の体の向きを推定することも可能だ。本研究では、Tegra K1にWebカメラを1つ付けただけの構成にもかかわらず、先に述べた3点を算出することに成功している。これを可能にしたのがディープラーニングであり、畳み込み層、プーリング層と全結合層の組み合わせによってこの結果を出している。

CNN(Neural Networkを使った画像処理)に54ms、その他の処理に9ms、合計63msで処理が完了している。加えて、例えば「カメラと対象の間に箱が置いてあって体が一部隠れている様な場合」でも、正しく推定ができるという

システムの構図。一見簡単に見えるが、実際には各パラメータを決定するために膨大な数の画像を利用して学習をする必要がある

この技術は、安価なシステムによる歩行者検知の実現と、その普及による事故減少という未来をもたらし得る。

周知のとおり、現在の歩行者検出/認識のシステムでは、複数のカメラに加え、場合によってはLIDAR(Light Detection and Ranging、あるいはLaser Imaging Detection and Ranging)などまで組み合わせ、更に複数フレームの画像を参照することで、画像認識や判断が行われている。精度の高い検出や認識を可能にしているが、ここにはコストやサイズに課題がある。高価なセンサーやカメラを多数必要とする現在のシステムは、それらを処理するプロセッサにも高い性能が求められ、高級車はともかく低価格帯の車や小型車には搭載できない。

ところが、カメラ1つとTegra K1程のプロセッサで同じ検出・認識が可能になるのであれば、低価格帯や小型の車にも搭載でき、技術の一般普及への可能性が広がる。ひいてはそれが、世の中に発生する交通事故の減少につながるというわけだ。

MATLABを利用し、ディープラーニングの学習プラットフォームをスクラッチで開発

大義をもつ佐藤氏の研究だが、ディープラーニングの学習プラットフォームは、自身で開発した環境を用いているという。

「今でこそさまざまなディープラーニングの学習プラットフォームが出揃っていますが、2012年10月のLSVRCから取り組みをはじめた当時は、一般的なディープラーニングの学習プラットフォームはほとんど存在しない状況でした。であれば、自ら開発するしかない、と考えたのです。ツールにはMATLABを採用しました」(佐藤 氏)。

「MATLABはかなり愛して使っております」ともコメントする同氏は、その言葉のとおり常日頃からMATLABを研究上で利用しているという。同氏はGPU Computingに対応したParallel Computing Toolboxに着目し、「MATLABを利用しながら裏ではGPUが動いている」という形でプラットフォームの開発が進められた。

同社では、2006年頃からGPUの利用に取り組んでおり、例えば自前のCUDAのプログラムにMATLABのラッパーを記述しMATLABから呼べるようにした自作関数なども資産としてあったという。「言わば『オレオレParallel Computing』でしょうか、そうした資産をMATLAB環境上で利用できる様になっていた事も、開発や研究がスムーズにいった理由だと思います」と、同氏は語る。

今では様々な学習プラットフォームが出揃っているが、佐藤氏は現在もMATLABで構築した環境を利用している。

「慣れているというのもありますが、MATLABはディープラーニングと非常に相性が良いのです。たとえば画像認識はCNN(Convolutional Neural Network)というアルゴリズムを利用しますが、CNNは巨大な積和演算の塊であって、つまるところ『行列×行列』の演算に帰着できます。行列といえばMATLABですので、MATLABを利用する事で、複雑なCNNであっても僅かな行数で記述ができるのです」(佐藤 氏)。

オープン学習プラットフォームの利用は、準備のハードルは下がるものの柔軟性に少し欠ける点がある。プラットフォームから少し外れたところで研究を行おうとすると途端にハードルが上がってしまうケースが少なくなく、仕様を変更する場合の実装コストも馬鹿にならない。自身でMATLABを用い記述している分には、最初にMATLABを学ぶための初期コストは掛かるものの、慣れてしまえば色々変更するのも容易であり、これは実験や研究、検証の性質上、非常に大きなメリットだ。

くわえて佐藤氏は、MATLABの場合、様々な可視化ツールが揃っていることも大きなメリットだとつづける。「例えばアルゴリズムの開発やチューニングの中で、中間層について何らかの統計的情報が欲しい場合や可視化したい時、MATLABだと非常に使い勝手が良いのです。MATLAB無しでは今回のシステムは構築できなかったと思います」(佐藤 氏)。

ディープラーニングで、世の中に発生する交通事故の減少に取り組む

ここまで説明した佐藤氏の研究成果は、2016年1月に開催されたオートモーティブワールドの専門技術セミナーでも講演され、大きな反響を得た。その一方で、今後の本研究における課題として、同氏は「学習速度の向上」をあげる。

「なるべくアルゴリズムを並列性の高い計算方式に置き換えていく事で、処理はかなり高速になりますし、特に行列積のような計算は裏でCUDAを利用して高速化できます。しかし、特に学習の部分に関してはまだそれほど最適化を施せていない事もあり、中規模の歩行者の学習データを処理するために1週間~10日ほどかかる状況です。」と佐藤氏が語るように、ディープラーニングの場合、性能改善は、どれだけ大量の学習をしたかにかかっている。

MATLABで構築した環境でのディープラーニング研究により、世の中で発生する交通事故の減少に挑戦する佐藤氏の取り組みは、業界においても注目すべきテーマだ。デンソーアイティーラボラトリでは、これからも先にあげた課題を含め、同研究を推し進めていく。

MATLABは、設計や意思決定の向上に役立つデータ駆動型の洞察を提供します。MATLAB を使用して、データ解析の主要な課題に対処できます。詳しくはこちら

(マイナビニュース広告企画:提供 MathWorks Japan)

[PR]提供: