JP6383639B2 - 画像処理装置及びプログラム - Google Patents

画像処理装置及びプログラム Download PDF

Info

Publication number
JP6383639B2
JP6383639B2 JP2014220616A JP2014220616A JP6383639B2 JP 6383639 B2 JP6383639 B2 JP 6383639B2 JP 2014220616 A JP2014220616 A JP 2014220616A JP 2014220616 A JP2014220616 A JP 2014220616A JP 6383639 B2 JP6383639 B2 JP 6383639B2
Authority
JP
Japan
Prior art keywords
detection
prior distribution
learning
image
unit
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
JP2014220616A
Other languages
English (en)
Other versions
JP2016091051A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014220616A priority Critical patent/JP6383639B2/ja
Publication of JP2016091051A publication Critical patent/JP2016091051A/ja
Application granted granted Critical
Publication of JP6383639B2 publication Critical patent/JP6383639B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、画像処理装置、及び画像処理プログラムに係り、特に、画像から検出対象を検出する画像処理装置、及び画像処理プログラムに関する。
近年、画像や動画に写る物体を自動的に検出及び識別する技術によって、WEB画像検索システムや、実世界の物体をクエリとして商品を検索するシステムなどが実現されている。これらのシステムは、画像に写る物体、例えば、服や動物などを自動的に検出し、対応する商品や物体の名称を提示することを目的としている。ユーザの多様な検索ニーズに答えるためには、物体そのものだけでなく、物体を構成するパーツや要素(例えば服における襟やその形)を自動的に検出する技術が必要となる。そのようなパーツや要素はアトリビュートと呼ばれ、近年、アトリビュート検出の研究開発が進められている。例えば、非特許文献1に記載の技術では、犬の尻尾・足・毛皮、飛行機の翼・窓・金属といった物体を構成するパーツや質感をアトリビュートとして扱っている。また、非特許文献2に記載の技術では、衣服の襟の形、袖の長さ、柄などをアトリビュートとして扱っている。
アトリビュートの検出を実現するためには、アトリビュートを検出すべき物体とみなし、従来の物体検出手法を適用することが簡便な方法である。物体検出の方法について従来いくつかの発明がなされ、開示されてきている。
例えば、特許文献1に記載の発明では、予め用意した物体のテンプレートと入力画像とをマッチングすることにより、入力画像中の検出対象である物体を検出している。さらに、特許文献1に記載の技術では、入力画像のシーン構成を推定し、前景に対してのみテンプレートを走査することで、精度の良い検出を行っている。
また、非特許文献3に記載の技術では、学習画像に含まれる検出対象を示す領域が矩形領域として与えられた学習画像から学習した検出器を用いて、画像全体を走査し検出対象を検出している。この方法では、各学習画像における矩形領域に含まれる画素の画素値から、HOG(Histograms of Oriented Gradients)等の特徴量を抽出し(非特許文献4)、SVM(Support vector machine)等の識別器を用いて検出対象の検出器を学習する。検出時には、画像に対して任意の大きさの矩形をずらしながら当てはめ、各矩形内の領域から抽出した特徴量を学習した検出器に入力し、その矩形内に検出対象が存在する確率(スコア)を得る。そして、閾値を超えたスコアを持つ矩形の位置を最終的な検出結果としている。
特開2012−123567号公報
A. Farhadi, I. Endres, D. Hoiem, and D. Forsyth, "Describing objects by their Attributes", In CVPR, pp. 1778−1785, 2009. H. Chen, A. Gallagher, B. Girod, "Describing Clothing by Semantic Attributes", In ECCV, pp.609-623, 2012. T. Malisiewicz, A. Gupta, A. A. Efros, "Ensemble of Exemplar-SVMs for Object Detection and Beyond", In ICCV, 2011. N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection", CVPR, 2005.
しかしながら、上記非特許文献3に記載の技術では、検出対象を示す領域以外の領域であっても、学習した検出対象の特徴と類似した特徴を持つ領域の場合には、検出対象として誤検出されてしまう場合がある。一般に、アトリビュートは物体を構成するパーツであり、従来の物体検出手法が対象としている物体より小さな領域を検出する必要がある。小さな領域から得られる特徴は情報量が少なくなるため、画像からアトリビュートを検出する場合、物体全体を検出する場合と比較して誤検出が発生し易くなる。
本発明は、このような課題に鑑みてなされたものであり、検出対象が物体のパーツや要素のように画像上での領域が小さい場合でも、検出対象を精度良く検出することができる画像処理装置及びプログラムを提供することを目的とする。
上記目的を達成するために、第1の発明に係る画像処理装置は、複数種類の検出対象を含む複数の学習画像の各々から抽出された前記検出対象の種類毎の特徴と前記検出対象の種類とを対応付けて学習した検出器と、入力画像から抽出された特徴とに基づいて、前記入力画像から前記検出対象の候補を種類毎に検出する検出手段と、前記入力画像における前記検出対象の候補の各々の出現位置に対して、前記複数の学習画像の各々における前記検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布を反映させた結果に基づいて、前記検出対象の候補から検出対象を種類毎に特定する特定手段と、を含んで構成されている。
第1の発明に係る画像処理装置によれば、複数種類の検出対象を含む複数の学習画像の各々から抽出された検出対象の種類毎の特徴と検出対象の種類とを対応付けて学習した検出器と、複数の学習画像の各々における検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布とが予め用意されている。検出手段は、入力画像から抽出された特徴と検出器とに基づいて、入力画像から検出対象の候補を種類毎に検出する。そして、特定手段は、入力画像における検出対象の候補の各々の出現位置に対して、検出対象の種類毎の出現位置の事前分布、及び異なる種類の検出対象間の相対位置関係の事前分布を反映させた結果に基づいて、検出対象の候補から検出対象を特定する。
このように、検出器を用いて入力画像から検出対象を種類毎に検出する際、画像上での検出対象の種類毎の出現位置についての事前分布、及び異なる種類の検出対象間の相対位置関係の事前分布を反映させるため、検出対象が物体のパーツや要素のように画像上での領域が小さい場合でも、検出対象を精度良く検出することができる。
また、第2の発明に係る画像処理装置は、複数種類の検出対象を含む複数の学習画像の各々における前記検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布に基づいて、入力画像から前記検出対象を種類毎に検出する範囲を特定する特定手段と、前記複数の学習画像の各々から抽出された前記検出対象の種類毎の特徴と前記検出対象の種類とを対応付けて学習した検出器と、前記特定手段により特定された前記範囲から抽出された特徴とに基づいて、前記入力画像から前記検出対象を種類毎に検出する検出手段と、を含んで構成することができる。
第2の発明に係る画像処理装置によれば、複数種類の検出対象を含む複数の学習画像の各々から抽出された検出対象の種類毎の特徴と検出対象の種類とを対応付けて学習した検出器と、複数の学習画像の各々における検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布とが予め用意されている。特定手段は、検出対象の出現位置の事前分布、及び異なる種類の検出対象間の相対位置関係の事前分布に基づいて、入力画像から検出対象を種類毎に検出する範囲を特定する。そして、検出手段は、特定手段により特定された範囲から抽出された特徴と検出器とに基づいて、入力画像から検出対象を種類毎に検出する。
このように、画像上での検出対象の出現位置についての事前分布、及び異なる種類の検出対象間の相対位置関係の事前分布を反映させた範囲から検出対象を種類毎に検出するため、誤検出を低減することができると共に、検出処理の高速化を図ることができる。
また、第1または第2の発明に係る画像処理装置において、前記事前分布を、前記学習画像の各位置における前記検出対象の種類毎の出現確率を値として有する行列、及び一の種類の検出対象から見た他の種類の検出対象の出現確率を値として有する行列に対して、ガウシアンフィルタを用いたぼかし処理を施した行列で表すことができる。これにより、学習画像上での検出対象の出現位置の揺らぎを低減し、より検出精度を向上させることができる。
また、第1または第2の発明に係る画像処理装置は、前記複数の学習画像を用いて、前記検出器及び前記事前分布を学習する学習手段を含んで構成することができる。
また、第3の発明に係る画像処理プログラムは、コンピュータを、上記の画像処理装置を構成する各手段として機能させるためのプログラムである。
以上説明したように、本発明の画像処理装置及びプログラムによれば、検出器を用いて入力画像から検出対象を検出する際、画像上での検出対象の出現位置についての事前分布、及び異なる種類の検出対象間の相対位置関係の事前分布を反映させ。そのため、検出対象が物体のパーツや要素のように画像上での領域が小さい場合でも、検出対象を精度良く検出することができる、という効果が得られる。
第1の実施の形態に係る学習処理装置の機能ブロック図である。 学習処理の一例を示すフローチャートである。 第1の実施の形態における事前分布学習処理の一例を示すフローチャートである。 アトリビュート単体の出現位置についての事前分布の学習を説明するための図である。 アトリビュート間の相対位置関係についての事前分布の学習を説明するための図である。 アトリビュート単体の出現位置についての事前分布を表す行列の正規化の一例を示す図である。 アトリビュート間の相対位置関係についての事前分布を表す行列の正規化の一例を示す図である。 第1の実施の形態における検出処理の一例を示すフローチャートである。 第1の実施の形態における事前分布反映処理の一例を示すフローチャートである。 第1の実施の形態における事前分布反映処理の一例を示すフローチャートである。 アトリビュート単体の出現位置についての事前分布の反映を説明するための図である。 アトリビュート単体の出現位置についての事前分布の反映を説明するための図である。 アトリビュート間の相対位置関係についての事前分布の反映を説明するための図である。 第2の実施の形態に係る学習処理装置の機能ブロック図である。 第2の実施の形態における検出処理の一例を示すフローチャートである。 第2の実施の形態における事前分布反映処理の一例を示すフローチャートである。
以下、図面を参照して本発明の実施の形態を詳細に説明する。以下の各実施の形態では、物体のパーツや要素などのアトリビュートを検出対象として検出する画像処理装置について説明する。
<第1の実施の形態>
第1の実施の形態に係る画像処理装置10は、CPUと、RAMと、後述する学習処理ルーチン及び検出処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成される。また、画像処理装置10は、機能的には、図1に示すように、学習部20と、検出部40とを含んだ構成で表すことができる。また、学習部20は、学習データ入力部21と、特徴抽出部22と、検出器学習部23と、事前分布学習部24とを含む。また、検出部40は、画像入力部41と、特徴抽出部42と、検出処理部43と、事前分布反映部44と、検出結果出力部45とを含む。なお、特徴抽出部42及び検出処理部43は、本発明の検出手段の一例であり、事前分布反映部44は、本発明の特定手段の一例である。
まず、学習部20の各部について詳述する。
学習データ入力部21は、複数の学習データが格納された学習データ・データベース(DB)31から学習データを取得し、特徴抽出部22及び事前分布学習部24の各々に出力する。
ここで、学習データは、検出対象である複数種類のアトリビュートを含む学習画像と、各学習画像中の検出対象の位置情報とのペアで構成される。検出対象の位置情報は、検出対象を示す領域を、例えば画素位置(座標)等で特定した情報である。例えば、検出対象を示す領域を、学習画像内の4点で記述される矩形で表した場合、検出対象の位置情報は、その4点の画素位置で表すことができる。また、検出対象を示す領域以外の領域をマスクしたマスク画像により、検出対象の位置情報を表してもよい。マスク画像は、例えば、マスクされた画素の画素値を0としたものとすることができる。また、学習画像のサイズは全て同一である。なお、サイズが異なる場合は、線形補間やニアレストネイバーなどの方法を用いて、同一サイズにリサイズした画像を学習画像として用いる。
特徴抽出部22は、学習データ入力部21から出力された学習データに含まれる検出対象の位置情報に基づいて、学習データに含まれる学習画像においてアトリビュートが存在する領域を特定する。そして、特徴抽出部22は、特定した領域から特徴量を抽出する。抽出する特徴量は、例えば、非特許文献4に記載のHOG(Histograms of Oriented Gradients)特徴量などの特徴量を抽出することができる。特徴抽出部22は、抽出した特徴量と、特徴量を抽出した領域に存在するアトリビュートの種類と対応付けて、検出器学習部23へ出力する。
検出器学習部23は、特徴抽出部22から出力された特徴量を用いて、アトリビュートの種類毎に検出器を学習する。検出器の学習には、例えば、非特許文献3に記載のExemplar SVM(Support vector machine)などの手法を用いることができる。検出器学習部23は、学習したアトリビュートの種類毎の検出器と、アトリビュートの種類の名称とを対応付けて、検出器DB32に格納する。
事前分布学習部24は、学習データ入力部21から出力された学習データに含まれる検出対象の位置情報に基づいて、学習データに含まれる複数の学習画像の各々におけるアトリビュートの出現位置についての事前分布を、アトリビュートの種類毎に学習する。事前分布学習部24は、学習画像におけるアトリビュート単体の出現位置についての事前分布と、アトリビュート間の相対位置関係についての事前分布、具体的には、他の種類のアトリビュートの出現位置に対する相対的な出現位置についての事前分布とを学習する。事前分布学習部24は、学習したアトリビュートの種類毎の事前分布と、アトリビュートの種類の名称とを対応付けて、事前分布DB33に格納する。
次に、検出部40の各部について詳述する。
画像入力部41は、任意の画像である入力画像36の入力を受け付け、入力画像36のサイズが、学習データの学習画像のサイズと異なる場合には、線形補間やニアレストネイバーなどの方法を用いて、学習画像と同一サイズにリサイズする。画像入力部41は、入力画像36を特徴抽出部42へ出力する。
特徴抽出部42は、画像入力部41から出力された入力画像36に対して、任意の大きさの矩形をずらしながら当てはめ、矩形内の領域から、学習部20の特徴抽出部22で抽出される特徴量と同様の特徴量を抽出する。特徴抽出部42は、抽出した特徴量と、特徴量を抽出した領域の位置、すなわち入力画像36に当てはめた矩形の位置とを対応付けて、検出処理部43へ出力する。
検出処理部43は、特徴抽出部42から出力された特徴量及び矩形の位置を取得する。また、検出処理部43は、検出器DB32から、アトリビュートの種類毎の検出器を取得する。そして、検出処理部43は、特徴抽出部42で各矩形内の領域から抽出された特徴量を、アトリビュートの種類毎の検出器の各々に入力し、検出器の出力として、アトリビュートの各種類に対する検出スコアを得る。検出スコアは、矩形内の画像が検出対象であるアトリビュートであることの尤もらしさが高いほど、高い値となる。
検出処理部43は、検出スコアに基づいて、アトリビュートの種類毎に所定個の検出候補を検出する。例えば、検出処理部43は、検出スコアが予め定めた閾値以上となる矩形内の画像や、検出スコアの上位所定個に対応する矩形内の画像を検出候補とすることができる。検出処理部43は、アトリビュートの種類毎の検出候補と、その検出候補の位置情報(矩形の位置情報)と、検出スコアとを対応付けて、事前分布反映部44へ出力する。
事前分布反映部44は、検出処理部43から出力されたアトリビュートの種類毎の検出候補、検出候補の位置、及び検出スコアを取得する。また、事前分布反映部44は、事前分布DB33から、アトリビュートの種類毎の事前分布を取得する。そして、事前分布反映部44は、検出候補の各々に、その検出候補のアトリビュートの種類に対応した事前分布を反映させ、検出スコアを更新する。事前分布反映部44は、更新した検出スコアに基づいて、アトリビュートの種類毎の検出候補から検出対象を特定し、その検出対象の位置情報(矩形の位置情報)を、検出結果出力部45へ出力する。
検出結果出力部45は、事前分布反映部44から出力されたアトリビュートの種類毎の検出対象の位置情報を入力画像36に紐づけて、検出結果37として出力する。
次に、第1の実施の形態に係る画像処理装置10の作用について説明する。画像処理装置10は、アトリビュートの種類毎の検出器及び事前分布を学習する学習処理と、入力画像36から検出対象であるアトリビュートを検出する検出処理を実行する。以下、各処理について説明する。
まず、検出対象である複数種類のアトリビュートを含む学習画像と、各学習画像中の検出対象の位置情報とのペアで構成される複数の学習データが学習データDB31に格納された状態で、画像処理装置10が、図2に示す学習処理を実行する。
図2に示す学習処理のステップS10で、学習データ入力部21が、学習データDB31から学習データを取得し、特徴抽出部22及び事前分布学習部24の各々に出力する。
次に、ステップS20で、特徴抽出部22が、学習データ入力部21から出力された学習データを取得し、学習データに含まれる検出対象の位置情報に基づいて、学習データに含まれる学習画像においてアトリビュートが存在する領域を特定する。そして、特徴抽出部22は、特定した領域から特徴量を抽出する。特徴抽出部22は、抽出した特徴量と、特徴量を抽出した領域に存在するアトリビュートの種類と対応付けて、検出器学習部23へ出力する。
次に、ステップS30で、検出器学習部23が、特徴抽出部22から出力された特徴量を用いて、アトリビュートの種類毎に検出器を学習する。検出器学習部23は、学習したアトリビュートの種類毎の検出器と、アトリビュートの種類の名称とを対応付けて、検出器DB32に格納する。
次に、ステップS40で、事前分布学習部24が、詳細を図3に示す事前分布学習処理を実行し、アトリビュートの種類毎の事前分布を学習する。事前分布学習部24は、学習したアトリビュートの種類毎の事前分布と、アトリビュートの種類の名称とを対応付けて、事前分布DB33に格納し、学習処理は終了する。
なお、ステップS40の事前分布学習処理は、ステップS20の前に実行してもよいし、ステップS20及びS30の処理と、ステップS40の処理とを、並行して実行してもよい。
ここで、図3を参照して、事前分布学習処理について詳述する。
ステップS41で、事前分布学習部24が、学習データ入力部21から出力された学習データを取得する。ここでは、学習データには、N枚の学習画像、及び各学習画像に含まれるM種類のアトリビュートを示す領域の位置情報が含まれるものとする。また、ここでは、説明の簡易化のため、アトリビュートを示す領域を矩形(長方形)とし、その位置情報を、矩形の対角2点(左上角と右下角)の画素位置で表す場合について説明する。なお、画素位置は、行方向の位置をx、列方向の位置をy、学習画像の左上角の画素を原点([1,1])とし、学習画像の下方向をxのプラス方向、右方向をyのプラス方向とする画像座標系における座標[x,y]で表す。
以下、n枚目の学習画像に含まれる種類mのアトリビュートを示す矩形領域を、「矩形R_nm」と表記する。ここでは、n=[1,2,・・・,N]、及びm=[1,2,・・・,M]である。また、n枚目の学習画像を「学習画像n」、種類mのアトリビュートを「アトリビュートm」と表記する。
次に、ステップS42で、学習画像と同様のサイズの零行列P_i、及び学習画像の倍のサイズの零行列P_ij(i,j=[1,2,・・・,M])を作成する。本実施の形態では、以下で詳述するように、アトリビュートi単体の出現位置についての事前分布を表す行列P_i(i=[1,2,・・・,M])と、アトリビュート間の相対位置関係についての事前分布を表す行列P_ij(i,j=[1,2,…,M],i≠j)とを学習する。零行列P_i及びP_ijは、これらの事前分布を表す行列P_i及びP_ijを初期化したものである。
なお、学習画像と同様のサイズの行列とは、学習画像の縦及び横の画素数と行数及び列数が同じ行列である。また、学習画像の倍のサイズの行列とは、ここでは、学習画像の重心画素から上、下、右、左の各方向の画素数を倍にしたサイズである。例えば、学習画像が縦5画素×横5画素のサイズの場合、倍のサイズは、上、下、右、左の各方向へ2画素ずつ拡張した9×9画素である。従って、学習画像の倍のサイズの零行列P_ijは、各要素が0の9行9列の行列となる。
次に、ステップS43で、事前分布学習部24が、学習画像nを特定するためのループ変数nを1に初期化する。次に、ステップS44で、事前分布学習部24が、学習画像nに含まれるアトリビュートのうち、処理対象のアトリビュートiを特定するためのループ変数iを1に初期化する。次に、ステップS44で、事前分布学習部24が、学習画像nに含まれるアトリビュートのうち、他のアトリビュートjを特定するためのループ変数jを1に初期化する。
次に、ステップS46で、事前分布学習部24が、iとjとが同値か否かを判定する。同値の場合は、ステップS47へ移行し、同値ではない場合には、ステップS48へ移行する。
ステップS47では、事前分布学習部24が、アトリビュートi単体の出現位置についての事前分布を表す行列P_iを更新する。具体的には、事前分布学習部24は、矩形R_ni内の画素に対応する行列P_iの要素を1インクリメントする。
一方、ステップS48では、事前分布学習部24が、アトリビュート間の相対位置関係についての事前分布を表すP_ijを更新する。具体的には、事前分布学習部24は、アトリビュートiの出現位置を基準とした他の種類のアトリビュートjの相対的な出現位置についての事前分布を表す行列P_ijを求めるために、矩形R_niの重心画素G([x_iG,y_iG])から、学習画像nの中心画素C([x_iC,y_iC])までの移動量Dを算出する。移動量Dは、[(x_iC−x_iG),(y_iC−y_iG)]である。
次に、ステップS49で、事前分布学習部24が、矩形R_nj内の各画素から移動量Dだけ移動した位置の画素に対応する行列P_ijの要素を1インクリメントする。
次に、ステップS50で、事前分布学習部24が、ループ変数jがMと同値であるか否かを判定する。すなわち、学習画像nに含まれるアトリビュートiについて、アトリビュートi単体の出現位置についての事前分布を表す行列P_i、及びアトリビュートjとの相対位置関係についての事前分布を表す行列P_ijの更新が終了したか否かを判定する。jとMとが同値ではない場合には、ステップS51へ移行し、ループ変数jを1インクリメントして、ステップS46に戻り、ステップS46以降の処理を繰り返す。jとMとが同値の場合には、ステップS52へ移行する。
ステップS52では、事前分布学習部24が、ループ変数iがMと同値であるか否かを判定する。すなわち、学習画像nに含まれる全てのアトリビュートについてP_i及びP_ijの更新を終了したか否かを判定する。iとMとが同値ではない場合には、ステップS53へ移行し、ループ変数iを1インクリメントして、ステップS45に戻り、ステップS45以降の処理を繰り返す。iとMとが同値の場合には、ステップS54へ移行する。
ステップS54では、事前分布学習部24が、ループ変数nがNと同値であるか否かを判定する。すなわち、全ての学習画像に対してP_i及びP_ijの更新を終了したか否かを判定する。nとNとが同値ではない場合には、ステップS55へ移行し、ループ変数nを1インクリメントして、ステップS44に戻り、ステップS44以降の処理を繰り返す。nとNとが同値の場合には、ステップS56へ移行する。
上記ステップS43〜S55の処理の具体例を、図4及び図5を参照して説明する。ここでは、n=1,2,3、学習画像のサイズ5×5の場合を例に説明する。まず、アトリビュート単体の出現位置についての事前分布を表す行列P_iの更新について説明する。
図4の左上の図に示すように、学習画像1(n=1)の画素[1,2]と画素[3,4]とを対角2点とする矩形領域が、矩形R_11として与えられたとする。なお、図4では、画像上の矩形内に含まれる画素を「1」、それ以外の画素を「0」として矩形を表している。以下、図5、図11〜図13についても同様である。この場合、n=1、i=1、j=1のループのステップS47において、図4の左下の図に示すように、行列P_1の要素[1,2]と要素[3,4]とを対角2点とする範囲に含まれる要素の各々を、1インクリメントする。
次に、図4の中央上の図に示すように、学習画像2(n=2)の画素[2,3]と画素[4,5]とを対角2点とする矩形領域が、矩形R_21として与えられたとする。この場合、n=2、i=1、j=1のループのステップS47において、行列P_1の要素[2,3]と要素[4,5]とを対角2点とする範囲に含まれる要素の各々を、1インクリメントする。従って、n=1の段階で値が1となっている要素の値は2になる。これにより、行列P_1は、図4の中央下の図に示すように更新される。
次に、図4の右上の図に示すように、学習画像3(n=3)の画素[2,1]と画素[4,3]とを対角2点とする矩形領域が、矩形R_31として与えられたとする。この場合、n=3、i=1、j=1のループのステップS47において、行列P_1の要素[2,1]と要素[4,3]とを対角2点とする範囲に含まれる要素の各々を、1インクリメントする。従って、n=2の段階で値が1となっている要素の値は2、値が2となっている要素の値は3になる。これにより、行列P_1は、図4の右下の図に示すように更新される。
このように、学習画像におけるアトリビュートの出現位置を示す矩形が重なる領域に対応する行列P_1の要素は値が高くなる。
次に、アトリビュート間の相対位置関係についての事前分布を表す行列P_ijの更新について説明する。ここでは、他の種類のアトリビュートが、アトリビュート2(j=2)である場合について説明する。
図5の左上段の図に示すように、学習画像1(n=1)の画素[1,2]と画素[3,4]とを対角2点とする矩形領域が、矩形R_11として与えられ、図5の左中段の図に示すように、学習画像1の画素[3,1]と画素[5,1]とを対角2点とする矩形領域が、矩形R_12として与えられたとする。このとき、n=1、i=1、j=2のループのステップS48において、矩形R_11の重心画素G(図5中に示す学習画像における太枠の画素)の画素位置は[(1+3)/2,(2+4)/2]=[2,3]と求められる。5×5画素の学習画像の中心画素Cの画素位置は[3,3]であるので、移動量Dは、[(3−2),(3−3)]=[+1,0]と求められる。
ここで、P_12は学習画像の倍のサイズ、すなわち、5×5画素のサイズの上、下、右、左方向の各々に2画素ずつ拡張したサイズ(9×9)である。なお、図5に示す行列P_12における太枠の要素は、学習画像の中心画素Cに対応する要素である。従って、矩形R_12内の画素を移動量Dだけ移動させた画素に対応するP_12の要素は、[3,1]+[2,2]+[+1,0]=[6,3]と、[5,1]+[2,2]+[+1,0]=[8,3]とを対角2点とする範囲に含まれる要素となる。そこで、n=1、i=1、j=2のループのステップS49において、これらの要素の値が1インクリメントされる。
同様に、n=2、i=1、j=2のループのステップS48及びS49において、図5の中央上段に示すような矩形R_21と、中央中段に示すような矩形R_22とに基づいて、中央下段に示すように、行列P_12が更新される。また同様に、n=3、i=1、j=2のループのステップS48及びS49において、図5の右上段に示すような矩形R_31と、右中段に示すような矩形R_32とに基づいて、右下段に示すように、行列P_12が更新される。
このように、一方のアトリビュートから見た他のアトリビュートの出現位置を示す矩形が重なる領域に対応する行列P_ijの要素は値が高くなる。
図3に示す事前分布学習処理の説明に戻る。次のステップS56で、事前分布学習部24が、図6に示すように、全てのiについて、行列P_iの全要素の合計値s_iを算出し、行列P_iの各要素を合計値s_iで割ることにより、行列P_iを正規化する。同様に、図7に示すように、全てのi及びjについて、行列P_ijの全要素の合計値s_ijを算出し、行列P_ijの各要素を合計値s_ijで割ることにより、行列P_ijを正規化する。
次に、ステップS57で、事前分布学習部24は、全てのi及びjについて、行列P_i及びP_ijに対してぼかし処理を行う。学習データとして与えられるR_nmは、それが矩形領域として与えられる場合であっても、マスク画像として与えられる場合であっても、実用上アトリビュートの位置を正確に捉えることは困難である。そのため、学習データにおいて特定されるアトリビュートの位置情報にはゆらぎが存在する。すなわち、R_nmが、本来のアトリビュートの位置に対応する画素を含まない場合や、逆にアトリビュート以外に対応する画素を含む場合がある。これらのゆらぎを低減するために、ぼかし処理を行うことで、最終的な検出精度の向上に効果がある。
具体的には、ぼかし処理にガウシアンフィルタ(例えばσ=10、フィルタサイズを10×10等とする)を用いることができる。例えば、フィルタサイズは、アトリビュート毎に学習データの矩形のうち、最小面積を持つ矩形の短辺の1/10程度を基準にすると、経験的に良好な結果が得られる。
次に、ステップS58で、事前分布学習部24は、行列P_iをアトリビュートi単体の出現位置についての事前分布として、行列P_ijをアトリビュート間の相対位置関係についての事前分布として、事前分布DB33に格納して、事前分布学習処理を終了する。
次に、上記の学習処理が実行されて、アトリビュート毎の検出器が検出器DB32に格納され、アトリビュート毎の事前分布が事前分布DB33に格納された状態で、画像処理装置10が、図8に示す検出処理を実行する。
図8に示す検出処理のステップS60で、画像入力部41が、入力画像36の入力を受け付け、入力画像36のサイズが、学習データの学習画像のサイズと異なる場合には、学習画像と同一サイズにリサイズする。そして、画像入力部41は、入力画像36を特徴抽出部42へ出力する。
次に、ステップS70で、特徴抽出部42が、入力画像36に対して、任意の大きさの矩形をずらしながら当てはめ、矩形内の領域から、学習部20の特徴抽出部22で抽出される特徴量と同様の特徴量を抽出する。そして、特徴抽出部42は、抽出した特徴量と、特徴量を抽出した領域の位置、すなわち入力画像36に当てはめた矩形の位置とを対応付けて、検出処理部43へ出力する。
次に、ステップS80で、検出処理部43が、特徴抽出部42から出力された特徴量及び矩形の位置を取得する。また、検出処理部43は、検出器DB32から、アトリビュートの種類毎の検出器を取得する。そして、検出処理部43は、特徴抽出部42で各矩形内の領域から抽出された特徴量を、アトリビュートの種類毎の検出器の各々に入力し、検出器の出力として、アトリビュートの種類毎の検出スコアを得る。
そして、検出処理部43は、検出スコアに基づいて、アトリビュートの種類毎に所定個の検出候補を検出する。ここでは、検出スコアの上位K個に対応する矩形内の画像を検出候補とする場合について説明する。以下では、入力画像36から検出されたアトリビュートiの検出候補を「矩形R_ki(k=[1,2,・・・,K]),i=[1,2,・・・,M]」と表記する。また、矩形R_kiについて得られた検出スコアを「検出スコアS_ki」と表記する。
検出処理部43は、アトリビュートの種類毎の検出候補である矩形R_kiと、その検出候補の位置情報(矩形の位置情報)と、検出スコアS_kiとを対応付けて、事前分布反映部44へ出力する。
次に、ステップS90で、事前分布反映部44が、詳細を図9及び図10に示す事前分布反映処理を実行し、検出候補の各々の検出スコアに事前分布を反映させる。
次に、ステップS120で、検出結果出力部45が、事前分布反映部44から出力されたアトリビュートの種類毎の最終検出結果Rp_iの位置情報を入力画像36に紐づけて、検出結果37として出力し、検出処理は終了する。
ここで、図9及び図10を参照して、事前分布反映処理について詳述する。
ステップS91で、事前分布反映部44が、事前分布DB33から、M種類のアトリビュートの出現位置についての事前分布を表す行列P_i(i=[1,2,・・・,M])、及び行列P_ij(j=[1,2,・・・,M],i≠j)を取得する。次に、ステップS92で、事前分布反映部44が、ループ変数iを1に初期化する。
次に、ステップS93で、事前分布反映部44が、検出処理部43から出力されたアトリビュートiの検出候補であるK個の矩形R_ki、及びその検出スコアS_kiを取得する。次に、ステップS94で、事前分布反映部44が、ループ変数kを1に、最大値スコアSPを0に初期化する。
次に、ステップS95で、事前分布反映部44が、行列P_iのR_kiに対応する要素の値を合計した値Psを算出し、Psに検出候補R_kiの検出スコアS_kiを掛けた値SP’を算出し、S_kiをSP’に更新する。
次に、ステップS96で、事前分布反映部44が、上記ステップS95で算出したSP’と最大スコアSPとを比較し、SPよりSP’の方が大きいか否かを判定する。SP’の方が大きい場合には、ステップS97へ移行し、最大スコアSPをSP’に更新し、アトリビュートiの最終検出結果Rp_iをR_kiに更新し、ステップS98へ移行する。一方、SP’の方が小さい場合には、ステップS27をスキップして、ステップS98へ移行する。
ステップS98では、事前分布反映部44が、ループ変数kがKと同値であるか否かを判定する。すなわち、アトリビュートiについての全ての検出候補に対応する検出スコアS_kiを更新したか否かを判定する。kとKとが同値ではない場合には、ステップS99で、ループ変数kを1インクリメントし、ステップS95に戻り、ステップS95以降の処理を繰り返す。kとKとが同値の場合には、ステップS100へ移行する。
ステップS100では、事前分布反映部44が、ループ変数iがMと同値であるか否かを判定する。すなわち、全てのアトリビュートの種類について、最終検出結果Rpが算出されたか否かを判定する。iとMとが同値ではない場合には、ステップS101へ移行し、ループ変数iを1インクリメントして、ステップS93に戻り、ステップS93以降の処理を繰り返す。iとMとが同値の場合には、ステップS102へ移行する。
上記ステップS92〜S100の処理の具体例を、図11及び図12を参照して説明する。ここでは、k=1,2の場合を例に説明する。
図11の左図に示すように、アトリビュート1(i=1)の1番目(k=1)の検出候補として、入力画像の画素[2,2]と画素[3,4]とを対角2点とする矩形領域が、矩形R_11として与えられたとする。また、この矩形R_11の検出スコアS_11が0.78で与えられているとする。この場合、図11の右図に示すように、行列P_1の要素[2,2]と要素[3,4]とを対角2点とする範囲(図11中の破線内)に含まれる要素の各々の値の合計0.52がPsとして求まる。そして、検出スコアS_11とPsとを掛け合わせた値SP’が0.41と算出される。i=1、k=1のループにおけるステップS95では、この値SP’=0.41が、矩形R_11の検出スコアS_11として更新される。
また、i=1、k=1のループにおけるステップS96では、SP=0、SP’=0.41であるため、肯定判定されて、ステップS97で、SPがSP’=0.41に更新されると共に、アトリビュートiについての最終検出結果Rp_iがR_11に更新される。
次に、図12の左図に示すように、アトリビュート1(i=1)の2番目(k=2)の検出候補として、入力画像の画素[3,3]と画素[4,5]とを対角2点とする矩形領域が、矩形R_21として与えられたとする。また、この矩形R_21の検出スコアS_21が0.85で与えられているとする。この場合、図12の右図に示すように、行列P_1の要素[3,3]と要素[4,5]とを対角2点とする範囲(図12中の破線内)に含まれる要素の各々の値の合計0.37がPsとして求まる。そして、検出スコアS_21とPsとを掛け合わせた値SP’が0.31と算出される。i=1、k=2のループにおけるステップS95では、この値SP’=0.31が、矩形R_21の検出スコアS_21として更新される。
また、i=1、k=2のループにおけるステップS96では、SP=0.41、SP’=0.31であるため、否定判定されて、ステップS97がスキップされる。すなわち、SPは、前のループにける0.41のままであり、アトリビュートiについての最終検出結果Rp_iもR_11のままである。
図9に示す事前分布学習処理の説明に戻る。次のステップS102で、事前分布反映部44が、アトリビュート間の相対位置関係についての事前分布も検出結果に反映するか否かを判定する。この判定は、例えば、予め定めた設定に基づいて判定してもよいし、M>1の場合には反映させると判定するようにしてもよい。反映させる場合は、図10のステップS103へ移行し、反映させない場合には、図10のステップS116へ移行する。
図10のステップS103では、事前分布反映部44が、ループ変数iを1に初期化する。次に、ステップS104で、事前分布反映部44が、ループ変数jを1に初期化する。次に、ステップS105で、事前分布反映部44が、ループ変数jがiと同値であるか否かを判定する。iとjとが同値の場合には、ステップS106へ移行し、ループ変数jを1インクリメントして、ステップS105に戻る。iとjとが同値ではない場合には、ステップS107へ移行し、事前分布反映部44が、ループ変数kを1に初期化する。
次に、ステップS108で、事前分布反映部44が、アトリビュートj単体の事前分布を反映させた結果得られた最終検出結果Rp_jの重心画素Gから、入力画像36の中心画素Cまでの移動量Dを算出する。
次に、ステップS109で、事前分布反映部44が、矩形R_ki内の各画素から移動量Dだけ移動した位置の画素に対応する行列P_ijの要素の値を合計した値Psを算出する。また、事前分布反映部44は、Psに検出候補R_kiの検出スコアS_kiを掛けた値SP’を算出し、S_kiをSP’で更新する。
上記ステップS108及びS109の処理の具体例を、図13を参照して説明する。ここでは、k=1、i=1、j=2の場合を例に説明する。
図13の左上の図に示すように、アトリビュート1(i=1)の1番目(k=1)の検出候補である矩形R_11の現段階での検出スコアS_11が0.41であるとする。ここで、矩形R_11について、アトリビュート2の位置から見たアトリビュート1の検出位置としての妥当性を反映させることを考える。そこで、矩形R_11を、アトリビュート2の出現位置を基準としたアトリビュート1の相対的な出現位置についての事前分布を表す行列P_21へマッピングする。
ここで、P_21は入力画像と同サイズの学習画像の倍のサイズ、すなわち、5×5画素のサイズの上、下、右、左の各方向へ2画素ずつ拡張したサイズ(9×9)である。なお、図13に示す行列P_21に対応する画素位置R’_11、及び行列P_21おける太枠の要素は、入力画像の中心画素Cに対応する要素である。従って、矩形R_11内の画素を移動量Dだけ移動させた画素に対応するP_21の要素は、[2,2]+[2,2]+[−2,+1]=[2,5]と、[3,4]+[2,2]+[−2,+1]=[3,7]とを対角2点とする範囲(図13中の破線内)に含まれる要素となる。そこで、k=1、i=1、j=2のループのステップS109において、これらの要素の値の合計0.42がPsとして求まる。そして、検出スコアS_11とPsとを掛け合わせた値SP’が0.17と算出され、矩形R_11の検出スコアS_11が0.17に更新される。
図10に示す事前分布反映処理の説明に戻る。次のステップS110で、事前分布反映部44が、ループ変数kがKと同値であるか否かを判定する。すなわち、アトリビュートiの全ての検出候補に対応する検出スコアS_kiに対して、アトリビュートjとの相対位置関係についての事前分布を反映させたか否かを判定する。kとKとが同値ではない場合には、ステップS111へ移行し、ループ変数kを1インクリメントして、ステップS108に戻り、ステップS108以降の処理を繰り返す。kとKとが同値の場合には、ステップS112へ移行する。
ステップS112では、事前分布反映部44が、ループ変数jがMと同値であるか判定する。すなわち、アトリビュートiに対して他の全てのアトリビュートとの相対位置関係についての事前分布を反映させたか否かを判定する。jとMとが同値ではない場合には、ステップS106へ移行し、ループ変数jを1インクリメントして、ステップS105に戻り、ステップS105以降の処理を繰り返す。jとMとが同値の場合には、ステップS113へ移行する。
ステップS113では、事前分布反映部44が、検出候補である矩形R_kiのうち、検出スコアS_kiが最大となる矩形R_kiを、アトリビュート間の相対位置関係を反映させたアトリビュートiについての最終検出結果Rp_iとする。なお、検出スコアS_kiが最大となる矩形R_kiを最終検出結果Rp_iとする場合に限らず、検出スコアS_kiが予め定めた閾値以上となる矩形R_kiを最終検出結果Rp_iとしてもよい。
次に、ステップS114で、事前分布反映部44が、ループ変数iがMと同値であるか否かを判定する。すなわち、全ての種類のアトリビュートについて、検出候補の検出スコアにアトリビュート間の相対位置関係を反映させたか否かを判定する。iとMとが同値ではない場合には、ステップS115へ移行し、ループ変数iを1インクリメントして、ステップS104に戻り、ステップS104以降の処理を繰り返す。iとMとが同値の場合には、ステップS116へ移行する。
ステップS116では、事前分布反映部44が、上記ステップS97またはS113で算出した最終検出結果Rp_i(i=[1,2,・・・,M])の位置情報を、検出結果出力部45へ出力し、事前分布反映処理を終了する。
以上説明したように、第1の実施の形態に係る画像処理装置によれば、画像から抽出される特徴量だけでなく、その特徴量が検出された位置に対して、画像上での検出対象の出現位置についての事前分布を反映させた検出結果を得る。これにより、検出対象が物体のパーツや要素のように画像上での領域が小さい場合でも、検出対象を精度良く検出することができる。
また、検出結果に反映させる検出対象の出現位置についての事前分布として、異なる種類の検出対象間の画像上での相対位置関係についての事前分布も用いることで、より高精度に検出対象を検出することができる。
<第2の実施の形態>
次に、第2の実施の形態について説明する。第1の実施の形態に係る画像処理装置10では、入力画像36全体を走査して、特徴量の抽出及び検出候補の検出を行い、検出候補に対して事前分布を反映させて最終的な検出結果を得る場合について説明した。第2の実施の形態では、特徴抽出部の前段の処理として、事前分布を反映させる場合について説明する。なお、第1の実施の形態に係る画像処理装置10と同一の構成については、同一符号を付して、詳細な説明を省略する。
第2の実施の形態に係る画像処理装置210は、CPUと、RAMと、後述する学習処理ルーチン及び検出処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成される。また、画像処理装置210は、機能的には、図14に示すように、学習部20と、検出部240とを含んだ構成で表すことができる。検出部240は、画像入力部41と、事前分布反映部244と、特徴抽出部242と、検出処理部243と、検出結果出力部45とを含む。なお、事前分布反映部244は、本発明の特定手段の一例であり、特徴抽出部242及び検出処理部243は、本発明の検出手段の一例である。
学習部20については、第1の実施の形態に係る画像処理装置10の学習部20と同様であるため、以下では、検出部240の各部について詳述する。
事前分布反映部244は、事前分布DB33に格納された事前分布を取得し、画像入力部41から出力された入力画像36に、取得した事前分布を反映させて、入力画像36から検出対象を検出するための走査範囲を特定する。例えば、事前分布反映部44は、事前分布を表す行列P_iにおいて、値が0の要素に対応する入力画像36の画素以外の画素を含む領域を走査範囲として特定することができる。また、行列P_iの要素のうち、値が予め定めた閾値以上となる要素に対応する入力画像36の画素を含む領域を走査範囲として特定することができる。閾値は、例えば、行列P_iの要素の最大値の半分の値とすることができる。閾値を高く設定すれば走査範囲をより狭めることができ、閾値を設定しない場合には、第1の実施の形態と同様に、入力画像36全体を走査することになる。
特徴抽出部242は、事前分布反映部244で特定された走査範囲に対して、第1の実施の形態における特徴抽出部42と同様に、任意の大きさの矩形をずらしながら当てはめ、矩形内の領域から特徴量を抽出する。特徴抽出部242は、抽出した特徴量と、特徴量を抽出した領域の位置、すなわち入力画像36に当てはめた矩形の位置とを対応付けて、検出処理部243へ出力する。
検出処理部243は、特徴抽出部242から出力された特徴量と、検出器DB32から取得したアトリビュートの種類毎の検出器とに基づいて、各矩形について、アトリビュートの各種類に対する検出スコアを得る。そして、検出処理部243は、検出スコアが最大の矩形の位置情報を、検出結果出力部45へ出力する。
次に、第2の実施の形態に係る画像処理装置210の作用について説明する。画像処理装置210は、アトリビュートの種類毎の検出器及び事前分布を学習する学習処理と、入力画像から検出対象であるアトリビュートを検出する検出処理を実行する。学習処理については、第1の実施の形態における学習処理と同様であるため、以下では、検出処理について説明する。なお、第1の実施の形態における検出処理と同様の処理については、同一符号を付して、詳細な説明を省略する。
図15に示す検出処理のステップS60で、画像入力部41が、入力画像36の入力を受け付け、事前分布反映部244へ出力する。
次に、ステップS290で、事前分布反映部244が、詳細を図16に示す事前分布反映処理を実行し、事前分布を反映させた走査範囲を特定する。
ここで、図16を参照して、事前分布反映処理について詳述する。
ステップS291で、事前分布反映部244が、N枚の入力画像36を取得する。次に、ステップS292で、事前分布反映部244が、事前分布DB33から、M種類のアトリビュートそれぞれのアトリビュート単体の出現位置についての事前分布を表す行列P_i(i=[1,2,・・・,M])を取得する。
次に、ステップS293で、事前分布反映部244が、走査範囲を特定するための、行列P_iの各要素に対する閾値Tを設定する。次に、ステップS294で、事前分布反映部244が、ループ変数mを1に初期化する。
次に、ステップS295で、事前分布反映部244が、行列P_mの各要素の値と閾値Tとを比較し、値が閾値T以下の要素の集合を、集合R_mとして取得する。
次に、ステップS296で、事前分布反映部244が、ループ変数nを1に初期化する。次に、ステップS297で、事前分布反映部244が、集合R_mに含まれる要素に対応するn枚目の入力画像36の画素をマスクしたマスク画像I_nmを生成する。マスク画像は、例えば、マスクされた画素の値を0、それ以外の画素の値を1にした画像である。
次に、ステップS298で、事前分布反映部244が、ループ変数nがNと同値であるか否かを判定する。nとNとが同値ではない場合には、ステップS299へ移行し、ループ変数nを1インクリメントして、ステップS297に戻り、ステップS297移行の処理を繰り返す。nとNとが同値の場合には、ステップS300へ移行する。
ステップS300では、事前分布反映部244が、ループ変数mがMと同値であるか否かを判定する。mとMとが同値ではない場合には、ステップS301へ移行し、ループ変数mを1インクリメントして、ステップS295に戻り、ステップS295以降の処理を繰り返す。mとMとが同値の場合には、ステップS302へ移行する。
ステップS302では、事前分布反映部244が、上記の処理で得られたn×m枚のマスク画像I_nmを出力し、事前分布反映処理を終了し、図15に示す検出処理に戻る。
次に、図15のステップS270で、特徴抽出部242が、事前分布反映部244で特定された走査範囲に対して、任意の大きさの矩形をずらしながら当てはめ、矩形内の領域から特徴量を抽出する。具体的には、特徴抽出部242は、事前分布反映部244から出力されたマスク画像I_nm(m=[1,2,・・・,M])の各々を適用したn枚目の入力画像36から、特徴量F_nm(m=[1,2,・・・,M])を抽出する。なお、入力画像36にマスク画像I_nmを適用するとは、入力画像36とマスク画像I_nmとを対応させたときに、マスク画像I_nmでマスクされない領域を走査範囲とすることである。
特徴抽出部242は、N枚の入力画像36の全てから、上記のように特徴量F_nmを抽出する。そして、特徴抽出部242は、抽出した特徴量F_nmと、特徴量F_nmを抽出した領域の位置、すなわち入力画像36に当てはめた矩形の位置とを対応付けて、検出処理部243へ出力する。
次に、ステップS280で、検出処理部243が、特徴抽出部242から出力された特徴量と、検出器DB32から取得したアトリビュートの種類毎の検出器とに基づいて、各矩形について、アトリビュートの各種類に対する検出スコアを得る。すなわち、検出処理部243は、アトリビュートmについての検出器に特徴量F_nmを入力し、n枚目の入力画像36に当てはめた各矩形内の領域が、アトリビュートmであることの尤もらしさを示す検出スコアを得る。そして、検出処理部243は、入力画像毎、かつアトリビュートの種類毎に、検出スコアが最大の矩形の位置情報を、検出結果出力部45へ出力する。なお、検出スコアが最大となる矩形に限らず、検出スコアが予め定めた閾値以上となる矩形の位置情報を出力するようにしてもよい。
次に、ステップS120で、検出結果出力部45が、検出処理部243から出力された検出結果が最大の矩形の位置情報を入力画像36に紐づけて、検出結果37として出力し、検出処理は終了する。
以上説明したように、第2の実施の形態に係る画像処理装置によれば、検出対象の出現位置についての事前分布を反映させて、走査範囲を限定することで、誤検出を低減できる。また、検出器に特徴量を入力して検出スコアを得る回数を減らせることで、高速な処理を実現することができる。なお、第2の実施の形態では、元の入力画像に対してマスク画像I_nmの各々を適用したm倍の画像に対して特徴量の抽出処理を行うことになる。しかし、実用上事前分布を表す行列P_iはゼロ要素が多いため、入力画像全体を走査する場合に比べ、走査範囲を少なくすることができるため、高速な検出を行うことができる。
なお、第2の実施の形態では、アトリビュート単体の出現位置についての事前分布を反映して走査範囲を特定する場合につい説明したが、アトリビュート間の相対位置関係についての事前分布も合わせて反映させるようにしてもよい。この場合、他の種類のアトリビュートjからみたアトリビュートiの出現位置についての事前分布P_ji(j=[1,2,・・・,M],i≠j)の各要素に基づいて、アトリビュートiの走査範囲を特定する。例えば、全てのP_jiで値が0になる要素や、全てのP_jiのうちの半数以上で値が0になる要素や、値の平均値が予め定めた閾値以下となる要素に対応する入力画像の画素を除外した範囲を、アトリビュートiの走査範囲として特定することができる。
また、第2の実施の形態においても、第1の実施の形態のように、検出結果に事前分布を反映させて最終的な検出結果を得るようにしてもよい。
また、上記各実施の形態における、学習部20と検出部40とを別々の装置として構成してもよい。また、上記の実施の形態では、学習処理装置内に事前分布DB及び検出器DBを保持する場合について説明したが、検出器DB及び事前分布DBは、外部の記憶装置に記憶しておいてもよい。この場合、検出処理の際に、画像処理装置が、外部装置からアトリビュートの種類毎の検出器及び事前分布を表す行列を読み込めばよい。
また、本願明細書中において、プログラムが予めインストールされている形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを提供する形態としてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
また、上述の画像処理装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
なお、本発明は、上述した各実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。本実施の形態の主要な特徴を満たす範囲内において、任意の用途と構成を取ることができる。
10、210 画像処理装置
20 学習部
21 学習データ入力部
22 特徴抽出部
23 検出器学習部
24 事前分布学習部
31 学習データ・データベース(DB)
32 検出器DB
33 事前分布DB
36 入力画像
37 検出結果
40、240 検出部
41 画像入力部
42、242 特徴抽出部
43、243 検出処理部
44、244 事前分布反映部
45 検出結果出力部

