JP6524475B2 - 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置 - Google Patents

画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置 Download PDF

Info

Publication number
JP6524475B2
JP6524475B2 JP2015006711A JP2015006711A JP6524475B2 JP 6524475 B2 JP6524475 B2 JP 6524475B2 JP 2015006711 A JP2015006711 A JP 2015006711A JP 2015006711 A JP2015006711 A JP 2015006711A JP 6524475 B2 JP6524475 B2 JP 6524475B2
Authority
JP
Japan
Prior art keywords
window
image
component
cell
feature amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015006711A
Other languages
English (en)
Other versions
JP2016133878A (ja
Inventor
純嗣 山野
純嗣 山野
孝雄 尾上
孝雄 尾上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RayTron Inc
Original Assignee
RayTron Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RayTron Inc filed Critical RayTron Inc
Priority to JP2015006711A priority Critical patent/JP6524475B2/ja
Publication of JP2016133878A publication Critical patent/JP2016133878A/ja
Application granted granted Critical
Publication of JP6524475B2 publication Critical patent/JP6524475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、画像認識の技術分野に属する。
サポートベクタマシン等による画像認識では、画像の部分領域から算出された特徴量と、予め作成された学習データとを決定関数に適用することで、部分領域内に認識対象が含まれているかどうかの判断を行う。
ここで学習データは、認識対象を表すか、表さないかを示す正負の符号が付された「符号付き特徴量」である。正の符号が付された特徴量は「正例」と呼ばれ、負の符号が付された特徴量は「負例」と呼ばれる。対照的に、部分領域から新たに抽出された特徴量は、かかる符号が存在しない「符号無し特徴量」である。更に、決定関数は、特徴量空間において、正例と、負例とを仕切る超分離平面に応じて決定された定数項、係数をもつ。画像認識では、部分領域から抽出された新たな特徴量、及び、学習データを決定関数に適用して決定関数による演算を実行する。そうすると、関数からの戻り値として正負の符号が返される。画像認識では、この正負の符号に従い、対象となる部分領域が、認識対象を表すか表さないかの結論を下す。
特徴量算出の対象となるべき部分領域の場所を動的に変化させるため、従来の画像認識ではウィンドウによる画像スキャンを実行する。具体的にいうと、従来の画像認識では、ウィンドウによる画像スキャンを実行し、画像の様々な位置にウィンドウを重ね合わせる。そしてそれぞれの重ね合わせ位置で、上記の特徴量の算出と、決定関数による演算とを行う。
特開2008-97607号公報 国際公開WO2012/144195号公報 特表2013-533998号公報 特開2014-10544号公報 特開2009-104666号公報 特開2011-165170号公報
ところでウィンドウの形状や縦幅、横幅は、算出されるべき特徴量の次元数の大小を左右し、認識精度を高める重要なファクターである。
ウィンドウを小さくすると、認識対象を構成する構成要素と似通った絵柄が画像中に出現することで誤認識が発生する。その原因は以下の通りである。即ち、ウィンドウが小さいと、ウィンドウで囲まれる画素群から算出される特徴量の次元数が小さくなるので、認識対象を構成する構成要素について算出される特徴量と、似通った絵柄部分について算出される特徴量とが大体同じものになってしまう。例えば、人物像の顔の近辺に、円形の窓や人の肖像を写したポスターが存在する場合、これら窓やポスター部分から算出される特徴量は、人間の顔から算出される特徴量と同じような値になる。そうすると、これら窓やポスター部分を、人物像の顔として認識してしまうことが往々発生する。
逆にウィンドウを大きくすると、次元数が高くなって認識精度が向上するが、ウィンドウで囲まれる範囲における余白部分(ウィンドウに囲まれる範囲であって、認識対象を表さない部分)も大きくなる。認識にあたって、無駄な余白部分についてまで、特徴量を算
出することになるから、これでは、計算効率の悪化を招く。
本発明の目的は、認識対象の一部と似通った絵柄が、画像中に存在したとしても、認識率の低下を招くことがない画像認識装置を提供することである。
上記課題を解決することができる画像認識装置は、認識対象を構成する複数の構成要素のそれぞれが包含されるよう、ウィンドウの形状を設定した上で、設定されたウィンドウによるスキャンを実行する構成情報設定部と、
ウィンドウスキャンにより各構成要素を包含した局所領域が複数発見された場合、基本となる構成要素を包含した局所領域と、補助的な構成要素を包含した局所領域との位置的関係に基づき、フレーム画像に認識対象が含まれているかどうかの判定を行う客体認識部とを備える。
上記課題解決手段を具備した画像認識装置(以下、本発明と呼ぶ)では、認識対象を構成する複数の構成要素のそれぞれを対象としたサーチを行い、構成要素を包含していると考えられる局所領域が複数発見されれば、それらの局所領域の全体的な位置関係によって認識対象の有無について総合判断を行う。たとえ構成要素の1つと似通った絵柄の領域が存在したとしても、他の構成要素と似通った絵柄の構成要素と似通った絵柄の領域が近くに存在しない限り、その似通った絵柄の領域は、認識対象として認識されることがない。似通った絵柄が存在することによる誤認識の発生を回避することができるので、ノイズ耐性を高くすることができる。
本発明に近い技術として、Bag of Feature, Visual word, Bag of key Pointという先行技術が存在する。
Bag of Featureでは、画像からVisual Codeと呼ばれる特徴量を抽出し、Visual Vocabularyを学習する。Bag of Featureでは、様々な認識対象が複数の構成要素に分割されており、各構成要素についての特徴が、Visual Vocabularyに記載されている。この各構成要素について特徴を、Visual Wordという。
最後に、Visual Wordに合致するVisual Codeの個数を、Visual Word毎に集計することで、個々のVisual Wordの出現頻度(frequency)を算出する。以上の処理により、高い出現頻度を有することになったVisual Wordの組合せから、画像に表れている認識対象の類型を定める。
Bag of Featureでは、画像から抽出されたVisual Codeが、どのVisual Wordを表しているかをVisual Word毎に集計せねばならないから、相応の認識精度を維持するには、学習の過程で、多くのVisual Wordが記載されたVisual Vocabularyを取得せねばならない。つまり、Bag of Featureでは、多くの構成要素についてVisual Wordを生成して、画像から抽出されたVisual Codeと比較せねばならず、多くの構成要素を対象とした学習処理が必要になるという問題がある。
これに対して本発明では、各構成要素を包含するものとして発見された2以上の局所領域の位置関係により、認識対象が画像に存在するかどうかの総合判断を下すから、たとえ所望の特徴量をもつ局所領域が多く発見されたとしても、他の局所領域との位置関係がありえないものについては、判断から除外されることになる。よって、認識対象の構成要素の数が少なくとも、認識精度を維持することができる。
以下、先行技術文献欄に記載された複数の特許文献(特許文献1〜6)と比較した上での効果を述べる。
特許文献1(特開2008-97607号公報)は、入力イメージを表す特徴ベクトルを生成し、分類器の出力の組合せに基づいて、入力イメージを分類するイメージ自動分類方法を開示している。特許文献1に記載された分類装置は、K平均最近分類器160、162、164、バイナリ知覚リニア分類器166、BPNN分類器168という複数種別の識別器から構成され、複数種別の識別器が、複数種別の特徴量を基にイメージ分析を行う。
しかしながら、識別器の種別を増やすことで認識精度の向上を図っているので、特許文献1の構成では複数種別の特徴量を算出するための実装コストが多大になるという問題がある。これに対して本発明では、構成要素を包含するとされた局所領域の位置関係に応じて認識結果を下すため、特徴量の種別に拘らず、たとえ特徴量の種別が1つであったとしても、相応の認識精度を維持することができる。
特許文献2(WO2012/144195号公報)は、人物検出(S101)、及び、顔検出(S102)を行い、顔領域の情報、人物領域の情報を用いた処理を実行する撮像装置を開示する。特許文献2の構成は、カメラの焦点検出のために顔検出、人物検出を行い、これらの検出領域を統合するというものなので、顔と似通った絵柄の部分領域が存在すれば、かかる部分領域を、人物全体の領域と統合してその統合領域を焦点検出領域と選択してしまう可能性がある。対照的に本発明では、ウィンドウのスキャンを行うことで、複数構成要素のそれぞれを包含している複数の局所領域を検出して、複数局所領域の全体的な位置関係に応じて、認識結果を下すから、顔と似通った絵柄の部分領域が存在したとしても、認識率が下がることはない。
特許文献3(特表2013-533998号公報)は、全体的な自己類似記述子を、ウィンドウを対象とした画像認識の基礎とする画像プロセッサを開示している。しかし特許文献3の構成では、ウィンドウ内の走査範囲を自己類似記述子で定義することによりオブジェクトの存否を判断しているから、認識精度が自己類似記述子の記述精度に左右される。本発明では、ウィンドウのスキャンを行うことで、複数構成要素のそれぞれを包含している複数の局所領域を検出して、複数局所領域の全体的な位置関係に応じて、認識結果を下すから、自己類似記述子等の記述精度に認識精度が左右されることはない。
特許文献4(特開2014-10544号公報)は、各セルの輝度勾配方向ヒストグラムを求めて認識を行う装置を開示している。特許文献4では、3つ以上の輝度勾配方向ヒストグラムの組合せにより認識対象の認識を行っているが、人の顔と似通った絵柄の領域が存在していて、それに示される輝度勾配の分布が人間の顔のものと酷似していると、3以上の輝度勾配方向ヒストグラムに示される度数分布が大体同じになり、顔/非顔の認識が正しく行えない可能性がある。本発明では、顔にあたる局所領域と、胴体部にあたる局所領域との全体的な位置関係に応じて、認識結果を下すから、似通った絵柄の領域があったとしても、かかる絵柄を、認識対象の一部として認識することはない。
特許文献5(特開2009-104666号公報)は、階層型構成要素ベースの物体認識を開示している。
特許文献5のポーズパラメータの解析は、物体部分モデルが正しく抽出されることが前提になる。似通った絵柄の領域があると、その領域を物体部分モデルとして抽出して、ポーズパラメータを解析してしまい、現実にはありえない客体を認識してしまう可能性がある。本発明では、ウィンドウのスキャンを行うことで、複数構成要素のそれぞれを包含している複数の局所領域を検出して、複数局所領域の全体的な位置関係に応じて、認識結果を下すから、似通った絵柄の領域があったとしても、かかる絵柄を、認識対象の一部として認識することはない。
特許文献6(特開2011-165170号公報)は、ウィンドウ画像に、識別モデルのそれぞれに対応した部分領域を設定し、高輝度領域が部分領域に含まれるかどうかに応じて部分領域にスコアを付与して検出対象の識別を行う対象物検出装置を開示する。特許文献6では、高輝度画素の存在に応じて、部分領域にスコアを付しているので、認識対象と似通った絵柄が近くに存在する場合、その似通った絵柄に高いスコアを付与してしまう可能性は否定できない。対照的に本発明では、ウィンドウのスキャンを行うことで、複数構成要素のそれぞれを包含している複数の局所領域を検出して、複数局所領域の全体的な位置関係に応じて、認識結果を下すから、似通った絵柄の領域があったとしても、かかる絵柄を、認識対象の一部として認識することはない。
(a)は、画像認識装置1002が使用されるシステムの構成を示す図である。図1(b)は、画像認識装置1002と、カメラ装置1001、ホスト装置1003との入出力関係を示す。 (a)は、カメラ装置1001から画像認識装置1002に出力されるフレーム画像を示す。図2(b)は、画像認識装置1002からホスト装置1003に出力されるフレーム画像を示す。 フレーム画像、輝度画像セグメント、ウィンドウの関係を示す図である。 カレント輝度画像セグメントに対するウィンドウラスタスキャンの構成を示す。 (a)は、パーソナルコンピュータであるホスト装置1003から画像認識装置1002に与えられる構成情報のデータ構造を示す。 図5(b)は、x1,y1、x2,y2、X_max、X_min、Y_max、Y_minの大小関係を規定する数式を示す。図5(c)は、人物像を対象とした場合、ウィンドウ位置関係基準における許容距離がどのように規定されるかを示す。図5(d)は、信号機を対象とした場合、ウィンドウ位置関係基準における許容距離がどのように規定されるかを示す。 (a)は、1個の画像特徴量計算部7が選択することができる縦幅、横幅の組合せを示す。図6(b)は、次元数D(W,H)を導き出すための数式を示す。図6(c)は、HOGサイズ、セルサイズ、ブロックサイズ、勾配強度と、HOG特徴量次元数D(W,H)がとりうる値との関係を表形式で表す。図6(d)は、次元数D(W,H)のHOG特徴量を示す。 画像認識装置1002の内部構成を示す。 図7の画像認識装置1002の内部構成に、構成要素間の画素やデータ、指示の流れを書き加えたものである。 画像供給部4の内部構成の一例を示す図である。 画像特徴量計算部7i1,i2,i3,i4・・・iMの共通の内部構成の一例を示す。 特徴量識別部9の内部構成の一例を示す図である。 特徴量識別部9i1,i2,i3,i4・・・iNのそれぞれに含まれる正規化部45の内部構成を示す。 画像特徴量計算部7と、特徴量識別部9とでどのように処理が分散されているかを示す。 (a)は、特徴量識別部9i1,i2,i3,i4・・・i6のそれぞれがセルヒストグラムを受け取り、内部でマージして横64画素×縦96画素についてのセルヒストグラムを生成する構成例を示す。図14(b)は、横96×縦96画素のセルヒストグラムを生成する構成例を示す。図14(c)は、横128×縦96画素のセルヒストグラムを生成する構成例を示す。 ハードウェアサポートベクタマシンとして識別部46を構成する場合の内部構成を示す図である。 決定関数の意味内容を示す図である。 ソフトマージンサポートベクタマシンとして構成される識別部46の内部構成を示す図である。 カーネルベースサポートベクタマシンとして識別部46を構成する場合の識別部46の内部構成を示す。 (a)は、認識辞書10の構成を示す図である。図19(b)は、構成情報設定部12から認識辞書10に対してなされる構成要素の類別の指定と、当該指定に基づく、認識辞書10から特徴量識別部9i1,i2,i3,i4・・・・iNへの学習データの供給とを示す。 客体認識部11の内部構成を示す構成図である。 信号機の柱部分を包含するよう縦幅、横幅が設定されたウィンドウによるラスタスキャンを示す。 認識結果の出力時における構成要素間の入出力を示す。 三色灯部分についてのスキャンを示す。 三色灯部分のスキャン結果を示す。 全域−部分域組合せスキャンを示す。 全域−部分域組合せスキャンを示す。 全域−部分域組合せスキャンを示す。 全域−部分域組合せスキャンを示す。 構成要素交互スキャンを示す。 構成要素交互スキャンを示す。 構成要素交互スキャンを示す。 構成要素交互スキャンを示す。 (a)は、ウィンドウラスタスキャンのスキャン結果を示す。図22(b)は、互いに重なり合う局所領域を示す。図22(c)は、局所領域座標の組合せを、ウィンドウ位置関係基準に適用した場合の客体認識部11による判定結果を表形式で示す図である。図22(d)は、特定された局所領域の組合せを示す。 (a)は、信号機の柱部分を包含するよう縦幅、横幅が設定されたウィンドウによるラスタスキャンを示す。図23(b)は認識結果の出力時における構成要素間の入出力を示す。図23(c)は、三色灯部分についてのスキャンを示す。図23(d)は認識結果の出力時における構成要素間の入出力を示す。図23(e)は、複数局所領域の全体的な位置関係に応じた認識結果の決定を示す。 画像認識装置1002の全体手順を示すフローチャートである。 セグメント全域スキャンの処理手順を示すフローチャートである。 (a)は、局所領域の位置的関係に応じた総合判断手順を示すフローチャートである。図26(b)は、ウィンドウラスタスキャンの処理手順を示すフローチャートである。 Shifted window(Win_X、Win_Y、Win_H、Win_W)領域のHOG特徴量計算手順を示すフローチャートである。 全域−部分域組合せスキャンの手順を示すフローチャートである。 構成要素交互スキャンの処理手順を示すフローチャートである。 第2実施形態に係る正規化部45、識別部46の内部構成と共に学習辞書10の内部構成を示す図である。 正規化器−識別器−学習辞書に対する画素値供給を示す。 (a)は、構成情報の構成を示す。図32(b)は、認識対象が人物である場合におけるWindow検索情報、ウィンドウ位置関係基準の設定例を示す。図32(c)は、認識対象が信号機である場合におけるWindow検索情報、ウィンドウ位置関係基準の設定例を示す。
以下、図面を参照しながら、本発明に係る画像認識装置の実施形態について説明する。以下の説明に係る実施の形態は、本発明の構成上の特徴および当該特徴的構成から得られる作用効果を分かりやすく説明するための1つの例示としての役割が与えられている。よって、本発明は、その本質的な特徴部分を除き、以下の形態に何ら限定を受けるものではない
(システム構成)
本実施形態に係る画像認識装置は、基板ボード上に実装され、カメラ装置と接続されると共に、ホスト装置の内部に組込まれることで使用に供される。
図1(a)は、画像認識装置1002が使用されるシステムの構成を示す図である。本図におけるシステムは、カメラ装置1001、画像認識装置1002、ホスト装置1003から構成される。以下、システムの構成要素について説明する。
カメラ装置1001は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ、それに光学レンズを備え、予め定められたカメラ設定に従い、定期的に撮影を行い、撮影で得られたフレーム画像を出力する。
画像認識装置1002は、カメラ装置1001から出力されたフレーム画像の入力を受け付け、入力画像に対して画像認識を行い、認識対象が特定された態様のフレーム画像をホスト装置1003のディスプレイに出力させる。ここで認識対象は、不特定多数の人物や道路上に設置されている信号機である。また「認識対象が特定された態様」とは、フレーム画像のうち、認識対象が存在する部分を枠で囲って表示するというものである。
ホスト装置1003は、自身に組込まれた画像認識装置1002についての諸設定をユーザから受け付け、その設定に応じて画像認識装置1002に画像認識を行わせる。画像認識装置1002についての設定は、ユーザ操作に応じて、画像認識の詳細を規定した情報を生成し、これを画像認識装置1002の不揮発メモリに書き込むことでなされる。
図1(b)は、画像認識装置1002と、カメラ装置1001、ホスト装置1003との入出力関係を示す。本図において、カメラ装置1001からの入力in1は、カメラ装置1001により撮影された複数のフレーム画像の入力である。ホスト装置1003からの入力in2は、ホスト装置上で動作するアプリケーションを介した構成情報の設定入力である。out1は、画像認識装置1002からホスト装置1003への出力であり、ここでは、認識結果が合成されたフレーム画像を示す。本実施形態におけるカメラ装置1001の撮影範囲は、信号機が存在する交差点であり、不特定多数の通行人が往来する。カメラ装置1001は、かかる往来を撮影し、動画像を出力する。
図2(a)は、カメラ装置1001から画像認識装置1002に出力されるフレーム画像を示す。図2(b)は、画像認識装置1002からホスト装置1003に出力されるフレーム画像を示す。(a)と比較すると、人物像や信号機がグラフィックで囲まれている点が異なる。図中のgc1,2,3,4は、人物像を包含しているとして認識された局所領域の存在を強調するためのグラフィックである。
以下、図3を参照して、画像供給部4によるウィンドウスキャンについて説明する。図3は、フレーム画像、輝度画像セグメント、ウィンドウの関係を示す図である。
図3のfr1,2,3,4,5,6,7は、時間進行と共に、順次画像認識装置1002に入力されてくる複数のHDフレーム画像を示す。
HDフレーム画像fr1の内部に存在する破線枠は、HDフレーム画像を水平方向に3分割、垂直方向に3分割することで得られた9個の輝度画像セグメントを示す。これらの輝度画像セグメントは、640×360画素からなる。図3において、輝度画像セグメントに付された括弧書きの数値(1,1)(2,1)(3,1)(1,2)(2,2)(3,2)(1,3)(2,3)(3,3)は、フレーム画像において各輝度画像セグメントが存在する箇所の行列位置を示す。
1920×1080×24ビットのフルHD画像から、輝度成分のみで構成される640×360×8ビットの部分画像(輝度画像)を取り出し、輝度画像をウィンドウでスキャンする。ここでのスキャンは、ウィンドウの左上座標を基準点とする。本図では、ウィンドウのサイズを横幅64画素、縦幅96画素としている。図3におけるaw1は、上記9分割で得られた輝度画像セグメントのうち1つが、ラスタスキャンの対象(カレント輝度画像セグメントという)として選ばれたことを示す。カレント輝度画像セグメント内の小枠sf1はウィンドウである。ウィンドウによる輝度画像のスキャンは、輝度部分画像の(0,0)にウィンドウの基準点を配置して、ウィンドウを水平方向に8画素だけ移動する処理を繰り返し行い(r1)、ウィンドウが輝度画像の右端に到達すれば、ウィンドウを垂直方向にシフトして、ウィンドウの位置を左端に移動させるという動作を(b1)、ウィンドウの下端が、輝度画像の下端に到達するまで繰り返すことをいう。水平方向シフトは、72回(=(640-64)/8)行われる。垂直方向のシフトは、33回(=(360-96)/8)回なされる。ラスタスキャンにおける一回のシフトによりカレント輝度画像セグメント内の位置が与えられたウィンドウを『Shifted Window』という。
図3におけるaw2は、複数のShifted Windowのうち、1つのShifted Windowがラスタスキャンの対象(カレントShifted Window)として選ばれたことを示す。カレントShifted Window内の小枠sf2はブロックである。ブロックによるウィンドウのスキャンは、ウィンドウの(0,0)にブロックの基準点を配置して、ブロックを水平方向に8画素だけ移動する処理を繰り返し行い(r2)、ブロックがウィンドウの右端に到達すれば、ブロックを垂直方向にシフトして、ブロックの位置をウィンドウの左端に移動させるという動作(b2)を、ブロックの下端が、ウィンドウの下端に到達するまで繰り返すことをいう。
図4は、カレント輝度画像セグメントに対するウィンドウラスタスキャンの構成を示す。ウィンドウラスタスキャンは、基点座標が異なる、複数回のウィンドウ水平スキャンは、21,sc2,sc3,sc4・・・によって構成される。図中の(0,0)(0,8)(0,16)(0,24)(0,32)(0,40)(0,48)は、輝度画像セグメント内部におけるウィンドウの基点位置の座標(Win_X、Win_Y)である。これらの基点座標(Win_X、Win_Y)は、カレント輝度画像セグメント内の相対座標であり、その間隔は8画素である。またウィンドウの縦画素数は、96画素であるから、複数回のウィンドウ水平スキャンによる走査範囲は、互いに重なり合う。図中のgra1は、複数回のウィンドウ水平スキャンによる走査範囲が重なり合うことで形成される階段形状を示す。
図中の矢印aw3は、一個のセグメントに対する複数のウィンドウ水平スキャンのうち、一個のウィンドウ水平スキャンを抜き出してその詳細を示す。図中の(0,0),(8,0)(16,0)(24,0)(32,0)は、ウィンドウ水平スキャンにおける個々のShifted Windowの位置である。これらの座標の差分により、Shifted Windowのx座標の間隔は、8画素であることがわかる。
階段形状gra2は、輝度画像セグメント内のウィンドウ水平スキャンにおいて、ウィンドウの配置位置を8画素ずつ変化させることで得られる複数のShifted Windowの重なりを示す。輝度画像セグメント内のウィンドウ水平スキャンにより、64×96画素であるウィンドウは8画素ずつシフトするので、Shifted Windowは互いに重なり合い、かかる階段形状を形成する。互いに重なり合う複数Shifted Windowのそれぞれの位置において、Shifted Windowの特徴量と、学習データとの比較がなされる。
図4のcord1は、ウィンドウに包含されるセルの所在が、フレーム画像の座標系においてどのようにして特定されるかを示す。セルは、ウィンドウ内のウィンドウの左上座標を基点とした相対座標Ce_X,Ce_Yにより特定される。ここで、ウィンドウは、輝度画像セグメントにおいてWin_X,Win_Yに存在するから、ウィンドウ内におけるセルの配置は、(Win_X+Ce_X、Win_Y+Ce_Y)により特定される。
以上のウィンドウスキャンの基礎になるのは、ホスト装置1003により画像認識装置1002に設定される構成情報である。以下、図5を参照しながら、構成情報について説明する。
図5(a)は、パーソナルコンピュータであるホスト装置1003から画像認識装置1002に与えられる構成情報のデータ構造を示す。
構成情報は、認識対象の全体類別、基本となる構成要素についてのウィンドウ検索情報(構成要素1のウィンドウ検索情報)、補助的な構成要素についてのウィンドウ検索情報(構成要素2のウィンドウ検索情報、構成要素3のウィンドウ検索情報・・・・構成要素mのウィンドウ検索情報)、基本となる構成要素−補助的な構成要素間の位置関係を規定するウィンドウ位置関係基準(構成要素1−構成要素2のウィンドウ位置関係基準、構成要素1−構成要素2のウィンドウ位置関係基準、構成要素1−構成要素3のウィンドウ位置関係基準・・・・構成要素1−構成要素mのウィンドウ位置関係基準)から構成される。
引出線cu1は、複数のウィンドウ検索情報の代表的として、構成要素1のウィンドウ検索情報の内部構成をクローズアップして示している。引出線cu1に示すように、当該ウィンドウ検索情報は、構成要素1を包含するウィンドウの横幅Win_W、構成要素1を包含するウィンドウの縦幅Win_H、構成要素1の類別type1から構成される。引出線cu2は、構成要素2のウィンドウ検索情報の内部構成をクローズアップして示している。構成要素2のウィンドウ検索情報も同様に構成される。
ウィンドウ位置関係基準は、補助的な構成要素の存在が許容される許容範囲の所在を、基本となる構成要素の中心座標を基点として示す。引出線cu3は、複数のウィンドウ位置関係基準の代表的として、構成要素1と構成要素2のウィンドウ位置関係基準の内部構成をクローズアップして示している。引出線cu3に示すように、位置関係基準は、X軸方向の最大許容距離X_max、X軸方向の最小許容距離X_min、Y軸方向の最大許容距離Y_max、Y軸方向の最小許容距離Y_minから構成される。引出線cu4は、構成要素1と構成要素3のウィンドウ位置関係基準の内部構成をクローズアップして示している。この構成要素1と構成要素3のウィンドウ位置関係基準も同様に構成される。
図5(b)の式1は、 基準となる構成要素を包含するとされた局所的領域の中心座標を(x1,y1)、補助的な構成要素を包含するとされた局所的領域の中心座標を(x2,y2)とした場合、x1,y1、x2,y2、X_max、X_min、Y_max、Y_minの大小関係がどのように規定されるかを示す。
X_max、X_minと、Y_max、Y_minとの差異は、X_max、X_minには正負の符号が存在するのに対し、Y_max、Y_minには、正負の符号が存在しない点である。これは、基本的な構成要素と、補助的な構成要素との左右の関係は、高い頻度で入れ代るからである。図2の例でいうと、信号機には、補助的な構成要素である三色灯が、基本的な構成要素である柱部分の右側に存在する場合と、左側に存在する場合とがある。人物像についても、補助的な構成要素である頭部分が、基本的な構成要素である胴体の右側に存在する場合と、左側に存在する場合とがある。対照的に、基本的な構成要素と、補助的な構成要素との上下の関係が入れ代ることはまずない。そこで、X_max、X_minについては、正負の符号付き数値として規定している。こうしておけば、かかるX_max、X_minと、(X1,Y1)とを式1に適用して、その不等式の成否を判断することで、基本的な構成要素、補助的な構成要素の位置関係の適否を見極めることができる。図2の事例において、Y_max、Y_minを符号無しの数値としたが、横になったり逆さになったりする客体(飛行物や動物、様々な姿勢で動きまわる人物等)を認識対象とする場合、Y_max、Y_minを正負の符号付き数値とすることが望ましい。X_max、X_min、Y_max、Y_minの符号は、認識対象となる客体の性質に応じて定めるべきである。
図5(c)は、人物像を対象とした場合、ウィンドウ位置関係基準における許容距離がどのように規定されるかを示す。LC1は、構成要素1を包含するとしてウィンドウのスキャンにより発見された局所的領域であり、LC2は、構成要素2を包含するとしてウィンドウのスキャンにより発見された局所的領域である。これらは何れも、構成情報のウィンドウ検索情報に規定された横幅Win_W,縦幅Win_Hをもつ。図5(c)におけるX_max、X_minは、ウィンドウの横幅Win_Wの半分の値(Win_W/2)よりも小さい値に設定されている。図5(c)におけるY_max、Y_minは、ウィンドウの縦幅Win_Hの半分の値(Win_H/2)よりも大きい値に設定されている。
破線br3は、(x1+X_min,0)を通る垂直線であり、破線br4は、(x1+X_max,0)を通る垂直線である。破線br1は、(0,y1+Y_min)を通る垂直線であり、破線br2は、(0,y1+Y_max)を通る垂直線である。これらの破線br1,2,3,4`により囲まれる範囲の内部に、構成要素2を包含するとされた局所的領域の中心座標が存在する場合、かかるLC1、LC2は、人物像の胴体部分、頭部分を表している可能性が高いと考えられる。
図5(d)は、信号機を対象とした場合、ウィンドウ位置関係基準における許容距離がどのように規定されるかを示す。
人物像を対象としたウィンドウ位置関係基準と比較すると、第1に、X_max、X_minが異なる。人物像を対象としたウィンドウ位置関係基準では、X_max、X_minがウィンドウの横幅の半分Win_W/2を下回る小さい値に設定されていたのに対し、信号機を対象としたウィンドウ位置関係基準は、X_max、X_minが何れも、ウィンドウの横幅の半分Win_w/2を上回る値に定められているという違いである。
第2に、Y_max、Y_minが異なる。人物像を対象としたウィンドウ位置関係基準では、Y_max、Y_minがウィンドウの横幅Hの半分Win_H/2を上回る大きさに設定されていたのに対し、信号機を対象としたウィンドウ位置関係基準では、Y_max、Y_minが何れも、ウィンドウの横幅の半分Win_H/2を下回る値に定められているという違いである。
第3に、X_max、X_min、Y_max、Y_minにより定まる許容範囲が異なる。これは、人物像を対象としたウィンドウ位置関係基準では、基本となる構成要素の中心座標のやや真上に、補助的な構成要素の中心座標の存在が許容される許容範囲が存在するのに対し、信号機を対象としたウィンドウ位置関係基準では、基本となる構成要素の中心座標の左斜め上に、補助的な構成要素の中心座標の存在が許容される許容範囲が存在するという違いである。この図5(c)の一例では、補助的な構成要素である頭部分が、基本的な構成要素である胴体の左側に存在している。図5(d)の一例でも、補助的な構成要素である三色灯部分が、基本的な構成要素である柱部分の左側に存在している。
以上が構成情報についての説明である。これらの構成情報は、画像認識装置1002から入力されてくるフレーム画像を対象にしたものである。
図6(a)における破線の格子は、一個の画像特徴量計算部7が選択することができる縦幅、横幅の組合せを示す。本図に示すように、セルヒストグラム計算の対象となるべき画素領域の縦幅・横幅を、32画素、64画素、96画素、128画素の中から任意に選択して組合せることができる。図6(a)のshp1は、横幅を128画素、縦幅を32画素と設定することで定義される128×32画素の横長形状のウィンドウを示す。図6(a)のshp2は、横幅を32画素、縦幅を128画素と設定することで定義される32×128画素の縦長形状のウィンドウを示す。図6(a)のshp3は、縦幅、横幅をそれぞれ64画素と設定することで定義される、64×64画素の正方形形状のウィンドウを示す。
構成情報において、縦幅、横幅を可変数にすることで、画像認識に用いられるHistogram Oriented of Gradient(HOG)特徴量の次元数を可変にすることができる。図6(b)の式1は、ウィンドウの横幅、縦幅を可変とした場合、横幅、縦幅からHOG特徴量の次元数(この次元数をD(W,H)という)を導きだすための数式を示す。この数式は、HOGwidth、HOGheight、Cellwidth、Cellheight、Blockwidth、Blockheight、Gといった変数パラメータを被演算子としている。HOGwidth、HOGheightの組みは、HOGサイズを示し、Cellheight、Cellwidthは、セルサイズを示す。Blockheight,Blockwidthは、ブロックサイズを示し、Gは勾配方向の数を示す。
図6(c)は、これらHOGサイズ、セルサイズ、ブロックサイズ、勾配方向数と、次元数D(W,H)がとりうる値との関係を表形式で表す。この表をみると、セルサイズ、ブロックサイズ、勾配方向数は、8×8、3×3、9といった値に固定されている。HOGサイズのみを、構成情報に従い、32×96、64×96、64×128、96×96という4通りの組合せの何れかに変化させることができる。32×96、64×96、64×128、96×96、といった様々なウィンドウサイズを式1に適用すれば、本図に示すような、1620、4860、6804、8100次元という次元数が導きだされることになる。
図6(d)は、次元数D(W,H)のHOG特徴量を示す。本図に示すように、次元数D(W,H)のHOG特徴量は、複数のブロック位置で正規化された81次元のセルヒストグラムを配列することで構成される。つまり次元数D(W,H)のHOG特徴量は、(0,0)に位置するブロック内で正規化された81次元のセルヒストグラム、(8,0)に位置するブロック内で正規化された81次元のセルヒストグラム、(16,0)に位置するブロック内で正規化された81次元のセルヒストグラムをD(W,H)/81個だけ並べることで構成される。このようにして生成された次元数D(W,H)のHOGを画像認識に用いることで、認識対象の存否をより高精度に認識することができる。
(画像認識装置1002の構成)
図7は、画像認識装置1002の内部構成の一例を示す。本図におけるハードウェア構成は、カメラインターフェイス1、集積回路2から構成される。
カメラインターフェイス1は、コネクタ等を介してカメラ装置1001と接続を行い、カメラ装置1001からの映像入力を受け付ける。
集積回路2は、その内部に、画像認識装置1002の主たる構成要素が実装された多層基板回路であり、その内部に、フレームメモリ3、画像供給部4i1,i2,i3,i4・・・iM、ウィンドウ領域設定部5、第1算術演算回路セット6(画像特徴量計算部7i1,i2,i3・・・iMを含む)、第2算術演算回路セット8(特徴量識別部9i1,i2,i3・・・・iNを含む)、認識辞書10、客体認識部11(コードROM11a、MPU11bを含む)、構成情報設定部12(ホストインターフェイス回路12a、不揮発メモリ12bを含む)、サーチ領域リスト格納部13から構成される。
本図において、同じ機能をもつ構成要素は識別番号iで指示される。参照符号に続く英数字i1,i2,i3,i4・・・・・は、これらi=1,i=2,i=3,i=4・・・・・を簡略化したものである。また、図7において画像供給部4i1,i2,i3,i4・・・iM、画像特徴量計算部7i1,i2,i3・・・・iM、特徴量識別部9i1,i2,i3,i4・・・・iNは、供給されるウィンドウやHOGが位置的に異なることを除き、内部構成は共通的なものである。これら画像供給部4i1,i2,i3,i4・・・iM、画像特徴量計算部7i1,i2,i3・・・・iM、特徴量識別部9i1,i2,i3,i4・・・・iNの共通の内部構成は、英数字の識別子を取り除いた参照符号(画像供給部4、画像特徴量計算部7、特徴量識別部9)で指示するものとする。
フレームメモリ3は、カメラインターフェイス1から新たなフレーム画像が入力される度に、入力されたフレーム画像を格納する。フレームメモリ3は、複数のSRAMによって構成される。各SRAMは、フレーム画像に含まれる個々の輝度画像セグメントの行列位置に対応していて、位置的に対応する輝度画像セグメントを格納する。個々のSRAMに付された括弧書きの数値(1,1)(2,1)(3,1)(1,2)(2,2)(3,2)(1,3)(2,3)(3,3)は、対応する輝度画像セグメントの行列位置を示す。そして、開始アドレス、終了アドレスの組みを指定した読み出し要求が画像供給部4i1,i2,i3,i4・・・iMのうち、何れかのものによりなされれば、フレームメモリ3を構成するSRAMは、自身に格納された輝度画像セグメントのうち、画像供給部4i1,i2,i3,i4・・・iMの何れかから指定された開始アドレス、終了アドレスの範囲に囲まれる画素を読み出して、画像供給部4i1,i2,i3,i4・・・iMのうち要求元となるものに出力する。かかる読み出しの要求は画像供給部4i1,i2,i3,i4・・・iMのうち複数のものから同時になされる。以降の説明において、画像認識装置の認識対象となるカレント輝度画像セグメントを“輝度画像セグメント(p,q)”と表記する。また、フレームメモリ3を構成する複数のSRAMのうち、輝度画像セグメント(p,q)を格納するものを、SRAM(p,q)と呼ぶことにする。図中の矢印rd1,2,3,4は、SRAM(p,q)からの画素読み出しを模式的に示す。
ウィンドウ設定部5は、ウィンドウの大きさにより、画像特徴量計算部7i1,i2,i3・・・・iM、特徴量識別部9i1,i2,i3,i4・・・・iNのうち、どれを使用するか、そして、画像特徴量計算部7i1,i2,i3・・・・iMから特徴量識別部9i1,i2,i3,i4・・・・iNへの入出力をどのように設定するかを規定する。
画像供給部4i1,i2,i3,i4・・・iMのそれぞれは、フレーム画像を分割することで得られる640×360画素からなる輝度画像セグメントの中から、処理対象となるべき画素ブロックを読み出して、画像特徴量計算部i1,i2,i3,i4・・・iMのそれぞれに供給する。ここで供給されるブロックは、構成情報により縦幅、横幅が規定されたウィンドウに存在する。
第1算術演算回路セット6は、画像特徴量計算部として機能する複数の論理演算素子を備える。かかる複数の論理演算素子は、画像特徴量計算部7i1,i2,i3・・・・iMとして機能する。
画像特徴量計算部7i1,i2,i3・・・・iMのそれぞれは、SRAM(p,q)から読み出された横32×縦96画素の画素群に対して勾配方向、勾配強度を算出することでセルヒストグラムを得て、画像特徴量計算部7に出力する。
第2算術演算回路セット8は、特徴量識別部として機能する複数の論理演算素子を備える。かかる複数の論理演算素子は、特徴量識別部9i1,i2,i3,i4・・・・iNとして機能する。
特徴量識別部9i1,i2,i3,i4・・・・iNのそれぞれは、画像特徴量計算部7i1,i2,i3,i4・・・iMのそれぞれが算出したセルヒストグラムをその内部で組合せて、横幅Win_W、縦幅Win_Hに対応する次元数D(W,H)の特徴量Xを得て、特徴量Xと、認識辞書10に格納されている学習データTとを比較し、特徴量Xが、認識対象の構成要素をあらわしているか否かを判定する。
認識辞書10は、学習データTを格納した不揮発メモリで構成される。不揮発メモリにおける学習データTは、オフライン学習の過程で得られた複数の特徴量X1〜Xnに、符号Y1〜Ynを対応付けたものである。これらの符号Y1〜Ynは、対応する特徴量X1〜Xnが認識対象を表すかどうかを示す。逆に、画像特徴量計算部7i1,i2,i3・・・・iMにより算出される特徴量Xには、符号Yは存在しない。これは、画像特徴量計算部7i1,i2,i3・・・・iMにより算出される特徴量Xは、認識対象を表すかどうかが定まっていない未知の特徴量だからである。
客体認識部11は、特徴量識別部9i1,i2,i3,i4・・・・iNのうち、構成要素がウィンドウ内に含まれていると判定したものの判定結果を、サーチ領域リストに追記する。具体的にいうと、特徴量識別部9i1,i2,i3,i4・・・・iNの何れかが、『ウィンドウは、基本又は補助的な構成要素を包含している』との判定結果を下した場合、そのウィンドウの基点座標に、ウィンドウの横幅の半分の値、縦幅の半分の値を加算することで、局所領域の中心位置の座標(X1,Y1),(X2,Y2)を得て、サーチ領域リストのエントリーに書き込む。複数の構成要素についての認識結果がサーチ領域リストに記載されれば、それら複数の構成要素の位置的関係が、構成情報に規定されたウィンドウ位置関係基準を満たすかどうかの総合判断を行う。構成情報のウィンドウ位置関係基準を満たす場合、認識対象の全体像が、画像内に存在すると総合判断を下す。ウィンドウ位置関係基準を満たさない場合、認識対象の全体像が、画像内に存在しないと総合判断を下す。
上述したように、X_max、X_minについては正負の符号が存在するから、客体認識部11は、局所領域の中心座標と、ウィンドウ位置関係基準のX_max、X_minとを式1に適用し、X_max、X_minが正の場合と、X_max、X_minが負の場合とで局所領域の組合せの位置関係の適否を判断する。
コードROM11aには、客体認識部11の処理内容を記述した命令コードが格納される。
中央演算処理回路11bは、コードROM11aに格納された複数の命令コードと、不揮発メモリに格納された構成情報とに基づいて客体認識部11全体の制御を行う。
構成情報設定部12は、ホスト装置1003により設定された複数の構成情報が設定される。そのように設定された構成情報に従い、画像供給部4、客体認識部11に対する制御を行う。
ホストインターフェイス回路12aは、ホスト装置1003との入出力を実行する。
不揮発メモリ12bは、ホスト装置1003による設定内容が書き込まれるメモリであり、ホストインターフェイス回路12aを通じてホスト装置1003により設定された複数の構成情報が格納される。
サーチ領域リスト格納部13に格納されるサーチ領域リストは、複数のレコードからなり、各レコードにウィンドウスキャンによる構成要素のサーチ結果が追記される。各レコードは、認識対象の構成要素を包含するとされた局所領域のXY座標と、局所領域の縦幅・横幅と、発見された構成要素の類型と、特徴量識別部が算出した尤度とを含む。
一回のウィンドウスキャンで、構成要素を包含する局所領域が発見されれば、局所領域のXY座標、縦幅、横幅、尤度を示すレコードがリストに追加される。一回のウィンドウスキャンで発見された局所領域が2以上存在するなら、それらの局所領域のXY座標、縦幅、横幅、尤度を示すレコードがリストに追加される。
以降の説明では、画像供給部4及び画像特徴量計算部7の個数Mを9個とし、特徴量識別部9の個数を4個とする。図8は、図7の画像認識装置1002の内部構成に、構成要素間の画素やデータ、指示の流れを書き加えたものである。
ins1は、構成情報設定部12から画像供給部4への読み出し指示を示す。かかる指示では、SRAM(p,q)から読み出すべきウィンドウを指示する。画像供給部4は、複数のシフト位置のそれぞれにウィンドウを配置した場合に、各ウィンドウで囲まれることになる画素群をSRAM(p,q)から読み出し、画像特徴量計算部7i1,i2,i3・・・・iMのそれぞれに供給するという処理を繰り返し行う。こうすることで、複数のシフト位置のそれぞれにウィンドウを配置した場合、ウィンドウで囲まれることになる画素群が一度に、画像特徴量計算部7i1,i2,i3・・・・iMに読み出される。
図中のwi1,2,3,4は、画像供給部4i1,i2,i3,i4・・・iMに対する指示に従い、SRAM(p,q)から読み出された32×96画素からなるウィンドウである。これらのウィンドウは、輝度画像セグメントにおいて、(0,0)(8,0)(16,0)(24,0)に存在する。図中のbk1は、各ウィンドウに対してなされるブロックシフトを示す。
ho1,2,3,4は、ウィンドウに対するブロックシフトで画像特徴量計算部7i1,i2,i3・・・・iMにより生成されたD(W.H)次元の勾配ヒストグラムを示す。
特徴量識別部9i1,i2,i3,i4・・・・iNのそれぞれに対する入力のうち、「X」は画像特徴量計算部7i1,i2,i3・・・・iMにより算出された4860次元のHOGである。「T」は、認識辞書に格納されている学習データである。特徴量識別部9i1,i2,i3,i4・・・・iNは、これらX,Tを決定関数に適用することで、認識対象の構成要素が存在するかどうかの判断を行う。
re1,2,3は、特徴量識別部9i1,i2,i3,i4・・・・iNの判定により、サーチ領域リストに追加されたレコードである。これらのレコードの記載に基づき、客体認識部11は統合判定を行う。客体認識部11によるウィンドウ位置的関係を満たすかどうかの判定は、構成要素を包含していると判定された局所領域の中心座標が、ウィンドウ位置関係基準を満たすかどうかを判断することでなされる。
(画像供給部4の内部構成)
図9は、画像供給部4の内部構成の一例を示す図である。図9において、「mul」は乗算器、「add」は加算器、「sub」は減算器、「comp」は比較器を意味する。mul,add,compは図10以降の図面にも登場するが、各記号の意味は以降の図でも同じである。本図の内部構成において大きな単位の構成要素については、20番代の参照符号を付している。小さな単位の構成要素については、200番代の参照符号を付している。
本図に示すように画像供給部4は、セグメント内におけるウィンドウのX座標であるWin_Xを算出するウィンドウ座標算出部21、ウィンドウ内におけるセルのX座標であるCe_Xを算出するセル座標算出部22、セグメント内におけるウィンドウのY座標であるWin_Yを算出するウィンドウ座標算出部23、ウィンドウ内におけるセルのY座標であるCe_Yを算出するセル座標算出部24、ブロックの座標をアドレスに変換する座標−アドレス変換部25、変換により得られたアドレスに従い、8×8画素からなるセルをSRAM(p,q)から読み出す読出制御部26、SRAM(p,q)から読み出されたセルを格納するバッファ27を備え、輝度画像セグメントにおいて、(Win_X+Ce_X、Win_Y+Ce_Y)に位置する8×8画素からなるセルを読み出す。
ウィンドウ座標算出部21は、ウィンドウのX座標の元となるカウント値Cwxを生成するカウンタ201と、カウンタ201のカウント値Cwxから1を減じる減算器202と、減算器202の出力値(Cwx-1)に、画像供給部4の個数Lを乗じる乗算器203、乗算器203の出力値(Cwx-1)・Lに、画像供給部4の識別番号から1を減じた値(id-1)を加算する加算器204、((Cwx-1)・L+(id-1))に、ウィンドウの分割幅32を乗じてWin_Xを得る乗算器205、画像供給部4の識別番号が2以下であれば、Cwxの最大値として「3」を出力し、画像供給部4の識別番号が2を上回れば、Cwxの最大値として「2」を出力するセレクタ206、Cwxと、セレクタ206が出力した最大値とを比較し、Cwxがセグメントの横幅に達すると、カウンタ201をリセットする比較器207から構成される。
tbl1は、Win_Xがとりうる値を、画像供給部4i1,i2,i3,i4・・・iMのidと、カウント値Cwxとの組合せに対応付けて示す表である。本表では、横方向に画像供給部4i1,i2,i3,i4・・・iMのidがとり得る複数の値を示し、縦方向にカウント値がとり得る複数の値を示す。このtbl1においてCwxが1である場合、画像供給部4i1,i2,i3,i4・・・iMのそれぞれについて算出されるWin_Xは、id=1の画像供給部4i1では「0」、id=2の画像供給部4i2では「32」、id=3の画像供給部4i3では「64」、id=4の画像供給部4i4では「96」、id=5の画像供給部4i15では「128」となる。Cwxが2である場合、画像供給部4i1,i2,i3,i4・・・iMのそれぞれについて算出されるWin_Xは、id=1の画像供給部4i1では「288(=32・9)」、id=2の画像供給部4i2では「320(=32・(9+1))」、id=3の画像供給部4i3では「352(=32・(9+2))」、id=4の画像供給部4i4では「384(=32・(9+3)」となる。こうすることで画像供給部4i1,i2,i3,i4・・・iMのそれぞれは、その識別番号に応じた、32画素置きのWin_Xを算出することができる。
セル座標算出部22は、ウィンドウ内でセルをシフトする際、そのシフトカウントの元となるカウント値Ccxを出力するカウンタ208、カウント値Ccxと、ウィンドウ内シフトの最大シフトカウント値である「4(=(32-8)/8+1)」とを比較して、両者が一致すればカウンタ208をリセットする比較器209、カウンタの値Ccxから1を減じてウィンドウ内のセル座標(Ccx-1)を得る減算器210、(Ccx-1)に、8を乗じることでCe_Xを得る乗算器211、Win_Xと、Ce_Xと、輝度画像セグメントのX座標とを足し合わせて読出対象となるセルの座標を得る加算器212から構成される。
Ccxが1である場合Ce_Xは「0」、Ccxが2である場合Ce_Xは「8」、Ccxが3である場合Ce_Xは「16」、Ccxが3である場合Ce_Xは「24」となる。かかるCe_Xの算出は、Ccxが最大シフトカウント(=4)に達するまで続けられる。
ウィンドウ座標算出部23は、ウィンドウのY座標の元となるカウント値Ccyを生成するカウンタ221と、カウンタ221のカウント値Cwyと、ウィンドウの最大シフトカウント値である「((360-Win_H)/8+1)」とを比較し、Cwyが最大シフトカウントに達すると、カウンタ221をリセットする比較器222、輝度画像セグメントの縦幅360から、構成情報で定義されたウィンドウの縦幅Win_Hを減じる減算器223、減算器223による減算結果(360-Win_H)を、8で割る除算器224、除算器224の出力値に+1を加算することで最大シフトカウント((360-Win_H)/8+1)を得る加算器225、カウンタ221のカウント値Cwyから1を減じる減算器226と、(Cwy-1)に8を乗じることでWin_Yを得る乗算器227から構成される。Cwyが1である場合Win_Yは「0」、Cwyが2である場合、Win_Yは「8」、Cwyが3である場合Win_Yは「16」、Cwyが4である場合Win_Xは「24」となる。かかるWin_Yの算出は、Cwyが最大シフトカウント((360-H)/8+1)に達するまで続けられる。
セル座標算出部24は、ウィンドウ内でセルをシフトする際、そのシフトカウントの元となるカウント値Ccyを出力するカウンタ230と、カウント値Ccyと、ウィンドウ内シフトの最大シフトカウント((Win_H-8)/8+1)とを比較して、両者が一致すればカウンタ230をリセットする比較器231と、構成情報における横幅Hから、セルの縦画素数24を減じる減算器232と、(Win_H-8)を8で割る除算器233、(Win_H-8)/8に1を加算する加算器234、カウンタの値Ccyから1を減じてウィンドウ内のセル座標(Ccy-1)を得る減算器235と、(Ccy-1)に8を乗じることでCe_Yを得る乗算器236と、Win_Yと、Ce_Yと、輝度画像セグメントのY座標とを足し合わせて読出対象となるセルのY座標を得る加算器237とから構成される。
画像供給部4i1,i2,i3,i4・・・iMのそれぞれは、以上のように構成されているので、(Win_X+Ce_X、Win_Y+Ce_Y)はカウンタ201、208、221、230のカウントに伴って随時更新され、その更新後のXY座標から、画素セルが読み出されることになる。これらのカウンタ201、208、221、230によるカウント値の上限は、構成情報におけるウィンドウの横幅Win_W、縦幅Win_Hによって変化するから、ウィンドウ及びセルの水平方向、垂直方向のシフト数を、カウント値の上限設定を通じて、自在に変化させることができる。これにより、ウィンドウの縦幅、横幅を任意に変化させながら、ウィンドウ及びセルをシフトさせることができる。以上が画像供給部4i1,i2,i3,i4・・・iMの内部構成の説明である。このようにして出力された画素セルは画像特徴量計算部7i1,i2,i3,i4・・・iMのそれぞれに供される。
(画像特徴量計算部7の内部構成)
図10は、画像特徴量計算部7i1,i2,i3,i4・・・iMの内部構成を示す。「MAC」は積和演算レジスタ、「acc」はアキュムレータを意味する。また「MAC」、「acc」の組みは積和演算器を構成する。MAC,accは本図以降の図面にも登場するが、各記号の意味は以降の図でも同じである。本図における式3-1は、角度範囲に属する角度θ'についての勾配度数の算出式を示す。この勾配度数において、m(x,y)は勾配強度を示す。θ(x,y)は勾配方向を示す。式3-1は、勾配強度m(x,y)と、δ[θ',θ(x,y)]との積を画素セルを構成する全てのX座標、Y座標について算出して、これらを積和する計算を意味する。式3-2は、N方向の勾配方向ヒストグラムを示す。この勾配方向ヒストグラムはN個の集合要素からなる。図10の内部構成における構成要素については、30番代の参照符号を付している。本図に示すように画像特徴量計算部7は、セルヒストグラムの角度範囲に属する一個の角度値θ'を生成する角度範囲生成器31と、角度値θ'が生成される度に、8×8画素のセルに属する個々の画素を選択すると共に、任意の座標(x,y)に位置する画素の上下左右に位置する画素の画素値(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)を選択的に出力するセレクタ32と、セレクタ32により選択された画素値のうち、(x,y-1)の画素値と、(x,y+1)の画素値との減算を行いIy(x,y)を得る減算器33と、(x+1,y)の画素値と(x-1,y)の画素値との減算を行い、Ix(x,y)を得る減算器34と、Ix(x,y)、Iy(x,y)の二乗和平方根を算出することで勾配強度m(x,y)を得る二乗和平方根算出器35と、Iy(x,y)をIx(x,y)を用いて除算してIy(x,y)/Ix(x,y)を得る除算器36と、Iy(x,y)/Ix(x,y)についての逆正接を算出して勾配方向θ(x,y)を得る逆正接算出器37と、逆正接算出器37により出力されたθ(x,y)と、角度範囲生成器31から出力された角度範囲に属するθ'とに対してδ(デルタ)関数演算を行い、δ[θ',θ(x,y)]を算出するデルタ関数演算器38と、二乗和平方根算出器35から出力された勾配強度m(x,y)と、デルタ関数演算器38から出力されたδ[θ',θ(x,y)]とを対象とした積和演算を行い、積和値Σm(x,y)δ[θ',θ(x,y)]を得て、これをθ'についての勾配度数とする積和演算器39とを含む。
(特徴量識別部9の内部構成)
図11は、特徴量識別部9の内部構成の一例を示す図である。本図の内部構成において大きな単位の構成要素については、40番代の参照符号を付している。小さな単位の構成要素については、400番代の参照符号を付している。本図に示すように特徴量識別部9は、画像特徴量計算部7から出力されたセルヒストグラムを格納して、その内部でマージするためのSRAM40と、セルヒストグラムマップにおけるブロックのX座標であるCell_Xを算出するブロック座標算出部41、セグメント内におけるブロックのY座標であるCell_Yを算出するブロック座標算出部42、ブロックの座標をアドレスに変換する座標−アドレス変換部43、変換により得られたアドレスに従い、3×3セルにあたるセルヒストグラムをSRAM40から読み出す読出制御部44、読み出された3×3セルにあたるセルヒストグラムに対して正規化を行い、次元数D(W,H)のHOG特徴量を得る正規化部45、次元数D(W,H)の特徴量のHOG特徴量と、認識辞書10に格納されている学習データとを比較することで、ウィンドウ内に認識対象が存在するかどうかを判定する識別部46とを含む。
ブロック座標算出部41は、ブロックの座標の元となるカウント値Cbxを生成するカウンタ401と、カウンタ401のカウント値Cbxと、ウィンドウの最大シフトカウント(Win_W/8-2)とを比較し、Cbxが最大シフトカウントに達すると、カウンタ401をリセットする比較器402、輝度画像セグメントの縦幅Win_Hを8で割る除算器403、除算器403の出力から2を減算することで最大シフトカウント(Win_W/8-2)を得る減算器404、カウンタ401のカウント値Cbxから1を減じる減算器406、(Cbx-1)に8を乗じることでCell_Xを得る乗算器407から構成される。Cbxが1である場合Blk_Xは「0」、Cbxが2である場合、Cell_Xは「8」、Cbxが3である場合Cell_Xは「16」、Cbxが4である場合Cell_Xは「24」となる。かかるCell_Xの算出は、Cbxが最大シフトカウント(Win_W/8-2)に達するまで続けられる。
ブロック座標算出部42は、ブロックの座標の元となるカウント値Cbyを生成するカウンタ411と、カウンタ411のカウント値Cbyと、ウィンドウの最大シフトカウント(Win_H/8-2)とを比較し、Cbyが最大シフトカウントに達すると、カウンタ411をリセットする比較器412、輝度画像セグメントの縦幅Win_Hを8で割る除算器413、除算器413の出力から2を減じることで最大シフトカウント(Win_H/8-2)を得る減算器414、カウンタ401のカウント値Cbyから1を減じる減算器416、(Cby-1)に8を乗じることでCell_Yを得る乗算器417から構成される。
Cbyが1である場合Cell_Yは「0」、Cbyが2である場合、Cell_Yは「8」、Cbyが3である場合Cell_Yは「16」、Cbyが4である場合Cell_Yは「24」となる。かかるCell_Yの算出は、Cwyが最大シフトカウント(Win_H/8-2)に達するまで続けられる。
(正規化部45の内部構成)
図12は、特徴量識別部9i1,i2,i3,i4・・・iNのそれぞれに含まれる正規化部45の内部構成を示す。式4-1は、正規化がなされた勾配度数を示す。式4-2は、正規化後のセルヒストグラムを示す。この正規化後のセルヒストグラムはB×N個の集合要素からなる。本図の内部構成において大きな単位の構成要素については、50番代の参照符号を付している。
図12に示すように、正規化器36は、セルヒストグラム内の一個の勾配度数の二乗値を算出する二乗値算出器50と、二乗値算出器50により算出された二乗値の積和値を算出する積和演算器51と、積和演算器51の出力に、定数εを足し合わせる加算器52と、加算器52の出力の平方根を算出する平方根算出器53と、平方根算出器53が算出した平方根を用いて、n番目の勾配度数vH(n)を除算する除算器54とから構成される。
(画像特徴量計算部7−特徴量識別部9間の処理分散)
図13は、画像特徴量計算部7と、特徴量識別部9とでどのように処理が分散されているかを示す。この図13において画像特徴量計算部7i1,7i2には、32×96画素の全て対象とした勾配方向、勾配強度の算出(1)と、全てのセルを対象としたセルヒストグラムの算出(2)とが割り当てられている。一方、特徴量識別部9には、32×96画素と、32×96画素とをマージするマージ処理(3)、セルヒストグラムの正規化(4)が割り当てられている。本図に示すように、画像特徴量計算部7による勾配強度及び勾配方向の算出は、ウィンドウの分割部分毎に行われ、特徴量識別部9によるセルヒストグラムの正規化は、ウィンドウ全体に対して行われる。勾配強度及び勾配方向の算出を、ウィンドウの分割部分毎に行うのは、勾配強度及び勾配方向は、ウィンドウの分割部分毎の算出で足りるからである。これに対してセルヒストグラムに対する正規化は、ウィンドウ分割部分の境界を跨いだ、全体的な処理が必要だからである。
ce1は、32×96画素のうち、画像特徴量計算部7による処理対象として選ばれた画素セルを示す。ce1内部における白抜きは線分画素列であり、客体の輪郭や表面の陰影、絵柄の有無を表す。セル内に含まれる線分画素列の勾配が、画像特徴量計算部7による処理(1)の勾配強度及び勾配方向の算出の対象になる。
画像特徴量計算部7i1,i2,i3,i4・・・iMによるセルヒストグラムの生成(2)では、これら画素セル中に出現している画素列の勾配を、その角度範囲毎に集計する。図中のcnt1は、0°の勾配をもった線分の出現度数のカウント、cnt2は、20°の勾配をもった線分の出現度数のカウント、cnt3は、120°の勾配をもった線分の出現度数のカウント、cnt4は、140°の勾配をもった線分の出現度数のカウントを示す。かかる集計により、線分勾配のヒストグラムが得られる。
図中のグラフgf1は、9次元のHOGであり、0°,20°,40°,60°,80°,100°,120°,140°,160°は、9個の勾配方向を示す。本図では、9個の勾配方向のそれぞれについての勾配の出現度数が算出されている。9次元のHOGは、8×8画素というセル内に見受けられる線分の出現数を、9個の勾配方向に分けて集計したものである。
以上が画像特徴量計算部7についての説明である。続いて、特徴量識別部9によるセルヒストグラムのマージ(3)と、ブロックシフト及びヒストグラムの正規化(4)について説明する。
(3)のセルヒストグラムのマージでは、セル毎に算出されたヒストグラムをマージすることで、64×96画素に対応するセルヒストグラムマップを得る。セルヒストグラムとは、輝度画像セグメントにおけるセル座標系に、個々のセルについて算出されたHOGを割り付けることで、画素領域内部の複数の位置において、勾配強度及び勾配方向がどのように分布しているかを示すマップ形式のデータである。
またセルヒストグラムの正規化(4)では、マージにより得られたセルヒストグラムマップにおいてブロックシフトを行い、各シフト位置において、ブロック枠で囲まれることになるヒストグラムを正規化する。図中のaw3は、正規化のためのブロックシフトの詳細を引き出して示す。正規化のためのブロックシフトは、基点座標が異なる、複数回のブロック水平スキャンsc11,sc12,sc13,sc14・・・によって構成される。図中の(0,0)(0,8)(0,16)(0,24)(0,32)(0,40)(0,48)は、ブロック水平スキャンの複数の基点座標を示す。これらの基点座標はカレントShifted Window内の相対座標である。ブロック水平スキャン時においては、これらの基点座標から、8画素ずつ、ブロックのY座標を増加させてゆく。ブロック水平スキャン時の基点座標の間隔は8画素である。またブロックの縦画素数は、24画素であるから、複数回のブロック水平スキャン時による走査範囲は、互いに重なり合う。図中のgra3は、複数回のブロック水平スキャン時による走査範囲が重なり合うことで形成される階段形状を示す。
図中の矢印aw4は、一個のウィンドウに対する複数のブロック水平スキャンのうち、一個を抜き出してその詳細を示す。図中の(0,0),(8,0)(16,0)(24,0)(32,0)は、ブロック水平スキャンにおいて、ブロックが配置される個々のシフト位置である。これらの座標の差分により、shifted blockのx座標の間隔は、8画素であることがわかる。
図13の階段形状gra4は、カレントShifted Window内のブロック水平スキャン時において、ブロックの配置位置を8画素ずつ変化させることで得られる複数のブロックの重なりを示す。ウィンドウ内の水平方向スキャンにより、24×24画素であるブロックは8画素ずつシフトするので、shifted blockは互いに重なり合い、かかる階段形状を形成する。水平方向のシフトは、6回(=(64-24)/8+1)行われる。垂直方向のシフトは、10回(=(96-24)/8+1)回なされる。1回以上のシフトがなされることで、ウィンドウ内の位置が規定されたブロックを『shifted block』という。
ブロックが各シフト位置に配置された状態において、ブロックにより囲まれる画素に対して正規化を行う。
(画像特徴量計算部7‐特徴量識別部9の構成のパターン)
横幅が広いウィンドウに対応するセルヒストグラムを処理するべく、画像供給部4は、処理対象となるセルヒストグラムマップを分割して、複数の特徴量識別部9による分散処理に供する。以下、複数の特徴量識別部9による分散処理について説明する。図8では、画像特徴量計算部7の個数が9個、特徴量識別部9の個数が4個である場合の画像認識装置1002の構成を示した。特徴量識別部9i1,i2,i3,i4のそれぞれが、画像特徴量計算部7i1,i2,i3,i4のうち連続する2つのものから、横32×縦96画素に相当するセルヒストグラムを受け取り、内部でマージして横64×縦96画素のウィンドウに相当するセルヒストグラムを処理するケースを想定する。図8で特に注意が必要なのは、画像特徴量計算部7i1,i2,i3,i4・・・i9からの出力と、特徴量識別部9i1,i2,i3,i4の入力との関係が、1対多の関係になっていることである。この1対多の関係とは、画像特徴量計算部7のうち、連続する任意のものの出力が、特徴量識別部9のそれぞれに入力されるというものである。
画像特徴量計算部7と、特徴量識別部9とに1対多の接続関係が存在することで、図14(a)〜(c)に示すパターンが現れる。
図14(a)は、特徴量識別部9i1,i2,i3,i4のそれぞれが、画像特徴量計算部7i1,i2,i3,i4のうち、連続する2つのものからセルヒストグラムを受け取り、内部でマージして横64画素×縦96画素についてのセルヒストグラムを生成する構成例を示す。この構成では、画像特徴量計算部7i1,i2,i3,i4・・・i9のそれぞれは、横32画素×縦96画素に対してセルヒストグラムを算出する。特徴量識別部9i1〜特徴量識別部9i4は、画像特徴量計算部7i1,i2,i3,i4・・・i9のうち、連続する2つのものからセルヒストグラムを受け取り、これらのセルヒストグラムを内部でマージする。
右下のmg1は、横64×縦96画素を処理するための、セルヒストグラムのマージイメージを示す。「+」は、横方向に存在する2つの横32×縦96画素について算出された2つのセルヒストグラムが、マージの対象になっていることを示す。下向きの矢印は、上記のマージにより、横64×縦96画素のセルヒストグラムが生成されることを示す。
pt1は、横方向に隣接する2つの画像特徴量計算部7i1,i2,i3,i4・・・i9から横32×縦96画素に対応するセルヒストグラムを特徴量識別部9i1,i2,i3,i4・・・i6に送り込むための供給パターンを示す。
図14(b)は、特徴量識別部9i1,i2,i3,i4のそれぞれが、画像特徴量計算部7i1,i2,i3,i4・・・i9のうち、連続する3つのものからセルヒストグラムを受け取り、内部でマージして横96×縦96画素のセルヒストグラムを生成する構成例を示す。この構成では、画像特徴量計算部7i1,i2,i3,i4・・・i9のそれぞれは、横32×縦96画素に対してセルヒストグラムを算出する。特徴量識別部9i1,i2,i3,i4・・・i6のうち、特徴量識別部9i1、i2、i4は、画像特徴量計算部7i1,i2,i3,i4・・・i9のうち、連続する3つのものからセルヒストグラムを受け取り、これらのセルヒストグラムを内部でマージさせる。
右下のmg2は、横96×縦96画素を処理するための、セルヒストグラムのマージイメージを示す。「+」は、横方向に存在する3つの横32×縦96画素について算出された3つのセルヒストグラムが、マージの対象になっていることを示す。下向きの矢印は、上記のマージにより、横96×縦96画素に相当するセルヒストグラムが生成されることを示す。
pt2は、横方向に隣接する3つの画像特徴量計算部7i1,i2,i3,i4・・・i9から横32×縦96画素に対応するセルヒストグラムが特徴量識別部9i1,i2,i3,i4・・・i6に送り込むための供給パターンを示す。破線un1は特徴量識別部9i3が使用されないことを示す。
図14(c)は、特徴量識別部9i1,i4のそれぞれが、画像特徴量計算部7i1,i2,i3,i4・・・i9のうち、連続する4つのものからセルヒストグラムを受け取り、内部でマージして横128×縦96画素のセルヒストグラムを生成する構成例を示す。この構成において特徴量識別部9i1、特徴量識別部9i4は、画像特徴量計算部7i1,i2,i3,i4・・・i9のうち、連続する4つのものからセルヒストグラムを受け取り、これらのセルヒストグラムを内部でマージさせる。破線un2,un3は、特徴量識別部9i2、特徴量識別部9i3が使用されず、またこれらにセルヒストグラムを供給する画像特徴量計算部7i5も使用されないことを示す。右下のmg3は、横128×縦96画素を処理するための、セルヒストグラムのマージイメージを示す。「+」は、横方向に存在する4つの横32×縦96画素について算出された4つのセルヒストラムが、マージの対象になっていることを示す。下向きの矢印は、上記の「+」記号に従ったマージにより、横128×縦64画素に相当するセルヒストグラムが生成されることを示す。
pt3は、横方向に隣接する4つの画像特徴量計算部7から横32×縦64画素のセルヒストグラムが特徴量識別部9i1,i2,i3,i4に送り込こむための供給パターンを示す。
画像特徴量計算部7から特徴量識別部9への供給を、(a)〜(c)に示すよう
に変化させることで、横64×縦96画素、横96×縦96画素、横128×縦64画素といった様々な大きさ・形状のウィンドウについてのセルヒストグラムを特徴量として利用することができる。
特徴量識別部9のサポートベクタマシンは、客体を構成する個々の構成要素の類型に応じた学習データTと、カレントのshifted windowについて算出された特徴量Xとを対象にして、shifted windowに、客体の構成要素が存在するかどうかの判定を行う。かかる判定のための特徴量識別部9の内部構成について説明する。学習データと、特徴量とから、客体の有無を判定するサポートベクタマシンの構成には、様々なアルゴリズムに依拠したものがある。本実施形態では、ハードマージンサポートベクタマシン、ソフトマージンサポートベクタマシン、カーネルベースサポートベクタマシンの何れかで特徴量識別部9を構成する。
図15は、ハードウェアサポートベクタマシンとして識別部46を構成する場合の内部構成を示す図である。図15において「polar」は極性判定器を意味する。polarは図16以降の図面にも登場するが、各記号の意味は以降の図でも同じである。図中の式5-1は、新たなサンプルである特徴量Xが、正例、負例の何れかに属するかを決定付ける決定関数f(x)を示す。当該決定関数は、変数項vfcと、定数項cfcとを含む。識別部46は、分離超平面法線ベクトルの転置ベクトル(図中のwT)を算出して、決定関数の変数項を得る変数項算出回路55と、決定関数の定数項を算出する定数項算出回路56と、学習データの中から、必要な要素を選んで、これらに出力するセレクタ57と、変数項と、定数項とを加算する加算器58と、加算器58による出力の極性を判定する極性判定回路59とで構成される。
変数項算出回路55は、セレクタから出力された学習データ要素のうち、サンプル座標と、符号値との乗算行う乗算器60と、乗算器60の乗算結果に、係数αを乗じる乗算器61と、学習データにおける全ての要素について、乗算器61による乗算結果の積算を行う積和演算器62と、積和演算器62の演算結果である法線ベクトルの転置ベクトルに、決定関数への入力であるXを乗じる乗算器63とを含み、決定関数の可変項を出力する。
定数項算出回路22は、正例サポートベクタ(X+)と、負例サポートベクタ(X-)とを加算する加算器64と、転置ベクトルと、加算器64により出力されたサポートベクタの加算結果と、-1/2との乗算を行う乗算器65とを含み、定数項bを出力する。
図16は、決定関数の意味内容を示す図である。図中の式5-3は、認識辞書に格納されている学習データ集合の構成を示す。学習データ集合は、n次元空間の座標値である要素[X1,X2,X3,X4,X5・・・・Xn]と、その要素の符号値[Y1,Y2,Y3,Y4・・・・Yn]とからなる。符号値Yは、対応する要素が、正例クラス、負例クラスの何れかに帰属するかを示す。図16右側の座標系は、学習データ集合の各要素がプロットされる。図中の黒丸は、当該座標系にプロットされた要素の座標位置を示す。かかる座標系において、学習データの要素(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4),(X5,Y5)・・・・は、平面suf1により2つのクラスに分離される。符号値Yは、各要素が、この何れのクラスに帰属するかを示す。
suf1は分離超平面である。これは正例サンプルの分布、負例サンプルの分布のちょうど真ん中に配置せねばならない。式6は、分離超平面を規定する数式である。
suf2は、分離超平面と最短距離にある正例要素(サポートベクタX+という)を通る正例支持超平面であり、式6-1は、正例支持超平面を規定する数式である。suf3は、分離超平面と最短距離にある負例要素(サポートベクタX-という)を通り、かつ、分離超平面と平行な面を通る負例支持超平面であり、式6ー2は、負例支持超平面を規定する数式である。
図中のderiv1は、式5-1における決定関数の変数項において、入力値xに乗じられる転置ベクトルが、どのように導出されたかという算出の経緯を示す。この転置ベクトルの元となる法線ベクトルは、超平面の法線ベクトルであり、座標系における要素の座標xiと、当該要素の符号値Yiと、係数αiとを乗じたものを、学習データ集合の全ての要素について足し合わせることで算出されることを示す。集合要素のそれぞれに乗じられる係数αiは、2つの支持超平面との距離(マージン)を最小化するものである。
図中のderiv2は、決定関数の定数項bが、どのように導出されたかという算出の経緯を示す。かかる定数項は、正例サポートベクタ(X+)と、負例サポートベクタ(X-)との和に、転置ベクトルと、-1/2とを乗じることで算出されることを示す。
Lh(x)は、特徴量xと、分離超平面との距離に応じた尤度を示す。ここで「尤度」は、超分離平面による特徴量Xの分類の確からしさを意味する。特徴量xと、分離超平面との距離が長いということは、超分離平面による特徴量Xの分類の確からしさが高いことを意味し、特徴量Xについての尤度が高いことを意味する。特徴量xと、分離超平面との距離が短いということは、超分離平面による特徴量Xの分類が曖昧であり、特徴量Xについての尤度が低いことを意味する。以降の説明では、特徴量xと、分離超平面との距離を、特徴量の尤度として扱う。
以上がハードマージンサポートベクタマシンとして構成する場合の識別部46の内部構成である。続いて、識別部46をソフトマージンサポートベクタマシンとして構成する場合の詳細について説明する。
ハードマージンサポートベクタマシンと、ソフトマージンサポートベクタマシンとの違いは、学習データ要素の分離の仕方の違いである。つまり、ハードマージンサポートベクタマシンは、空間座標系内に定義された「平面」によって学習データ要素を分離するのに対し、ソフトマージンサポートベクタマシンは、正例要素と、負例要素とが複雑に入り組んだ「超曲面」によって学習データの要素が分離されるという違いである。
図17は、ソフトマージンサポートベクタマシンとして構成される識別部46の内部構成を示す図である。図中の式7は、ソフトマージンサポートベクタマシンにおける決定関数を表す数式である。式8は、式7の決定関数における定数項bを規定する数式である。
ソフトマージンサポートベクタマシンとして構成される識別部46は、学習データ集合における全ての要素座標と、学習データ集合における全ての符号値との積和演算を行う集合積和演算回路66と、決定関数の定数項を算出する定数項算出回路67と、学習データの中から、必要な要素を選んで、これらに出力するセレクタ68a,b,cと、変数項と、定数項との加算を行う加算器69と、加算器69の出力値の極性を判定する極性判定回路70とを備える。
集合積和演算回路66は、学習データ集合の要素座標Xi,Yiを転置することで得られる転置座標に、学習データ集合の符号値Yiを乗じる乗算器71と、その乗算結果に、係数αiを乗じる乗算器72と、学習データ集合における一要素の転置座標と、学習データ集合における一要素の符号値Yiとに対して積和演算を行い、演算結果を出力する積和演算器73と、積和演算器73の出力に、決定関数の入力値である特徴量Xを乗じる乗算器74とを含む。
定数項算出回路67は、正例サポートベクタに、学習データ集合要素の転置座標を乗じる乗算器75と、乗算器75の乗算結果に、学習データ集合の1つの要素の符号値と、係数αiとを乗じる乗算器76、77と、負例サポートベクタに、学習データ集合要素の転置座標を乗じる乗算器78と、乗算器78の乗算結果に、学習データ集合の1つの要素の符号値Yiと、係数αiとを乗じる乗算器79、80と、乗算器77の出力と、乗算器80の出力とを加算する加算器81と、学習データ集合に含まれる全ての要素の座標及び符号値について、加算器81の加算結果を積算するという処理を実行する積和演算器82と、積和演算器82の出力に、-1/2を乗じる乗算器83とを含む。
以上がソフトマージンサポートベクタマシンについての説明である。続いて、カーネルベースサポートベクタマシンとして特徴量識別部9を構成する場合の特徴量識別部9の内部構成について説明する。
正例要素と、負例要素とが複雑に入り組み、超曲面を構成する場合が多い。しかし、n次元の入力空間において、正例要素、負例要素が複雑に入り組んでいる場合でも、入力空間のn次元データを、特徴空間のm次元データ(m>n)に変換すれば、サポートベクタマシンの適用が可能になる。n次元入力空間を、m次元特徴空間に写像する関数をΦ(x)とすると、サポートベクタマシンに適用されるべき学習データDは、以下のサンプル座標集合Tと、符号集合Zとにより定義される。
T=(Φ1(X1),Φ2(X2),Φ3(X3)・・・・Φm(Xm))、Z=(Z1,Z2,Z3・・・・Zm)
カーネルベースサポートベクタマシンでは、カーネル関数Φを用いることで、m次元特徴空間における決定関数による決定を簡易化する。ここでカーネル関数Φとしては、多項式カーネル、ラジアル基底関数カーネル(ガウシアンカーネル)、双曲線正接カーネルが良く知られている。
特徴量識別部9をカーネルベースサポートベクタマシンとして構成する場合の詳細について説明する。図18は、カーネルベースサポートベクタマシンとして識別部46を構成する場合の識別部46の内部構成を示す。
図中の式10は、カーネルベースサポートベクタマシンにおける決定関数を表す数式である。式11は、式10の決定関数における定数項bを規定する数式である。
本図に示すように、識別部46は、決定関数の変数項を算出する変数項算出回路86と、決定関数の定数項を算出する定数項算出回路87と、変数項算出回路86及び定数項算出回路87に対して学習データ集合の必要な要素の座標、符号値を出力するセレクタ88a,b,cと、変数項算出回路86の出力と、定数項算出回路87の出力とを加算する加算器89と、加算器89の出力の極性を判定する極性判定回路90とを含む。
変数項算出回路86は、学習データ集合の任意の要素の座標と、決定関数の入力値Xとに対して、カーネル関数の演算を行い、演算結果を出力するカーネル演算器91と、カーネル演算器91の出力結果に、学習データ集合の任意の要素の符号値Yiを乗じる乗算器92と、乗算器92の出力に、係数αiを乗じる乗算器93と、学習データ集合に属する全ての要素について、乗算器93の出力の積算を行う積和演算器94とを含む。
定数項算出回路87は、正例サポートベクタX+と、任意の要素Xiとを対象としてカーネル関数の演算を実行し、出力するカーネル演算器95aと、カーネル演算器95aの出力に、学習データ集合における任意の要素の符号値Yiを乗じる乗算器96aと、乗算器96aに、係数αを乗じる乗算器97aと、負例サポートベクタ(X-)と、任意の要素Xiとを対象としてカーネル関数の演算を実行し、出力するカーネル演算器95bと、カーネル演算器95bの出力に、学習データ集合における任意の要素の符号値Yiを乗じる乗算器96bと、乗算器96bの出力に、係数αiを乗じる乗算器97bと、乗算器97bの出力と、乗算器97aの出力とを加算する加算器97cと、学習データ集合に含まれる全ての要素について、加算器97cによる加算結果の積算を行う積和演算器98と、積和演算器98の出力に、-1/2を乗じる乗算器99とを備える。なお、カーネルベースサポートベクタマシンに代えて、インターカーネルサポートベクタマシンを用いて識別部46を構成してもよい。
以上が 識別部46をサポートベクタマシンとして構成する場合の内部構成についての説明である。
(認識辞書の構成)
次に、可変次元数のHOGである特徴量Xと共に用いられる認識辞書10の構成について説明する。
図19(a)は、認識辞書10の構成を示す図である。認識辞書は、統一形式のレコードを複数配置することで構成される。このレコードは、構成要素の類型(図中のtype1,2,3,4・・・)と、学習データ(図中のT1,T2,T3,T4・・・・Tm)とから構成される。個々のレコードは、学習データに、類型を対応付けているので、構成要素の類型が与えられれば、その類型に対応する学習データを取り出すことができる。
学習データは、オンライン学習の過程で入力された様々な認識モデルを対象にして生成されている。学習データの元になった認識モデルを明示すべく、学習データには類別の項目が設けられている。新規に入力される特徴量の次元数は可変長であるが、その次元数は、式2に示したように構成情報のウィンドウ検索情報に規定された横幅、縦幅に応じたものとなる。一方、学習データの次元数も、オフライン学習の過程で使用した、何等かの類別の画像サンプルの横幅、縦幅に応じた値になっている。
構成情報のウィンドウ検索情報には、構成要素の類別が記載されており、同様の類別が認識辞書10の個々の学習データにも存在するから、認識辞書10の学習データのうち、新規に入力される特徴量の類別と合致するものを選んで、新規に入力される特徴量との対比に用いる。特徴量との対比にあたって、同じ類別の学習データを用いることで、特徴量と、当該特徴量との対比に利用される学習データとで、次元数を整合させることができる。
図19(b)は、構成情報設定部12から認識辞書10に対してなされる構成要素の類別の指定と、当該指定に基づく、認識辞書10から特徴量識別部9i1,i2,i3,i4・・・・i73への学習データの供給とを示す。本図におけるins2は、客体2の基本となる構成要素1を対象としたWindow検索情報の類別(type3)を特徴量識別部9i1,i2,i3,i4・・・・i73に供給するよう、認識辞書10に指示するものである。out2は、当該指示に応じた認識辞書10から特徴量識別部9i1,i2,i3,i4・・・・i73への学習データT3の供給を示す。以上の供給により、特徴量識別部9i1,i2,i3,i4・・・・i73には客体を構成する個々の構成要素の類型に応じた学習データが供給されることになる。
(客体認識部11の内部構成)
図20は、客体認識部11の内部構成を示す構成図である。この構成図は特に、図5(b)に示した式1の演算を実行するために構成されている。図中ge1は、ウィンドウ位置関係基準からのX_max、Y_max、X_min、Y_minの取得を示す。ge2は、サーチ領域リストに示される局所領域であって、基本となる構成要素を包含するとされるものの中心座標(X1,Y1)、及び、補助的な構成要素を包含するとされるものの中心座標(X2,Y2)の取得を示す。
図20において加算器111〜論理積演算器117は、式1のうちX1+X_min≦X2かつX1+X_max≧X2の要件が成立するか否かを判定する。
具体的にいうと、X1+X_min≦X2かつX1+X_max≧X2の成否を判定する回路群は、ウィンドウ位置関係基準のX_minと、基本となる構成要素を包含するとされた局所領域の中心位置の座標X1とを加算する加算器111、補助的な構成要素を包含するとされた局所領域の中心位置の座標X2から加算器111による加算結果を減じる減算器112、減算器112による減算結果の極性(正負)を判定する極性判定器113、ウィンドウ位置関係基準のX_maxと,基本的な構成要素1の中心位置の座標X1とを加算する加算器114、加算器114による加算結果からX2を減じる減算器115、減算器115による減算結果の極性(正負)を判定する極性判定器116、極性判定器113の出力と、極性判定器116の出力との論理積を算出する論理積演算器117とを含む。
加算器121〜論理積演算器127は、式1のうちY1+Y_min≦Y2かつY1+Y_max≧Y2の要件が成立するか否かを判定する。
具体的にいうと、Y1+Y_min≦Y2かつY1+Y_max≧Y2の成否を判定する回路群は、ウィンドウ位置関係基準のY_minと、基本となる構成要素を包含するとされた局所領域の中心位置の座標Y1とを加算する加算器121、補助的な構成要素を包含するとされた局所領域の中心位置の座標Y2から加算器121による加算結果を減じる減算器122、減算器122による減算結果の極性(正負)を判定する極性判定器123、ウィンドウ位置関係基準のY_maxと,基本的な構成要素1の中心位置の座標Y1とを加算する加算器124、加算器124による加算結果からY2を減じる減算器125、減算器125による減算結果の極性(正負)を判定する極性判定器126、極性判定器123の出力と、極性判定器126の出力との論理積を算出する論理積演算器127とを含む。
論理積演算器128は、論理積演算器117の出力と、論理積演算器127の出力との論理和を算出し、算出結果が正であれば、(X1,Y1)を中心位置とした局所領域と、(X2,Y2)を中心位置とした局所領域との組合せは、ウィンドウ位置関係基準を満たすとの判定結果を下す。
以上が画像認識装置1002の構成要素についての説明である。本実施形態の画像認識装置1002では、認識対象をその構成要素毎に認識するから、個々の構成要素についてウィンドウスキャンを行う必要がある。この構成要素についてのウィンドウスキャンには、セグメント全域スキャン、全域−部分域組合せスキャン、構成要素交互スキャンがある。
(ウィンドウスキャンの方式)
認識対象が、信号機である場合を一例に挙げて、これらの走査方式について説明する。 図21は、セグメント全域スキャンを示す。図21(a)は、信号機の柱部分を包含するよう縦幅、横幅が設定されたウィンドウによる全域スキャンを示す。信号機の柱部分は縦長形状であるから、ウィンドウは縦長形状に設定される。図21(a)では、信号機の柱部分を包含するよう、ウィンドウを縦長形状に設定してセグメントの全域をスキャンする。hs11,12,13は、縦長ウィンドウの水平方向のシフトを示す。vs11,vs12は、ウィンドウの垂直方向のシフトを示す。図21(b)は、この全域スキャンの過程で発見された信号機の柱部分を示す。
図21(c)は、信号機の三色灯を包含するよう、縦幅、横幅が設定されたウィンドウによる全域スキャンを示す。三色灯の形状は横長であるから、ウィンドウの形状は、横長形状に設定される。図21(c)では、ウィンドウをこのように横長形状に設定して、ウィンドウの水平方向のシフトhs1,2,3,4と、ウィンドウの垂直方向のシフトvs1,2,3とを、セグメントの全域について繰り返す。図21(d)は、この全域スキャンの過程で発見された信号機の三色灯部分を示す。以上がセグメント全域スキャンについての説明である。
続いて、全域−部分域組合せスキャンの詳細について説明する。
図21(e)〜(h)は、全域−部分域組合せスキャンの処理手順を示す。信号機の三色灯部分を包含するようウィンドウを設定して、セグメント全域スキャンを行う点は、図21(a)〜(d)と同じである。差異は、柱部分についてのスキャン範囲に存在する。柱部分についてのスキャン範囲の差異とは、図21(c)では、三色灯部分についてセグメント全域を対象としたスキャンを実行していたのに対し、図21(g)では、全域−部分域組合せスキャンでは、柱部分を包含しているとして発見された局所領域の中心座標(xi,yi)を基準として、上下方向はY_maxの範囲、左方向には2・X_maxの範囲で、横長ウィンドウについてのスキャンを行う点である。座標(xi,yi)を基準としたY_max、2・X_maxの範囲で、横長ウィンドウについてのスキャンがなされるので、補助的な構成要素2についてのスキャン範囲は、狭く制限される。全域−部分域組合せスキャンでは、これにより、三色灯部分の早期発見を期待することができる。
図21(i)〜(l)は、構成要素交互スキャンの過程を示す。図21(i)は、構成要素交互スキャンにおける一回目のシフトを示す。この一回目のシフトにおいて、縦長ウィンドウにより囲まれる画素に対する認識と、横長ウィンドウにより囲まれる画素の認識とが実行される。図21(j)は、2回目のシフト、図21(k)は3回目のシフトを示す。図21(l)は、複数回の縦長ウィンドウ、横長ウィンドウのシフトを経ることで縦長ウィンドウ、横長ウィンドウが信号機の場所に到達した状況を示す。
最初のスキャンに用いられる縦長ウィンドウと、二回目のスキャンに用いられる横長スキャンとを組合せると、信号機を囲む逆L字の図形を表現することになる。構成要素交互スキャンは、この逆L字の図形により、画像をスキャンするものである。
ウィンドウラスタスキャンにより局所領域がサーチ領域リストに記載されると、客体認識部11がサーチ領域リストに記載された局所領域座標に従い、総合判断を行う。以下、客体認識部11による総合判断について説明する。ここでの説明は、図22の事例を処理対象として想定する。図22で想定している事例とは、基本となる構成要素1を対象とした1回目のウィンドウラスタスキャンで3つの局所領域座標が発見され、補助的な構成要素2を対象とした2回目のウィンドウラスタスキャンで3つの局所領域座標が発見されたというものである。
図22(a)は、ウィンドウラスタスキャンのスキャン結果を示す。(a)は、基本となる構成要素1を対象としたウィンドウラスタスキャンのスキャン結果と、補助的な構成要素2を対象としたウィンドウラスタスキャンのスキャン結果とを示す。これらのスキャン結果は、基本となる構成要素1をサーチするためのスキャンで発見された複数の局所領域と、補助的な構成要素2をサーチするためのスキャンで発見された複数の局所領域とを互いに重ね合わせたものである。
図22(b)は、互いに重なり合う局所領域を示す。図中の(x1a,y1a)、(x1b,y1b)、(x1c,y1c)は、3つの局所領域ar4,ar5,ar6の中心位置である。(x2a,y2a)、(x2b,y2b)、(x2c,y2c)は、3つの局所領域ar1,ar2,ar3の中心位置である。
補助的な構成要素2の局所領域座標は3つであり、基本となる構成要素1の局所領域座標は3つであるから、ウィンドウ位置関係基準を満たすかどうかが、9個の局所領域座標の組合せのそれぞれについて判断されることになる。
図22(c)は、局所領域座標の組合せを、ウィンドウ位置関係基準に適用した場合の客体認識部11による判定結果を表形式で示す図である。本図に示される局所領域座標は、基本的な構成要素1を包含しているとされた3つの局所領域の中心座標(x1a,y1a)、(x1b,y1b)、(x1c,y1c)、及び、補助的な構成要素2を包含しているとされた3つの局所領域の中心座標(x2a,y2a)、(x2b,y2b)、(x2c,y2c)である。
(x1c,y1c)は、基本的な構成要素を包含するとされた3つの局所領域の中心座標のうち、一番右側に位置しており、(x2a,y2a)は、補助的な構成要素を包含するとされた3つの局所領域の中心座標のうち、一番左側に位置しているから、中心座標間の距離は、(x1c,y1c)と、(x2a,y2a)との組合せが一番長くなる。よって、(x1c,y1c)と、(x2a,y2a)との組合せでは、その中心座標間の距離が、ウィンドウ位置関係基準を満たすことになる。図19(c)の表では、(x1c,y1c)と、(x2a,y2a)との組合せが、ウィンドウ位置関係基準を満たすことが明示されている(図中のtrue)。
(x2b,y2b)、(x2c,y2c)は、(x2a,y2a)よりも右側に位置するので、図19(c)の表において、(x1c,y1c)と、(x2a,y2a)との組合せ以外の組合せは全て、ウィンドウ位置関係基準を満たさないことが明示されている(図中のfalse)。
以上のように、ウィンドウによるスキャンで発見された局所領域の中心座標の組合せの中から、ウィンドウ位置関係基準を満たすものを選ぶことで、実際の認識対象の形状に近い、局所領域の組合せを特定することができる。図22(d)は、(x1c,y1c)を中心として配置された局所領域と、(x2a,y2a)を中心として配置された局所領域とを示す。
以下、図23(a)〜(e)を参照しながら、セグメント全域スキャンを実行する場合における、画像認識装置1002の構成要素間の入出力について説明する。
かかる説明は、基本的な構成要素1である信号機の柱部分をサーチするためのセグメント全域スキャン(図23(a))、基本的な構成要素1である信号機の柱部分を包含する局所領域の発見(図23(b))、補助的となる構成要素2である信号機の三色灯部分をサーチするためのセグメント全域スキャン(図23(c))、信号機の三色灯部分を包含する局所領域の発見(図23(d))、認識で発見された局所領域の全体的な位置関係に応じた総合判断(図23(e))という5つのフェーズから構成される。
図23(a)は、信号機の柱部分を包含するよう縦幅、横幅が設定されたウィンドウによるラスタスキャンを示す。図23(a)の右側は、ラスタスキャンにあたっての構成要素間の入出力を示す。矢印set1,2は、構成情報設定部12による設定を示す。この設定は、画像供給部4に対する縦幅、横幅によるウィンドウ形状の指定と、認識辞書10に対する学習データの類型設定とを示す。out1は、特徴量識別部9から客体認識部11への出力を示す。この出力は、補助的な構成要素2を包含するとされた局所領域を指定するもので、当該局所領域の座標(x,y)、横幅Win_W、縦幅Win_H、尤度Lhを含む。引き出し線pu1は、柱部分を包含するよう縦幅、横幅が設定されたウィンドウによるラスタスキャンの軌跡を引き出して示す。
図23(b)は認識結果の出力時における構成要素間の入出力を示す。図23(b)の右側は、このように複数の局所領域がえられた場合の画像認識装置1002における複数の構成要素間の入出力を示す。引き出し線pu2は、基本的な構成要素1を包含するとして検出された複数の局所領域を引き出して示す。上記の入出力のうち、矢印wr1は、客体認識部からサーチ領域リストへの認識結果(局所領域の縦幅、横幅、座標(x,y))の追記を示す。本図に示すように、認識結果として3つの局所領域が発見されれば、その3つの局所領域についてのデータが、サーチ領域リストのエントリーとして追加される。
図23(c)は、三色灯部分についてのスキャンを示す。図23(a)と比較すると、以下の点が異なる。第1にスキャンの対象が異なる。これは、図23(a)では構成要素を包含するようウィンドウを縦長形状に設定していたのに対し(set1,set2)、図23(c)では、ウィンドウを横長のものに設定している(set3,set4)というものである。これに併せて、画像供給部4に対する縦幅、横幅の設定も、三色灯部分を包含するように横長のものに設定されている。引き出し線pu3は、三色灯部分をサーチするためのウィンドウラスタスキャンを示す。out3は、三色灯部分を発見した際の特徴量識別部9から客体認識部11への出力を示す。
図23(d)は認識結果の出力時における構成要素間の入出力を示す。図23(d)の右側は、このように複数の局所領域がえられた場合の画像認識装置1002における複数の構成要素間の入出力を示す。引き出し線pu4は、補助的な構成要素2を包含するとして検出された複数の局所領域を引き出して示す。矢印wr2は、客体認識部11からサーチ領域リストへの認識結果(局所領域の縦幅、横幅、座標(x,y))の追記を示す。
図23(e)は、複数局所領域の全体的な位置関係に応じた認識結果の決定を示す。ref1は、サーチ領域リストに記載されている座標の参照を示す。ref2は、構成情報に示されるwindow位置関係基準の参照を示す。res1は、局所領域の座標と、縦幅、横幅との組合せに応じた総合判断の出力を示す。引き出し線pu5は、位置関係が適切であると判定された基本的な構成要素と、補助的な構成要素との組合せを引き出して示す。
以上が、構成要素について、画像認識を行う場合の具体例についての説明である。
これまでに述べた、画像認識装置1002の構成要素の処理内容は、様々な外部事象や装置の内部パラメータに応じた、ハードウェア資源に対する処理手続きとして一般化することができる。そのような一般化された処理手続きを示すのが、図24〜図26のフローチャートである。
図24は、画像認識装置1002の全体手順を示すフローチャートである。本フローチャートは、ステップS1は、カメラ装置1001からのフレーム画像の入力待ちであり、もしフレーム画像の入力があれば、ステップS2において入力されたフレーム画像をカレントフレーム画像とし、当該カレントフレーム画像を水平方向に3分割、垂直方向に3分割することで9個のセグメントを得て、個々のセグメントについて、ステップS3、ステップS3'からなるループを実行する。このループは、カレントフレーム画像を構成する複数のセグメントのそれぞれについて、ステップS4〜ステップS7の処理を繰り返すものである。このステップS4〜ステップS7の処理とは、コンフィグレーション情報におけるスキャン方式の指定に従い(ステップS4)、セグメント全域スキャン(ステップS5)、全域−部分域組合せスキャン(ステップS6)、構成要素交互スキャン(ステップS7)を選択的に実行するものである。
何れかの方式によるスキャンがセグメントのそれぞれについて実行されれば、ステップS8において、カレントフレーム画像を構成するセグメントのどれかに、認識対象が存在するかどうかの判定を行う。何れかのセグメントが認識対象を包含している場合、ステップS9において、カレントフレーム画像のうち、各構成要素を包含するとされた局所領域を囲み、ステップS1によるフレーム画像の入力待ちに戻る。
以上のステップS3〜ステップS7のループにより、ウィンドウラスタスキャンによる個々のシフト位置において、shifted windowを特徴付ける特徴量が算出され、shifted windowにおける人物像の有無が、当該特徴量に基づき判定される。
ステップS5はサブルーチン化されており、より詳細な処理手順に展開できる。図25は、セグメント全域スキャンの処理手順を示すフローチャートである。変数iは、構成情報に含まれる複数の構成要素のそれぞれを指示する変数である。X_Start、Y_Startは、カレントウィンドウの初期位置のX座標、Y座標を示す。X_End、Y_Endは、カレントウィンドウの終了位置のX座標、Y座標を示す。
図25のフローチャートは、ホスト装置1003により設定された複数の構成情報の中から1つを選んで(ステップS21)、ステップS22〜ステップS35からなるループ処理を実行する。当該ループ処理は、変数iを制御変数としている。変数iは、複数の構成要素のうち、処理対象とされている1つのものを特定する変数である。上記ループは、ステップS22において当該変数iを1に初期化し、その後、認識対象を構成する複数の構成要素のうち、変数iにより指定されるものを、ステップS23からステップS34までの処理に供する。
変数iで特定される構成要素iについて実行される処理内容を説明する。先ずステップS23において、選択された構成情報内の構成要素iの縦幅Win_H、横幅Win_Win_Wをカレントウィンドウの縦幅、横幅として決定し、ステップS24では、構成要素iの類型を認識辞書10に設定する。ステップS25では、横幅Win_Win_Wを32で割って、その商をHcとする。続くステップS26では、横方向に位置するHc個の画像特徴量計算部7を1個の特徴量識別部9の供給元として選択するよう、画像特徴量計算部7i1,i2,i3・・・・iMから特徴量識別部9i1,i2,i3,i4・・・・iNへの供給経路を規定する。
ステップS27ではX_Startをセグメント原点のX座標「0」に設定すると共に、Y_Startをセグメント原点のY座標「0」に設定する。ステップS28ではX_Endをセグメント原点のX座標である639-Win_Wに設定すると共に、Y_Endをセグメント原点のY座標である359-Win_Hに設定する。以上の設定後、(X_Start、Y_Start)から(X_End、Y_End)までのスキャンを実行する(ステップS29)。次に、ステップS30において、画像特徴量計算部7による特徴量算出、特徴量識別部9による識別を実行させ、ステップS31に移行する。ステップS31は、決定関数の関数値である符号が正になった特徴量識別部9(i)が特徴量識別部9i1,i2,i3,i4・・・・iNの中に存在するかどうかの判定である。存在しなければ、当該ステップS31がNoになりループを抜けて、フローチャートの処理を終了する。もし存在すれば、ステップS31がYesになり、ステップS32に移行して、特徴量識別部(i)の識別子を、ウィンドウ中心位置のXY座標(Xi,Yi)に変換する。その後、ウィンドウ中心位置のXY座標(Xi,Yi)、カレントウィンドウの縦幅Win_H、横幅Win_W、構成要素(i)の類型type(i)、尤度Lh(i)を、サーチ領域リストのエントリーに追記する(ステップS33)。
ループの終了要件は、当該変数iが、選択された構成情報における構成要素の総数以上になることである(ステップS34)。変数iが1であれば、ステップS34はNoになり、ステップS35に移行する。当該ステップS35では、変数iを増加させて、次の構成要素を処理対象にする。これにより処理は、ステップS23にまで戻る。ステップS35による変数iの増加で、2番目以降の構成要素が処理に供されることになる。ループが複数回繰り返され、変数iが総数以上になると、ループ終了要件を規定するステップS34がYesになってループを抜ける。
以上の処理が、選択された構成情報を構成する全ての構成要素について繰り返される。ステップS34の終了条件が満たされた場合、ステップS36に移行し、複数の局所領域の全体的な位置関係に応じて総合判断を行う。
図25のステップS36(局所領域の位置的関係に応じた総合判断)もサブルーチン化されており、より詳細な処理手順に展開することができる。その展開がなされた処理手順を示したのが図26(a)のフローチャートである。図26(a)は、局所領域の位置的関係に応じた総合判断手順を示すフローチャートである。図24のフローチャートのステップS37〜ステップS39は、変数iを制御変数としたループを規定する。ステップS37は、サーチ領域リストの全ての組合せの中に、構成情報におけるウィンドウ位置関係基準を満たすものが存在するかどうかの判定である。存在する場合、サーチ領域リストに示される複数の局所領域は、認識対象を表すとの認識結果を下して、サーチ領域リストをリターンする(ステップS38)。存在しない場合、サーチ領域リストに示される複数の局所領域は、認識対象を表さないとの認識結果を下して、サーチ領域リストをリターンする(ステップS39)。
ここで、ステップS29における、(X_Start、Y_Start)から(X_End、Y_End)までのウィンドウラスタスキャンもサブルーチン化されており、より詳細な処理手順に展開することができる。その展開がなされた処理手順を示したのが図26(b)のフローチャートである。
図26(b)は、ウィンドウラスタスキャンの処理手順を示すフローチャートである。本フローチャートにおいてWin_Xは、shifted windowの基点(ウィンドウの左上位置)のX座標を示す変数であり、Win_Yは、shifted windowの基点のY座標を示す変数である。Win_X、Win_Yは以降のフローチャートにも登場するが、これらのフローチャートのWin_X、Win_Yの意味は上記の通りである。図26(a)のフローチャートは、Win_Xについての内周ループ、Win_Yについての外周ループによって構成される。
内周ループは、Win_XをX_Startで初期化した後(ステップS42)、shifted window(Win_X、Win_Y、Win_H、Win_W)を対象としたHOG特徴量の計算を実行し(ステップS43)、その後、ステップS44を実行する。
判定ステップS44は、内周ループの終了要件を規定するものであり、変数Win_Xが、X座標の最大値であるX_End以上になったか否かを判定する。変数Win_XがX_Startであれば、ステップS44は、Noになり、ステップS45に移行する。当該ステップS45は、変数Win_Xを増加させて、次のshifted windowを処理対象にする。以降、処理は、ステップS43にまで戻る。ステップS45による変数の増加で、2番目以降のshifted windowが処理に供されることになる。ループが複数回繰り返され、変数Win_XがX_End以上になると、ループ終了要件を規定するステップS44がYesになって内周ループを抜ける。
外周ループは、Win_YをY_Startで初期化して(ステップS41)、内周ループであるステップS42〜ステップS45を実行し、その後、Win_YがY_end以上になったかどうかを判定して(ステップS46)、Win_YがY_end以上ではない場合、Win_Yに8を加算する(ステップS47)という処理を、ステップS46がYesと判定されるまで繰り返すものである。
判定ステップS46は、外周ループの終了要件を規定するものであり、変数Win_Yが、Y座標の最大値であるY_End以上になったか否かを判定する。変数Win_YがY_Startであれば、ステップS46は、Noになり、ステップS47に移行する。当該ステップS47は、変数Win_Yを増加させて、次のshifted windowを処理対象にする。以降、処理は、ステップS42にまで戻る。ステップS47による変数の増加で、2番目以降のshifted windowが処理に供されることになる。ループが複数回繰り返され、変数Win_YがY_end以上になると、ループ終了要件を規定するステップS46がYesになって外周ループを抜ける。
この内周ループ、外周ループの実行により、横方向シフト位置のそれぞれで、shifted windowを対象とした特徴量が算出される。
図26(b)のshifted window(Win_X、Win_Y、Win_H、Win_W)を対象としたHOG特徴量の計算(ステップS43)も、サブルーチン化されており、より詳細な処理手順に展開できる。展開がなされたブロックラスタスキャンの処理手順を示したのが図27のフローチャートである。
図27は、Shifted window(Win_X、Win_Y、Win_H、Win_W)領域のHOG特徴量計算手順を示すフローチャートである。本フローチャートにおいてステップS50では、ウィンドウをHc個に分割することで得られた分割部分のそれぞれを、供給元となる画像特徴量計算部7のそれぞれに供給し、ステップS51では、分割部分の全ての画素に対して勾配強度と、勾配方向を算出する。ステップS52では、8×8画素(セル毎)の勾配方向毎に勾配強度をまとめることでセルヒストグラムを得る。
ステップS53ではWin_Wを8で割って2を引いた値をCell_Y_Endに設定し、ステップS54では、Win_Hを8で割って2を引いた値をCell_Y_Endに設定する。
これ以降は、Cell_Xを対象とした内周ループ、Cell_Yを対象とした外周ループから構成される。内周ループは、Cell_Xを0で初期化して(ステップS56)、(Cell_X、Cell_Y)を左上座標とした3×3セルに対応するセルヒストグラムを正規化する(ステップS57)。以降、Cell_Xがブロック終端画素のX座標(Cell_X_End)に到達したかどうかを判定する(ステップS58)。
変数Cell_Xが0であれば当然ステップS58はNoになりステップS59に移行する。ステップS59は、Cell_Xをインクリメントして、次の3×3セルに対応するセルヒストグラムを処理対象にする。以降、ステップS57にまで戻る。ステップS59による変数の増加で、2番目以降の3×3セルが処理に供されることになる。ループが複数回繰り返され、変数Cell_XがCell_X_End以上になると、ループ終了要件を規定するステップS58がYesになってループを抜ける。以上が内周ループについての説明である。
外周ループは、Cell_YをY0で初期化した後(ステップS55)、内周ループを実行し、内周ループが終了した後、Cell_YがCell_Y_Endに到達したかどうかを判定する(ステップS60)、Cell_YがCell_Y_Endでない場合、Cell_Yに1を加算して(ステップS61)、ステップS56に戻る処理を、Cell_YがCell_Y_End以上になるまで繰り返す。外周ループが一巡する度に、81次元の勾配度数からなる81次元HOGが、一行分のシフト位置のそれぞれについて算出される。
外周ループが終了すると、81次元HOGを連結することで次元数D(W,H)のHOGを得てリターンする。以上がウィンドウラスタスキャン、ブロックラスタスキャンについての説明である。
続いて、全域−部分域組合せスキャンの詳細について説明する。全域−部分域組合せスキャン(図24のステップS6)はサブルーチン化されており、より詳細な処理手順に展開することができる。図28は、全域−部分域組合せスキャンの手順を示すフローチャートである。本フローチャートは、図25のフローチャートをベースにして作成されている。コンフィグレーション情報における複数の構成情報の中から1つを選んで、その1つ目の構成情報に示される構成要素について全域スキャンを実行し、当該構成要素を包含している局所領域の座標や縦幅、横幅をサーチ領域リストに追加する点は、図25と同じである。しかし、以下の差異が存在する。
第1に、ループの内容が異なる。このループ内容の差異とは、図25のループが、1つ目以降の構成要素を対象としていたのに対し、図28のループは、2番目以降の構成要素を対象としている点である。当該ループは、変数iをインクリメントして(ステップS81)、2つ目以降の構成要素iについて、ステップS23〜S27を実行する。
第2に、2番目以降の構成要素のサーチ範囲が異なる。これは、図25のループでは、2番目以降の構成要素については、X_Start,Y_Startが0,0に設定され(ステップS27)、またX_End,Y_endが、639-W,359-Hに設定されるのに対し(ステップS28)、図28では、2番目以降の構成要素については、構成要素iを包含しているとされた局所領域のX座標であるXiから2・X_maxを引いた値をX_Startとして設定し(ステップS84)、局所領域のY座標であるYiからY_maxを引いた値をY_Startとして設定する(ステップS85)。またX_Endについては、X_Startに横幅2・X_maxを加算した値を設定し(ステップS86)、Y_Endについては、Y_Startに縦幅Y_maxを加算した値を設定する(ステップS87)。図28では、かかる設定の後、ステップS88において、X_Start,Y_StartからX_End,Y_endまでのスキャンを実行し、ステップS89において、画像特徴量計算部7による特徴量算出、特徴量識別部9による識別を実行させ、ステップS90に移行する。ステップS90は、演算結果の符号が正になった特徴量識別部9が存在するかどうかの判定である。存在しなければ、当該ループを抜けて、フローチャートの処理を終了する。もし存在すれば、ステップS91において特徴量識別部9の識別子iを、ウィンドウ中心位置のXY座標(Xi,Yi)に変換する。ステップS92では、ウィンドウ中心位置の座標(Xi,Yi)、カレントウィンドウの縦幅Win_H、横幅Win_W、構成要素(i)の類型type(i)、尤度Lh(i)を、サーチ領域リストのエントリーに追記する。その後、ステップS34において、変数iが、選択された構成情報における構成要素の総数以上になったかどかを判定する。総数以上になっていなければ、ステップS81に戻る。総数以上になれば、ステップS36において、複数の局所領域の位置関係に応じた判定を実行する。
以上の処理が、選択された構成情報を構成する全ての構成要素について繰り返される。 2つ目の構成要素を対象とした部分域サーチでは、構成要素iを包含しているとされた局所領域の座標(xi,yi)をサーチの始点とするから、サーチ範囲は限定されることになり、処理時間の短縮を図ることができる。以上が全域−部分域組合せスキャンの処理手順についての説明である。
構成要素交互スキャン(図24のステップS7)はサブルーチン化されており、より詳細な処理手順に展開できる。展開がなされた処理手順を示したのが図29のフローチャートである。
図29は、構成要素交互スキャンの処理手順を示すフローチャートである。本図は、図26(b)のWindowラスタスキャンのフローチャートをベースとして作図されており、このベースとなる図26(a)と比較して以下の差異が存在する。
第1に、ベースの図26(b)では、shifted window(Win_X,Win_Y)を対象としたshifted blockラスタスキャンを実行しているのに対し、図29では、変数iを制御変数としたステップS101〜ステップS109からなるループが存在する点である。このループでは、ステップS101において変数iを初期化し、ステップS102〜ステップS109の処理を実行する。ステップS102〜ステップS109の処理とは、構成要素iについてステップS23〜S26を実行して、その後、shifted window(Win_X、Win_Y)を対象としたブロックラスタスキャンを実行し(ステップS104)、画像特徴量計算部7による特徴量算出、特徴量識別部9による識別を実行させる(ステップS105)。そして決定関数の関数値である符号が正になった特徴量識別部9が特徴量識別部9i1,i2,i3,i4・・・・iNの中に存在するかどうかを判定する(ステップS106)。決定関数の結果が正になった特徴量識別部9が存在すれば(ステップS106でYes)、識別器(i)の識別子を、カレントウィンドウ中心位置のXY座標(Xi,Yi)に変換する。その後、カレントウィンドウ中心位置のXY座標(Xi,Yi)、カレントウィンドウの縦幅Win_H、横幅Win_W、構成要素(i)の類型type(i)、尤度Lh(i)を、サーチ領域リストのエントリーに追記する(ステップS107)。
ステップS108は、ループの終了要件を定めるものであり、変数iが、選択された構成情報における構成要素の総数に達しなければ、変数をインクリメントして(ステップS109)、ステップS101の後に戻る。このステップS108がYesと判定されるまで、ループが繰り返される。
Win_X、Win_Yを対象としたループ内に構成要素iを対象としたループが存在するので、ウィンドウの1個のシフト位置について、複数の構成要素のそれぞれを対象にした画像認識が実行されることになる。
第2に、複数構成要素の位置関係に応じた総合判断の実行タイミングが異なる。これは、図26(b)におけるウィンドウラスタスキャンの処理手順では、かかる総合判断は実行されず、図26(b)のフローチャートの呼び出し元である図25のステップS36で実行されていたのに対し、本フローチャートでは、Win_X、Win_Yを対象とした二重ループを抜けた後に、総合判断を実行しているというものである。以上のように構成要素交互スキャンでは、認識対象の各構成要素を対象とした繰り返し処理と、各シフト位置を対象とした繰り返し処理との関係が逆になっていることがわかる。
Win_X、Win_Yが新しく算出される度に、認識対象を構成する複数の構成要素のそれぞれを対象とした認識処理が実行されるから、ウィンドウのシフトが一回行われる度に、当該シフト位置での、個々の構成要素を対象とした認識処理が実行されることになる。以上が、構成要素交互スキャンについての説明である。
以上のように本実施形態によれば、画像認識装置1002による画像認識は、ホスト装置1003からの設定である構成情報に従うので、画像認識装置1002は、必要な構成情報をロードすることにより、認識対象となるオブジェクトの種類を動的に変更することができる。これにより、様々な撮影環境に対応した柔軟な画像認識を実現することができる。
また、個々の構成要素を包含するようウィンドウの縦幅、横幅を定めた上で、ウィンドウラスタスキャンを行い、認識結果である複数の局所領域の位置的関係から総合判断を行うので、認識対象がどのような形状を有していても、認識が可能となる。構成要素毎に、特徴量計算に用いるべきウィンドウの縦幅、横幅を変更するから、特徴量計算を効率化することができる。
(第2実施形態)
第1実施形態では、構成情報の横幅、縦幅に従い、特徴量の次元数を変化させていた。本実施形態では、このウィンドウの横幅、縦幅に応じた次元数の変化に伴い、画像特徴量識別部9を再構成する改良に関する。
図30は、第2実施形態に係る正規化部45、識別部46の内部構成と共に、認識辞書10の内部構成を示す図である。本図では、座標生成回路41、42を省略している。第1実施形態の図10との差異は、正規化部45、識別部46の内部構成である、この内部構成の差異とは、図10では正規化部45、識別部46の内部構成を表していなかったのに対し、本図では、正規化部45、識別部46の内部構成として100個の81次元正規化器−81次元識別器の組みが表わされており、特徴量の次元数に応じた数の81次元正規化器、81次元識別器が再構成のために選ばれるというものである。個々の81次元正規化器、81次元識別器は、81次元のセルヒストグラムを処理するものであり、図12、図15、図17、図18の内部構成をもつ。
ここで、『100』という個数は、可変である次元数の最大値(8100次元)を、1個の81次元正規化器、81次元識別器の処理単位となる次元数(81次元)で割った値である。100個の81次元正規化器、81次元識別器のうち、特徴量の次元数であるD(W,H)/81個のものを選んで、画像特徴量識別部9を再構成する。100という範囲の中で、画像特徴量識別部9の再構成に用いるべき81次元正規化器、81次元識別器の個数を自由に変化させることで、構成情報によるウィンドウサイズの定義に応じて、画像特徴量識別部9の構成をスケーラブルに変化させる。
具体的にいうと、D(W,H)が1620次元であれば20個、4860次元では60個、6804次元であれば84個の81次元正規化器−81次元識別器の組みを再構成に用いる。以上が、次元数D(W,H)に応じて再構成される画像特徴量識別部9の内部構成である。
以下、81次元正規化器−81次元識別器について説明する。
図30において81次元正規化器−81次元識別器−学習辞書は、同数だけ存在しており、縦方向における81次元正規化器−81次元識別器−学習辞書の並びは、1個の独立した処理系統を構成する。これら81次元正規化器−81次元識別器−学習辞書からなる処理系統は、1から100までの識別番号で指示される。この処理系統に属する81次元正規化器、81次元識別器、学習辞書のそれぞれには、「アルファベット+識別番号」という形式の参照符号が付される。参照符号におけるアルファベットは、81次元正規化器、81次元識別器、学習辞書の違いを表す(これは、81次元正規化器ならn、81次元識別器ならc、学習辞書ならdというものである)。
「n+識別番号」の形式の参照番号で参照される正規化部について説明する。
81次元正規化器n1,n2,n3,n4・・・・は、自身が帰属する処理系統に供給されてきた24×24画像の勾配度数に対して正規化を行い、正規化後の勾配度数を、同じ処理系統に帰属する81次元識別器に出力する。この正規化は、24×24画素(1ブロックであり、3×3セルからなる)の範囲における勾配度数の総和が「1」になるようにするためのものである。
「d+識別番号」の形式の参照番号で参照される学習辞書10について説明する。学習辞書d1,d2,d3,d4・・・・には、同じ系統に属する81次元のHOGと対比されるべき学習データが格納される。かかる学習データは、81次元のHOGである。
「c+識別番号」の形式の参照番号で参照される81次元識別器について説明する。81次元識別器c1,c2,c3,c4・・・・は、同じ処理系統の81次元正規化器から、81次元のHOGが出力されれば、かかるHOGを学習辞書に格納された81次元の学習データと比較する。
以上が、n,d,cという識別記号で識別される処理系統に属する81次元正規化器、81次元識別器、学習辞書についての説明である。続いて、1〜6、7〜12、48〜54、55〜60の識別番号で識別される処理系統に対して、画素がどのように供給されるかについて説明する。
図31は、81次元正規化器−81次元識別器−学習辞書に対する画素値供給を示す。本図は、図30をベースにしている。図27と異なるのは、4860次元の特徴量に対応する構成として、図31の画像特徴量識別部9が、60個の81次元正規化器、81次元識別器により構成されている点、各シフト位置に存在するshifted blockから、81次元正規化器−81次元識別器−学習辞書に到る画素値供給の過程が示されている点である。
図31において、ウィンドウ座標系の(0,0)に位置する24×24画素のブロックに対応するセルヒストグラムは、識別番号=1で識別される処理系統(81次元正規化器n1−81次元識別器c1−学習辞書d1)に供給される。ウィンドウ座標系の(8,0)に位置する24×24画素のブロックに対応するセルヒストグラムは、識別番号=2で識別される処理系統(81次元正規化器n2−81次元識別器i2−学習辞書d2)に、ウィンドウ座標系の(16,0)に位置する24×24画素のブロックに対応するセルヒストグラムは、識別番号=3で識別される処理系統(81次元正規化器n3−81次元識別器c3−学習辞書d3)に、ウィンドウ座標系の(24,0)に位置する24×24画素のブロックに対応するセルヒストグラムは、識別番号=4で識別される処理系統(81次元正規化器n4−81次元識別器c4−学習辞書d4)に供給される。
以上のように本実施形態によれば、複数の81次元正規化器、複数の81次元識別器の中から特徴量の次元数に応じた個数のものを選んで、画像特徴量識別部9を再構成するので、構成情報により定義されるウィンドウサイズの変動に対して、柔軟な対応が可能になる。
(第3実施形態)
本実施形態は、構成情報の改良に関する。図32(a)は、構成情報の構成を示す。引出線cu11は、構成情報の構成をクローズアップして示している。この引出線cu11に示すように、構成情報は、対応する客体の「全体類別」、対応する客体を構成する複数の構成要素についての「Window検索情報(構成要素1のWindow検索情報、構成要素2のWindow検索情報・・・・・構成要素mのWindow検索情報)」、「ウィンドウ位置関係基準」から構成される。引出線cu12は、Window検索情報の構成をクローズアップして示している。この引出線cu11に示すように、Window検索情報は、構成要素を包含するWindowの横幅W、縦幅H、構成要素の類別typeを示す。
以下、図32(a)のデータ構造の記述例について説明する。この記述例は、図2に示したフレーム画像の一例において、人物像や信号機を認識するケースを想定している。
図32(b)は、認識対象が人物である場合における構成要素1のWindow検索情報、構成要素2のWindow検索情報の設定例を示す。認識対象が人物の正面像である場合、構成要素1は人間の顔、構成要素2は人間の胴体をそれぞれ表す。
図32(a)と比較すると、図32(b)では構成要素1の検索情報において、ウィンドウの横幅がw1、縦幅がh1,構成要素の類別がtype1に設定されており、構成要素2の検索情報において、ウィンドウの横幅がw2、縦幅がh2,構成要素の類別がtype2に設定されているというものである。
また、客体1の構成情報のウィンドウ位置関係基準は、構成要素1を包含している局所領域のxy座標(x1,y1)、ウィンドウの横幅w1、縦幅h1、構成要素2を包含している局所領域のxy座標(x2,y2)、ウィンドウの横幅w2、縦幅h2の大小関係を規定する不等式を含む。構成要素1(顔)は、構成要素2(胴体)の上辺中央付近に存在するので、構成要素2のx座標であるx2は、x2<x1<x2+w2/2,x2+w2/2<x1+w1<x2+w2という不等式を満たす必要がある。また構成要素2(胴体)は、構成要素1(顔)を囲むウィンドウの下辺以降に存在せねばならないから,構成要素2のy座標であるy2は、y2≒y1+H1,y2+H2>y1+H1という不等式を満たす。
図32(c)は、認識対象が信号機である場合における構成要素1のWindow検索情報、構成要素2のWindow検索情報の設定例を示す。認識対象が信号機である場合、構成要素1は信号灯、構成要素2は柱部分をそれぞれ表す。
図32(b)と比較すると、図32(c)では構成要素2の検索情報において、構成要素の類別がtype2(信号機)に設定されている。
また、客体1の構成情報のウィンドウ位置関係基準は、構成要素1を包含している局所領域のxy座標(x1,y1)、ウィンドウの横幅w1、縦幅h1、構成要素2を包含している局所領域のxy座標(x2,y2)、ウィンドウの横幅w2、縦幅h2の大小関係を規定する不等式を含む。構成要素2(柱)は、構成要素1(信号灯)から左方向又は右方向に離れて存在するので、構成要素2のX座標であるx2は、x2>x1+w1、又は、x1>x2+w2という不等式を満たす必要がある。また構成要素2(柱)は、構成要素1(信号灯)を囲むウィンドウの上辺以降に存在せねばならないから,構成要素2のy座標であるy2は、y1≦y2という不等式を満たす必要がある。
構成情報設定部12は、Window検索情報の縦幅、横幅を画像供給部4に指示することで、ウィンドウスキャンを画像供給部4に実行させる。かかるウィンドウスキャンで、構成要素を包含した局所領域の座標が明らかになれば、ウィンドウ位置関係基準を客体認識部11に参照させることで、かかる局所領域の座標が、ウィンドウ位置関係基準を満たすかどうかの総合判断を、客体認識部11に行わせる。
以上のように本実施形態によれば、人物像、信号機を検索するにあたって、各構成要素がどのようなサイズを有するか、また構成要素を包含するウィンドウが、どのような位置関係にあるかを客観的に規定することができる。
<備考>
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。
(FPGAによる画像認識装置1002の構成)
画像認識装置1002の本体部分である集積回路202は、FPGA(Field Programmable Gate Array)であることが望ましい。以下、FPGAで構成された画像認識装置1002について説明する。画像認識装置1002を構成するFPGAは、ロジックセルレイヤ、クロックネットワークレイヤ、ブロックRAM・乗算器レイヤ、JTAGバウンダリスキャン回路レイヤが存在する。
ロジックセルレイヤは、周縁部分にI/O部が存在していて、その内部に、複数のロジックセルが行列状に配置される。
I/O部は、外部信号の入出力を実現する。
ロジックセルは、nビット入力のルップアップテーブルと、フリップフロップとから構成される。ルップアップテーブルは、nビット入力をアドレスとしてデコードするアドレスデコード部と、かかるアドレスでアクセスされる記憶セルからなるSRAMとからなり、当該アドレスで指示される記憶セルのデータをSRAMから読み出して出力する。
FPGAは、電源投入時に外部メディアからビットストリーム形式のプログラムファイルを読み出して、プログラムファイルにおける個々のビットに従い、分散配置されているロジックセル及びI/O部を内部配線で結び付けてゆくことで、ユーザが希望する機能を実現する。
クロックネットワークレイヤは、ロジックセルレイヤに存在する複数のロジックセルのうち、位置的に対応するものにクロックを供給する。供給されるクロックには、FPGA全体を対象にしたものと、局所的なロジックセル群を対象にしたものとがある。ロジックセル内のフリップフロップは、かかるクロックに従い、SRAMに格納されているデータを、出力する。
JTAGバウンダリスキャン回路レイヤは、テストのための機能を提供する。
ブロックRAM・乗算器レイヤは、ブロックRAMと、乗算器との組みが、行列状に配置されていて、ロジックセルレイヤに存在する複数のロジックのうち、位置的に対応するものに、演算機能と、データ保存機能とを提供する。これに限らず、画像認識装置1002は、ASIC(Application Specific Integrated Circuit)等の専用回路で構成してもよい

(81次元識別器のバリエーション)
81次元識別器をサポートベクタマシンとしたが、81次元識別器は、Adaboost,RealAdaBoost、Deep-learningニューラルネットワーク、Deformable Part Modelに基づくものでもよい。
RealAdaBoostは、弱分類器の出力が特徴量の分布において定数化されるアルゴリズムである。
Deep-learningニューラルネットワークは、通常のニューラルネットワークよりも多くの中間層を設けて認識に有効な特徴量を学習時に抽出する。
Deformable Part Modelは、人全体を捉えるルートフィルタFoφ(P0)と、局所的な部分を捉えるFt・φ(Pt)と、パーツフィルタの位置関係関数di・φd(dxi,dyi)とからスコア付けを行う。
(特徴量のバリエーション)
特徴量は、HOGであるとしたが、Haar-like特徴量、Edglet特徴量であってもよい。
Haar-like特徴量は、撮影画像の局所領域において、明暗のパターンが左右に存在するか、上下に存在するかを示す。具体的にはHaar-like特徴量は、高輝度領域の平均輝度S(r1)、低輝度領域の平均輝度S(r2)の差分H(r1,r2)により与えられる。
Edglet特徴量は、入力画像から得られたエッジ画像から抽出され、直線、円弧、対称性といったテンプレートと比較される。
(構成情報の記述)
構成情報を、クラス構造体として定義してもよい。この場合、ウィンドウの縦幅、横幅は、クラス構造体のメンバー変数として定義され、第3実施形態のウィンドウ位置関係基準は、クラス構造体のメソッドコードとして実現することが望ましい。第3実施形態のウィンドウ位置関係基準は、認識対象固有の処理手順であると、捉えることができるからである。また、ウィンドウラスタスキャンの方式(全域スキャン、全域−部分スキャン、構成要素交互スキャン)を構成情報で指定してもよい。
(対話的な構成情報の生成)
ホスト装置1003は、ユーザからフレーム画像に対するGUI操作を受け付けることで、構成情報を作成してもよい。かかる操作では、ユーザによるポインティングデバイスの操作に応じて、グラフィック枠を表示し、フレーム画像に表れた認識対象を構成する個々の構成要素を囲む。また必要に応じて、グラフィック枠の大きさを拡大・縮小する。
以上の操作を経て、グラフィック枠が、最適な大きさに設定されれば、この拡大・縮小後のグラフィック枠を基に、構成情報についてのWindow検索情報の縦幅、横幅を決定する。更に、構成要素についての位置関係基準も決定してゆく。
(認識対象となる画像のバリエーション)
認識対象となる画像は、2KのFullHD画質(1920×1080)であるとしたが、これに限らず、SD画質(640×480)、8K画質(7680×4320)であってもよい。
(人物の様々なポーズを認識対象とする場合の構成情報の記述)
第1実施形態では、人物の顔を第1の構成要素、胴体以降を第2の構成要素として、これらの第1、第2の構成要素を包含するよう、構成情報におけるWindow検索情報の各ウィンドウの縦幅、横幅を規定した。しかしこれに限らず、より詳細な内容の構成情報で、認識対象の一構成要素を表現してもよい。具体的にいうと、人物の顔を第1の構成要素として指定し、人物の胴体を第2の構成要素、人物の左右の腕を第3、第4の構成要素として指定し、人物の左右の足を第5、第6の構成要素として指定して、これら第1から第6までの構成要素の位置関係基準を構成情報に記載することで、認識対象の一構成要素がとる様々なポーズを認識対象にしてもよい。
「横になっているポーズ」では、第2〜第6の構成要素の局所領域の中心座標が、第1の構成要素の左右方向に存在することを、構成情報の位置関係基準として規定する。
「着座しているポーズ」では、第5、第6の構成要素についての局所領域の中心座標が、第2構成要素の左右方向に存在することを、構成情報の位置関係基準として規定する。 (信号機を認識する場合の位置関係基準の詳細な定義)
車道では、図2(a)に示したように、対向車線に設けられた信号機が、左右対称に存在する。そこで、三色灯と、柱部分との位置関係が、「柱部分」→「三色灯」→「三色灯」→「柱部分」になっていることをウィンドウ位置関係基準に定義してもよい。
1つ目の三色灯のX座標をX11,2つ目の三色灯のX座標をX12,1つ目の柱部分のX座標をX21,2つ目の柱部分のX座標をX22とし、三色灯の横幅をW1,柱部分の横幅をW2とした場合、X12については、X12>X11+W1との関係を位置関係基準とし、X21については、X21<X11-W2を位置関係基準とする。X22については、X22>X12+W1を位置関係基準とする。X11,X12,X21,X22が、これらの不等式を満たすのであれば、1つ目の柱部分→1つ目の三色灯→2つ目の三色灯→2つ目の柱部分と並んでいることになり、対向車線上に配列されている一対の信号機を正しく認識することができる。このように、一対になっていることを、信号機認識のための位置関係基準とすれば、信号機を高精度に認識することができる。この場合、1つ目の柱部分、1つ目の三色灯、2つ目の三色灯、2つ目の柱部分をそれぞれ、独立した構成要素として定義して、Window検索情報によるサーチの対象にすることが望ましい。
(装置構成のバリエーション)
画像認識装置1002は、カメラ装置1001と接続され、画像認識装置1002に内蔵されるとしたが、構成情報に従い構成要素毎の画像認識を行うという画像認識装置1002の機能と、画像認識装置1002に対し構成情報を設定するというホスト装置1003の機能とをカメラ装置1001に組込んで、画像認識機能付きのカメラ装置1001としてもよい。
また、構成情報に従い画像認識を行うというカメラ装置1001の機能を、構成情報を設定するというホスト装置1003の機能とをホスト装置1003に内蔵して、ホスト装置1003を撮影機能及び画像認識機能付きの情報処理装置として構成してもよい。
特徴量識別部9の個数は4個としたが、特徴量識別部9の個数は1個でもよい。この場合、客体認識部11は、特徴量識別部9の識別番号を用いずに、局所領域の座標を特定する。
(スキャンのバリエーション)
ウィンドウによるスキャンとしてウィンドウラスタスキャンを実行する処理例を記載したが、渦巻スキャンや縦方向のスキャンであってもよい。またウィンドウをシフトする際シフト位置を8画素置きとしたが、シフト位置の間隔は何画素でもよい。
本発明は、車載カメラで撮影されたフレーム画像から交差点、歩道、人を検出して走行位置に関し、運転アシストを実行するという自動運転用途に利用することができる。また、製品チェックのための工場カメラによる商品欠陥検出に利用することができ、セキュリティやマーケティングのための監視カメラによる人検出に利用することができる。
1 カメラインターフェイス部
2 集積回路
3 フレームメモリ
4 画像入力部
7 画像特徴量計算部
9 特徴量識別部
10 認識辞書
11 客体認識部
12 構成情報設定部
1001 カメラ装置
1002 画像認識装置
1003 ホスト装置

Claims (5)

  1. ウィンドウによるスキャンを2回以上行い、フレーム画像の中から、認識対象を構成する複数の構成要素を包含する局所領域をサーチする画像認識装置であって、
    各スキャンは、前記フレーム画像の複数の位置のそれぞれにウィンドウを重ね合わせて、各重ね合わせ位置において、ウィンドウが認識対象の個々の構成要素を包含するかどうかを判定することでなされ、
    前記ウィンドウによるスキャンを2回以上行うにあたって、個々の構成要素を包含し得るものの、前記認識対象の全体を包含し得ない大きさに、ウィンドウの大きさを定めるウィンドウ設定部と、
    前記フレーム画像の複数の位置のそれぞれにウィンドウを重ね合わせる際、当該ウィンドウの横幅及び縦幅に依拠した次元数の特徴量を算出して、算出した特徴量に基づき、各重ね合わせ位置における構成要素の包含の有無を判定する特徴量識別部と、
    前記認識対象を構成する構成要素が満たすべき位置的関係の基準として、最大許容距離、最小許容距離を示す構成情報を記憶する構成情報記憶部と、
    2回以上のスキャンにより、ウィンドウが認識対象を構成する複数の構成要素のうち、基本となるもの、及び、補助的なものを包含した場合、基本となる構成要素を包含した際のウィンドウの重ね合わせ位置と、補助的な構成要素を包含した際のウィンドウの重ね合わせ位置との位置的関係が、構成情報における位置的関係の基準を満たすかどうかの判定を行う客体認識部とを備え、
    前記位置的関係を満たすかどうかの判定は、補助的な構成要素を包含した際のウィンドウの中心座標と、基本となる構成要素を包含した際のウィンドウの中心座標との差分を、前記構成情報に示される最小許容距離、最大許容距離のそれぞれと比較することでなされる
    ことを特徴とする画像認識装置。
  2. 前記画認識装置は、複数の画像供給部と、複数の特徴量計算部を備え、
    複数の画像供給部は、フレーム画像における複数の部分領域のそれぞれを特徴量計算部のそれぞれに供給し、
    前記複数特徴量計算部のそれぞれは、画像供給部から供給された部分領域に含まれる画素セルについて勾配強度及び勾配方向を算出することで、当該部分領域に対応するセルヒストグラムを算出し、
    前記複数特徴量識別部のそれぞれは、1の特徴量識別部に対し、多の特徴量計算部を接続するという1対多の形態で接続されており、前記複数特徴量計算部のそれぞれにより算出されたセルヒストグラムを、前記1対多の形態の接続を介して内部のメモリに取り込み、マージすることで、1つのウィンドウに対応するセルヒストグラムを
    前記ウィンドウの横幅及び縦幅に依拠した次元数の特徴量は、ブロックによるスキャンにより算出され、当該ブロックによるスキャンは、
    前記ウィンドウに対応するセルヒストグラムの複数の位置に、ブロックを重ね合わせて(1)、
    前記セルヒストグラム含まれる勾配強度及び勾配方向のうち、前記重ね合わせ位置でブロックに囲まれることになるものに正規化を施し(2)、
    ブロックの重ね合わせ位置を縦方向又は横方向にシフトする(3)
    という手順を繰り返すことでなされる、請求項1記載の画像認識装置。
  3. 前記画像認識装置は、
    複数のSRAMから構成される画像メモリを備え、各SRAMは、フレーム画像を分割することで得られた画像セグメントを格納し、
    前記複数の画像供給部は、前記SRAMに対してアクセス要求を発することで、画像セグメントを構成する部分領域の画素セルを読み出す
    ことを特徴とする請求項2に記載の画像認識装置。
  4. 前記ウィンドウの横幅をWin_W、縦幅をWin_Hとし、
    複数の画像特徴量計算部による計算対象である画素セルの横画素数をCell width 、縦画素数をCell height とし、
    ブロックの横方向に存在する画素セルの数をBlock width 、縦方向に存在する画素セルの数をBlock height とし、
    特徴量識別部の組合せにより得られるセルヒストグラムの横方向の勾配度数の数をHOG width 、縦方向の勾配度数の数をHOG height とし、セルヒストグラムに示される勾配方向をGとした場合、ウィンドウの横幅W、縦幅Hに依拠した特徴量の次元数D(W,H)は、以下の数1の式により算出される
    Figure 0006524475
    ことを特徴とする請求項3に記載の画像認識装置。
  5. 前記画像認識装置は、学習データを含む認識辞書を有しており、前記認識辞書における前記学習データは、構成要素を構成するとされた複数の特徴量、及び/又は、構成要素を構成しないとされた複数の特徴量を含み、
    前記特徴量識別部は、ウィンドウの重ね合わせ位置で算出されたD(W,H)次元の特徴量に対して、分離面を適用することで、重ね合わせ位置におけるウィンドウが、構成要素を包含するかどうかの判断結果を下し、
    前記分離面は、D(W,H)次元の特徴量空間において、学習データにより構成要素を表すとされる特徴量と、構成要素を表さないとされる特徴量とを分離する
    ことを特徴とする請求項4に記載の画像認識装置。
JP2015006711A 2015-01-16 2015-01-16 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置 Active JP6524475B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015006711A JP6524475B2 (ja) 2015-01-16 2015-01-16 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015006711A JP6524475B2 (ja) 2015-01-16 2015-01-16 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置

Publications (2)

Publication Number Publication Date
JP2016133878A JP2016133878A (ja) 2016-07-25
JP6524475B2 true JP6524475B2 (ja) 2019-06-05

Family

ID=56438116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006711A Active JP6524475B2 (ja) 2015-01-16 2015-01-16 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置

Country Status (1)

Country Link
JP (1) JP6524475B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7210489B2 (ja) * 2020-01-16 2023-01-23 沖電気工業株式会社 学習装置、学習方法および学習プログラム
JP7348575B2 (ja) * 2020-03-18 2023-09-21 日本電信電話株式会社 劣化検出装置、劣化検出システム、劣化検出方法、およびプログラム
CN114627249B (zh) * 2022-05-13 2022-10-21 思看科技(杭州)股份有限公司 三维扫描系统及三维扫描方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5264457B2 (ja) * 2008-12-12 2013-08-14 セコム株式会社 物体検出装置
JP5267330B2 (ja) * 2009-05-27 2013-08-21 コニカミノルタ株式会社 画像処理装置および方法
JP5389723B2 (ja) * 2010-03-31 2014-01-15 セコム株式会社 対象物検知装置及びその学習装置
CN103870798B (zh) * 2012-12-18 2017-05-24 佳能株式会社 对象检测方法、对象检测设备以及图像拾取设备

Also Published As

Publication number Publication date
JP2016133878A (ja) 2016-07-25

Similar Documents

Publication Publication Date Title
Kim et al. Deep monocular depth estimation via integration of global and local predictions
Zhu et al. Visdrone-det2018: The vision meets drone object detection in image challenge results
Wang et al. RGB-D salient object detection via minimum barrier distance transform and saliency fusion
González et al. On-board object detection: Multicue, multimodal, and multiview random forest of local experts
Quispe et al. Top-db-net: Top dropblock for activation enhancement in person re-identification
US8582836B2 (en) Face recognition in digital images by applying a selected set of coefficients from a decorrelated local binary pattern matrix
Yuan et al. Traffic sign detection via graph-based ranking and segmentation algorithms
CN111767882A (zh) 一种基于改进yolo模型的多模态行人检测方法
US8103058B2 (en) Detecting and tracking objects in digital images
Aurangzeb et al. Human behavior analysis based on multi-types features fusion and Von Nauman entropy based features reduction
CN110598788B (zh) 目标检测方法、装置、电子设备及存储介质
US20200151585A1 (en) Information processing apparatus and rule generation method
Wang et al. Adaptive feature pyramid networks for object detection
Feng et al. Detect faces efficiently: A survey and evaluations
CN110598715A (zh) 图像识别方法、装置、计算机设备及可读存储介质
US20210256707A1 (en) Learning to Segment via Cut-and-Paste
EP3872761A2 (en) Analysing objects in a set of frames
JP6524475B2 (ja) 画像認識に使用するウィンドウの配置や組合せを、構成情報に従って変化させることができる画像認識装置
CN107315984B (zh) 一种行人检索的方法及装置
US10891740B2 (en) Moving object tracking apparatus, moving object tracking method, and computer program product
Lechner et al. ResCoNN: Resource-efficient FPGA-accelerated CNN for traffic sign classification
Hassan et al. An empirical analysis of deep learning architectures for vehicle make and model recognition
WO2011037097A1 (ja) パターン認識方法及び該方法を用いたパターン認識装置
Lu et al. An efficient fine-grained vehicle recognition method based on part-level feature optimization
Zhou et al. A pipeline architecture for traffic sign classification on an FPGA

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190412

R150 Certificate of patent or registration of utility model

Ref document number: 6524475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250