(57)【特許請求の範囲】
【請求項１】
画像からエッジセグメントを抽出するエッジ抽出部と、
前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得する取得部と、
前記取得部により取得された各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出する算出部と、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する画像抽出部と、
を有する画像認識装置。
【請求項２】
前記算出部は、前記図形の候補に利用されるエッジセグメントの長さの和を、前記図形の候補の外周の長さの和で除算することで前記再現率を算出し、前記図形の候補に利用されるエッジセグメントの長さの和を、前記エッジ抽出部により抽出された全てのエッジセグメントの長さの和で除算することで前記適合率を算出する
ことを特徴とする請求項１に記載の画像認識装置。
【請求項３】
画像からエッジセグメントを抽出するエッジ抽出部と、
前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを抽出し、前記組合せの中から、２以上の図形の候補が包含関係を有しておらず、且つ、２以上の図形の候補が同じエッジセグメント共有していない組合せを取得する取得部と、
前記取得部により取得された各組合せについて、前記抽出されたエッジセグメントに対する前記図形の候補の妥当性を表す評価値を算出する算出部と、
前記算出部により算出される評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する画像抽出部と、
を有する画像認識装置。
【請求項４】
コンピュータが、
画像からエッジセグメントを抽出し、
前記抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得し、
前記各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出し、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する
ことを特徴とする画像認識方法。
【請求項５】
画像からエッジセグメントを抽出し、
前記抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得し、
前記各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出し、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する
処理をコンピュータに実行させるための画像認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から所定の幾何学的図形に対応する領域を認識する画像認識装置および画像認識方法に係わる。
【背景技術】
【０００２】
画像から特定の幾何学的図形を構成する物体に対応する領域を認識して抽出するニーズが存在する。たとえば、矩形のメモ書シールが貼られたホワイトボードをデジタルカメラで撮影し、得られた画像からメモ書シールに対応する領域を抽出する用途がある。この場合、例えば、抽出した画像に対して文字認識を行うことにより、メモ書シールに記載されている文字等を電子データとして保存することができる。そして、このような用途に対して、画像からエッジを抽出し、エッジで囲まれる領域を認識することで、対象とする物体に対応する領域を抽出する方法が知られている。
【０００３】
関連する技術として、下記の図形切り出し方法が提案されている。この方法は、周囲の少なくとも２辺が直線となる構成のマトリックス状にデータを配した矩形の２次元コード図形又はそれに類似した図形を含む画像を読取り、その読取った画像から前記２次元コード図形又はそれに類似した図形を切出して認識する画像認識装置において、前記２次元コード図形又はそれに類似した図形の画像に対してハフ変換法及び最小２乗近似法により周囲の互いに交差する２本の直線の位置を検出するステップと、このステップにて検出した２本の直線の長さを検出するステップと、前記各ステップで検出した２本の直線の位置と長さを元に周囲の互いに交差する残り２本の直線の位置を検出するステップを設け、前記各ステップにより前記２次元コード図形又はそれに類似した図形を切出す。（例えば、特許文献１）
【０００４】
また、他の関連する技術として、下記の画像整合方法が提案されている。この方法においては、画像を処理し、建造物の候補の領域を得て建造物領域を含む画素は１、含まない画素は０の値を有するバイナリ画像表現により領域の垂直水平方向の寸法を試作建造物の寸法のセットにサイズテストして、寸法が大き過ぎたり小さ過ぎる場合は、それは建造物ではないと判断する。バイナリ画像表現に基づき各建造物の候補の輪郭線のＸ−Ｙ画素リストを求め、更にバイナリ画像の画素格子に各領域の輪郭線の主要軸を整合させ、輪郭線リストの水平、垂直エッジ部の方向ヒストグラムを計算してヒストグラムのピーク集中率が現在のステッシュホルドより小さい場合には領域は建造物ではないと判断する。エッジ部のヒストグラム内のピークを領域画素の座標リストのコーナー候補として仮定し、最も多くのコーナー候補の有効となった組み合わせを建造物全周として選択する。（例えば、特許文献２）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２２００８１号公報
【特許文献２】特開平５−１０１１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術においては、画像から特定の幾何学的図形を構成する物体に対応する領域を抽出する処理において、複数の物体が互いに重なり合っているときには、画像から抽出される各エッジがそれぞれどの物体を構成するエッジであるかを判定することが困難である。この場合、各物体に対応する領域を抽出する精度が低下する。また、物体の色が背景の色と類似しているときは、１つのエッジが複数の部分に分かれて抽出されてしまうことがある。この場合も、各物体に対応する領域を正しく抽出することは困難である。
【０００７】
本発明の課題は、画像から特定の幾何学的図形を構成する物体に対応する領域を精度よく抽出する装置および方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の１つの態様の画像認識装置は、画像からエッジセグメントを抽出するエッジ抽出部と、前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得する取得部と、前記取得部により取得された各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出する算出部と、前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する画像抽出部、を有する。
【発明の効果】
【０００９】
上述の態様によれば、画像から特定の幾何学的図形を構成する物体に対応する領域を精度よく抽出することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態の画像認識装置の機能を示すブロック図である。
【図２】実施形態の画像認識方法を示すフローチャートである。
【図３】ソーベルフィルタを示す図である。
【図４】入力画像から生成される２値化エッジ画像の例を示す図である。
【図５】画像の方向分解について説明する図である。
【図６】方向分解処理について説明する図である。
【図７】方向分解により生成された２値化エッジ画像の例を示す図である。
【図８】ラベリングおよび外接矩形について説明する図である。
【図９】黒画素連結成分の重なり統合について説明する図である。
【図１０】エッジ抽出部により抽出されたエッジセグメントの例を示す図である。
【図１１】矩形領域候補を抽出する処理を示すフローチャートである。
【図１２】エッジセグメントが矩形領域を構成する条件を説明する図（その１）である。
【図１３】エッジセグメントが矩形領域を構成する条件を説明する図（その２）である。
【図１４】エッジセグメントが矩形領域を構成する条件を説明する図（その３）である。
【図１５】エッジセグメントが矩形領域を構成する条件を説明する図（その４）である。
【図１６】矩形領域候補を取得するためのグラフ及びクリークを説明する図である。
【図１７】矩形領域候補の組合せを取得する処理を示すフローチャートである。
【図１８】矩形領域候補の組合せを取得するためのグラフ及びクリークを説明する図である。
【図１９】抽出されたエッジセグメントを示す図である。
【図２０】（ａ）はエッジセグメントについてのグラフ、（ｂ）は抽出されたクリークを示す図である。
【図２１】矩形領域候補を示す図である。
【図２２】（ａ）は矩形領域候補についてのグラフ、（ｂ）は抽出されたクリークを示す図である。
【図２３】矩形領域候補の組合せを示す図である。
【図２４】正三角形領域を抽出するための方向分解について説明する図である。
【図２５】エッジセグメントが正三角形領域を構成する条件を説明する図（その１）である。
【図２６】エッジセグメントが正三角形領域を構成する条件を説明する図（その２）である。
【図２７】エッジセグメントが正三角形領域を構成する条件を説明する図（その３）である。
【図２８】画像認識装置を実現するためのコンピュータシステムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
図１は、実施形態の画像認識装置の機能を示すブロック図である。実施形態の画像認識装置１は、画像データ格納部２、処理部３、抽出結果格納部８、出力部９を有する。
【００１２】
画像データ格納部２は、デジタルカメラまたはスキャナ等により得られた画像データを格納する。ここで、画像認識装置１は、デジタルカメラまたはスキャナ等から画像データを受信するためのインタフェースを備えていてもよい。或いは、画像認識装置１は、デジタルカメラ等に内蔵されてもよい。また、画像データは、この実施例では、カラー画像データである。なお、以下の説明では、画像データを、単に「画像」と呼ぶことがある。
【００１３】
処理部３は、画像データ格納部２に格納されている画像から、予め決められた幾何学的な図形（この実施例では、矩形）を抽出する。処理部３は、画像から幾何学的な図形を抽出するために、エッジ抽出部４、取得部５、算出部６、画像抽出部７を有する。エッジ抽出部４、取得部５、算出部６、画像抽出部７の動作は、後で説明する。
【００１４】
抽出結果格納部８は、処理部３により抽出された図形に対応する領域の画像データを格納する。そして、出力部９は、抽出結果格納部８に格納されている、処理部３により抽出された領域の画像データを出力する。出力部９は、例えば、表示装置に画像データを出力する。或いは、出力部９は、外部の記憶装置に画像データを出力してもよい。
【００１５】
図２は、実施形態の画像認識方法を示すフローチャートである。このフローチャートの処理は、例えば、画像認識装置１に抽出指示が与えられたときに、処理部３によって実行される。抽出指示は、この実施例では、画像から矩形領域を抽出する指示である。また、抽出指示は、例えば、ユーザにより画像認識装置１に入力される。そして、抽出指示が与えられると、処理部３は、画像データ格納部２からカラー画像を取得する。
【００１６】
ステップＳ１において、エッジ抽出部４は、画像データ格納部２から取得したカラー画像をグレー化する。ステップＳ２において、エッジ抽出部４は、グレー化した画像に対してソーベルフィルタ演算を行う。このソーベルフィルタ演算により、エッジが強調された画像（以下、エッジ画像）が得られる。ステップＳ３において、エッジ抽出部４は、エッジ画像に対して２値化処理を実行し、２値化エッジ画像を生成する。ステップＳ４において、エッジ抽出部４は、ソーベルフィルタ演算の結果を利用して、２値化エッジ画像を予め決められている複数の方向に分解する。そして、ステップＳ５において、エッジ抽出部４は、各方向に分解された複数の２値化エッジ画像から、それぞれエッジセグメントを抽出する。
【００１７】
ステップＳ６において、取得部５は、ステップＳ１〜Ｓ５で抽出されたエッジセグメントを利用して形成される幾何学的な図形の候補をリストアップする。すなわち、取得部５は、ステップＳ１〜Ｓ５で抽出されたエッジセグメントの中から、矩形領域の外周（すなわち、辺）を構成する可能性のあるエッジセグメントを取り出すことにより、１または複数の矩形領域候補を取得する。そして、ステップＳ７において、取得部５は、矩形領域候補の組合せを取得する。このとき、取得部５は、矩形領域候補の組合せの中から、矩形領域間の関係が矛盾するものではなく、且つ、矩形領域候補とエッジセグメントとの関係が矛盾するものではない組合せを選択する。
【００１８】
ステップＳ８において、算出部６は、ステップＳ７で得られた各組合せについて、再現率および適合率を算出する。この実施例では、再現率は、矩形領域候補の辺がエッジセグメントによってカバーされている程度または割合を表す。適合率は、エッジ抽出部４によって抽出された全エッジセグメントのうち、矩形領域候補の辺として使用されている程度または割合を表す。
【００１９】
ステップＳ９において、画像抽出部７は、再現率および適合率に基づいて決まる評価値が最大となる組合せを特定する。評価値は、たとえば、Ｆ値である。そして、画像抽出部７は、特定した組合せに含まれる矩形領域候補を、取得すべき矩形領域として抽出する。なお、白黒画像が処理部３に入力されるときは、ステップＳ１のグレー化処理は省略される。
【００２０】
次に、図面を参照しながら、図２に示すフローチャートの各ステップの処理について詳しく説明する。以下の説明では、画像認識装置１は、入力画像から矩形領域を抽出するものとする。
【００２１】
＜ステップＳ１：グレー化＞
カラー画像のグレー化は、ＲＧＢ空間の原点を通過する任意の直線に各画素の画素値を投影する処理に相当する。よって、ＲＧＢ空間における方向ベクトルの設定に応じて、様々なグレー化が可能である。例えば、各画素の画素値を明度で表すグレー化は、画像処理において広く行われており、下記の式で計算される。なお、各画素の画素値は、ＲＧＢ空間上の座標(R,G,B)で表される。
明度＝0.299R + 0.587G + 0.114B
【００２２】
エッジ抽出部４は、他の方法でカラー画像をグレー化してもよい。例えば、エッジ抽出部４は、色差を利用してカラー画像をグレー化することができる。
【００２３】
＜ステップＳ２〜Ｓ３：ソーベルフィルタおよび２値化処理＞
エッジ抽出部４は、ステップＳ１で得られるグレー画像に対してソーベルフィルタ演算を実行する。ソーベルフィルタは、画像のエッジを強調するエッジオペレータの１つであり、グレー画像の各画素に対してＸ方向フィルタ演算およびＹ方向フィルタ演算を行う。Ｘ方向フィルタおよびＹ方向フィルタは、図３に示す通りである。即ち、画素(x,y)に対するＸ方向フィルタ演算の結果Ｓx(x,y)は、下式で得られる。
g(x+1,y+1)+2g(x,y+1)+g(x-1,y+1)-g(x+1,y-1)-2g(x,y-1)-g(x-1,y-1)
また、画素(x,y)に対するＹ方向フィルタ演算の結果Ｓy(x,y)は、下式で得られる。
g(x+1,y+1)+2g(x+1,y)+g(x+1,y-1)-g(x-1,y+1)-2g(x-1,y)-g(x-1,y-1)
なお、g(i,j)は、グレー化処理により計算された画素(i,j)の濃度値を表す。
【００２４】
続いて、エッジ抽出部４は、ソーベルフィルタ演算の結果を利用して、各画素について強度および方向を計算する。画素(x,y)の強度および方向は、下式で計算される。
強度＝√(Ｓx(x,y)2 + Ｓy(x,y)2)
方向＝arctan(Ｓy(x,y)/Ｓx(x,y))
【００２５】
ここで、各画素について得られる上述の強度値を濃度値と考えると、ソーベルフィルタから出力は、グレー画像として処理することができる。そして、エッジ抽出部４は、このグレー画像について２値化処理を行うことで、２値化エッジ画像を生成する。２値化処理は、例えば、大津の２値化方式を使用することができる。
【００２６】
図４は、入力画像から生成される２値化エッジ画像の例を示す。この例では、デジタルカメラでホワイトボートを撮影することにより入力画像が得られたものである。また、撮影されたホワイトボードには、４枚のメモ書シールが貼り付けられている。
【００２７】
入力画像内には、図４（ａ）に示すように、ホワイトボード１１に対応する領域、およびメモ書シール１２ａ〜１２ｄに対応する領域が形成されている。なお、メモ書シール１２ａ〜１２ｄは、ホワイトボード１１と異なる色を有しており、図４（ａ）では、斜線領域で表されている。また、この例では、メモ書シール１２ａ、１２ｂは互いに一部が重なり合っており、メモ書シール１２ｂ、１２ｃも互いに一部が重なり合っている。なお、メモ書シール１２ａ〜１２ｄには、それぞれ文字等が表記されているが、ここでは図面を見やすくするために、文字等の表記は省略されている。
【００２８】
図４（ｂ）は、図４（ａ）に示す入力画像から生成される２値化エッジ画像を示す。この２値化エッジ画像においては、ホワイトボード１１の端部に対応する領域の画素、メモ書シール１２ａ〜１２ｄの端部に対応する領域の画素、およびメモ書シール１２ａ〜１２ｄに表記されている文字等に対応する領域の画素の濃度値（または、画素値）が「１」であり、他の領域の画素値が「０」である。すなわち、ホワイトボード１１の端部に対応する領域、メモ書シール１２ａ〜１２ｄの端部に対応する領域、およびメモ書シール１２ａ〜１２ｄに表記されている文字等に対応する領域に、エッジが存在している。
【００２９】
＜ステップＳ４：方向分解＞
エッジ抽出部４は、上述したように、ソーベルフィルタ演算の結果を利用して、各画素について強度および方向を計算する。ここで、強度は、上述の２値化処理により２値化されている。すなわち、図４（ｂ）に示すような２値化エッジ画像が生成されている。そして、抽出部４は、２値化エッジ画像を、予め決められた複数の方向に分解する。
【００３０】
この実施例では、２値化エッジ画像は、図５（ａ）に示す８つの方向dir0〜dir7に分解される。この場合、分解方向dir0〜dir7に対してそれぞれ下記の角度範囲が設定される。
Dir0：-π/8＜θ≦π/8
Dir1：π/8＜θ≦3π/8
Dir2：3π/8＜θ≦5π/8
Dir3：5π/8＜θ≦7π/8
Dir4：7π/8＜θ≦9π/8(-7π/8)
Dir5：-7π/8＜θ≦-5π/8
Dir6：-5π/8＜θ≦-3π/8
Dir7：-3π/8＜θ≦-π/8
【００３１】
図５（ｂ）は、画像領域の方向と分解方向との関係を示す。図５（ｂ）に示す例では、画像上に２つの矩形領域１２ｅ、１２ｆが形成されている。この場合、矩形領域１２ｅの下辺は、分解方向dir0の角度範囲に属する。また、矩形領域１２ｅの右辺、上辺、左辺は、それぞれ、分解方向dir2、dir4、dir6の角度範囲に属する。同様に、矩形領域１２ｆの各辺は、分解方向dir1、dir3、dir5、dir7の角度範囲に属する。
【００３２】
図６は、方向分解処理について説明する図である。図６において、各マス目は、それぞれ１つの画素に相当する。また、図６（ａ）に示す２値化エッジ画像において、各画素内の上段に表記されている値は、ソーベルフィルタ演算の結果に基づいて得られる強度を表している。ここで、強度は、２値化されている。また、各画素内の下段に表記されている値は、ソーベルフィルタ演算の結果に基づいて得られる方向を表している。ただし、強度がゼロである画素においては、方向を表す値は省略されている。
【００３３】
エッジ抽出部４は、各分解方向dir0〜dir7において、強度が１であり、且つ、方向が対応する分解方向の角度範囲に属する画素を抽出する。例えば、分解方向dir4については、強度が１であり、且つ、方向が7π/8〜9π/8（すなわち、157.5〜202.5度）に属する画素を抽出する。この結果、図６（ａ）に示す２値化エッジ画像から５個の画素が抽出され、方向dir4の２値化エッジ画像として、図６（ｂ）に示す画像が得られる。他の分解方向においても、それぞれ、同様に２値化エッジ画像が生成される。
【００３４】
図７は、方向分解により生成された２値化エッジ画像の例を示す。ここで、図７（ａ）は、図４（ｂ）に示す２値化エッジ画像から得られる、分解方向dir2の２値化エッジ画像を示している。この２値化エッジ画像は、各メモ書シール１２ａ〜１２ｄの右側端部に相当するエッジを含んでいる。また、図７（ｂ）は、図４（ｂ）に示す２値化エッジ画像から得られる、分解方向dir6の２値化エッジ画像を示している。この２値化エッジ画像は、各メモ書シール１２ａ〜１２ｄの左側端部に相当するエッジを含んでいる。同様に、図７（ｃ）は、分解方向dir4の２値化エッジ画像を示しており、各メモ書シール１２ａ〜１２ｄの上側端部に相当するエッジを含んでいる。図７（ｄ）は、分解方向dir0の２値化エッジ画像を示しており、各メモ書シール１２ａ〜１２ｄの下側端部に相当するエッジを含んでいる。
【００３５】
＜ステップＳ５：エッジセグメントの抽出＞
エッジ抽出部４は、各方向の２値化エッジ画像において、それぞれエッジセグメントを抽出する。エッジセグメントは、エッジを構成する要素である。また、エッジセグメントは、この例では、４点で囲まれる領域であって、それら４点の座標で表される。エッジセグメントの抽出は、以下に説明するラベリング処理、重なり統合処理、ノイズ除去処理、統合処理を含む。
【００３６】
（１）ラベリング
エッジ抽出部４は、２値化エッジ画像において、各黒画素連結成分に対してラベルを付与する。黒画素連結成分は、所定数よりも多くの黒画素が連結している領域である。黒画素とは、２値化された画素値（または、濃度値）が１である画素である。また、ラベルは、各黒画素連結成分を識別する識別番号である。図８（ａ）に示す例では、各黒画素連結成分に対して、ラベルＬ１、Ｌ２が付与されている。
【００３７】
エッジ抽出部４は、処理対象の２値化エッジ画像の座標系において、各黒画素連結成分を射影する。処理対象の２値化エッジ画像の座標系は、入力画像の座標系に対して、分解方向の角度だけ回転した直交座標系である。例えば、分解方向dir1の２値化エッジ画像の座標系は、入力画像の座標系に対してπ/4だけ回転している。そして、エッジ抽出部４は、図８（ｂ）に示すように、処理対象の２値化エッジ画像の座標系の各射影軸に黒画素連結成分を射影することで得られる射影値の最大値および最小値を取得する。
【００３８】
エッジ抽出部４は、上述の各最大値および各最小値を通過し、且つ、それぞれ対応する射影軸に直交する直線の交点を求める。ここで、図８（ｂ）において、一方の射影軸上の最大値および最小値をそれぞれａ、ｂとし、他方の射影軸上の最大値および最小値をそれぞれｃ、ｄとすると、４つの交点座標(a,c)(a,d)(b,c)(b,d)が得られる。これらの４つの交点座標は、黒画素連結成分を取り囲む最小の矩形（すなわち、外接矩形）の４つの頂点の座標を表す。そして、エッジ抽出部４は、ラベリング処理の結果として、各黒画素連結成分について、黒画素連結成分を識別するラベルおよび黒画素連結成分の外接矩形を表す４つの交点座標を出力する。
【００３９】
（２）重なり統合
エッジ抽出部４は、２値化エッジ画像において、任意の２つの黒画素連結成分に対して、それぞれの外接矩形が互いに重なり合うか判定する。図９（ａ）に示す例では、黒画素連結成分Ｌ３、Ｌ４の外接矩形が互いに重なり合っている。この場合、エッジ抽出部４は、黒画素連結成分Ｌ３、Ｌ４を１つの黒画素連結成分に統合する。すなわち、これら２つの黒画素連結成分に対して同じラベルが付与される。図９（ｂ）においては、これら２つの黒画素連結成分に対して同じラベルＬ３が付与されている。また、これら２つの黒画素連結成分を取り囲む最小の矩形（黒画素連結成分Ｌ３、Ｌ４の外接矩形）の各頂点の座標が算出される。そして、エッジ抽出部４は、互いに重なり合う黒画素連結成分が存在しなくなるまで、重なり統合処理を繰り返す。
【００４０】
（３）ノイズ除去
エッジ抽出部４は、重なり統合処理後に得られる黒画素連結成分の集合に対してノイズ除去処理を行う。例えば、重なり統合処理後に得られる黒画素連結成分の大きさが所定値よりも小さいときは、その黒画素連結成分は、ノイズと判定されて上述の集合から取り除かれる。なお、黒画素連結成分の大きさは、例えば、その黒画素連結成分の外接矩形の長辺の長さで規定される。
【００４１】
（４）統合
エッジ抽出部４は、２値化エッジ画像において、互いに近接する黒画素連結成分どうしを統合する。すなわち、互いに近接する黒画素連結成分は、１つの黒画素連結成分に統合される。ここで、黒画素連結成分間の距離は、例えば、各黒画素連結成分を上述した射影軸に射影したときの射影値の差分で表される。この場合、少なくとも一方の射影軸上の射影値の差分が予め設定されている閾値よりも小さければ、黒画素連結成分を統合すべきと判定される。なお、２つの黒画素連結成分が統合されたときは、上述の重なり統合処理と同様に、それら２つの黒画素連結成分に対して同じラベルが付与される。また、統合された２つの黒画素連結成分を取り囲む最小の矩形の各頂点の座標が算出される。
【００４２】
エッジ抽出部４は、互いに近接する黒画素連結成分が存在しなくなるまで、統合処理を繰り返す。この統合処理により得られる各黒画素連結成分（または、各黒画素連結成分の外接矩形）が、エッジセグメントとして抽出される。
【００４３】
図１０は、エッジ抽出部４により抽出されたエッジセグメントの例を示す図である。図１０（ａ）は、図７（ａ）に示す分解方向dir2における２値化エッジ画像から抽出されたエッジセグメントを示している。この例では、エッジセグメントＥ１〜Ｅ５が抽出されている。エッジセグメントＥ１〜Ｅ４は、それぞれ、図４（ａ）に示すメモ書シール１２ａ〜１２ｄの右側端部（または、その一部）に対応している。エッジセグメントＥ５は、ホワイトボード１１の端部に対応している。図１０（ｂ）は、分解方向dir0〜dir7の２値化エッジ画像からそれぞれ抽出されるエッジセグメントをすべて重ねて示している。この例では、エッジセグメントＥ１〜Ｅ１８が抽出されている。
【００４４】
このように、エッジ抽出部４は、各分解方向dir0〜dir7の２値化エッジ画像からそれぞれエッジセグメントを抽出する。各エッジセグメントは、それぞれラベルによって識別される。また、各エッジセグメントの位置および形状は、そのエッジセグメント内の黒画素連結成分の外接矩形の４つの頂点の座標によって表される。
【００４５】
＜ステップＳ６：矩形領域候補の取得＞
取得部５は、ステップＳ１〜Ｓ５で抽出されたエッジセグメントに基づいて、すべての矩形領域候補をリストアップする。矩形領域候補は、矩形領域を構成する可能性のあるエッジセグメントの集合で表される。
【００４６】
図１１は、矩形領域候補を抽出する処理を示すフローチャートである。このフローチャートは、上述のようにしてエッジ抽出部４によりエッジセグメントが抽出された後に、取得部５により実行される。なお、取得部５は、エッジ抽出４からエッジセグメント情報を受け取る。エッジセグメント情報は、エッジセグメントの個数を表す情報、各エッジセグメントの外接矩形の座標、各エッジセグメントが抽出された分解方向（dir0〜dir7）を表す情報を含む。
【００４７】
ステップＳ１１において、取得部５は、入力されるエッジセグメント情報からグラフを作成する。ステップＳ１２において、取得部５は、このグラフからクリークを抽出することにより、矩形領域候補として、矩形領域を構成する可能性のあるエッジセグメントの集合を求める。そして、ステップＳ１３において、取得部５は、所定の最大サイズよりも大きな矩形領域候補、および所定の最小サイズよりも小さい矩形領域候補を、ノイズとみなして除去する。これにより、最終的な矩形領域候補が得られる。そして、取得部５は、矩形領域候補の個数を表す情報、及び各矩形領域候補を構成するエッジセグメントの識別番号（すなわち、ラベル）を出力する。
【００４８】
（１）グラフの作成
取得部５は、ステップＳ１１において、入力されるエッジセグメント情報からグラフを作成する。グラフは、ノードおよびノード間を接続するパスから構成される。この例では、各ノードは、１つのエッジセグメントに対応する。また、ノード間を接続するパスは、対応する２つのエッジセグメントが矩形領域を構成する可能性を表す。
【００４９】
グラフは、各エッジセグメントについて、当該エッジセグメントおよび他の各エッジセグメントを利用してそれぞれ矩形領域を構成する条件を満たすか否かを判定することにより作成される。図１０（ｂ）に示す例では、エッジセグメントＥ１について、各エッジセグメントＥ２〜Ｅ１８と組み合わせることで、矩形領域を構成する条件を満たすか判定される。例えば、エッジセグメントＥ１、Ｅ２間の判定では、エッジセグメントＥ１が矩形領域の１つの辺に対応すると過程したときに、エッジセグメントＥ２が同じ矩形領域の任意の辺に対応するか否かがチェックされる。そして、取得部５は、すべてのエッジセグメントに組合せについてこの判定を行うことにより、グラフを作成する。
【００５０】
２つのエッジセグメントが矩形領域を構成するための条件の実施例を示す。ここでは、図５（ａ）に示す分解方向dir2のエッジセグメントを一例として説明する。なお、分解方向dir2のエッジセグメントは、矩形領域の右辺に対応する。
【００５１】
以下の説明においては、エッジセグメントＬの重心座標を(L.ave_x, L.ave_y)を表記する。エッジセグメントの重心座標は、エッジセグメントの形状を特定する外接矩形の４つの頂点座標から算出される。エッジセグメントの形状を特定する外接矩形については、エッジセグメントを抽出する際の重なり統合処理および統合処理に関連して説明した通りである。また、エッジセグメントの形状を特定する外接矩形の４つの頂点について、最大のｘ座標をL.max_x、最大のｙ座標をL.max_y、最小のｘ座標をL.min_x、最小のｙ座標をL.min_yと表記する。
【００５２】
取得部５は、仮想的な矩形領域を設定する。そして、分解方向dir2のエッジセグメントの１つが、その仮想的な矩形領域の右辺（または、その一部）に対応していると仮定する。図１２〜図１５に示す例では、仮想的な矩形領域２１が設定され、分解方向dir2のエッジセグメントＬ１について、矩形領域候補を構成する他のエッジセグメント（以下、探索対象エッジセグメント）が探索される。
【００５３】
探索対象エッジセグメント（Ｌ２）が分解方向dir0から抽出された場合、下記の条件を満たせば、取得部５は、エッジセグメントＬ１、Ｌ２が矩形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ２は、図１２に示すように、それぞれ矩形領域２１の右辺および下辺に対応する。
L1.ave_x >= L2.max_x かつ L1.max_y <= L2.ave_y
なお、２つ目の不等式において、L2.ave_yの代わりにL2.min_yを使用してもよい。
【００５４】
探索対象エッジセグメント（Ｌ３）が分解方向dir2から抽出された場合、下記の条件を満たせば、取得部５は、エッジセグメントＬ１、Ｌ３が矩形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ３は、図１３に示すように、いずれも矩形領域２１の右辺に対応する。なお、ＴＨ１は、予め決められた所定の閾値である。
|L1.ave_x - L3.ave_x| < TH1
【００５５】
探索対象エッジセグメント（Ｌ４）が分解方向dir4から抽出された場合、下記の条件を満たせば、取得部５は、エッジセグメントＬ１、Ｌ４が矩形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ４は、図１４に示すように、それぞれ矩形領域２１の右辺および上辺に対応する。
L1.ave_x >= L4.max_x かつ L1.min_y >= L4.ave_y
なお、２つ目の不等式において、L4.ave_yの代わりにL4.max_yを使用してもよい。
【００５６】
探索対象エッジセグメント（Ｌ５）が分解方向dir6から抽出された場合、下記の条件を満たせば、取得部５は、エッジセグメントＬ１、Ｌ５が矩形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ５は、図１５に示すように、それぞれ矩形領域２１の右辺および左辺に対応する。
L1.ave_x >= L5.ave_x
【００５７】
探索対象エッジセグメントが分解方向dir0、dir2、dir4、dir6以外の分解方向から抽出された場合は、取得部５は、エッジセグメントＬ１およびその探索対象エッジセグメントが矩形領域を構成する可能性が無いと判定する。なお、ここでは、図１２〜図１５を参照しながら、一方のエッジセグメントが矩形領域の右辺である場合の判定条件を説明したが、一方のエッジセグメントが矩形領域の左辺、上辺、または下辺である場合の判定条件も、同様に得ることができる。
【００５８】
このように、取得部５は、各エッジセグメントについて他のエッジセグメントと共に矩形領域を構成する可能性があるか判定する。したがって、上記判定により作成されるグラフは、抽出されたエッジセグメントの総数がｎである場合、ｎ×ｎ行列で表される。この場合、取得部５は、ｉ番目のエッジセグメントとｊ番目のエッジセグメントとの組合せが矩形領域を構成するための条件を満たすときは、この行列の(i,j)成分および(j,i)成分にそれぞれ１を設定し、この組合せが上記条件を満たさないときは、この行列の(i,j)成分および(j,i)成分にそれぞれ０を設定する。作成されたグラフの一例を図１６（ａ）に示す。
【００５９】
（２）クリークの抽出
取得部５は、上述のようにして作成したグラフからクリークを抽出する。クリークは、グラフの極大完全部分グラフに相当する。グラフが完全であるとは、グラフを構成する全てのノードがそれぞれ自分以外の全てのノードとパスで接続されている状態を意味する。また、極大完全部分グラフは、完全な部分グラフであって、且つ、その部分グラフを真に包含する他の完全部分グラフが存在しない部分グラフを意味する。したがって、クリークを構成するエッジセグメントの集合は、自分以外のエッジセグメントのすべてと互いに矩形領域を構成する可能性がある。図１６（ａ）に示すグラフから抽出されたクリークの実施例を図１６（ｂ）に示す。なお、図１６（ｂ）において、「−１」は、クリークの構成要素の終了を意味している。
【００６０】
図１６（ｂ）に示す実施例において、例えば、クリーク１は、矩形領域を構成する可能性のあるエッジセグメントの集合として、Ｌ２５、Ｌ２４、Ｌ２３、Ｌ１８、Ｌ１を要素として有している。この場合、Ｌ２５、Ｌ２４、Ｌ２３、Ｌ１８、Ｌ１の中から任意の２つのエッジセグメントを抽出すると、抽出された２つのエッジセグメントは、常に、上述の矩形領域を構成するための条件を満たすことになる。
【００６１】
このように、取得部５は、エッジセグメント情報からグラフを作成し、さらにそのグラフからクリークを抽出する。ここで、各クリークは、矩形領域を構成する可能性のあるエッジセグメントの集合である。すなわち、取得部５は、複数のエッジセグメントの集合で表現される、１または複数の矩形領域候補を取得する。
【００６２】
＜ステップＳ７：矩形領域候補の組合せの取得＞
取得部５は、ステップＳ６で抽出した矩形領域候補に基づいて、矩形領域候補の組合せをリストアップする。矩形領域候補の組合せは、両立可能な矩形領域候補の集合で表される。
【００６３】
図１７は、矩形領域候補の組合せを取得する処理を示すフローチャートである。このフローチャートは、上述のようにして矩形領域候補が抽出された後に、取得部５により実行される。このとき、取得部５は、矩形領域候補情報を使用する。矩形領域候補情報は、矩形領域候補の個数を表す情報、各矩形領域候補を識別する番号、および各矩形領域候補を構成するエッジセグメントの番号を含む。
【００６４】
ステップＳ２１において、取得部５は、矩形領域候補情報からグラフを作成する。ステップＳ２２において、取得部５は、このグラフからクリークを抽出することにより、矩形領域候補の組合せを求める。そして、取得部５は、矩形領域候補の組合せの個数を表す情報、及び各矩形領域候補の組合せを構成する矩形領域候補の識別番号を出力する。
【００６５】
（１）グラフの作成
取得部５は、ステップＳ２１において、矩形領域候補情報からグラフを作成する。グラフは、上述したように、ノードおよびノード間を接続するパスから構成される。ただし、矩形領域候補の組合せを得る場合、各ノードは、１つの矩形領域候補に対応する。また、ノード間を接続するパスは、対応する２つの矩形領域候補が互いに両立する可能性を表す。
【００６６】
グラフは、各矩形領域候補について、当該矩形領域候補および他の各矩形領域候補が互いに両立する条件を満たすか否かを判定することにより作成される。２つの矩形領域候補が両立する条件は、例えば、下記の２つである。
条件１：一方の矩形領域候補が他方の矩形領域候補によって完全に包含されていない
条件２：２つの矩形領域候補が同じエッジセグメントを共有していない
【００６７】
たとえば、矩形領域候補１が矩形領域候補２の中に形成されているものとする。この場合、矩形領域候補１は、矩形領域候補２に完全に包含されているので、条件１を満たしていない。すなわち、矩形領域候補１、２は両立しないと判定される。
【００６８】
また、矩形領域候補１がエッジエレメントＬ１、Ｌ２、Ｌ３から構成され、矩形領域候補３がエッジエレメントＬ３、Ｌ５、Ｌ６から構成されるものとするこの場合、矩形領域候補１、３は、エッジエレメントＬ３を共有しているので、条件２を満たしていない。すなわち、矩形領域候補１、３は両立しないと判定される。
【００６９】
このように、取得部５は、各矩形領域候補について他の矩形領域候補と両立できるか否かを判定する。したがって、上記判定により作成されるグラフは、抽出された矩形領域候補の総数がｍである場合、ｍ×ｍ行列で表される。この場合、取得部５は、ｉ番目の矩形領域候補およびｊ番目の矩形領域候補が両立し得るときは、この行列の(i,j)成分および(j,i)成分にそれぞれ１を設定し、これらの矩形領域候補が両立できないときは、この行列の(i,j)成分および(j,i)成分にそれぞれ０を設定する。作成されたグラフの一例を図１８（ａ）に示す。
【００７０】
（２）クリークの抽出
取得部５は、上述のようにして作成したグラフからクリークを抽出する。クリークは、上述したように、グラフの極大完全部分グラフに相当する。したがって、各クリークは、それぞれ、互いに両立し得る矩形領域候補の集合である。図１８（ａ）に示すグラフから抽出されたクリークの実施例を図１８（ｂ）に示す。
【００７１】
このように、取得部５は、矩形領域候補情報からグラフを作成し、さらにそのグラフからクリークを抽出する。ここで、各クリークは、両立し得る矩形領域候補の集合である。すなわち、取得部５は、１または複数の矩形領域候補の集合で表現される、１または複数の矩形領域候補の組合せを取得する。
【００７２】
＜ステップＳ８〜Ｓ９：評価および抽出＞
算出部６は、両立可能な矩形領域候補の組合せのそれぞれに対して、再現率および適合率を算出し、さらに再現率および適合率に基づいて決まる評価値を算出する。評価値は、いわゆるＦ値である。そして、画像抽出部７は、最も評価値の高い矩形領域候補の組合せを特定し、その組合せに含まれる矩形領域の画像を抽出する。
【００７３】
（１）再現率の計算
算出部６は、矩形領域候補の組合せのそれぞれについて再現率を計算する。再現率は、矩形領域候補の組合せが抽出されたエッジセグメントによってどれだけ説明されているかを表す。この実施例では、再現率は、矩形領域候補の組合せに含まれている各矩形領域の外周が、抽出されたエッジセグメントによりカバーされている程度または割合を表す。
【００７４】
（２）適合率の計算
算出部６は、矩形領域候補の組合せのそれぞれについて適合率を計算する。適合率は、矩形領域候補の組合せが、抽出されたエッジセグメントをどれだけ説明できるかを表す。この実施例では、適合率は、エッジ抽出部４により抽出されたすべてのエッジセグメントのうち、矩形領域候補の組合せに含まれている矩形領域の辺として使用されている程度または割合を表す。
【００７５】
（３）Ｆ値
算出部６は、矩形領域候補の組合せのそれぞれについてＦ値を計算する。Ｆ値は、再現率および適合率を考慮した評価尺度であり、再現率および適合率の調和平均（調和平均に定数を乗算した値を含む）により得られる。すなわち、再現率をＲで表し、適合率をＰで表すとき、Ｆ値は下式で計算される。
Ｆ値＝２×Ｒ×Ｐ／（Ｒ＋Ｐ）
【００７６】
（４）画像抽出
画像抽出部７は、最も評価値の高い矩形領域候補の組合せを特定し、その組合せに含まれる１または複数の矩形領域の画像を抽出する。抽出された画像データは、抽出結果格納部８に格納される。そして、抽出結果格納部８に格納された抽出画像データは、例えばユーザからの指示に応じて、出力部９により出力される。
【００７７】
＜実施例＞
以下の実施例では、図１９に示すように、入力画像から９個のエッジセグメントＬ１〜Ｌ９が抽出されているものとする。エッジセグメントの抽出は、図２に示すフローチャートのステップＳ１〜Ｓ５により実現される。
【００７８】
図１９において、各エッジセグメントＬ１〜Ｌ９に対して「方向」および「長さ」が表記されている。「方向」は、ソーベルフィルタの出力に基づいて算出される角度に対応しており、この実施例では、図５（ａ）に示すdir0〜dir7で表される。「長さ」は、エッジセグメントを形成する矩形領域の長辺の長さであり、例えば、画素数で表される。
【００７９】
取得部５は、まず、エッジセグメントＬ１〜Ｌ９を参照し、矩形領域候補を取得する。矩形領域候補を取得するためには、取得部５は、エッジセグメントＬ１〜Ｌ９から抽出される任意の２個のエッジセグメントが矩形領域を構成する可能性を有するか判定する。このとき、取得部５は、すべての組合せについて矩形領域を構成する可能性を有しているか否かを判定する。この結果、図２０（ａ）に示すグラフが作成される。
【００８０】
一例として、エッジセグメントＬ３について説明する。すなわち、エッジセグメントＬ３および他の各エッジセグメントのペアが、それぞれ矩形領域を構成する可能性があるか否かが判定される。なお、エッジセグメントＬ３の方向は、dir2である。
【００８１】
（１）エッジセグメントＬ１
エッジセグメントＬ１の方向は、dir4である。よって、エッジセグメントＬ３、Ｌ１が矩形領域を構成するためには、下記の条件を満たす必要がある。
L3.ave_x >= L1.max_x かつ L3.min_y >= L1.ave_y
ここで、エッジセグメントＬ３はエッジセグメントＬ１よりも右側に位置しており、エッジセグメントＬ３のＸ方向の重心座標は、エッジセグメントＬ１のＸ方向の最大座標よりも大きい。また、エッジセグメントＬ３はエッジセグメントＬ１よりも下側に位置しており、エッジセグメントＬ３のＹ方向の最小座標は、エッジセグメントＬ１のＹ方向の重心座標よりも大きい。すなわち、上記２つの条件は満たされており、エッジセグメントＬ３、Ｌ１は矩形領域を構成することができる。したがって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ１に対して「１」が設定される。
【００８２】
（２）エッジセグメントＬ２
エッジセグメントＬ２の方向は、エッジセグメントＬ１と同じであり、dir4である。また、エッジセグメントＬ３、Ｌ２間の位置関係は、エッジセグメントＬ３、Ｌ１間の位置関係と同じである。したがって、エッジセグメントＬ３、Ｌ２は矩形領域を構成することができ、エッジセグメントＬ３、Ｌ２に対して「１」が設定される。
【００８３】
（３）エッジセグメントＬ４
エッジセグメントＬ４の方向も、エッジセグメントＬ１と同じであり、dir4である。よって、エッジセグメントＬ３、Ｌ４が矩形領域を構成するための条件は、上述したエッジセグメントＬ３、Ｌ１についての条件と類似しており、下記の通りである。
L3.ave_x >= L4.max_x かつ L3.min_y >= L4.ave_y
ところが、エッジセグメントＬ３はエッジセグメントＬ４よりも左側に位置しており、エッジセグメントＬ３のＸ方向の重心座標は、エッジセグメントＬ４のＸ方向の最大座標よりも小さい。すなわち、上記条件は満たされず、エッジセグメントＬ３、Ｌ４は矩形領域を構成できない。したがって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ４に対して「０」が設定される。
【００８４】
（４）エッジセグメントＬ５
エッジセグメントＬ５の方向は、エッジセグメントＬ３と同じであり、dir2である。よって、エッジセグメントＬ３、Ｌ５が矩形領域を構成するためには、下記の条件を満たす必要がある。
|L3.ave_x - L5.ave_x| < TH1
閾値ＴＨ１は、２つのエッジセグメントがほぼ同一の直線上に配置されるような小さい値であるものとする。ここで、エッジセグメントＬ３はエッジセグメントＬ５よりも左側に位置しており、エッジセグメントＬ３のＸ方向の重心座標とエッジセグメントＬ５のＸ方向の重心座標との差分は、閾値ＴＨ１よりも大きい。すなわち、上記条件は満たされず、エッジセグメントＬ３、Ｌ５は矩形領域を構成できない。よって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ５に対して「０」が設定される。
【００８５】
（５）エッジセグメントＬ６
エッジセグメントＬ６の方向は、dir0である。よって、エッジセグメントＬ３、Ｌ６が矩形領域を構成するためには、下記の条件を満たす必要がある。
L3.ave_x >= L6.max_x かつ L3.max_y <= L6.ave_y
ここで、エッジセグメントＬ３はエッジセグメントＬ６の右先端部よりも左側に位置しており、エッジセグメントＬ３のＸ方向の重心座標は、エッジセグメントＬ６のＸ方向の最大座標よりも小さい。すなわち、上記条件は満たされず、エッジセグメントＬ３、Ｌ６は矩形領域を構成できない。よって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ６に対して「０」が設定される。
【００８６】
（６）エッジセグメントＬ７〜Ｌ８
エッジセグメントＬ７の方向も、dir0である。よって、エッジセグメントＬ３、Ｌ７が矩形領域を構成するためには、下記の条件を満たす必要がある。
L3.ave_x >= L7.max_x かつ L3.max_y <= L7.ave_y
ここで、エッジセグメントＬ３はエッジセグメントＬ７の右先端部よりも右側に位置しており、エッジセグメントＬ３のＸ方向の重心座標は、エッジセグメントＬ７のＸ方向の最大座標よりも大きい。また、エッジセグメントＬ３はエッジセグメントＬ７よりも上側に位置しており、エッジセグメントＬ３のＹ方向の最大座標は、エッジセグメントＬ７のＹ方向の重心座標よりも小さい。すなわち、上記２つの条件は満たされており、エッジセグメントＬ３、Ｌ７は矩形領域を構成することができる。したがって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ７に対して「１」が設定される。エッジセグメントＬ３、Ｌ８に対しても同様に「１」が設定される。
【００８７】
（７）エッジセグメントＬ９
エッジセグメントＬ９の方向は、dir6である。よって、エッジセグメントＬ３、Ｌ９が矩形領域を構成するためには、下記の条件を満たす必要がある。
L3.ave_x >= L9.ave_x
ここで、エッジセグメントＬ３はエッジセグメントＬ９の右側に位置しており、エッジセグメントＬ３のＸ方向の重心座標は、エッジセグメントＬ９のＸ方向の重心座標よりも大きい。すなわち、上記条件は満たされており、エッジセグメントＬ３、Ｌ９は矩形領域を構成することができる。したがって、図２０（ａ）に示すグラフにおいて、エッジセグメントＬ３、Ｌ９に対して「１」が設定される。
【００８８】
同様に、取得部５は、すべてのエッジセグメントのペアについて矩形領域を構成し得るか判定する。この結果、図２０（ａ）に示すグラフが作成される。
【００８９】
続いて、取得部５は、上述のようにして作成したグラフからクリークを抽出する。すなわち、図２０（ａ）に示すグラフから極大完全部分グラフが抽出される。この結果、図２０（ｂ）に示す４つのクリークＣ１〜Ｃ４が抽出される。
【００９０】
各クリークは、それぞれ１つの矩形領域候補を表す。例えば、クリークＣ１は、５個のエッジセグメントＬ１、Ｌ２、Ｌ３、Ｌ８、Ｌ９が外周（すなわち、辺）の構成要素として使用される矩形領域候補を表す。このように、この実施例では、４個の矩形領域候補が得られる。
【００９１】
図２１（ａ）〜図２１（ｄ）は、それぞれ、クリークＣ１〜Ｃ４に相当する矩形領域候補を示している。例えば、図２１（ａ）において破線で表されている矩形領域候補ＲＥＣ１は、クリークＣ１の要素であるエッジセグメントＬ１、Ｌ２、Ｌ３、Ｌ８、Ｌ９によって形成されている。同様に、図２１（ｂ）〜図２１（ｄ）においてそれぞれ破線で表されている矩形領域候補ＲＥＣ２〜ＲＥＣ４は、クリークＣ２〜Ｃ４の要素によって形成されている。
【００９２】
なお、この実施例では、取得部５は、要素として３以上のエッジセグメントを有するクリークのみを抽出する。すなわち、極大完全部分グラフであっても、要素数（すなわち、エッジセグメントの個数）が２以下である場合は、取得部５は、そのようなクリークを抽出しない。例えば、エッジセグメントＬ４、Ｌ７は、矩形領域を構成する可能性がある。ところが、２つのエッジセグメントで矩形領域の形状を特定することは困難である。したがって、エッジセグメントＬ４、Ｌ７は、クリークとして抽出されない。エッジセグメントＬ４、Ｌ８も同様に、クリークとして抽出されない。ただし、取得部５は、要素数が２であるクリークを抽出するようにしてもよい。
【００９３】
さらに、取得部５は、上述のようにして得られる矩形領域候補ＲＥＣ１〜ＲＥＣ４について、矩形領域候補どうしの組合せが両立可能であるか否かを判定する。ここで、各エッジセグメントは、それぞれ１つの矩形領域候補に属するものであって、複数の矩形領域候補に共有されることはない。
【００９４】
例えば、矩形領域候補ＲＥＣ１に属する要素はエッジセグメントＬ１、Ｌ２、Ｌ３、Ｌ８、Ｌ９であり、矩形領域候補ＲＥＣ３に属する要素はエッジセグメントＬ１、Ｌ２、Ｌ５、Ｌ６、Ｌ９である。すなわち、矩形領域候補ＲＥＣ１、ＲＥＣ３は、エッジセグメントＬ１、Ｌ２、Ｌ９を共有している。したがって、矩形領域候補ＲＥＣ１、ＲＥＣ３が両立することはない。同様に、矩形領域候補ＲＥＣ１、ＲＥＣ４、矩形領域候補ＲＥＣ２、ＲＥＣ３、矩形領域候補ＲＥＣ３、ＲＥＣ４もそれぞれ両立することはない。
【００９５】
換言すれば、矩形領域候補ＲＥＣ１〜ＲＥＣ４においては、矩形領域候補ＲＥＣ１、ＲＥＣ２の組合せ、および矩形領域候補ＲＥＣ２、ＲＥＣ４の組合せのみが両立し得る。図２２（ａ）は、上記判定結果により作成されるグラフを示している。
【００９６】
続いて、取得部５は、上述のようにして作成したグラフからクリークを抽出する。すなわち、図２２（ａ）に示すグラフから極大完全部分グラフが抽出される。この結果、図２２（ｂ）に示す３つのクリークＣ１１〜Ｃ１３が抽出される。
【００９７】
各クリークは、それぞれ１つの矩形領域候補の組合せを表す。例えば、クリークＣ１１は、２つの矩形領域候補ＲＥＣ１、ＲＥＣ２が存在する画像を表す。なお、この実施例では、要素が１つのみである部分グラフであっても、その要素が他のクリークに属していないときは、１つのクリークとして抽出される。例えば、クリークＣ１２の要素は、矩形領域候補ＲＥＣ３のみである。
【００９８】
ここで、例えば、矩形領域候補ＲＥＣ１は、クリークＣ１１に属する。このため、矩形領域候補ＲＥＣ１のみを要素として有する部分グラフは、極大グラフではない。よって、矩形領域候補ＲＥＣ１のみを要素として有する部分グラフは、クリークとして抽出されることはない。矩形領域候補ＲＥＣ２、ＲＥＣ４についても同様である。
【００９９】
図２３（ａ）〜図２３（ｃ）は、それぞれ、クリークＣ１１〜Ｃ１３に相当する矩形領域候補の組合せを示している。図２３（ａ）は、エッジセグメントＬ１、Ｌ２、Ｌ３、Ｌ８、Ｌ９を要素として有する矩形領域候補ＲＥＣ１、及びエッジセグメントＬ４、Ｌ５、Ｌ６を要素として有する矩形領域候補ＲＥＣ２が存在する画像を示す。図２３（ｂ）は、エッジセグメントＬ１、Ｌ２、Ｌ５、Ｌ６、Ｌ９を要素として有する矩形領域候補ＲＥＣ３が存在する画像を示す。図２３（ｃ）は、エッジセグメントＬ４、Ｌ５、Ｌ６を要素として有する矩形領域候補ＲＥＣ２、及びエッジセグメントＬ１、Ｌ２、Ｌ３、Ｌ７、Ｌ９を要素として有する矩形領域候補ＲＥＣ４が存在する画像を示す。
【０１００】
また、図２３（ａ）〜図２３（ｃ）においては、各矩形領域候補の形状を示している。例えば、矩形領域候補ＲＥＣ１のサイズは「８０×６０」である。この表記は、矩形領域候補ＲＥＣ１のＸ方向の長さが「８０」であり、Ｙ方向の長さが「６０」であることを表している。他の矩形領域候補ＲＥＣ２〜ＲＥＣ４についても同様である。
【０１０１】
算出部６は、図２３（ａ）〜図２３（ｃ）に示す矩形領域候補の組合せのそれぞれについて、再現率Ｒおよび適合率Ｐを計算し、さらに再現率Ｒおよび適合率ＰからＦ値を計算する。
【０１０２】
再現率Ｒは、「矩形領域候補を構成するエッジセグメントの長さの和／矩形領域候補の周囲長の和」で算出される。また、適合率Ｐは、「矩形領域候補を構成するエッジセグメントの長さの和／抽出されている全てのエッジセグメントの長さの和」で算出される。そして、Ｆ値は、「２ＲＰ／（Ｒ＋Ｐ）」で算出される。なお、矩形領域候補ＲＥＣ１、ＲＥＣ２、ＲＥＣ３、ＲＥＣ４の周囲長は、図２３（ａ）〜図２３（ｃ）に示すように、それぞれ「２８０」「２８０」「４８０」「３２０」である。また、エッジ抽出部４によって抽出されているすべてのエッジセグメントＬ１〜Ｌ９の長さの和は、図１９に示すように、「４１１」である。
【０１０３】
図２３（ａ）に示す組合せについての再現率Ｒ、適合率Ｐ、Ｆ値は、以下の通り算出される。
再現率Ｒ＝{(35+25+20+55+55)+(60+58+78)}/(280+280)=0.689
適合率Ｐ＝{(35+25+20+55+55)+(60+58+78)}/411=0.939
Ｆ値＝2*0.689*0.939/(0.689+0.939)=0.795
【０１０４】
図２３（ｂ）に示す組合せについての再現率Ｒ、適合率Ｐ、Ｆ値は、以下の通り算出される。
再現率Ｒ＝(35+25+58+78+55)/480=0.523
適合率Ｐ＝(35+25+58+78+55)/411=0.611
Ｆ値＝2*0.523*0.611/(0.523+0.611)=0.564
【０１０５】
図２３（ｃ）に示す組合せについての再現率Ｒ、適合率Ｐ、Ｆ値は、以下の通り算出される。
再現率Ｒ＝{(60+58+78)+(35+25+20+25+55)}/(280+320)=0.593
適合率Ｐ＝{(60+58+78)+(35+25+20+25+55)}/411=0.866
Ｆ値＝2*0.593*0.866/(0.593+0.866)=0.704
【０１０６】
画像抽出部７は、図２３（ａ）〜図２３（ｃ）に示す矩形領域候補の組合せから、最もＦ値の高い組合せを特定する。この実施例では、図２３（ａ）に示す矩形領域候補の組合せについてのＦ値が最も高い。よって、画像抽出部７は、図２３（ａ）に示す矩形領域候補ＲＥＣ１、ＲＥＣ２に対応する画像を抽出して出力する。
【０１０７】
＜他の幾何学的図形の抽出＞
上述の実施形態では、画像認識装置１は、入力画像から矩形の画像領域を抽出する。ただし、画像認識装置１は、矩形の画像領域を抽出する構成に限定されるものではなく、他の幾何学的図形に対応する画像領域を抽出してもよい。以下では、入力画像から正三角形の画像領域を抽出する構成および方法を説明する。
【０１０８】
入力画像から正三角形の画像領域を抽出する方法は、図２に示すフローチャートの手順とほぼ同じである。ただし、正三角形の画像領域を抽出する場合、ステップＳ４およびステップＳ６の処理は、矩形領域を抽出する処理と異なる。
【０１０９】
正三角形の画像領域を抽出する場合、エッジ抽出部４は、図２４に示すように、２値化エッジ画像を２４方向dir0〜dir23に分解する。各分解方向に割り当てられる角度範囲は、それぞれ１５度である。
【０１１０】
取得部５は、エッジ抽出部４により得られるエッジセグメントを利用して構成される正三角形領域候補を抽出する。ここで、任意の２つのエッジセグメントが正三角形領域を構成できるか否かを判定する条件を説明する。以下の説明では、一方のエッジセグメントＬ１の方向がdir0であるものとする。
【０１１１】
探索対象エッジセグメント（Ｌ２）が分解方向dir0から抽出された場合、下記の条件を満たすときは、取得部５は、エッジセグメントＬ１、Ｌ２が正三角形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ２は、図２５に示すように、いずれも正三角形領域３１の下辺に対応する。
|L1.ave_y - L2.ave_y| < TH1
【０１１２】
探索対象エッジセグメント（Ｌ３）が分解方向dir8から抽出された場合、下記の条件を満たすときは、取得部５は、エッジセグメントＬ１、Ｌ３が正三角形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ３は、図２６に示すように、それぞれ正三角形領域３１の下辺および右斜め上辺に対応する。「sqrt」は、平方根を表す。
L1.ave_x <= (L1.ave_y - L3.ave_y)/(sqrt(3)) + L3.ave_x
【０１１３】
探索対象エッジセグメント（Ｌ４）が分解方向dir16から抽出された場合、下記の条件を満たすときは、取得部５は、エッジセグメントＬ１、Ｌ４が正三角形領域を構成する可能性があると判定する。この場合、エッジセグメントＬ１およびＬ４は、図２７に示すように、それぞれ正三角形領域３１の下辺および左斜め上辺に対応する。
L1.min_x >= -(L1.ave_y - L4.ave_y)/(sqrt(3)) + L4.ave_x
【０１１４】
探索対象エッジセグメントが分解方向dir0、dir8、dir16以外の分解方向から抽出された場合は、取得部５は、エッジセグメントＬ１およびその探索対象エッジセグメントが正三角形領域を構成する可能性が無いと判定する。なお、ここでは、図２５〜図２７を参照しながら、一方のエッジセグメントが正三角形領域の下辺である場合の判定条件を説明したが、一方のエッジセグメントが正三角形領域の右斜め上辺または左斜め上辺である場合の判定条件も、同様に得ることができる。
【０１１５】
この後、画像認識装置１は、両立可能な正三角形領域候補の組合せを取得し、さらに各組み合わせについてＦ値を算出する。そして、画像認識装置１は、Ｆ値の最も高い組合せに属する１または複数の正三角形領域候補の画像を抽出する。
【０１１６】
＜画像認識装置のハードウェア構成＞
図２８は、画像認識装置１を実現するためのコンピュータシステムのハードウェア構成を示す図である。コンピュータシステム１００は、図２８に示すように、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、および入出力装置１０７を備える。ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、入出力装置１０７は、例えば、バス１０８を介して互いに接続されている。
【０１１７】
ＣＰＵ１０１は、メモリ１０２を利用して画像認識プログラムを実行することにより、エッジ抽出部４、取得部５、算出部６、画像抽出部７の一部または全部の機能を提供することができる。このとき、ＣＰＵ１０１は、図２に示すフローチャートの処理を記述したプログラムを実行することにより、エッジ抽出部４、取得部５、算出部６、画像抽出部７の機能を提供してもよい。
【０１１８】
メモリ１０２は、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含んで構成される。記憶装置１０３は、例えばハードディスクであり、実施形態の画像認識に係わる画像認識プログラムを格納する。なお、記憶装置１０３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置１０３は、外部記録装置であってもよい。画像データ格納部２および抽出結果格納部８は、メモリ１０２および／または記憶装置１０３を利用して実現される。
【０１１９】
読み取り装置１０４は、ＣＰＵ１０１の指示に従って着脱可能記録媒体１０５にアクセスする。着脱可能記録媒体１０５は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。通信インタフェース１０６は、ＣＰＵ１０１の指示に従ってネットワークを介してデータを送受信する。入出力装置１０７は、例えば、ユーザからの指示を受け付けるデバイス、デジタルカメラ等から画像データを受信するインタフェース、認識結果を出力するインタフェース等に相当する。
【０１２０】
実施形態の画像認識プログラムは、例えば、下記の形態でコンピュータシステム１００に提供される。
（１）記憶装置１０３に予めインストールされている。
（２）着脱可能記録媒体１０５により提供される。
（３）プログラムサーバ１１０から提供される。
なお、実施形態の画像認識方法は、複数のコンピュータを利用して上述の処理を提供してもよい。この場合、あるコンピュータが、上述の処理の一部を、ネットワークを介して他のコンピュータに依頼し、その処理結果を受け取るようにしてもよい。
【０１２１】
さらに、実施形態の画像認識装置の一部は、ハードウェアで実現してもよい。或いは、実施形態の画像認識装置は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
【０１２２】
＜実施形態の効果＞
このように、実施形態の画像認識装置によれば、入力画像において抽出されるエッジセグメントを利用して、両立可能な、所定の幾何学的形状の対象物に対応する領域候補の組合せがすべて抽出される。よって、対象物が互いに重なり合っている場合、或いは、抽出されたエッジセグメントが途切れている場合であっても、正しい対象物（すなわち、実際の対象物に対応する領域）は、上述の領域候補の組合せの中に含まれている。よって、実施形態の画像認識装置によれば、入力画像を認識する際に、対象物が抽出されずに漏れてしまう可能性は低い。
【０１２３】
また、実施形態の画像認識装置によれば、抽出すべき領域候補の組合せのそれぞれについて、エッジセグメントおよび領域候補に関する再現率および適合率に基づいて決まる評価値が算出される。そして、この評価値に従って抽出すべき領域が決定される。これにより、複数の領域候補の中から、正しい１または複数の抽出すべき領域を高い精度で特定できる。したがって、対象物が互いに重なり合っている場合、或いは、対象物と背景の色が類似している場合であっても、対象物の画像を精度よく抽出できる。
【０１２４】
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。なお、本発明は、以下の付記に限定されるものではない。
【０１２５】
（付記１）
画像からエッジセグメントを抽出するエッジ抽出部と、
前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得する取得部と、
前記取得部により取得された各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出する算出部と、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する画像抽出部と、
を有する画像認識装置。
（付記２）
前記算出部は、前記図形の候補に利用されるエッジセグメントの長さの和を、前記図形の候補の外周の長さの和で除算することで前記再現率を算出し、前記図形の候補に利用されるエッジセグメントの長さの和を、前記エッジ抽出部により抽出された全てのエッジセグメントの長さの和で除算することで前記適合率を算出する
ことを特徴とする付記１に記載の画像認識装置。
（付記３）
前記評価値は、前記再現率および前記適合率の調和平均である
ことを特徴とする付記１または２に記載の画像認識装置。
（付記４）
前記取得部は、前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される幾何学的な図形の候補を抽出し、抽出した図形の候補どうしの組合せの中で、図形の候補が両立し得る組合せを取得する
ことを特徴とする付記１〜３のいずれか１つに記載の画像認識装置。
（付記５）
前記取得部は、抽出した図形の候補どうしの組合せの中で、包含関係にない図形の候補の組合せを取得する
ことを特徴とする付記４に記載の画像認識装置。
（付記６）
前記取得部は、抽出した図形の候補どうしの組合せの中で、前記エッジセグメントが複数の図形の候補により共有されることのない図形の候補の組合せを取得する
ことを特徴とする付記４に記載の画像認識装置。
（付記７）
画像からエッジセグメントを抽出するエッジ抽出部と、
前記エッジ抽出部により抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを抽出し、前記組合せの中から、２以上の図形の候補が包含関係を有しておらず、且つ、２以上の図形の候補が同じエッジセグメント共有していない組合せを取得する取得部と、
前記取得部により取得された各組合せについて、前記抽出されたエッジセグメントに対する前記図形の候補の妥当性を表す評価値を算出する算出部と、
前記算出部により算出される評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する画像抽出部と、
を有する画像認識装置。
（付記８）
コンピュータが、
画像からエッジセグメントを抽出し、
前記抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得し、
前記各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出し、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する
ことを特徴とする画像認識方法。
（付記９）
画像からエッジセグメントを抽出し、
前記抽出されたエッジセグメントを利用して形成される予め決められた幾何学的な図形の候補の組合せを取得し、
前記各組合せについて、前記図形の候補の外周が前記抽出されたエッジセグメントによってカバーされる程度を表す再現率、および、前記抽出されたエッジセグメントが前記図形の候補として利用される程度を表す適合率をそれぞれ算出し、
前記再現率および前記適合率に基づいて決まる評価値が最大となる組合せに含まれる図形の候補に対応する領域を抽出する
処理をコンピュータに実行させるための画像認識プログラム。
【符号の説明】
【０１２６】
１  画像認識装置
３  処理部
４  エッジ抽出部
５  取得部
６  算出部
７  画像抽出部
【図１】
0005712859.tif 000002
【図２】
0005712859.tif 000003
【図３】
0005712859.tif 000004
【図５】
0005712859.tif 000005
【図６】
0005712859.tif 000006
【図８】
0005712859.tif 000007
【図１１】
0005712859.tif 000008
【図１２】
0005712859.tif 000009
【図１３】
0005712859.tif 000010
【図１４】
0005712859.tif 000011
【図１５】
0005712859.tif 000012
【図１６】
0005712859.tif 000013
【図１７】
0005712859.tif 000014
【図１８】
0005712859.tif 000015
【図２０】
0005712859.tif 000016
【図２１】
0005712859.tif 000017
【図２２】
0005712859.tif 000018
【図２３】
0005712859.tif 000019
【図２４】
0005712859.tif 000020
【図２５】
0005712859.tif 000021
【図２６】
0005712859.tif 000022
【図２７】
0005712859.tif 000023
【図２８】
0005712859.tif 000024
【図４】
0005712859.tif 000025
【図７】
0005712859.tif 000026
【図９】
0005712859.tif 000027
【図１０】
0005712859.tif 000028
【図１９】
0005712859.tif 000029