(58)【調査した分野】(Int.Cl.,DB名)
相互に近接する複数の頭部領域候補をその位置情報に基づいて一つに統合する頭部領域候補統合手段をさらに具備したことを特徴とする請求項1に記載のオブジェクトの頭部領域抽出装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献1、2では、複数の頭部間にオクルージョンが生じたときに各頭部をいかに識別するかの課題が検討されていない。特許文献1では、画像内で複数の頭部を検出することができるが、頭部のテクスチャ/カラーに関する顕著性が背景と比較して低い場合に検出能力が低下してしまう。
【0008】
本発明の目的は、上記の技術課題を解決し、オブジェクト認識に際して、オブジェクトの頭部領域を認識することで、オブジェクト間にオクルージョンが発生して両者を識別できない場合でも、頭部領域の位置、姿勢に基づいて各オブジェクトの位置、姿勢を推定できるようにすることにある。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明は、任意の入力イメージからオブジェクトの頭部領域を抽出する頭部抽出装置および方法において、以下の構成を具備した点に特徴がある。
【0010】
(1) 既知の頭部イメージのテクスチャパターンおよびエッジパターンを学習する頭部学習手段と、入力イメージを対象に前記テクスチャパターンに基づくマッチング処理を実施して頭部領域候補を抽出するテクスチャマッチング手段と、前記頭部領域候補に前記テクスチャパターンおよびエッジパターンに基づくマッチング処理を実施して頭部領域を決定するパターンマッチング手段とを具備した。
【0011】
(2) 相互に近接する複数の頭部領域候補をその位置情報に基づいて一つに統合する頭部領域候補統合手段をさらに具備した。
【0012】
(3) 頭部学習手段は、頭部イメージごとに各画素値を求めて画素位置ごとに画素値平均および画素値分散を計算し、画素位置ごとに得られる画素値平均および画素値分散をテクスチャパターンとして学習するようにした。
【0013】
(4) 頭部学習手段は、頭部イメージをCIELab色空間に変換し、画素値平均および画素値分散を計算する手段は、次元Lおよび補色次元a,bの各チャネル値の平均および分散を計算するようにした。
装置。
【0014】
(5) 頭部学習手段は、各頭部イメージの画素ブロックごとに勾配値を計算する手段と、画素ブロックの位置ごとに勾配値平均および勾配値分散を計算する手段とを具備し、勾配値分散が所定の基準値を下回る画素ブロック位置の勾配値を前記勾配値平均で代表したエッジパターンを学習するようにした。
【0015】
(6) テクスチャマッチング手段は、入力イメージの各画素値と前記テクスチャパターンの対応する画素値平均との差分が、対応する画素値分散との関係で所定値を下回るか否かを識別する手段と、入力イメージ上で所定の探索範囲を順次にシフトして前記所定値を下回らない画素の割合を探索範囲ごとに計算する手段とを具備し、前記所定値を下回らない画素の割合が基準値を下回る探索範囲を頭部領域候補として抽出するようにした。
【0016】
(7) パターンマッチング手段は、各頭部領域候補のテクスチャパターンおよびエッジパターンに基づいて頭部領域候補ごとに第1空間分散行列を計算する手段と、学習したテクスチャパターンおよびエッジパターンに基づいて第2空間分散行列を算出する手段とを具備し、第1空間分散行列と第2空間分散行列との差分が所定の基準値を下回る頭部領域候補を頭部領域に決定するようにした。
【発明の効果】
【0017】
本発明によれば、以下のような効果が達成される。
【0018】
(1) オブジェクト認識に際して、オブジェクトの頭部領域を認識するので、オブジェクト間にオクルージョンが発生して両者を識別できない場合でも、頭部領域の位置、姿勢に基づいて各オブジェクトの位置、姿勢を推定できるようになる。
【0019】
(2) 任意の入力イメージに対して、最初はテクスチャマッチングにより頭部領域候補を抽出することで探索範囲を限定し、次いで、頭部領域候補のみを対象にテクスチャパターンおよびエッジパターンを用いた空間的相関に基づく探索を行って頭部領域を決定するので、オブジェクトの頭部領域を少ない処理負荷で正確に抽出できるようになる。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施形態に係るオブジェクトの頭部領域抽出装置の主要部の構成を示した機能ブロック図である。このような装置は、汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【0022】
本発明の頭部領域抽出装置は、頭部領域であることが既知の予め用意した多数の頭部イメージに基づいて頭部の特徴を学習する頭部学習部1、および学習結果に基づいて任意の入力イメージから頭部領域を識別する頭部識別部2から構成される。データベース3には、
図2に示したように、多数のオブジェクト(人間)に関するビルボードから、例えば手作業で抽出した多数の頭部イメージが蓄積されている。
【0023】
頭部学習部1において、頭部パターン発生部101は、テクスチャパターン学習部101aおよびエッジパターン学習部101bを含む。テクスチャパターン学習部101aは、データベース3から取得した頭部イメージの座標位置x,yごとに、画素値平均および画素値分散を計算することで頭部のテクスチャパターンを学習する。テクスチャパターンの学習結果はテクスチャパターン蓄積部102に蓄積される。
【0024】
エッジパターン学習部101bは、データベース3から取得した頭部イメージに対して、所定の画素ブロックごとにエッジ検出および勾配計算を実施し、その勾配平均および勾配分散を計算することで頭部のエッジパターンを学習する。エッジパターンの学習結果はエッジパターン蓄積部103に蓄積される。
【0025】
頭部識別部2には、任意のオブジェクト画像に対して、例えば背景差分法を適用して抽出されたオブジェクトのマスクイメージが入力される。フィルタリング部201は、オブジェクトマスクの入力イメージから、そのエッジ成分を保存しながらノイズ線分のみを選択的に除去する。色空間変換部202は、テクスチャ構造の顕著性を改善するために、入力イメージの色空間をBGB空間からCIELab空間に変換する。
【0026】
テクスチャマッチング部203は、前記入力イメージに対して前記テクスチャパターン蓄積部102の学習結果を用いて所定の画素ブロック単位でテクスチャマッチングを実施し、入力イメージから頭部領域である可能性が高い全ての頭部領域候補を抽出する。本実施形態では、テクスチャパターンの学習結果として、後に詳述するように、各画素位置x,yにおけるCIELab空間の次元Lおよび補色次元a,bの各チャネル値の平均値u
L,u
a,u
bおよび分散σ
L,σ
a,σ
bが用いられる。
【0027】
頭部領域候補統合部204は、相互に近接する複数の頭部領域候補をその位置情報に基づいて統合する。パターンマッチング部205は、前記抽出または統合された頭部領域候補を対象に、テクスチャパターンマッチングおよびエッジパターンマッチングを併用して頭部領域を決定する。
【0028】
図3は、前記頭部学習部1のテクスチャパターン学習部101aによるテクスチャパターンの学習手順を示したフローチャートである。
【0029】
ステップS1では、データベース3から全ての頭部イメージが取得される。ステップS2では、テクスチャ構造の顕著性を改善するために、RGB色空間で表現された頭部イメージがCIELab色空間に変換される。ステップS3では、各頭部イメージにフィルタリング処理を実施して、背景画素等のノイズ成分を除去する。
【0030】
ステップS4では、全ての頭部イメージから画素位置x,yごとにCIELab色空間におけるチャネル値(L,a,b)が抽出され、画素位置x,yごとに各チャネル値の平均値u*
xy(=u
Lxy,u
axy,u
bxy)が次式(1)に基づいて計算される。ここで、Fはデータベース3から取得した頭部イメージの個数であり、Ii*はi番目の頭部イメージの各画素位置x,yにおける各チャネル値を代表する。
【0031】
【数1】
ステップS5では、各頭部イメージから画素位置x,yごとに抽出したCIELab色空間のチャネル値Ii*および前記各チャネル値の平均値u*
xyに基づいて、画素位置x,yごとに各チャネル値の分散σ*
xy(=σ
Lxy,σ
a xy,σ
b xy)が次式(2)に基づいて計算される。
【0032】
【数2】
以上のようにして、頭部イメージのCIELab色空間における各チャネル値の平均値u*
xyおよび分散σ*
xyが求まると、ステップS6では、次式(3),(4)に基づいてテクスチャパターンが構築される。
【0034】
【数4】
図4は、前記頭部学習部1のエッジパターン学習部101bによるエッジパターンの学習手順を示したフローチャートである。
【0035】
ステップS11では、前記データベース3から全ての頭部イメージが取得される。ステップS12では、RGB色空間で表現された頭部イメージがグレースケールのイメージに変換される。ステップS13で、エッジフィルタ処理によりエッジ情報が抽出される。
【0036】
ステップS14では、フィルタ処理後の各頭部イメージを4×4画素の画素ブロックに分割し、画素ブロックごとにHOG特徴量(ここでは、勾配値k)に基づいてエッジパターンε
pqが構築される。
【0037】
本実施形態では、各画素ブロックの位置を、左上端の画素ブロックからの相対値で表し、k
pqは縦方向にp番目かつ横方向にq番目の画素ブロックの勾配値を表現している。そして、対応する画素ブロックの位置pqごとに、勾配値kとその分散σとの関係を求め、次式(5)に基づいて、画素ブロックごとにエッジパターンε
pqが構築される。
【0038】
【数5】
本実施形態では、各頭部イメージの対応する各画素ブロックの位置pqごとに、その全ての勾配値k
pqが当該位置pqでの±2σ以内であるか否かを判断する。そして、±2σ以内の画素ブロックのエッジパターンε
pqは当該位置pqにおける各画素ブロックの勾配値k
pqの平均値k'
pqとし、±2σから外れる勾配値k
pqを含む位置のエッジパターンε
pqはゼロとされる。
【0039】
図5は、前記テクスチャマッチング部203によるテクスチャマッチングの手順を示したフローチャートである。テクスチャパターンを用いたマッチング処理は、頭部識別部2に入力された入力イメージから、オブジェクトの頭部である確率が高い頭部領域候補を抽出するために実行される。
【0040】
本実施形態では、上式(3),(4)のテクスチャパターンが与えられると、入力イメージ内の24×24画素の画素ブロックを探索範囲として、この探索範囲を4画素ずつシフトさせながら入力イメージの全領域から頭部候補領域が探索される。
【0041】
ステップS21では、入力イメージの各位置(x,y)の画素値I
xyが取得される。ステップS22では、次式(6)に基づいて、入力イメージの各画素値I
xyと、その対応位置における前記テクスチャパターンの画素値平均u
xyとの差分の絶対値を当該対応位置での前記テクスチャパターンの分散平均の2倍値2σ
xyと比較する。そして、次式(6)が成立すれば、ステップS23へ進んで当該位置の画素値I
xyをセット(I
xy=1)し、成立しなければ、ステップS24へ進んで当該位置の画素値I
xyをリセット(I
xy=0)する。
【0042】
【数6】
ステップS25では、入力イメージの全ての画素に関して上記の処理が完了したか否かが判断される。完了していなければステップS21へ戻り、注目する画素を切り換えながら上記の各処理を実行する。
【0043】
入力イメージの全ての画素がセットまたはリセットされるとステップS26へ進み、24×24画素の探索範囲が入力イメージの左上に設定される。ステップS27では、探索範囲内で画素値Ixyがゼロでない非ゼロ画素の割合が計算される。ステップS28では、非ゼロ割合を所定の基準値と比較し、非ゼロ割合が基準値よりも低ければ、ステップS29へ進んで今回の探索範囲が頭部領域候補とされる。
【0044】
ステップS30では、入力イメージの全領域を探索済みか否かが判断される。探索済みでなければステップS31へ進み、探索範囲を横方向又は縦方向に4画素分だけシフトさせて次の探索範囲を設定した後、ステップS27へ戻って新たな探索範囲を対象に上記の各処理が繰り返される。
【0045】
図6は、前記頭部領域候補統合部204およびパターンマッチング部205によるパターンマッチングの手順を示したフローチャートである。本実施形態では、全ての頭部領域候補を対象に、前記テクスチャパターンおよびエッジパターンに基づくパターンマッチングを実施して最終的に頭部領域を決定する。
【0046】
パターンマッチング処理では、予め学習したテクスチャパターン(u,σ)およびエッジパターンεを、画素ブロック単位(本実施形態では、前記4×4画素の画素ブロック)で空間共分散行列ρに相関させる。
【0047】
同様に、入力イメージから抽出した各頭部領域候補に関しても、同じ画素ブロック単位で、その画素平均値u、画素分散σおよびエッジパターンεを空間共分散行列ρに相関させる。そして、対応する画素ブロックごとに各空間共分散行列ρを比較し、その差分が非ゼロとなる割合が低い頭部領域候補を頭部領域に決定する。
【0048】
ステップS51では、
図7,8に示したように、前記頭部領域候補統合部204により、位置が近接する複数の頭部領域候補Hi_1〜Hi_5が、同一の頭部に関して認識された頭部領域候補群とみなして一つに統合される。本実施形態では、頭部領域候補の位置指標値(x,y)として、例えばその中心位置、重心位置または頂点座標を定義する。そして、位置ずれが所定の範囲内、例えばx-4<x<x+4かつy-4<y<y+4である全ての頭部領域候補を、これらの頭部領域候補を包含する最小の矩形領域を範囲とする新たな頭部領域候補に統合する。
【0049】
ステップS52では、統合後の頭部領域候補の一つが選択される。ステップS53では、今回の頭部領域候補から、4×4画素の位置pqの画素ブロックごとに、次式(7),(8)で定義されるスーパーピクセルI
pqが計算される。
【0051】
【数8】
上式(8)において、L
pq,a
pqおよびb
pqは、位置pqの画素ブロックで検知されたCIELab空間での各チャネル値L,aおよびbの平均値を表している。ω、Δsは、それぞれパターン係数サイズおよび領域係数距離であり、本実施形態では、ω=24、Δs=25を想定している。前記パターン係数サイズは、次式(9)に基づいて決定される。
【0052】
【数9】
ここで、Pはパターンサイズであり、Sは次式(10)で表される。ここで、Aはスーパーピクセル領域サイズであり、sはスーパーピクセルサイズである。
【0053】
【数10】
ステップS54では、空間共分散行列ρ
pqが、エッジ情報ε
pqのα倍とテクスチャ情報I
pqのβ倍との和として、次式(11)で求められる。
【0054】
【数11】
ステップS55では、今回の頭部領域候補内の全ての4×4画素ブロックに関して空間共分散行列ρ
pqの計算が完了したか否かが判断される。完了していなければステップS53へ戻り、残りの各画素ブロックに関しても同様に空間共分散行列ρ
pqが計算される。
【0055】
ステップS56では、予め学習したテクスチャパターン(u,σ)およびエッジパターンεに基づいて、上記と同様の手順で計算した各画素ブロックの空間共分散行列ρと、今回の頭部領域候補に関して計算した各画素ブロックの空間共分散行列ρ
pqとの差分が画素ブロック単位で計算される。
【0056】
ステップS57では、空間共分散行列ρ,ρ
pqの差分が非ゼロとなる割合が所定の基準値、例えば20%未満であるか否かが判断される。基準値未満であれば、ステップS58へ進んで今回の頭部領域候補が頭部領域に決定される。これに対して、非ゼロとなる割合が基準値未満でなければ、ステップS59へ進んで今回の頭部領域候補が非頭部領域に決定される。
【0057】
ステップS60では、全ての頭部領域候補に関して前記空間共分散行列ρに基づく頭部領域判定が完了したか否かが判断される。完了していなければステップS52へ戻り、残りの頭部領域候補に対して上記の各処理が繰り返される。
【0058】
本実施形態によれば、オブジェクト認識に際して、オブジェクトの頭部領域を認識するので、オブジェクト間にオクルージョンが発生して両者を識別できない場合でも、頭部領域の位置、姿勢に基づいて各オブジェクトの位置、姿勢を推定できるようになる。
【0059】
また、本実施形態によれば、任意の入力イメージに対して、最初はテクスチャマッチングにより頭部領域候補を抽出することで探索範囲を限定し、次いで、頭部領域候補のみを対象にテクスチャパターンおよびエッジパターンを用いた空間的相関に基づく探索を行って頭部領域を決定するので、オブジェクトの頭部領域を少ない処理負荷で正確に抽出できるようになる。