JP6733188B2 - データ統合装置、データ統合方法、及びプログラム - Google Patents

データ統合装置、データ統合方法、及びプログラム Download PDF

Info

Publication number
JP6733188B2
JP6733188B2 JP2016014037A JP2016014037A JP6733188B2 JP 6733188 B2 JP6733188 B2 JP 6733188B2 JP 2016014037 A JP2016014037 A JP 2016014037A JP 2016014037 A JP2016014037 A JP 2016014037A JP 6733188 B2 JP6733188 B2 JP 6733188B2
Authority
JP
Japan
Prior art keywords
data
integrated
vector data
primary
integration
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
JP2016014037A
Other languages
English (en)
Other versions
JP2017134634A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2016014037A priority Critical patent/JP6733188B2/ja
Publication of JP2017134634A publication Critical patent/JP2017134634A/ja
Application granted granted Critical
Publication of JP6733188B2 publication Critical patent/JP6733188B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、データを統合する技術に関し、特に、演算量が膨大にならないように効率的にデータを統合することが可能な、データ統合技術に関する。
例えば、画像に対して探索窓を走査させながら検出対象(顔画像など)を検出すると、通常、多数の検出候補(検出データ)が得られる(特許文献1など)。このため、データ統合処理によって多数の検出データを統合して最終的な結果を得る必要がある。例えば、従来、ミーンシフト(移動処理)、ニアレストネイバー(統合処理)の二段処理によってこのデータ統合処理が実現されている。
特開2009−110486号公報
しかしながら、従来のデータ統合処理は、大量の検出データが検出されると演算量が膨大となる。特に、検出精度の向上を目的に画像に対して探索窓の走査を密に行うと、検出データが大量に検出されるため、現実的な時間でデータ統合処理を完了させることが困難となる。このような背景から、多数の検出データが得られた場合であっても、演算量が膨大にならないようなデータ統合処理の実現が望まれている。
本発明は、前述した問題点に鑑みてなされたものであり、その目的とすることは、演算量が膨大にならないように効率的にデータを統合することが可能な、データ統合装置等を提供することである。
前述した目的を達成するために第1の発明は、少なくとも2次元の位置座標を要素として含むベクトルであるベクトルデータを数記憶する記憶手段と、前記ベクトルデータを、ベクトルデータ同士のベクトル間の離に基づいて統合し、複数の一次統合ベクトルデータとする一次統合手段と、前記一次統合手段により統合された一次統合ベクトルデータを、一次統合ベクトルデータが密集する方へ移動させる移動手段と、移動させた前記一次統合ベクトルデータを、一次統合ベクトルデータ同士のベクトル間の離に基づいて更に統合し、二次統合ベクトルデータとする二次統合手段と、を備えることを特徴とするデータ統合装置である。
第1の発明によれば、一次統合手段によって複数のベクトルデータをベクトルデータ同士のベクトル間の離に基づいて一次統合ベクトルデータとして統合し、移動手段によって統合した一次統合ベクトルデータを一次統合ベクトルデータが密集する方へ移動させ、二次統合手段によって移動させた一次統合ベクトルデータを一次統合ベクトルデータ同士のベクトル間の離に基づいて二次統合データとして統合する。従来のデータ統合処理では、ベクトルデータをベクトルデータ同士が密集する方へ移動させて(移動処理)、移動させたベクトルデータをベクトルデータ同士のベクトル間の離に基づいて統合していた(統合処理)。このため、大量のデータが存在すると、演算量が膨大になる問題があった。この点、第1の発明によれば、一次統合手段によって、ベクトルデータをベクトルデータ同士のベクトル間の離に基づいて統合(一次統合)して情報量を落としたうえで、その後の移動処理および統合処理(二次統合処理)を実行するため、高速なデータ統合を実現することが可能となる。すなわち、第1の発明によれば、演算量が膨大にならないように効率的にデータを統合することが可能なデータ統合装置が提供される。
また第1の発明において、前記一次統合手段は、統合対象であるベクトルデータに対して、第1の所定距離内に存在するベクトルデータが第1の所定数以上の場合、前記統合対象のベクトルデータと前記第1の所定距離内に存在するベクトルデータを1つの一次統合ベクトルデータとして統合し、前記第1の所定距離内に存在するベクトルデータが前記第1の所定数未満の場合、統合対象であるベクトルデータをそのまま一次統合ベクトルデータとすることが望ましい。これにより、一次統合処理が好適に実行される。
また第1の発明において、前記二次統合手段は、統合対象である一次統合ベクトルデータに対して、第2の所定距離内に他の一次統合ベクトルデータが存在する場合、前記統合対象の一次統合ベクトルデータと前記第2の所定距離内に存在する他の一次統合ベクトルデータを統合して二次統合ベクトルデータとし、前記第2の所定距離内に他の一次統合ベクトルデータが存在しない場合、統合対象である一次統合ベクトルデータをそのまま二次統合ベクトルデータとすることが望ましい。これにより、二次統合処理が好適に実行される。
また第1の発明において、前記二次統合手段は、前記二次統合ベクトルデータのうち、統合されたデータ数を第2の所定数以上含む二次統合ベクトルデータを、統合結果とすることが望ましい。これにより、二次統合ベクトルデータの中から好適な統合結果を得ることができる。
また第1の発明において、前記移動手段は、移動対象である一次統合ベクトルデータを、当該一次統合ベクトルデータから所定距離内に存在する他の一次統合ベクトルデータが密集する方へ移動させることが望ましい。これにより、移動処理が好適に実行される。
また第1の発明において、前記ベクトルデータは、例えば、画像に対して所定の検出対象を検出する検出処理を施して得られる検出データであり、少なくとも検出された検出対象の画像における2次元の位置座標を含む。これにより画像中に含まれる検出対象を検出した検出データに対して、高速なデータ統合を行うことが可能となる。
また、前記検出処理は、前記画像に対して、検出対象を探索するための探索窓を走査させながら検出対象を検出してもよい。これにより、データ統合の高速化とともに検出対象の検出精度の向上が実現される。
さらに、前記検出処理は、前記画像に対して、検出対象を探索するための探索窓を異なるサイズで走査させながら検出対象を検出してもよい。この場合、前記ベクトルデータは、更に、前記検出処理により検出対象が検出された際の前記探索窓のサイズをベクトルの要素として含むことが望ましい。これにより、検出対象の位置情報に加えサイズ情報に基づいてデータ統合が行われる。
第2の発明は、少なくとも2次元の位置座標を要素として含むベクトルであるベクトルデータを数記憶する記憶手段を備えるコンピュータによるデータ統合方法であって、前記ベクトルデータを、ベクトルデータ同士のベクトル間の離に基づいて統合し、複数の一次統合ベクトルデータとする一次統合ステップと、統合された一次統合ベクトルデータを、一次統合ベクトルデータが密集する方へ移動させる移動ステップと、移動させた前記一次統合ベクトルデータを、一次統合ベクトルデータ同士のベクトル間の離に基づいて更に統合し、二次統合ベクトルデータとする二次統合ステップと、を含むことを特徴とするデータ統合方法が提供される。
第3の発明は、コンピュータを請求項1に記載のデータ統合装置として機能させることを特徴とするプログラムである。第3の発明により、コンピュータを第1の発明のデータ統合装置として機能させることが可能となる。
本発明によれば、演算量が膨大にならないように効率的にデータを統合することが可能な、データ統合装置等が提供される。
検出装置1(データ統合装置)のハードウェア構成を示す図 検出器2を模式的に表した図 検出装置1の動作を示すフローチャート 入力画像Imの例を示す図 検出処理を模式的に表した図 検出処理の流れを示すフローチャート 検出処理により検出された入力画像Im上の検出データ3を示す図 検出処理により検出された検出データ3のデータ内容を示す図 本発明のデータ統合処理の流れを示すフローチャート 一次統合処理の流れを示すフローチャート 一次統合処理を模式的に表した図 一次統合処理により一次統合された一次統合データ5のデータ内容を示す図 移動処理の流れを示すフローチャート 移動処理を模式的に表した図 二次統合処理の流れを示すフローチャート 二次統合処理を模式的に表した図 二次統合処理により二次統合された二次統合データ7のデータ内容を示す図 入力画像Imに対して検出処理、統合処理を施して得られた最終的な検出結果の例を示す図 従来のデータ統合処理の流れを示すフローチャート 移動処理(従来)の流れを示すフローチャート 統合処理(従来)の流れを示すフローチャート 移動処理(従来)を模式的に表した図 統合処理(従来)を模式的に表した図
以下図面に基づいて、本発明の実施形態を詳細に説明する。本発明は、後述する画像中における所定の検出対象(顔画像など)を所定の検出処理(顔検出処理など)により検出し、得られた検出データを統合するためのデータ統合処理に好適に適用することが可能であるが、これに限定されるわけではない。本発明は、前述の課題を有するものであれば、前記したデータ統合処理に適用する場合と同様の効果を奏する。
<検出装置1のハードウェア構成>
図1は、本発明のデータ統合装置を含む検出装置1のハードウェア構成を示す図である。図に示すように、検出装置1は、主に、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
制御部11は、CPU(Central Processing
Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等によって構成される。CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、検出装置1が行う後述する処理を実現する。ROMは、不揮発性メモリであり、検出装置1のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
記憶部12は、HDD(Hard Disk Drive)等であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(Operating System)等が格納される。プログラムに関しては、OSに相当する制御プログラムや、後述する処理を検出装置1に実行させるためのプログラムが格納されている。これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。通信制御部14は、通信制御装置、通信ポート等を有し、検出装置1とネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部15を介して、検出装置1に対して、操作指示、動作指示、データ入力等を行うことができる。
また、入力部15は、CCDやCMOSセンサ等のカメラを備えてもよい。これにより、カメラにより撮像した画像を、入力画像Imとすることもできる。
表示部16は、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携して検出装置1のビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。尚、入力部15及び表示部16は、タッチパネルディスプレイのように、一体となっていても良い。
周辺機器I/F(Interface)部17は、検出装置1と周辺機器とのデータ送受信を行うためのポートやアンテナ等であり、検出装置1は周辺機器I/F部17を介して周辺機器とのデータの送受信を行う。周辺機器との接続形態は、有線(例えば、USB(Universal Serial Bus)等)、無線(例えば、Bluetooth(登録商標)等)を問わない。バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
検出装置1の記憶部12には、検出対象画像(例えば顔画像)と非検出対象画像(背景画像)を分類することで検出対象を検出する「検出器2」が格納されている。検出装置1の制御部11は、所定スケール(サイズ)の探索窓30(例えば8ピクセル×8ピクセルのような検出領域)を画像中で走査させながら探索窓30で切り出した画像をこの検出器2に入力し、検出処理を行う。
図2は、検出器2を模式的に表した図である。検出器2は、図に示すように、例えば順序付けられた複数の強識別器(強識別器2−1、2−2、・・・、2−N)を連結して構成したカスケード型分類器である。このカスケード型分類器は、例えばHaar−Like特徴量を用いた機械学習(例えばAdaBoost)によって予め構築されている。各強識別器は、検出対象画像と非検出対象画像(背景画像)を分類する1クラス分類器として機能し、検出器2の最上段の強識別器2−1から順に分類処理を実行していく。そして、いずれかの強識別器で非検出対象と分類(「背景分類」)された場合、それ以降の強識別器による分類処理が破棄される。途中で背景分類されることなく、最下段の強識別器で検出対象画像に分類されると、制御部11は、検出対象(物体)を検出したものと判断する。
<検出装置1の動作>
次に、図3〜図21を参照して、検出装置1の具体的な動作について説明する。
図3は、検出装置1の全体動作を示すフローチャートである。図に示すように、まず、検出装置1の制御部11は、検出対象(顔画像)を含む入力画像Imを画像入力し(ステップS1)、入力画像Imに対して検出処理を実行する(ステップS2)。
図4は、入力画像Imの例を示す図である。図の例では、入力画像Im中に2つの検出対象(顔画像)が存在する。
図5は、ステップS1における検出処理を模式的に表した図である。図5(a)に示すように、入力画像Imに対して、所定スケール(サイズ)の探索窓30を走査させながら、各走査位置で検出処理を実行する。具体的には、所定の走査領域20(入力画像Im内で任意に設定される探索範囲)の左上端から、X軸(画像水平方向)の正方向に所定の移動幅で探索窓30の走査を開始し、各走査位置で検出処理を実行する。探索窓30が走査領域20の右端に達すると、探索窓30をY軸(画像垂直方向)の正方向に所定量移動(シフト)させ、今度は、右端から、X軸の負方向に所定の移動幅で探索窓30を走査させながら、各走査位置で検出処理を実行する。
このように、探索窓30のX軸方向の正方向又は負方向の走査とY軸方向の移動(シフト)を繰り返すことにより、走査領域20の全領域に亘って検出対象(顔画像)の探索が行われる。走査領域20の全領域に亘って走査が終了したら、図5(b)に示すように、探索窓30のサイズを指定スケーリング値で拡大し、再度、所定の走査領域20の左上端から、前述したように、探索窓30を走査し、各走査位置で検出処理を実行していく。このように、探索窓30のサイズ(スケール)を変更しながら走査することで、画像内の任意のサイズの検出対象(顔画像)を検出する。
そして、探索窓30のサイズ(スケール)が所定値以上になると(例えば、探索窓30が矩形の場合、矩形サイズの長辺が走査領域20の短辺より大きくなるまで)、検出処理を終了する。
なお、図5(a)の走査順序はあくまで一例であり、図1の例以外にも種々の走査順序を選択できる。例えば、探索窓30が走査領域20の右端に達すると、再度、走査領域20の左端から走査を開始するようにしてもよい。この場合、探索窓30のX軸の正方向への走査(走査領域20の左端から右端への走査)と、Y軸方向への移動(シフト)を繰り返すことにより、走査領域20の全領域に亘って検出対象(顔画像)の探索が行われる。
図6は、検出処理の流れを示すフローチャートである。まず、制御部11は、所定スケール(サイズ)の探索窓30を入力画像Im中の走査領域20の初期位置に設定する(ステップS11)。例えば、走査領域20の左上端に探索窓30を設定する。そして、制御部11は、探索窓30で切り出した画像を、検出器2へ入力し(ステップS12)、検出処理(カスケード分類処理)を実行する(ステップS13)。制御部11は、検出処理により検出対象(顔画像)が検出された場合には、その検出データ3を出力し記憶部12に保持する。検出データ3とは、少なくとも入力画像Im中の検出対象の位置情報を含むデータであり、本実施形態では、検出対象を検出した際の探索窓30の入力画像Im中の位置(X座標、Y座標)およびスケール(サイズ)を含む。
探索窓30が走査領域20の右端又は左端に未だ到達していない場合には(ステップS14;No)、制御部11は、探索窓30をX軸方向に所定量移動させ(ステップS15)、ステップS12に戻る。
制御部11は、探索窓30により切り出した画像に対する検出処理(カスケード分類処理)の実行と、探索窓30のX軸方向への移動(走査)とを、探索窓30が走査領域20の右端又は左端に到達するまで(ステップS14;Yes)、繰り返し行う。
そして、探索窓30が走査領域20の右端又は左端まで到達すると(ステップS14;Yes)、制御部11は、更に探索窓30が走査領域20の全領域を走査したか否かを判断する(ステップS16)。未走査領域が存在する場合には(ステップS16;No)、制御部11は、探索窓30をY軸方向に所定量移動させ、ステップS12に戻り、再びX軸方向への探索窓30の走査(ステップS12〜S15)を実行する。この際、図5(a)に示すように、探索窓30のX軸の走査方向は正負逆転する。
一方、探索窓30が走査領域20の全領域を走査した場合(ステップS16;Yes)、入力画像Imに対する検出処理を終了する。なお、図6の処理(ステップS11〜ステップS16)は、前述したように、探索窓30のスケール(サイズ)を拡大させながら、繰り返し実行する。
図7は、検出処理により検出された入力画像Im上の検出データ3を示す図である。図に示すように、通常、1つの検出対象(顔画像)に対して複数の検出データ3が検出される。
図8は、検出処理により検出された検出データ3のデータ内容を示す図である。図に示すように、各検出データ3は、データID(3−1,3−2,3−3,…)と紐づいて、各検出データ3の「X座標」(120,130,200,…)、「Y座標」(140,150,740,…)、および「スケール」(64,64,100,…)を保持する。スケールとは、検出対象の検出時の探索窓30のスケール(サイズ)に基づき決定される。本実施形態では探索窓30のX方向(横方向)とY方向(縦方向)のサイズを同一(探索窓30を正方形)としているため、スケールは1つの値で指定されているが、探索窓30のX方向(横方向)とY方向(縦方向)のサイズは異なってもよい。この場合、検出データ3のスケールは、X方向(横方向)のサイズとY方向(縦方向)のサイズで指定される2次元ベクトルで表される。なお、本実施形態とは異なり探索窓30のスケールを一定とした場合には、検出データ3にスケールの情報を含めなくても良い。
次に、本発明の要旨であるデータ統合処理について説明する。データ統合処理によって、検出処理により検出された検出データ3が統合され、各検出対象(各顔画像)を一意に特定することが可能となる。
<従来のデータ統合処理>
まず、本発明のデータ統合処理を説明する前に、図19〜図23を参照して、従来のデータ統合処理について説明する。
図19は、従来のデータ統合処理の流れを示すフローチャートである。図に示すように従来のデータ統合処理は、移動処理(ステップS101)、および統合処理(ステップS102)の2つの処理から構成される。移動処理は、統合処理の前処理であり、検出データ3を検出データ3同士が密集する方へ移動させる(検出データ3の密度が大きい方へ移動させる)。
以下、各処理について順に説明する。
図20は、移動処理の流れを示すフローチャートである。まず、検出装置1の制御部11は、移動済みでない検出データ3を一つ選択する(ステップS201)。
次に、制御部11は、選択した検出データ3の移動量(移動ベクトル)を算出し(ステップS202)、算出した移動量(移動ベクトル)に基づいて、検出データ3を移動させる(ステップS203)。具体的には、数式1に示すように、選択した検出データ3から所定距離DTh内(検出データ3を中心とした半径DTh内)に存在する他の検出データ3に距離に応じた重みを付けて、移動量(移動ベクトル)を算出する。
Figure 0006733188
制御部11は、ステップS202、S203の処理を、移動量(移動ベクトル)|m(r)|が規定値以下になるまで(ステップS204;Yes)、繰り返し実行する。
移動量|m(r)|が規定値以下になると、制御部11は、選択した検出データ3の移動処理を終了する。続いて、制御部11は、全ての検出データ3に対して移動処理が施されたか否かを判断し、未だ移動処理が施されていない検出データ3があれば(ステップS205;No)、移動済みでない検出データ3を再度選択し、当該検出データ3に対して移動処理(ステップS202〜ステップS204)を実行する。
一方、全ての検出データ3に対して移動処理が施されると(ステップS205;Yes)、処理を終了する。
図22は、移動処理を模式的に表した図である。図に示すように、各検出データ3は、ベクトル空間上において検出データ3が密集する方へ移動される。
なお上記説明した移動処理は、ミーンシフト(Mean Shift)として知られている。
図21は、統合処理の流れを示すフローチャートである。まず、検出装置1の制御部11は、統合されていない検出データ3を選択する(ステップS301)。
次に、制御部11は、選択した検出データ3から所定距離DTh内(検出データ3を中心とした半径DTh内)に他の検出データ3が存在するか否かを判定する(ステップS302)。具体的には、検出データ3同士の距離(例えばユークリッド距離)が所定距離DTh内か否かを判定する。所定距離DTh内に他の検出データ3が存在する場合(ステップS302;Yes)、制御部11は、選択した検出データ3と所定距離DTh内に存在する他の検出データ3を統合して統合データ4とする。一方、所定距離DTh内に他の検出データが存在しない場合(ステップS302;No)、制御部11は、選択した検出データ3をそのまま統合データ4とする(ステップS304)。
統合データ4は、数式2に示すように、選択した検出データ3と所定距離DTh内に存在する他の検出データ3の平均値として算出される。
Figure 0006733188
上式において、nは所定距離DTh内に存在する検出データ3の数である。
以上の統合処理は、未統合の検出データ3が存在しなくなるまで(ステップS305;No)、繰り返し実行される。
そして、制御部11は、統合データ4のうち、検出データ数を所定数NTh以上含む統合データ4を最終的な統合結果として出力し、検出データ数が所定数NTh未満である統合データ4は破棄する(ステップS306)。
図23は、統合処理を模式的に表した図である。図23(a)の例では、検出データ3が、統合処理によって3つの統合データ4(4−1,4−2,4−3)に統合される。統合データ4−1は6個の検出データ3を統合したデータであり、統合データ4−2は12個の検出データ3を統合したデータであり、統合データ4−3は3個の検出データ3を統合したデータである。
図23(b)の例では、NTh=5としているため、5個以上の検出データ3を含む統合データ4−1,4−2が最終的な統合結果として出力され、統合データ4−3は破棄される。
なお以上説明した統合処理は、ニアレストネイバー(Nearest Neighbor)として知られている。
ここで、従来のデータ統合処理では、大量の検出データ3が検出されてしまうと演算量が膨大になるデメリットがある。特に、検出対象(顔画像)の検出精度を向上させるために、検出処理において探索窓30の移動量を小さくし、画像中を密に走査することが行われる。このような場合、検出データ3が大量に検出されるため演算量が重くなる。特に、移動処理は繰り返し処理(反復処理)であるため計算負荷が大きい。従って、大量の検出データ3それぞれに計算負荷の大きい移動処理をそのまま適用したのでは、現実的な時間で処理を完了させることが困難となる。本発明に係るデータ統合処理は、検出データ3が大量に検出された場合であっても演算量が膨大にならないようなデータ統合処理を実現するものである。
以降、本発明のデータ統合処理について詳細に説明する。
<本発明のデータ統合処理>
図9は、本発明のデータ統合処理の流れを示すフローチャートである。図に示すように統合処理は、一次統合処理(ステップS21)、移動処理(ステップS22)、二次統合処理(ステップS23)の各処理から構成される。特に、移動処理の前段に統合処理(一次統合処理)を更に設けた点に特徴がある。これにより、後段の移動処理および二次統合処理の計算負荷を大幅に削減することができ、データ統合処理の高速化が実現される。各処理について順に説明する。
(一次統合処理)
まず、図10、11を参照して一次統合処理について説明する。図10は一次統合処理の流れを示すフローチャートであり、図11は一次統合処理を模式的に表した図である。まず、検出装置1の制御部11は、一次統合されていない検出データ3を一つ選択する(ステップS31)。
次に、制御部11は、選択した検出データ3から所定距離DTh1内(検出データ3を中心とした半径DTh1内)に存在する検出データ3が所定数NTh1以上か否かを判定する(ステップS32)。
所定数NTh1以上の場合(ステップS32;Yes)、制御部11は、選択した検出データ3と所定距離DTh1内に存在する他の検出データ3を統合して一次統合データ5とする(ステップS33)。
例えば図11において、検出データ3−1から所定距離DTh1内に存在する検出データ3の数は「6」であり、所定数NTh1は「5」である。すなわち、検出データ3−1から所定距離DTh1内に存在する検出データ3が所定数NTh1以上であるので、所定距離DTh1内に存在する検出データ3を統合して一次統合データ5−1とする。
このとき、一次統合データ5は、所定距離DTh1内に存在する検出データ3の平均値として算出される。
一方、所定数NTh1未満の場合(ステップS32;No)、制御部11は、選択した検出データ3をそのまま一次統合データ5とする(ステップS34)。
例えば図11において、検出データ3−4から所定距離DTh1内に存在する検出データ3の数は「3」であり、所定数NTh1(=5)未満であるので、選択した検出データ3−4をそのまま(所定距離DTh1内に存在する他の検出データ3と統合せずに)一次統合データ5−4とする。
また、ステップS33またはステップS34の一次統合データ5から所定距離DTh1内(一次統合データ5を中心とした半径DTh1内)に他の一次統合データ5が存在する場合(ステップS35;Yes)、一次統合データ5を当該他の一次統合データと併せて統合する(ステップS36)。
以上の一次統合処理は、一次統合されていない検出データ3が存在しなくなるまで(ステップS37;No)、繰り返し実行される。
ステップS33において一次統合された一次統合データ5は数式3のように表すことができる。
Figure 0006733188
上式において、nは所定距離DTh1内に存在する検出データ3の数、mは所定距離DTh1内に存在する一次統合データ5の数、lは一次統合データ5に含まれる(一次統合データ5に統合された)検出データ3の数(以下、「包含検出データ数」と呼ぶ場合がある)を示す。
なお、ステップS34における一次統合データ5(他の検出データ3と統合されていない一次統合データ)は、検出データ3と同一(r=r)となる。
図12は、一次統合処理により一次統合された一次統合データ5のデータ内容を示す図である。図に示すように、各一次統合データ5は、データID(5−1,5−2,5−3,…)と紐づいて、各一次統合データ5に含まれる検出データ3のX座標の平均値(「X座標(平均)」)(100,500,900,…)、検出データ3のY座標の平均値(「Y座標(平均)」)(130,600,1300,…)、検出データ3のスケールの平均値(「スケール(平均)」)(80,90,70,…)、および「包含検出データ数」(6,5,7,…)を保持する。
(移動処理)
次に図13、14を参照して移動処理について説明する。図13は移動処理の流れを示すフローチャートであり、図14は移動処理を模式的に表した図である。まず、検出装置1の制御部11は、移動済みでない一次統合データ5を一つ選択する(ステップS41)。
次に、制御部11は、選択した一次統合データ5の移動量(移動ベクトル)を算出し(ステップS42)、算出した移動量(移動ベクトル)に基づいて、一次統合データ5を移動させる(ステップS43)。具体的には、数式4に示すように、選択した一次統合データ5から所定距離DTh1内(一次統合データ5を中心とした半径DTh1内)に存在する他の一次統合データ5に距離に応じた重みを付けて、移動量(移動ベクトル)を算出する。
Figure 0006733188
上式において、nは所定距離DTh1内に存在する一次統合データ5のうち図10のステップS34において一次統合された検出データ3の数、mは所定距離DTh1内に存在する一次統合データ5のうち図10のステップS33において一次統合されたデータ数、lは当該一次統合された一次統合データ5に含まれる(一次統合データ5に統合された)検出データ3の数を示す。
制御部11は、ステップS42、S43の処理を、移動量(移動ベクトル)|m(r)|が規定値以下になるまで(ステップS44;Yes)、繰り返し実行する。
移動量|m(r)|が規定値以下になると、制御部11は、選択した一次統合データ5の移動処理を終了する。続いて、制御部11は、全ての一次統合データ5に対して移動処理が施されたか否かを判断し、未だ移動処理が施されていない一次統合データ5があれば(ステップS45;No)、移動済みでない一次統合データ5を再度選択し、当該一次統合データ5に対して移動処理(ステップS42〜ステップS44)を実行する。
一方、全ての一次統合データ5に対して移動処理が施されると(ステップS45;Yes)、処理を終了する。
図14に示すように、移動処理によって各一次統合データ5は、一次統合データ5が密集する方へ移動する。
(二次統合処理)
次に図15、16を参照して二次統合処理について説明する。図15は二次統合処理の流れを示すフローチャートであり、図16は二次統合処理を模式的に表した図である。まず、検出装置1の制御部11は、二次統合されていない一次統合データ5を選択する(ステップS51)。
次に、制御部11は、選択した一次統合データ5から所定距離DTh2内(一次統合データ5を中心とした半径DTh2内)に他の一次統合データ5が存在するか否かを判定する(ステップS52)。具体的には、一次統合データ5同士の距離(例えばユークリッド距離)が所定距離DTh2内か否かを判定する。所定距離DTh2内に他の一次統合データ5が存在する場合(ステップS52;Yes)、制御部11は、選択した一次統合データ5と所定距離DTh2内に存在する他の一次統合データ5を統合して二次統合データ7とする(ステップS53)。
例えば図16(a)の例では、一次統合データ5−4から所定距離DTh2内に他の一次統合データ5―5、5−6が存在するため、一次統合データ5−4、5−5、5−6を統合して二次統合データ7−4とする。
一方、所定距離DTh2内に他の一次統合データ5が存在しない場合(ステップS52;No)、制御部11は、選択した一次統合データ5をそのまま二次統合データ7とする(ステップS54)。
例えば図16(a)の例では、一次統合データ5−1から所定距離DTh2内に他の一次統合データ5が存在しないため、一次統合データ5−1はそのまま二次統合データ7−1となる。
以上の二次統合処理は、二次統合されていない一次統合データ5が存在しなくなるまで(ステップS55;No)、繰り返し実行される。
図17は、二次統合処理により二次統合された二次統合データ7のデータ内容を示す図である。図に示すように、各二次統合データ7は、データID(7−1,7−2,7−3,…)と紐づいて、各二次統合データ7に含まれる一次統合データ5のX座標の平均値(「X座標(平均)」)(120,530,305,…)、一次統合データ5のY座標の平均値(「Y座標(平均)」)(150,640,305,…)、一次統合データ5のスケールの平均値(「スケール(平均)」)(80,85,64,…)、および「包含検出データ数」(6,12,3,…)を保持する。なお、包含検出データ数は、二次統合処理により統合された一次統合データ5に含まれる検出データ数の総和となる。
そして、制御部11は、二次統合データ7のうち、包含検出データ数が所定数NTh2以上である二次統合データ7を最終的な統合結果とし、包含検出データ数が所定数NTh2未満である二次統合データ7を破棄する(ステップS36)。
例えば、図17を参照すると、二次統合データ7−1、7−2、7−3の包含検出データ数は、それぞれ6、12、3である。この場合、包含検出データ数が所定数NTh2(=5)以上である二次統合データ7−1、7−2を最終的な統合結果とし、包含検出データ数が所定数NTh2未満である二次統合データ7−3を破棄する(図16(b)参照)。
図3の全体動作を示すフローチャートに戻る。制御部11は、最終的な検出結果(統合結果)を入力画像Im上に出力する(ステップS4)。
図18は、図4の入力画像Imに対して検出処理(ステップS2)、データ統合処理(ステップS3)を施して得られた最終的な検出結果(統合結果)の例を示す。図に示すように、入力画像Im中の2つの検出対象(顔画像)が二次統合データ7によって一意に特定される。
以上、本発明のデータ統合処理について詳細に説明した。本発明のデータ統合処理によれば、一次統合処理によって多数の検出データ3を一次統合データ5として統合し(ステップS21)、移動処理によって統合した一次統合データ5を一次統合データ5が密集する方へ移動させ(ステップS22)、二次統合処理によって移動させた一次統合データ5を二次統合データ7として統合する(ステップS23)。従来のデータ統合処理(図19〜図23参照)では、検出データ3を検出データ同士が密集する方へ移動させ(移動処理)、移動させた検出データ3を統合データ4として統合していた(統合処理)。しかしながら、大量の検出データ3が存在すると、演算量が膨大になる問題があった。特に、移動処理は繰り返し処理(反復処理)であるため計算負荷が大きい。従って、大量の検出データ3それぞれに計算負荷の大きい移動処理をそのまま適用したのでは、現実的な時間で処理を完了させることが困難となる。この点、本発明のデータ統合処理によれば、一次統合処理によって、大量の検出データ3を統合(一次統合)して情報量を落としたうえで、後段の移動処理および統合処理(二次統合処理)を実行するため、高速なデータ統合を実現することが可能となる。またこれにより、検出精度向上のために探索窓30を密に走査した場合であっても、現実的な時間で処理を完了させることができる。
以上、添付図面を参照しながら、本発明の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
1………… 検出装置
2………… 検出器
3………… 検出データ
5………… 一次統合データ
7………… 二次統合データ
20……… 走査領域
30……… 探索窓

Claims (11)

  1. 少なくとも2次元の位置座標を要素として含むベクトルであるベクトルデータを数記憶する記憶手段と、
    前記ベクトルデータを、ベクトルデータ同士のベクトル間の離に基づいて統合し、複数の一次統合ベクトルデータとする一次統合手段と、
    前記一次統合手段により統合された一次統合ベクトルデータを、一次統合ベクトルデータが密集する方へ移動させる移動手段と、
    移動させた前記一次統合ベクトルデータを、一次統合ベクトルデータ同士のベクトル間の離に基づいて更に統合し、二次統合ベクトルデータとする二次統合手段と、
    を備えることを特徴とするデータ統合装置。
  2. 前記一次統合手段は、統合対象であるベクトルデータに対して、第1の所定距離内に存在するベクトルデータが第1の所定数以上の場合、前記統合対象のベクトルデータと前記第1の所定距離内に存在するベクトルデータを1つの一次統合ベクトルデータとして統合し、
    前記第1の所定距離内に存在するベクトルデータが前記第1の所定数未満の場合、統合対象であるベクトルデータをそのまま一次統合ベクトルデータとする
    ことを特徴とする請求項1に記載のデータ統合装置。
  3. 前記二次統合手段は、統合対象である一次統合ベクトルデータに対して、第2の所定距離内に他の一次統合ベクトルデータが存在する場合、前記統合対象の一次統合ベクトルデータと前記第2の所定距離内に存在する他の一次統合ベクトルデータを統合して二次統合ベクトルデータとし、
    前記第2の所定距離内に他の一次統合ベクトルデータが存在しない場合、統合対象である一次統合ベクトルデータをそのまま二次統合ベクトルデータとする
    ことを特徴とする請求項1または請求項2に記載のデータ統合装置。
  4. 前記二次統合手段は、前記二次統合ベクトルデータのうち、統合されたデータ数を第2の所定数以上含む二次統合ベクトルデータを、統合結果とする
    ことを特徴とする請求項3に記載のデータ統合装置。
  5. 前記移動手段は、移動対象である一次統合ベクトルデータを、当該一次統合ベクトルデータから所定距離内に存在する他の一次統合ベクトルデータが密集する方へ移動させる
    ことを特徴とする請求項1から請求項4のいずれかに記載のデータ統合装置。
  6. 前記ベクトルデータは、画像に対して所定の検出対象を検出する検出処理を施して得られる検出データであり、少なくとも検出された検出対象の画像における2次元の位置座標を含む
    ことを特徴とする請求項1から請求項5のいずれかに記載のデータ統合装置。
  7. 前記検出処理は、前記画像に対して、検出対象を探索するための探索窓を走査させながら検出対象を検出する
    ことを特徴とする請求項6に記載のデータ統合装置。
  8. 前記検出処理は、前記画像に対して、検出対象を探索するための探索窓を異なるサイズで走査させながら検出対象を検出する
    ことを特徴とする請求項6または請求項7に記載のデータ統合装置。
  9. 前記ベクトルデータは、更に、前記検出処理により検出対象が検出された際の前記探索窓のサイズをベクトルの要素として含む
    ことを特徴とする請求項8に記載のデータ統合装置。
  10. 少なくとも2次元の位置座標を要素として含むベクトルであるベクトルデータを数記憶する記憶手段を備えるコンピュータによるデータ統合方法であって、
    前記ベクトルデータを、ベクトルデータ同士のベクトル間の離に基づいて統合し、複数の一次統合ベクトルデータとする一次統合ステップと、
    統合された一次統合ベクトルデータを、一次統合ベクトルデータが密集する方へ移動させる移動ステップと、
    移動させた前記一次統合ベクトルデータを、一次統合ベクトルデータ同士のベクトル間の離に基づいて更に統合し、二次統合ベクトルデータとする二次統合ステップと、
    を含むことを特徴とするデータ統合方法。
  11. コンピュータを請求項1に記載のデータ統合装置として機能させることを特徴とするプログラム。
JP2016014037A 2016-01-28 2016-01-28 データ統合装置、データ統合方法、及びプログラム Active JP6733188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016014037A JP6733188B2 (ja) 2016-01-28 2016-01-28 データ統合装置、データ統合方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016014037A JP6733188B2 (ja) 2016-01-28 2016-01-28 データ統合装置、データ統合方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017134634A JP2017134634A (ja) 2017-08-03
JP6733188B2 true JP6733188B2 (ja) 2020-07-29

Family

ID=59502825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016014037A Active JP6733188B2 (ja) 2016-01-28 2016-01-28 データ統合装置、データ統合方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6733188B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7242041B2 (ja) * 2019-04-05 2023-03-20 国立大学法人北海道大学 間隙変化検出装置、間隙変化検出方法及び間隙変化検出用プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146775A (ja) * 2004-11-24 2006-06-08 Fuji Photo Film Co Ltd 画像データのクラスタリング装置および方法,ならびに画像データのクラスタリング・プログラム
JP5157963B2 (ja) * 2009-02-27 2013-03-06 大日本印刷株式会社 対象物検出装置
JP5276541B2 (ja) * 2009-07-27 2013-08-28 キヤノン株式会社 画像処理方法及び画像処理装置及びプログラム
JP5873764B2 (ja) * 2012-06-06 2016-03-01 株式会社Screenホールディングス 欠陥画像の提示方法
US9720998B2 (en) * 2012-11-19 2017-08-01 The Penn State Research Foundation Massive clustering of discrete distributions
JP6110174B2 (ja) * 2013-03-26 2017-04-05 株式会社メガチップス 画像検出装置及び制御プログラム並びに画像検出方法

Also Published As

Publication number Publication date
JP2017134634A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
US9697416B2 (en) Object detection using cascaded convolutional neural networks
US10769473B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US10134165B2 (en) Image distractor detection and processing
CN101206719A (zh) 用于检测和处理图像中特定图案的方法和设备
JP2021506017A (ja) 物体検出器及び物体検出方法
US9978129B2 (en) Patch partitions and image processing
JP6278108B2 (ja) 画像処理装置、画像センサ、画像処理方法
JP6937508B2 (ja) 画像処理システム、評価モデル構築方法、画像処理方法及びプログラム
US20220207290A1 (en) Apparatus for processing labeled data to be used in learning of discriminator, method of controlling the apparatus, and non-transitory computer-readable recording medium
US8965133B2 (en) Image processing apparatus and control method therefor
JP2010165052A (ja) 画像処理装置及び画像処理方法
US9424484B2 (en) Feature interpolation
JP6106808B2 (ja) 文書内バーコード配置特定
JP6733188B2 (ja) データ統合装置、データ統合方法、及びプログラム
JP5335554B2 (ja) 画像処理装置及び画像処理方法
WO2018168515A1 (ja) 画像処理装置、画像処理方法及び記録媒体
US10360471B2 (en) Image retrieving device, image retrieving method, and recording medium
KR20230111010A (ko) 관절 예측을 위한 학습 데이터 생성 방법 및 장치
JP6419560B2 (ja) 検索装置、方法及びプログラム
JP2017211890A (ja) 画像処理方法、画像処理装置および画像処理プログラム
JP6770227B2 (ja) 画像処理装置、画像領域検出方法および画像領域検出プログラム
KR101620928B1 (ko) 우선순위 주소 배분과 이동창 기법을 이용한 얼굴검출 시스템
US11836218B2 (en) System and method for object detection and dimensioning
JP4882929B2 (ja) 画像処理装置及び画像処理プログラム
JP2010092159A (ja) 画像データ判定装置、画像データ判定システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20200403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200622

R150 Certificate of patent or registration of utility model

Ref document number: 6733188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150