説明

画像認識装置、画像認識方法及び画像認識用コンピュータプログラム

【課題】画像に写っている被写体に関する情報が無くても、画像上の所定の領域の窪みを検出可能な画像認識装置を提供する。
【解決手段】画像認識装置は、画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出する輪郭抽出部(61)と、複数の輪郭点のうち、輪郭線の一部を、所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出する短絡経路検出部(64)と、第1の輪郭点と第2の輪郭点間の輪郭線に沿った経路と短絡経路とで囲まれた所定の領域に含まれない部分を、短絡経路の長さまたは輪郭線に沿った経路の長さに基づいて窪み部分か否か判定する窪み判定部(65)とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、画像上に写っている所定の領域の窪み部分を検出する画像認識装置、画像認識方法及び画像認識用コンピュータプログラムに関する。
【背景技術】
【0002】
従来より、画像に写っている被写体を検出する技術が研究されている。画像認識装置は、被写体を検出できれば、その被写体に応じた様々な処理をその画像に対して適用できる。例えば、画像認識装置は、被写体が見易くなるように、被写体に応じて画像を階調変換したり、画像から被写体が写っている領域をトリミングできる。
【0003】
被写体を正確に検出するためには、被写体となる物が事前に分かっていることが好ましい。被写体となる物が分かっていれば、画像認識装置は、画像から被写体を検出するためにその物の特徴、例えば、形状、色、テクスチャといった情報を利用できるためである。しかしながら、実際には、画像認識装置は、画像に写っている被写体について未知であることがある。このような場合、画像認識装置は、被写体がどのような物体であるかを認識することは困難である。また画像認識装置は、画像に写っている個々の被写体の範囲を識別することも困難である。
【0004】
一方、画像から被写体を検出するために、特定の形状、例えば、一部が窪んだ形状を持つ領域を検出する技術が提案されている(例えば、特許文献1〜5を参照)。例えば、特許文献1に開示された医療診断用画像処理装置は、所望器官の輪郭に対応する境界線を輪郭線として抽出し、その輪郭線の形状を修正して所望器官の輪郭線として抽出する。この画像処理装置は、輪郭線の形状を修正する際に、二つの凸変曲点間に凹変曲点が存在すると、二つの凸変曲点で挟まれた部分をくぼみ部分として除去する。また特許文献2に開示された臓器容積計測装置は、臓器境界上の6点を初期点として指定し、指定された初期点に基づいて境界抽出を実行し、その境界抽出結果から臓器断面ごとに順に境界存在範囲を設定してその内部における境界を抽出する。この装置は、境界を抽出する際、隣接する複数の境界点間の位置関係によって臓器境界のくぼみ部分を検出する。
【0005】
また特許文献3に開示された画像解析装置は、対象領域を含む画像から、対象領域の形状がくびれている部分の対象領域の境界線の区間を抽出する。この画像解析装置は、境界線に沿った所定の間隔ごとに、境界線の法線方向に沿って境界線から所定距離離れた対象領域外点を設定し、その対象領域外点中心とする円内の各点に重みを付す。そして画像解析装置は、重みが重くなったところを窪んだ領域として検出する。
【0006】
さらに、特許文献4に開示された図形のベクトル化方法は、輪郭上の連続する複数の画素について、輪郭のエッジ方向を表すチェーンコードに基づいて、凹状の直角部分を検出する。さらに、特許文献5に開示された画像処理方法は、相隣接する包絡点間の境界画素を一方の包絡点から他方の包絡点に向かって順次追跡し、境界画素の中心と相隣接する包絡点間を結ぶ直線との距離を評価して凹部を検出する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平8−89503号公報
【特許文献2】特開2000−107183号公報
【特許文献3】特開2010−224875号公報
【特許文献4】特開昭64−68889号公報
【特許文献5】特開平1−284984号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1〜3に開示された技術は、検出すべき被写体に関する情報を用いて被写体の輪郭線または境界線の窪みを検出するものである。例えば、特許文献1に開示された技術は、被写体の輪郭が緩い弧となるという情報に基づいているので、所望器官の輪郭線の曲率の変化に基づいて輪郭線の窪みを検出できる。したがって、これらの技術は、写っている被写体に関する情報が無い画像に適用することは困難であった。また特許文献4に開示された技術は、凹状の直角部分を検出することはできても、様々な形状の輪郭の窪みの検出に適用することは困難であった。また特許文献5に開示された技術では、予め被写体の輪郭線の包絡点が検出されていることが前提となっているので、そもそも、被写体が写っている領域すら分かっていない画像に対して輪郭の窪みを検出することは困難であった。
【0009】
そこで本明細書は、画像に写っている被写体に関する情報が無くても、画像上の所定の領域の窪みを検出可能な画像認識装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
一つの実施形態によれば、画像認識装置が提供される。この画像認識装置は、画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出する輪郭抽出部と、複数の輪郭点のうち、輪郭線の一部を、所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出する短絡経路検出部と、第1の輪郭点と第2の輪郭点間の輪郭線に沿った経路と短絡経路とで囲まれた所定の領域に含まれない部分を、短絡経路の長さまたは輪郭線に沿った経路の長さに基づいて窪み部分か否か判定する窪み判定部とを有する。
【0011】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【0012】
本明細書に開示された画像認識装置は、画像に写っている被写体に関する情報が無くても、画像上の所定の領域の窪みを検出することができる。
【図面の簡単な説明】
【0013】
【図1】被写体が写っている被写体領域と、その被写体領域の周囲にある、注目すべき被写体が写っていない背景領域とを含む画像の一例である。
【図2】一つの実施形態による画像認識装置を搭載した撮像装置の概略構成図である。
【図3】領域の窪みの一例を示す図である。
【図4】制御部の機能ブロック図である。
【図5】(a)は、輪郭線上の任意の画素についての近傍画素と、輪郭線の方向を表す番号との関係を表す図であり、(b)は、図3に示された領域の輪郭線上の各画素の輪郭線の方向と番号とを示す図である。
【図6】輪郭点ごとに設定される対岸輪郭点番号リストの一例を示す図である。
【図7】窪み判定部により実行される窪み判定処理の動作フローチャートを示す図である。
【図8】検出された窪み部分の一例を示す図である。
【図9】修正部により実行される窪み範囲修正処理の動作フローチャートを示す図である。
【図10】窪み検出処理の動作フローチャートを示す図である。
【発明を実施するための形態】
【0014】
以下、図を参照しつつ、一つの実施形態による画像認識装置について説明する。
発明者は、画像上で背景領域が窪んでいる部分には、注目すべき何らかの被写体が写っている可能性が高いという知見を得た。
【0015】
図1は、被写体が写っている被写体領域と、その被写体領域の周囲にある、注目すべき被写体が写っていない背景領域とを含む画像の一例である。画像100の中央部にはヌイグルミが写った被写体領域110が存在し、その周囲には、注目すべき物体が写っておらず、ヌイグルミが立て掛けられた椅子の背もたれに掛けられたタオルが写っている領域120と、椅子の座面または背後の壁が写っている領域130が存在する。領域120及び領域130は、注目すべき被写体が写っていないので、背景領域とみなせる。ただし、領域120に写っている物体(タオル)の模様及び色は、領域130に写っている物体(椅子の座面など)の模様及び色と異なっているために、領域120と領域130とは別個の領域として区分される。ここで領域120に注目すると、被写体領域110が領域120の中央に位置しているために、被写体領域110が、領域120の下辺を入口とする大きな窪み部分となっている。一方、領域120と領域130の境界140は直線状となっていないため、その境界には微小な凹凸が存在する。しかし、このような微小な凹凸を持つ境界は、注目すべき被写体と背景領域との境界である可能性は低い。
【0016】
そこでこの画像認識装置は、画像を少なくとも二つの領域に区分し、それら領域のうちの、背景領域と推定される注目領域(例えば、図1における領域120)が窪んでいる部分を検出する。その際、この画像認識装置は、輪郭線上の二つの輪郭点を始点及び終点とする、注目領域外を通って輪郭線を短絡する経路を検出する。そしてこの画像認識装置は、その始点から終点までの短絡経路と、その始点から終点までの輪郭線に沿った経路とで囲まれた部分が窪んでいるか否かを判定する。
【0017】
図2は、一つの実施形態による画像認識装置を搭載した撮像装置の概略構成図である。撮像装置1は、撮像光学系2と、イメージセンサ3と、メモリ4と、ユーザインターフェース5と、制御部6とを有する。なお、撮像装置1は、例えば、デジタルカメラあるいはカメラ付携帯電話とすることができる。さらに撮像装置1は、撮像装置1を通信ネットワークまたは他の機器に接続するための通信インターフェース回路(図示せず)を有していてもよい。
【0018】
撮像光学系2は、イメージセンサ3上に物体の像を結像する。そのために、撮像光学系2は、例えば、少なくとも1枚のレンズを有する。また撮像光学系2は、単焦点レンズであってもよく、あるいは、ズームレンズであってもよい。
【0019】
イメージセンサ3は、撮像光学系2により結像された像が写った画像を生成する。そのために、イメージセンサ3は、2次元状に配列された固体撮像素子、例えば、Charge Coupled Device(CCD)イメージセンサまたはComplementary Metal Oxide Semiconductor(CMOS)イメージセンサを有する。イメージセンサ3により生成される画像の画素数は、例えば、30万、100万、200万、800万あるいは1200万若しくは1800万とすることができる。またイメージセンサ3により生成される画像はカラー画像であり、本実施形態では、画素ごとに赤色(R)、緑色(G)及び青色(B)の3色の成分を持つ。各色成分は、例えば、0〜255の何れかの値をとり、色成分値が大きいほど、その色の輝度が高い。あるいは、イメージセンサ3により生成される画像は、各画素の輝度値が、例えば、0〜255で表されるモノクロ画像であってもよい。
イメージセンサ3は、生成した画像を制御部6へ出力する。
【0020】
メモリ4は、例えば、読み書き可能な揮発性あるいは不揮発性の半導体メモリを有する。そしてメモリ4は、制御部6から受け取った画像及びその画像に写っている所定の領域の窪み部分を検出するために検出されたその領域の輪郭線上の画素の座標などを記憶する。またメモリ4は、撮像装置1に対して取り外し自在であってもよい。
【0021】
ユーザインターフェース5は、シャッタースイッチなど、1以上の操作スイッチ及び液晶ディスプレイなどの表示装置を有する。そしてユーザインターフェース5は、操作スイッチの操作に応じた信号を制御部6へ出力する。そのため、ユーザは、ユーザインターフェース5を操作することにより、所定の物体に焦点を合わせるよう撮像光学系2の少なくとも一部を光軸に沿って移動させたり、撮像装置1に撮影を行わせることができる。またユーザは、シャッター速度、絞りなどの撮影条件または画像サイズを設定できる。さらにユーザは、メモリ4に記憶されている画像を消去したり、図示しない通信インターフェースを介して接続された他の機器へ、メモリ4に記憶されている画像を出力させることができる。
【0022】
制御部6は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部6は、撮像装置1の各部と信号線を介して接続されており、撮像装置1全体を制御する。例えば、制御部6は、ユーザインターフェース5からシャッタースイッチが押下されたことを示す信号を受け取ると、設定された撮影条件で撮影を行い、イメージセンサ3から画像を受け取る。
【0023】
また制御部6は、画像認識装置の一例であり、イメージセンサ3から取得した画像を少なくとも二つの領域に区分し、そのうちの一つの領域の窪み部分を検出する。そして制御部6は、例えば、窪み部分の外接矩形を画像とともに表示装置に表示する。あるいは制御部6は、窪み部分内の画素値の分布を解析して、その分布に応じて画像全体に対する処理を実行してもよい。例えば、制御部6は、窪み部分内の輝度値の最大値と最小値を検出し、その最小値と最大値とが、それぞれ、予め定められた第1及び第2の輝度値となるように、画像全体に対して階調変換処理を行ってもよい。
【0024】
図3は、検出対象となる窪み部分を説明するための、イメージセンサ3から取得した画像の一部に写っている、背景領域と推定される一つの領域の例を示す図である。図3に示された領域300内の各マスは、それぞれ、一つの画素を表す。領域300の下側には、二つの画素301と画素302を端点として凹状に窪んでいる窪み部分310が存在する。領域300が画像上に写っている背景であるとするならば、この凹状の窪み部分310には、何らかの被写体が写っていると考えられる。そのため、制御部6は、このような窪み部分310を検出する。
【0025】
ここで、窪み部分310を囲っている、画素301から302までの領域300の輪郭線311に着目すると、その二つの画素間の輪郭線距離は、その二つの画素を、領域300の外を通って短絡する線分312の長さよりも大きくなる。そして、その輪郭線よりも短絡する線分の方が、領域300の外接矩形に近くなる。一方、領域300の上側の輪郭に位置する画素303と画素304の間でも、領域300は僅かに凹んでいる。しかし、このような僅かな凹みに相当する部分に含まれる画素の数は少ないので、その部分に被写体の重要な部分が写っている可能性は低い。したがって、このような僅かな凹みは、検出しなくてもよい。このような僅かな窪みについては、その窪みの入口に相当する二つの画素間の輪郭線の長さは、その二つの画素を短絡する線分の長さと略等しくなる。
そこで、制御部6は、窪み部分の入口に相当する輪郭上の二点を検出し、その二点間を短絡する経路の長さと、その二点間の輪郭線距離とに基づいて、領域の窪み部分を検出する。
【0026】
図4は、画像認識装置としての機能に関する制御部6の機能ブロック図である。制御部6は、輪郭抽出部61と、輪郭方向検出部62と、外接領域決定部63と、短絡経路検出部64と、窪み判定部65と、修正部66とを有する。
制御部6が有するこれらの各部は、制御部6が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、制御部6が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として制御部6に実装されてもよい。
【0027】
輪郭抽出部61は、イメージセンサ3から取得した画像全体を少なくとも二つの領域に区分し、そのうちの注目領域の輪郭を検出する。先ず、輪郭抽出部61は、例えば、画像の各画素の値を2値化することで、画像を二つの領域に区分する。この場合、輪郭抽出部61は、画像の各画素の色成分値を、HSV表色系あるいはHLS表色系の値に変換し、各画素の明度または輝度の平均値を2値化閾値として算出する。なお、画像がモノクロ画像である場合には、表色系の変換処理は省略される。そして輪郭抽出部61は、画像を、2値化閾値以上の明度または輝度を持つ画素の集合である高輝度領域と、2値化閾値未満の明度または輝度を持つ画素の集合である低輝度領域に区分する。
【0028】
あるいは、輪郭抽出部61は、所定の値の範囲に含まれる画素値を持つ画素の集合を一つの領域とし、その所定の範囲に含まれない画素値を持つ画素の集合を他の領域としてもよい。この場合、所定の値の範囲は、例えば、想定される背景に応じて予め設定される。また画素値は、例えば、HSV表色系あるいはHLS表色系における色相または彩度であってもよく、あるいは、RGB表色系の色成分値の何れかであってもよい。
【0029】
さらにまた、輪郭抽出部61は、画像中の任意の画素、例えば、画像中の左上端の画素を着目画素とし、その着目画素に隣接する画素のうち、着目画素の画素値との差が所定範囲内に収まる画素値を持つ画素を着目画素と連結する。なお、所定範囲は、例えば、同一の物体の像とみなせる画素値の差の最大値に設定される。輪郭抽出部61は、着目画素に連結された画素を次の着目画素として同様の処理を繰り返す。そして輪郭抽出部61は、連結された画素の集合を一番目の領域とする。また輪郭抽出部61は、一番目の領域に含まれなかった画素のうちで着目画素を設定し、上記と同様の処理を繰り返すことにより、画像を複数の領域に区分してもよい。
【0030】
あるいは、輪郭抽出部61は、画像を複数の領域に区分する他の様々な方法の何れかに従って、画像を複数の領域に区分してもよい。例えば、輪郭抽出部61は、画像中の各画素の画素値を、k-means法といったクラスタリング法に従って複数のグループに分類し、各グループに属する画素の集合をそれぞれ一つの領域としてもよい。
また、輪郭抽出部61は、画像を複数の領域に区分した後に、孤立点を解消するために、複数の領域のうちの少なくとも一つの領域について、モルフォロジーの膨張収縮演算あるいは収縮膨張演算を行ってもよい。さらに、輪郭抽出部61は、各領域についてラベリング処理を行うことで、互いに分離した複数のサブ領域を検出した場合には、各サブ領域をそれぞれ別個の領域としてもよい。
【0031】
輪郭抽出部61は、複数の領域のうち、注目する領域を設定する。例えば、輪郭抽出部61は、複数の領域のうち、背景領域である可能性が最も高い領域を注目領域に設定する。そのために、輪郭抽出部61は、例えば、各領域について画素値の分散を求め、その分散値が最も小さい領域を注目領域とする。あるいは、輪郭抽出部61は、各領域について画素値の平均値を求め、その平均値が想定される背景に応じて予め設定された基準値に最も近い領域を注目領域としてもよい。この場合も、画素値は、例えば、明度または輝度、色相若しくは彩度であってもよく、あるいは、RGB表色系の色成分値の何れかであってもよい。あるいはまた、輪郭抽出部61は、領域ごとに、その領域に含まれる画素の数、すなわち、各領域の面積を求め、面積が最大となる領域を注目領域としてもよい。
【0032】
輪郭抽出部61は、注目領域を決定すると、注目領域の輪郭線上に位置する画素を検出する。そのために、輪郭抽出部61は、注目領域内の各画素を順次注目画素に設定する。そして輪郭抽出部61は、注目画素の上下左右の何れかに隣接する画素が注目領域と異なる領域に含まれるか否か判定する。そして輪郭抽出部61は、何れか一つの隣接画素でも注目領域と異なる領域に含まれる場合、注目画素を注目領域の輪郭線上に位置する画素と判定し、一方、全ての隣接画素が注目領域に含まれる場合、注目画素を注目領域の輪郭線上に位置する画素ではないと判定する。なお、輪郭抽出部61は、注目画素が画像端に位置する場合も、その注目画素を注目領域の輪郭線上に位置する画素としてもよい。また、輪郭抽出部61は、注目画素の上下左右に隣接する画素だけでなく、斜め方向に隣接する画素についても注目領域と異なる領域に含まれるか否か判定してもよい。そして輪郭抽出部61は、それら8個の隣接画素のうちの何れかが注目領域と異なる領域に含まれる場合、注目画素を注目領域の輪郭線上に位置する画素と判定してもよい。なお、以下では、便宜上、注目領域の輪郭線上に位置する画素を輪郭点と呼ぶ。
輪郭抽出部61は、各輪郭点の座標をメモリ4に記憶する。
【0033】
輪郭方向検出部62は、注目領域の各輪郭点について、その輪郭点近傍での輪郭線の方向を求める。例えば、輪郭方向検出部62は、メモリ4に記憶された各輪郭点の座標を参照して、注目領域の最も左上端に位置する輪郭点を注目輪郭点に設定する。そして輪郭方向検出部62は、その注目輪郭点の識別番号を'1'に設定する。輪郭方向検出部62は、注目輪郭点に対して、上方から時計回り順に、隣接する画素が輪郭点か否か判定する。そして輪郭方向検出部62は、注目輪郭点から最初に検出された隣接する輪郭点へ向かう方向を、その注目輪郭点における輪郭線の方向とする。輪郭方向検出部62は、検出された輪郭点を次の注目輪郭点とし、次の注目輪郭点の識別番号を、前の注目輪郭点の識別番号に'1'を追加した値とする。そして輪郭方向検出部62は、次の注目輪郭点について、前の注目輪郭点以外で隣接する輪郭点を検出し、その隣接する輪郭点へ向かう方向を、次の注目輪郭点についての輪郭線の方向とする。輪郭方向検出部62は、既に注目輪郭点に設定された輪郭点が、現在の注目輪郭点に隣接する輪郭点として検出されるまで、同様の処理を繰り返し実行する。したがって、最後に注目輪郭点に設定された輪郭点の識別番号は、輪郭点の総数、すなわち、輪郭線の全長を表す。
【0034】
図5(a)は、注目輪郭点に隣接する画素と、輪郭線の方向を表す番号との対応関係を表す図であり、図5(b)は、図3に示した領域の各輪郭点について求めた輪郭線方向を示す図である。
【0035】
図5(a)に示されるように、注目輪郭点50に隣接する各画素には、その画素に対応する輪郭線の方向を表す、'0'〜'7'までの何れかの番号が付されている。例えば、注目輪郭点の上方に隣接する画素には方向を表す番号として'0'が付されており、時計回りに沿って方向を表す番号は1ずつ増加する。
【0036】
図5(b)において、領域500の各輪郭点について、左側に輪郭点の識別番号が表され、右側に輪郭線の方向が表されている。例えば、最も左上端に位置する輪郭点501について、識別番号は'1'であり、右側に輪郭点が隣接しているので、輪郭線の方向を表す番号は'2'となる。また、例えば、窪み部分510の入口に位置する二つの輪郭点のうちの一つである輪郭点502は、輪郭点501から数えて31番目の輪郭点であるので、その識別番号は'31'であり、左上方に次の輪郭点が隣接しているので、輪郭線の方向を表す番号は'7'となる。さらに、窪み部分510の入口に位置する二つの輪郭点のうちの他の一つである輪郭点503は、輪郭点501から数えて50番目の輪郭点であるので、その識別番号は'50'であり、左隣に次の輪郭点が隣接しているので、輪郭線の方向を表す番号は'6'となる。またこの例では、輪郭線の全長は64画素である。
輪郭方向検出部62は、輪郭点ごとに、輪郭点の座標とともに、その輪郭点の識別番号及び輪郭線方向を表す番号をメモリ4に記憶する。
【0037】
外接領域決定部63は、注目領域の外接矩形を求める。そこで外接領域決定部63は、注目領域の輪郭点のうち、最も左側に位置する輪郭点を求め、その輪郭点の水平座標を外接矩形の左端の座標とする。また外接領域決定部63は、注目領域の輪郭点のうち、最も右側に位置する輪郭点を求め、その輪郭点の水平座標を外接矩形の右端の座標とする。同様に、外接領域決定部63は、注目領域の輪郭点のうち、最も上側に位置する輪郭点及び下側に位置する輪郭点を求め、それら輪郭点の垂直座標を、それぞれ、外接矩形の上端及び下端の座標とする。
【0038】
また、外接領域決定部63は、注目領域を所定角度(例えば、5°)ずつ、例えばアフィン変換によって回転させ、回転角ごとに外接矩形及びその外接矩形の面積を求めてもよい。そして外接領域決定部63は、外接矩形の面積が最小となる角度について求めた外接矩形を、注目領域の外接矩形としてもよい。
外接領域決定部63は、検出された外接矩形の4個のコーナーの座標をメモリ4に記憶する。あるいは、外接領域決定部63は、外接矩形の4本の境界線のそれぞれについての傾きと切片の値をメモリ4に記憶してもよい。
【0039】
短絡経路検出部64は、複数の輪郭点のうち、輪郭線の一部を、注目領域の外を通って短絡する経路の両端となる二つの輪郭点を検出する。そのために、短絡経路検出部64は、各輪郭点を順次注目輪郭点として、その注目輪郭点を始点とし、かつ、注目領域以外の領域へ向かう直線を設定する。その直線が注目領域の輪郭線と交差する場合、短絡経路検出部64は、その直線を短絡経路とする。そして短絡経路検出部64は、短絡経路と輪郭線が交差する輪郭点を対岸輪郭点として検出する。対岸輪郭点は、注目輪郭点とともに短絡経路の両端となる。
【0040】
まず、短絡経路検出部64は、各輪郭点について、対岸輪郭点を探索する走査直線の傾きの範囲である探索方向範囲を設定する。そのために、短絡経路検出部64は、例えば、注目輪郭点から隣接する二つの輪郭点へ向かうそれぞれの方向に挟まれ、かつ、注目領域外へ向かう方向を含むように探索方向範囲を設定する。再度図5(a)及び図5(b)を参照すると、例えば、輪郭点502については、識別番号'30'で表された輪郭点から時計回りに識別番号'32'で表された輪郭点までの間の、番号'3'から'6'で表される方向が含まれるように探索方向範囲が設定される。同様に、輪郭点503については、識別番号'49'で表された輪郭点から時計回りに識別番号'51'で表された輪郭点までの間の、番号'2'から'5'で表される方向が探索方向範囲に含まれる。さらに他の例として、識別番号が'33'である輪郭点504については、識別番号'32'で表された輪郭点から時計回りに識別番号'34'で表された輪郭点までの間の、番号'4'から'7'及び'0'で表される方向が探索方向範囲に含まれる。
【0041】
次に、短絡経路検出部64は、注目輪郭点について、探索方向範囲内の探索方向ごとに走査直線を設定する。そして短絡経路検出部64は、走査直線上の各画素について、注目輪郭点から離れる方向へ順に、注目領域の他の輪郭点か否か判定する。そして短絡経路検出部64は、走査直線上の画素が他の輪郭点であれば、その走査直線を短絡経路とし、走査直線上で検出された輪郭点を、注目輪郭点の対岸輪郭点として、探索方向とともに注目輪郭点と関連付けてメモリ4に記憶する。また、ある探索方向の走査直線上で他の輪郭点が検出される前に、その走査直線が注目領域の外接矩形の何れかの辺と交差した場合には、短絡経路検出部64は、その探索方向には対岸輪郭点が存在しないと判定する。すなわち、その探索方向には注目輪郭点を始点とする短絡経路は存在しない。
【0042】
再度図5(b)を参照すると、例えば、輪郭点502について、方向'3'〜'5'の走査直線は、他の輪郭点が検出される前に外接矩形の下辺520と交差するので、それらの方向には対岸輪郭点は存在しない。一方、方向'6'の走査直線(すなわち、左側へ向かう水平方向の直線)上には、輪郭点503が存在する。したがって、輪郭点502については、方向'6'と関連付けて対岸輪郭点503の識別番号'50'が記憶される。
また、識別番号が'33'である輪郭点504について、方向'4'及び'5'の走査直線は、他の輪郭点が検出される前に外接矩形の下辺520と交差するので、それらの方向には対岸輪郭点は存在しない。一方、方向'6'の走査直線上には、識別番号'48'を持つ輪郭点が存在する。同様に、方向'7'及び方向'0'の走査直線上には、それぞれ、識別番号'43'を持つ輪郭点及び識別番号'38'を持つ輪郭点が存在する。そのため、輪郭点504について、方向'6'、'7'及び'0'のそれぞれと関連付けて、対岸輪郭点の識別番号'48'、'43'及び'38'がメモリ4に記憶される。
【0043】
図6は、メモリ4に記憶される、輪郭点ごとに設定される対岸輪郭点番号リストの一例を示す図である。図6に示された対岸輪郭点番号リスト600は、図5(b)に示された輪郭点504に対応する。対岸輪郭点番号リスト600の左側の列は、短絡経路の方向を表し、右側の列は、対応する方向に存在する対岸輪郭点の識別番号を表す。上記のように、輪郭点504については、方向'6'、'7'及び'0'において対岸輪郭点が検出されているので、対岸輪郭点番号リスト600では、方向'6'、'7'及び'0'に関する欄に、それぞれ、対岸輪郭点の識別番号'48'、'43'及び'38'が格納されている。その他の方向には、対岸輪郭点は存在しないので、その他の方向に対応する欄には、それぞれ、何れの輪郭点の識別番号とも異なる番号、例えば、'0'が格納される。
【0044】
なお、上記の実施形態では、探索方向は、図5(a)に示された、45°間隔で設定された8方向の何れかであるが、探索方向の設定間隔は45°より狭くてもよい。例えば、探索方向は、15°間隔、22.5°間隔あるいは30°間隔で設定されてもよい。
【0045】
窪み判定部65は、輪郭点から対岸輪郭点までの短絡経路と、輪郭点から対岸輪郭点までの注目領域の輪郭線に沿った輪郭線とで囲まれた、注目領域に含まれていない部分が注目領域の窪み部分か否か判定する。
【0046】
図7は、窪み判定処理の動作フローチャートを示す図である。
窪み判定部65は、初期化処理を実行する(ステップS101)。具体的には、窪み判定部65は、輪郭点と対岸輪郭点間の輪郭線距離の最大値lcmax、輪郭点と対岸輪郭点間の直線距離lld、窪みの深さdepthといったパラメータの値を0に設定する。その後、窪み判定部65は、注目する輪郭点を順次変更しつつ、注目輪郭点と注目輪郭点に対して検出された対岸輪郭点間の輪郭線距離を求めることにより、輪郭点と対岸輪郭点間の輪郭線距離の最大値lcmaxを求める(ステップS102)。なお、輪郭点と対岸輪郭点間の輪郭線距離は、輪郭点の識別番号と対岸輪郭点の識別番号との差の絶対値で表される。ただし、輪郭点と対岸輪郭点の間に、識別番号の最大値となる輪郭点が含まれる場合には、小さい方の識別番号に、識別番号の最大値を加えた値から、大きい方の識別番号を引いた差の絶対値が輪郭線距離となる。最大値lcmaxに対応する輪郭点c1max及び対岸輪郭点c2maxは、窪み部分の入口の両端の候補となる。そこで窪み判定部65は、輪郭点c1max及び対岸輪郭点c2maxの識別番号をメモリ4に記憶する。例えば、図5(b)に示した例では、輪郭点502と輪郭点503間の輪郭線距離(50-31=19)が最長となるので、輪郭点502の識別番号'31'とと輪郭点503の識別番号'50'とがメモリ4に記憶される。
【0047】
窪み判定部65は、輪郭線距離の最大値lcmaxに対応する窪みの深さdepthを算出する(ステップS103)。窪み判定部65は、例えば、輪郭点c1maxから対岸輪郭点c2maxまでの間の各輪郭点(以下、便宜上中間輪郭点と呼ぶ)について、輪郭線方向に対する法線に沿って、中間輪郭点からその法線と輪郭点c1maxと対岸輪郭点c2maxとを結ぶ直線との交点までの距離を求める。そして窪み判定部65は、中間輪郭点から交点までの距離の最大値を窪みの深さdepthとする。例えば、図5(b)に示した例では、識別番号'39'〜'42'の輪郭点の何れかから、輪郭点502と輪郭点503を結ぶ直線までの距離(8画素)が窪みの深さdepthとなる。あるいは、窪み判定部65は、各中間輪郭点について、その中間輪郭点から輪郭点c1maxと対岸輪郭点c2maxとを結ぶ直線に達するまでの、注目領域の外を通る経路の最小画素数を深さの経路長として求めてもよい。そして窪み判定部65は、深さの経路長の最大値を窪みの深さdepthとしてもよい。なお、深さの経路長を求めるために、窪み判定部65は、様々な最短経路の探索法の何れか、例えば、ダイクストラの最短経路探索法を利用できる。
【0048】
また窪み判定部65は、輪郭線距離の最大値lcmaxに対応する輪郭点c1maxと対岸輪郭点c2max間の短絡経路長、すなわち、輪郭点c1maxと対岸輪郭点c2max間の直線距離lldを算出する(ステップS104)。図5(b)に示した例では、直線距離lldは、輪郭点502と輪郭点503を結ぶ直線の長さ(9画素)となる。
その後、窪み判定部65は、輪郭線距離の最大値lcmaxが所定の閾値Th1よりも大きいか否か判定する(ステップS105)。なお、所定の閾値Th1は、例えば、注目領域の輪郭点の総数の1/10に設定される。あるいは、所定の閾値Th1は、画像全体に含まれる画素数に基づいて決定されてもよい。例えば、所定の閾値Th1は、検出された窪み部分の画素値の解析結果に応じた画像処理を行うために必要な、窪み部分の輪郭線長の最小値、例えば、画像全体の画素数の1/10000〜1/1000に設定される。
輪郭線距離の最大値lcmaxが所定の閾値Th1以下である場合(ステップS105−No)、窪み判定部65は、その最大値lcmaxに対応する輪郭点c1maxと対岸輪郭点c2max間は窪みとみなさない。そこで窪み判定部65は窪み検出処理を終了する。
【0049】
一方、輪郭線距離の最大値lcmaxが所定の閾値Th1よりも大きい場合(ステップS105−Yes)、窪み判定部65は、輪郭点c1maxと対岸輪郭点c2max間の直線距離lldに対する輪郭線距離の最大値lcmaxの比が所定の閾値Th2よりも大きいか否か判定する(ステップS106)。なお、閾値Th2は、例えば、1.5〜3に設定される。
比(lcmax/lld)が閾値Th2以下である場合(ステップS106−No)、窪み判定部65は、直線距離lldに対する深さdepthの比が所定の閾値Th3よりも大きいか否か判定する(ステップS107)。なお、閾値Th3は、例えば、0.5〜1に設定される。そしてその比(depth/lld)が閾値Th3以下である場合(ステップS107−No)、すなわち、輪郭点c1maxと対岸輪郭点c2max間の輪郭線が短絡経路に対してそれほど長くなく、かつ、深さも浅いことになる。そのため、窪み判定部65は輪郭点c1maxと対岸輪郭点c2max間は注目領域の窪みではないと判定する。
【0050】
一方、比(lcmax/lld)が閾値Th2よりも大きい場合(ステップS106−Yes)、窪み判定部65は、c1maxとc2max間の短絡経路と輪郭線に沿った経路で囲まれた、注目領域に含まれない部分を窪み部分として検出する(ステップS108)。同様に、比(depth/lld)が閾値Th3よりも大きい場合(ステップS107−Yes)も、窪み判定部65は、c1maxとc2max間の短絡経路と輪郭線に沿った経路で囲まれた、注目領域に含まれない部分を窪み部分として検出する。そして窪み判定部65は、c1maxとc2max間の各輪郭点の識別番号及び座標を検出された窪み部分を表すデータとしてメモリ4に記憶する。これは、比(lcmax/lld)が閾値Th2より大きければ、輪郭点c1maxと対岸輪郭点c2max間の輪郭線が短絡経路に対して相対的に長く、それだけ輪郭線が注目領域の外接矩形に対して凹状に遠回りしていると推定されることによる。また、比(depth/lld)が閾値Th3よりも大きい場合には、輪郭点c1maxと対岸輪郭点c2maxを窪みの入口としたときに、入口の幅、すなわち短絡経路の長さに対してくぼみの奥行きが相対的に長いと推定されることによる。
【0051】
窪み判定部65は、c1maxとc2max間の各輪郭点についての全ての対岸輪郭点の識別番号を'0'に置換する(ステップS109)。なお、c1maxとc2max間の各輪郭点についての各輪郭点の対岸輪郭点の識別番号は、例えば、修正部66によって使用される可能性があるので、メモリ4は、c1maxとc2max間の各輪郭点についての置換前の対岸輪郭点の識別番号を、別途記憶しておくことが好ましい。その後窪み判定部65は、ステップS102以降の処理を繰り返す。これにより、窪み判定部65は、注目領域に複数の窪み部分があっても、それぞれの窪み部分を検出できる。
なお、窪み判定部65は、ステップS103の手順とステップS104の手順の順序を入れ替えてもよい。また窪み判定部65は、ステップS105の判定を行わず、ステップS107の判定結果とステップS108の判定結果のみに基づいて、c1maxとc2max間の短絡経路と輪郭線に沿った経路で囲まれた部分を窪み部分か否か判定してもよい。
【0052】
修正部66は、窪み判定部65により検出された窪み部分のうち、より窪みらしい部分のみを選択するよう、窪み部分を修正する。
【0053】
図8を参照しつつ、窪み部分を修正することが好ましい場合について説明する。画像に重畳されたノイズの影響、あるいは、その画像に写っている被写体と背景の境界と画素間の境界とが一致しないことにより、本来、直線状あるいは緩やかな曲線状となる注目領域の輪郭に凹凸が生じることがある。例えば、図8では、突起状となった輪郭点801が注目領域800に含まれている。そのため、輪郭点801の対岸輪郭点として、輪郭点802が検出されることとなり、輪郭点801と輪郭点802間の輪郭線で囲まれた部分810が窪み部分として検出されることになる。しかし、実際には、輪郭点803から輪郭点804間の輪郭線で囲まれた部分820の方が窪み部分として適切であることは明らかである。そして、輪郭線801と輪郭線802間の短絡経路長に対する輪郭線距離の比よりも、輪郭線803と輪郭線804間の短絡経路長に対する輪郭線距離の比の方が大きくなる。
【0054】
そこで修正部66は、一旦検出された窪み部分を囲う輪郭線の両端点内の各輪郭点について、対岸輪郭点までの短絡経路の長さと輪郭線距離とを求め、短絡経路長に対する輪郭線距離の比に基づいて窪み部分を修正する。
【0055】
図9は、修正部66による窪み範囲修正処理の動作フローチャートである。先ず、修正部66は、修正後の窪み部分の入口となる二つの輪郭点(以下、便宜上、補正入口候補点と呼ぶ)の探索範囲を設定する(ステップS201)。窪み部分の修正によって窪み部分から除かれる部分は、検出されている窪み部分の入口近辺である可能性が高い。そこで、窪み部分の入口から遠い、検出された窪み部分を囲う輪郭線の中点付近は、探索範囲から除くことが好ましい。そのため、探索範囲は、例えば、窪み部分の入口の二つの輪郭点c1max、c2maxを両端とする輪郭線のうち、その二つの輪郭点の中点を中心とした、窪み部分の輪郭線長の所定割合を除いた部分に設定される。なお、所定割合は、例えば、1/10〜1/4に設定される。例えば、図8において、検出された窪み部分の入口に相当する輪郭点は輪郭点801と輪郭点802である。そのため、中点は、輪郭点801からの輪郭線距離と輪郭点802からの輪郭線距離が等しい輪郭点805となる。また、所定割合を1/10とすれば、輪郭点801と輪郭点802間の輪郭線距離は30画素なので、輪郭点805及び輪郭点805に隣接する二つの輪郭点が探索範囲から除かれる。したがって、探索範囲は、輪郭点805の二つ隣の輪郭点806から輪郭点801までの範囲と、輪郭点805の二つ隣の輪郭点807から輪郭点802までの範囲とを含む。
【0056】
修正部66は、探索範囲内の各輪郭点について、その輪郭点と対岸輪郭点間の短絡経路長である直線距離と輪郭線距離とを求める。そして修正部66は、輪郭点と対岸輪郭点間の短絡経路長に対する輪郭線距離の比の最大値maxrateを求める(ステップS202)。修正部66は、その比の最大値maxrateに対応する二つの輪郭点を補正入口候補点mc1、mc2に設定する(ステップS203)。例えば、図8では、輪郭点803と輪郭点804間の短絡経路長に対する輪郭線距離の比は(15/2=7.5)となり、探索範囲内で最大となる。そこで、輪郭点803と輪郭点804が補正入口候補点mc1、mc2に設定される。
【0057】
修正部66は、補正入口候補点mc1、mc2間の輪郭線の窪みの深さmdepthを算出する(ステップS204)。なお、修正部66は、窪み判定部65が窪みの深さdepthを求める処理と同様の処理を行って、補正入口候補点mc1、mc2間の輪郭線の窪みの深さmdepthを求める。
【0058】
修正部66は、修正前の窪み部分の深さdepthに対する、補正入口候補点について求められた窪み部分の深さmdepthの比(mdepth/depth)が、所定の閾値Th4よりも大きいか否か判定する(ステップS205)。なお、閾値Th4は、例えば0.7〜0.9に設定される。そしてmdepth/depthが閾値Th4よりも大きければ(ステップS205−Yes)、修正部66は、窪み部分を輪郭点mc1と輪郭点mc2間の短絡線と輪郭線とで囲まれた、注目領域に含まれない部分に修正する(ステップS206)。そして修正部66は、窪み範囲修正処理を終了する。
一方、mdepth/depthが閾値Th4以下であれば(ステップS205−No)、修正部66は、窪み部分を修正せずに窪み範囲修正処理を終了する。
【0059】
なお、変形例によれば、maxrateが、窪み判定部65により検出された窪み部分の入口の輪郭点c1maxとc2max間の短絡経路長に対する輪郭線距離の比rate未満である場合、修正部66は、窪み部分を修正せずに、窪み範囲修正処理を終了してもよい。あるいは、maxrateがrateよりも大きい場合、修正部66は、ステップS205の判定を行わず、窪み部分を輪郭点mc1と輪郭点mc2間の短絡線と輪郭線とで囲まれた部分に修正してもよい。
【0060】
図10は、制御部6により実行される、窪み検出処理の動作フローチャートを示す。なお、この窪み検出処理は、例えば、制御部6がイメージセンサ3から画像を受け取る度に実行される。
先ず、制御部6の輪郭抽出部61は、画像を複数の領域に区分する(ステップS301)。そして輪郭抽出部61は、複数の領域の中から注目領域を設定する(ステップS302)。その後、輪郭抽出部61は、注目領域の輪郭点を検出する(ステップS303)。
【0061】
制御部6の輪郭方向検出部62は、各輪郭点における輪郭方向を決定する(ステップS304)。また制御部6の外接領域決定部63は、注目領域の外接矩形を求める(ステップS305)。
さらに、制御部6の短絡経路検出部64は、各輪郭点について、注目領域外を通る短絡経路及び対岸輪郭点を検出する(ステップS306)。そして制御部6の窪み判定部65は、窪み判定処理を実行する(ステップS307)。
制御部6は、検出された窪み部分が有るか否か判定する(ステップS308)。検出された窪み部分が無ければ(ステップS308−No)、制御部6は、窪み検出処理を終了する。一方、検出された窪み部分が有れば(ステップS308−Yes)、制御部6の修正部66は、窪み部分の修正処理を実行する(ステップS309)。そして制御部6は、窪み検出処理を終了する。
【0062】
以上に説明してきたように、この画像認識装置は、画像上の注目領域が窪んでいる部分は、窪みが無い場合と比べて輪郭線が長くなり、かつ注目領域の外接矩形内に輪郭線が含まれるという特徴に基づいて、その窪み部分を検出する。そのため、この画像認識装置は、画像に写っている被写体に関する情報が無くても、窪み部分を検出できる。また、この画像認識装置は、注目領域の窪み部分の画素値の分布と、注目領域の周囲の領域内の画素値の分布とが類似しており、両者を別の領域として分離することが困難な場合でも、画像上で被写体が写っている可能性の高い窪み部分だけを検出できる。
【0063】
なお、本発明は上記の実施形態に限定されるものではない。例えば、制御部は、修正部の機能を有さなくてもよい。また窪み判定部は、窪みの深さを考慮せず、窪み部分の入口に位置する二つの輪郭点間の短絡経路長に対する輪郭線距離の比のみに基づいて、その二つの輪郭点間の輪郭線で囲われた部分が窪み部分か否かを判定してもよい。
【0064】
また、変形例によれば、窪み判定部は、注目領域の周囲の領域とつながっていない、注目領域で完全に周囲を囲まれた領域も窪み部分として検出してもよい。この場合、注目領域と、その周囲の領域との境界(以下、この境界を外周境界と呼ぶ)に位置する注目領域の輪郭線の長さよりも、注目領域の全ての輪郭線の長さの方が大きくなる。また、外周境界上に位置する少なくとも一つの輪郭点は、対岸輪郭点を持たない。そこで窪み判定部は、対岸輪郭点を持たない輪郭点と連結された注目領域の輪郭点の集合を外周輪郭線として検出し、外周輪郭線上の輪郭点の総数が、注目領域の全ての輪郭点の合計よりも少なければ、外周輪郭線と連結されていない輪郭点で囲まれた領域を窪み部分として検出する。
【0065】
また、他の実施形態によれば、画像認識装置は、撮像装置とは別個に設けられてもよい。例えば、画像認識装置は、撮像装置と通信ネットワークを介して接続可能な他のコンピュータあるいはサーバに実装されていてもよい。この場合、撮像装置は、画像を撮影する度に、その画像を撮像装置の識別コードとともに通信ネットワークを介して画像認識装置へ転送する。そして画像認識装置は、受け取った画像に対して窪み検出処理を実行する。
【0066】
また、図10に示された窪み検出処理をプロセッサに実行させるコンピュータプログラムは、光記録媒体または磁気記録媒体といった記録媒体に記録された形で提供されてもよい。
【0067】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【0068】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出する輪郭抽出部と、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する第1の短絡経路の両端となる第1及び第2の輪郭点を検出する短絡経路検出部と、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記第1の短絡経路の長さまたは前記第1の経路の長さに基づいて窪み部分か否か判定する窪み判定部と、
を有する画像認識装置。
(付記2)
前記窪み判定部は、前記第1の短絡経路の長さに対する前記第1の経路の長さの比が第1の閾値よりも大きくなる場合に、前記第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を窪み部分と判定する付記1に記載の画像認識装置。
(付記3)
前記窪み判定部は、前記第1の短絡経路から前記複数の輪郭点のうちの前記第1の経路上に位置する最も遠い輪郭点までの長さを第1の窪みの深さとして算出し、前記第1の短絡経路の長さに対する前記第1の窪みの深さの比が第2の閾値よりも大きくなる場合に、前記第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を窪み部分と判定する付記1に記載の画像認識装置。
(付記4)
前記第1の経路上に位置し、かつ、前記第1の経路の一部を、前記所定の領域の外を通って短絡する直線の両端となる二つの輪郭点の組のうち、当該直線の長さに対する当該二つの輪郭点間の前記輪郭線に沿った経路の距離の比が最大となる第3及び第4の輪郭点を検出し、前記窪み部分を、前記第3の輪郭点と前記第4の輪郭点間の前記輪郭線に沿った第2の経路と前記第3の輪郭点と前記第4の輪郭点間を前記所定の領域の外を通って短絡する第2の短絡経路とで囲まれた前記所定の領域に含まれない部分に修正するか否か判定する修正部をさらに有する、付記1〜3の何れか一項に記載の画像認識装置。
(付記5)
前記修正部は、前記第2の経路上に位置する輪郭点のうち、前記第2の短絡経路から最も遠い輪郭点までの長さを第2の窪みの深さとして算出し、前記第2の短絡経路の長さに対する前記第2の窪みの深さの比が第3の閾値よりも大きい場合、前記窪み部分を前記第2の経路と前記第2の短絡経路とで囲まれた前記所定の領域に含まれない部分に修正する、付記4に記載の画像認識装置。
(付記6)
前記修正部は、前記第2の短絡経路の長さに対する前記第2の経路の長さの比が、前記第1の短絡経路の長さに対する前記第1の経路の長さの比よりも大きい場合、前記窪み部分を前記第2の経路と前記第2の短絡経路とで囲まれた前記所定の領域に含まれない部分に修正する、付記4に記載の画像認識装置。
(付記7)
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出し、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出し、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った経路と前記短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記短絡経路の長さまたは前記経路の長さに基づいて窪み部分か否か判定する、
ことを含む画像認識方法。
(付記8)
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出し、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出し、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った経路と前記短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記短絡経路の長さまたは前記経路の長さに基づいて窪み部分か否か判定する、
ことをコンピュータに実行させる画像認識用コンピュータプログラム。
(付記9)
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出する輪郭抽出部と、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する短絡経路の端点とならない第1の輪郭点と接続された輪郭点により形成される外周輪郭線に含まれる輪郭点の個数が前記所定の領域の輪郭点の総数よりも少ない場合、前記複数の輪郭点のうちの前記外周輪郭線と連結されていない輪郭点で囲まれた前記所定の領域に含まれない部分を窪み部分と判定する窪み判定部と、
を有する画像認識装置。
【符号の説明】
【0069】
1 撮像装置
2 撮像光学系
3 イメージセンサ
4 メモリ
5 ユーザインターフェース
6 制御部
61 輪郭抽出部
62 輪郭方向検出部
63 外接領域決定部
64 短絡経路検出部
65 窪み判定部
66 修正部

