(57)【特許請求の範囲】
【請求項１】
入力データを分類するように学習を実施するニューラルネットワークを用いて、物体を含む画像データを処理する画像処理方法であって、
前記画像データのピクセル座標を量子化する量子化ステップ、
前記量子化したピクセル座標に対して、前記ニューラルネットワークが内部的に有するいずれかの内部分類を割り当てることにより、前記画像データのなかに含まれる前記物体を前記ニューラルネットワークの前記内部分類と対応付ける、マッピングステップ、
前記画像データの前記量子化したピクセル座標、および前記マッピングステップにおいて割り当てた内部分類を用いて前記ニューラルネットワークの学習を実施することにより前記画像データのなかに含まれる前記物体を前記内部分類として学習する学習ステップ、
前記学習後の前記ニューラルネットワークの出力値を取得する出力ステップ、
前記学習後の前記ニューラルネットワークの出力値に対して、前記量子化の逆量子化を実施することにより、前記ニューラルネットワークの出力値を前記画像データの座標系上に投影し、前記物体の位置を前記座標系上に再現する再現ステップ、
を有し、
前記画像処理方法はさらに、前記ニューラルネットワークの出力値を前記物体の前記座標軸上におけるいずれかの座標値へ分類する分類ステップを有し、
前記分類ステップにおいては、前記ニューラルネットワークの出力値に対してロジスティック回帰分析を実施することにより、各前記内部分類に対応する値を要素値とする出力ベクトルを生成し、
前記再現ステップにおいては、前記分類ステップの結果に対して前記量子化の逆量子化を実施することにより、前記物体の位置を前記座標系上に再現する
ことを特徴とする画像処理方法。
【請求項２】
前記画像処理方法はさらに、前記画像データ上において複数の領域を定義するステップを有し、
前記画像処理方法は、前記量子化ステップと前記マッピングステップを前記領域毎に実施する
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記画像処理方法はさらに、前記ピクセル座標を座標軸毎に分解するステップを有し、  前記マッピングステップにおいては、前記分解した座標軸毎に個別の前記内部分類を割り当てる
ことを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記画像処理方法はさらに、前記ピクセル座標を座標軸毎に分解するステップを有し、
前記マッピングステップにおいては、前記分解した座標軸毎に個別の前記内部分類を割り当てる
ことを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記画像処理方法はさらに、前記再現ステップにおいて前記座標系上に再現した前記物体を前記画像データ上の中央に向けてシフトさせるステップを有する
ことを特徴とする請求項１記載の画像処理方法。
【請求項６】
入力データを分類するように学習を実施するニューラルネットワークを用いて、物体を含む画像データを処理する画像処理装置であって、
前記画像データのピクセル座標を量子化する量子化器、
前記量子化したピクセル座標に対して、前記ニューラルネットワークが内部的に有するいずれかの内部分類を割り当てることにより、前記画像データのなかに含まれる前記物体を前記ニューラルネットワークの前記内部分類と対応付ける、マッピング器、
前記画像データの前記量子化したピクセル座標、および前記マッピング器が割り当てた内部分類を用いて前記ニューラルネットワークの学習を実施することにより前記画像データのなかに含まれる前記物体を前記内部分類として学習する学習器、
前記学習後のニューラルネットワークの出力値に対して、前記量子化の逆量子化を実施することにより、前記ニューラルネットワークの出力値を前記画像データの座標系上に投影し、前記物体の位置を前記座標系上に再現する再現器、
を備え、
前記画像処理装置はさらに、前記ニューラルネットワークの出力値を前記物体の前記座標軸上におけるいずれかの座標値へ分類する分類器を有し、
前記分類器は、前記ニューラルネットワークの出力値に対してロジスティック回帰分析を実施することにより、各前記内部分類に対応する値を要素値とする出力ベクトルを生成し、
前記再現器は、前記分類器の処理結果に対して前記量子化の逆量子化を実施することにより、前記物体の位置を前記座標系上に再現する
ことを特徴とする画像処理装置。
【請求項７】
前記画像処理装置はさらに、前記画像データ上において複数の領域を定義する領域定義器を備え、
前記画像処理装置は、前記量子化器による処理と前記マッピング器による処理を前記領域毎に実施する
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記画像処理装置はさらに、前記ピクセル座標を座標軸毎に分解する分解器を備え、
前記マッピング器は、前記分解した座標軸毎に個別の前記内部分類を割り当てる
ことを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記画像処理装置はさらに、前記ピクセル座標を座標軸毎に分解する分解器を備え、
前記マッピング器は、前記分解した座標軸毎に個別の前記内部分類を割り当てる
ことを特徴とする請求項６記載の画像処理装置。
【請求項１０】
前記画像処理装置はさらに、前記再現器が前記座標系上に再現した前記物体を前記画像データ上の中央に向けてシフトさせるシフト器を備える
ことを特徴とする請求項６記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを用いて画像を処理する技術に関する。
【背景技術】
【０００２】
物体検出は、多くの画像処理タスクにおいて重要な役割を有している。物体検出の目的は、画像内の特定の物体またはその一部を発見することである。物体を特定した後、例えば物体特定などの処理を実施することができる。
【０００３】
物体検出の１形態として、顔認識がある。顔認識の精度を高めるためには一般に、顔を特定の向きにそろえる必要がある。この整列を実施するため、例えば眼、鼻、口などのような顔の特徴要素を用いることができる。物体検出技術を用いることにより、これら特徴要素を認識し、その認識した特徴要素を用いて顔の向きを揃えることができる。
【０００４】
物体検出において、スライドウインドウと呼ばれるものが用いられる。このアプローチにおいては、画像から任意の領域を抽出し、その領域が特定の物体を含んでいる確率を計算する。計算した確率が閾値以上である場合、その領域において当該物体が検出されることになる。スライドウインドウにより、検出精度を高めることができる。ただしこのアプローチは、対象物体のおおよその位置が事前に得られていない場合、演算負荷が高いという課題がある。閾値以上の確率が得られるまで、ウインドウを様々な場所に移動させたりサイズ変更したりすることが必要だからである。
【０００５】
またスライドウインドウを用いる場合において、領域内に特定の物体が存在する確率を計算するため、テンプレートマッチングを実施することがある。テンプレートは通常あらかじめ定義されているので、当該物体の外観が経時変化する場合、マッチングがうまく作用しない。したがって検出精度を高めるためには、テンプレートをアップデートする必要がある。
【０００６】
物体の変化に対して適応する手法として、機械学習を用いるものがある。機械学習によるアプローチは、物体を識別する外観上の特徴要素を学習することにより、当該物体の外観的特徴を抽象化して把握するものである。一般に機械学習においては、画像データとその画像データから得られる既知の検出結果のペアをあらかじめ学習し、学習器は新たな画像データに対してその学習結果に基づき物体検出を実施する。検出結果の精度に応じて学習パラメータを調整することもできる。
【０００７】
ニューラルネットワークは、機械学習を実施する学習器としてよく知られている。ニューラルネットワークは、人間の脳からヒントを得てこれを模擬するニューロンを備える。各ニューロンに対する入力に対して所与の重みを乗算し、さらにバイアスを加算して、当該ニューロンの出力を得る。
【０００８】
下記特許文献１は、畳み込みニューラルネットワークを用いて、低解像度画像内の人物を認識する手法について記載している。同文献においては、識別する人物の画像を用いて繰り返し学習を実施する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】ＵＳ２０１１／０２２２７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ニューラルネットワークを用いて物体検出を実施する場合、学習過程において、所望の検出結果が得られるように重みやバイアスを調整する。ニューラルネットワークを用いて物体検出を実施する際の課題は、所望の結果が得られるようになるまで、長い学習時間が必要なことである。
【００１１】
本発明は、上記のような課題に鑑みてなされたものであり、ニューラルネットワークを用いて物体を検出する処理の効率を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明においては、物体検出を実施するために必要なタスクを、分類問題を解くために必要なタスクに変換し、入力データを分類するニューラルネットワークを用いて、物体検出を分類問題として処理する。
【発明の効果】
【００１３】
本発明によれば、入力データを分類するニューラルネットワークを用いることにより、物体検出のために必要な処理を分類問題として効率的に処理することができる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされるであろう。
【図面の簡単な説明】
【００１４】
【図１】実施形態１に係る画像処理装置１００の機能ブロック図である。
【図２】領域定義器１１０の処理、座標分解器１２０の処理、および量子化器１３０の処理を説明する図である。
【図３】学習器１５０の層構成を例示する図である。
【図４】分類器１６０が出力する出力ベクトルについて説明する図である。
【図５】再現器１７０により処理を説明する図である。
【図６】実施形態２に係る画像処理装置１００の機能ブロック図である。
【図７】シフト器１８０の処理を説明する図である。
【図８】画像データ２００が走行する車両を側面から撮影したものである場合における領域定義器１１０の処理と量子化器１３０の処理を説明する図である。
【図９】画像データ２００が車両を正面から撮影したものである場合における領域定義器１１０の処理を説明する図である。
【図１０】実施形態４に係る画像処理装置１００のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１５】
＜本発明の基本的な考え方＞
以下では本発明の理解を容易にするため、まず本発明の基本的な考え方について最初に説明し、その後に本発明の実施形態について説明する。
【００１６】
ニューラルネットワークを用いて物体を検出する手法として、例えば特許文献１に記載されているような畳み込みニューラルネットワークを用いるものがある。同手法においては例えば、画像データに対して形状検出フィルタを適用する（畳み込む）ことにより物体の形状を検出し、フィルタ出力に対してＭａｘ  Ｐｏｏｌｉｎｇなどの手法を適用することによりフィルタ内における物体の位置ずれをぼかす。これら処理を実装した層を多段的に連結することにより、ニューラルネットワークが形成される。
【００１７】
ニューラルネットワークのその他用途として、分類問題を解くことが挙げられる。この場合、入力データとその入力データがいずれの分類に属するかとの間の対応関係をあらかじめニューラルネットワークに学習させておく。ニューラルネットワークに対して新たな入力データが投入されると、当該ニューラルネットワークはあらかじめ学習した結果に基づきその入力データがいずれの分類に属するかを示す値を出力する。
【００１８】
ニューラルネットワークは一般に、物体検出を実施することよりも分類問題を解くことのほうが、より効率的に処理できる。物体検出は当該物体が存在している箇所を特定するタスクであるのに対し、分類問題は分類対象が属する分類を回答するタスクであり、出力すべき事項が物体検出よりも単純化されているからである。本発明はこのことに着目し、物体検出問題を分類問題として取り扱う手段を提供することにより、ニューラルネットワークを用いて物体を検出する処理効率を向上させることを図る。
【００１９】
＜実施の形態１＞
図１は、本発明の実施形態１に係る画像処理装置１００の機能ブロック図である。画像処理装置１００は、ニューラルネットワークを用いて画像データ２００内の物体を検出する装置であり、領域定義器１１０、座標分解器１２０、量子化器１３０、マッピング器１４０、学習器１５０、分類器１６０、再現器１７０を備える。以下では画像データ２００の例として、人の顔画像を取り扱う。各機能部の動作については後述する。
【００２０】
図２は、領域定義器１１０の処理、座標分解器１２０の処理、および量子化器１３０の処理を説明する図である。以下図２にしたがって、これら３つの機能部の動作について説明する。
【００２１】
領域定義器１１０は、画像データ２００が含んでいると想定される特徴的要素の個数および位置に応じて、画像データ２００上で１以上のサブ領域を定義する。例えば人間の顔を検出する場合、画像データ２００の（紙面に向かって）左上部分を右目領域、右上部分を左目領域、下半分を口領域として定義する。領域定義器１１０が定義するサブ領域の個数および位置は、検出する物体の特徴に応じてあらかじめ定めておいてもよいし、画像処理装置１００が備える適当なインターフェースを介して都度指定してもよい。サブ領域は必ずしも定義する必要はなく、画像データ２００全体を１つの領域として物体検出を実施してもよい。以下では図２のようにサブ領域を定義したことを前提とする。
【００２２】
座標分解器１２０は、各サブ領域のピクセル座標を座標軸毎に分解する。分解後の各座標値は、それぞれ個別の１次元ベクトルとして取り扱われる。本実施形態１においては人の顔の２次元画像を取り扱っているので、各ピクセル座標はＸ座標の値とＹ座標の値に分解される。
【００２３】
量子化器１３０は、座標分解器１２０によって分解された各座標軸のピクセル座標値を所定のインターバルで量子化する。これにより各サブ領域内のピクセルは、１ピクセル毎の連続的画素からインターバル毎の離散的画素へ変換される。各サブ領域の量子化インターバルは必ずしも同じでなくともよい。さらには、各座標軸の量子化インターバルも必ずしも同じでなくともよい。例えば図２に示すように、小さい領域の量子化インターバルは小さくセットし、横長領域においてはＸ座標の量子化インターバルをＹ座標の量子化インターバルより大きくしてもよい。量子化インターバルは、後述する再現器１７０が各特徴要素を座標系上に再現する際の誤差幅を規定する。詳細は後述する。量子化器１３０は演算負荷を軽減するためのものであるため、充分な演算リソースがある場合、量子化器１３０は必ずしも必要ではない。
【００２４】
マッピング器１４０は、物体検出問題を分類問題として取り扱うために必要な処理を実施する。物体検出問題を分類問題として取り扱う場合、畳み込みニューラルネットワークの内部において構成されている各層は画像データ２００内の各ピクセルが対象物体の座標値であるか否かを分類し、この各層の出力を集約していくことにより、最終的に対象物体の座標値が得られると考えられる。そこで本発明においては、画像データ２００内の各ピクセルの座標値（量子化を実施した場合は量子化後の座標値）それぞれを分類問題における分類対象とみなし、各座標値が対象物体である（＝各座標値が対象物体の一部に含まれている）か否かをニューラルネットワークによって分類することとした。
【００２５】
マッピング器１４０は、画像データ２００内の各ピクセルの座標値（量子化を実施した場合は量子化後の座標値）に対して、学習器１５０内部のいずれかの分類を割り当てる。ピクセル座標値と内部分類との間の対応関係は、例えばあらかじめ変換テーブルとして定義しておけばよい。ピクセル座標値から学習器１５０の内部分類への変換は、サブ領域毎および座標軸毎に実施する。本実施形態１においては、３つのサブ領域とＸＹ軸が存在するので、マッピング器１４０は右目領域／左目領域／口領域それぞれのＸＹピクセル座標を、学習器１５０の内部分類へ変換する。
【００２６】
学習器１５０は、例えば畳み込みニューラルネットワークなどを用いて構成された機械学習器である。学習器１５０は、マッピング器１４０によって分類された各ピクセル座標が検出対象物体の座標値であるか否かをあらかじめ学習する。本実施形態１において、検出対象物体は画像データ２００内の右目／左目／口の３つである。学習器１５０は、あらかじめ実施した学習結果を用いて、新たな画像データ２００の右目／左目／口の座標を認識する。
【００２７】
図３は、学習器１５０の層構成を例示する図である。ここでは画像データ２００は６４ピクセル×６４ピクセルの２次元画像であるものとする。以下図３を用いて、学習器１５０の構成例について説明する。
【００２８】
第１層は、画像データ２００に対して９ピクセル×９ピクセルの形状検出フィルタを適用する。このフィルタは、例えば垂直方向の線分を検出するフィルタである場合、中央列が大きい値を有しその他列は小さい値を有する９×９の配列である。学習器１５０は、画像データ２００の左上端のピクセルにフィルタの左上端を合わせ、フィルタウインドウ内の各ピクセル画素値を、その画素と同じ位置のフィルタ値に対して乗算する。設計によってはその乗算結果に対してさらにバイアス値を加算してもよい。バイアス値はフィルタの全要素について同一でもよいし、要素毎に異なる値としてもよい。学習器１５０は、各ピクセル画素値とフィルタ値を乗算した結果（あるいはさらにバイアス値を加算した結果）をフィルタ内の９×９個の各要素値について合算し、これを当該ピクセル位置に対応するニューロンに対して入力する。
【００２９】
入力値を受け取ったニューロンは、所定の活性化関数に対してその入力値を入力し、出力値を計算する。活性化関数の例として、Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ（ＲｅＬＵ）などの非線形フィルタ関数が挙げられる。ＲｅＬＵは、ｆ（ｘ）＝ｍａｘ（０，ｘ）として定義される。
【００３０】
学習器１５０は、画像データ２００の左上端のピクセルから順にフィルタウインドウを移動させ、画像データ２００の全ピクセルをフィルタによってスキャンする。学習器１５０は、フィルタウインドウの各位置において上記と同様の演算を実施し、その結果を当該位置に対応するニューロンに対して入力し、当該ニューロンは出力値を計算する。図３に示す例においては、６４×６４ピクセルの画像データ２００に対して、９×９ピクセルのフィルタを適用しているので、フィルタの開始位置は１ピクセル目から５６ピクセル目までとなる。したがって１層目の後、５６×５６ピクセルに相当する処理結果が得られることになる。
【００３１】
形状検出フィルタの種類が１つのみである場合、検出できる形状も１つのみとなる。複数の形状を検出したい場合、各層において複数種類の形状検出フィルタを適用することができる。１層目においては、２０種類の形状検出フィルタを適用することとし、フィルタ種類毎にニューロンを設けることとした。このように形状検出フィルタを層毎に複数設ける手法は、Ｆｅａｔｕｒｅ  Ｍａｐなどと呼ばれている。最終的に１層目の後は、５６×５６×２０ピクセルに相当する処理結果が得られることになる。
【００３２】
畳み込みニューラルネットワークにおいて形状検出フィルタを適用する場合、検出対象である形状の位置がフィルタウインドウ内において想定される位置からずれている場合がある。これを解消するため、例えばＭａｘ  Ｐｏｏｌｉｎｇなどの手法により位置ずれをぼかす。Ｍａｘ  Ｐｏｏｌｉｎｇとは概略的に述べると、ウインドウ内の最大値のみを残す手法であり、ウインドウ内の形状はその最大値によって抽象化される。これは画像の解像度を落とすことに相当する。図３に示す例においては、１層目の出力に対して２×２のウインドウを用いてＭａｘ  Ｐｏｏｌｉｎｇを実施し、２８×２８×２０の処理結果を得ている。
【００３３】
２層目はＭａｘ  Ｐｏｏｌｉｎｇの結果得られた２８×２８×２０の処理結果に対して７×７のフィルタウインドウを適用している。高次層においては低次層よりも複雑な形状を検出するので、２層目における形状検出フィルタの個数は４０とした。以降の層においてもこれまでと同様の処理を実施する。図３に示す構成例においては、最終的に３×３×６０の処理結果が得られる。
【００３４】
最終段におけるｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層は１２０個のニューロンを有し、前層までの全てのニューロンはｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層内のいずれかのニューロンと接続される。したがってｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層は、前層までの全てのニューロンの情報を有する。
【００３５】
図４は、分類器１６０が出力する出力ベクトルについて説明する図である。分類器１６０は、ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層が有する１２０個のニューロンそれぞれの出力に対してロジスティック回帰分析を実施し、右目Ｘ座標／右目Ｙ座標／左目Ｘ座標／左目Ｙ座標／口Ｘ座標／口Ｙ座標に関する分析結果を出力する。この分析結果は６つの要素を有するベクトルとみなすことができる。
【００３６】
学習器１５０は、右目領域／左目領域／口領域それぞれのＸＹ座標に対応する内部分類を有している。したがって、低次層から高次層へ向かって情報を集約していくにつれて、学習器１５０が内部的に有している分類は、右目Ｘ座標／右目Ｙ座標／左目Ｘ座標／左目Ｙ座標／口Ｘ座標／口Ｙ座標の６分類に集約されていくと考えられる。そこで本実施形態１において、分類器１６０が学習器１５０の最終段におけるｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層の各ニューロンの出力値に対してロジスティック回帰分析を実施することにより、これら６要素値を有する出力ベクトルを取得することとした。
【００３７】
図５は、再現器１７０により処理を説明する図である。再現器１７０は、分類器１６０が出力する出力ベクトルを用いて、画像データ２００の座標系上に、右目Ｘ座標／右目Ｙ座標／左目Ｘ座標／左目Ｙ座標／口Ｘ座標／口Ｙ座標の６座標値を再現する。具体的には、（ａ）量子化器１３０を用いて出力ベクトルの各要素値を画像データ２００の座標系上へ投影し、（ｂ）座標分解器１２０を用いて逆量子化された各要素値をＸＹ座標へ整形し、（ｃ）領域定義器１１０を用いて各ＸＹ座標を画像データ２００上のサブ領域に対して割り当てる。
【００３８】
出力ベクトルの各要素値は、量子化された右目／左目／口のＸＹ座標に相当する。量子化器１３０は、量子化されたＸＹ座標を連続値座標へ逆量子化する。例えば量子化器１３０が画像データ２００上の０．３以上０．４未満の座標値を０．３へ量子化するように構成されていると仮定する。量子化器１３０は、出力ベクトルの要素値が０．３であれば、これを０．３以上０．４未満の座標値へ逆量子化する。０．３以上０．４未満の座標値であればいずれでもよいが、右目／左目／口の真のＸＹ座標との間の誤差を最小化するためには、中央値である０．３５へ逆量子化することが望ましい。これにより、真の座標値が０．３以上０．４未満のいずれの値であっても、期待誤差は最小となる。
【００３９】
座標分解器１２０は、逆量子化されたＸＹ座標をペアにすることにより、（Ｘ，Ｙ）座標を生成する。例えば右目Ｘ座標に関するロジスティック回帰分析結果を逆量子化した座標値と、右目Ｙ座標に関するロジスティック回帰分析結果を逆量子化した座標値とをペアにすることにより、右目の座標値ベクトル（ＸＲＥ，ＹＲＥ）を生成する。左目と口についても同様である。
【００４０】
領域定義器１１０は、座標分解器１２０によって得られた右目／左目／口のＸＹ座標を対応する各サブ領域へ割り当てる。
【００４１】
以上の結果、画像データ２００の座標系上に対して、右目／左目／口のＸＹ座標が再現されることになる。図５の下図は、画像データ２００上においてこれら座標値が再現された結果を例示している。
【００４２】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る画像処理装置１００は、画像データ２００上の座標値を量子化して学習器１５０内部の分類を割り当て、各座標値が各サブ領域内の検出対象物体のＸＹ座標であるか否かを分類する。これにより、物体検出問題を分類問題として取り扱うことができるので、学習器１５０の学習効率を向上させることができる。
【００４３】
本実施形態１において、座標分解器１２０は画像データ２００の座標値を座標軸毎に分解したが、これは座標軸毎に学習器１５０の内部分類を割り当てることにより、個々の座標軸に対する学習処理を簡易化し、もって学習処理全体を効率化する意義がある。座標値を座標軸毎に分解しなくとも十分な効率が得られる場合は、必ずしも座標値を分解する必要はない。
【００４４】
＜実施の形態２＞
図６は、本発明の実施形態２に係る画像処理装置１００の機能ブロック図である。本実施形態２に係る画像処理装置１００は、実施形態１で説明した構成に加えてシフト器１８０を備える。その他構成は実施形態１と同様である。
【００４５】
図７は、シフト器１８０の処理を説明する図である。再現器１７０が画像データ２００上に右目／左目／口のＸＹ座標を再現した結果、これらの位置が画像データ２００の中央からずれている場合、シフト器１８０は画像データ２００全体を中央寄りにシフトさせる。例えば顔画像においては、右目／左目／口のＸＹ座標の重心が画像データ２００の中央に配置されるようにシフトさせることにより、右目／左目／口を画像データ２００内でバランスよく配置することができる。具体的なシフト処理の内容は画像データ２００内の物体に依拠するので、これに応じて適宜定めればよい。
【００４６】
＜実施の形態３＞
本発明の実施形態３では、画像データ２００が人の顔画像以外である場合におけるサブ領域の定義について例示する。画像処理装置１００の構成は実施形態１〜２で説明したものと同様である。
【００４７】
図８は、画像データ２００が走行する車両を側面から撮影したものである場合における領域定義器１１０の処理と量子化器１３０の処理を説明する図である。車両は路面を走行するので、路面近傍のみを検出対象とすれば足りる。そこで領域定義器１１０は、画像データ２００の下半分を路面領域として定義し、量子化器１３０は同領域の座標値を量子化する。以後の処理は路面領域に対してのみ実施すればよい。これにより、検出精度を落とすことなく処理効率を向上させることができる。
【００４８】
図９は、画像データ２００が車両を正面から撮影したものである場合における領域定義器１１０の処理を説明する図である。この実施形態においては、車両を正面から見た場合の特徴的要素は左右ライトとナンバープレートであると考え、領域定義器１１０はこれらに相当するサブ領域を定義している。車両デザインは様々なものがあることを考慮し、図９においてサブ領域は重なり合っている。
【００４９】
＜実施の形態４＞
図１０は、本発明の実施形態４に係る画像処理装置１００のハードウェア構成を示す図である。実施形態１〜３で説明した画像処理装置１００が備える各機能部は、その機能を実装したソフトウェアをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置が実行することにより構成することができる。
【００５０】
さらにこれら機能部を複数の装置に分散して搭載し、各装置が互いに通信することにより、画像処理装置１００を構成することができる。図１０においては、画像処理装置１００の機能を装置１０００ａと１０００ｂに分割し、これら装置がネットワーク１４００を介して通信することにより、画像処理装置１００を構成することができる。図１０においては、各装置１０００はそれぞれＣＰＵ１１００、メモリ１２００、通信インターフェース１３００を備える。
【００５１】
各装置１０００がいずれの機能を実行するかは、適宜定めることができる。例えば装置１０００ａは領域定義器１１０、座標分解器１２０、量子化器１３０、およびマッピング器１４０に相当する処理を実行してその結果を装置１０００ｂへ送信し、装置１０００ｂは学習器１５０、分類器１６０、再現器１７０、およびシフト器１８０に相当する処理を実行することができる。
【００５２】
＜実施の形態５＞
以上の実施形態１〜４において、分類器１６０はｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層の出力に対してロジスティック回帰分析を実施することを説明した。ロジスティック回帰分析は、ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層の出力を分類するためのものであるので、同様の処理をニューラルネットワークによる分類処理として実装することもできる。したがって分類器１６０は、ロジスティック回帰分析を実施することに代えて、ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ層の次の新たなニューラルネットワーク層として構成することもできる。
【００５３】
以上の実施形態１〜４において、ニューロンの活性化関数としてＲｅＬＵを用いることを説明したが、その他の活性化関数を用いることもできる。例えばハイパボリックタンジェント関数、シグモイド関数、などが考えられる。各層における活性化関数としてそれぞれ異なるものを用いることもできる。
【００５４】
以上の実施形態１〜４においては、サブ領域および量子化後の各座標は矩形ベースであるが、検出しようとする物体の形状によっては、例えば三角形や多角形などその他形状を用いることもできる。
【００５５】
以上の実施形態１〜４において説明した学習器１５０のニューラルネットワーク構造は例示であり、その他構造を用いることもできる。
【００５６】
＜本発明の変形例について＞
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００５７】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００５８】
１００：画像処理装置、１１０：領域定義器、１２０：座標分解器、１３０：量子化器、１４０：マッピング器、１５０：学習器、１６０：分類器、１７０：再現器、１８０：シフト器、２００：画像データ。
【図１】
0006348431.tif 000002
【図２】
0006348431.tif 000003
【図３】
0006348431.tif 000004
【図４】
0006348431.tif 000005
【図５】
0006348431.tif 000006
【図６】
0006348431.tif 000007
【図７】
0006348431.tif 000008
【図８】
0006348431.tif 000009
【図９】
0006348431.tif 000010
【図１０】
0006348431.tif 000011