(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-04
(45)【発行日】2024-09-12
(54)【発明の名称】画像処理装置、画像認識装置、画像処理プログラム、及び画像認識プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240905BHJP
【FI】
G06T7/00 300G
(21)【出願番号】P 2021054053
(22)【出願日】2021-03-26
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】000000011
【氏名又は名称】株式会社アイシン
(73)【特許権者】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(74)【代理人】
【識別番号】110004244
【氏名又は名称】弁理士法人仲野・川井国際特許事務所
(74)【代理人】
【識別番号】100096655
【氏名又は名称】川井 隆
(74)【代理人】
【識別番号】100091225
【氏名又は名称】仲野 均
(72)【発明者】
【氏名】山田 英夫
(72)【発明者】
【氏名】柴田 雅聡
(72)【発明者】
【氏名】榎田 修一
(72)【発明者】
【氏名】武本 崚吾
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2018-124963(JP,A)
【文献】道下裕也 外5名,歩行者検出における混合正規分布を用いた状態空間の自律構成法,電気学会論文誌C,一般社団法人電気学会,2018年09月01日,第138巻 第9号,pp.1100~1107
【文献】Sowmiya D. et al.,“Human detection in public environment using GHOG: Gaussian of mixtures & Histogram of Oriented Gradients”,2013 Fifth International Conference on Advanced Computing (ICoAC),IEEE,2013年,pp.263-267,[検索日 2024.8.2], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6921961&tag=1>,DOI: 10.1109/ICoAC.2013.6921961
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像認識学習用の画像を取得する画像取得手段と、
前記取得した画像を複数のブロックに区分する区分手段と、
輝度勾配方向の共起の頻度分布を前記区分したブロックごとに取得する頻度分布取得手段と、
前記取得したブロックごとの頻度分布を統合して1の頻度分布に統一する統一手段と、
前記統一した頻度分布に基づいて画像認識の基準となる基底関数を生成する基底関数生成手段と、
を具備したことを特徴とする画像処理装置。
【請求項2】
前記統一手段は、前記複数のブロックにおける頻度分布を重畳することにより前記統合を行う、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記統一手段は、前記取得したブロックごとの頻度分布に基づいてサンプルを発生させ、当該発生させたサンプルを前記複数のブロックに渡って足し合わせることにより、前記複数のブロックにおける頻度分布を重畳する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記頻度分布取得手段は、同一画像の異なる解像度間における輝度勾配方向の共起の頻度分布を取得する、
ことを特徴とする請求項1、請求項2、又は請求項3に記載の画像処理装置。
【請求項5】
前記画像取得手段は、複数の画像を取得し、
前記統一手段は、前記複数の画像のブロックごとの頻度分布を1の頻度分布に統一する、
ことを特徴とする請求項1から請求項4までのうちの何れか1の請求項に記載の画像処理装置。
【請求項6】
前記画像取得手段は、認識対象が写った認識対象画像と、認識対象が写っていない非認識対象画像を取得し、
前記頻度分布取得手段は、前記認識対象画像と前記非認識対象画像の対応するブロックにおける輝度勾配方向の頻度分布の差異に基づいて、当該ブロックにおける頻度分布を取得することを特徴とする、
請求項1から請求項5までのうちの何れか1の請求項に記載の画像処理装置。
【請求項7】
前記基底関数は混合ガウスモデルによる確率密度関数であって、尤度と混合数の兼ね合いから適当な混合数を決定する決定手段を具備した、
ことを特徴とする請求項1から請求項6までのうちの何れか1の請求項に記載の画像処理装置。
【請求項8】
前記複数のブロックには、頻度分布を統合する際の重み付けが設定されており、前記統一手段は、当該重み付けに従って、前記複数のブロックごとの頻度分布を統合する、
ことを特徴とする請求項1から請求項7までのうちの何れか1の請求項に記載の画像処理装置。
【請求項9】
請求項1から請求項8までのうちの何れか1の請求項に記載の基底関数を取得する基底関数取得手段と、
画像認識に係る画像を取得する画像取得手段と、
前記取得した画像をブロックに区分する区分手段と、
前記区分した各ブロックに対して前記取得した基底関数を適用し、当該基底関数に対する特徴量を取得する特徴量取得手段と、
前記各ブロックから取得した特徴量を用いて前記取得した画像に所定の画像認識対象が写っているか否かを判定する判定手段と、
を具備したことを特徴とする画像認識装置。
【請求項10】
画像認識学習用の画像を取得する画像取得機能と、
前記取得した画像を複数のブロックに区分する区分機能と、
輝度勾配方向の共起の頻度分布を前記区分したブロックごとに取得する頻度分布取得機能と、
前記取得したブロックごとの頻度分布を統合して1の頻度分布に統一する統一機能と、
前記統一した頻度分布に基づいて画像認識の基準となる基底関数を生成する基底関数生成機能と、
をコンピュータで実現する画像処理プログラム。
【請求項11】
請求項1から請求項8までのうちの何れか1の請求項に記載の基底関数を取得する基底関数取得機能と、
画像認識に係る画像を取得する画像取得機能と、
前記取得した画像をブロックに区分する区分機能と、
前記区分した各ブロックに対して前記取得した基底関数を適用し、当該基底関数に対する特徴量を取得する特徴量取得機能と、
前記各ブロックから取得した特徴量を用いて前記取得した画像に所定の画像認識対象が写っているか否かを判定する判定機能と、
をコンピュータで実現する画像認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像認識装置、画像処理プログラム、及び画像認識プログラムに関し、例えば、学習した対象を画像認識するものに関する。
【背景技術】
【0002】
自動車の自動運転技術の需要拡大にともなって、歩行者や車両を画像認識により検出する研究が盛んに行われている。
このような技術に、特許文献1に示したGMM-MRCoHOG特徴量を用いるものがある。この技術は、同一画像の異なる解像度間における輝度勾配方向の共起の頻度分布を連続値にて特徴空間に写像するものであって、先行技術であるHOG(Histograms of Oriented Gradients)特徴量、CoHOG(Co-occurrence Histograms of Oriented Gradients)特徴量、MRCoHOG(Multiple Resolution Co-occurence. Histograms of Oriented Gradients)特徴量などを用いた画像認識手法に比べて非常に頑健性の高い識別能力を誇っている。
【0003】
より詳細には、HOG特徴量、CoHOG特徴量、MRCoHOG特徴量は、何れも、量子化した方向(一般的には8方向)に対応するビンに各画素の輝度勾配方向を投票することにより、その頻度分布をヒストグラムで表すものであり、HOG特徴量では、各画素の輝度勾配方向を投票し、CoHOG特徴量では、2つの画素による輝度勾配方向の共起を投票し、MRCoHOG特徴量では、異なる解像度間での画素における輝度勾配方向の共起を投票する。
これらに対し、GMM-MRCoHOG特徴量では、GMM(Gaussian Mixture Model:混合ガウスモデル)を用いることにより、輝度勾配方向を連続値にて状態空間に配置することにより、共起の頻度分布を多峰性の確率密度関数によって表す。前3者は、状態空間を固定したビンにて形成するのに対し、GMM-MRCoHOG特徴量では、状態空間を自律的に形成することができる。
【0004】
ところで、GMM-MRCoHOG特徴量を用いた画像認識では、認識の対象となる画像を複数のブロックに区分して、ブロックごとに最適化した個別の異なる基底関数を用いており、メモリ容量やCPUの演算能力などの多くの計算リソースを必要とするという問題があった。
特に計算リソースが限られているFPGA(Field Programmable Gate Array)などに実装する場合、計算リソースの節約は極めて重要である。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、輝度勾配方向を用いた画像認識で計算リソースを節約することを目的とする。
【課題を解決するための手段】
【0007】
(1)請求項1に記載の発明では、画像認識学習用の画像を取得する画像取得手段と、前記取得した画像を複数のブロックに区分する区分手段と、輝度勾配方向の共起の頻度分布を前記区分したブロックごとに取得する頻度分布取得手段と、前記取得したブロックごとの頻度分布を統合して1の頻度分布に統一する統一手段と、前記統一した頻度分布に基づいて画像認識の基準となる基底関数を生成する基底関数生成手段と、を具備したことを特徴とする画像処理装置を提供する。
(2)請求項2に記載の発明では、前記統一手段が、前記複数のブロックにおける頻度分布を重畳することにより前記統合を行うことを特徴とする請求項1に記載の画像処理装置を提供する。
(3)請求項3に記載の発明では、前記統一手段が、前記取得したブロックごとの頻度分布に基づいてサンプルを発生させ、当該発生させたサンプルを前記複数のブロックに渡って足し合わせることにより、前記複数のブロックにおける頻度分布を重畳することを特徴とする請求項2に記載の画像処理装置を提供する。
(4)請求項4に記載の発明では、前記頻度分布取得手段が、同一画像の異なる解像度間における輝度勾配方向の共起の頻度分布を取得することを特徴とする請求項1、請求項2、又は請求項3に記載の画像処理装置を提供する。
(5)請求項5に記載の発明では、前記画像取得手段が、複数の画像を取得し、前記統一手段が、前記複数の画像のブロックごとの頻度分布を1の頻度分布に統一することを特徴とする請求項1から請求項4までのうちの何れか1の請求項に記載の画像処理装置を提供する。
(6)請求項6に記載の発明では、前記画像取得手段が、認識対象が写った認識対象画像と、認識対象が写っていない非認識対象画像を取得し、前記頻度分布取得手段が、前記認識対象画像と前記非認識対象画像の対応するブロックにおける輝度勾配方向の頻度分布の差異に基づいて、当該ブロックにおける頻度分布を取得することを特徴とする請求項1から請求項5までのうちの何れか1の請求項に記載の画像処理装置を提供する。
(7)請求項7に記載の発明では、前記基底関数は混合ガウスモデルによる確率密度関数であって、尤度と混合数の兼ね合いから適当な混合数を決定する決定手段を具備したことを特徴とする請求項1から請求項6までのうちの何れか1の請求項に記載の画像処理装置を提供する。
(8)請求項8に記載の発明では、前記複数のブロックには、頻度分布を統合する際の重み付けが設定されており、前記統一手段は、当該重み付けに従って、前記複数のブロックごとの頻度分布を統合することを特徴とする請求項1から請求項7までのうちの何れか1の請求項に記載の画像処理装置を提供する。
(9)請求項9に記載の発明では、請求項1から請求項8までのうちの何れか1の請求項に記載の基底関数を取得する基底関数取得手段と、画像認識に係る画像を取得する画像取得手段と、前記取得した画像をブロックに区分する区分手段と、前記区分した各ブロックに対して前記取得した基底関数を適用し、当該基底関数に対する特徴量を取得する特徴量取得手段と、前記各ブロックから取得した特徴量を用いて前記取得した画像に所定の画像認識対象が写っているか否かを判定する判定手段と、を具備したことを特徴とする画像認識装置を提供する。
(10)請求項10に記載の発明では、画像認識学習用の画像を取得する画像取得機能と、前記取得した画像を複数のブロックに区分する区分機能と、輝度勾配方向の共起の頻度分布を前記区分したブロックごとに取得する頻度分布取得機能と、前記取得したブロックごとの頻度分布を統合して1の頻度分布に統一する統一機能と、前記統一した頻度分布に基づいて画像認識の基準となる基底関数を生成する基底関数生成機能と、をコンピュータで実現する画像処理プログラムを提供する。
(11)請求項11に記載の発明では、請求項1から請求項8までのうちの何れか1の請求項に記載の基底関数を取得する基底関数取得機能と、画像認識に係る画像を取得する画像取得機能と、前記取得した画像をブロックに区分する区分機能と、前記区分した各ブロックに対して前記取得した基底関数を適用し、当該基底関数に対する特徴量を取得する特徴量取得機能と、前記各ブロックから取得した特徴量を用いて前記取得した画像に所定の画像認識対象が写っているか否かを判定する判定機能と、をコンピュータで実現する画像認識プログラムを提供する。
【発明の効果】
【0008】
複数のブロックに対して統一した基底関数を用いることにより、計算リソースを節約することができる。
【図面の簡単な説明】
【0009】
【
図1】画像処理装置のハードウェア的な構成の一例を示した図である。
【
図2】基底関数を生成する工程を説明するための図である。
【
図3】基底関数を生成する工程を説明するための図である。
【
図4】基底関数を生成する工程を説明するための図である。
【
図5】特徴空間への写像を説明するための図である。
【
図8】基底関数生成処理を説明するためのフローチャートである。
【
図10】画像認識を行った結果を表したグラフである。
【発明を実施するための形態】
【0010】
(1)実施形態の概要
全ブロックの状態空間について統一したGMM-MRCoHOG特徴量を採用することにより、各ブロックに渡って基底関数を統一する。これにより、ハードウェア化に向けて、計算リソースの使用を大幅に削減することができる。
具体的には,各ブロックで学習に用いるポジティブ画像とネガティブ画像それぞれの輝度勾配方向の頻度分布をカーネル密度推定により確率密度分布で近似する。
次に,ポジティブ画像とネガティブ画像で特徴的な部分に着目し、JS情報量に基づく尺度を用いて累積分布関数を算出する。そして、逆関数法により全ブロックの累積分布関数から一定のサンプルを共通の特徴空間に生成し、EMアルゴリズムを用いて混合ガウス分布で近似する。近似の際には、赤池情報基準により、適当な混合数を自動決定する。
【0011】
(2)実施形態の詳細
図1は、画像処理装置8のハードウェア的な構成の一例を示した図である。
画像処理装置8は、CPU81、ROM82、RAM83、記憶装置84、記憶媒体駆動装置85、入力部86、及び出力部87などがバスラインで接続されて構成されている。
CPU81は、中央処理装置であって、記憶装置84が記憶する画像処理プログラムに従って動作し、学習用画像から画像認識に用いる基底関数を生成する処理を行う。
【0012】
ROM82は、読み出し専用のメモリであって、CPU81を動作させるための基本的なプログラムやパラメータを記憶している。
RAM83は、読み書きが可能なメモリであって、CPU81が画像処理を行う際のワーキングメモリを提供する。
【0013】
記憶装置84は、ハードディスクなどの大容量の記憶媒体を用いて構成されており、画像処理プログラムや学習用画像(学習画像データ)などを記憶している。
画像処理プログラムは、CPU81に画像処理機能を発揮させるプログラムである。
【0014】
記憶媒体駆動装置85は、例えば、半導体記憶装置やハードディスクなどの外付けの記憶媒体を駆動する装置である。
CPU81は、記憶媒体から学習画像データを読み込むことができる。
入力部86は、操作担当者からの入力を受け付けるキーボード、マウスなどの入力デバイスを備えており、各種プログラムやデータの読み込みや、操作担当者からの操作を受け付ける。
出力部87は、操作担当者に各種の情報を提示するディスプレイ、プリンタなどの出力デバイスを備えており、画像処理の操作画面、及び、画像処理結果を出力する。
【0015】
このほかに、画像処理装置8は、通信ネットワークと接続する通信制御部や外部機器と接続するためのインターフェースなどを備えており、外部のサーバから学習画像データをダウンロードすることもできる。
【0016】
画像処理装置8は、画像処理プログラムを実行することにより、
図2から
図4までの各図に示した工程に従って、GMM-MRCoHOG特徴量を用いた画像認識に用いる基底関数を生成する。以下、これについて説明する。
なお、GMM-MRCoHOG特徴量を用いた画像認識は、本願発明者らが開発した技術であって、極めて高い認識精度を誇っている。
【0017】
本実施形態では、
図2(a)(d)に示したように、画像認識対象(歩行者とする)が様々な姿態で写ったポジティブ画像10と、歩行者を除いて背景となる様々な景色が写ったネガティブ画像20との間のJS(Jensen-Shannon)情報量を用いて基底関数を作成する。
JS情報量を用いると、より頑健に画像認識を行うことができることは、本願発明者らが見出したものである。
【0018】
図では、ポジティブ画像10とネガティブ画像20をそれぞれ一枚ずつ示してあるが、画像処理装置8は、2万枚程度のポジティブ画像10とネガティブ画像20を学習して基底関数を作成する。
このように、画像処理装置8は、認識対象が写った認識対象画像(ポジティブ画像10)と、認識対象が写っていない非認識対象画像(ネガティブ画像20)で構成された、複数の画像認識学習用の画像を取得する画像取得手段を備えている。
【0019】
まず、画像処理装置8は、ポジティブ画像10を複数の同じ正方形のブロック11a、11b、11c、・・・に区分する。ここでは、一例として歩行者の形状に合わせて水平方向の3個、鉛直方向に6個の計18個のブロック11に区分する。
このように、画像処理装置8は、画像を複数のブロックに区分する区分手段を備えている。
そして、画像処理装置8は、各ブロック11における各画素の輝度勾配方向の共起の頻度分布を、
図2(b)に示したブロック11ごとの特徴空間13a、13b、13c、・・・に写像する。
【0020】
輝度勾配方向は、例えば、当該画素の位置における低輝度から高輝度に向かう方向である。以下、勾配方向と略記することにする。
また、勾配方向を写像した空間、及び、これから派生する空間(後のサンプリングによる空間など)は、画像の特徴を抽出した空間であるため、特徴空間と呼ぶことにする。
ブロック11a、11b、11c、・・・や特徴空間13a、13b、13c、・・・を特に区別しない場合は、それぞれ、単にブロック11や特徴空間13と記すことにし、他の同様な構成要素についても同様とする。
【0021】
図5は、勾配方向の特徴空間13への写像を説明するための図である。
画像処理装置8は、
図5(a)に示したように、ポジティブ画像10の解像度を変換して、ポジティブ画像10から、画像サイズの異なる高解像度画像15、中解像度画像16、低解像度画像17を生成する。
ポジティブ画像10の解像度が適当な場合は、ポジティブ画像10をそのまま高解像度画像15として使用する。画像処理装置8は、上記各解像度の画像に対して以下の処理をブロックごとに行う。
【0022】
まず、画像処理装置8は、高解像度画像15、中解像度画像16、低解像度画像17のそれぞれの画素について勾配方向を計算する。勾配方向の角度は、0°~360°の連続値である。36方向など、量子化した値を用いることも可能である。
【0023】
画像処理装置8は、勾配方向を算出すると、ブロック11aにおいて、基準とする画素(以下、注目画素)と、これから離れた位置にある画素(以下、オフセット画素)の勾配方向の共起を次のようにして取得する。
【0024】
まず、画像処理装置8は、
図5(b)に示したように、高解像度画像15に注目画素5を設定し、高解像度画像15で注目画素5からオフセット距離1(即ち、高解像度において隣接する)にあるオフセット画素1a~1dに着目する。
なお、画素n個分の距離をオフセット距離nと呼ぶことにする。
【0025】
そして、画像処理装置8は、注目画素5とオフセット画素1a~オフセット画素1dとの各勾配方向の共起(勾配方向の組合せ)を取得し、これに対応する点をデータ点51、51、・・・として、
図5(c)に示すブロック11a用の特徴空間13aにプロットする。
【0026】
例えば、
図5(b)において、注目画素5とオフセット画素1aの共起をプロットする場合、注目画素5の勾配方向が26°で、オフセット画素1aの勾配方向が135°であったとすると、画像処理装置8は、特徴空間13aの横軸が26°で縦軸が135°である位置にデータ点51をプロットする。
同様にして、画像処理装置8は、注目画素5とオフセット画素1b~1dとの共起を取得して特徴空間13aにプロットする。なお、注目画素5の上及び左にある画素との共起を取得しないのは、注目画素5を右側に順次移動しながら共起を取得していくので、既に前の段階で取得してプロットしてあるためである。
【0027】
次に、画像処理装置8は、オフセット距離2に位置する中解像度画像16のオフセット画素2a~2dについて、同様に注目画素5との勾配方向の共起を取得して特徴空間13aにプロットし、更に、オフセット距離3に位置する低解像度画像15のオフセット画素3a~3dについて、同様に注目画素5との勾配方向の共起を取得して特徴空間13aにプロットする。
【0028】
画像処理装置8は、このようにして、高解像度から低解像度に渡るオフセット距離1~3のオフセット画素との勾配方向の共起をプロットすると、注目画素5をブロック11a内で順次移動しながら(注目画素5を中解像度画像16、低解像度画像17にも移動する)同様の処理を行って、ブロック11aについての特徴空間13aを完成させる。
【0029】
なお、注目画素5の移動はブロック11a内で行うが、オフセット画素については、ブロック11aを超える場合でも選択する。また、ブロック11aの端部で隣接するオフセット画素がないものについては適当な方法により処理する。
同様にして、画像処理装置8は、ブロック11b、11c、・・・についても特徴空間13b、13c、・・・にデータ点をプロットしていく。これにより、勾配方向の共起の頻度分布をデータ点の粗密によって表した、ブロック11ごとの特徴空間13を得ることができる。
【0030】
このように、画像処理装置8は、同一画像の異なる解像度間における輝度勾配方向の共起の頻度分布を区分したブロックごとに取得する頻度分布取得手段を備えており、解像度の違う複数の画像間の勾配方向の共起分布を連続値のまま特徴空間13に写像する。
図2に戻り、画像処理装置8は、
図2(e)に示したように、ネガティブ画像20についても、ブロック11a、11b、11c、・・・に対応する特徴空間23a、23b、23c、・・・を作成する。
【0031】
次に、画像処理装置8は、
図2(c)に示したように、特徴空間13にプロットしたポジティブデータ(特徴空間13上のデータ点)から確率密度関数fp(x)をブロック11ごとに生成する。図では、密度の高低を等高線で模式的に表している。
画像処理装置8は、同様にして、
図2(f)に示したように、特徴空間23にプロットしたネガティブデータ(特徴空間23上のデータ点)から確率密度関数fn(x)を生成する。
【0032】
fp(x)とfn(x)は、
図7(a)の式(3)で示したガウス型の関数をカーネル密度関数として、それぞれ、式(1)、(2)で表される。
nはデータ数である。Xi(p)、Xi(n)は、それぞれポジティブデータ、ネガティブデータであり、それぞれ2次元のベクトル量である。xは、特徴空間上の点であり、2次元のベクトル量である。
【0033】
なお、図では上下付き文字を示してあるが、文字コード誤変換を避けるため、通常の文字で記載する。他の式も同様とする。また、ベクトル量は太字で表すところ、誤変換防止のため、これも通常の文字で記載する。
hは、バンド幅であって、分布の広がり程度をどのくらいにするか、といったような量を規定するパラメータである。これには適当な値を設定する。
【0034】
fp(x)、fn(x)は、それぞれ、ポジティブ画像10、ネガティブ画像20における勾配方向の共起の生起確率を表している。
このように、画像処理装置8は、ポジティブデータとネガティブデータの勾配方向の共起を連続値のまま特徴空間に投票し、投票したデータ点をカーネル密度関数推定によって確率密度関数に近似する。
【0035】
次に、画像処理装置8は、
図3(a)に示したように、ポジティブ画像10上とネガティブ画像20上でブロックの位置が対応する特徴空間(特徴空間13aと特徴空間23aなど)を組み合わせて、それぞれのfp(x)とfn(x)から
図3(b)に示したように、JS情報量33を組ごとに生成する。
このようにして、画像処理装置8は、特徴空間13aと特徴空間23aの組からJS情報量33aを生成し、特徴空間13bと特徴空間23bの組からJS情報量33bを生成し、といったようにJS情報量33をブロック11ごとに生成する。
【0036】
JS情報量は、
図7(b)の式(5)のJ(fp(x):fn(x))で表される。
J(fp(x):fn(x))は、式(4)で示したKL(Kullback-Leibler)情報量が対称性を持つように式(6)を用いて定義したものである。
JS情報量は、2つの確率分布の距離を計量する計量空間を構成し、これを用いることにより、xに対するfp(x)とfn(x)の類似度を算出することができる。
【0037】
J(fp(x):fn(x))は、fp(x)とfn(x)の形状が異なるほど(類似していないほど)絶対値が大きくなる。このため、JS情報量によりfp(x)とfn(x)の何れか一方に特徴的な部分を表現することができる。
このような何れか一方に生起確率が偏っている、fp(x)とfn(x)の差異の箇所が情報として有用であり(偏っていない箇所は、歩行者であるか背景であるか判断が困難)、画像処理装置8は、当該差異の大きい領域の情報をJS情報量により抽出する。
このように、画像処理装置8が備える頻度分布取得手段は、認識対象画像と非認識対象画像の対応するブロックにおける輝度勾配方向の頻度分布の差異に基づいて、当該ブロックにおける頻度分布を取得する。
【0038】
次に、画像処理装置8は、
図3(c)に示したように、ブロック11ごとのJ(fp(x):fn(x))に対して、それぞれの累積分布関数を用いた逆関数法によりサンプリングして、ブロック11ごとにサンプル(特徴空間上の点)を発生させる。
このようにして、JS情報量33a、33b、・・・から、ブロック11a、11b、・・・ごとにサンプルを発生させた特徴空間35a、35b、・・・を生成する。
このように、画像処理装置8は、ブロックごとの頻度分布に基づいてサンプルを発生させる。
【0039】
J(fp(x):fn(x))は、ポジティブデータとネガティブデータの何れか一方に偏っているため、逆関数法を用いたサンプリングにより生起確率が偏っている箇所に集中して多数のサンプルを生成させることができる。
カーネル密度推定を用いてJ(fp(x):fn(x))を求めると、基底となる式(3)のガウス分布の数がデータ数に依存するため、パラメータ数が非常に多くなっているが、これをサンプリングによって削減することができる。
【0040】
なお、上の説明では、単一のポジティブ画像10から特徴空間13をブロックごとに生成しているが、画像処理装置8は、多数の学習用のポジティブ画像10から取得した特徴空間13をブロックごとに重畳して、ブロックごとの特徴空間13を作成する。
例えば、1枚目のポジティブ画像10から作成した特徴空間13a1、2枚目のポジティブ画像10から作成した特徴空間13a2、・・・・を足し合わせて特徴空間13aを作成し、同様に特徴空間13b1、13b2・・を足し合わせて特徴空間13bを作成する。ネガティブ画像20についても同様である。
【0041】
画像処理装置8は、
図4(a)に示したように、ブロック11ごとのサンプリングデータによる特徴空間35を生成した後、
図4(b)に示したように、これら特徴空間35a、35b、・・・のサンプルを全て足し合わせることによって統合し、これによって勾配方向の頻度分布がサンプルの粗密によって表された、統一した特徴空間36を生成する。
このように、画像処理装置8は、ブロックごとの頻度分布を重畳することにより統合して1の頻度分布に統一する統一手段を備えており、当該統一手段は、発生させたサンプルを複数のブロックに渡って足し合わせることにより、複数のブロックにおける頻度分布を重畳している。
更に、画像処理装置8は、多数の学習画像について、頻度分布を1つに統合するため、当該統一手段は、複数の画像のブロックごとの頻度分布を1の頻度分布に統一している。
【0042】
変形例として、ブロック11に重み付けを設定しておき、当該ブロック11に対応する特徴空間35のサンプルを当該重み付けに従って加算するように構成することもできる。
例えば、重みの小さいブロック11については、サンプル1つにつき1つ加算し、重みの大きいブロック11については、サンプル1つにつき3つ加算するなどする。
これにより、重要度の低いブロック11(歩行者の写りにくい4隅のブロックなど)の重み付けを小さく設定し、重要度の高いブロック11の重み付けを高く設定することができる。
当該変形例では、複数のブロックに、頻度分布を統合する際の重み付けが設定されており、画像処理装置8が備える統一手段は、当該重み付けに従って、複数のブロックごとの頻度分布を統合する。
【0043】
画像処理装置8は、このように統一した特徴空間36を生成すると、
図4(c)に示したように、c-AIC(後述する)を用いて混合数を決定し、更に、EMアルゴリズム(EステップとMステップを繰り返すことによりGMMの数式を探索する手法)によってGMMによる状態空間を生成し、これを基底関数37に設定する。
ここで、状態空間とは、ヒストグラムやGMMなどで特徴量の境界や配置が決定した空間を意味する。
このように、画像処理装置8は、統一した頻度分布に基づいて画像認識の基準となる基底関数を生成する基底関数生成手段を備えている。
従来は、特徴空間35a、35b、・・・ごとにGMMを生成してブロック11ごとに基底関数を生成していたが、これに対し、本実施形態の画像処理装置8は、特徴空間36から全ブロック11に共通の基底関数37を生成するところが新規な点である。
【0044】
GMMは、ガウス分布を線形に重ね合わせて任意の分布を近似するモデルであり、式(11)で表される。kは混合数(重ね合わせるガウス分布の数)、Nは、平均がμkで分散共分散がΣkであるk番目のガウス分布の確率密度関数、θは混合数kの混合正規分布のパラメータである。
αjは、重ね合わせるガウス分布の重みを表す混合係数であって、足すと合計が1になる正の実数である。
GMMは、積分すると1になるように規格化されており、GMMによって特徴空間36のサンプルの分布を多峰性の確率密度関数p(x|θ)で近似することができる。
【0045】
GMMでは、混合数kを指定すると、対象となる分布をk個のクラスタにクラスタリングし、その上ガウス分布を配置する。
このように、GMMによる最適な状態空間を構成するためには混合数の決定が必要であるが、混合数は増やしすぎるとモデルの汎化能力が低下すると共に計算コストが増加するという問題がある。
そこで、画像処理装置8は、GMMを生成する前に、赤池情報基準(AIC)に基づいた尺度によって混合数を自動決定した。
【0046】
図6は、赤池情報基準を説明するための図である。
赤池情報基準には、AIC(Akaike’s Information Criterion)と、これを用いたc-AIC(correction of AIC)がある。
ここで、AICは、統計的モデルの良さを評価する基準であり、汎化能力に優れたモデルであるほど小さな値となる。
一方、c-AICは、AICを少ないサンプルでも適応可能にしたものである。
図6(a)に示したように、AICは、単調減少するモデルのフィット度合いと単調増加するパラメータ数の和で表される。そして、AIC値が最小のモデルが、ペナルティとモデルの複雑さのバランスがとれ、汎化能力に優れたモデルとなる。
【0047】
本実施形態では、AICを
図7(c)の式(7)で定義した。
nはサンプル数、kは混合数、pは、GMMからのサンプルxiの生起確率、θk(ハットを省略)は、混合数kで構成されたGMMのパラメータである。
tkは、式(8)で表される。ここで、dはサンプルデータの次元数である。
【0048】
ところで、AICは、大規模な標本サイズを前提としており、サンプル数が少ない場合にはパラメータ数を過大に見積もる傾向がある。
そこで、本実施形態では、サンプル数が少ない場合にモデルのシンプルさを高評価する、式(9)で表されたc-AICに従って混合数を決定した。
【0049】
式(9)では、第1項を負の対数尤度によって構成し、モデルが複雑になるほど単調減少すると想定した。
また、第2項は、パラメータ数によるペナルティ項であり、単調増加する。
本実施形態では、いくつかの混合数に対してc-AIC値を計算して曲線近似し、これによる近似値から混合数を決定した。
曲線による近似値を用いることにより、学習データのばらつきに影響されずに、最もc-AICが低い混合数を決定することができる。
【0050】
このようにして適当な混合数を探索したところ
図6(b)のようになった。
このグラフの横軸は混合数を表しており、縦軸は負の対数尤度を示している。負の対数尤度が小さいほど(即ち、尤度が大きくなり)よいモデルであることを示している。
グラフにプロットした探査値は、c-AICの計算値であり、推定値は、探査値から求めた近似曲線上の点である。
グラフに示したように、混合数15程度以上では、負の対数尤度がほぼ一定となっており、15程度まで混合数を下げることが可能と思われる。
このように、画像処理装置8は、基底関数を混合ガウスモデルによる確率密度関数で生成し、尤度と混合数の兼ね合いから適当な混合数を決定する決定手段を備えている。
【0051】
図8は、画像処理装置8が行う基底関数生成処理を説明するためのフローチャートである。
CPU81は、記憶装置84からポジティブ画像10を1枚読み込み、RAM83に入力して記憶する(ステップ10)。
次に、CPU81は、ポジティブ画像10をブロック11に区分し、ブロックごとに勾配方向の共起を特徴空間13にプロットしてRAM83に記憶する(ステップ15)。
CPU81は、以上のポジティブ画像10に対するプログラム処理を基底関数生成に必要な枚数だけ行う。
次に、CPU81は、RAM83に記憶した多数の特徴空間13を、ブロック11ごとに重畳することにより、ブロック11ごとのfp(x)を生成してRAM83に記憶する(ステップ25)。
【0052】
次に、CPU81は、記憶装置84に記憶してあるネガティブ画像20に対しても、RAM83への入力(ステップ35)、特徴空間23へのプロット(ステップ40)を必要な枚数分だけ行い、そして、ブロック11ごとのfn(x)を生成してRAM83に記憶する(ステップ50)。
【0053】
次に、CPU81は、RAM83に記憶したfp(x)とfn(x)を用いてブロック11ごとのJS情報量を生成してRAM83に記憶する(ステップ55)。
次に、CPU81は、RAM83に記憶したJS情報量に基づいてサンプリングを行いブロック11ごとのサンプルによる特徴空間35を生成してRAM83に記憶する(ステップ60)。
【0054】
次に、CPU81は、RAM83に記憶したブロック11ごとの特徴空間35を足し合わせることにより統合し、これによって統一した特徴空間36を生成してRAM83に記憶する(ステップ65)。
次に、CPU81は、RAM83に記憶した特徴空間36に対して、c-AICを用いて混合数を決定し、更に、EMアルゴリズムを用いて当該混合数に基づくGMMを生成する(ステップ70)。
そして、CPU81は、当該GMMをRAM83に記憶して、画像認識に用いる基底関数37に設定する(ステップ75)。
【0055】
次に、基底関数37を用いた画像の特徴の抽出方法について説明する。
図示しないが、画像認識装置9は、画像処理装置8と同様のハードウェア構成を有しており、画像認識プログラム、認識対象の画像、及び画像処理装置8が生成した基底関数37などを記憶した記憶装置94、画像認識プログラムに従って画像認識するCPU91、及び、これにワーキングメモリを提供するRAM93などを備えている。
【0056】
画像認識装置9は、次のように、画像の基底関数37に対する負担率を当該画像の特徴量として算出する。
負担率λjは、
図7(d)の式(10)で表され、zは潜在パラメータ(j番目の成分が1で他が0となるk次元のベクトル量)である。
負担率λjは、データ点の分布xがj番目のガウス分布から生成される確率を表している。
各zについて計算するとλjによるk次元のベクトルが得られるが、画像認識装置9は、これを特徴量とする。データ点xがポジティブ画像10とネガティブ画像20の何れにも類似していない場合は0ベクトルに近づく。
このような原理に基づき、画像認識装置9は、次のようにして画像から特徴量を抽出する。
【0057】
図9は、画像認識方法を説明するための図である。
以下の処理は、CPU91が画像認識プログラムに従って行うものである。
図9(a)に示したように、画像認識装置9は、画像認識対象である画像40をRAM93に読み込み、その上に識別フィルタ41aで矩形領域を設定する。
このように、画像認識装置9は、画像認識に係る画像を取得する画像取得手段を備えている。
そして、画像認識装置9は、識別フィルタ41aによって抽出した画像を、例えば、ポジティブ画像10やネガティブ画像20と同じ3×6個のブロック11a、11b、・・・に区分する。
このように、画像認識装置9は、取得した画像をブロックに区分する区分手段を備えている。
【0058】
次いで、画像認識装置9は、ブロック11ごとに高中低の解像度に渡って勾配方向の共起を特徴空間13にプロットする。
そして、画像認識装置9は、記憶装置94から基底関数37を読み出して、その基底関数37に対する各ブロック11の負担率を
図7(d)の式(10)によって計算する。
このように、画像認識装置9は、画像処理装置8が生成した基底関数を取得する基底関数取得手段と、区分した各ブロックに対して当該基底関数を適用し、当該基底関数に対する特徴量を取得する特徴量取得手段を備えている。
【0059】
画像認識装置9は、このようにして算出した負担率による特徴量を用いて識別フィルタ41内の画像に歩行者が写っているか否かを判断し、判断結果をRAM93に記憶する。
これは各種の方法が考えられ、例えば、ブロック11ごとに判定してそれを総合判定してもよいし、あるいは、各ブロック11の負担率を統合して全体として判定してもよい。
【0060】
判定は、例えば、SVM(サポートベクターマシン)やAdaBoostなどの識別器に正規化した特徴量を入力して行うことができる。
画像認識装置9は、このようにして識別フィルタ41a内の画像を判定すると、識別フィルタ41を1ブロックずつシフトしながら画像40を走査し、同様の判定を行っていく。
このように、画像認識装置9は、各ブロックから取得した特徴量を用いて画像に所定の画像認識対象が写っているか否かを判定する判定手段を備えている。
【0061】
画像認識装置9は、全ブロック11で統一した最適なGMMによる状態空間を作成し、各ブロック11に同一の基底関数37を適用するため、各ブロック11同士の状態空間に互換性がある。
これにより、識別フィルタ41を移動させても一度計算したブロック11は特徴量の引き継ぎが可能となり、画像中の識別フィルタ41をスライドさせても、その都度特徴量を計算し直す必要が無くなる。
【0062】
例えば、
図9(a)の識別フィルタ41aと識別フィルタ41bでは、ブロック11Aが共通である。
従来は、識別フィルタ41ごとのブロック11ごとに基底関数を設定していたため、
図9(b)上図に示したように、同じブロック11Aであるにもかかわらず、特徴量を再度計算していた。
【0063】
これに対し、画像認識装置9は、同じ基底関数37を使用するため、
図9(b)下図に示したように、識別フィルタ41a、41bで、ブロック11Aの特徴量が同じ値になるため、先に計算した特徴量を引き継ぐことができる。これにより計算リソースを大幅に節約することができる。
【0064】
このように、従来手法では、各ブロックで使用する基底関数が異なるため、隣接した矩形領域の特徴量を計算する際、重複した領域があるにも関わらず、全ての領域で特徴量の計算を再度行う必要があり、計算コストが高くなっていたが、共通の基底関数37を採用することにより、これらの問題を解決することができる。
【0065】
更に、GMMを用いない従来方式では、
図9(c)上図のように、ブロック11ごとに設定した2次元ヒストグラムに、例えば、8方向に量子化した勾配方向のペアを投票していた。ヒストグラムのビンは、認識対象にかかわらず設定したため、画像の特徴が現れないビンにも投票していた。
これに対し、GMMによって状態空間を生成する方式では、
図9(c)下図のように、画像の特徴が現れる領域に対して自律的に確率密度の高い領域が形成されるため、領域45のように、特徴の現れない領域に対する処理を行わずに済む。これにより、計算コストを低減することができる。
【0066】
更に、従来は、ブロック11ごとに基底関数を設定していたため、例えば、基底関数を3×6のブロック11で生成した場合は、識別フィルタも3×6にする必要があった。
これに対し、本実施形態の方式では、基底関数37が共通なため、識別フィルタを、例えば、3×5にするなど、ブロック単位で変形して設計することも可能な場合がある。これにより、識別フィルタ作成側のシステムと識別フィルタ使用側のシステムの結合を従来よりも疎とすることができる。
【0067】
図10は、画像処理装置8が生成した基底関数37を用いて画像認識を行った結果を表したグラフである。
図10(a)、(b)、(c)は、c-AIC値に基づき、それぞれ混合数k=45、32、15とした場合のROC(Receiver Operating Characteristic)曲線であって、横軸は誤検出率、縦軸は正検出率を示している。
【0068】
太線は基底関数を基底関数37に統一した画像認識装置9によるGMM-MRCoHOG特徴量の場合、破線はブロック11ごとに異なる基底関数を用いた従来のGMM-MRCoHOG特徴量を用いた場合、細線はヒストグラムを用いたMRCoHOG特徴量の場合を示しており、曲線が左上の隅に寄るほどよい精度であることを示している。
【0069】
グラフに示したように、k=45では、基底関数を統一したGMM-MRCoHOG特徴量を用いた場合は、従来のGMM-MRCoHOG特徴量を用いた場合に比べて認識精度が若干劣るが、従来のMRCoHOG特徴量を用いた場合に比べて高い認識精度を誇っており、十分に実用に耐えることができる。
k=32、15では、基底関数を統一したGMM-MRCoHOG特徴量を用いた場合は、k=45の場合よりも若干認識精度が劣るが、従来のMRCoHOG特徴量を用いた場合に比べて高い認識精度を誇っており、十分に実用に耐えることができる。
【0070】
以上、本実施形態について説明したが、各種の変形が可能である。
例えば、本実施形態では、ポジティブ画像とネガティブ画像を用いたが、基底関数の作成は、ポジティブ画像だけで行うことも可能である。
また、本実施形態では、確率分布間の計量にJS情報量を用いたが、他の計量を用いることも可能である。
【0071】
以上に説明したように、本実施形態によれば、各ブロックで使用する基底関数を一つに統一することでメモリの使用量を大幅に低減することができる。
また、基底関数が各ブロックで共通なため、隣接した矩形領域の特徴量を計算する際においても、既に計算した特徴量を活用でき、計算コストの削減が可能となる。
また、基底関数を統一することで精度低下が懸念されるが、赤池情報量規準に基づく尺度を用いて混合数を自動決定することにより、計算リソースの使用を抑制したまま精度を保つことができる。より精度を上げたい場合は、混合数を増加させればよい。
これにより、FPGAや小型コンピュータ、あるいは、GPGPU(General-purpose computing on graphics processing units)などの高機能な演算処理を有しない機器に高い識別能力を維持したまま搭載することができる。
【符号の説明】
【0072】
5 注目画素
8 画像処理装置
10 ポジティブ画像
11 ブロック
13、23、35、36 特徴空間
15 高解像度画像
16 中解像度画像
17 低解像度画像
20 ネガティブ画像
33 JS情報量
37 基底関数
40 画像
41 識別フィルタ
45 領域
81 CPU
82 ROM
83 RAM
84 記憶装置
85 記憶媒体駆動装置
86 入力部
87 出力部