以下、本発明の実施の形態について、図面を参照しながら説明する。なお、同一部分には同一符号を付し、図面で同一の符号が付いたものは、説明を省略する場合もある。なお、本実施の形態では、画像表示部の例として液晶ディスプレイ(以下、液晶ディスプレイDという)を採用した場合について説明するが、液晶ディスプレイ以外の画像表示部を採用する場合も本発明の適用範囲に含まれる。
〔1.画像処理装置の構成〕
図1は、本発明の実施の形態における画像処理装置1の構成を示すブロック図である。まず、本発明の実施の形態における画像処理装置1の構成及びその撮像画像の例について説明する。以下では、便宜上、画像処理装置1について説明するが、本発明の実施の形態における画像処理装置1の機能を必要とする電子機器であれば、一般の電子機器に対して適用可能である。
最初に、画像処理装置1の構成の概要及び画像処理装置1の撮像原理について説明する。画像処理装置1は、表示機能を有しており、複数の画素から構成される液晶ディスプレイD(不図示)及び液晶ディスプレイDに光を照射するバックライトを備えている点は、通常の液晶ディスプレイと同様である。
そして、画像処理装置1における液晶ディスプレイDは、各画素内に光センサ(撮像センサ)が内蔵され、該光センサによって液晶ディスプレイDの表示画面に近接してきた外部の物体等(撮像対象)を撮像し、画像データ(撮像画像)として取り込むことが可能となっている点が、通常の液晶ディスプレイと異なっている。
なお、液晶ディスプレイDは、複数の画素のうち、所定数の画素毎に光センサが内蔵されているものであっても良いが、光センサによる撮像画像の解像度の観点から、光センサは全画素に内蔵されていることが好ましい。
また、画像処理装置1の液晶ディスプレイDは、通常の液晶ディスプレイと同様に、複数の走査線と複数の信号線とが交差するように配線され、この各交差部に画素が配置され、薄膜トランジスタ、及び各種容量を有する画素を備えた表示部と、走査線を駆動する駆動回路と、信号線を駆動する駆動回路とを備えているものである。
さらに、画像処理装置1の液晶ディスプレイDは、例えば各画素内に光センサとしてフォトダイオードを内蔵する構成となっている。このフォトダイオードには、キャパシタが接続され、表示画面から入射された光のフォトダイオードでの受光量の変化に応じてキャパシタの電荷量を変化させる構成となっている。そして、このキャパシタの両端の電圧を検出することにより画像データを生成し、画像の撮像(取り込み)を行うようになっている。これが画像処理装置1の液晶ディスプレイDによる撮像原理である。
なお、光センサとしては、フォトダイオードに限られず、光電効果を動作原理とし、液晶ディスプレイ等の各画素に内蔵できるものであれば良い。
以上の構成により、画像処理装置1は、液晶ディスプレイDの表示画面上に画像を表示する本来の表示機能に加え、表示画面に近接してきた外部の物体(撮像対象)の画像(像)を撮像する撮像機能を備える構成となっている。それゆえ、液晶ディスプレイDの表示画面でのタッチ入力が可能な構成とすることができる。
ここで、図2(a)〜(h)に基づき、画像処理装置1の液晶ディスプレイDの各画素に内蔵されたフォトダイオードによって撮像される撮像対象について説明する。ここでは、「指の腹(以下、「指腹」と呼ぶ場合もある。)」及び「ペン先」の例を挙げ、それぞれの撮像画像(又は画像データ)の特徴の概要について説明する。
図2(a)は、周囲が暗い場合における指腹の撮像画像の様子を示す概要図であり、図2(b)は、周囲が暗い場合における指腹の撮像画像の特徴を示す概要図である。図2(a)に示すように、ユーザが、暗い部屋で液晶ディスプレイDの表示画面65に、人差し指の腹を接触させた場合について考える。
この場合、図2(b)の撮像画像61は、バックライトが撮像対象(指腹)に反射して得られる画像であり、白い円形状がぼやけたような画像となる。なお、各画素における勾配方向は、おおよそ、撮像画像におけるエッジ部分(エッジ画素)からエッジ部分に囲まれた領域(エッジ領域)の中心付近に向かう傾向を示している(ここでは、勾配方向は暗い部分から明るい部分に向かう向きを正としている。)。
次に、図2(c)は、周囲が明るい場合における指腹の撮像画像の様子を示す概要図であり、図2(d)は、周囲が明るい場合における指腹の撮像画像の特徴を示す概要図である。図2(c)に示すように、ユーザが、明るい部屋で液晶ディスプレイDの表示画面65に、人差し指の腹を接触させた場合について考える。
この場合、図2(d)の撮像画像62は、外光66が液晶ディスプレイDの表示画面65に入射することによって得られる画像(接触した場合は、バックライトによる反射光も混じる。)であり、人差し指で外光が遮られることによって生じた指の影と、液晶ディスプレイDの表示画面に接触した指の腹にバックライトの光が反射してできた白い円形状がぼやけた部分とからなる。
これらのうち白い円形状の部分における勾配方向は、上述した暗い部屋で指の腹を接触させた場合と同様の傾向を示すが、その周囲を囲む影は暗く、周囲が外光66で明るいので、各画素における勾配方向は、白い円形状の部分における勾配方向と逆向きの傾向を示している。
図2(e)は、周囲が暗い場合におけるペン先の撮像画像の様子を示す概要図であり、図2(f)は、周囲が暗い場合におけるペン先の撮像画像の特徴を示す概要図である。図2(e)に示すように、ユーザが、暗い部屋で液晶ディスプレイDの表示画面65に、ペン先を接触させた場合について考える。
この場合、図2(f)の撮像画像63は、バックライトが撮像対象(ペン先)に反射して得られる画像であり、小さな白い円形状がぼやけたような画像となる。なお、各画素における勾配方向は、おおよそ、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かう傾向を示している。
次に、図2(g)は、周囲が明るい場合におけるペン先の撮像画像の様子を示す概要図であり、図2(h)は、周囲が明るい場合におけるペン先の撮像画像の特徴を示す概要図である。図2(g)に示すように、ユーザが、明るい部屋で液晶ディスプレイDの表示画面65に、ペン先を接触させた場合について考える。
この場合、図2(h)の撮像画像64は、外光66が液晶ディスプレイDの表示画面65に入射することによって得られる画像(接触した場合は、バックライトによる反射光も混じる。)であり、ペンで外光が遮られることによって生じたペンの影と、液晶ディスプレイDの表示画面65に接触したペン先にバックライトの光が反射してできた小さな白い円形状がぼやけた部分とからなる。
これらのうち小さな白い円形状の部分における勾配方向は、上述した暗い部屋でペン先を接触させた場合と同様の傾向を示すが、その周囲を囲む影は暗く、周囲が外光で明るいので、各画素における勾配方向は、小さな白い円形状の部分における勾配方向と逆向きの傾向を示している。
以上のような、各勾配方向の分布は、例えば、指のように表面が柔らかく、面に接触することにより接触面(接触部分)が円形になる場合、または先が丸いペンのように表面が固くても接触面が円形になるような場合には、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中心付近に向かうか、或いは、該中心付近から放射状にエッジ部分に向かうかのいずれかの傾向を示す。
また、接触面がその他の形状であっても、撮像画像におけるエッジ部分からエッジ部分に囲まれた領域の中に向かうか、或いは、エッジ部分に囲まれた領域の中からその領域の外側に向かうかのいずれかの傾向を示す。さらに、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、勾配方向は、パターンマッチングに適した量である。
次に、図1を用いて、本実施の形態における画像処理装置1の構成の詳細について説明する。
画像処理装置1は、図1に示すように、撮像された撮像画像(又は画像データ)を用いて、撮像対象による撮像画像上の指示位置(接触位置:以下、ポインティング位置FPというときがある)を特定する機能を備えたものであり、低解像度化部2と、縦勾配量算出部(特徴量算出手段)3aと、横勾配量算出部(特徴量算出手段)3bと、エッジ抽出部(外形領域特定手段)4と、方向特定部(特徴量算出手段)5と、効率化部6と、一致画素数算出部(合致度算出手段)7と、モデルパターン・比較用一致パターン格納部8と、パターン合致度算出部(合致度算出手段)9と、スコア算出部(合致度算出手段)10と、認識点抽出部(認識点抽出手段)11と、外形領域特定部(外形領域特定手段)15と、認識点包含判定部(認識点包含判定手段)19と、位置決定部(接触位置決定手段)20と、を備えている。
また、外形領域特定部15は、パターン情報格納部16、結合条件格納部17及びパターン結合部(部分的合致判定手段、結合領域特定手段)18の各ブロックを含んでいる。
さらに、認識点抽出部(認識点抽出手段)11は、ピーク探索部(認識点抽出手段)12、座標算出判定部(認識点抽出手段)13、及び座標算出部(認識点抽出手段)14の各ブロックを含んでいる。
次に、ブロック毎の機能について説明する。まず、低解像度化部2は、液晶ディスプレイDに内蔵されている光センサを用いて撮像された撮像画像の画像データを低解像度化する。
縦勾配量算出部3a及び横勾配量算出部3bは、撮像画像(画像データ)上の画素ごとに、注目画素の画素値又は輝度値(特徴量又は第2特徴量)と複数の隣接画素の画素値とから注目画素の画素値の縦方向勾配量(特徴量又は第2特徴量)及び横方向勾配量(特徴量又は第2特徴量)を算出する。具体的には、Sobel(ソベル)オペレータ、Prewitt(プリウイット)オペレータ等の公知のエッジ抽出オペレータを用いれば良い。
例えば、Sobelオペレータについて説明すると、各画素の画素位置x(i,j)における局所的な縦方向勾配Sy(特徴量又は第2特徴量)及び横方向勾配Sx(特徴量又は第2特徴量)は、次式(1)のように求められる。
Sx=xi+1j−1−xi―1j−1+2xi+1j−2xi―1j+xi+1j+1−xi―1j+1
Sy=xi−1j+1−xi−1j−1+2xij+1−2xij−1+xi+1j+1−xi+1j−1
・・・(1)
ここで、xijは画素位置x(i,j)における画素値を表し、iは水平方向(横走査方向)に沿った画素の位置を、jは垂直方向(縦走査方向)に沿った画素の位置をそれぞれ表す。ここに、i及びjは正の整数である。
ここで、式(1)は、次式(2)及び(3)の3×3のSobelオペレータ(行列演算子Sx及びSy)を、画素位置x(i,j)を注目画素とする3×3画素に適用することと等価である。
ここで、画素位置x(i,j)における勾配の大きさABS(S)及び勾配方向ANG(S)は、縦方向勾配Sy及び横方向勾配Sxに基づいて、次のように与えられる。なお、以下では、演算子としての縦方向勾配Sy及び横方向勾配Sxを各画素に適用することによって得られた縦方向勾配量及び横方向勾配量のそれぞれを、便宜上、縦方向勾配量Sy及び横方向勾配量Sxと記載する場合がある。
ABS(S)=(Sx2+Sy2)1/2 ・・・(4)
ANG(S)=tan-1(Sy/Sx) ・・・(5)
なお、「特徴量又は第2特徴量」としては、撮像画像の画素毎に得られる画素値(輝度値)若しくは画素値を量子化(所定の範囲内の量を一律にある一定の量と看做して扱うこと又は度数分布における階級による分類など)したもの、又は画素値の勾配(勾配量、勾配方向)若しくは画素値の勾配を量子化したものなどが例示できる。
エッジ抽出部4は、縦勾配量算出部3a及び横勾配量算出部3bが算出した各画素の縦方向勾配量Sy及び横方向勾配量Sxの算出結果から、撮像画像のエッジ部分の画素であるエッジ画素を抽出(特定)する。
また、エッジ抽出部4は、エッジ画素によって囲まれた領域(エッジ領域,外形領域)を特定し、そのデータを外形領域特定部15に送信したり、エッジ画素の画素値又はその平均値など(エッジパワー)を特定し、エッジパワーの値を、外形領域特定部15を介して位置決定部20に送信したりする。
ここで、エッジ画素とは、画像データを構成する各画素のうち、明るさが急激に変化する部分(エッジ)における画素である。具体的には、縦方向勾配量Sy及び横方向勾配量Sxのそれぞれ、又は、勾配の大きさABS(S)が所定のエッジ閾値以上である画素のことである。
なお、このエッジ画素を抽出する目的は、方向特定部5が、抽出された複数のエッジ画素については勾配方向を特定し、エッジ画素以外の画素については一律無方向と看做して特定するようにする点にある。
パターンマッチングにおいて重要な情報は、エッジ部分のエッジ画素における勾配方向である。
したがって、あまり重要でない画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。また、以下で説明する撮像対象による撮像画像上の指示位置を検出する際のメモリ容量を少量化し、処理時間を短縮化することを可能とし、指示位置の検出処理のコストをさらに削減することができる。
方向特定部5は、上述したように、縦勾配量算出部3a及び横勾配量算出部3bが算出した縦方向勾配量Sy及び横方向勾配量Sxから、画素毎の勾配方向ANG(S)と、縦方向勾配量Sy及び横方向勾配量Sxのそれぞれ、又は、勾配の大きさABS(S)がエッジ閾値未満である無方向とのいずれかを特定するものである。
ここでは、無方向をエッジ閾値未満であると定義しているが、エッジ閾値以下と定義しても良い。
あらかじめ無方向を設定しておくことで、ノイズ等により不要な多数の勾配方向が発生することを抑制することができる。また、エッジ近傍の勾配方向に照合対象を絞りこむことが可能となり、照合の効率化を図ることができる。
なお、方向特定部5は、エッジ抽出部4によって特定された複数のエッジ画素の勾配方向を特定し、エッジ画素以外の画素を無方向と看做して特定することが好ましい。パターンマッチングにおいて重要な情報は、エッジ部分のエッジ画素における勾配方向であると言える。
したがって、パターンマッチングにおいてあまり重要でない画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。
ここで、勾配方向ANG(S)は、0rad〜2πradの範囲で変化する連続量であるから、本実施の形態においては、これを例えば8方向に量子化したものを勾配方向としてパターンマッチングに使用する特徴的な量(特徴量又は第2特徴量)とする。
なお、より精度の高いパターンマッチングを行うために、16方位等に量子化しても良い。具体的な方向の量子化の詳細な手順については後述する。また、方向の量子化とは、勾配方向ANG(S)が所定の範囲内にある方向を一律にある特定の方向の勾配方向であると看做して取り扱うことを言う。
効率化部6は、注目画素の周囲で所定の画素数を含む部分領域に含まれる照合領域(又は第2照合領域)と、あらかじめ定められたモデルパターン(又は第2モデルパターン)との照合(以下、「パターンマッチング」と呼ぶこともある。)を行う場合に、照合領域とモデルパターンとの照合の効率化を行う。
なお、パターンマッチングには、認識点を抽出するためのパターンマッチングと、外形領域を特定するためのパターンマッチングがあり、本実施形態では、これらのパターンマッチングを併用しているものとする。
また、認識点を抽出するためのパターンマッチングでは、特に断らない限り「部分領域」「特徴量」「照合領域」「モデルパターン」及び「合致度」という用語が対応しているものとする。
一方、外形領域を特定するためのパターンマッチングでは、特に断らない限り「第2部分領域」「第2特徴量」「第2照合領域」「第2モデルパターン」及び「第2合致度」という用語が対応しているものとする。
しかしながら、以下の説明では、煩雑なので、「部分領域」「特徴量」「照合領域」「モデルパターン」及び「合致度」は、それぞれ特に断らない限り、「第2部分領域」「第2特徴量」「第2照合領域」「第2モデルパターン」及び「第2合致度」をも意味しているものとして説明する。
また、第2モデルパターン又は第2照合領域は、それぞれモデルパターン又は照合領域よりも画素数が大きいものとする。
なお、特徴量と第2特徴量とは共通の特徴量であっても良いし、それぞれ別個の特徴量としても良い。
また、第1部分領域の大きさと第2部分領域との大きさは同じであっても良いし、異なっていても良いが、第2モデルパターン(又は第2照合領域)がモデルパターン(又は照合領域)よりも大きいという条件を満たす必要がある。
また、「部分領域又は第2部分領域」とは、撮像画像上で所定の画素数を含む領域であり、その形状等は任意である。「部分領域」は、照合領域を含んでいる必要があるので、照合領域よりも大きい画素数を有している必要がある。
さらに、「部分領域」は、その領域に含まれる画素の1つを注目画素としたとき、撮像画像上のすべての画素を注目画素とした場合の部分領域をすべて含む概念である。なお、撮像画像の境界については、周期的境界条件により接続したり、注目画素の位置によって生じる欠落部分を補間したりする等によって処理すれば良い。
次に、「照合領域」は、部分領域に含まれる画素のうち、モデルパターンと照合される画素の集まりからなる領域のことであり、例えば、指の像を認識する場合の略円形領域や略楕円領域などが例示できる。
一致画素数算出部7は、例えば、照合領域と、モデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(以下、「一致画素数」と呼ぶ。)を算出する。
モデルパターン・比較用一致パターン格納部8は、モデルパターンと、比較用一致パターンとを格納する。比較用一致パターンは、照合領域に含まれる画素毎の勾配方向とモデルパターンに含まれる画素毎の勾配方向との一致パターンを分析することによってあらかじめ定めたパターンである。
具体的には、この比較用一致パターンは、照合領域に含まれる画素毎の勾配方向と、モデルパターンに含まれる画素毎の勾配方向との、合致方向の種類数である。そして、この比較用一致パターンは、照合領域の形状がモデルパターン形状に近づくほど照合領域とモデルパターンとの間における一致パターンとの類似度が高くなる比較用完全一致パターンと、照合領域の形状がモデルパターン形状の一部の形状に近づくほど照合領域とモデルパターンとの間における一致パターンとの類似度が高くなる比較用部分的一致パターンと、を含んでいる。
この比較用完全一致パターンと比較用部分的一致パターンとは、照合領域に含まれる画素毎の勾配方向と、モデルパターンに含まれる画素毎の勾配方向との、合致方向の種類数に応じて定められている。すなわち、本実施の形態のように、8方向に量子化したものを勾配方向とした場合であれば、この8方向のうちいずれの方向が照合領域とモデルパターンとの間において合致しているかによって、これら2つの比較用一致パターンが定められている。例えば、比較用完全一致パターンを8方向のうち6方向以上合致するパターンと定め、比較用部分的一致パターンを8方向のうち4〜5方向合致するパターンと定めるが如くである。
なお、以下では、一致画素数及び/又は比較用完全一致パターン(合致度)などを用いるパターンマッチングを完全パターンマッチングと言い、比較用部分的一致パターン又は一致画素数及び/比較用部分的一致パターンなど(部分的合致度)を用いるパターンマッチングを部分的パターンマッチングということがある。
また、モデルパターン・比較用一致パターン格納部8は、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやコンパクトディスク−ROM/MO/MD/デジタルビデオデイスク/コンパクトディスク−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系等を用いることができる。
パターン合致度算出部9は、照合領域に含まれる画素毎の勾配方向とモデルパターンに含まれる画素毎の勾配方向との一致パターンと、あらかじめ定められた比較用一致パターンとが類似する度合いを示すパターン合致度(合致度,第2合致度)を算出する。
そして、パターン合致度算出部9は、照合領域とモデルパターンとの間における一致パターンと比較用完全一致パターンとが類似する度合いを示す完全パターン合致度(合致度,第2合致度)が最大となる照合領域を特定する。
また、パターン合致度算出部9は、完全パターン合致度が最大となる照合領域が複数存在している場合にこれらの照合領域の中から、照合領域とモデルパターンとの間における一致パターンと比較用部分的一致パターンとが類似する度合いを示す部分的パターン合致度(部分合致度)が予め定められた基準合致度を満たしている照合領域を特定する。
なお、照合領域と、あらかじめ定められたモデルパターンとの照合(パターンマッチング)に使用される量としては、画素値(濃度値,輝度値)等のスカラー量も用いることができる。
一方、画素値の勾配はベクトル量であり、大きさ(勾配の大きさABS(S))と向き(勾配方向ANG(S))とを持つものである。ここで、特に、勾配方向(向き)は、例えば8方向に量子化したりすることによって、1つの画素が取り得る状態を8(無方向を含めると9)という極めて少ない状態に離散化することでき、さらにそれぞれの状態には、方向が異なるという識別が容易な特徴を持たせる事ができる。
また、勾配方向は、エッジ勾配に関して上述したような傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、勾配方向は、パターンマッチングに適した量である。
スコア算出部10は、一致画素数算出部7が算出した一致画素数、及びパターン合致度算出部9が算出したパターン合致度から、照合領域とモデルパターンとのマッチングの度合いを示す合致度を算出する。
具体的には、スコア算出部10は、パターン合致度算出部9が算出したパターン合致度が完全パターン合致度であれば、その完全パターン合致度を用いて、照合領域の形状とモデルパターン形状とのマッチングの度合いを示す完全合致度を算出する。また、スコア算出部10は、パターン合致度算出部9が算出したパターン合致度が部分的パターン合致度であれば、その部分的パターン合致度を用いて、照合領域の形状とモデルパターン形状の一部の形状とのマッチングの度合いを示す部分的合致度を算出する。
認識点抽出部11は、スコア算出部10が算出した合致度が最大となる照合領域を含む部分領域から認識点を抽出するものである。例えば、スコア算出部10が算出した合致度が最大となる照合領域を含む部分領域の注目画素の位置(以下、「ピーク画素」と呼ぶ。)を認識点とする場合が考えられる。
「認識点」とは、撮像対象の像が認識された位置とされる点であり、言い換えれば、撮像対象の像が認識された位置(認識されたと推定される位置)とみなされる点のことであり、例えば、推定された撮像対象の接触位置などが例示できる。なお、理論上は、スコア算出部10が算出した合致度が最大となる照合領域を含む部分領域に含まれる任意の点が認識点となり得る。
なお、認識点抽出部11は、スコア算出部10が完全合致度を算出した場合であれば、その完全合致度が最大となるピーク画素の位置をそのまま認識点としても良い。また、認識点抽出部11は、スコア算出部10が部分的合致度を算出した場合であれば、その部分的合致度が最大となるピーク画素の位置をそのまま認識点としても良い。
これにより、撮像対象の像を撮像した撮像画像上で、照合領域と、予め定められたモデルパターンと、合致度が最大となる照合領域を含む部分領域から、その撮像対象の像が認識された凡その位置(認識点)を抽出することができる。
「認識点」の例としては、この他、部分領域の中心又は重心などが例示できる。なお、「認識点」には、モデルパターンの形状と撮像対象の像の外形との類似の程度が低いことによって誤って認識された認識点や、撮像画像における撮像対象の像に対するノイズが多く含まれることによって誤って認識された認識点なども含む概念であり、本願明細書においては、1つの撮像対象の撮像画像に対して複数の認識点が抽出される場合が起こり得るものとする。
また、認識点抽出部11は、ピーク探索部12と、座標算出判定部13と、座標算出部14と、を有している。
ピーク探索部12は、注目画素の周囲で所定の画素数を含む探索領域(以下、「第1領域」と呼ぶ場合がある。)内で、スコア算出部10が算出した合致度が最大値をとる画素であるピーク画素を探索する。
座標算出判定部13は、探索領域の画素数よりも少ない所定の画素数を有すると共に、探索領域内に完全に包含される小領域(以下、「第2領域」と呼ぶ場合がある。)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合に、座標算出部14に認識点を算出(抽出)させる。
座標算出部14は、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素毎の合致度を用いて、認識点を算出するものである。
このように、認識点抽出部11は、ピーク画素領域内の、画素毎の合致度を用いて算出された位置を認識点としても良い。
なお、ピーク探索部12、座標算出判定部13及び座標算出部14が行う上記の動作は、スコア算出部10が部分的合致度を算出した場合でも同様である。
次に、外形領域特定部15は、撮像画像上で撮像対象の像の外形を含む外形領域を特定するものであり、エッジ抽出部4から送信されるエッジ領域をそのまま外形領域としても良いし、以下で説明するようにパターンマッチングで特定された領域を外形領域としても良い。
エッジ領域をそのまま外形領域とすれば、エッジ領域の特定は、画素値の勾配量(エッジ勾配量)を算出することによって行なわれるので、前記特徴量を画素値の勾配量とした場合、特徴量を算出すれば、必然的にエッジ領域の特定も行なわれることになる。
また、エッジ領域を特定するだけで外形領域を特定できるので、以下のパターンマッチングにより外形領域を特定するなどの面倒な処理を行わなくても良い。
よって、パターンマッチングにより外形領域を特定する場合と比較して、処理時間を短縮することができる。
また、外形領域特定部15は、パターン情報格納部16、結合条件格納部17及びパターン結合部18の各ブロックを含んでいる。
パターン情報格納部16は、パターン合致度算出部9が算出した部分的パターン合致度と、スコア算出部10が算出した部分的合致度と、を順次格納する。また、パターン情報格納部16は、パターン合致度算出部9が部分的パターン合致度を算出する際に利用する、照合領域に含まれる画素毎の勾配方向と、モデルパターンに含まれる画素毎の勾配方向との、合致方向の種類数も、順次格納する。
また、パターン情報格納部16は、これら部分的パターン合致度、部分的合致度、合致方向の種類数を、パターン情報として格納する。
結合条件格納部17は、パターン結合部18がモデルパターン形状の一部の形状に一致する形状を持つ照合領域のうち、単一領域として互いに結合すべきものがあるか否かを判断する際、その判断基準となる結合条件をあらかじめ格納している。
また、パターン情報格納部16及び結合条件格納部17は、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやコンパクトディスク−ROM/MO/MD/デジタルビデオデイスク/コンパクトディスク−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系等を用いることができる。
パターン結合部18は、スコア算出部10が部分的合致度を算出する度に、認識点抽出部11が算出した、認識点を取得する。そして、パターン結合部18は、パターン情報格納部16に格納されているパターン情報と、結合条件格納部17にあらかじめ格納されている結合条件と、上記のように取得した撮像対象の一部による認識点と、を用いてモデルパターン形状の一部の形状に一致する形状を持つ照合領域のうち、単一領域として互いに結合すべきものがあるか否かを判断し、その結合すべきとの判断に基づいて、それら照合領域を結合して結合領域を特定し、この結合領域を外形領域とする。なお、「外形領域」は複数存在していても良い。
すなわち、画像処理装置1では、モデルパターンの一部とマッチングする照合領域が存在し、それらの照合領域が所定の結合条件を満足する場合には、それらの照合領域を単一の領域に結合するので、あらかじめ定められたモデルパターンとは異なるパターンも認識することが可能となる。
このため、モデルパターンを多数準備することなく、認識できるパターンを増加させることができるので、マッチング処理に要する計算量を増大させることなく、認識対象パターンの変形や、モデルパターンとは異なるパターンの認識に対応することができる。
ここで、「結合条件」の例としては、結合される複数の第2照合領域間の距離や、結合される複数の第2照合領域の各々に生じる開放方向などが例示できる。
また、「開放方向」とは、モデルパターン形状の一部の形状に一致する形状を持つ照合領域においてモデルパターン形状と一致しない部分における照合領域内部から外部へ向かう方向のことである。
すなわち、言い換えれば、「開放方向」とは、モデルパターン形状の一部の形状に一致する形状を持つ照合領域の形状が1つの閉じた図形の分割図形の形状となっている場合、この分割図形に生じる開放された部分(非連続部分)の撮像画像上の向きのことである。
モデルパターンは、通常、閉じた図形を参考に設定されるので、モデルパターンの一部との第2合致度が高い第2照合領域の形状は、閉じた図形を分割した図形の形状となる。
また、閉じた図形を分割した分割図形には、必ず開放された部分が存在し、分割図形同士を結合する際、開放された部分同士の向き、すなわち「開放方向」を特定しておく必要がある。
以上より、外形領域の特定をパターンマッチングで行うことができる。
しかしながら、外形領域が、略楕円領域である場合のパターンマッチングの方法は、このような方法に限られるわけではない。
すなわち、モデルパターンの形状を略楕円形状として直接楕円領域を認識するようにしても良い。
例えば、表示画面の横走査方向と楕円の軸とのなす角が、0度、45度、90度及び135度となる4つの略楕円形状のモデルパターン(第2モデルパターン)を用いてパターンマッチングを4回繰り返し、4つの略楕円形状のモデルパターンと照合した照合領域のうち、合致度が最大となる照合領域を特定し、この照合領域を楕円領域(外形領域)とすれば良い(完全パターンマッチング)。
なお、表示画面の横走査方向と楕円の軸とのなす角を細かくするほど、より細かなパターンマッチングが可能であるが、逆に処理時間が長くなる。
なお、パターン結合部18は、それら結合する照合領域の各々の認識点を用いて、結合領域の重心(外形領域の重心)を算出する。
認識点包含判定部19は、認識点抽出部11によって抽出された認識点が、外形領域特定部15によって特定された外形領域に含まれているか否かを判定するものである。
これにより、認識点が外形領域に含まれているか否かを判定(区別)することができる。
すなわち、言い換えれば、特定の認識点が、どの外形領域に含まれているのかを判定できるので、1つの撮像対象の像の中に複数の認識点が存在しているのか、隣接する複数の撮像対象に含まれる認識点同士が互いに近接しているのか等を区別することができる。
例えば、撮像対象が指であり、モデルパターンの形状を略円形状とし、外形領域を略楕円形状とした場合、指の外形領域を認識することによって、1本の指の中にノイズなどの影響で複数の認識点があるのか、2本の指による認識点が近接しているのかなどを区別することができる。
〔2.画像処理装置の動作の概要〕
次に、画像処理装置1の動作の概要について説明する。
図3は画像処理装置1の全体的な動作の概要を示すフローチャートである。ステップS101では、図1の低解像度化部2が画像データを低解像度化し、S102に進む。例えば、320×240画素の画像データであれば、160×120画素(低解像度化率1/2)、又は80×60画素(低解像度化率1/4)等のようにバイリニア縮小させる。ここで、バイリニア縮小とは、例えば2×2の各画素が持つ画素値の平均値をとり、2×2画素のデータを、該平均値を持った1×1画素のデータに置き換えることにより、全体として1/4の情報圧縮を行うことを言う。
なお、高速処理の観点からは、できるだけ低解像度化することが好ましいが、必要なエッジ情報等を得るためには、例えば320×240画素(150dpi)の画像データの場合であれば、80×60画素(低解像度化率1/4)を低解像度化の限度とすることが好ましい。また、高精度処理の観点からは、低解像度化を全く行わないか、低解像度化するとしても、160×120画素(低解像度化率1/2)に留めることが好ましい。
以上の画像データの低解像度化により、パターンマッチングの処理コストやメモリ容量の少量化、及び処理時間の短縮化を図ることがきる。
S102では、縦勾配量算出部3a及び横勾配量算出部3bが、画像データ上の画素ごとに、縦方向勾配量Sy及び横方向勾配量Sxを算出してから、方向特定部5が、画素毎の勾配方向と無方向とのいずれかを特定するまでの過程(勾配方向・無方向特定過程)を経た上で、S103に進む。
S103では、効率化部6で、照合領域と、モデルパターンとの照合を行う場合に、照合領域とモデルパターンとの照合の効率化を図るか否か、つまり、照合効率化の要否を選択する。照合効率化を行う場合(Yes)には、S104に進み、効率化部6で照合効率化を行った上でS105に進み、照合効率化を行わない場合(No)にはS108に進み、効率化部6は何もせず、そのままの情報(画像データ、但し、低解像度化部2で、低解像度化している場合には、低解像度化後の画像データ)でS105に進む。
S105では、一致画素数算出部7が、照合領域とモデルパターンとの照合を行って、一致画素数を算出し、パターン合致度算出部9が、パターン合致度を算出してから、スコア算出部10が、一致画素数算出部7が算出した一致画素数、及び、パターン合致度算出部9が算出したパターン合致度から、合致度を算出するまでの過程(パターンマッチング過程)を経た上で、S106に進む。
S106では、認識点抽出部11が、スコア算出部10が算出した合致度が最大となる画素(以下、「ピーク画素」と呼ぶ。)の位置から、認識点を抽出する過程(認識点抽出過程)を経た上で、S107に進む。
S107では、パターン結合部18が、モデルパターン形状の一部の形状に一致する形状を持つ照合領域のうち、単一領域として互いに結合すべきものがあるか否かを判断し、その結合すべきとの判断に基づいて、それらの照合領域を結合した結合領域を特定し、該結合領域を外形領域とする。次に、認識点包含判定部19は、認識点抽出部11が抽出した認識点が上記外形領域に含まれているか否かを判定する。続いて位置決定部20は、外形領域の重心及び認識点の重心に基づいて、外形領域毎にポインティング位置を決定(ポインティング位置決定過程)し、「END」となる。
以上が、画像処理装置1の全体の動作概要である。以下では、勾配方向・無方向特定過程、照合効率化、パターンマッチング過程、認識点抽出過程及びポインティング位置決定過程における画像処理装置1の各動作について説明する。
〔3.勾配方向・無方向特定過程〕
まず、図1、図4、図5(a)及び図5(b)に基づいて、勾配方向・無方向特定過程における画像処理装置1の動作について説明する。
図4は、画像処理装置1の動作のうち、勾配方向・無方向特定過程の動作を示すフローチャートである。図5(a)は、勾配方向・無方向特定過程において参照されるテーブルの一例であり、図5(b)は、勾配方向・無方向特定過程において参照されるテーブルの他の例である。
図4のフローチャートでは、まず、縦勾配量算出部3a及び横勾配量算出部3bがそれぞれ、縦方向勾配量Sy及び横方向勾配量Sxを算出してからスタートする。
S201では、エッジ抽出部4が、各画素における勾配の大きさABS(S)がエッジ閾値以上か否かを判定し、ABS(S)≧エッジ閾値ならば(Yes)、S202に進み、ABS(S)<エッジ閾値ならば(No)、S210に進む。なお、本実施の形態では、ABS(S)=Sx×Sx+Sy×Syとして計算しているが、この量は、上式(4)における厳密な意味で勾配の大きさと異なる。しかし、実装上はこのように勾配の大きさを定義しても問題は無い。
S210に進んだ場合には、方向特定部5は、対象となっている画素、つまり、エッジ画素以外の画素を無方向と設定(特定)し、次の画素へ進んで、S201に戻る。なお、S202に進んだ場合には、対象となっている画素は、無論、エッジ画素である。
S202では、方向特定部5が、横方向勾配量Sxが0であるか否かを判定し、Sx≠0ならば、S203(Yes)に進み、Sx=0ならば、S206(No)に進む。
S203では、方向特定部5は、横方向勾配量Sxが正の値をとるか否かを判定し、Sx>0ならば、S204(Yes)に進み、方向特定部5は、図5(a)のテーブルにしたがって、該当画素について、勾配方向ANG(S)に応じて量子化された勾配方向を設定する。
一方、Sx<0ならば、S205に進み、方向特定部5は、図5(b)のテーブルにしたがって、該当画素について、勾配方向ANG(S)に応じて量子化された勾配方向を設定する。
次に、S206では、方向特定部5は、縦方向勾配量Syが0か否かを判定し、Sy≠0ならば、S207(Yes)に進み、Sy=0ならば、S210(No)に進み、該当画素を無方向と設定し、次の画素へ進んでS201に戻る。
S207では、方向特定部5は、縦方向勾配量Syが正の値をとるか否かを判定し、Sy>0ならば、S208(Yes)に進み、該当画素の勾配方向を上向きに設定して、S201に戻る。
一方、Sy<0ならば、S209(No)に進み、該当画素の勾配方向を下向きに設定して、次の画素へ進んでS201に戻る。
以上の工程は、すべての画素の勾配方向・無方向の設定が終わるまで繰り返される。
パターンマッチングにおいて重要な情報は、エッジ部分の画素であるエッジ画素における勾配方向である。
したがって、上記の動作により、あまり重要でないエッジ画素以外の画素における勾配方向を一律無方向と看做すことで、パターンマッチングの効率化をさらに向上させることができる。また、撮像対象による撮像画像上の指示位置の検出を可能としてメモリ容量を少量化すること及び処理時間を短縮化することを可能とし、指示位置の検出処理のコストをさらに削減させることができる。
〔4.照合効率化〕
次に、画像処理装置1における照合効率化について説明する。
図1に示す効率化部6は、照合領域を、複数の同一画素数の分割領域に分割すると共に、分割領域ごとに、分割領域に含まれる画素毎の勾配方向及び無方向の情報を、分割領域に含まれる勾配方向及び前記無方向の情報に置き換えることで、照合領域とモデルパターンとの照合の効率化を図る。
また、スコア算出部10は、効率化部6によって照合の効率化が行なわれた照合領域とモデルパターンとの照合を行って、照合領域内のそれぞれの分割領域に含まれる勾配方向と、モデルパターンにおける勾配方向との一致数を、前記合致度として算出する。
上述のように、勾配方向は、おおよその傾向がある。また、これらの傾向は、撮像対象の状況等に応じて、大きく変わることは無い。したがって、分割領域の画素数をあまり大きくしなければ、該分割領域内における勾配方向の画素の位置は、勾配方向を用いたパターンマッチングにおいてあまり重要な情報ではない。
そこで、分割領域ごとに、分割領域に含まれる画素毎の勾配方向及び無方向の情報を、分割領域に含まれる勾配方向及び無方向の情報に置き換えることにより、パターンマッチングの照合精度を維持しつつ、照合効率化が可能となる。また、この効率化に伴い、撮像対象による前記撮像画像上の指示位置の検出処理に要するコストを削減することもできる。
以上より、パターンマッチングの照合精度を維持しつつ、照合効率化を可能とし、撮像対象による撮像画像上の指示位置の検出処理に要するコストを削減することができる画像処理装置1を提供することができる。
ここで、図6(a)及び図6(b)に基づき、画像処理装置1における照合効率化の具体例について説明する。
まず、図6(a)に示すように、周囲が暗い場合における画像データの各画素における勾配方向の分布の特徴は、中央にほぼ円形状である、無方向の画素の領域があり、その回りをとり囲むようにして該無方向の領域に向かう向きの勾配方向を持つ画素が多数分布している。
次に、図6(b)は、図6(a)の画像データについて照合効率化を行った後の様子を示す概要図である。
図6(a)に示すように、14×14画素の領域(照合領域)を、複数の2×2画素の領域(分割領域)に分割すると共に、2×2画素の領域ごとに、2×2画素の領域に含まれる画素毎の勾配方向及び無方向の情報を、2×2画素の領域に含まれる勾配方向及び無方向の情報に置き換えることで、14×14画素の領域とモデルパターン(モデルパターンの例については後に詳しく説明する。)との照合の効率化が行われる。
たとえば、図6(a)に示す14×14画素の領域を分割した複数の2×2画素領域のうち、上から2つめ、左から1つめの2×2画素の領域には、左上の画素が「無方向」、右上の画素が「右下向き(勾配方向)」、左下の画素が「右向き(勾配方向)」、及び右下の画素が「右下向き(勾配方向)」となっている。この2×2画素の領域について各勾配方向の存在位置に関する情報を省略したものが、図6(b)の上から2つめ、左から1つめのブロック(以下、便宜上「画素」と呼ぶ場合がある。)である。他のブロックも同様にして生成することができる。結果として、図6(a)に示す14×14画素領域は、合計7×7=49個の2×2画素領域に分割される。
次に、図7(a)〜図9(b)に基づき、照合領域と照合されるモデルパターンの具体例について説明する。
図7(a)は、周囲が暗い場合における照合効率化前の画像データと照合されるモデルパターンの一例を示す概要図である。また、図7(a)のモデルパターンは、図6(a)に示す14×14画素の領域とパターンマッチングを行う場合を想定したものである。また、撮像対象としては、指腹を想定している。
ところで、図7(a)のモデルパターンは、13×13画素のモデルパターンとなっている。この場合、図6(a)に示す14×14画素の領域と全画素数が異なっているが、この例のように照合領域とモデルパターンとの画素数は必ずしも一致しなくても良い。
また、奇数×奇数(13×13)としているのは、中心の画素が1つとなるようにするためである。この中心の画素を画像データ上の着目画素にあわせて1画素づつ、ずらせてパターンマッチングを行う。
この場合の一致画素数は、1画素ごとに照合されて算出されるので、13×13=169画素の照合が必要となる。
一方、図7(b)は、周囲が明るい場合における照合効率化前の画像データと照合されるモデルパターンの一例を示す概要図である。図7(a)のモデルパターンと比較すると各画素の勾配方向が逆向きになっている。図7(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図7(b)は、外光を基礎として撮像された画像データを想定したものであり、画像のエッジ部分に向けて明るくなっている様子を示している。
次に、図8(a)は、周囲が暗い場合における照合効率化後の画像データと照合されるモデルパターンの一例を示す概要図である。図8(a)のモデルパターンは、図6(b)の照合効率化後の照合領域とのパターンマッチングを想定したものである。この例のように、照合領域とモデルパターンとデータ形式は必ずしも同一でなくても良い。この例では、2×2画素の領域を1画素(与えられる勾配方向は1つ)と看做してモデルパターンを簡略化することにより、さらなる照合の効率化を図っている。
図8(b)は、周囲が明るい場合における照合効率化後の画像データと照合されるモデルパターンの一例を示す概要図である。図8(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図8(b)は、外光を基礎として撮像された画像データを想定したものであり、画像のエッジ部分に向けて明るくなっている様子を示している。
図9(a)は、周囲が暗い場合における照合効率化後の画像データと照合されるモデルパターンの他の例を示す概要図である。図8(a)のモデルパターンとの違いは、2×2画素分が1つの領域に纏められているが、該1つの領域ごとに、2つの勾配方向(又は無方向)の自由度が与えられている点である。このようなモデルパターンを工夫することにより、照合の効率化を図りつつ、照合精度を高めることができる。
図9(b)は、周囲が明るい場合における照合効率化後の画像データと照合されるモデルパターンの他の例を示す概要図である。図9(a)は、バックライトの光の反射光を基礎として撮像された画像データを想定したものであり、中央に向かうほど明るくなっている様子を示している。一方、図9(b)は、外光を基礎として撮像された画像データを想定したものであり、画像のエッジ部分に向けて明るくなっている様子を示している。
〔5.パターンマッチング過程〕
次に、画像処理装置1におけるパターンマッチングの過程について説明する。
図10は、図1に示す画像処理装置1の動作のうち、パターンマッチング過程の動作を示すフローチャートである。
S301では、一致画素数算出部7が、照合領域とモデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(一致画素数)を算出してS302に進む。
S302では、パターン合致度算出部9が、方向特定部5又は効率化部6からパターン合致度の算出を決定した旨の通知を受けて、パターン合致度を算出し、S303に進む。
S303では、パターン合致度算出部9が、一致画素数算出部7が算出した一致画素数及びパターン合致度算出部9が算出したパターン合致度を、合算した量を照合領域とモデルパターンとのマッチングの度合いを示す合致度として算出する。
次に、パターンマッチング過程におけるスコア算出部10の具体的なスコア(合致度)算出方法について説明する。
まず、スコア算出部10が照合領域の形状とモデルパターン形状とのマッチングの度合いを示す完全合致度を算出する場合について説明する。
図11(a)は、照合効率化前の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図11(b)は、その合致度算出方法の一例を示す図である。
図11(a)は、図6(a)の照合領域と、図7(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の7行7列(以下では、横方向に並ぶ画素を「列」、縦方向に並ぶ画素を「行」と呼ぶ。また、上から行、左から列を数える。)にある1×1画素はスコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している画素を示している。
図11(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図11(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の13行13列の画素までの一致画素数を算出する方法の一例を示すものである。ここでは、勾配方向が与えられている画素で、モデルパターンの勾配方向と一致した画素を「1」とし、無方向及びモデルパターンの勾配方向と一致していない画素は「0」として計算している。なお、無方向と判定された画素は、最初から計算に含めない構成としても良い。ここでは、網掛けで示された一致画素数は「85」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数(合致度)を用いても良い。
次に、図11(b)に示す、正規化一致画素数について説明する。この正規化一致画素数は、例えば、照合精度を高めるためモデルパターンを複数種類用意してパターンマッチングを行う場合(例えば、21×21、13×13、及び7×7画素の3種類のモデルパターン)に、モデルパターンのサイズに依存しない量として一致画素数を正規化するものである。
ここでは、正規化一致画素数を、次式(6)で定義する。
正規化一致画素数=適当な定数×(一致画素数/モデル中の方向成分が存在する要素数) ・・・・(6)
なお、「適当な定数」は、計算の便宜等を考慮して適宜定めれば良い。ここでは、正規化一致画素数が0〜10の範囲となるように、適当な定数=10と設定している。なお、以下で説明するパターンマッチングの例においても正規化一致画素数を使用しているが、説明は省略する。
(6)式から、図11(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(85/136)=6.25≒6
次に、図12(a)は、照合効率化後の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図12(b)は、その合致度算出方法の一例を示す図である。
図12(a)は、図6(b)の照合効率化後の照合領域と、図8(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の4行4列にある1×1画素(2×2画素に相当するものであるが、便宜上「画素」と言う。)は、スコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している場合がある画素を示している。
図12(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図12(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の7行7列の画素までの一致画素数を算出する方法の一例を示すものである。ここでは、例えば、1行2列では、照合領域では、勾配方向が「右下」の画素が「3つ」存在しており、一方、モデルパターンの勾配方向は、1つであるが、「右下」である。従って、この場合の一致画素数は、「3」と計算する。
他の例では、2行1列では、照合領域では、勾配方向が「右下」の画素が「2つ」と、「右」が「1つ」存在しており、一方、モデルパターンの勾配方向は、1つであるが、「右下」である。勾配方向は、「右下」が「2つ」一致しているが、「右」は一致していない。従って、この場合の一致画素数は、「2」と計算する。なお、ここでは、無方向と判定された画素は、最初から計算に含めない構成としている。
以上の計算をすべての画素について行えば、網掛けで示された部分の一致画素数は「91」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数を用いても良い。
ここでは、正規化一致画素数を、次式(7)で定義する。
正規化一致画素数=適当な定数×(一致画素数/モデル中の方向成分が存在する要素数を4倍した値) ・・・・(7)
適当な定数=10と設定している。
(7)式から、図11(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(91/176)=5.17≒5
次に、図13(a)は、照合効率化後の周囲が暗い場合における照合領域と、モデルパターンとのパターンマッチングを説明するための概要図であり、図13(b)は、その合致度算出方法の一例を示す図である。
図13(a)は、図6(b)の照合効率化後の照合領域と、図9(a)のモデルパターンとのパターンマッチングを行ったものを示している。ここで、図の中央の4行4列にある1×1画素(2×2画素に相当するものであるが、便宜上「画素」と言う。)は、スコアが付与される注目画素の位置である。網掛けされた部分は、照合領域とモデルパターンとで、勾配方向が一致している場合がある画素を示している。
図13(b)に示す、一致パターンは、一致した方向の種類数を見る場合のテーブルを示している。本例では、8方向のすべてについて一致した画素が存在していることを示している。
次に、図13(b)に示す、一致画素数の計算は、上記網掛けの部分を左上の1行1列の画素から、右下の7行7列の画素までの一致画素数を算出方法の一例を示すものである。ここでは、例えば、1行2列では、照合領域では、勾配方向が「右下」の画素が「3つ」存在しており、一方、モデルパターンの勾配方向は、2つであり、「右下」が「1つ」に「下」が「1つ」である。従って、「右下」が一致しているので、この場合の一致画素数は、「3」と計算する。
他の例では、2行1列では、照合領域では、勾配方向が「右下」の画素が「2つ」と、「右」が「1つ」存在しており、一方、モデルパターンの勾配方向は、2つであるが、「右」が「1つ」と「右下」が「1つ」である。勾配方向は、「右」が「1つ」と「右下」が「2つ」一致している。従って、この場合の一致画素数は、「3」と計算する。なお、ここでは、無方向と判定された画素は、最初から計算に含めない構成としている。
ここで、下線を引いた数字と、引いてない数字とが記載されているが、下線を引いた数字は、図12(a)の場合と比較して、一致画素数が増加しているものを示している。
この結果は、図8(a)のモデルパターンよりも図9(a)のモデルパターンを使用した場合の方が、より変形に強い(円形からの歪に対するロバスト性の高い)パターンマッチングが行えることを示している。
以上の計算をすべての画素について行えば、網掛けで示された部分の一致画素数は「119」であるとの算出結果を得ている。なお、この一致画素数をスコア(合致度)として用いても良いが、以下で説明するような正規化一致画素数を用いても良い。
(7)式から、図13(a)の場合の正規化一致画素数を求めると以下のようになる。
正規化一致画素数=10×(119/176)=6.76≒7
次に、図14〜図17(b)に基づき、図1のスコア算出部10が、一致画素数と合致パターンとを併用して、スコア(合致度)を算出する場合について説明する。
図14は、画像処理装置1におけるパターンマッチングにおいて一致画素数とパターン合致度とを併用する場合について説明するためのフローチャートである。
図14のS401では、一致画素数算出部7が、一致画素数を初期化して、S402に進む。S402では、パターン合致度算出部9が一致パターンの初期化を行ってS403に進む。ここでは、勾配方向の種類数を初期化している様子を示している。すべての勾配方向が「無」と表示されているのは、このことを示している。
S403では、一致画素数算出部7とパターン合致度算出部9とが1画素ごとに(照合効率化後の画素も含む)勾配方向の照合等を行って、S404に進む。
S404では、方向が一致すれば(Yes)S405に進み、一致画素数算出部7が一致画素数に一致した方向の要素数(効率化処理なしの場合は「1」)を加えてS406に進み、一方、方向が一致する画素が全くなければ、(No)S401に戻る。
S406では、パターン合致度算出部9が一致した勾配方向を「有」と更新して、S407に進む。
S407では、一致画素数算出部7及びパターン合致度算出部9がモデルパターンの全要素(画素)について照合が終了した場合には、(Yes)S408に進み、照合が終了していない場合には、(No)S403に戻る。
S408では、パターン合致度算出部9が一致パターンのチェックを行い、S409に進む。この一致パターンのチェックの詳細については、後に説明する。
S409では、パターン合致度算出部9が、モデルパターン・比較用一致パターン格納部8を参照して、「許可パターン」に該当するか否かを判定し、許可パターンに該当する場合は、(Yes)S410に進む。一方、許可パターンに該当しない場合は、(No)「Return」に進む。
なお、パターン合致度算出部9は、「許可パターン」に該当する場合にはパターン合致度を「1」とし、「許可パターン」に該当しない場合にはパターン合致度を「0」とし、スコア算出部10は、一致画素数算出部7が算出した一致画素数にこれらの数値を掛ける構成が考えられる。
S410では、スコア算出部10が、一致画素数算出部7が算出した一致画素数から正規化一致画素数を算出してパターンマッチングのスコア(合致度)とする。
次に、図15に基づき、上記パターンマッチングにおける一致パターンのチェックの一例について説明する。図15は、パターン合致度算出過程の一例を示すフローチャートである。なお、ここでは、勾配方向の種類は8方向あり、勾配方向種類数の閾値(DN)を6に設定した場合について説明する。
図15に示すように、S501では、パターン合致度算出部9が、一致パターンの「有」の数が6以上の場合には、S502に進み、一致パターンの許可を行う。
一方、パターン合致度算出部9は、一致パターンの「有」の数(勾配方向種類数)が5以下の場合には、S503に進み、一致パターンの不許可を行う。
次に、図16(a)〜図16(c)に基づき、一致パターンのチェックにおける第1の例を説明する。
図16(a)は、パターン合致度算出過程の一例を示す概要図であり、図16(b)は、パターン合致度算出過程の他の例を示す概要図であり、図16(c)は、パターン合致度算出過程のさらに他の例を示す概要図である。
図16(a)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「8」方向がすべて存在しているので、閾値の6以上であり、図15のフローでは、「許可パターン」と判定される。したがって、図16(a)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
図16(b)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の6以上であり、図15のフローでは、「許可パターン」と判定される。したがって、図16(b)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
図16(c)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の6以上であり、図15のフローでは、「許可パターン」と判定される。
以上の結果、図16(c)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
次に、図17(a)〜図17(c)に基づき、一致パターンのチェックにおける第2の例を説明する。
図17(a)は、パターン合致度算出過程のさらに他の例を示す概要図であり、図17(b)は、パターン合致度算出過程のさらに他の例を示す概要図であり、図17(c)は、パターン合致度算出過程のさらに他の例を示す概要図である。
図17(a)では、一致画素数は「24」と算出している。また、勾配方向の一致パターンは、「6」方向が存在しているので、閾値の6以上であり、図15のフローでは、「許可パターン」と判定される。したがって、図17(a)の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「24」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
図17(b)では、一致画素数は「22」と算出している。また、勾配方向の一致パターンは、「4」方向が存在しているので、閾値の6未満であり、図15のフローでは、「不許可パターン」と判定される。したがって、図17(b)の場合には、パターン合致度算出部9は、パターン合致度として「0」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「22」と「0」とを掛け算して「0」をスコアとする。
図17(c)では、一致画素数は「22」と算出している。また、勾配方向の一致パターンは、「4」方向が存在しているので、閾値の6未満であり、図15のフローでは、「不許可パターン」と判定される。
以上の結果、図17(c)の場合には、パターン合致度算出部9は、パターン合致度として「0」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「22」と「0」とを掛け算して「0」をスコアとする。
以上のように、スコア算出部10は、照合領域と、モデルパターンとの照合を行って、照合領域に含まれる勾配方向と、モデルパターンに含まれる勾配方向とが一致する画素数(一致画素数)、及び、照合領域に含まれる画素毎の勾配方向とモデルパターンに含まれる画素毎の勾配方向との一致パターンと、あらかじめ定められた比較用一致パターンとが類似する度合いを示すパターン合致度から、スコア(合致度)を算出する。
次に、スコア算出部10が照合領域の形状とモデルパターン形状の一部の形状とのマッチングの度合いを示す部分的合致度を算出する場合について説明する。ここでは、スコア算出部10が、一致画素数と合致パターンとを併用して、部分的合致度を算出する場合について説明する。なお、ここでは、スコア算出部10が完全合致度を算出する場合と異なる点について説明するものとし、同じ点については説明を繰り返さない。
上述したように、図17(b)及び(c)の場合、照合領域は「不許可パターン」と判定されており、この場合にはスコア算出部10が完全合致度を算出することはない。
このような場合、パターン合致度算出部9は、図14に示したフローに従って、今度は、モデルパターン・比較用一致パターン格納部8に格納されている比較用部分的一致パターンを用いてパターン照合を実行する。
すなわち、図14のS408において、パターン合致度算出部9がモデルパターン・比較用一致パターン格納部8を参照して、比較用部分一致パターンに対応する「許可パターン」を用いて、チェックを行うことになる。
具体的には、図15のS501において、パターン合致度算出部9が、一致パターンの「有」の数に基づいて、一致パターンの許可/不許可を行う。勾配方向の種類が8方向あり、勾配方向種類数の閾値(DN)が4である場合、比較用部分一致パターンの「有」の数が4であれば、S502に進み、一致パターンの許可を行う。一方、パターン合致度算出部9は、一致パターンの「有」の数が4未満の場合には、S503に進み、一致パターンの不許可を行う。
図21は、部分的パターン合致度算出過程の一例を示す概要図である。図21では、一致画素数は「20」と算出している。また、勾配方向の一致パターンは、「4」方向が存在しているので、閾値の4以上であり、図15のフローでは、「許可パターン」と判定される。したがって、図21の場合には、パターン合致度算出部9は、パターン合致度として「1」を算出し、スコア算出部10は、一致画素数算出部7が算出した、一致画素数「20」と「1」とを掛け算したのち、正規化一致画素数を算出してスコアとする。
〔6.認識点抽出過程〕
次に、画像処理装置1における認識点抽出過程について説明する。
図18は、画像処理装置1の動作のうち、認識点抽出過程過程の動作を示すフローチャートである。
S601では、ピーク探索部12が、注目画素の周囲で所定の画素数を含む第1領域(探索領域)内で、スコア算出部10が算出した合致度が最大値をとる画素であるピーク画素を探索して、ピーク画素を発見したらS602に進む。なお、図示していないが、ピーク探索部12が、ピーク画素を発見できない場合には、注目画素を所定数(例えば、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ))ずらしてS601に戻る。
S602では、座標算出判定部13が、第1領域と共通の注目画素をもち、第1領域の画素数よりも少ない所定の画素数を有すると共に、第1領域に完全に包含される第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合には、S603に進み、座標算出判定部13は、「ピーク画素あり」と判定し、S604に進む。一方、座標算出判定部13が、第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在しなかった場合には、S605に進み、座標算出判定部13は、「ピーク画素なし」と判定し、注目画素を所定数(例えば、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ))ずらしてS601に戻る。
以上の手順は、座標算出部14が認識点の座標を抽出するまで繰り返される。
S604では、座標算出部14が、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素毎のスコアを用いて、認識点の座標を抽出して「END」となる。
なお、上述の説明では、座標算出部14が認識点の座標を抽出するまで処理を繰り返す場合について説明したが、複数の認識点の座標を抽出可能な構成としてもよく、この場合、画像全体に対して処理を終了するまで、第1・第2領域を移動して、図18に示すフローチャートの処理を実行すればよい。
次に、図19(a)及び図19(b)を用いて、ピーク画素の有無の判定について説明する。
図19(a)は、画像処理装置1における座標算出判定部13が、ピーク画素が無いと判定する場合を説明するための概要図であり、(b)は、座標算出判定部13が、ピーク画素が有ると判定する場合を説明するための概要図である。
図19(a)に示す実線が第1領域であり、破線が第2領域である。第1領域の画素数は、9×9画素であり、第2領域の画素数は、5×5画素である。それぞれ、奇数×奇数としているのは、中央の注目画素が1画素となるようにするためである。
図19(a)の例では、第1領域内にピーク画素である「9」が存在しているが、該ピーク画素は、第2領域内には存在していない。したがって、この場合は、座標算出判定部13は、「ピーク画素なし」と判定する。
一方、図19(b)の例では、第1領域内にピーク画素である「9」が存在しており、かつ、第2領域内にも存在している。したがって、この場合は、座標算出判定部13は、「ピーク画素あり」と判定する。
なお、上述の例では、第1領域にピーク画素が存在している場合において、第2領域内にピーク画素が無い場合には、第1領域の注目画素から端の画素までの最短コース(第2領域の一辺のサイズ)である「5画素」だけ、第1領域及び第2領域を動かせば、必ず、ピーク画素が第2領域内に入ってくるように、第1領域と第2領域との画素数との差が設定されている。
次に、図20(a)及び図20(b)に基づき、座標算出部14の認識点抽出方法について説明する。
図20(a)は、画像処理装置1における撮像対象による撮像画像上における認識点抽出のために使用されるピーク画素領域について説明するための概要図であり、図20(b)は、画像処理装置1における認識点抽出方法を説明するための概要図である。
図20(a)は、座標算出判定部13が「ピーク座標あり」と判定した場合であり、図19(b)の場合と同じである。
なお、図20(a)は第1領域及び第2領域とも破線の領域で示されている。一方、実線で示した5×5画素の領域が、ピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域である。
図20(a)に示す例では、このピーク画素領域も第2領域と同様に、第1領域に完全に包含されている。この場合は、ピーク画素領域内のスコアをあらためて調べる必要が無い。このように、第2領域の端にピーク画素が存在する場合でも、ピーク画素領域が第1領域内に包含されるように構成することが好ましい。
次に、図20(b)に基づき、座標算出部14の認識点の抽出方法について説明する。
本例では、画像データの画素数が、320×240画素である場合に、図1の低解像度化部2が、バイリニア縮小を2回行い、さらに、効率化部6が、2×2画素について照合効率化を行い、スコア画像(スコアのデータを画素ごとに付与したもの)のサイズが40×30画素になっている場合を想定している。
したがって、スコア画像の全領域を8倍に拡大したものが、画像データの全領域に相当する。したがって、補間量(スケール拡大量)=8となっている。
具体的な計算方法は、以下のとおりである。まず、ピーク画素領域における行ごとのスコアの和を計算する(図20(b)の19、28、33、24、及び11)。
次に、ピーク画素領域における列ごとのスコアの和を計算する(図20(b)の16、24、28、26、及び21)。また、ピーク画素領域内(5×5画素)のスコアの総和を求める(図20(b)の115)。
次に、ピーク画素領域内のスコアの値が質量分布に相当するものとして、スコア画像の全領域における重心座標を求め、スケールを8倍に拡大すると、次式(8)及び(9)の座標を得る。
次に、画素のサイズを考慮して目盛り位置の調整を行うと、認識点の座標(X,Y)は、次式(10)となる。
以上によれば、ピーク探索部12は、第1領域(探索領域)内で探索するので、全画素数を含む画像データ領域において、ピーク画素を探索するよりも処理コストを低減、及びメモリ容量を少量化させることができる。
例えば、第1領域の画素数が小さいということは、データ画像(スコア画像)全体(=全画素)のスコアをバッファに保存しておく必要がなく、ピーク探索を実行する第1領域に必要なメモリ容量(例えば9×9画素の第1領域の場合、9ライン分のラインバッファ)があればよい、ということになる。
このように、ラインバッファで実装することにより、メモリ容量を少量化できる効果は、ピーク探索に限らず、縦横の各勾配量の一時保存や、勾配方向の一時保存等、後段処理に受け渡す際にバッファメモリが介在するような実装を行う場合には、全て共通して言えることである。
さらに、座標算出部14は、ピーク探索部12が発見したピーク画素を中心とする所定の画素数を含む領域であるピーク画素領域内の、画素毎のスコアを用いて、認識点を抽出する。例えば、エッジ画像を用いてその重心位置から認識点を求める場合、撮像画像が歪な形に変形するほど算出が困難になると考えられる。
しかし、画像処理装置1では、ピーク画素領域内の、画素毎のパターンマッチングによるスコアを用いて、認識点の座標を抽出する。このパターンマッチングにおけるスコアの最大値近傍は、撮像画像が歪な形に変形したとしても、該最大値近傍を中心として、放射状に合致度が減少していくという、ほぼ変形前と同様の分布傾向を示すものと考えられる。
したがって、撮像画像が歪な形に変形するか否かに関係なく、所定の手順(例えば、ピーク画素領域内でスコアの重心を算出する等)で、認識点の座標を抽出することができる。それゆえ、認識点の座標の検出精度の維持との両立を図りつつ、認識点の座標を抽出するための画像処理量の軽減、処理コストの低減、及びメモリ容量の少量化が可能となる。
以上より、撮像対象の撮像画像へのタッチ・非タッチの検出に関係なく、1フレームの画像データのみを用いたパターンマッチングを行うことで、認識点の座標の抽出を可能としてメモリ容量を少量化し、及び処理時間を短縮化しつつ、認識点の座標を抽出において、画像処理量の軽減と認識点の検出精度の維持との両立、及びメモリ容量の少量化を実現することができる画像処理装置1を提供することができる。
また、座標算出判定部13は、第1領域と共通の注目画素をもち、第1領域の画素数よりも少ない所定の画素数を有すると共に、第1領域内に完全に包含される第2領域(小領域)内に、ピーク探索部12が発見したピーク画素が存在することを判定した場合に、座標算出部14に認識点の座標を抽出させることが好ましい。
ピーク画素領域は、第2領域内に存在するピーク画素を注目画素としてその周囲に広がる領域であるので、第1領域と共通する画素が多数存在することになる。また、ピーク画素領域と第1領域との共通の画素のスコアは既に算出されているので、非共通の画素のスコアを調べれば、座標算出部14に認識点の座標を抽出させることができる。
また、ピーク画素領域と第1領域とのそれぞれの画素数を調整すれば、ピーク画素領域を第1領域に包含させることも可能である。この場合、ピーク画素領域の各画素のスコアは既に判明しているので、認識点の座標を抽出のためにあらためて判明していない各画素のスコアを調べる必要が無い。
以上より、認識点の座標の抽出において、さらに画像処理量の軽減及びメモリ容量の少量化を実現することができる。また、ピーク座標判定時に第1領域の外側に向けてスコアの上昇が連接している場合への対応と、ハードウェア実装等において各処理モジュールをパイプライン処理する際等に、参照すべきスコアの保持バッファ容量を少量化(例えば画像全体ではなく9ラインのみ)できる。
〔7.ポインティング位置決定過程〕
次に、画像処理装置1におけるポインティング位置決定過程について説明する。
このポインティング位置決定過程は、外形領域特定処理、認識点包含判定処理及びポインティング位置決定処理の3つの処理を含んでいる。
(7−1:外形領域特定処理)
まず、ポインティング位置決定過程のうち、外形領域特定処理について説明し、パターンマッチングにより外形領域を特定する場合について説明する。
また、ここでは、外形領域が、略楕円領域である場合について説明し、パターンマッチングの方法としては、モデルパターンの形状を略円形状としてモデルパターン形状の一部の形状に一致する形状を持つ照合領域同士を結合して楕円領域(外形領域)を特定する場合について説明する。
しかしながら、外形領域が、略楕円領域である場合のパターンマッチングの方法は、このような方法に限られるわけではない。
すなわち、上述したように、モデルパターンの形状を略楕円形状として直接楕円領域を認識するようにしても良い。
さて、上述したように、図1に示すパターン合致度算出部9は、照合領域(第2照合領域)とモデルパターン(第2モデルパターン)との間における画素毎の勾配方向の一致パターンと比較用一致パターンとが類似する度合いを示すパターン合致度(第2合致度)を算出している。このパターン合致度のうち、比較用部分的一致パターンとの類似の度合いを示す部分的パターン合致度(部分的合致度)は、パターン合致度算出部9からパターン情報格納部16に出力されており、パターン情報格納部16は、部分的パターン合致度の算出ごとに、それらを順次格納している。
また、この部分的パターン合致度がパターン情報格納部16に格納される際、その照合領域とモデルパターンとの間における勾配方向の一致パターンの「有」の数(勾配方向種類数)も、同時にパターン情報格納部16に格納されている。
そして、パターン結合部18が、このようにしてパターン情報格納部16に格納された一致パターンの「有」の種類を用いて、モデルパターン形状の一部の形状に一致する形状を持つ照合領域においてモデルパターン形状と一致しない部分(以下、「開放部分」と呼ぶ。)における照合領域内部から外部へ向かう方向(以下、「開放方向」と呼ぶ。)を特定する。
ここで「開放方向」とは、言い換えれば、モデルパターン形状の一部の形状に一致する形状を持つ照合領域の形状が1つの閉じた図形の分割図形の形状となっている場合、この分割図形に生じる開放された部分(非連続部分)の撮像画像上の向きのことである。
すなわち、モデルパターンは、通常、閉じた図形を参考に設定されるので、モデルパターンの一部との部分的合致度が高い照合領域の形状は、閉じた図形を分割した図形の形状に近似する。
また、閉じた図形を分割した分割図形には、必ず開放された部分が存在し、分割図形同士を結合する際、開放された部分同士の向き、すなわち「開放方向」を特定しておく必要がある。
図22に、照合領域とモデルパターンとの間における勾配方向の一致パターンの「有」の種類と開放方向との対応関係の一例を示す。図22においては、4つの例が示されており、例えば第1番目の例では、開放方向が図上、下方向に向いている。無論、開放方向は8方向に限られるものではなく、例えば16方向等、より細かく設定してもよい。
また、図22に示した例は、一例に過ぎず、例えば図23に示すように、図22の第1番目の例における一致パターンの「有」の方向を45度ずつ回転させていったものも含まれる。図23には、8つの例が示されており、例えば第2番目の例では、図22の第1番目の例に対して、45度左回転したものとなっており、第3番目の例では、図22の第1番目の例に対して、90度左回転したものとなっている。同様に、図22の第2〜4番目の各例における一致パターンの「有」の方向を45度ずつ回転させていったものも含まれる。
なお、本実施の形態においては、上述したように、勾配方向の一致パターンの「有」の種類を用いて開放方向を特定しているが、本発明はこれに限られるものではない。要は、照合領域がモデルパターンと一致する部分の位置に基づいて照合領域の開放方向を特定すればよい。すなわち、照合領域内部から、照合領域がモデルパターンと一致しない部分に向かう方向を開放方向とすればよい。
このようなパターン情報を用いて、パターン結合部18は、モデルパターン形状の一部の形状に一致する形状を持つ照合領域の各々の開放方向を特定する。
次に、図24〜図27を用いて、結合条件格納部17にあらかじめ格納されている結合条件について説明する。
上述したように、パターン結合部18は、結合条件格納部17にあらかじめ格納されている結合条件を用いて、モデルパターン形状の一部の形状に一致する形状を持つ照合領域のうち、単一領域として互いに結合すべきものがあるか否かを判断し、その結合すべきとの判断に基づいて、それら照合領域を結合する。なお、ここでは、モデルパターン形状が円形状、モデルパターン形状の一部の形状に一致する形状を持つ照合領域の形状が半円形状、単一領域として結合されるべき領域の形状が楕円形状である場合を例として説明する。
このような場合においては、パターン結合部18は、以下の結合条件を用いることになる。すなわち、「結合条件」の例としては、複数の照合領域間の距離に関する条件(距離条件)や、複数の照合領域の各々に生じる開放方向に関する条件(開放方向条件)などが例示できる。
もちろん、以下の述べる条件は単なる一例に過ぎず、モデルパターン形状等によって異なるものである。無論、本発明はこのような例に限定されるものではない。モデルパターンの形状及びその結合条件を適切に設定することにより、あらかじめ用意されたモデルパターンとは異なるパターンの認識を実現することができる。
(a)距離条件
(b)開放方向条件
まず、(a)距離条件について説明する。図24及び図25は、この距離条件を説明するための図である。第1に、図24に示すように、2つの照合領域同士の距離をd、モデルパターンの半径をrとした場合、dがr/2以上であることが必要である。
第2に、図25に示すように、dが所定の距離(ここでは、3cm)以下であることが必要である。なお、この所定の距離は、例えば、撮像対象が利用者の指腹である場合、表示画面上における指腹の広がり具合から定められたものである。利用者の指腹の大きさとしてはこの程度を見れば十分と思われるからである。また、所定の距離を用いるのに代えて、表示画面上においてこの所定の距離に相当する画素数を用いて結合条件を設定してもよい。例えば、3.5インチのHVGA(320×480画素)の場合、1cmが約65ピクセルであり、3cmであれば約195ピクセルに相当する。したがって、この場合であれば、dが195ピクセル以下であることを結合条件とすることができる。
次に、(b)開放方向条件について説明する。図26及び図27は、この開放方向条件を説明するための図である。第1に、図26に示すように、2つの照合領域の開放方向が互いに向かい合っていることが必要である。この向かい合っているか否かの判定は、例えば、一方の開放方向を180度回転させて、2つの開放方向が一致するか否かによって行えばよい。2つの開放方向が互いに向かい合っていれば、2つの開放方向が一致する筈だからである。
第2に、図27に示すように、2つの照合領域の開放方向が同一の直線上に載ることが必要である。この同一直線上に載るか否かの判定は、例えば、2つの照合領域の各々中心座標同士を結ぶ直線の方向を求めて、この方向が図26を用いて説明した2つの開放方向が一致した方向に一致するか否かによって行えばよい。なお、2つの照合領域の各々中心座標同士を結ぶ直線を180度回転させたものに対して、図26の2つの開放方向が一致した方向と一致するか否かを判定しても無論構わない。
パターン結合部18は、このような結合条件が満たされているか否かを判定し、結合条件を満たしているとの判定結果に基づいて、半円形状である2つの照合領域を結合させ、楕円形状の領域(楕円領域ER:外形領域)とする。
また、パターン結合部18は、このような結合を行った場合、2つの照合領域の位置から結合された領域の位置(以下では、楕円領域ERの重心の位置とする)を特定する。
(7−2:ノイズと認識点との関係)
次に、図28(a)・(b)に基づき、光センサ内蔵液晶ディスプレイにおけるノイズと、認識点との関係について説明する。
図28(a)は、撮像画像に生じるノイズについて説明するための概念図であり、図28(b)は、ノイズが認識点となってしまうという問題点を説明するための概念図である。
図28(a)は、光センサ内蔵液晶ディスプレイの表示画面に黒い円の画像が表示された場合に生じる光センサのノイズである。
図示のように、指が接触していない状態でも撮像画像には、ノイズN1〜ノイズN4が生じているものとする。
このとき、指F1と指F2が図28(b)に示すようにディスプレイ上に接触した場合、ディスプレイ上に表示された画像と、ディスプレイ上に接触した指の像との重ね合わせ画像を撮像することになるので、認識点P1〜認識点P3のすべてが認識点として抽出されてしまう可能性がある。
しかしながら、図28(b)に示すように、認識点P1〜認識点P3の抽出と共に、楕円領域ER1及び楕円領域ER2を特定し、認識点P1〜認識点P3がどの楕円領域に含まれているか判定できれば、楕円領域ER1、すなわち、指F1のポインティング位置の候補となる認識点なのか、楕円領域ER2、すなわち、指F2のポインティング位置の候補となる認識点なのかを区別することができる。
例えば、認識点P1及び認識点P2は、楕円領域ER1に含まれているので、認識点P1及び認識点P2は、指F1のポインティング位置の候補となる。
一方、認識点P3は、楕円領域ER2に含まれているので、認識点P3は、指F2のポインティング位置の候補となる。
以上より、指F1及び指F2のタッチ位置を認識する場合に、1本の指の中にノイズ等の影響で複数の認識点P1〜P3が存在しているのか、隣接する指F1の認識点P1・P2と、指F2の認識点P3とが互いに近接しているのかを区別することができることがわかる。
(7−3:認識点包含処理〜ポインティング位置決定処理)
次に、図18及び図28(a)〜図29に基づき、認識点包含処理を経て指Fのポインティング位置FPを決定するまでの処理について説明する。
まず、S701で、図18の認識点抽出過程のフローで座標算出部14が、認識点の座標を抽出し、図28(b)に示すように外形領域特定部15によって楕円領域ER1及び楕円領域ER2が特定されたものとしてS702に進む。
S702では、外形領域特定部15が、楕円領域ER1及び楕円領域ER2のすべてについて認識点包含判定処理が行なわれているか否かを確認する。
ここでは、全く認識点包含判定処理は行われていないので、「NO」となり、S703に進む。
S703では、認識点包含判定部19が、認識点包含判定処理を行う楕円領域として楕円領域ER1を選択し、楕円領域ER1に認識点P1及びP2が含まれていると判定してS704に進む。なお、楕円領域ER1に含まれる認識点が存在していない場合は、「NO」となり、S702に戻る。
S704では、位置決定部20が、楕円領域ER1の重心EGと、認識点P1及びP2の重心PGに基づいてポインティング位置FPを決定する。ポインティング位置FPの決定方法としては、方法1.認識点P1及びP2を削除(無視)して楕円領域ERの重心EGを採用する方法、方法2.楕円領域ERの重心EGとの認識点P1及びP2の重心PGとの中点CGを採用する方法、及び方法3.楕円領域ERの重心EGと認識点P1及びP2の重心PGとの加重平均を求める方法などが考えられる。なお、これらの方法の具体例については後述する。
なお、ここでは、簡単のため、方法1を選択し、楕円領域ER1の重心をポインティング位置FPと決定したものとして説明する。
次に、楕円領域ER1におけるポインティング位置決定処理が終了したので、S702に戻る。
S702では、楕円領域ER2の認識点包含判定処理が終了していないので、認識点包含判定部19が、認識点包含判定処理を行う楕円領域として楕円領域ER2を選択し、楕円領域ER2に認識点P3が含まれていると判定してS704に進む。
S704では、位置決定部20が、楕円領域ER1の重心と、認識点P1に基づいてポインティング位置FPを決定する。なお、ここでは、簡単のため、方法1を選択し、楕円領域ER2の重心をポインティング位置FPと決定したものとして説明する。
次に、楕円領域ER2におけるポインティング位置決定処理が終了したので、S702に戻る。
S702では、楕円領域ER1及び楕円領域ER2のすべての楕円領域について認識点包含判定処理が終了しているので、S705に進む。
S705では、位置決定部20が、楕円領域ER1の重心及び楕円領域ER2の重心をそれぞれ指F1及び指F2のポインティング位置FPとして出力し「END」となる。
(7−4:外形領域の決め方について)
次に図30(a)〜(c)に基づき、指の像FIを撮像したときの外形領域の決め方について説明する。
図30(a)は、外形領域の一例を示す概念図であり、図30(b)は、外形領域のその他の例を示す概念図であり、図30(c)は、外形領域のさらに他の例を示す概念図である。
まず、図30(a)は、略楕円形状のモデルパターンをもちいて完全パターンマッチングを行った場合を示しており、この場合、完全パターン合致度が最大となった照合領域(楕円領域ER)を外形領域として特定すればよい。このとき、楕円領域ERの重心(中心)がポインティング位置FPの候補となる。なお、認識点包含判定部19は、認識点P1が楕円領域ERに包含されていると判定し、認識点P2は楕円領域ERに包含されていないと判定する。よって、認識点P1もポインティング位置FPの候補となる。
次に、図30(b)は、略円形状のモデルパターンをもちいて部分的パターンマッチングを行った場合の一例を示しており、この場合、部分的合致度が基準合致度を満たす照合領域同士を結合した結合領域(楕円領域ER)を外形領域として特定すればよい。このとき、半円中心C1及び半円中心C2(又はこれらの中点)がポインティング位置FPの候補となる。なお、認識点包含判定部19は、認識点P1が楕円領域ERに包含されていると判定し、認識点P2は楕円領域ERに包含されていないと判定する。よって、認識点P1もポインティング位置FPの候補となる。
図30(c)は、略円形状のモデルパターンを用いて部分的パターンマッチングを行った場合の他の例を示しており、上下の2つの略半円と2つの線分で囲まれた外形領域EXRとなっている。
これは、部分的パターンマッチングを行った後の照合領域同士の結合の際の距離条件を変更し、略円形状のモデルパターンとの部分的パターンマッチングで得られた上側の略半円形状の照合領域の半円中心C1と、下側の略半円形状の照合領域の半円中心C1との間の距離(距離d)を略楕円形状となる場合よりも長く設定することにより得られた外形領域である。
このとき、半円中心C1及び半円中心C2(又はこれらの中点)がポインティング位置FPの候補となる。なお、認識点包含判定部19は、認識点P1が外形領域EXRに包含されていると判定し、認識点P2は外形領域EXRに包含されていないと判定する。よって、認識点P1もポインティング位置FPの候補となる。
(7−5:指の接触状態と指の撮像画像との関係について)
次に、図31(a)〜(d)に基づき、指の接触状態と指の撮像画像との関係について説明する。
図31(a)は、液晶ディスプレイDに指Fの指腹がピッタリと接触している様子を示す概念図であり、図31(b)は、そのときの撮像画像の様子を説明するための概念図であり、図31(c)は、液晶ディスプレイDに指Fの指先が接触している様子を示す概念図であり、(d)は、そのときの撮像画像の様子を説明するための概念図である。
図31(a)に示すように、液晶ディスプレイDに指Fの指腹がピッタリと接触している場合、図31(b)に示すように、指の像FIは、略楕円形状に近くなり、例えば、略楕円形状のモデルパターンとの完全マッチングの程度が高くなる(略楕円形状のモデルパターンとの合致度が高くなる)。
このため、略円形状のモデルパターンとの完全マッチングの程度は低くなるが、略楕円形状の両端は、一部略円形状に類似しているので、略円形状のモデルパターンとの完全マッチングにより、図31(b)の認識点P1及びP2の2点を認識してしまう可能性が高くなる。
次に、図31(c)に示すように、液晶ディスプレイDに指Fの指先が接触している場合、図31(d)に示すように、指の像FIは、略円形状に近くなり、例えば、略円形状のモデルパターンとの完全マッチングの程度が高くなり(略円形状のモデルパターンとの合致度が高くなる)、高い確率で認識点P1を認識する。
一方、このとき、略楕円形状のモデルパターンとの完全マッチングの程度は低くなり、楕円領域は認識されない可能性がある。なお、この場合は、認識点P1をポインティング位置FPとすれば良い。また、このような場合、楕円領域(外形領域)が特定されない虞があるので、エッジ抽出部4が特定したエッジ領域を外形領域とすることが好ましい。
このように、パターンマッチングによって外形領域を特定する方法と、エッジ領域を外形領域とする方法とを組合せることにより、外形領域の特定漏れを回避することができる。
(7−6:ポインティング位置決定方法の具体例)
次に、図32(a)〜(c)に基づき、ポインティング位置決定方法の具体例について説明する。
図32(a)は、認識点P1・P2を無視(削除)して楕円領域ERの重心EGをポインティング位置FPとする場合を説明するための概念図であり、(b)は、楕円領域ERの重心EGと認識点P1〜P3の重心PGとの中点CGをポインティング位置FPとする場合を説明するための概念図であり、(c)は、楕円領域ERの重心EGと認識点P1〜P3とを所定の重みで加重平均して算出された位置をポインティング位置FPとする場合を説明するための概念図である。
図32(a)は、認識点包含判定部19によって認識点P1・P2が楕円領域ERに含まれていると判定された場合を示している。
また、ここで、位置決定部20は、楕円領域ERに含まれている認識点P1・P2を無視して、楕円領域ERの重心EGを指Fのポインティング位置FPと決定している。
このような方法でポインティング位置FPを決定すれば、楕円領域ERの重心EG及び楕円領域ERに含まれている認識点P1・P2を用いた演算等によりポインティング位置FPを決定する必要がないので、余分な演算等を行うよりも処理速度が高くなる。
なお、この方法を採用する状況としては、例えば、図31(a)に示すように、指Fの指腹が液晶ディスプレイDにピッタリと接触している状況が例示できる。
このように液晶ディスプレイDに指Fの指腹がピッタリと接触している場合、ユーザの意識は楕円領域ERの重心EGの近傍に集中すると考えられる。よって認識点P1・P2を無視する必要性が生じる。
なお、略楕円形状のモデルパターンとの完全マッチングのスコアが、所定の閾値よりも高い場合には、必ず楕円領域ERの重心EGをポインティング位置FPと決定するようにしても良い。
次に、図32(b)は、認識点包含判定部19によって認識点P1〜P3が楕円領域ERに含まれていると判定された場合を示している。
また、ここで、位置決定部20は、楕円領域ERに含まれている認識点P1〜P3の重心PGと楕円領域ERの重心EGとの中点CGを指Fのポインティング位置FPと決定している。
例えば、撮像対象が指Fであり、モデルパターンの形状を略円形状とし、外形領域を略楕円形状とした場合、ポインティング位置FPを楕円領域ERの重心EGと、認識点P1〜P3の重心PGとの中点CGとすることによって、指Fの指先が接触している場合と、指腹がピッタリと接触している場合との中間的な状態におけるポインティング位置FPを推定できるので、よりユーザの意図に近いポインティング位置FPを推定(決定)することができる。なお、認識点が1つの場合は、その認識点自身を重心PGとすれば良い。
次に、図32(c)は、認識点包含判定部19によって認識点P1〜P3が楕円領域ERに含まれていると判定された場合を示している。
また、ここで、位置決定部20は、指の像FIと楕円領域ERの形状との類似の程度によって変動する第1パラメータを、楕円領域ERの重心EGに対する重みとし、指の像FIと略円形状のモデルパターンの形状との類似の程度によって変動する第2パラメータを、楕円領域ERに含まれている認識点P1〜P3(又は重心PG)に対する重みとして加重平均して算出された位置を指Fのポインティング位置FPと決定している。
より具体的には、例えば、認識点Pi(iは自然数)に関する略円形状のモデルパターンとの完全パターンマッチングの合致度(第2パラメータ)をSCi、照合領域(略円形状)の中心(又は重心)の座標をXCiとし、略楕円形状のモデルパターン(第2モデルパターン)との完全パターンマッチングの合致度(第2合致度、第1パラメータ)をSO、楕円領域ERの重心EGの座標をXOとするとき、次式(11)によって算出される座標Xをポインティング位置FPとする。
また、別の計算方法としては、例えば、指の像FIが略円形状のとき(図31(b))のときのエッジパワー(第2パラメータ)をeC、照合領域(略円形状)の中心(又は重心)の座標をXCとし、指の像FIが略楕円形状のとき(図31(a))のエッジパワー(第1パラメータ)をeO、楕円領域ERの重心EGの座標をXOとするとき、次式(12)によって算出される座標Xをポインティング位置FPとする。
これにより、指の像FIと楕円領域ERの形状(略楕円形状のモデルパターン)との類似の程度及び指の像FIと略円形状のモデルパターンとの類似の程度に応じてより細かくポインティング位置FPを決定することができる。
ここで、「第1パラメータ」の例としては、上述した略楕円形状のモデルパターンとの完全パターンマッチングにおけるスコアや、エッジ抽出部4によって特定されたエッジ画素のそれぞれの画素値若しくはその平均値(エッジパワー)などが例示できる。
一方、「第2パラメータ」の例としては、上述した略円形状のモデルパターンとの完全パターンマッチングにおけるスコアや、エッジ抽出部4によって特定されたエッジ画素のそれぞれの画素値若しくはその平均値(エッジパワー)などが例示できる。
例えば、撮像対象が指Fの場合、液晶ディスプレイDに指先が接触しているときの接触部分の形状は、略円形状に近くなり、液晶ディスプレイDに指腹がピッタリ接触しているときの接触部分の形状は、略楕円形状に近くなる。
また、「モデルパターン」の形状を略円形状とし、「外形領域」を略楕円形状とした場合、指先が接触しているとき(接触部分の形状が略円形状に近いとき)のエッジパワーは、指腹がピッタリ接触しているとき(接触部分の形状が略楕円形状に近いとき)のエッジパワーと比較して大きくなる傾向がある。
したがって、上述した加重平均によれば、例えば、撮像対象が指Fの場合に、指先が接触している場合と、指腹がピッタリと接触している場合との中間的な状態におけるポインティング位置FPをより細かく推定できるので、よりユーザの意図に近いポインティング位置FPを推定することができる。
また、この他、上述した方法1〜方法3のいずれの場合であっても、楕円領域ERの重心EG及び楕円領域ERの焦点近傍(略円形状のモデルパターンとのマッチングが高いと考えられる)から所定距離以上離れて認識された認識点はノイズが原因であると判断して削除(無視)しても良い。
これにより、ノイズが原因である可能性が高い認識点を排除して、よりユーザの意図に近いポインティング位置を決定することができる。
なお、本発明の画像処理装置は、撮像対象を撮像した撮像画像に対して画像処理を行う画像処理装置であって、前記撮像画像上で所定の画素数を含む部分領域に含まれる照合領域と、予め定められたモデルパターンと、を照合するための特徴量を画素毎に算出する特徴量算出手段と、前記特徴量算出手段によって算出された特徴量の算出結果に基づいて、前記照合領域と前記モデルパターンとを照合したときのマッチングの度合いを示す合致度を算出する合致度算出手段と、前記合致度算出手段によって算出された合致度が最大となる照合領域を含む部分領域から、撮像対象の像が認識された位置とされる認識点を抽出する認識点抽出手段と、前記撮像画像上で撮像対象の像の外形を含む外形領域を特定する外形領域特定手段と、前記認識点抽出手段によって抽出された認識点が、前記外形領域特定手段によって特定された外形領域に含まれているか否かを判定する認識点包含判定手段とを備えていても良い。
また、本発明の画像処理装置は、前記特徴量算出手段は、前記撮像画像上で所定の画素数を含む第2部分領域に含まれる第2照合領域と、予め定められた、前記モデルパターンよりも大きな第2モデルパターンと、を照合するための第2特徴量を画素毎に算出し、前記合致度算出手段は、前記第2特徴量の算出結果に基づいて、前記第2照合領域と前記第2モデルパターンとを照合したときのマッチングの度合いを示す第2合致度を算出し、前記外形領域特定手段は、前記合致度算出手段によって算出された第2合致度が最大となる第2照合領域を前記外形領域としても良い。
なお、画像処理装置1の各ブロック、特に低解像度化部2、縦勾配量算出部3a、横勾配量算出部3b、エッジ抽出部4、方向特定部5、効率化部6、一致画素数算出部7、パターン合致度算出部9、スコア算出部10、認識点抽出部11、外形領域特定部15、認識点包含判定部19及び位置決定部20は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、画像処理装置1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)等を備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像処理装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像処理装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやコンパクトディスク−ROM/MO/MD/デジタルビデオデイスク/コンパクトディスク−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系等を用いることができる。
また、画像処理装置1を通信ネットワークと接続可能に構成し、その通信ネットワークを介して上記プログラムコードを画像処理装置1に供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組合せて得られる実施形態についても本発明の技術的範囲に含まれる。