JP5743742B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents
画像処理装置、画像処理方法及びプログラム Download PDFInfo
- Publication number
- JP5743742B2 JP5743742B2 JP2011139687A JP2011139687A JP5743742B2 JP 5743742 B2 JP5743742 B2 JP 5743742B2 JP 2011139687 A JP2011139687 A JP 2011139687A JP 2011139687 A JP2011139687 A JP 2011139687A JP 5743742 B2 JP5743742 B2 JP 5743742B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- detection
- storage area
- detection result
- storage
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 115
- 238000003672 processing method Methods 0.000 title claims description 12
- 238000001514 detection method Methods 0.000 claims description 240
- 238000000034 method Methods 0.000 claims description 97
- 230000008569 process Effects 0.000 claims description 77
- 230000010354 integration Effects 0.000 claims description 31
- 238000007726 management method Methods 0.000 description 30
- 239000000872 buffer Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
ViolaらのBoostingベースの手法は、概略同等である小さな判別処理(弱判別器)を直列状に連結し、判別処理の途中で非顔領域であると分かった時点で、後続する判別処理を打ち切ることで高速化を行っている。
しかしながら、大きさ変動に対して耐性を持つよう設計するにしても、例えば極端に大きくて検出ウィンドウには検出対象物、例えば顔の一部しか含まれないようなものに対応する判別器を設計するのは非常に困難である。同様に検出対象物が検出ウィンドウに比べて極端に小さいものを同時に対応する判別器を設計するのも非常に困難である。
それに対しては、2つのアプローチが考えられる。1つは、ウィンドウサイズを拡大(それに応じて、弱判別器の参照領域等も拡大)する方法である。またもう1つは、ウィンドウサイズは固定して、入力画像に対して変倍(特に縮小)を施して、複数種作成した変倍(縮小)画像に対して同じサイズのウィンドウを設定して判別器を用いて検出する方法である。
上記手法の何れにせよ、ウィンドウの拡大、若しくは画像の縮小の変倍を連続的に行うのは困難なので、やはり判別器は大きさ変動に対してある程度の耐性を持つことが好ましい。
また、同様に位置の変動や形状の変化に関しても、ある程度許容性を持つことが好ましい。
そのため、これらの複数の検出結果を統合して1つの検出対象物に対する検出結果を1つにまとめる処理が必用となる。以後、この処理を「統合処理」と呼ぶ。
この統合処理は、水平・垂直方向の位置、大きさ方向を軸とした空間に分布する検出結果に対するクラスタリング処理に類する。或いは更に、検出結果の確からしさ(尤度)等の軸を加えた空間における処理とすることも考えられる。
統合処理が必用なことから、前述した判別器による検出結果は中間結果であると考えられるが、好ましくはこの中間結果を一旦格納してからそれに対して統合処理を実行するように構成する。
当たり前だが、検出処理の対象となる画像が実際に何件の検出結果を出すかということは、実際に検出処理を行う前には分からない。
理論的な上限値としては、その画像中に設定可能なウィンドウの数(N)があるが、実際に画像に対して検出処理を行った場合の検出結果数は、Nの1〜2%程度であるような場合が多い。したがって、理論的な上限数まで格納可能なように大きな記憶領域を用意しておくのは効率的でない。
これは、例えばこの判別処理をPC上で動作するソフトウェアで実現する場合、比較的大容量のメモリを用意することも可能であるのであまり問題にならないと思われる。しかし一方、機器組み込み用のソフトウェアや或いはハードウェア上で実現する場合には、予め定めた(大きさ固定の)小サイズの記憶容量で実現することが望ましい。
しかしながら、予め定めた小サイズの記憶容量で処理を行うとすると、画像の内容によっては記憶領域不足が発生する可能性が残る。
その場合、全検出結果のうち、記憶容量から溢れた分については棄却せざるを得ないのだが、その場合どれをどのような処理で棄却すべきか、という課題がある。
図1は、第一の実施形態の画像処理装置のハードウェア構成の一例を示す図(その1)である。
画像記憶部101は、処理の対象となる画像データを保持する。画像記憶部101は、例えば、メモリで構成される。なお、画像記憶部101は、レジスタ、ディスク装置等で構成されても良い。
検出部102は、検出処理を行う。検出処理の一例は、後述する図2で説明を行う。また、検出部102は、検出結果を中間結果記憶部103に出力する。更に検出部102は、1画像の処理が終了したことを検出した場合、統合処理部104に統合処理の開始を指示する。
中間結果記憶部103は、検出部102の出力を格納する。中間結果記憶部103は、例えば、メモリで構成される。なお、中間結果記憶部103は、レジスタ、ディスク装置等で構成されても良い。
統合処理部104は、中間結果記憶部103に格納された中間結果を用いて統合処理を行い、その統合結果を結果記憶部105に出力する。統合処理部104は、検出部102の指示に応じ動作する。
結果記憶部105は、統合処理部104の出力を格納する。結果記憶部105は、例えば、メモリで構成される。なお、結果記憶部105は、レジスタ、ディスク装置等で構成されても良い。
画像変倍部110は、画像記憶部101にある画像に対して変倍処理(少なくとも縮小処理)を行い、変倍画像を出力する。図1に示されるように、検出部102は、変倍画像を読み込めるよう構成されている。また画像変倍部110は、画像記憶部101へ変倍画像を出力するよう構成されている。
この他にも様々な構成を追加することも可能であるが、本実施形態の主眼でないのでここでは省略する。
検出処理に関するアルゴリズムの一例を、図2を用いて説明する。
以下ではBoostingアルゴリズムを応用した顔検出処理を検出処理の一例として説明する。図2は、Boostingアルゴリズムを応用した顔検出処理のアルゴリズムの論理を説明する図である。
部分画像201は、入力画像データの部分領域である。部分画像201は、入力画像データ上に設定される所定のウィンドウ内の画像であり、後述する弱判別器210〜250が参照する画像領域を含むような部分画像である。部分画像201を以下、ウィンドウ画像とも呼ぶ。
弱判別器210は、判別処理で、ウィンドウ画像201の一部若しくは全部の画素値を参照し、その画素値に対して予め定めておいた演算を行い、ウィンドウ画像201が検出対象であるオブジェクト(本例の場合、人間の顔領域)を含むか否かを演算結果により判定する。この予め定めておいたウィンドウ画像の参照位置や範囲、また演算に用いる係数等のパラメータは、実際の検出処理の前に機械学習により決定されている。
211〜250も弱判別器と呼ばれる演算処理であるが、好ましくは弱判別器210とはウィンドウ画像201の参照位置や範囲と演算に用いる係数等のパラメータが異なるよう構成する。また、弱判別器211〜250も好ましくは互いにウィンドウ画像201の参照位置や範囲と演算に用いる係数等のパラメータが異なるよう構成する。
言い換えれば、弱判別器210〜250は、ウィンドウ画像201の参照位置や範囲、また演算に用いる係数等のパラメータが異なるだけで、概略同じ処理であると言える。したがって、ウィンドウ画像201の参照位置や範囲、また演算に用いる係数等を処理のパラメータとして分離すれば、弱判別器210〜250は用いるパラメータが異なる、同じ処理であるとみなすことができる。
このように、弱判別器210〜250のN個の弱判別器を組み合わせることにより、全体として強い判別器を構成する。
図3は、画像に対して検出ウィンドウを適用して検出を行う処理を説明する図である。601は、画像データ(以下、単に画像ともいう。)である。611は、検出ウィンドウである。この検出ウィンドウは図2におけるウィンドウ画像201と同じものである。
検出処理において、検出部102は、ウィンドウ611を画像601中で他のウィンドウと一部重複するように移動させながら、各位置において図2で例示した検出アルゴリズムを適用する。図3のウィンドウ612、613は、この移動したウィンドウの例であり、特にウィンドウ613は検出対象である顔の位置にあるウィンドウの例である。
ところで、図2で示した検出アルゴリズムは高い汎化性能を持つ必要がある。これは、処理実行時に検出対象となる画像、特に検出対象物や被写体を予め見ることはできないので、アルゴリズムにとっては未知の画像パターンに対して処理を行うことになるためである。したがって、検出アルゴリズムは検出ウィンドウに対してある程度大きさ、位置、形状が変動した検出対象物(顔)を検出できるよう設計する。
とはいえ、アルゴリズムが期待する対象物と大きさ、位置、形状が極端に異なるものについても検出可能なように設計するのは非常に困難である。
710は、画像である。701〜703は、異なる大きさで写った画像中の人物の被写体である。被写体701は、撮影位置から遠くにいるために小さく写っており、逆に被写体703は比較的近くにいて大きく写っている状態を表している。また、711〜713は、被写体701〜703のそれぞれの顔領域を概略囲む矩形であり、その大きさが異なっていることがわかる。
したがって、このように写り方等によって検出対象物の大きさがまちまちなものをそれぞれ検出する方法として、図5で説明するような方式を利用する。
画像710は、図4と同じ画像で、システムに入力された検出対象の画像である。検出部102は、これに対して検出処理820(図2で説明したアルゴリズム)を行う。そして、画像変倍部110は、この画像710に対して縮小処理を行って縮小画像801や802を出力する。検出部102は、これらを得て、これらの縮小画像に対しても同様に検出処理820を適用して検出を行う。
810〜812は、各画像における検出ウィンドウであり、これらは同じ大きさである。しかしながら、処理対象の画像解像度が異なるので、検出ウィンドウ810は、比較的小さく写った検出対象物(顔)とマッチする。逆に検出ウィンドウ812は、比較的大きく写った検出対象物(顔)とマッチする。また、検出ウィンドウ811は、その中間の大きさに写った検出対象物(顔)とマッチする。
言いかえれば、高解像度の画像710では小さく写った検出対象物(顔)が検出され、低解像度の画像802では大きく写った検出対象物(顔)が検出され、中間の解像度の画像801ではその中間の大きさに写った検出対象物(顔)が検出される。
なお、画像の縮小方法は公知の任意のもので良い。また、縮小の変倍率は予め定めておけば良い。なお、本実施形態では、画像変倍部110は、画像710から縮小画像801を生成し、縮小画像801から縮小画像802を生成するものとする。
このような方法を用いた場合でも、現実には画像の縮小はある程度離散的(例えば、縦横各1/2とか、或いは1/√2とか)にならざるを得ない。しかしながら先に述べたように検出アルゴリズムは高い汎化性能を持つので、各画像上の検出対象物(顔)が、検出アルゴリズムが元々期待している大きさと多少あわなくても検出することができる。
710、801、802、811は、図5の同番号と同一のものである。図5の例では、縮小画像801で検出ウィンドウ811と被写体の顔とがマッチすると説明した。しかし実際にはアルゴリズムは汎化性能を持つため、解像度が異なる別の画像で検出(ウィンドウ911、913)したり、或いは、同じ解像度の画像において、多少ずれた位置で検出(ウィンドウ912)したりすることが発生し得る。
図7は、これら複数のマッチしたウィンドウを、画像の変倍率を考慮して対応させた状態を示す図である。ウィンドウ(領域)811、911〜913は、図6の同番号のウィンドウに対応する。
しかしながら実際の被写体は1つなので、領域811、911〜913を1つの領域にまとめる必用がある。この処理が統合処理部104における統合処理である。
ここで述べた統合処理方式の例はあくまでも一例であって、図7の領域811、911〜913から1つの領域を生成するものであれば任意の方式で良い。
この統合処理のためには、検出部102は、1枚の画像に対する検出処理による検出結果(統合後の結果と区別するため、以下中間結果と呼ぶ)を一旦保存する。そして、統合処理部104は、その後に各検出結果間の関係(前述の例でいうと、各中間結果同士の中心間の距離)をしらべて判断する必要がある。そのため、中間結果を一旦保持しておかなければならない。
したがって、中間結果を格納する領域が必要になるのだが、この領域をどれくらい確保しておくか、ということが問題となる。
次に理論的な上限値を考えると、例えば、入力画像(図5の710)がVGA(640×480画素)程度であったと考える。ウィンドウは20x20画素、それぞれ1画素ずらしで設定可能とし、縦横1/√2(画素数が1/2)で変倍するとするならば、概算すると
となる。実際には無限に縮小するわけではないのでこれより少なくなるが、およそ50万以上のウィンドウ処理を行うことになる。
また仮に、入力画像がQVGA(320×240画素)であった場合、同様に計算するとウィンドウ数は約13万である。更に、処理を間引いて縦横1画素おきにウィンドウを設定するとしても、この1/4なので約3万、或いはもっと間引いて縦横3画素おきにウィンドウを設定するとしても、1/16なので1万弱のウィンドウが設定可能である。
したがって理論上限の分のメモリを用意して処理を行うとした場合、例えば中間結果1件に必要な情報として10byte必用であったと仮定すると、約10000件の中間結果を格納するためには10万byte≒100KBのメモリが必用となる。
100KBのメモリは、この検出処理を例えば公知のパーソナルコンピュータ等で実現する場合にはあまり問題にならないかもしれない。しかし例えば機器組み込みソフトウェアや回路内蔵のソフトウェアで実現する場合、100KBのメモリは組み込み機器内部のメモリ(S−RAM)としては大容量であり、機器の価格にも影響する。その上、通常では1〜2パーセント程度しか使わないとなると理論上限分のメモリを用意するというのは大変冗長であることがわかる。
したがって、適切なサイズ(例えば実験では200件分程度)のメモリによってこの処理を実現するのが好ましい。しかしながら、この場合画像の内容によってはメモリ不足が発生する可能性が残ることになる。
このメモリ不足の場合について説明する。
図8は、検出対象物(顔)が様々な大きさで写っている画像を表す図である。図8には、被写体401(小さく写った被写体)〜被写体405(大きく写った被写体)が写っている。これに対して、図9は、各被写体に対する検出の中間結果の例を501〜505で示す図である。実際には、先に説明した通り501〜505の中間結果に対し、位置や大きさについて異なる中間結果も検出される可能性があるが、図9では説明の単純のために省いている。
検出部102は、まず入力画像1101に対して検出処理820を行い、例えば中間結果として501及び502を出力する。次に、検出部102は、縮小画像1102に対して検出処理820を行い中間結果として503を出力し、更に縮小画像1103に対して検出処理820を行い、中間結果504、505を出力する。
図11は、中間結果記憶部103の状態を表す図である。
なお、説明の単純化のため本実施形態では、中間結果記憶部103は、3件分の中間結果格納領域1201〜1203を持つものとする。またここでは、それに対し図10で説明したように、中間結果501〜505の5件の結果が出力される場合について説明する。
まず、入力画像1101に対して中間結果501及び502が出力されるので、それぞれ中間結果格納領域1201、1202に格納される(図11(a))。続いて、縮小画像1102に対する検出結果503が出力されるので中間結果格納領域1203に格納され、中間結果記憶部103はバッファフルの状態になる(図11(b))。
このバッファフルの状態で、以後の中間結果504及び505が出力された場合、最も単純には、中間結果504及び505を中間結果記憶部103に保存しないで破棄することが考えられる。この場合の検出結果の例を図12(a)に示す。
図12(a)の結果を見ると、比較的大きく写っている中央の2人に対して検出に失敗しているように見える。経験的には、大きく写っている被写体の方がそうでない被写体よりも重要と考えられる。また見方をかえると、中央の2人に対する検出対象物(顔)の解像度は高く、検出は比較的容易に思われる。しかしながら、図12(a)の結果では比較的大きく写っている検出対象物(顔)の検出に失敗しているように思われる。したがって、(経験的に)重要で検出が容易と思われる被写体に対して検出に失敗しているように見えてしまう。
本実施形態による処理方式では、中間結果記憶部103の中間結果格納領域1201〜1203を循環状に用いて(既にデータが入っているかどうかにかかわらず)結果を書き込む。
図11(c)は、検出部102が、中間結果格納領域1203の次の格納領域として中間結果格納領域1201を用い、そこに中間結果504を保存し、更に同様に中間結果格納領域1202に検出結果505を保存した状態を表している。例えば、更にこの後検出結果があった場合には、検出部102は、続いて中間結果格納領域1203、1201の順に循環状(循環的)に格納する。
図13は、第一の実施形態の中間結果格納領域1201〜1203を循環状に用いて中間結果を格納する処理を説明する流れ図(その1)である。
なお、図13の流れ図にある変数iは、起動時や検出対象の入力画像が切り替わったときに、この流れ図の外の処理で0に初期化される。
まず、ステップS1301で、検出部102は、出力された検出結果(中間結果)を、i番目のバッファに格納する。図11の例でいえば、中間結果格納領域1201は0番目、中間結果格納領域1202は1番目、中間結果格納領域1203は2番目のバッファである。データの格納は、検出結果の矩形の座標や尤度を表す情報を含む。このとき、矩形の座標は該当する検出結果の矩形を入力画像1101の座標系に変換したものであっても良い。好ましくは検出した画像の座標系における座標とどの画像で検出したかとを表す情報(図11の1201〜1203にある「画像」がこれを識別する情報)であるように構成する。後者の場合、統合処理部104が統合処理を行う際に入力画像1101の座標系に変換する。
そして、S1303では、検出部102は、iとバッファサイズNとを比較し、iがN以上である場合、処理をS1304へ進め、そうでない場合、処理を終了する。ステップS1304では、検出部102は、iの値を0にリセットしている。これはつまり、i≧Nが成立するのは最終バッファに到達したときなので、この場合、ステップS1304でiを0にセットすることで、中間結果記憶部103の中間結果格納領域1201〜1203を循環状に使用するようにしている。
本実施形態による方式で、図11(c)の状態になった場合の検出結果の例が図12(b)である。図12(b)では、右上の小さく写った人物2人に対する検出結果が失われている代わりに、比較的重要と思われる中央の2人物の検出結果が表示されている。したがって、図12(a)の結果に比べ、図12(b)の結果の方が好ましいということが分かる。
以上説明したように、検出処理において、解像度の高い画像から順に処理することで、より小さな検出結果を先に検出するようにする。そして、中間結果を格納するバッファ領域を循環状に用いることにより、予め用意したバッファ領域を超える数の中間結果が出力された場合においても、大きな検出結果が優先され、良好な結果を得ることができる。
更に、図1の構成には様々な変形例も考えられる。図14は、第一の実施形態の画像処理装置のハードウェア構成の一例を示す図(その2)である。図14では、検出部102の指示及び検出結果(中間結果)は一旦全て統合処理部104に渡し、統合処理部104が中間結果記憶部103に検出結果を格納するように構成されている。このような変形例も本実施形態の意図するところである。この場合、図13で説明した処理は、統合処理部104が実行するにすれば良い。
また、図1の構成例と同様に図13の構成において、中間結果記憶部103と結果記憶部105とを同一の記憶部としても良い。
また、或いは、検出部102と統合処理部104とがパイプライン状に動作するために、中間結果記憶部103を多重化するようにしても良い。このような構成とした場合、統合処理部104が1枚目の画像の検出結果(中間結果)に対して統合処理を行うのと並行して、検出部102が2枚目の画像に対する検出処理を実行することができる。
なお、図13の流れ図による処理のかわりに、図15の流れ図による処理を用いるのであっても良い。図15は、第一の実施形態の中間結果格納領域1201〜1203を循環状に用いて中間結果を格納する処理を説明する流れ図(その2)である。図15のS1301は図13と同じ処理であるが、S1302以降の処理のかわりに、検出部102が、S1401の演算を行っている。なお、S1401の"mod"は剰余算を表す。更には、特にNの値が2以上の2のべき乗である場合には、S1401の演算のかわりに検出部102は、
i = (i + 1) & (N ? 1) ("&"はビット積)
を用いて演算を行っても良い。"mod"を使う演算による方式は、例えば条件分岐によるパフォーマンス低下が剰余算の計算コストを超える場合には有効である。また、ビット積を用いる方式は"mod"演算よりも計算コストの低いビット積で実現できるので、特定条件(Nが2以上の2のべき乗)を満たす場合には有効である。
なお、本実施形態では図1に示したように各部をハードウェアとして実装した例を説明したが、図16に示すように、CPU1がメモリ2に記憶されたプログラムを実行することによって各部として機能させるソフトウェアで実現するようにしても良い。この場合、プログラムを格納する媒体(例えば、メモリ等)も本実施形態の意図するところの一実施形態である。なお、図16の構成の場合、中間結果記憶部103や結果記憶部105、画像記憶部101はメモリ2に構成されるが、このことは本実施形態を制限するものではない。上述したように、各記憶部をそれぞれ異なる記憶媒体(例えば、メモリ、レジスタ、ディスク装置等)で構成しても良い。
本実施形態では第一の実施形態と異なる部分についてのみ説明を行う。
第一の実施形態の図1においては画像変倍部110を含む例を例示したが、これはあくまでも好適な一例である。本実施形態による画像処理装置では、高解像度→低解像度の順に検出部102に処理を行わせれば良く、例えば予め様々な解像度の変倍画像が画像記憶部101に用意できる場合は、画像変倍部110は必須ではない。
一例をあげると、公知のJPEG2000標準符号化方式等により符号化された画像データは、様々な解像度で復号することが可能である。したがって、高解像度画像から徐々に低解像度画像になるように順番に復号処理部(又は復号処理装置)で符号化された画像を画像記憶部101に格納しておき、検出部102が処理するような構成を取るのであっても良い。
本実施形態では第一の実施形態と異なる部分についてのみ説明を行う。
図17は、第三の実施形態の画像処理装置のハードウェア構成の一例を示す図である。図17については、図1と対比しながら説明する。なお、図17において、図1と同一のものについては同番号を付与し説明を省略する。
図17における画像記憶部1601〜1603は、図1における画像記憶部101と同じ構成のものである。但し画像記憶部1601〜1603は互いに異なる画像を保持している。これは例えば、図5の710、801、802を、それぞれ画像記憶部1601、1602、1603が保持する構成である。
なお、画像記憶部1601〜1603を異なるブロックで表現しているのは、概念として分離できるからであって、実体としては同一の記憶媒体(公知のメモリ、レジスタ、ディスク装置等)であっても良い。
また、検出部1611〜1613は、図1における検出部102と同一のものである。検出部1611〜1613は、それぞれ画像記憶部1601〜1603から画像を入力する点のみが異なる。
記録管理部1621は、検出部1611〜1613が出力する検出結果(中間結果)を中間結果記憶部103に記録する。
なお、図18における変数Mは中間結果の受信数を表し、第一の実施形態図13のiと同様に起動時や検出対象の入力画像が切り替わったときに、この流れ図の外の処理で0に初期化される。
まず、ステップS1701で、記録管理部1621は、MとNの比較を行う。Nは、図13の流れ図におけるNと同様、中間結果記憶部103の中のバッファ数を表す。
ステップS1701の判定が真になる場合はバッファフルが発生していない状態であり、記録管理部1621は、処理をステップS1702に進める。偽である場合は、記録管理部1621は、処理をステップS1703に進める。
ステップS1702では、記録管理部1621は、バッファのM番目に、今受信した中間結果を格納する。そして、ステップS1710で、記録管理部1621は、Mの値を1増やして処理を終了する。
一方、ステップS1701での判定が偽となった場合、記録管理部1621は、処理をS1703に進める。
ステップS1703は以下で使用する変数の初期化ステップで、記録管理部1621は、jを0に、kを1に初期化する。
ステップS1705では、記録管理部1621は、バッファk番目の結果の画像解像度とバッファj番目の結果の画像解像度とを比較する。結果の画像解像度は、例えば本実施形態の場合、検出部1611〜1603のどれから受信した中間結果であるかということで判定することができる。また、第一の実施形態の図11で例示したように1201〜1203に格納されている。記録管理部1621は、1201〜1203に格納される情報に「画像」があればそれで識別可能であるし、或いは入力画像1101の座標系に変換された後の座標系であれば矩形の大きさを見れば判別できる。矩形が大きいほど解像度の低い画像での検出結果(中間結果)である。
ステップS1705の判定が真であった場合、記録管理部1621は、処理をステップS1706に進める。ステップS1706では、記録管理部1621は、jにkを代入する。一方、偽であった場合、記録管理部1621は、ステップS1706の処理を飛ばして処理をステップS1707に進める。
ステップS1707では、記録管理部1621は、kの値を1つ増やし、ステップS1704に処理を戻す。
ステップS1704〜S1707のループ処理は、受信済の中間結果で最も高解像度の画像に対する検出結果を探し、そのバッファ上での位置を表す数値をjに設定する処理である。
ステップS1708では、記録管理部1621は、先のループで探した(最も高い)画像解像度と今受信した中間結果の画像解像度とを比較する。バッファにある(最も高い)画像解像度よりも受信した中間結果の画像解像度が低い場合には、記録管理部1621は、処理をステップS1709に進める。S1709では、記録管理部1621は、検出した格納済の中間結果を受信した検出結果で上書きして処理をS1710に進める。そうでない場合は、記録管理部1621は、処理をS1710に進める。後者の場合、受信した中間結果を破棄することになる。
したがって、記録管理部1621は、中間結果記憶部103がバッファフルでない場合は空いている領域に受信した中間結果を記録する。逆にバッファフル状態であった場合、記録管理部1621は、格納済の検出結果から最も高い解像度の画像に対する中間結果を探す。そして、記録管理部1621は、探した中間結果と受信した中間結果との検出画像の解像度を比較し、より低解像度の画像の結果を残す。
図18の流れ図はこのための処理の一例であって、同様の挙動をする処理による変形は本実施形態の意図するところである。
また、検出部1611〜1613が出力する中間結果の検出対象となった画像の識別情報(或いは解像度に関する情報)を記録管理部1621に与えるように構成しても良い。
好ましくは、画像の分割及び配置を制御する制御部(図17において不図示)を設け、その制御部から画像の識別情報を記録管理部1621に送信するように構成しても良い。
また、第一の実施形態に対して、例えば図14で示すような変形も可能であると説明したが、本実施形態でも同様の変形が可能である。この場合、複数の検出部の出力を一旦、統合処理部104が受信し、記録管理部1621は統合処理部104の出力を受けて中間結果記憶部に出力を行うよう構成するよう構成しても良い。或いは、記録管理部1621の機能を統合処理部104が実行するように構成しても良い。
以上、本実施形態においては、検出部が出力する中間結果の順序関係が第一の実施形態と異なるような場合の例を説明した。
本実施形態による方式は、第一の実施形態に比べ検出部を複数設ける等して処理の並列化、或いは分散化がし易いという利得がある。
本実施形態では、第一、第四の実施形態と異なる部分のみ説明を行う。
第一、第三の実施形態では入力画像の変倍を行う例について説明を行ったが、本実施形態ではウィンドウサイズを変倍する場合の検出処理(つまり、ウィンドウサイズを変化させた検出処理)における方式について説明を行う。
本実施形態の画像処理装置は、検出処理においてはウィンドウ画像の一部若しくは全部を参照し、それに対して予め定められた係数を用いて判定処理を行う。そこで、このウィンドウサイズ、ウィンドウ内の参照位置、範囲を順次、2倍、3倍・・とすれば、入力画像を1/2、1/3・・・としていった場合と同様の効果を得ることができる。
この場合、本実施形態の画像処理装置は、第一、第三の実施形態で用いた検出対象の画像解像度情報(若しくはその識別情報)の代わりに、このウィンドウの倍率またはサイズなどを用いれば良い。
第一、第三の実施形態では、画像処理装置は、検出対象画像の解像度が高い物を破棄し、より解像度が低い物を残すように構成していたが、これは図4や或いは図5で説明したように、より大きな検出対象のものを残すように構成したものである。したがって、本実施形態の画像処理装置は、ウィンドウ拡大率が小さいものを破棄し、より拡大率が大きい物を残すようにする。
また、そのため、本実施形態の画像処理装置は、図11(a)〜(c)で例示した中間結果の格納には、「画像」の情報のかわりにこの倍率(若しくはそれを識別可能な情報)を記録する。
本実施形態の画像処理装置は、予め定められた最小ウィンドウサイズで入力画像の全領域に対して検出処理を行った後にウィンドウサイズを拡大して改めて入力画像の全領域に対して検出を行う。そして、更に、本実施形態の画像処理装置は、ウィンドウサイズを拡大して検出処理を行うことを繰り返す。このように本実施形態の画像処理装置を構成した場合、第一の実施形態の図13若しくは第二の実施形態の図15で説明したような処理で実現することもできる。
以上説明したように、本実施形態によっても、中間結果の出力数がバッファの数を超えるような場合であっても良好な結果を得ることができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
104 統合処理部
Claims (13)
- 記憶手段と、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出する検出手段と、
を有し、
前記検出手段は、新たに検出した検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納する画像処理装置。 - 前記記憶手段は、予め定められた数の格納領域を有し、
前記検出手段は、入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、解像度が最も高い画像から順に前記ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出すると共に、検出結果を前記格納領域に順に格納し、前記記憶手段の格納領域に空きが無くなった場合には、前記検出結果を格納した格納領域の順に前記検出した検出結果を書き込む請求項1記載の画像処理装置。 - 前記記憶手段の格納領域に格納された検出結果を統合する統合処理手段を更に有する請求項1又は2記載の画像処理装置。
- 記憶手段と、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出する検出手段と、
前記検出手段で新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出された検出結果を前記格納領域に格納し、前記記憶手段の格納領域に格納された検出結果を統合する統合処理手段と、
を有する画像処理装置。 - 記憶手段と、
入力画像に対して、複数のウィンドウサイズによる検出処理を適用して画像中にある被写体を検出する検出手段と、
を有し、
前記検出手段は、新たに検出した検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像よりウィンドウサイズが小さい画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納する画像処理装置。 - 前記記憶手段は、予め定められた数の格納領域を有し、
前記検出手段は、入力画像に対して、順次、ウィンドウサイズを拡大して検出処理を適用して画像中にある被写体を検出すると共に、検出結果を前記格納領域に順に格納し、前記記憶手段の格納領域に空きが無くなった場合には、前記検出結果を格納した格納領域の順に前記検出した検出結果を書き込む請求項5記載の画像処理装置。 - 前記記憶手段の格納領域に格納された検出結果を統合する統合処理手段を更に有する請求項5又は6記載の画像処理装置。
- 記憶手段を有する画像処理装置が実行する画像処理方法であって、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納するステップと、
を含む画像処理方法。 - 記憶手段を有する画像処理装置が実行する画像処理方法であって、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出された検出結果を前記格納領域に格納するステップと、
前記記憶手段の格納領域に格納された検出結果を統合するステップと、
を含む画像処理方法。 - 記憶手段を有する画像処理装置が実行する画像処理方法であって、
入力画像に対して、複数のウィンドウサイズによる検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像よりウィンドウサイズが小さい画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納するステップと、
を含む画像処理方法。 - 記憶手段を有するコンピュータに、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納するステップと、
を実行させるためのプログラム。 - 記憶手段を有するコンピュータに、
入力画像及び前記入力画像から生成された複数の解像度の画像の各画像に対して、ウィンドウサイズを固定した検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像より解像度が高い画像の検出結果を前記格納領域から破棄し、前記新たに検出された検出結果を前記格納領域に格納するステップと、
前記記憶手段の格納領域に格納された検出結果を統合するステップと、
を実行させるためのプログラム。 - 記憶手段を有するコンピュータに、
入力画像に対して、複数のウィンドウサイズによる検出処理を適用して画像中にある被写体を検出するステップと、
前記ステップで新たに検出された検出結果を前記記憶手段の格納領域に格納するに際し、前記格納領域に空きがなかった場合には、前記検出結果を得た画像よりウィンドウサイズが小さい画像の検出結果を前記格納領域から破棄し、前記新たに検出した検出結果を前記格納領域に格納するステップと、
を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011139687A JP5743742B2 (ja) | 2011-06-23 | 2011-06-23 | 画像処理装置、画像処理方法及びプログラム |
US13/528,094 US9036873B2 (en) | 2011-06-23 | 2012-06-20 | Apparatus, method, and program for detecting object from image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011139687A JP5743742B2 (ja) | 2011-06-23 | 2011-06-23 | 画像処理装置、画像処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013008154A JP2013008154A (ja) | 2013-01-10 |
JP5743742B2 true JP5743742B2 (ja) | 2015-07-01 |
Family
ID=47361889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011139687A Expired - Fee Related JP5743742B2 (ja) | 2011-06-23 | 2011-06-23 | 画像処理装置、画像処理方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9036873B2 (ja) |
JP (1) | JP5743742B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103563350B (zh) * | 2011-05-31 | 2016-09-28 | 松下知识产权经营株式会社 | 图像处理装置、图像处理方法以及数码相机 |
TWI786409B (zh) * | 2020-06-01 | 2022-12-11 | 聚晶半導體股份有限公司 | 影像偵測裝置以及影像偵測方法 |
JP2023119326A (ja) * | 2022-02-16 | 2023-08-28 | Tvs Regza株式会社 | 映像解析装置および映像解析方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424385B1 (en) * | 1994-09-08 | 2002-07-23 | Sony Corporation | Still image system |
EP0827340A3 (en) * | 1996-08-30 | 1999-10-06 | Matsushita Electric Industrial Co., Ltd. | Terminal apparatus and method for achieving interactive operations |
US6836273B1 (en) * | 1999-11-11 | 2004-12-28 | Matsushita Electric Industrial Co., Ltd. | Memory management method, image coding method, image decoding method, image display method, memory management apparatus, and memory management program storage medium |
JP2002101377A (ja) * | 2000-09-20 | 2002-04-05 | Olympus Optical Co Ltd | ハイブリッドカメラ |
JP2006060590A (ja) * | 2004-08-20 | 2006-03-02 | Canon Inc | 電子データの文字品質を確認する画像処理装置および画像処理方法およびコンピュータプログラム |
US7315259B2 (en) * | 2005-08-11 | 2008-01-01 | Google Inc. | Techniques for displaying and caching tiled map data on constrained-resource services |
JP4600215B2 (ja) * | 2005-08-26 | 2010-12-15 | ブラザー工業株式会社 | 画像形成装置 |
JP4311398B2 (ja) * | 2005-11-30 | 2009-08-12 | ブラザー工業株式会社 | 複合機 |
JP4540661B2 (ja) * | 2006-02-28 | 2010-09-08 | 三洋電機株式会社 | 物体検出装置 |
JP4714630B2 (ja) * | 2006-04-20 | 2011-06-29 | パナソニック株式会社 | 画像再生方法、画像再生装置及びディジタルカメラ |
JP2008118216A (ja) * | 2006-10-31 | 2008-05-22 | Brother Ind Ltd | 画像処理装置および画像処理プログラム |
JP2008204568A (ja) * | 2007-02-21 | 2008-09-04 | Matsushita Electric Ind Co Ltd | 記録装置 |
JP2009110486A (ja) * | 2007-11-01 | 2009-05-21 | Sony Corp | 画像処理装置、画像処理方法および画像処理プログラム、並びに、撮像装置および撮像装置の制御方法 |
US20110019007A1 (en) * | 2009-02-18 | 2011-01-27 | Gidon Elazar | Method, apparatus and method for adding functionality to a digital camera |
US20110025858A1 (en) * | 2009-02-18 | 2011-02-03 | Gidon Elazar | Method, apparatus, and system for adding functionality to a digital camera |
-
2011
- 2011-06-23 JP JP2011139687A patent/JP5743742B2/ja not_active Expired - Fee Related
-
2012
- 2012-06-20 US US13/528,094 patent/US9036873B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120328155A1 (en) | 2012-12-27 |
US9036873B2 (en) | 2015-05-19 |
JP2013008154A (ja) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Unsupervised learning of view-invariant action representations | |
US10832069B2 (en) | Living body detection method, electronic device and computer readable medium | |
Matai et al. | Design and implementation of an fpga-based real-time face recognition system | |
US8718324B2 (en) | Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation | |
US20160104056A1 (en) | Spatial pyramid pooling networks for image processing | |
EP1973064A2 (en) | Object image detection method and object image detection device | |
CN109727264A (zh) | 图像生成方法、神经网络的训练方法、装置和电子设备 | |
Liu et al. | Real-time object tracking system on FPGAs | |
US11275925B2 (en) | Violence detection system | |
WO2015016988A1 (en) | Object recognition and tracking using a classifier comprising cascaded stages of multiple decision trees | |
US20120114177A1 (en) | Image processing system, image capture apparatus, image processing apparatus, control method therefor, and program | |
US11113507B2 (en) | System and method for fast object detection | |
CN103098077A (zh) | 实时视频帧预处理硬件 | |
US20140270343A1 (en) | Efficient 360 degree video processing | |
JP2008102611A (ja) | 画像処理装置 | |
JP5743742B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
Dürre et al. | A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA | |
CN111353442A (zh) | 图像处理方法、装置、设备及存储介质 | |
US10878272B2 (en) | Information processing apparatus, information processing system, control method, and program | |
JP5258506B2 (ja) | 情報処理装置 | |
Paschalakis et al. | Real-time face detection and tracking for mobile videoconferencing | |
WO2020238119A1 (en) | Video understanding neural network systems and methods using the same | |
Wadhwa et al. | Comparison of YOLOv8 and Detectron2 on Crowd Counting techniques | |
Das et al. | Modified architecture for real-time face detection using FPGA | |
Hu et al. | Design and Implementation of an Embedded Face Recognition System on DM642 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140623 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150317 |
|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150428 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5743742 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |