自動運転のシステムを学んでみよう~TOSHIBA画像認識プロセッサVisconti編~

AI

自動運転のシステムを学んでみよう~TOSHIBA画像認識プロセッサVisconti編~

みなさん、こんにちは。
中村忍です。

今回の記事は、自動運転の仕組みについての紹介です。

2006年に第3次AIブームが起こって、早十数年が経ちました。コンピュータの性能向上によってディープラーニングが加速し、スマートスピーカーの登場や自動運転技術の発達、IoTの登場などによって超スマート社会へと世の中が変革しています。
AIについては、1980年ごろに起こった第2次AIブームの後には長い冬の時代を迎えました。その間、研究者達の興味は2足歩行のロボットから4輪の自動運転技術の研究へと興味が移っていったそうです。

特に大手メーカーである(株)TOSHIBAは、2012年のディープラーニング登場以前から画像解析技術の研究に取り組んでおり、さらに「CoHOG(輝度勾配共起ヒストグラム)」と呼ばれる独自の特徴量の設計方法を編み出しています。
その技術は、画像認識プロセッサ「Visconti(ビスコンティ)」として世に出され、大手自動車部品メーカーである(株)デンソーの自動運転技術の中の「車載向け前方監視カメラシステム」に搭載されました。

そこで、今回は、自動運転の仕組みについて、TOSHIBAのViscontiを用いた例を元に紹介していきます。
なお、自動運転の動向やAIについては、弊協会の記事でも紹介していますので、併せてご覧ください。

「自動運転社会の実現に向けた開発動向と戦略 Vol.1」
「機械学習まであと1歩!写真から顔や物体を取り出すには? 実装編第2回」
「OpenCVで機械学習をさせてみた!! 実装編第3回」


Viscontiとは?

TOSHIBAによりますと、Viscontiは、「カメラからの入力映像に画像処理した後に人・顔・手・車両などの対象物とその動きを検出して、検出結果を出力する画像認識プロセッサLSI」とあります。

※LSI = large-scale integrated circuit:高密度集積回路の略です。
この画像処理プロセッサは「MPE (Media Processing Engine)」と呼ばれ、TOSHIBAがオリジナルで開発した32bitRISCプロセッサに、画像処理機能を搭載しています。
さらにViscontiは、MPEを複数個搭載したマルチコアな構成になっており、複数の画像認識機能を同時に実行することができます。

Viscontiボード(写真はVisconti2のもの)

引用:TOSHIBA Visconti システムインテグレーション
Viscontiの2018年現在の最新バージョンは「Visconti4」であり、従来のシリーズに比べ以下のような新機能や性能向上があります。

・最大8つの画像認識アプリケーションを同時に実行可能。
・「Enhanced CoHOG」により、夜間の歩行者認識性能が大幅に向上。
・3次元再構成技術を搭載し、事前学習のない全く新しい静止障害物を検知することが可能。
・画像処理ハードウェアは、最大266.7MHzの動作周波数で動作し、歩行者、車両などを50ms(ミリ秒)以内に同時に認識可能。

それでは、Visconti4を使った自動運転技術について紹介していきます。

Visconti4による自動運転技術

Visconti4は、最大8つの画像認識アプリケーションを同時に実行できると話しましたが、自動運転では以下のような画像認識処理を8つのMPEそれぞれに同時に処理させています。

・車両衝突警報
・歩行者衝突警報(昼夜)
・ハイビーム支援
・一般物体検知
・車線逸脱警報
・路面文字・記号認識
・規制標識認識
・赤信号認識

複数アプリケーションの同時実行の例

引用:TOSHIBA 車載向け画像認識用プロセッサ「Visconti 4」の発売について

また、各認識処理は、以下のような流れで行われています。

1. 入力・・・画像入力、画像縮小など
2. 前処理・・・レンズ歪み補正、ノイズ除去、視差計算など
3. 特徴量抽出・・・画像解析、CoHOG計算
4. 物体識別・・・照合、識別、追跡(トラッキング)
5. 出力・・・認識結果出力、警告注意喚起、認識結果との画像合成