【特許請求の範囲】
【請求項1】
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出する輪郭抽出部と、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する第1の短絡経路の両端となる第1及び第2の輪郭点を検出する短絡経路検出部と、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記第1の短絡経路の長さまたは前記第1の経路の長さに基づいて窪み部分か否か判定する窪み判定部と、
を有する画像認識装置。
【請求項2】
前記窪み判定部は、前記第1の短絡経路の長さに対する前記第1の経路の長さの比が第1の閾値よりも大きくなる場合に、前記第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を窪み部分と判定する請求項1に記載の画像認識装置。
【請求項3】
前記窪み判定部は、前記第1の短絡経路から前記複数の輪郭点のうちの前記第1の経路上に位置する最も遠い輪郭点までの長さを第1の窪みの深さとして算出し、前記第1の短絡経路の長さに対する前記第1の窪みの深さの比が第2の閾値よりも大きくなる場合に、前記第1の経路と前記第1の短絡経路とで囲まれた前記所定の領域に含まれない部分を窪み部分と判定する請求項1に記載の画像認識装置。
【請求項4】
前記第1の経路上に位置し、かつ、前記第1の経路の一部を、前記所定の領域の外を通って短絡する直線の両端となる二つの輪郭点の組のうち、当該直線の長さに対する当該二つの輪郭点間の前記輪郭線に沿った経路の距離の比が最大となる第3及び第4の輪郭点を検出し、前記窪み部分を、前記第3の輪郭点と前記第4の輪郭点間の前記輪郭線に沿った第2の経路と前記第3の輪郭点と前記第4の輪郭点間を前記所定の領域の外を通って短絡する第2の短絡経路とで囲まれた前記所定の領域に含まれない部分に修正するか否か判定する修正部をさらに有する、請求項1〜3の何れか一項に記載の画像認識装置。
【請求項5】
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出し、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出し、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った経路と前記短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記短絡経路の長さまたは前記経路の長さに基づいて窪み部分か否か判定する、
ことを含む画像認識方法。
【請求項6】
画像上の所定の領域の輪郭線上に位置する複数の輪郭点を検出し、
前記複数の輪郭点のうち、前記輪郭線の一部を、前記所定の領域の外を通って短絡する短絡経路の両端となる第1及び第2の輪郭点を検出し、
前記第1の輪郭点と前記第2の輪郭点間の前記輪郭線に沿った経路と前記短絡経路とで囲まれた前記所定の領域に含まれない部分を、前記短絡経路の長さまたは前記経路の長さに基づいて窪み部分か否か判定する、
ことをコンピュータに実行させる画像認識用コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−12117(P2013−12117A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−145414(P2011−145414)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】