MENU
TIPS
ティップス
ホーム / ティップス

【開発事例】サーマルセンサーとDeep Learningを利用した一般物体認識

技術情報の1例として、弊社で行った開発事例を紹介します。

―GPUを活用したDeep Learningによる熱情報からの物体認識―
サーマルセンサーから取得できる熱情報により物体をリアルタイムに検出することができます。
TIPS1

この開発を進める中で、多くの苦労した点や工夫した点があります。
先ず工夫した点は、人を映した時に人と判断できるように人以外を含めた20種類のカテゴリー学習だけでなく、人の一部のみ移った画像も学習させることで人の特徴抽出に特化できるようにしたことです。
学習データの撮影は社員に手伝っていただき作成しましたが、人の画像だけでも1,000枚を超えるデータを作成しました。

次に苦労した点は、物体認識の学習済みモデルをサーマル画像用に転移学習させる際、GPUメモリが足りなかったことです。急遽クラウドのGPUインスタンスを活用して先に進めることができました。
また、用意していたサーマルセンサーがWindows専用であり、Linux(Ubuntu)に対応していなかったため、ドライバを作りこむ必要がありました。
しかしここでまた問題が発生しました。当初V4LからはRGB値でセンサーの値が取得できると考えていたのですが、RGBモードに対応していませんでした。そのため、センサーのレンジ情報を加工しました。

テストでは冷凍食品をセンサーの前に持ってきてみたり、ライターで火を撮ったり、熱湯の入れたカップを撮ったりするというような地道な作業もありましたが、無事に開発することができて達成感を感じることができました。

~ 参考動画 ~

参考として、実際に撮影した動画を公開します。
赤色で囲まれた枠の左上に人なら”Person”、車なら”car”と表示されます。

【開発事例】モデルベース開発 × 深層学習

情報の1例として、弊社で行った開発事例を紹介します。
 

―「ぶつからずに走る車」をテーマに、MDBと深層学習(Deep Learning)を用いた自動車の自動運転制御開発―

 

【 モデルベース開発(MBD) 】

 

・システム設計とモデルベース開発

 
昨今では、システム自体の複雑化、ステークホルダーの多様化、ユーザーニーズの変化によって、システム設計の重要性が高まっています。
システム設計のフェーズでは、QCDSE(品質、コスト、納期、安全、環境)のバランスを取ることを目的とします。
「メカ」「エレキ」「ソフト(制御)」のドメイン設計に依存せず、システムを「サービス」として捉え、全体最適を目指した検討が必要です。
システムを表現するためには、効率的な表記方法とコミュニケーション方法が必要となります。複雑なシステムでの検討を効率的に行うには、「モデル」を活用する事が求められます。
 

・モデルベース開発のメリット

 
「モデル」は、関係者間のコミュニケーションを円滑にするための共通言語です。自然言語による曖昧さを排除し、関係者の共通理解を担保することを目的とします。
 
2018AW_1
2018AW_2

 
 

【 深層学習(Deep Learning) 】

 

・なぜ深層学習(Deep Learning)が必要か

 
昨今では深層学習=AI というピックアップが多くされています。
それは事実の一部ではありますが、深層学習の強みは「ある関数を近似出来る」事です。
ある関数とは既存の関数(アルゴリズム)であったり、人間が作ることが困難な未知の関数であったりと様々で、それら関数を近似し、その推定を行うことが可能です。
前述の通りある関数を近似することが強みですが、それを現実化する為の特徴が大きく分けて3つ存在します。

 1、ニューラルネットワークによるデータのみからの関数近似
 2、データの抽象化
 3、超並列化による高速化

 
2018AW_3
 

・深層学習のユースケース

 
深層学習は計算量が膨大な既存アルゴリズムに対しても高速化が有効であり、また人間が開発することが困難な未知の関数に対しても有効です。今回の展示会では、強化学習の中でもQ学習と呼ばれる既存アルゴリズムの膨大な計算量を深層学習により近似・超高速で推論することで、リアルタイムでの処理を可能としています。
また入力が画像データとなりますが、推定結果が各アクションのQ値と出来る柔軟な点も深層学習の面白い特徴です。
 
2018AW_4
 

・実車構成

 
実際の開発では、NVIDIA DRIVE PX2、Intel Goなどの自動運転開発プラットフォームや、NVIDIA JETSON TX2、Intel Cyclone V FPGAといったSoCを活用するのが望ましくあります。
デモ開発ではブースの規模等を鑑みて、認知、判断、制御間は無線通信を用いる構成としています。
認知はRCカーへ搭載したRaspberryPiにより実施し、判断は深層強化学習によって学習されたモデルの推論をDRIVE PX2で行います。
RCカーの制御はプロポへの可変抵抗を制御することで間接的に制御することにしました。
 
2018AW_5

【 開発事例 】逆強化学習を利用したラジコンの自律走行

逆強化学習とは?