Claims (4)

  1. 複数種類の検出対象を含む複数の学習画像の各々から抽出された前記検出対象の種類毎の特徴と前記検出対象の種類とを対応付けて学習した検出器と、入力画像から抽出された特徴とに基づいて、前記入力画像から前記検出対象の候補を種類毎に検出する検出手段と、
    前記入力画像における前記検出対象の候補の各々の出現位置に対して、前記複数の学習画像の各々における前記検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布を反映させた結果に基づいて、前記検出対象の候補から検出対象を種類毎に特定する特定手段と、
    を含む画像処理装置。
  2. 複数種類の検出対象を含む複数の学習画像の各々における前記検出対象の種類毎の出現位置を学習した事前分布、及び異なる種類の検出対象間の相対位置関係を学習した事前分布に基づいて、入力画像から前記検出対象を種類毎に検出する範囲を特定する特定手段と、
    前記複数の学習画像の各々から抽出された前記検出対象の種類毎の特徴と前記検出対象の種類とを対応付けて学習した検出器と、前記特定手段により特定された前記範囲から抽出された特徴とに基づいて、前記入力画像から前記検出対象を種類毎に検出する検出手段と、
    を含む画像処理装置。
  3. 前記事前分布を、前記学習画像の各位置における前記検出対象の種類毎の出現確率を値として有する行列、及び一の種類の検出対象から見た他の種類の検出対象の出現確率を値として有する行列に対して、ガウシアンフィルタを用いたぼかし処理を施した行列で表す請求項1また請求項2記載の画像処理装置。
  4. コンピュータを、請求項1〜請求項3のいずれか1項記載の画像処理装置を構成する各手段として機能させるための画像処理プログラム。
