画像認識方法
【課題】連結領域を含む2値画像に対して、汎用的に画像の構造を記述する方法、および同方法を用いた画像認識方法を提供する。
【解決手段】ある領域の支配域は当該領域に属する全ての画素の支配域の和である、という規則により、連結領域に対して計算幾何学の基礎概念「ボロノイ図」「ドローネグラフ」を拡張する。これにより、多数の領域からなる2値画像に対して「領域ドローネグラフ」が作成できる。認識対象となる物体についても、その構造を予めグラフ構造として規定しておき、これと上記「領域ドローネグラフ」とのマッチングをグラフ上で行う事で、当該物体を認識する機能が実現できる。以上により、2値画像の中から人物の顔など特定の構造を有する物体を、効率的に認識できる。
【解決手段】ある領域の支配域は当該領域に属する全ての画素の支配域の和である、という規則により、連結領域に対して計算幾何学の基礎概念「ボロノイ図」「ドローネグラフ」を拡張する。これにより、多数の領域からなる2値画像に対して「領域ドローネグラフ」が作成できる。認識対象となる物体についても、その構造を予めグラフ構造として規定しておき、これと上記「領域ドローネグラフ」とのマッチングをグラフ上で行う事で、当該物体を認識する機能が実現できる。以上により、2値画像の中から人物の顔など特定の構造を有する物体を、効率的に認識できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はディジタル画像認識技術に係り、特に予め規定された構造物が2値画像の中に含まれるか否かを判定する方法に関する。
【背景技術】
【0002】
発明者は既に特許文献1において、2値画像の中から特定の形状の線分(曲線を含む)を抽出する方法(以下「従来法」と記す)を開示している。従来法は、ノイズの影響で線分に途切れが生じた場合に、ある線分の端点を近隣の線分の端点と結ぶ事により、途切れを補うものである。ここで、どの端点同士をペアにして結べば良いかを効率的に決定するために、計算幾何学の手法を応用している。
【0003】
すなわち図17に示す通り、特許文献1においては医療用X線写真から胃の外形線を抽出する事を目的として、まず入力画像のエッジ部分を強調した画像(図17(a))を用意し、これに対して線分追跡処理を行う。しかしながら画像には胃1701以外に脊椎1711が映っており、またノイズ領域1712等が存在する。このため線分追跡処理のみでは外形線1731を完全には抽出できず、図17(b)に示す通り外形線の局所的な断片1702−1等が抽出されたり、余分な線分1709等が抽出されたりする。そこでこれらの線分の端点1703−1等に対して、計算幾何学の手法によりドローネグラフ(図17(c))を作成する事により、たとえば端点1703−2と1703−3とを結んで良い事がわかり、ペアの決定が効率的に行える、というのが従来法の要点であった。なお図17(c)において1720−1等は後述するボロノイ分割の分割線を、1704−1等は後述するドローネ辺を示す。また図17は特許文献1から引用したものであり、(a)、(b)、(c)が各々、第1図(a)、第1図(b)、第2図(b)に対応する。
【特許文献1】特開平04−078966「画像処理方法」
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら上記の従来法では、抽出の対象は線分に限られていた。一般の2値画像では、その中に含まれる図形は「線画」のみではなく、2次元的な広がりを持った図形が存在しうる。この場合、図形のどの点を代表点(線分における端点に相当する点)としてドローネグラフを作成するべきかが、必ずしも明確ではなかった。従って従来法は、一般の2値画像には適用できないという制約があった。
【0005】
本発明は上記の制約を取り除き、一般の2値画像に対しても計算幾何学の手法を利用できる事、その結果を応用して効率の良い画像認識方法が構成できる事、を開示するものである。
【課題を解決するための手段】
【0006】
上記課題が生じる本質的な原因は、計算幾何学においては離散的な点の集合を処理の対象とする、という点にある。一方で画像認識技術においては、多数の画素が連続的(数学用語で言う連結状態)に塊を構成した領域(以下単に「領域」と記す)を、処理の対象とする場合がしばしば生じる。本発明ではまず、この様な領域に対して計算幾何学の基礎概念を拡張する方法を提案する。更に、この様に拡張された概念を、画像認識技術に応用する方法を提案する。
【0007】
まず、計算幾何学の基礎概念である「ボロノイ分割」及び「ドローネグラフ」が、どの様に定義されたかを図2を用いて説明する。
・ボロノイ分割:平面上に離散的な点(以下「母点」と呼ぶ)の集合が与えられた時、平面上のどの位置もそこから最も近い母点に帰属するものとして平面を分割する事をボロノイ分割と言う。具体的な例として、図2(a)においては平面200の上に4つの母点201−1〜201−4が与えられている。これに対して、たとえば図2(b)における位置202は、そこから最も近い母点が201−1であるから、母点201−1に帰属する事になる。ここで母点201−1と母点201−2のどちらに帰属するかを分ける境界線は、両点を結ぶ線分260−1の垂直2等分線である線分250−1となる。同様に他の母点201−3、201−4との境界線は各々線分250−2、250−3となる。以上の結果、母点201−1に帰属する点の範囲(当該母点の支配域と言う)は、線分250−1〜250−3に囲まれた区域(図中に斜線で示した内側)となる。他の母点についても同様にして、図に示した実線250−1〜250−5により平面200がボロノイ分割される。
・ドローネグラフ:ボロノイ分割を行った結果、ある2つの母点の支配域が隣接する(1点による接触は除く)場合、当該2点を辺(ドローネ辺と呼ばれる)で結ぶ。この結果得られるグラフをドローネグラフと呼ぶ。ドローネグラフは、その元となるボロノイ分割に対して、幾何学的に双対な図形となる。図2(b)の例では、二重線で記したドローネ辺260−1等で構成されるグラフがドローネグラフである。
【0008】
以上の概念は、2値画像の領域に対して以下の様に拡張できる。まず、0/1の2値からなる2値画像において値が「1」の画素を母点と考えれば、上記の基礎概念はそのまま適用できる。一方で領域とは、いくつかの画素が集まって構成されるのであるから、領域に対しては上記の基礎概念を以下の通り拡張して考えるのが妥当である。
・領域ボロノイ分割:ある領域の支配域は、当該領域に属する全ての母点(画素)の支配域の和とする。たとえば図1の例では、平面100にいくつかの母点(画素)101−1、101−2、……、101−nが与えられている。これに対する原義のボロノイ分割は、図1(a)の破線150で示した通りとなる。しかしながらこの例では、図1(b)に示す通り、母点(画素)が3つの連結な領域110−1〜110−3に分けられる。そこで各領域に対して、それぞれに属する母点(画素)の支配域の和を作ると、図1(b)に実線120で示した部分が分割線として残る。この様に平面を分割する事を、領域ボロノイ分割と呼ぶ事にする。
・領域ドローネグラフ:上記の領域ボロノイ分割を行った結果、ある2つの領域の支配域が隣接する(1点による接触は除く)場合、当該2領域を辺(原義のドローネグラフと同様に、以後ドローネ辺と呼ぶ事にする)で結ぶ。この結果得られるグラフを領域ドローネグラフと呼ぶ事にする。図1(b)では、二重線130−1〜130−3で示したグラフが領域ドローネグラフである。なおここで、領域が複数の画素からなる場合に、どの画素をドローネ辺の端点とするかという選択が生じるが、本発明では各々のドローネ辺は、2つの領域を最短距離で結ぶ様に引くものとした。
【0009】
以上の通り、計算幾何学の基礎概念を領域に対して拡張できたので、複数の領域の位置関係をグラフにより表現する事が可能となる。この手段による本発明の第1の特徴は、2値画像から特定の構造物を検出する方法であって、当該2値画像は被写体を現す画素値1および背景を現す画素値0のいずれかのみからなり、画素値1の画素が複数の連結な領域を構成する場合において、まず画素値1の画素を母点とみなしてボロノイ分割を行なった後、ある領域に属する全ての画素の支配域の和を求める事により当該領域の支配域を定め、ある2つの領域に関して夫々の支配域が隣接する場合に当該2つの領域を辺で結んだグラフを作成し、上記グラフ構造に沿って上記特定の構造を検出する事を特徴とする画像認識方法を提供する事にある。
【0010】
また、上記第1の特徴において、ある領域の内部にある点は、当該領域の支配域を決定する際には寄与しない。これを利用して、支配域を決定する手続きを簡素化する事ができる。この手段による本発明の第2の特徴は、第1の特徴を有する画像認識方法における領域の支配域を求める方法であって、全ての領域に対して当該領域の外形線を求めた後、全ての領域に対して外形線から外側へ逐次的に支配域を拡張して行き、ある2つの領域の支配域が接触した場合に当該2つの領域を辺で結んだグラフを作成する事を特徴とする画像認識方法を提供する事にある。
【0011】
以上の特徴を利用する事により、従来法で開示した方法が2値画像に対しても適用可能となり、効率の良い画像認識アルゴリズムを構成できる。但し実際の応用では、与えられた2値画像がノイズを含む場合が多いので、このために以下の手段を画像認識アルゴリズムに加える事が実用性を増す。すなわち、本発明の第3の特徴は、第1の特徴を有する画像認識方法であって、上記で得られたグラフにおいて辺で結ばれた複数の領域を所定の規則に従って1つの領域に統合する手続きを含む事を特徴とする画像認識方法を提供する事にある。
【0012】
以上の各特徴を利用する事により、本発明の第4の特徴は、第1の特徴を有する画像認識方法であって、第1の特徴または第3の特徴に記した方法により得られたグラフが、特定の構造を部分的に含むか否かを判定する事により、特定の構造物が当該2値画像に含まれるか否かを判定する事を特徴とする画像認識方法を提供する事にある。
【発明の効果】
【0013】
以上の通り、本発明によれば、従来法よりも広い範囲の画像に対して特定の構造を検出する事が可能になり、画像認識技術や装置の更なる高度化・高機能化に資する事ができる。
【発明を実施するための最良の形態】
【0014】
本発明は、コンピュータ上で動作するソフトウェアとして実施するのが妥当である。ここで使用するコンピュータは、いわゆる画像処理機能を実行できるものならば何でも良い。以下に実施例として、本発明の特徴を有するコンピュータプログラムの算法を、図面を用いて説明する。なお説明の便宜上、実施例では画像の中から人物の顔を検出する機能を取り上げて説明するが、これは本発明の適用範囲を制限するものではない。
【実施例】
【0015】
図3は本発明を応用した顔検出アルゴリズムの全体を示すフローチャートである。本実施例においては、ステップ300(以下「S300」等と略記する)以下の処理によって画像から人物の顔を検出する。まず画像を入力(S301)した後、前処理として画像の2値化(S302)を行う。ここで得られた2値画像に対して[課題を解決するための手段]にて述べた通り、領域ボロノイ図作成(S303)、領域ドローネグラフ作成(S304)、領域の統合(S305)、標準顔グラフとのマッチング(S306)を順次行う。以上の結果により、画像の中に人物の顔が含まれているか否かを判定して(S307)、顔が検出されればその結果を表示(S308)し、そうでなければ顔が存在しない旨を表示(S309)して、処理を修了する(S310)。以上のフローに沿って、各ステップにおける動作を以下に詳細に説明する。
【0016】
まずS301からS302により、画像を入力(S301)した後、前処理として画像の2値化(S302)を行う。本発明は2値画像を対象とした認識技術に係るものなので、S302における具体的な算法は特に規定しないが、最も簡単には各画素の画素値を予め定めた敷居値と比較して、敷居値以上ならば当該画素の値を‘0(白)’に、敷居値未満ならば‘1(黒)’にすれば良い。以上により、たとえば図4に示した入力画像400に対して、図5に示した2値画像500が得られる。なお図5において(a)は2値画像そのものを示したものであり、(b)は引き続くステップで引用するために、2値画像に含まれる領域に適宜符号を付したものである。すなわち2値画像500は、501−1、501−2、……、501−nで示される各領域から構成される。これらのうち501−1は頭髪を中心とした大きな領域であり、501−2、501−3は右および左の鼻腔に各々対応する領域である。また501−4、501−5は共に右目に対応する領域であるが、2値化処理におけるノイズの影響で、目尻から瞳にかけての部分501−4と目頭の部分501−5とに分かれている。左目についても同様に、目尻から瞳にかけての部分501−6と目頭の部分501−7とが領域として存在する。
【0017】
次に領域ボロノイ図作成(S303)を行なう。このステップの詳細を、図6から図8を用いて説明する。
【0018】
図6は領域ボロノイ図を作成するアルゴリズムを示したフローチャートである。領域ボロノイ図を作成するには、画像が有限個の画素からなる事に着眼して、各画素がどの領域の支配域に属するかを調べれば良い。すなわち図6に示す通り、画像に含まれる全ての画素に対して以下のS602〜S604を繰り返す(S601)。まず当該画素の画素値が0かどうかを調べ、0でない(すなわち領域のどれかに含まれている)ならば以下のS603〜S604はスキップする(S602)。0である(すなわち背景部分にある)場合は当該画素から最も近い領域(これを領域Rとする)を探索して(S603)、当該画素を領域Rのボロノイ領域とする(S604)。以上の繰返しを完了する事により、領域ボロノイ図作成が完了する(S605)。
【0019】
また領域ボロノイ図は、次に述べる「領域逐次拡張法」にて作成しても良い。「領域逐次拡張法」とは、各領域からの距離が1の画素、距離が2の画素、……、を逐次的に求める方法であり、具体的には図7に示す通りの動作で実行される。図7は2値画像の一部分を取り出したものであり、図中の○、▲1▼、▲2▼、●は全て画素を表わす。これらのうち黒丸「●」は2値画像の中で値が‘1(黒)’の画素であり、すなわちある領域に属する画素を表わす。他の3者は全て、値が‘0(白)’の画素を表わす。ここで当該領域から距離が1の画素は、当該領域の外周を辿る事により、図中の「▲1▼」で示した画素である事がわかる。また距離が2の画素は、「▲1▼」で示した画素の外周を辿る事により、図中の「▲2▼」で示した画素である事がわかる。以下同様に、距離が3、4、5、……、の画素を逐次的に求める事ができる。以上を全ての領域に対して適用して、最も小さい距離が得られた領域が、当該画素を支配域とするものとする。なおこの「領域逐次拡張法」においては、距離の測定方法として通常のユークリッド距離ではなくいわゆる「マンハッタン距離」を用いる事になるが、これは引き続くS304以下の実行に支障を生じるものではない。
【0020】
以上の方法を図5における2値画像500に適用した例を図8に示す。図8において800は領域ボロノイ図を作成した結果となる写真を示しており、ある領域に属する支配域を同一の濃淡色で表わしている。たとえば図5における領域501−1に対しては801−1が、同様に501−2、501−3、……、501−n、に対しては801−2、801−3、……、801−n、が、それぞれ支配域となる。なお以上において、ある画素が複数の領域から等距離にある場合は、便宜的に最も若い番号の領域に支配されるものとした。また図8においては、作画装置の性能的な制約上、異なった支配域に見かけ上同一の濃淡色が割当てられている点を御了承頂きたい。これらはいずれも、引き続くS304以下の実行に支障を生じるものではない。
【0021】
次に領域ドローネグラフ作成(S304)を行う。このステップの詳細を、図9から図10を用いて説明する。
【0022】
図9は領域ドローネグラフを作成するアルゴリズムを示したフローチャートである。領域ドローネグラフの定義は[課題を解決するための手段]に記した通り、2つの領域の支配域が隣接していれば、その間にドローネ辺を引く、というものであった。図9はこの定義に沿ってドローネ辺を引くものである。すなわち図9に示す通り、2つの領域の組合せを全て列挙して、それらに対して以下のS902〜S904を繰り返す(S901)。まず両領域のボロノイ領域が隣接しているか否かを領域ボロノイ図800を参照して判定し、否であれば以下のS903〜S904はスキップする(S902)。隣接している場合は両領域が最も接近している場所を2値画像500から求め(S903)、その場所にドローネ辺を引く(S904)。以上の繰返しを完了する事により、領域ドローネグラフ作成が完了する(S905)。
【0023】
なお図9は領域ドローネグラフの定義に忠実に沿った方法であるが、前述の領域ボロノイ図作成(S303)において「領域逐次拡張法」を用いる場合は、拡張の途中経過から複数の領域の支配域が隣接する事がわかるので、その情報を記憶しておけばS902あるいはS903を簡略化する事ができる。
【0024】
以上のステップにより作成された領域ドローネグラフの例を図10に示す。図10は領域ボロノイ図800から領域ドローネグラフ1000を作成したものであり、同グラフはドローネ辺1001−1、1001−2、……、1001−nから構成される。これらの内、1001−1は2値画像500における領域501−5(右目頭)と501−7(左目頭)が隣接している事を示すものである。同様に1001−2(501−5と501−2)、1001−3(501−5と501−3)、1001−4(501−2と501−3)、などのドローネ辺が引かれる。
【0025】
次に領域の統合(S305)を行う。本ステップは課題を解決するための手段に記した通り、2値画像500にノイズが混入している場合に必要となる。従って、何らかの条件によりノイズが無い事が保証されている場合には、本ステップを省略して良い。本実施例においては2値画像500に示す通り、画像にノイズが混入した結果、2値化の結果が不完全になっている。たとえば、本来は1つの構造物である右目が、目尻から瞳にかけての部分501−4と目頭の部分501−5とに分かれている。左目についても同様である。更に、鼻は左右の鼻腔501−2、501−3に分かれている。これらを1つのものと見なす事が、本ステップの目的である。この詳細を、図11から図12を用いて説明する。
【0026】
図11は領域の統合を行うアルゴリズムを示したフローチャートである。本実施例においては、以下の条件で領域の統合を行うものとする。
条件0:2つの領域がドローネ辺で結ばれている。
条件1:条件0の下で、2つの領域が極めて近距離(規定のパラメータ以内)にある場合は、両者はノイズにより分離されたものと見なして、両者を統合する。
条件2:条件0の下で、概ね同一サイズの2領域が概ね水平に並んでおり、それらの至近(規定のパラメータ以内)に他の領域が無い場合は、両者は鼻腔であると見なして、両者を統合する。
以上の条件の下に、アルゴリズムは図11に示す通りとなる。すなわち、全てのドローネ辺に対して、以下のS1102〜S1105を繰り返す(S1101)。まずS1102において上記の条件1が成立するか否かを判定し、成立すればS1104以降を実行する。否の場合は、S1103において上記の条件2が成立するか否かを判定し、成立すればS1104以降を実行する。否の場合は統合が不要な場合であるので、S1104〜S1105はスキップする。S1104〜S1105は、領域が統合された結果を反映してドローネグラフを更新するステップである。すなわち、まずS1104において、両者を結ぶドローネ辺が不要となるので、当該ドローネ辺を削除する。次にS1105において、他の領域からのドローネ辺で重複が生じるものを、1つのドローネ辺に統合する。以上の繰返しを完了する事により、領域の統合が完了する(S1106)。
【0027】
図12は、領域ドローネグラフ1000に対して領域の統合を行った結果、得られる統合済領域ドローネグラフ1200を示す。統合済領域ドローネグラフ1200においては、1001−1に示す様に1000におけるドローネ辺がそのまま残る場合もあるが、1201−1、……、1201−nに示す様な新たなドローネ辺が生じる場合もある。また1000におけるドローネ辺1001−4は消失している。これらは、ドローネ辺1001−4に対してS1103の条件が成立した結果、2値画像500における領域501−2と501−3とが統合され、仮想的な1つの領域1210−1となった結果、ドローネグラフが更新されたためである。すなわち、ドローネ辺1001−4はS1104により削除され、またドローネ辺1001−2と1001−3とがS1105により統合されて1201−1となっている。ここで1201−1においてドローネ辺の下端は、領域501−2と501−3との中間点に取るものとした。なお図12においては、符号は省略したが、鼻と同様に右目、左目、口においても統合が行なわれた結果、各々が1つの領域になっており、新たなドローネ辺1201−2、1201−3が生じている。
【0028】
ここで図11のアルゴリズムにおいては、条件1および条件2における「規定のパラメータ」は、実験的に定めるものとする。また図11の処理全体を適当な制約条件の下に繰り返して適用して、3つ以上の領域を1つに統合する様にしても良い。更に、領域の統合の可否の判定には多様なルールが考えられるので、それらでS1102〜S1103を置き換えても良い。
【0029】
以上のステップにより統合済領域ドローネグラフ1200が得られたので、これに対して従来法と類似の手法を適用する事により、画像認識機能(本実施例では顔の認識機能)を実現する事ができる。すなわちS306として、標準顔グラフとのマッチングを行う。この詳細を図13から図15を用いて説明する。
【0030】
まず図13は、人間の顔の普遍的な構造をグラフの形で表現する「標準顔グラフ」1300を示したものである。すなわち、人間の顔には4つの部位(右目、左目、鼻、口)が存在し、これら全体が輪郭線で囲まれている。ここで各部位の位置関係を領域ドローネグラフで表すと、1300に記した通りとなる。すなわち、右目と左目は隣接関係にあり、ドローネ辺1301で結ばれる。同様に右目と鼻、左目と鼻、鼻と口も隣接関係にあり、各々ドローネ辺1302、1303、1304で結ばれる。一方、右目と口および左目と口は中間に鼻があるため隣接関係とはならず、従って図中の1311および1312に相当するドローネ辺は存在しない。図ではドローネ辺が存在しない事を破線で示した。以上の部位は輪郭線1320で囲まれる。ここで輪郭線はいくつかのドローネ辺が概ね滑らかに連続したものである。
【0031】
上記1300に基づいて、標準顔グラフとのマッチング(S306)は図14のフローチャートで示されるアルゴリズムにて実行できる。すなわち、まず統合済領域ドローネグラフ1200に含まれる輪郭線候補を列挙する(S1401)。このステップは従来法で開示したのと同様に、隣接する領域の適当な系列を作成して、それらを結ぶドローネ辺が概ね滑らかに方向を変えてゆく事を確認すれば良い。この結果列挙された輪郭線候補に対して、以下のS1403〜S1405を繰り返す(S1402)。まずS1403において、輪郭線の内部に含まれる領域(統合済のもの)の数が、顔の部位の数である4に等しいか否かを確認し、否であれば引き続くS1404〜S1405はスキップする。等しい場合は更にS1404において、輪郭内の領域から作成される領域ドローネグラフが、標準顔グラフ1300と相同であるか否かを確認する。すなわちより詳細には、4つの領域の内で他の3つ全てと隣接するものがあれば、そこを鼻と見なす。次に、鼻のみと隣接する領域を口と見なす。残りの2領域は右目と左目になるべきなので、この両者が隣接している事を確認する。以上の条件に全て適合すれば、輪郭内の領域は標準顔グラフ1300と相同な領域ドローネグラフを構成していると結論できる。これらの結果、相同で無いと判定された場合は、引き続くS1405はスキップする。相同な場合はS1405に進み、輪郭内の各領域を対応する顔の部位として登録する。以上の繰返しを完了する事により、標準顔グラフとのマッチング(S306)が完了する(S1406)。
【0032】
図15は図14に従ってS306を統合済領域ドローネグラフ1200に適用した例を示す。まずS1401により輪郭線の候補が多数列挙されるが、それらの一つとして図の1501−1、1501−2、……、1501−nで示した候補が含まれる。この候補に対してS1403〜S1405を適用すると、まず輪郭線内部の領域の数は、S305による統合の結果4つとなっているので、S1403の条件は成立する。更にS1404においては上述の条件に適合する事が確認される。すなわちドローネ辺1001−1が1300における1301に、1201−1、1201−2、1201−3が各々1302、1303、1304に対応する。更に1311、1312に相当するドローネ辺は1500に存在しない。以上から標準顔グラフ1300との相同性が確認されたので、その結果をS1405にて登録する。
【0033】
ここまでの各段落で説明の通り、図3におけるS303〜S306により顔の有無が判定できたので、その結果を冒頭に述べた通りS307〜S310にて扱う。ここでS308における表示は、たとえば図16の様に、入力画像400に部位の名称を重畳させて示せば良い。
【0034】
以上、本発明の一実施例を説明したが、この実施例を変形した様々な方法も考えられる。たとえば、S307において顔が発見されなかった場合は、S302に戻って画像2値化をやり直してS303以下をリトライする、としても良い。またS306において標準顔グラフとのマッチングが失敗した場合は、S305に戻って領域の統合をやり直しても良く、この場合にはS305で述べた「規定のパラメータ」を適宜変更して処理する方法が考えられる。更にS306においては、単に領域ドローネグラフの相同性を判定するのに留まらず、各領域が人間の顔の部位として妥当な大きさや形状を持つかどうか、より具体的には左右の目は概ね同一サイズ化かどうか、目が口よりも大きい事はないか、等を判定する機能を持たせても良い。また標準顔グラフ1300においては、右目(左目も同様)と口とは隣接関係に無いとしたが、両者の隣接の度合いが微小ならば隣接しても良い、というルールにしても良い。ここで「隣接の度合」は、図8において両領域の支配域がどの程度境界線を共有するか、という情報から決定できる。
【0035】
以上、人物顔の検出を例として実施例を示したが、冒頭に述べた通り本発明は本実施例に限定される事なく、規定の構造を持つ物体が画像の中に含まれるかを判定する方法として、広範に応用できる。たとえば円形又は方形の構造物の中に12個の文字領域が概ね円形状に配列されていれば、それが時計である事が本発明により容易に判定できる。より一般には、ある種の構造物が何らかの生成規範に従って構成されている場合、その規範をグラフ構造によって表現できるならば、一つ一つの具体的な物体(個体)には違いがあっても、本質的に同種の物である事が本発明により認識できる。
【産業上の利用可能性】
【0036】
本発明は画像認識技術を応用した各種の映像処理装置で利用可能であり、より具体的には映像監視装置、ビデオ編集装置、ディジタルカメラなどへの応用が期待できる。
【図面の簡単な説明】
【0037】
【図1】 連結領域を含む2値画像に対して図2の概念を拡張する方法を説明する図。(a)原義に従い作成されたボロノイ図の一例。(b)(a)から「領域ボロノイ図」「領域ドローネグラフ」を作成する方法。
【図2】 計算幾何学の基礎概念「ボロノイ図」「ドローネグラフ」を説明する図。(a)平面上の点集合の1例。(b)(a)から作成される「ボロノイ図」「ドローネグラフ」の定義を説明する図。
【図3】 本発明の実施例である顔認識算法の全体構成を示すフローチャート。
【図4】 実施例における入力画像の一例を示す写真。
【図5】 入力画像を2値化した結果の例を示す図。(a)2値化した結果そのものを示す図。(b)(a)に対して説明用の符号を付した図。
【図6】 ステップ303「領域ボロノイ図作成」の算法を示すフローチャート。
【図7】 領域ボロノイ図を作成する別の方法「領域逐次拡張法」を説明する図。
【図8】 ステップ303の結果得られる領域ボロノイ図の一例を示す写真。
【図9】 ステップ304「領域ドローネグラフ作成」の算法を示すフローチャート。
【図10】 ステップ304の結果得られる領域ドローネグラフ。
【図11】 ステップ305「領域の統合」の算法を示すフローチャート。
【図12】 ステップ305の結果得られる統合済領域ドローネグラフの一例。
【図13】 ステップ306で用いる標準顔グラフを説明する図。
【図14】 ステップ306「標準顔グラフとのマッチング」の算法を示すフローチャート。
【図15】 ステップ306によるマッチングの結果の一例を示す図。
【図16】 本実施例により顔の認識に成功した例を示す写真。
【図17】 従来法による線分の抽出技術を説明する図。
【符号の説明】
【0038】
101…母点(値が「1」の画素)
110…連結領域
120…領域ボロノイ分割における分割線
130…領域ドローネグラフにおけるドローネ辺
150、250…原義のボロノイ分割における分割線
260…原義のドローネグラフにおけるドローネ辺
【技術分野】
【0001】
本発明はディジタル画像認識技術に係り、特に予め規定された構造物が2値画像の中に含まれるか否かを判定する方法に関する。
【背景技術】
【0002】
発明者は既に特許文献1において、2値画像の中から特定の形状の線分(曲線を含む)を抽出する方法(以下「従来法」と記す)を開示している。従来法は、ノイズの影響で線分に途切れが生じた場合に、ある線分の端点を近隣の線分の端点と結ぶ事により、途切れを補うものである。ここで、どの端点同士をペアにして結べば良いかを効率的に決定するために、計算幾何学の手法を応用している。
【0003】
すなわち図17に示す通り、特許文献1においては医療用X線写真から胃の外形線を抽出する事を目的として、まず入力画像のエッジ部分を強調した画像(図17(a))を用意し、これに対して線分追跡処理を行う。しかしながら画像には胃1701以外に脊椎1711が映っており、またノイズ領域1712等が存在する。このため線分追跡処理のみでは外形線1731を完全には抽出できず、図17(b)に示す通り外形線の局所的な断片1702−1等が抽出されたり、余分な線分1709等が抽出されたりする。そこでこれらの線分の端点1703−1等に対して、計算幾何学の手法によりドローネグラフ(図17(c))を作成する事により、たとえば端点1703−2と1703−3とを結んで良い事がわかり、ペアの決定が効率的に行える、というのが従来法の要点であった。なお図17(c)において1720−1等は後述するボロノイ分割の分割線を、1704−1等は後述するドローネ辺を示す。また図17は特許文献1から引用したものであり、(a)、(b)、(c)が各々、第1図(a)、第1図(b)、第2図(b)に対応する。
【特許文献1】特開平04−078966「画像処理方法」
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら上記の従来法では、抽出の対象は線分に限られていた。一般の2値画像では、その中に含まれる図形は「線画」のみではなく、2次元的な広がりを持った図形が存在しうる。この場合、図形のどの点を代表点(線分における端点に相当する点)としてドローネグラフを作成するべきかが、必ずしも明確ではなかった。従って従来法は、一般の2値画像には適用できないという制約があった。
【0005】
本発明は上記の制約を取り除き、一般の2値画像に対しても計算幾何学の手法を利用できる事、その結果を応用して効率の良い画像認識方法が構成できる事、を開示するものである。
【課題を解決するための手段】
【0006】
上記課題が生じる本質的な原因は、計算幾何学においては離散的な点の集合を処理の対象とする、という点にある。一方で画像認識技術においては、多数の画素が連続的(数学用語で言う連結状態)に塊を構成した領域(以下単に「領域」と記す)を、処理の対象とする場合がしばしば生じる。本発明ではまず、この様な領域に対して計算幾何学の基礎概念を拡張する方法を提案する。更に、この様に拡張された概念を、画像認識技術に応用する方法を提案する。
【0007】
まず、計算幾何学の基礎概念である「ボロノイ分割」及び「ドローネグラフ」が、どの様に定義されたかを図2を用いて説明する。
・ボロノイ分割:平面上に離散的な点(以下「母点」と呼ぶ)の集合が与えられた時、平面上のどの位置もそこから最も近い母点に帰属するものとして平面を分割する事をボロノイ分割と言う。具体的な例として、図2(a)においては平面200の上に4つの母点201−1〜201−4が与えられている。これに対して、たとえば図2(b)における位置202は、そこから最も近い母点が201−1であるから、母点201−1に帰属する事になる。ここで母点201−1と母点201−2のどちらに帰属するかを分ける境界線は、両点を結ぶ線分260−1の垂直2等分線である線分250−1となる。同様に他の母点201−3、201−4との境界線は各々線分250−2、250−3となる。以上の結果、母点201−1に帰属する点の範囲(当該母点の支配域と言う)は、線分250−1〜250−3に囲まれた区域(図中に斜線で示した内側)となる。他の母点についても同様にして、図に示した実線250−1〜250−5により平面200がボロノイ分割される。
・ドローネグラフ:ボロノイ分割を行った結果、ある2つの母点の支配域が隣接する(1点による接触は除く)場合、当該2点を辺(ドローネ辺と呼ばれる)で結ぶ。この結果得られるグラフをドローネグラフと呼ぶ。ドローネグラフは、その元となるボロノイ分割に対して、幾何学的に双対な図形となる。図2(b)の例では、二重線で記したドローネ辺260−1等で構成されるグラフがドローネグラフである。
【0008】
以上の概念は、2値画像の領域に対して以下の様に拡張できる。まず、0/1の2値からなる2値画像において値が「1」の画素を母点と考えれば、上記の基礎概念はそのまま適用できる。一方で領域とは、いくつかの画素が集まって構成されるのであるから、領域に対しては上記の基礎概念を以下の通り拡張して考えるのが妥当である。
・領域ボロノイ分割:ある領域の支配域は、当該領域に属する全ての母点(画素)の支配域の和とする。たとえば図1の例では、平面100にいくつかの母点(画素)101−1、101−2、……、101−nが与えられている。これに対する原義のボロノイ分割は、図1(a)の破線150で示した通りとなる。しかしながらこの例では、図1(b)に示す通り、母点(画素)が3つの連結な領域110−1〜110−3に分けられる。そこで各領域に対して、それぞれに属する母点(画素)の支配域の和を作ると、図1(b)に実線120で示した部分が分割線として残る。この様に平面を分割する事を、領域ボロノイ分割と呼ぶ事にする。
・領域ドローネグラフ:上記の領域ボロノイ分割を行った結果、ある2つの領域の支配域が隣接する(1点による接触は除く)場合、当該2領域を辺(原義のドローネグラフと同様に、以後ドローネ辺と呼ぶ事にする)で結ぶ。この結果得られるグラフを領域ドローネグラフと呼ぶ事にする。図1(b)では、二重線130−1〜130−3で示したグラフが領域ドローネグラフである。なおここで、領域が複数の画素からなる場合に、どの画素をドローネ辺の端点とするかという選択が生じるが、本発明では各々のドローネ辺は、2つの領域を最短距離で結ぶ様に引くものとした。
【0009】
以上の通り、計算幾何学の基礎概念を領域に対して拡張できたので、複数の領域の位置関係をグラフにより表現する事が可能となる。この手段による本発明の第1の特徴は、2値画像から特定の構造物を検出する方法であって、当該2値画像は被写体を現す画素値1および背景を現す画素値0のいずれかのみからなり、画素値1の画素が複数の連結な領域を構成する場合において、まず画素値1の画素を母点とみなしてボロノイ分割を行なった後、ある領域に属する全ての画素の支配域の和を求める事により当該領域の支配域を定め、ある2つの領域に関して夫々の支配域が隣接する場合に当該2つの領域を辺で結んだグラフを作成し、上記グラフ構造に沿って上記特定の構造を検出する事を特徴とする画像認識方法を提供する事にある。
【0010】
また、上記第1の特徴において、ある領域の内部にある点は、当該領域の支配域を決定する際には寄与しない。これを利用して、支配域を決定する手続きを簡素化する事ができる。この手段による本発明の第2の特徴は、第1の特徴を有する画像認識方法における領域の支配域を求める方法であって、全ての領域に対して当該領域の外形線を求めた後、全ての領域に対して外形線から外側へ逐次的に支配域を拡張して行き、ある2つの領域の支配域が接触した場合に当該2つの領域を辺で結んだグラフを作成する事を特徴とする画像認識方法を提供する事にある。
【0011】
以上の特徴を利用する事により、従来法で開示した方法が2値画像に対しても適用可能となり、効率の良い画像認識アルゴリズムを構成できる。但し実際の応用では、与えられた2値画像がノイズを含む場合が多いので、このために以下の手段を画像認識アルゴリズムに加える事が実用性を増す。すなわち、本発明の第3の特徴は、第1の特徴を有する画像認識方法であって、上記で得られたグラフにおいて辺で結ばれた複数の領域を所定の規則に従って1つの領域に統合する手続きを含む事を特徴とする画像認識方法を提供する事にある。
【0012】
以上の各特徴を利用する事により、本発明の第4の特徴は、第1の特徴を有する画像認識方法であって、第1の特徴または第3の特徴に記した方法により得られたグラフが、特定の構造を部分的に含むか否かを判定する事により、特定の構造物が当該2値画像に含まれるか否かを判定する事を特徴とする画像認識方法を提供する事にある。
【発明の効果】
【0013】
以上の通り、本発明によれば、従来法よりも広い範囲の画像に対して特定の構造を検出する事が可能になり、画像認識技術や装置の更なる高度化・高機能化に資する事ができる。
【発明を実施するための最良の形態】
【0014】
本発明は、コンピュータ上で動作するソフトウェアとして実施するのが妥当である。ここで使用するコンピュータは、いわゆる画像処理機能を実行できるものならば何でも良い。以下に実施例として、本発明の特徴を有するコンピュータプログラムの算法を、図面を用いて説明する。なお説明の便宜上、実施例では画像の中から人物の顔を検出する機能を取り上げて説明するが、これは本発明の適用範囲を制限するものではない。
【実施例】
【0015】
図3は本発明を応用した顔検出アルゴリズムの全体を示すフローチャートである。本実施例においては、ステップ300(以下「S300」等と略記する)以下の処理によって画像から人物の顔を検出する。まず画像を入力(S301)した後、前処理として画像の2値化(S302)を行う。ここで得られた2値画像に対して[課題を解決するための手段]にて述べた通り、領域ボロノイ図作成(S303)、領域ドローネグラフ作成(S304)、領域の統合(S305)、標準顔グラフとのマッチング(S306)を順次行う。以上の結果により、画像の中に人物の顔が含まれているか否かを判定して(S307)、顔が検出されればその結果を表示(S308)し、そうでなければ顔が存在しない旨を表示(S309)して、処理を修了する(S310)。以上のフローに沿って、各ステップにおける動作を以下に詳細に説明する。
【0016】
まずS301からS302により、画像を入力(S301)した後、前処理として画像の2値化(S302)を行う。本発明は2値画像を対象とした認識技術に係るものなので、S302における具体的な算法は特に規定しないが、最も簡単には各画素の画素値を予め定めた敷居値と比較して、敷居値以上ならば当該画素の値を‘0(白)’に、敷居値未満ならば‘1(黒)’にすれば良い。以上により、たとえば図4に示した入力画像400に対して、図5に示した2値画像500が得られる。なお図5において(a)は2値画像そのものを示したものであり、(b)は引き続くステップで引用するために、2値画像に含まれる領域に適宜符号を付したものである。すなわち2値画像500は、501−1、501−2、……、501−nで示される各領域から構成される。これらのうち501−1は頭髪を中心とした大きな領域であり、501−2、501−3は右および左の鼻腔に各々対応する領域である。また501−4、501−5は共に右目に対応する領域であるが、2値化処理におけるノイズの影響で、目尻から瞳にかけての部分501−4と目頭の部分501−5とに分かれている。左目についても同様に、目尻から瞳にかけての部分501−6と目頭の部分501−7とが領域として存在する。
【0017】
次に領域ボロノイ図作成(S303)を行なう。このステップの詳細を、図6から図8を用いて説明する。
【0018】
図6は領域ボロノイ図を作成するアルゴリズムを示したフローチャートである。領域ボロノイ図を作成するには、画像が有限個の画素からなる事に着眼して、各画素がどの領域の支配域に属するかを調べれば良い。すなわち図6に示す通り、画像に含まれる全ての画素に対して以下のS602〜S604を繰り返す(S601)。まず当該画素の画素値が0かどうかを調べ、0でない(すなわち領域のどれかに含まれている)ならば以下のS603〜S604はスキップする(S602)。0である(すなわち背景部分にある)場合は当該画素から最も近い領域(これを領域Rとする)を探索して(S603)、当該画素を領域Rのボロノイ領域とする(S604)。以上の繰返しを完了する事により、領域ボロノイ図作成が完了する(S605)。
【0019】
また領域ボロノイ図は、次に述べる「領域逐次拡張法」にて作成しても良い。「領域逐次拡張法」とは、各領域からの距離が1の画素、距離が2の画素、……、を逐次的に求める方法であり、具体的には図7に示す通りの動作で実行される。図7は2値画像の一部分を取り出したものであり、図中の○、▲1▼、▲2▼、●は全て画素を表わす。これらのうち黒丸「●」は2値画像の中で値が‘1(黒)’の画素であり、すなわちある領域に属する画素を表わす。他の3者は全て、値が‘0(白)’の画素を表わす。ここで当該領域から距離が1の画素は、当該領域の外周を辿る事により、図中の「▲1▼」で示した画素である事がわかる。また距離が2の画素は、「▲1▼」で示した画素の外周を辿る事により、図中の「▲2▼」で示した画素である事がわかる。以下同様に、距離が3、4、5、……、の画素を逐次的に求める事ができる。以上を全ての領域に対して適用して、最も小さい距離が得られた領域が、当該画素を支配域とするものとする。なおこの「領域逐次拡張法」においては、距離の測定方法として通常のユークリッド距離ではなくいわゆる「マンハッタン距離」を用いる事になるが、これは引き続くS304以下の実行に支障を生じるものではない。
【0020】
以上の方法を図5における2値画像500に適用した例を図8に示す。図8において800は領域ボロノイ図を作成した結果となる写真を示しており、ある領域に属する支配域を同一の濃淡色で表わしている。たとえば図5における領域501−1に対しては801−1が、同様に501−2、501−3、……、501−n、に対しては801−2、801−3、……、801−n、が、それぞれ支配域となる。なお以上において、ある画素が複数の領域から等距離にある場合は、便宜的に最も若い番号の領域に支配されるものとした。また図8においては、作画装置の性能的な制約上、異なった支配域に見かけ上同一の濃淡色が割当てられている点を御了承頂きたい。これらはいずれも、引き続くS304以下の実行に支障を生じるものではない。
【0021】
次に領域ドローネグラフ作成(S304)を行う。このステップの詳細を、図9から図10を用いて説明する。
【0022】
図9は領域ドローネグラフを作成するアルゴリズムを示したフローチャートである。領域ドローネグラフの定義は[課題を解決するための手段]に記した通り、2つの領域の支配域が隣接していれば、その間にドローネ辺を引く、というものであった。図9はこの定義に沿ってドローネ辺を引くものである。すなわち図9に示す通り、2つの領域の組合せを全て列挙して、それらに対して以下のS902〜S904を繰り返す(S901)。まず両領域のボロノイ領域が隣接しているか否かを領域ボロノイ図800を参照して判定し、否であれば以下のS903〜S904はスキップする(S902)。隣接している場合は両領域が最も接近している場所を2値画像500から求め(S903)、その場所にドローネ辺を引く(S904)。以上の繰返しを完了する事により、領域ドローネグラフ作成が完了する(S905)。
【0023】
なお図9は領域ドローネグラフの定義に忠実に沿った方法であるが、前述の領域ボロノイ図作成(S303)において「領域逐次拡張法」を用いる場合は、拡張の途中経過から複数の領域の支配域が隣接する事がわかるので、その情報を記憶しておけばS902あるいはS903を簡略化する事ができる。
【0024】
以上のステップにより作成された領域ドローネグラフの例を図10に示す。図10は領域ボロノイ図800から領域ドローネグラフ1000を作成したものであり、同グラフはドローネ辺1001−1、1001−2、……、1001−nから構成される。これらの内、1001−1は2値画像500における領域501−5(右目頭)と501−7(左目頭)が隣接している事を示すものである。同様に1001−2(501−5と501−2)、1001−3(501−5と501−3)、1001−4(501−2と501−3)、などのドローネ辺が引かれる。
【0025】
次に領域の統合(S305)を行う。本ステップは課題を解決するための手段に記した通り、2値画像500にノイズが混入している場合に必要となる。従って、何らかの条件によりノイズが無い事が保証されている場合には、本ステップを省略して良い。本実施例においては2値画像500に示す通り、画像にノイズが混入した結果、2値化の結果が不完全になっている。たとえば、本来は1つの構造物である右目が、目尻から瞳にかけての部分501−4と目頭の部分501−5とに分かれている。左目についても同様である。更に、鼻は左右の鼻腔501−2、501−3に分かれている。これらを1つのものと見なす事が、本ステップの目的である。この詳細を、図11から図12を用いて説明する。
【0026】
図11は領域の統合を行うアルゴリズムを示したフローチャートである。本実施例においては、以下の条件で領域の統合を行うものとする。
条件0:2つの領域がドローネ辺で結ばれている。
条件1:条件0の下で、2つの領域が極めて近距離(規定のパラメータ以内)にある場合は、両者はノイズにより分離されたものと見なして、両者を統合する。
条件2:条件0の下で、概ね同一サイズの2領域が概ね水平に並んでおり、それらの至近(規定のパラメータ以内)に他の領域が無い場合は、両者は鼻腔であると見なして、両者を統合する。
以上の条件の下に、アルゴリズムは図11に示す通りとなる。すなわち、全てのドローネ辺に対して、以下のS1102〜S1105を繰り返す(S1101)。まずS1102において上記の条件1が成立するか否かを判定し、成立すればS1104以降を実行する。否の場合は、S1103において上記の条件2が成立するか否かを判定し、成立すればS1104以降を実行する。否の場合は統合が不要な場合であるので、S1104〜S1105はスキップする。S1104〜S1105は、領域が統合された結果を反映してドローネグラフを更新するステップである。すなわち、まずS1104において、両者を結ぶドローネ辺が不要となるので、当該ドローネ辺を削除する。次にS1105において、他の領域からのドローネ辺で重複が生じるものを、1つのドローネ辺に統合する。以上の繰返しを完了する事により、領域の統合が完了する(S1106)。
【0027】
図12は、領域ドローネグラフ1000に対して領域の統合を行った結果、得られる統合済領域ドローネグラフ1200を示す。統合済領域ドローネグラフ1200においては、1001−1に示す様に1000におけるドローネ辺がそのまま残る場合もあるが、1201−1、……、1201−nに示す様な新たなドローネ辺が生じる場合もある。また1000におけるドローネ辺1001−4は消失している。これらは、ドローネ辺1001−4に対してS1103の条件が成立した結果、2値画像500における領域501−2と501−3とが統合され、仮想的な1つの領域1210−1となった結果、ドローネグラフが更新されたためである。すなわち、ドローネ辺1001−4はS1104により削除され、またドローネ辺1001−2と1001−3とがS1105により統合されて1201−1となっている。ここで1201−1においてドローネ辺の下端は、領域501−2と501−3との中間点に取るものとした。なお図12においては、符号は省略したが、鼻と同様に右目、左目、口においても統合が行なわれた結果、各々が1つの領域になっており、新たなドローネ辺1201−2、1201−3が生じている。
【0028】
ここで図11のアルゴリズムにおいては、条件1および条件2における「規定のパラメータ」は、実験的に定めるものとする。また図11の処理全体を適当な制約条件の下に繰り返して適用して、3つ以上の領域を1つに統合する様にしても良い。更に、領域の統合の可否の判定には多様なルールが考えられるので、それらでS1102〜S1103を置き換えても良い。
【0029】
以上のステップにより統合済領域ドローネグラフ1200が得られたので、これに対して従来法と類似の手法を適用する事により、画像認識機能(本実施例では顔の認識機能)を実現する事ができる。すなわちS306として、標準顔グラフとのマッチングを行う。この詳細を図13から図15を用いて説明する。
【0030】
まず図13は、人間の顔の普遍的な構造をグラフの形で表現する「標準顔グラフ」1300を示したものである。すなわち、人間の顔には4つの部位(右目、左目、鼻、口)が存在し、これら全体が輪郭線で囲まれている。ここで各部位の位置関係を領域ドローネグラフで表すと、1300に記した通りとなる。すなわち、右目と左目は隣接関係にあり、ドローネ辺1301で結ばれる。同様に右目と鼻、左目と鼻、鼻と口も隣接関係にあり、各々ドローネ辺1302、1303、1304で結ばれる。一方、右目と口および左目と口は中間に鼻があるため隣接関係とはならず、従って図中の1311および1312に相当するドローネ辺は存在しない。図ではドローネ辺が存在しない事を破線で示した。以上の部位は輪郭線1320で囲まれる。ここで輪郭線はいくつかのドローネ辺が概ね滑らかに連続したものである。
【0031】
上記1300に基づいて、標準顔グラフとのマッチング(S306)は図14のフローチャートで示されるアルゴリズムにて実行できる。すなわち、まず統合済領域ドローネグラフ1200に含まれる輪郭線候補を列挙する(S1401)。このステップは従来法で開示したのと同様に、隣接する領域の適当な系列を作成して、それらを結ぶドローネ辺が概ね滑らかに方向を変えてゆく事を確認すれば良い。この結果列挙された輪郭線候補に対して、以下のS1403〜S1405を繰り返す(S1402)。まずS1403において、輪郭線の内部に含まれる領域(統合済のもの)の数が、顔の部位の数である4に等しいか否かを確認し、否であれば引き続くS1404〜S1405はスキップする。等しい場合は更にS1404において、輪郭内の領域から作成される領域ドローネグラフが、標準顔グラフ1300と相同であるか否かを確認する。すなわちより詳細には、4つの領域の内で他の3つ全てと隣接するものがあれば、そこを鼻と見なす。次に、鼻のみと隣接する領域を口と見なす。残りの2領域は右目と左目になるべきなので、この両者が隣接している事を確認する。以上の条件に全て適合すれば、輪郭内の領域は標準顔グラフ1300と相同な領域ドローネグラフを構成していると結論できる。これらの結果、相同で無いと判定された場合は、引き続くS1405はスキップする。相同な場合はS1405に進み、輪郭内の各領域を対応する顔の部位として登録する。以上の繰返しを完了する事により、標準顔グラフとのマッチング(S306)が完了する(S1406)。
【0032】
図15は図14に従ってS306を統合済領域ドローネグラフ1200に適用した例を示す。まずS1401により輪郭線の候補が多数列挙されるが、それらの一つとして図の1501−1、1501−2、……、1501−nで示した候補が含まれる。この候補に対してS1403〜S1405を適用すると、まず輪郭線内部の領域の数は、S305による統合の結果4つとなっているので、S1403の条件は成立する。更にS1404においては上述の条件に適合する事が確認される。すなわちドローネ辺1001−1が1300における1301に、1201−1、1201−2、1201−3が各々1302、1303、1304に対応する。更に1311、1312に相当するドローネ辺は1500に存在しない。以上から標準顔グラフ1300との相同性が確認されたので、その結果をS1405にて登録する。
【0033】
ここまでの各段落で説明の通り、図3におけるS303〜S306により顔の有無が判定できたので、その結果を冒頭に述べた通りS307〜S310にて扱う。ここでS308における表示は、たとえば図16の様に、入力画像400に部位の名称を重畳させて示せば良い。
【0034】
以上、本発明の一実施例を説明したが、この実施例を変形した様々な方法も考えられる。たとえば、S307において顔が発見されなかった場合は、S302に戻って画像2値化をやり直してS303以下をリトライする、としても良い。またS306において標準顔グラフとのマッチングが失敗した場合は、S305に戻って領域の統合をやり直しても良く、この場合にはS305で述べた「規定のパラメータ」を適宜変更して処理する方法が考えられる。更にS306においては、単に領域ドローネグラフの相同性を判定するのに留まらず、各領域が人間の顔の部位として妥当な大きさや形状を持つかどうか、より具体的には左右の目は概ね同一サイズ化かどうか、目が口よりも大きい事はないか、等を判定する機能を持たせても良い。また標準顔グラフ1300においては、右目(左目も同様)と口とは隣接関係に無いとしたが、両者の隣接の度合いが微小ならば隣接しても良い、というルールにしても良い。ここで「隣接の度合」は、図8において両領域の支配域がどの程度境界線を共有するか、という情報から決定できる。
【0035】
以上、人物顔の検出を例として実施例を示したが、冒頭に述べた通り本発明は本実施例に限定される事なく、規定の構造を持つ物体が画像の中に含まれるかを判定する方法として、広範に応用できる。たとえば円形又は方形の構造物の中に12個の文字領域が概ね円形状に配列されていれば、それが時計である事が本発明により容易に判定できる。より一般には、ある種の構造物が何らかの生成規範に従って構成されている場合、その規範をグラフ構造によって表現できるならば、一つ一つの具体的な物体(個体)には違いがあっても、本質的に同種の物である事が本発明により認識できる。
【産業上の利用可能性】
【0036】
本発明は画像認識技術を応用した各種の映像処理装置で利用可能であり、より具体的には映像監視装置、ビデオ編集装置、ディジタルカメラなどへの応用が期待できる。
【図面の簡単な説明】
【0037】
【図1】 連結領域を含む2値画像に対して図2の概念を拡張する方法を説明する図。(a)原義に従い作成されたボロノイ図の一例。(b)(a)から「領域ボロノイ図」「領域ドローネグラフ」を作成する方法。
【図2】 計算幾何学の基礎概念「ボロノイ図」「ドローネグラフ」を説明する図。(a)平面上の点集合の1例。(b)(a)から作成される「ボロノイ図」「ドローネグラフ」の定義を説明する図。
【図3】 本発明の実施例である顔認識算法の全体構成を示すフローチャート。
【図4】 実施例における入力画像の一例を示す写真。
【図5】 入力画像を2値化した結果の例を示す図。(a)2値化した結果そのものを示す図。(b)(a)に対して説明用の符号を付した図。
【図6】 ステップ303「領域ボロノイ図作成」の算法を示すフローチャート。
【図7】 領域ボロノイ図を作成する別の方法「領域逐次拡張法」を説明する図。
【図8】 ステップ303の結果得られる領域ボロノイ図の一例を示す写真。
【図9】 ステップ304「領域ドローネグラフ作成」の算法を示すフローチャート。
【図10】 ステップ304の結果得られる領域ドローネグラフ。
【図11】 ステップ305「領域の統合」の算法を示すフローチャート。
【図12】 ステップ305の結果得られる統合済領域ドローネグラフの一例。
【図13】 ステップ306で用いる標準顔グラフを説明する図。
【図14】 ステップ306「標準顔グラフとのマッチング」の算法を示すフローチャート。
【図15】 ステップ306によるマッチングの結果の一例を示す図。
【図16】 本実施例により顔の認識に成功した例を示す写真。
【図17】 従来法による線分の抽出技術を説明する図。
【符号の説明】
【0038】
101…母点(値が「1」の画素)
110…連結領域
120…領域ボロノイ分割における分割線
130…領域ドローネグラフにおけるドローネ辺
150、250…原義のボロノイ分割における分割線
260…原義のドローネグラフにおけるドローネ辺
【特許請求の範囲】
【請求項1】
2値画像から特定の構造物を検出する方法であって、当該2値画像は被写体を現す画素値1および背景を現す画素値0のいずれかのみからなり、画素値1の画素が複数の連結な領域を構成する場合において、まず画素値1の画素を母点とみなしてボロノイ分割を行なった後、ある領域に属する全ての画素の支配域の和を求める事により当該領域の支配域を定め、ある2つの領域に関して夫々の支配域が隣接する場合に当該2つの領域を辺で結んだグラフを作成し、上記グラフ構造に沿って上記特定の構造を検出する事を特徴とする画像認識方法。
【請求項2】
請求項1における領域の支配域を求める方法であって、全ての領域に対して当該領域の外形線を求めた後、全ての領域に対して外形線から外側へ逐次的に支配域を拡張して行き、ある2つの領域の支配域が接触した場合に当該2つの領域を辺で結んだグラフを作成する事を特徴とする画像認識方法。
【請求項3】
請求項1記載の方法を利用した画像認識方法であって、上記で得られたグラフにおいて辺で結ばれた複数の領域を所定の規則に従って1つの領域に統合する手続きを含む事を特徴とする画像認識方法。
【請求項4】
請求項1記載の方法を利用した画像認識方法であって、請求項1または請求項3により得られたグラフが、特定の構造を部分的に含むか否かを判定する事により、特定の構造物が当該2値画像に含まれるか否かを判定する事を特徴とする画像認識方法。
【請求項1】
2値画像から特定の構造物を検出する方法であって、当該2値画像は被写体を現す画素値1および背景を現す画素値0のいずれかのみからなり、画素値1の画素が複数の連結な領域を構成する場合において、まず画素値1の画素を母点とみなしてボロノイ分割を行なった後、ある領域に属する全ての画素の支配域の和を求める事により当該領域の支配域を定め、ある2つの領域に関して夫々の支配域が隣接する場合に当該2つの領域を辺で結んだグラフを作成し、上記グラフ構造に沿って上記特定の構造を検出する事を特徴とする画像認識方法。
【請求項2】
請求項1における領域の支配域を求める方法であって、全ての領域に対して当該領域の外形線を求めた後、全ての領域に対して外形線から外側へ逐次的に支配域を拡張して行き、ある2つの領域の支配域が接触した場合に当該2つの領域を辺で結んだグラフを作成する事を特徴とする画像認識方法。
【請求項3】
請求項1記載の方法を利用した画像認識方法であって、上記で得られたグラフにおいて辺で結ばれた複数の領域を所定の規則に従って1つの領域に統合する手続きを含む事を特徴とする画像認識方法。
【請求項4】
請求項1記載の方法を利用した画像認識方法であって、請求項1または請求項3により得られたグラフが、特定の構造を部分的に含むか否かを判定する事により、特定の構造物が当該2値画像に含まれるか否かを判定する事を特徴とする画像認識方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−277205(P2009−277205A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−152210(P2008−152210)
【出願日】平成20年5月15日(2008.5.15)
【出願人】(508173118)
【Fターム(参考)】
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願日】平成20年5月15日(2008.5.15)
【出願人】(508173118)
【Fターム(参考)】
[ Back to top ]