パネルディスカッションのパネラーを務める東芝の宮森氏

COOL Chips XVIIIにおいて、東芝の宮森高氏が同社の画像認識プロセッサ「Visconti」について発表を行った。

東芝は2004年のCICCにおいて第1世代の画像認識LSIを発表して以来、10年以上にわたって画像認識SoCを開発してきている。今回の発表は最新の第4世代の「TMPV7608XBG」というチップについてである。このチップは8個のプロセサコアと14個のハードウェアアクセラレータを集積し、1900GigaOps/sの性能を持っている。

東芝は2004年の第1世代以来、画像認識LSIを開発してきている。今回の発表は最新の第4世代チップに関するものである

この第4世代チップは次の図に示すように、車、歩行者、車線、交通標識などを認識できる。これらの機能は、前の世代でも存在したが、第4世代では車だけでなくオートバイの認識や、車いすの歩行者、交通信号、一般障害物の認識機能が加わった。

このチップは、車、歩行者、車線、交通標識などを認識できる。これらの機能は、前の世代でも存在したが、第4世代ではオートバイ、車いす、信号、一般障害物の認識機能が加わった

東芝の画像認識の流れは次の図のようになっている。前処理で歪補正やノイズの低減を行い、特徴点を抽出し、それを追跡するという基本的な流れはルネサスのSoCと同じである。また、前段の処理は比較的単純であるがデータ量が多いので、ハードウェアアクセラレータで処理し、アルゴリズムが複雑な後段の処理はマルチコアのプロセサを使うというのも同じであるが、目的が違うので処理の中身はかなり異なっている。

東芝の画像認識の流れ

特徴点の抽出には、「Histogram of Oriented Gradients(HOG)」という、どちら向きの線分があるかのヒストグラムを作る。次の図の右の2つの写真は人間と道路に立っている丸い看板であるが、輪郭線の傾きのヒストグラムは似ているので、HOGでは区別が難しい。これに対して、東芝は「Co-occurrence HOG(CoHOG)」という改良アルゴリズムを使っている。CoHOGは小領域の中で、2つの線分のペアの傾きがどうなっているのかのヒストグラムを作る。この方法を使うと、対象物のローカルな形が判別できるという。

小領域にある線の向きのヒストグラムを作るHOGを改良し、線の向きのペアのヒストグラムを作るCoHOGという方法で、対象物を見分ける

しかし、CoHOGの場合は、次の図のように着目しているピクセルを含む30通りのペアの傾きのヒストグラムを作るので、HOGと比べると計算処理量が大きくなり、3GHz以上のプロセサが必要であるという。なお、このアルゴリズムは第2世代から使っているという。

CoHOGの場合は、着目しているピクセルを含む30通りのペアのヒストグラムを作るので計算量が多くなる

そのため、30通りのヒストグラムをアップデートし、それぞれのヒストグラムが何を意味しているのかの辞書を格納するDictionary Bufferを読み出して並列に比較する機能などを備えたCoHOGアクセラレータを作っている。

30個のヒストグラムカウンタと辞書とのマッチング回路を持つCoHOGアクセラレータ

ヨーロッパの規制では、2018年から夜間でも歩行者や自転車を検知して非常ブレーキをかけることが求められるようになる。このため、第4世代のチップでは、CoHOGに色を加えたColor CoHOGという方式を開発した。

第4世代ではCoHOGに色を加えたColor CoHOGという方法を使っている。線分ペアの傾きのヒストグラムを、類似色の場合と色が異なる場合で、別個にカウントする

次の図のグラフは、横軸が不一致のものを一致と誤認する率で、縦軸は一致すべきものを不一致とする率であり、左下に近い方が性能が高い。昼間の明るいときと比べると、夜間の暗い時には、誤認の率が高まるのはやむを得ないが、第4世代に搭載された4色を使うColor CoHOGの性能は、色を使わない昼間のCoHOGとほぼ同等の性能を示している。

なお、ヒストグラムのマッチングを使う処理はCoHOG以外にもあり、これらの処理にも使えるように汎用化したアクセラレータを作っており、これをHOXアクセラレータと称している。

右のグラフは、横軸が一致を誤認する率で、縦軸は一致すべきものを不一致とする率。昼と夜では大きく見え方が違うが、4色のColor CoHOGは夜の場合でも、昼のCoHOGとほぼ同等の性能を示している

このチップの処理速度であるが、次の図に示すように、歩行者、自転車、車、オートバイと4種の辞書とのマッチングを行う場合は3.4GHzクロックの「Core i7-2600k(1スレッド)」では2.4秒かかる。これをNVIDIAの「GTX550Ti GPU」で行うと300msとなるが、汎用アクセラレータであるHOXを使うと8msで実行でき、GPUと比べても38倍高速である。

歩行者、自転車、車、オートバイの4つの辞書とマッチングを検出する処理はCore i7-2600k 1スレッドで処理すると2.4秒かかり、NVIDIAのGTX550 Ti GPUを使っても300ms掛かるが、汎用のHOXアクセラレータを使うと8msで実行できる

次の図は、第2世代と今回の第4世代のチップのチップ写真と諸元を示したものである。使用しているプロセスは、どちらも40nm LPであるが、第4世代チップは105.6mm2と第2世代の2倍強の面積となっている。しかし、トータルの演算性能は第2世代が464GOPSであるのに対して、第4世代は1900GOPSと4倍以上に向上している。

第4世代チップは第2世代と同じ40nmプロセスで作られ、面積は105.6mm2と第2世代の2倍強となっている。しかし、演算性能は1900GOPSと4倍以上になっている

性能/Wは数字だけを見ると、多少下がっているが、実際の動作では、第2世代が歩行者検出だけで0.87Wであったのに対して、第4世代は歩行者、車、レーンの検出を行って0.9Wと改善しているという。