JP2014220616A 2014-10-29 2014-10-29 画像処理装置及びプログラム Active JP6383639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014220616A JP6383639B2 (ja) 2014-10-29 2014-10-29 画像処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014220616A JP6383639B2 (ja) 2014-10-29 2014-10-29 画像処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016091051A JP2016091051A (ja) 2016-05-23
JP6383639B2 true JP6383639B2 (ja) 2018-08-29

Family

ID=56016850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014220616A Active JP6383639B2 (ja) 2014-10-29 2014-10-29 画像処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6383639B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259161A (ja) * 2007-03-13 2008-10-23 Victor Co Of Japan Ltd 目標追尾装置
JP5118616B2 (ja) * 2008-12-17 2013-01-16 日本放送協会 顔画像検出装置及び顔画像検出プログラム
JP2010262576A (ja) * 2009-05-11 2010-11-18 Toyota Central R&D Labs Inc 対象物検出装置及びプログラム
JP6013241B2 (ja) * 2013-03-18 2016-10-25 株式会社東芝 人物認識装置、及び方法

Also Published As

Publication number Publication date
JP2016091051A (ja) 2016-05-23

Similar Documents

Publication Publication Date Title
CN109961009B (zh) 基于深度学习的行人检测方法、系统、装置及存储介质
US9367766B2 (en) Text line detection in images
US10769473B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US7995805B2 (en) Image matching apparatus, image matching method, computer program and computer-readable storage medium
US8897578B2 (en) Image recognition device, image recognition method, and integrated circuit
US10572072B2 (en) Depth-based touch detection
US10410354B1 (en) Method and apparatus for multi-model primitive fitting based on deep geometric boundary and instance aware segmentation
KR20160096460A (ko) 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법
US10438083B1 (en) Method and system for processing candidate strings generated by an optical character recognition process
KR102030132B1 (ko) 악성 코드 검출 방법 및 시스템
US9082000B2 (en) Image processing device and image processing method
KR101802500B1 (ko) 영상 인식을 위한 학습 장치 및 그 학습 방법
CN112101386B (zh) 文本检测方法、装置、计算机设备和存储介质
Tsai et al. Robust in-plane and out-of-plane face detection algorithm using frontal face detector and symmetry extension
JP2019220014A (ja) 画像解析装置、画像解析方法及びプログラム
JP6623851B2 (ja) 学習方法、情報処理装置および学習プログラム
JP2021051589A5 (ja)
Kang et al. Combining random forest with multi-block local binary pattern feature selection for multiclass head pose estimation
JP6517652B2 (ja) 物体顕著性マップ算出装置、方法、及びプログラム
JP6486084B2 (ja) 画像処理方法、画像処理装置、及びプログラム
JP6383639B2 (ja) 画像処理装置及びプログラム
KR102026280B1 (ko) 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템
JP2015187769A (ja) 物体検出装置、物体検出方法及びプログラム
JP2023008030A (ja) 画像処理システム、画像処理方法及び画像処理プログラム
JP2019200527A (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180219

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: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6383639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150