各処理には「画像処理アクセラレータ(高速化回路)」と呼ばれる専用のハードウェア回路が使われ、ソフトウェアで演算をさせるよりも高速に処理をさせることができます。画像処理アクセラレータは複数の機能から構成されていますが、その各機能について説明します。

・アフィン変換
カメラからの入力画像に拡大/縮小や回転、平行移動といった処理を行います。

・ピラミッド
カメラからの入力画像を縮小した画像を、様々な縮小率で複数枚作成します。少ない画素値での画像処理が可能になり、速度向上につながります。

・フィルタ
グレースケール化、レンズ歪み補正、ノイズ除去などを行います。

・HOG(Histograms of Oriented Gradients)
カメラ画像の特定領域に対する輝度(明暗)の勾配方向をヒストグラム化したものです。これにより、人や車といった物体のエッジを抽出し、物体検知が可能になります。

・ヒストグラム
ヒストグラム専用のアクセラレータです。

・マッチング
テンプレートマッチングなどによって物体の照合を行います。

・SfM(Structure from Motion)
単眼(1台の)カメラから3次元の立体情報を推定します。

Visconti4 基本システム構成図

引用:TOSHIBA 車載向け画像認識用プロセッサ「Visconti 4」の発売について

これら画像処理アクセラレータの中でも、特にCoHOGはTOSHIBA独自の技術であり、Viscontiシリーズの特徴的な機能といえるものです。
ここで、HOGとは、画像の隣合うピクセル同士の色の変化を画像の特徴として識別する、特徴量設計手法の1つです。弊協会記事の「OpenCVで機械学習をさせてみた!! 実装編第3回」でも軽く触れています。
CoHOGは、HOGをさらに進化させた特徴量設計手法になります。
HOGでは、画素の各点のエッジ方向をヒストグラム化しているのに対して、CoHOGでは、2点のエッジ方向の組み合わせをヒストグラム化することによって、HOGに比べて形状の認識精度を上げています。
CoHOGについて追っていくと一つの学術論文が出来上がるほどの内容になりますので、詳細は以下の資料等をご覧ください。

東芝レビューVol.65 No.6(2010):動的な背景の中から人物だけを検出する画像認識技術

また、CoHOGにさらに4種類の特徴量を組み合わせた「Enhanced CoHOG」という技術があり、これにより夜間などの画素の輝度差が少ないシーンにおいても高い認識率を実現します。
4種類の特徴量とは、「Color-CoHOG(色勾配方向共起ヒストグラム)」、「CoHED(エッジ直交方向色差分共起ヒストグラム:Co-occurrence Histograms of pairs of Edge orientations and color Differences)」 、「CoHD (直線方向色差分共起ヒストグラム:Co-occurrence Histograms of color Differences)」 、「2次カラーヒストグラム(Color Histogram)」といったものです。
※詳細な内容は章末のリンクを参照してください。

まとめ

いかがでしたでしょうか。
今回の記事では、TOSHIBAのViscontiを元に、自動運転を実現する技術的な仕組みについて紹介しました。

冒頭で話しました通り、ディープラーニングが登場する以前からTOSHIBAでは自動運転の基本的なシステムの構築に取り組んでいましたが、TOSHIBAによると、そこにディープラーニングを用いることで特徴量の設計を自動で行ってくれるそうです。結果、CoHOGに代わる新たな特徴量が生みだされ、認識レベルが劇的に向上し、一般道路も完全に自動運転になる日も近いかもしれません。

余談ですが、Viscontiは自動運転以外にも、私たちの新しい暮らしを創る「スマートコミュニティ」を実現するための技術にもなっているそうです。
例えば、高速道路の交通システム、オフィスの照明・空調の自動調整、商品購入行動の分析、人の流れの分析と配信、教育サポートや介護見守りのためのコミュニケーションロボットといったものです。
TOSHIBAでは、Viscontiの評価ボードとSDKの販売や受託開発も行っているようですので、自動運転に限らずViscontiで社会的問題解決に取り組んでみてはいかがでしょうか。

参考