まず強化学習とは、人間が与えた報酬関数に従って試行錯誤を繰り返すことにより、報酬を最大化する一連の行動を学習するモデルです。
逆強化学習は、対象となる行動サンプルを元に報酬関数を推定する仕組みになります。
確率モデルと最大エントロピー計算などから人間が設計する事が難しい報酬関数を比較的少ない教師データから生成することができます。


TIPS_AW2019_DL



デモンストレーション概要


本デモンストレーションは逆強化学習を用いたラジコンの自動走行を行っております。
障害物・経由地点・ゴール地点のなどの属性を判断し、人間の操作記録から走行ルートを策定後、
ゴール地点へ自動走行します。
実際に障害物・経由地点を自由に配置して頂けます。
TIPS_AW2019_DL-2



逆強化学習の有用性


属性を学習データから見出すことにより、人間が言語化・定義できない事象も抽出することが可能になる。また、学習させたアルゴリズムは一定の汎用性・転用性もある。
逆強化学習の応用事例として、下記領域において活用の可能性があります。
●ワーキングカー等におけるヒューマンナレッジを必要とする動きの再現
●ドライビングテクニックのニュアンス(アグレッシブなドライビング、マイルドなドライビング等)を再現した自動運転



【 開発事例 】Jetson AGX Xavier – Caffe vs TensorRT –

TensorRTを使用した学習済みモデル速度比較 feat. Jetson AGX Xavier



TensorRTとは?
NVIDIA TensorRT™は、学習済みモデルの最適化を行うツールです。
実車搭載を考慮した際に、エッジデバイス特有のリソース制限の厳しいハードウェアに対するアプローチが可能です。
NVIDIA TensorRT™を使用することでJetsonなどのエッジデバイスに対し学習済みモデルの搭載が容易にできるため、採用しました。



デモンストレーション概要
Jetson AGX Xavierを2台使用し、同じ学習済みモデル(Caffe)で一方はCaffeを使用した推論処理、もう一方はTensorRTを使用した推論処理を動作させています。
画像1枚に対し最も認識率の高いクラスについて、クラス名称と確度(%)を出力しています。
検証用の画像としてThe Oxford-IIIT Pet Dataset(http://www.robots.ox.ac.uk/~vgg/data/pets/)を使用しています。
TIPS_aw2019_je.png


iPXの今後の取り組み
今後はNVIDIA TensorRT™だけでなく、組み込みソフトウェアへの推論環境の実装などに最適となるツールの選定・実装に取り組んでいきます。



【 開発事例 】Vissim×CarSim Co-simulation

群でみる、自動運転車両制御


「自動運転車」と「人間が運転する車」が混在している際に、ある一定時間で各車両がどういった挙動を行うか。
トラフィックシミュレーション・路車間・車車間通信に求められるモデル精度やロバスト性を評価するためのシミュレーションを行う連携システムの開発を行っています。


aw2019_pro.png



Vissim×CarSim連携概要
PTV Vissim の道路モデルはCarSim 上で描画され、両ツールの同一道路環境を再現しており、自車両・他車両座標情報をリアルタイムで連携させて車両群の中で自車両・他車両の動きをシミュレートする。今回のデモンストレーションでは、PTV Vissim と CarSim 間を連携させており、今後は+Simulink等の制御連携を含めた開発にも取り組んでいきます。



Vissim観点


交通流の中に自動運転車といった特殊車両を配置した際の流量計算を行う。
交通流の変化は勿論、渋滞や事故が発生するか等の検証が行える。



CarSim観点


複数の他車両が存在する環境で、ADAS モデルの検証を実施が可能で他車両の挙動から減速・レーンチェンジなどの妥当性を検証が行える。
PTV Vissimで生成される他車両(交通流)が交通流量計算に基づいて生成される為、実環境により近いシミュレーション環境が再現される。



【 開発事例 】PROPHESEE未来の行動予測

イベントベースカメラを用いた移動体行動予測デモンストレーション


従来のカメラではデータ量が重く処理にもある程度の時間を要する為、未来の行動予測を行うのは不向きであるが、PROPHESEEでは画素自体が時系列情報を持っている利点をニューラルネットワークを用いて未来の移動地点の予測をさせる。



PROPHESEEとは?


イベントベース方式のセンサーで、従来のカメラのように一連のコマ画像を処理するフレームレート方式に比べ、イベントベース方式はデータが軽い為、処理が速い。
移動体の光量変化を捉えてビジュアライズしており、下図の“Change Detection”は光量変化のみを映している。


aw2019_pro.png



デモンストレーション概要


パスプランニングや落下物の検出など数秒後の移動地点を予測するニーズから光量変化を捉え、変化毎にピクセルを送出するイベントベースカメラPROPHESEEを用いて未来の行動予測のコンセプト実証を行っています。
従来のカメラではデータ量が重く処理時間を要する為、未来の行動予測を行うのは不向きであるがPROPHESEEの処理が軽い利点を用いて数秒後の行動予測を行う。
本デモンストレーションではLSTM(Long short-term memory)を用いて動体の○秒後の移動位置を予測しています。



aw2019_pro-2.png