【文献】
星野 聖 Kiyoshi HOSHINO,手画像からの爪領域の高精度抽出 Extraction of finger nail areas from hand images,電子情報通信学会技術研究報告 Vol.110 No.422 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2011年 2月14日,Vol.110, No.422,pp.87-90
【文献】
古味 繁幸 Shigeyuki KOMI,手指画像中における肌と爪の分離 Extraction of finger nails from skin area in hand image,映像情報メディア学会技術報告 Vol.34 No.41 ITE Technical Report,日本,(社)映像情報メディア学会 The Institute of Image Information and Television Engineers,2010年,Vol.34, No.41,pp.21-23
(58)【調査した分野】(Int.Cl.,DB名)
前記手指形状推定部は、前記データベースから前記手指形状における所定の形状パラメータによるデータセットの絞りこみを行い、絞り込まれたデータセット群に対して前記第1の特徴量を用いて類似度計算を行い、最も類似するデータセットを出力する
請求項1又は2に記載の手指形状推定装置。
【発明を実施するための形態】
【0016】
1.第1の実施形態
<本発明の手指形状推定技術について>
本発明では、上述した手指の個人差の問題に対応する際、必ずしも個別の情報を新たにデータベースに加えなくても推定を行うことができるようにするために、輪郭線の情報に対応する特徴量を算出するのではなく、例えば指の中心を通る情報に着目し、この情報に対応する特徴量を算出する。これにより、指の太さが大きく異なる場合や指の長さがある程度異なる場合でも同じ特徴量を取得することができる。具体的には、まず、例えば画像中に含まれる手画像(手指画像)を前景画像とし、それ以外の画像を背景画像とする。次いで、前景画像(手画像)の各画素おいて、該画素と、それに最も近い背景画素の画素との距離(ピクセル)を高さとし、手画像を山状の画像(以下では、単に、山という)として見る。そして、該山に対して引くことのできる尾根線情報(指の中心を通る情報)を取得し、取得した尾根線情報(尾根線形状)を手指形状の推定に用いる。これにより、本発明では、特別に個人差に対応したデータベースを付加しなくてもよいため、高速かつ高精度に手指形状の推定を行うことができる。
【0017】
また、本発明は、指の中心を通る情報を用いて推定を行うため、この情報のベクトル化により、該情報に対応する特徴量を取得することができる。具体的には、例えば、上述した尾根線情報に対応する特徴量を取得する際に、ベクトル化によって該情報の特徴量を算出する。尾根線情報のベクトル化により得られる特徴量は、指の形状により得られるベクトルの本数が変動するため、特徴量次元数が安定しない可能性があるが、多くとも約100次元程度で済む。これにより、照合用データベースの各データセットが持つ特徴量次元を大幅に低減することができ、逆に大量のデータセットを増やしても、処理速度において、従来と同じ高速性を維持できる。更に、尾根線情報は、個人差に影響されにくいため、後々に新たに個人差に対応した照合用の大規模データベースを加える必要がなくなる。
【0018】
つまり、本発明は、従来手法と比較すると、例えば以下に示すような特徴を有する。なお、以下の説明は、一例であり、本発明の特徴はこれに限定されるものではない。
【0019】
<手指形状推定に用いる情報>
例えば、特許文献2に示すような従来技術では、入力画像を縦64[pixel]×横64[pixel]の画像に縮小し、その輪郭線情報に対応する特徴量を取得することにより画像特徴を表現した。しかしながら、本発明では、上述のように、例えば手画像を前景とし、それ以外の画像を背景としたときに前景画像の背景画像からの距離を高さと見なすことで手画像を1つの山と見なす。そして、該山に引くことのできる尾根線を手指形状の推定に用いる。尾根線情報は、指の中心を通る情報であるため、尾根線情報に対応する特徴量を算出した場合には、該特徴量に大きな変化がない。これによって、個人差の上記問題に対応するためのデータベースを新たに登録する必要なく、個人差に対応した手指形状推定を行うことができる。
【0020】
<画像特徴量の次元数>
例えば、特許文献2に示すような従来技術では、1つの手指データセット或いは入力画像を、縦8×横8の合計64の区画に分割し、各区画の画像の特徴を、高次局所自己相関関数に相当するような25パターンの点・線分・折れ線・エッジ等の低次の特徴量により表現した。その結果、1つの手指画像は8×8区画×25パターンの合計1600次元を持っていた。
【0021】
それに対して本発明では、抽出した尾根線情報のベクトル化により尾根線情報の特徴量を得る。ベクトル化により得られた特徴量次元数は、入力画像により様々であるが、最大でも約100次元程度となる。したがって、その特徴量次元数は、従来技術の1600次元から比べると少なくとも約1/16となり大幅な画像特徴量の削減が可能である。
【0022】
<データベース規模>
例えば、特許文献2に示すような従来技術のデータベース規模は、約30000個のデータセットであった。その数は、多数の予備実験により、特に各指が、完全屈伸及び完全伸展と、その中間の姿勢とを高精度に推定できるようにデータベースが構築された結果である。約30000セットという数は、必ずしもコンピュータのメモリ(蓄積部)にアップロード可能な上限ではないが、推定できる分解能を更に細かくすると、必要なデータセットの桁数が爆発的に増えるため、現実的には上限に近い数であった。
【0023】
しかしながら、本発明では、1つのデータセットあたりの特徴量次元数が約1/16に大幅に減少するため、計算機のメモリにアップロードできる情報(データセット数)が大幅に大きくなる。16倍のデータベース規模の拡大が可能であるため、約480000個のデータセットを有するデータベースを作ることが可能である。
【0024】
<推定の分解能>
上述したように、従来技術のデータベース規模は、約30000個のデータセットであった。四指の3関節がそれぞれ1自由度(すなわち、一定比率で連動して動く)、母指が3自由度、四指開閉が1自由度とすると、手指形状の種類は、四指及び母指のそれぞれの4段階の姿勢と、四指開閉の2段階の姿勢との組み合わせだけで30000種類を超えてしまう。実際には、四指開閉(すなわち、四指の内外転)が推定の良し悪しに及ぼす影響が大きいため、四指開閉の姿勢の段階を増やす必要がある。つまり、従来技術では、手指形状推定の分解能は、完全屈曲及び完全伸展と、中間姿勢1〜3種類程度とを含む荒い分解能であった。また、個人差に対応したデータセットも用意すると、従来技術のデータベース規模の30000個のデータセットでは全く足りない。
【0025】
それに対して本発明では、同じ処理速度でも上述したように、データベース規模を約16倍のデータベース規模まで増大できる。四指及び母指3関節の姿勢を、それぞれ5段階設け、四指開閉の姿勢を3段階設けると、全ての組み合わせは約250000種類となる。また、個人差に対応するためのデータセットがいらないので拡大した分のデータセットには、全て分解能を向上するためのデータを入れることができるため、示指・中指・拇指に少し細かい分解能を与えることで約400000個のデータセットを有するデータベースを構築することが可能となる。
【0026】
以下に、本発明における手指形状推定装置、手指形状推定方法、及び手指形状推定プログラムを好適に実施した形態について、図面を用いて説明する。
【0027】
<手指形状推定装置:機能構成例>
次に、第1の実施形態における手指形状推定装置の機能構成例について図を用いて説明する。
図1は、本実施形態における手指形状推定装置の機能構成の一例を示す図である。
図1に示す手指形状推定装置10は、入力部11と、出力部12と、蓄積部13と、画像取得部14と、データベース構築部15と、画像解析部16と、照合部17と、手指形状推定部18と、送受信部19と、制御部20とを有するよう構成されている。
【0028】
入力部11は、ユーザ等からの画像取得指示、データベース構築手指示、データベース構築指示、画像解析指示、照合指示、手指形状推定指示、送受信指示等の各種指示の開始/終了等の入力を受け付ける。なお、入力部11は、例えばPC(Personal Computer)等の汎用のコンピュータであればキーボードやマウス等のポインティングデバイスからなり、スマートフォンや携帯電話等の情報端末装置やゲーム機器であれば各操作ボタン群等からなる。また、入力部11は、音声等により上述した指示等の音声を入力する音声入力機能を有していてもよい。
【0029】
出力部12は、入力部11により入力された内容や、入力内容に基づいて実行された内容等の情報の出力を行う。具体的には、出力部12は、取得した画像や、データベースの構築結果、画像解析結果、照合結果、手指形状推定結果等の各構成における処理の結果などの画面表示や音声出力等を行う。なお、出力部12は、ディスプレイ、スピーカ、ロボット等からなる。
【0030】
更に、出力部12は、プリンタ等の印刷機能を有していてもよく、上述の各出力内容を、例えば紙等の各種印刷媒体等に印刷し、ユーザ等に提供することもできる。
【0031】
蓄積部13は、本実施形態において必要となる各種情報や、処理の実行時又は実行後の各種データなどを蓄積する。具体的には、蓄積部13は、予め蓄積されている画像や画像取得部14で取得される撮影等により得られた画像(例えば、映像等のように時系列的な画像も含む)等を蓄積する。また、蓄積部13は、データベース構築部15により得られたデータベースの内容、画像解析部16により得られた解析結果、照合部17により得られた照合結果、手指形状推定部18により得られた推定結果等を蓄積する。また、蓄積部13は、必要に応じて蓄積されている各種データを読み出すことができる。
【0032】
画像取得部14は、例えば撮像装置21等により撮影された画像や映像等を取得する。なお、説明の便宜上、画像取得部14により取得される画像には、全て手指が含まれているものとするが、本発明においてはこれに限定されるものではない。
【0033】
ここで、本実施形態では、撮像装置21を手指形状推定装置10の外部に設けたが、本発明においてはこれに限定されるものではなく、撮像装置21が例えば手指形状推定装置10内に内蔵されていてもよい。また、画像取得部14により取得される画像や映像は、撮像装置21により撮影される実際の手指の画像や映像等に限定されるものではなく、例えば模型の手指や写真、ポスター等を撮影した画像、CG(Computer Graphics)編集ソフト等により生成された画像等であってもよい。
【0034】
また、画像取得部14は、送受信部19を介して、通信ネットワーク上に接続される外部装置やデータベース等に蓄積されている画像や映像等を取得することもできる。画像取得部14によって取得した画像等は、蓄積部13に蓄積させることができ、必要に応じて蓄積部13から読み出すことができる。
【0035】
データベース構築部15は、必要に応じて、ユーザ等が、予めセンサやマーカー等がついたデータグローブ等を装着して得られる、データグローブから手の各関節の動き等の必要な情報を取得して、本実施形態における手指形状推定に必要とされる照合用のデータベースを構築する。或いは、CG編集ソフト等により、手指の関節角度を指定することで生成される画像を取得して、本実施形態における手指形状推定に必要とされる照合用のデータベースを構築してもよい。
【0036】
データベース構築部15による構築されるデータベースには、所定の手指形状に対して、少なくとも角度データと画像特徴量とを蓄積する。そして、例えば、入力された画像に対して前腕回旋角度である角度データ(例えば、関節角度等)、画像形状比率、及び上述した画像特徴量の3つのデータを1つの組み(データセット)として、データベースを構築してもよい。なお、上述した3つのデータは、例えば画像解析部16等により入力画像を解析することで得られる。また、上述したデータセットは、上述した3つのデータに限定されるものではなく、例えば上述した3つのデータのうち、少なくとも1つが含まれていればよい。
【0037】
つまり、本実施形態では、データベースに「尾根線を使った画像特徴量」と「関節角度情報」とが対応付けられて蓄積される。つまり、本実施形態では、例えば、カメラ等の撮像装置21でユーザの手指等が撮影されると、ユーザの手指の「尾根線を使った画像特徴量」と、データベース中の「尾根線を使った画像特徴量」とを比較して照合を行い、最も類似した画像特徴量に対応付けられたデータセットの「関節角度情報」が、推定結果として出力される。したがって、本実施形態で構築されるデータベースには、例えば尾根線の画像特徴量と、角度データとが必要となる。また、上述した前腕回旋角度や画像形状比率等は、例えばデータを絞り込むために用いられる付加的なデータであり、データベースとして蓄積されていなくてもよいが、これらの付加的なデータをデータベースに蓄積することにより効率的かつ高精度な絞り込みを実現することができる。
【0038】
また、データベース構築部15は、既に本実施形態で用いられるデータベースが構築され、蓄積部13等に蓄積されている場合や、送受信部19を介して通信ネットワークにより接続される外部装置から取得している場合には、データベースの構築を行わなくてもよい。
【0039】
画像解析部16は、画像取得部14により取得した画像(映像を含む)等を解析する。具体的には、画像解析部16は、画像中から背景や腕或いは体躯のような非手指領域を除去し、画像中における画素毎の特徴量等から、どの部分(位置、領域)に手指等のオブジェクトの位置がどのような姿勢で映し出されているか、或いは、映像中において手指等のオブジェクトがどのように移動しているか等を解析する。つまり、画像解析部16は、撮影された手指等の画像の特徴量の数値化処理を行う。具体的には、画像解析部16は、例えば手指の輪郭形状(輪郭線)等を用いて尾根線情報を取得し、取得した尾根線形状から特徴量を取得する。また、画像解析部16は、入力された画像に対して画像形状比率、及び、上述した画像特徴量の2つのデータを取得する。ただし、画像形状比率は必ずしも取得しなくてもよく、また上述した画像形状比率のデータ以外のデータが含まれていてもよい。
【0040】
なお、輪郭線の取得例としては、例えば隣接画素間における輝度差の情報等に基づいて、画像中から手指部分と背景部分とを分離し、手指部分の輪郭線を取得することができるが、本発明においては、これに限定されるものではない。
【0041】
照合部17は、入力画像から画像解析部16により得られる解析結果に基づいて、入力画像と、予め設定された照合用のデータベースとの照合を行い、類似度判定を行う。具体的には、照合部17は、例えば上述した2つのデータ(画像形状比率、画像特徴量)のうち、少なくとも画像特徴量を用いてデータベースに含まれる手指形状と入力画像内の手指形状との照合を行う。
【0042】
手指形状推定部18は、照合部17により得られた照合結果に基づいて、画像中の手指に対応する手指形状を推定する。なお、手指形状推定部18における手指形状推定の具体的な手法については、後述する。
【0043】
また、送受信部19は、通信ネットワーク等を用いて接続可能な外部装置から所望する外部画像(例えば撮影画像や映像等)や、本発明における手指形状推定処理を実現するための実行プログラム等を取得するためのインターフェースである。また、送受信部19は、手指形状推定装置10内で得られた各種情報を外部装置に送信することができる。
【0044】
制御部20は、手指形状推定装置10の各構成部全体の制御を行う。具体的には、制御部20は、例えばユーザ等による入力部11からの指示等に基づいて、画像の取得、データベース構築、画像解析、画像照合、手指形状の推定等の各処理における制御等を行う。
【0045】
撮像装置21は、例えばデジタルカメラや高精度カメラ等からなり、ユーザの実際の手指や模型の手指等の画像や映像を取得する。なお、撮像装置21は、1台だけ設けられていてもよいし、異なる方向から同時に手指を撮影できるように複数台、設けられていてもよい。
【0046】
<手指形状推定装置10:ハードウェア構成>
ここで、上述した手指形状推定装置10においては、各機能をコンピュータ(情報処理装置、ハードウェア)に実行させることができるソフトウェアとしての実行プログラム(手指形状推定プログラム)等を生成し、例えばPC等の汎用のパーソナルコンピュータ、サーバ、スマートフォンや携帯電話等の情報端末装置、ゲーム機器等にその実行プログラムをインストールすることにより、本発明における手指形状推定処理等を実現することができる。
【0047】
ここで、本実施形態における手指形状推定処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。
図2は、本実施形態における手指形状推定処理が実現可能なハードウェア構成の一例を示す図である。
【0048】
図2におけるコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、メモリ装置35と、各種制御を行うCPU(Central Processing Unit)36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
【0049】
入力装置31は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザ等からのプログラムの実行等の各種操作信号を入力する。また、入力装置31は、例えばカメラ等の撮像装置21から撮影された画像を入力する画像入力ユニットを有していてもよい。
【0050】
出力装置32は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU36が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
【0051】
ここで、本発明においてコンピュータ本体にインストールされる実行プログラムは、例えばUSB(Universal Serial Bus)メモリやCD−ROM等の可搬型の記録媒体38等により提供される。プログラムを記録した記録媒体38は、ドライブ装置33にセット可能であり、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。
【0052】
補助記憶装置34は、ハードディスク等のストレージ装置であり、本発明における実行プログラムやコンピュータに設けられた制御プログラム等を蓄積し、必要に応じてそれらの入出力を行うことができる。
【0053】
メモリ装置35は、CPU36により補助記憶装置34から読み出された実行プログラム等を格納する。なお、メモリ装置35は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなる。
【0054】
CPU36は、OS(Operating System)等の制御プログラム、及びメモリ装置35に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、手指形状推定処理における各処理を実現することができる。なお、プログラムの実行中に必要な各種情報等は、補助記憶装置34から取得することができ、また実行結果等を補助記憶装置34に格納することもできる。
【0055】
ネットワーク接続装置37は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を他の端末等に提供することができる。
【0056】
上述したようなハードウェア構成により、本発明における手指形状推定処理を実行することができる。また、プログラムをインストールすることにより、汎用のパーソナルコンピュータ等で本発明における手指形状推定処理を容易に実現することができる。
【0057】
次に、上述した手指形状推定プログラムにおける手指形状推定処理について具体的に説明する。
【0058】
<手指形状推定処理手順>
まず、本実施形態における手指形状推定処理手順について説明する。
図3は、本実施形態における手指形状推定処理手順の一例を示すフローチャートである。なお、以下に説明する各種処理における各部の動作は、制御部20(CPU36)により制御される。
【0059】
図3に示す手指形状推定処理では、まず、制御部20は、手指形状を推定するための照合用データベースがあるか否かを判断する(S01)。制御部20は、具体的には、照合用データベースが予め蓄積部13等に蓄積されていたり、通信ネットワーク等により外部装置等から取得されていたりするか否かを判断する。ここで、照合用データベースがない場合(S01の処理において、NO)、制御部20は、各部を制御して照合用データベースを構築する(S02)。
【0060】
ただし、本実施形態においてS01及びS02の処理は必須ではなく、例えばS01の処理においてNOの場合、処理を終了することにしてもよい。
【0061】
また、S01の処理において、照合用データベースがある場合(S01において、YES)、又はS02の処理において、照合用データベースを構築した場合、画像取得部14は、手指形状を推定する必要のある手指を含む画像を取得する(S03)。次いで、画像解析部16は、取得した画像の解析を行う(S04)。なお、S04における解析処理としては、例えば画像形状比率を求めたり、手指の尾根線形状等から画像特徴量(第1の特徴量)を算出する等の処理を行うが、本発明においてはこれに限定されるものではない。
【0062】
また、手指形状推定処理では、照合部17は、S04の処理で得られた解析結果に基づいて、S02の処理等により得られた照合用データベースや予め蓄積部13等に蓄積された照合用データベースとS03で取得した画像との照合を行う(S05)。次いで、手指形状推定部18は、取得した画像内の手指形状の推定を行い(S06)、画像形状比率や尾根線形状の画像特徴量等と対応付けて照合用データベースに蓄積されている手指の角度データを、推定結果として出力する(S07)。
【0063】
次に、制御部20は、処理を終了するか否かを判断し(S08)、終了しない場合(S08において、NO)、S03に戻り、制御部20は、例えば連続する画像、つまり映像に対して上述の処理を行って時系列的に結果を出力したり、又は、他の画像に対して上述の処理を行う。
【0064】
また、S08の処理において、ユーザの指示等により処理を終了する場合(S08において、YES)、制御部20は、手指形状推定処理を終了する。
【0065】
なお、上述したように、S01及びS02の処理は、手指形状推定処理に含まれていなくてもよい。つまり、データベースの構築は、手指形状推定処理とは非同期で行われる。したがって、例えば推定の初回時に限って、上述したS01及びS02に示すようにデータベースの有無の判断及びデータベースの構築を行ってもよく、所望するデータベースが見当たらなかった場合やユーザ等の指示があった場合に、データベースを構築するようにしてもよい。
【0066】
ここで、
図4は、本実施形態における照合処理(S05)の概要を説明するための図である。本実施形態の照合処理は、大別すると、
図4に示すように、照合用のデータベースに含まれる各データセットから、例えば前腕回旋による探索範囲の制限や画像形状比率等によるデータセットの絞りこみ等(すなわち、手指形状における所定の形状パラメータによるデータセットの絞り込み)を行う第1段階目の処理と、画像特徴量による類似度計算を行って、最も類似するデータセットを出力する第2段階目の処理とからなる。また、本実施形態では、例えば上述した入力画像の画像形状比率(次元数は3)等のデータセットを用いて、全データベースのデータセットと取得した画像とを照合する。
【0067】
つまり、本実施形態では、例えば画像形状比率等による粗い絞り込みで残ったデータセット(データセット群)に対して、更に、画像特徴量(例えば約100次元)による精緻な類似度照合を行い、最も類似したデータセットを手指形状の推定結果として出力する。これにより、取得した画像中の手指の形状や動きを高速かつ高精度に推定することができる。
【0068】
<データベース構築処理手順>
次に、上述した本実施形態における照合用データベース構築処理(S02)の手順について、フローチャートを用いて説明する。
図5は、本実施形態における照合用データベース構築処理手順の一例を示すフローチャートである。なお、以下に説明する各種処理における各部の動作は、制御部20(CPU36)により制御される。
【0069】
照合用データベースの構築では、まず、画像取得部14は、データグローブ等を用いて得られた複数の手指形状の画像を取得する(S11)。ここで、
図6A〜6Dは、データグローブを用いて得られた複数の手指形状画像の一例を示す図である。ユーザは、手指形状を推定するための照合用データベースを構築するに際し、例えば
図6A〜6Dに示すような予め設定された手指形状に基づく画像を取得する。なお、手指形状は、
図6A〜6Dの例に限定されるものではなく、多数の形状が用いられる。
【0070】
また、S11の処理では、画像取得部14は、各手指形状として、例えば上面、側面、斜め前方等の少なくとも1つの角度からの形状を取得する。なお、本実施形態では、1つの手指に対する所定方向からの画像を、データセットとして扱う。
【0071】
次に、画像解析部16は、各画像に含まれる手指の関節角度を取得する(S12)。関節角度とは、例えば手指の関節角度データを示すが、本発明においてはこれに限定されるものではなく、例えば前腕回旋角度等の関節角度等も含んでもよい。なお、関節角度の取得例については、後述する。
【0072】
なお、本実施形態では、データグローブ等を用いて複数の手指形状の画像と関節角度情報とを取得する代わりに、例えばCG編集ソフト等を用いて手指画像を生成し、複数の関節角度情報とそれに対応する複数の手指形状の画像とを取得してもよい。
【0073】
次に、画像解析部16は、各画像に含まれる手指の画像形状比率を算出する(S13)。S13の処理における画像形状比率の算出手法については、後述する。なお、本発明においては必ずしも画像形状比率の算出を行わなくてもよい。次に、画像解析部16は、各画像に含まれる手指の輪郭線等に基づいて尾根線形状を取得する(S14)。具体的には、S14の処理では、画像特徴量に基づいて手画像を山と見なして尾根線を設定する。
【0074】
次に、画像解析部16は、取得した尾根線からベクトル情報を画像特徴量として取得する(S15)。そして、データベース構築部15は、取得した関節角度(角度データ)、画像形状比率、画像特徴量(第2の特徴量)を含む組(データセット)からなる照合用データベースを構築する(S16)。
【0075】
なお、S16の処理では、上述した画像特徴量と、推定結果の出力のために用いる関節角度(角度データ)とが含まれていればよく、また上述した画像形状比率のデータ以外のデータが含まれていてもよい。ここで、上述したデータベースの構造について、具体的に説明する。
【0076】
<データベース構造>
図7A及び7Bは、データベース構造の一例を示す図である。本実施形態では、例えば、
図7Aに示すように、例えば所定の手指形状における手指の関節角度や前腕回旋角度等を含む角度データ(JOINT ANGLES WITH WRIST ROTATION)、画像形状比率(IMAGE ASPECTS)、及び画像特徴量(IMAGE FEATURES)の3つのデータを1つのデータセット(DATA SET)とし、様々な手指形状に対するデータセットの集まりをデータベース(DATABASE)とする。なお、角度データについては、例えば
図7Bに示すように、予め角度データに対する把持動作を識別情報等により設定しておいてもよい。これにより、照合時に角度データに基づく把持動作(手指の動き)を効率的に取得することができる。
【0077】
つまり、ユーザ(操作者)の手指動作により、例えば遠隔ロボットを制御しようとする場合には、必ずしも詳細な手指形状推定を行うよりは、カメラにより撮像された手指映像に対して迅速に把持動作の何れかを識別した方が、安定で高速な遠隔ロボット操作が実現できる。そこで、本実施形態では、
図7Bに示すように、データベース構築時に、例えば識別が必要な手指形状とその個人差データとを集中的に生成し、手指関節角度データの代わりに、把持動作パターンの番号(1,2,3,…)を付与する。
【0078】
これにより、本実施形態では、上述した照合処理における第1段階目の粗い絞り込みと、第2段階目の精緻な類似度照合とにより検索された最も類似する手指形状を推定結果とすることができる。なお、この場合に、推定結果として出力される内容は、関節角度でなくてもよく、例えば推定結果に対応して予め設定されている把持動作パターン番号を出力してもよい。
【0079】
<手指関節角度>
ここで、照合用データベースに含まれる手指関節角度は、例えばデータグローブ(例えば、Virtual Technologies社製、CyberGlove(登録商標))によって取得される。
【0080】
<画像形状比率>
次に、画像形状比率の算出方法について、具体的に説明する。
図8は、画像形状比率の算出に必要な各種パラメータの一例を示す図である。画像形状比率の算出方法では、まず手指領域と背景を分離し、手指領域に対してラベリング処理を行う。そのとき、最も大きなラベル番号を持つ画素を基準点とし、基準点に基づいて手指範囲を決定する。ここで、例えば基準点から基準点のラベル番号分の画素だけ下部分を手指範囲の下端とし、手指領域が手指範囲にちょうど入るように手指範囲の上端,右端,左端を決定する。そして、画像形状比率は、縦長度,上長度,右長度の3つの値で表わされ、それぞれ次式(1)〜(3)で定義される。
【0082】
ここで、上述した式において、R
tallは縦長度を示し、R
topheavyは上長度を示し、R
rightbiasedは右長度を示し、L
heightは手指範囲の上端から下端までの距離を示し、L
widthは手指範囲の右端から左端までの距離を示し、L
upperは手指範囲の上端から基準点までの距離を示し、L
lowerは手指範囲の下端から基準点までの距離を示し、L
rightは手指範囲の右端から基準点までの距離を示し、L
leftは手指範囲の左端から基準点までの距離を示す。
【0083】
<画像特徴量について>
次に、本実施形態における画像特徴量の取得方法について、図を用いて説明する。
図9A〜9Cは、画像特徴量を取得する基準となるデータの一例を示す図である。また、
図10A及び10Bは、尾根線情報抽出結果の一例を示す図である。
【0084】
本実施形態では、従来手法で推定に用いられていた手画像の輪郭線情報用いると個人差の影響が大きく出てしまうため、例えば前景画像である手画像の各画素の背景画像からの距離を高さと考え、
図9A〜9Cに示すように手画像を山と見なす。そして、本実施形態では、その山に引くことのできる尾根線の情報を推定に用いる。
【0085】
なお、
図9A〜9Cに示す点群は、例えば手画像の輪郭線走査により求める。例えば手画像の輪郭線を走査するときに、1回目の走査で調べた画素に「1」というラベルを貼り、1周したら走査済み画素を背景として2回目の輪郭線走査を行い、調べた画素に「2」というラベルを貼る。同様の処理によりn回目の走査で調べた画素には「n」というラベルを貼る。
図9A〜9Cの点群は、このような処理により貼ったラベル番号を高さとして描画したものである。ただし、本発明における尾根線情報を求める方法については、上述の処理に限定されるものではない。
【0086】
これにより、
図10A及び10Bに示すように、手の形状やグー、チョキ、パー等の形状の作り方の個人差の影響を減らし、手指形状推定の精度を上げることができる。
【0087】
具体的には、本実施形態では、手指画像を、画像形状比率の算出時に決めた手指範囲のみ切り出し、縦64[pixel]、横64[pixel]となるように縮小する。この縮小画像から尾根線情報を抽出すると、手指画像は、
図10Bに示すような画像になる。
【0088】
尾根線を抽出する方法は、まず、手画像の最外の輪郭線をなぞる走査を行う。この時、走査の進行方向に向かって左右の画素を調べ、それぞれが背景と同じ画素値もしくは走査済みの画素だったら、尾根線抽出結果用に用意された64×64[pixel]画像の同じ画素に点(尾根に対応)をプロットする。
【0089】
輪郭線を1周走査し終えたら、走査済みの画素を背景と見なし、1回り小さくなった手画像の輪郭線(一つ内側の輪郭線)の走査を行い、上記処理と同様の処理をする。そして、走査する画素がなくなったら処理を終了とする。このような抽出処理により得られた尾根線画像を縦8分割、横8分割し、各分割領域において高次自己局所相関関数を用いて25次元の画像特徴量を取得する。
【0090】
ここで、
図11は、8×8分割した尾根線画像の各分割領域の尾根線情報に施す高次局所自己相関処理を説明するための図である。本実施形態では、
図11に示すように、尾根線画像を縦横それぞれ8ブロック(8BLOCKS)毎に分割し、分割した各ブロックに対して25次元(
図11に示すNo.1〜No.25)の相関関係を画像特徴量として割り当てる。これにより、尾根線画像1枚あたり8×8×25次元の画像特徴量を得ることができる。
【0091】
ここで、上述した手画像の輪郭線をなぞる走査については、以下の方法による画素移動を行うことで効率的に輪郭線走査を実現することができる。
図12A〜12Cは、画素の移動方法の一例を示す図である。
【0092】
例えば、3×3の画素マトリクスにおいて、進行方向(走査方向)が真上、真下、真横の場合には、
図12Aに示すように、現在の画素(現在の探索画素)と、背景画素との関係に基づいて進行予定画素が決定され、決定した進行予定画素に画素を移動する。また、進行方向が斜めの場合にも同様に
図12Bに示すように、現在の画素と、背景画素との関係に基づいて進行予定画素が決定され、決定した進行予定画素に画素を移動する。
【0093】
また、進行方向(走査方向)が斜めの場合における画素の移動方法の例外として、さらに前回探索画素の位置を用いて画素を移動させることもできる。具体的には、
図12Cに示すように、前回探索画素と、現在の画素と、背景画素とに基づいて、進行予定画素が決定され、決定した進行予定画素に画素を移動する。これにより、より高精度に進行予定画素を決定することができる。なお、
図12Cに示す画素の移動方法は、例えば、他の斜めの進行方向の場合にも適用することができる。更に、
図12Cに示す移動方法は、上述した真上、真下、真横、斜めの各場合にも適用することができる。これにより、高精度に進行方向を決定することができると共に、画像全体を走査する必要がなく、輪郭線付近の走査のみでよいため、より迅速かつ効率的な処理を実現することができる。
【0094】
<輪郭線走査から尾根線ベクトルを取得する処理手順:他の例>
次に、尾根線から画像特徴量を取得する他の例について説明する。具体的には、本実施形態における輪郭線走査から尾根線ベクトルを取得する処理手順についてフローチャートを用いて説明する。
図13は、本実施形態における輪郭線走査から尾根線ベクトルを取得する処理手順の一例を示すフローチャートである。
【0095】
図13では、まず、画像解析部16は、入力画像において、背景又は走査済み画素以外の画素を輪郭線走査し(S21)、現在の画素が尾根線上の画素か否かを判断する(S22)。ここで、現在の探索画素が尾根線上の画素である場合(S22において、YES)、画像解析部16は、該画素の周りにベクトルの終点があるか否かを判断する(S23)。該画素の周りにベクトルの終点がある場合(S23において、YES)、次に、画像解析部16は、ベクトルの終点を現在の画素座標に更新した場合に、ベクトルの傾きが一定値(予め設定された閾値)以上変化するか否かを判断する(S24)。
【0096】
S24の処理において、ベクトルの傾きが一定値以上変化する場合(S24において、YES)、画像解析部16は、現在の画素を今までのベクトルの終点又は新しいベクトルの始点及び終点とする(S25)。
【0097】
また、上述したS23に処理において、現在の画素の周りにベクトルの終点がない場合(S23において、NO)、画像解析部16は、ベクトルの始点及び終点を現在の画素座標とする(S26)。また、上述したS24の処理において、ベクトルの傾きが一定値以上変化しない場合(S24において、NO)、画像解析部16は、ベクトル終点を現在の画素座標に更新する(S27)。
【0098】
S22の処理において、現在の画素が尾根線上の画素でない場合(S22において、NO)、又はS25,S26,S27のうち何れかの処理の終了後、画像解析部16は、輪郭線走査が終了したか否かを判断する(S28)。輪郭線走査が終了していない場合(S28において、NO)、画像解析部16は、探索(解析)する画素を次の画素へ移動させ(S29)、その後、S22に戻り、その後続の処理を行う。なお、この処理における次の画素への移動手法としては、例えば上述した
図12A〜12Cに示す移動方法を用いることができるが、これに限定されるものではない。
【0099】
また、S28の処理において、輪郭線走査が終了した場合(S28において、YES)、画像解析部16は、背景又は走査済み画素以外の画素がないか否かを判断し(S30)、当該画素がある場合(S30において、NO)、S21に戻り、その後続の処理を行う。当該画素がない場合(S30において、YES)、画像解析部16は、処理を終了する。
【0100】
<手指形状推定手法>
次に、本実施形態における手指形状推定手法について具体的に説明する。まず、カメラ等の撮像装置21等から得られた画像から手指領域を求め、例えば上述したように画像形状比率、及び画像特徴量等をそれぞれ求める。次に、データベース探索を行うが、本実施形態では、2段階のデータベース探索手法を用いる。
【0101】
第1段階目の探索では、以下の式(4)〜(6)に示すような閾値を用いて、例えば画像形状比率による絞り込みを行う。
【0103】
ここで、上述した式において、th
tallは縦長度に関する閾値を示し、th
topheavyは上長度に関する閾値を示し、th
rightbiasedは右長度に関する閾値を示し、R
tall[i]はi番目のデータセットの縦長度を示し、R
topheavy[i]はi番目のデータセットの上長度を示し、R
rightbiased[i]はi番目のデータセットの右長度を示し、R
current−tallは入力画像の縦長度を示し、R
current−topheavyは入力画像の上長度を示し、R
current−rightbiasedは入力画像の右長度を示す。
【0104】
次に、第2段階目の探索では、画像特徴量による類似度計算を行う。類似度計算には、例えば単純なユークリッド距離等を用い、例えば式(7),式(8)を用いて類似度が算出される。
【0106】
ここで、上述した式において、Eは類似度を示し、e
kはk番目の分割領域における類似度を示し、x.current[j]
kは入力画像のパターンjの画像特徴量(第1の特徴量)を示し、x.dataset[i][j]
kはi番目のデータセットのパターンjの画像特徴量(第2の特徴量)を示す。なお、iはデータセット番号を示し、jはHLAC(Higher order Local AutoCorrelation;高次局所自己相関)パターン番号を示し、kは分割領域番号を示し、Dは分割領域数を示し、PはHLACパターン数を示す。
【0107】
ただし、本実施形態では、2段階のデータベース探索手法が必須ではなく、例えば第1段階目の画像形状比率による絞り込みは省略してもよい。或いは、第1段階目で画像形状比率以外のパラメータによる絞り込みを用いても構わないし、更には、他のデータを用いて3段階以上の処理からなるデータベース探索手法を行い、手指形状推定を行うこともできる。
【0108】
<ベクトル情報を用いた照合(マッチング)について>
ここで、上述したベクトル情報を用いて、上述した照合部17等による照合処理を行う場合には、例えばベクトル特徴量や、ベクトル個数等のうち、少なくとも1つのデータから構成されるデータセットを必要数だけ蓄積したデータベースを予め用意するのが好ましい。
【0109】
また、照合処理の第1段階目の処理としては、データベースの絞り込みを行う。具体的には、例えば、カメラ等の撮像装置21から取り込んだ手指画像から抽出された尾根線ベクトルの個数とデータベース内の全てのデータセットのベクトル個数とを比べて、両者の個数差が一定値以内のものを選択する。
【0110】
次に、第2段階目の処理として、第1段階目の処理で選択されたデータセット群の中から最も似たデータセットを選択する。具体的には、第1段階目の処理で絞り込まれたデータセット群からベクトル特徴量を用いて最も似たデータセットを選択する。ここで、第2段階目の処理における処理フローチャートについて図を用いて説明する。
【0111】
図14は、照合処理における第2段階目の処理の手順の一例を示すフローチャートである。
図14において、まず、照合部17は、第1段階目の処理により絞り込まれたデータセット群からi番目のデータセットを選ぶ(S41)。次いで、照合部17は、カメラ画像から得られたベクトルj番目の始点を参照する(S42)。
【0112】
次に、照合部17は、参照している始点座標と最も近い座標の始点をi番目のデータセット内のベクトル特徴量から探し(S43)、参照している始点から延びるベクトルと、前ステップで選んだ始点から延びるベクトルとの間のなす角Angle
ij、並びに、両ベクトル間の長さの差Length
ijを調べる(S44)。
【0113】
ここで、照合部17は、もう始点はないか否かを判断し(S45)、始点がある場合(S45において、NO)、変数jをインクリメント(j++)し(S46)、S42に戻り、照合部17は、その後続の処理を行う。また、S45の処理において、始点がない場合(S45において、YES)、次に、照合部17は、変数Mをカメラから得た手画像のベクトル始点総数として、以下の式(9),式(10)の計算を行う(S47)。
【0115】
次に、照合部17は、SumAngle
i及びSumLength
iをそれぞれ正規化したものの和を類似度E
iとする(S48)。次に、照合部17は、E
minを暫定最小類似度として、E
min>E
iであれば、E
minにE
iを代入し、暫定的にi番目のデータセットが最も似ているデータセットであるとする(S49)。
【0116】
ここで、照合部17は、もう調べるデータセットはないか否かを判断し(S50)、調べるデータセットがある場合(S50において、YES)、変数iをインクリメント(i++)し(S51)、その後、照合部17は、S41に戻り、その後続の処理を行う。また、調べるデータセットがない場合(S50において、YES)、照合部17は、最終的に最も似ているデータセットの角度情報等を出力し(S52)、処理終了する。なお、本実施形態における出力内容については、角度情報に限定されるものではなく、例えばデータセットに含まれる他の情報やデータセットの全情報を出力してもよい。
【0117】
<評価実験>
ここで、例えばユーザの手指形状が登録されている手指形状推定装置において、設計者に軍手を装着させることによって疑似的に指の太いユーザを作り出し、個人差による推定精度の変化を評価する。ここで、
図15A及び15Bは、素手の状態と軍手を付けた状態とで同じ手指形状をした場合に得られる輪郭線情報及び尾根線情報の違いの一例を示す図である。
図15Aは、素手の状態での輪郭線情報及び尾根線情報を示し、
図15Bは、軍手を付けた状態での輪郭線情報及び尾根線情報を示す。
【0118】
評価実験では、同じ入力データを用いて、従来の輪郭線情報を用いた手指形状推定システムでの推定結果と本手法の尾根線情報を用いたシステムでの推定結果とを比較することで評価を行った。また、評価実験では、右手を何も着用せずにカメラ(例えば、View PLUS社製、Firefly(登録商標) MV広角レンズ付)が設置された空間に置き、左手にデータグローブを装着し、右手と左手とを同時に動かすことにより、入力画像及びその時の関節角度データを入力データとして作成した。
【0119】
また、評価実験では、一例として、前腕回旋角度を180度で固定し、握る動作、つまむ動作を中心に実験を行った。ここで、
図16A〜16Cは、関節角度の比較結果を示す図である。
図16Aは、前腕回旋角度180度時の拇指IP関節(interphalangeal joint;指節間関節)角度を比較したグラフを示し、
図16Bは、示指PIP関節(proximal interphalangeal joint;近位指節間関節)角度を比較したグラフを示し、
図16Cは、小指PIP関節角度を比較したグラフを示す。また、
図16A〜
図16Cにおいて、横軸は、撮像された画像の時系列フレームから得られる時刻(TIME[NUMBER OF FRAME])を示し、縦軸は、関節角度(JOINT ANGLE[DEGREE])を示す。また、
図17は、誤差平均、誤差標準偏差の一例を示す図である。
【0120】
図16A〜16Cの例では、実際の値(MEASURED)と、輪郭線を用いて得られた値(ESTIMATED BY OUTLINE)と、本実施形態(本手法)における尾根線を用いて得られた値(ESTIMATED BY RIDGE LINE)とを示している。また、
図17の例では、
図16A〜
図16Cに対応する拇指IP関節角度、示指PIP関節角度、小指PIP関節角度における誤差平均[度]、誤差標準偏差[度]を示している。
【0121】
図17に示すように、データベースに手指形状を登録してない人がシステムを利用する場合において、従来手法のように輪郭線情報を利用した推定方法と、尾根線情報を利用した推定方法(本手法)とを比較すると、前腕回旋180[度]時の拇指IP関節角度の平均的な推定誤差の範囲は、0.33±14.97[度](従来手法)から−0.10±13.78[度](本手法)となる。また、示指PIP関節角度の平均的な推定誤差の範囲は、0.99±17.20[度](従来手法)から−0.04±16.89[度](本手法)となり、小指PIP関節角度の平均的な推定誤差の範囲は、5.57±20.33[度](従来手法)から7.84±15.45[度](本手法)となる。
【0122】
つまり、本手法のように、尾根線情報を利用することにより、個人差に対応したデータセットを追加することなく推定精度を上げることができる。したがって、本手法を適用することで、多くの人がより不自由なく手指形状推定システムを利用できるようになる。
【0123】
<本発明の手指形状推定技術の適用例>
ここで、本発明の手指形状推定技術の適用例について、図を用いて説明する。
図18A及び18Bは、本発明の適用例を示す図である。本発明の手指形状推定技術は、例えば
図18Aに示すように、遠隔ロボットの操作に適用することができる。
【0124】
この適用例では、遠隔地にあるロボット40に対して、ユーザ(操作者)側の端末(手指形状推定装置10)で、カメラ等の撮像装置21によりユーザ41の実際の手指42の動きを撮影する。そして、撮影した画像(ここでは、映像)から、上述した本発明の手指形状推定処理を行うことにより、ユーザ41の実際の手指42の動きを高精度に推定し、その推定結果をロボット側に送信する。これにより、ユーザ41の手指42と同じ動きをロボット40の手指43に行わせ、ロボット40を遠隔操作することができる。
【0125】
なお、
図18Aに示すように、ロボットカメラ44で撮影された映像等は、手指形状推定装置10の画面上に表示することができる。そして、ユーザ41は、画面に表示されているロボット40の手指43の動作を見ながら所定の動きをロボット40に行わせることができる。また、
図18Aの例では、例えば上述した
図7Bに示すような把持動作のデータベースを用いて手指動作の推定を行ってもよい。
【0126】
また、
図18Bに示す例は、携帯端末50等に具備されているカメラ機能を用いて本発明の手指形状推定技術を実現する例である。この場合、センサ類の装着なしに、或いは専用のコントローラなしに、ユーザ51の手指52の形状や動きを高速かつ高精度に推定することを可能にする。ここで、携帯端末50は、上述した本実施形態における手指形状推定装置10に相当する。
【0127】
したがって、この場合には、例えば、手指動作により駆動するデスクトップメタファー(デスクトップ環境)、携帯端末50にモバイルプロジェクタ機能53等を組み合わせた手指動作により駆動するクラウドコンピュータ或いは遠隔会議システム、手指動作による3次元造形情報のコンピュータ入力、身振り手振りによるバーチャルゲーム、コントローラなしの家電機器操作、専用の制御装置なしの遠隔ロボット制御等に本発明の手指形状推定技術を利用することができる。
【0128】
上述したように本発明によれば、画像中の手指の形状や動きを高速かつ高精度に推定することができる。具体的には、本発明は、センサ類の装着なしに日常動作と同じように手指や腕を動かすことで情報機器、家電製品、ロボット等の操作を可能にする。すなわち、例えばキーボードやマウスにより情報入力を行う形でなく、ディスプレイ上のアイコンをあたかも書類を開いたり、書類を丸めてゴミ箱に捨てたりするといった日常動作によりパソコンを操作できる新しいデスクトップマネージャー(デスクトップメタファー)を実現することができる。
【0129】
また、本発明によれば、粘土細工のような複雑な自由形状の3次元情報入力を、CAD(Computer Aided Design)ソフトを使うのではなく、手指動作により入力して、自由形状の3次元物体を造形することができる。また、テレビやビデオ装置等の家電製品もリモコンボックスなしに手指動作により制御できるようになり、ロボットの遠隔操作も専用のコントローラでなく日常動作により行うことが可能となる。
【0130】
つまり、本発明によれば、照合用データセットを個人差に影響しない情報を用いて作成するため、特別に個人差対応用のデータセットを付加することなく、かつ、データセットの特徴量次元数が減少するため、データセットの内容を豊富にすることができ、高速かつ高精度に手指形状推定を行うことができる。なお、データセットの内容を豊富にするとは、例えば従来では、例えば指の屈折角度に対して45度毎にデータセットを蓄積していたのを、5度毎や10度毎の間隔で作成することを意味する。つまり、本発明により、各々の指関節が中途半端に曲がった状態を多段階で蓄積することができ、これにより高い分解能で、高精度に手指形状を推定することができる。
【0131】
以上本発明の手指形状推定技術の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【0132】
2.第2の実施形態
第2の実施形態では、手指画像内の爪領域を抽出するための爪領域抽出技術(爪領域抽出装置、爪領域抽出方法、及び、爪領域抽出プログラム)について、説明する。
【0133】
<従来の爪領域抽出技術について>
従来、指の先端位置を特定する手法として、例えば、特開2009−265809号公報等には、爪の存在情報を推定時の情報に付加し、推定精度を向上させる手法が開示されている。この文献では、予め爪領域画素の特徴量を集めたデータベースと、爪を含まない肌領域画素の特徴量を集めたデータベースとを用いて機械学習により識別器を構築し、その識別器を用いて爪を検出することで、指先等の動作を識別し、各動作に割り当てられた制御を実行している。
【0134】
しかしながら、上記文献に示すような技術では、データベース作成時に、手動で爪を切りだして解析を行う必要があり、個人別のデータベースを作成する場合には、多大な時間と労力とを個人毎にかけなければならなかった。その上、この技術は、識別器の利用による画素の領域判定しか行っていない。そのため、例えば指先等のように、爪領域と肌領域との画素の色が一般的に大きく異なる領域のみを対象とする場合には、判別できるが、例えば掌側等に存在する色が非常に爪に類似している肌領域画素が含まれる画像には対応できなかった。また、手は、人毎に色が異なるために個人差への対応が困難であった。
【0135】
第2の実施形態では、上述した課題を解決し、手指画像中の爪領域を高精度に抽出することが可能な爪領域抽出技術(爪領域抽出装置、爪領域抽出方法、及び、爪領域抽出プログラム)について説明する。
【0136】
<第2の実施形態の概要説明>
第2の実施形態に係る爪領域抽出装置は、撮像装置により撮影された画像中に含まれる爪領域を抽出する爪領域抽出装置であり、前記撮像装置により撮影された画像を取得する画像取得部と、前記画像取得部により得られる画像を解析し、解析された結果から得られる所定の特徴量から爪領域を抽出する爪領域抽出部とを有し、前記爪領域抽出部は、前記画像から得られる色情報のみを用いて分離平面を生成し、生成された分離平面に基づいて爪領域候補を抽出し、予め設定された掌を含む画像を用いた画素判別により、前記爪領域候補に対して爪領域の再判定を行うことを特徴とする。
【0137】
また、第2の実施形態に係る爪領域抽出方法は、撮像装置により撮影された画像中に含まれる爪領域を抽出する爪領域抽出方法であり、前記撮像装置により撮影された画像を取得する画像取得ステップと、前記画像取得ステップにより得られる画像を解析し、解析された結果から得られる所定の特徴量から爪領域を抽出する爪領域抽出ステップとを有し、前記爪領域抽出ステップは、前記画像から得られる色情報のみを用いて分離平面を生成し、生成された分離平面に基づいて爪領域候補を抽出し、予め設定された掌を含む画像を用いた画素判別により、前記爪領域候補に対して爪領域の再判定を行うことを特徴とする。
【0138】
更に、第2の実施形態に係る爪領域抽出プログラムは、上記爪領域抽出方法の各処理ステップを、情報処理装置に実装して実行させるための爪領域抽出プログラムである。
【0139】
上述した第2の実施形態に係る爪領域抽出技術によれば、画像中の爪領域を高精度に抽出することができる。
【0140】
<第2の実施形態に係る爪領域抽出技術について>
第2の実施形態に係る爪領域抽出技術では、色情報のみを用いた分離平面生成と、掌を含む画像に対しても爪領域の推定を可能とするための画素判別とを行うと共に画素判別後の再判定を行う。つまり、本実施形態では、分離平面を決定するための処理(アルゴリズム)を有することで、爪及び肌のそれぞれの解析が不要となるため、処理内容を軽減して処理速度を向上させることができる。また、本実施形態では、例えば従来手法のように、データベース等を用いた推定を行わないため、個人差の影響への対応が原理的に簡単となる。更に、本実施形態では、爪の色と類似した色を有する肌領域を除去する手法を備えているため、手指領域全体に対して高精度に爪領域を抽出することができる。
【0141】
以下に、本実施形態における爪領域抽出装置、爪領域抽出方法、及び爪領域抽出プログラムについて、図面を用いて説明する。
【0142】
<爪領域抽出装置:機能構成例>
まず、本実施形態における爪領域抽出装置の機能構成例について図を用いて説明する。
図19は、本実施形態における爪領域抽出装置の機能構成の一例を示す図である。
図19に示す爪領域抽出装置110は、入力部111と、出力部112と、蓄積部113と、画像取得部114と、画像解析部115と、爪領域抽出部116と、手指形状推定部117と、送受信部118と、制御部119とを有するよう構成されている。
【0143】
入力部111は、ユーザ等からの画像取得指示、画像解析指示、爪領域抽出指示、手指形状推定指示、送受信指示等の各種指示の開始/終了等の入力を受け付ける。なお、入力部111は、例えば爪領域抽出装置110がPC(Personal Computer)等の汎用のコンピュータであればキーボードやマウス等のポインティングデバイスからなり、スマートフォンや携帯電話等の情報端末装置やゲーム機器であれば各操作ボタン群等からなる。また、入力部111は、音声等により上述した指示等の音声を入力する音声入力機能を有していてもよい。
【0144】
出力部112は、入力部111により入力された内容や、入力内容に基づいて実行された内容等の情報の出力を行う。具体的には、出力部112は、取得した画像や画像解析結果、爪領域抽出結果、手指形状推定結果等の爪領域抽出装置110における各構成の処理結果や処理経過等の画面表示や音声出力等を行う。なお、出力部112は、ディスプレイやスピーカ等からなる。更に、出力部112は、プリンタ等の印刷機能を有していてもよく、上述の各出力内容を、例えば紙等の各種印刷媒体等に印刷し、ユーザ等に提供することもできる。
【0145】
蓄積部113は、本実施形態において必要となる各種情報や、処理の実行時又は実行後の各種データなどを蓄積する。具体的には、蓄積部113は、予め蓄積されている画像や、画像取得部114で取得される撮影等により得られた画像(例えば、映像等のように時系列的な画像も含む)等を蓄積する。また、蓄積部113は、画像解析部115にて解析された解析結果、爪領域抽出部116における抽出結果、手指形状推定部117による推定結果等を蓄積する。また、蓄積部113は、必要に応じて蓄積されている各種データを読み出すことができる。
【0146】
画像取得部114は、例えば撮像装置120等により撮影された画像や映像等を取得する。なお、説明の便宜上、画像取得部114により取得される画像には、手指が含まれているものとするが、本実施形態においてはこれに限定されるものではない。
【0147】
ここで、本実施形態では、撮像装置120を爪領域抽出装置110の外部に設けたが、本実施形態においてはこれに限定されるものではなく、撮像装置120が、例えば爪領域抽出装置110内に内蔵されていてもよい。また、画像取得部114により取得される画像や映像は、撮像装置120により撮影される実際の手指の画像や映像等に限定されるものではなく、例えば模型の手指や写真、ポスター等を撮影した画像等であってもよい。また、画像取得部114は、送受信部118を介して、通信ネットワーク上に接続される外部装置やデータベース等に蓄積されている画像や映像等を取得することもできる。画像取得部114によって取得した画像等は、蓄積部113に蓄積させることができ、必要に応じて蓄積部113から読み出すことができる。
【0148】
画像解析部115は、画像取得部114にて取得した画像を解析する。具体的には、画像解析部115は、画像中における画素毎の特徴量等から、どの部分(位置、領域)に手指や爪等のオブジェクトの位置が映し出されているか、又は、映像中において手指や爪等のオブジェクトがどのように移動しているか等を解析する。つまり、画像解析部115は、撮影された手や爪等の画像の特徴量の数値化を行う。
【0149】
爪領域抽出部116は、画像解析部115により解析された結果に基づいて、その画像に含まれる爪領域の候補を抽出する。なお、抽出される爪領域は、例えば画像の輝度情報や閾値等に基づいて抽出することができる。また、爪領域抽出部116は、抽出した爪領域から各爪の重心座標又は中心座標を求め、それを位置情報として出力することができるが、本実施形態においてはこれに限定されるものではなく、例えば爪の存在情報、重心、及び爪毎領域面積等のうち、少なくとも1つを出力してもよい。爪領域抽出部116における具体的な爪領域の抽出手法については後述する。また、抽出された爪領域に関する情報は、蓄積部113に蓄積させることができ、必要に応じて蓄積部113から読み出すことができる。
【0150】
手指形状推定部117は、爪領域抽出部116により設定された爪領域の情報に基づいて手指の形状を推定する。具体的には、画像中に含まれる爪の位置情報、手指の輪郭形状(輪郭線情報)等を用い、予め爪の位置情報及び手指の輪郭形状に対応する手指形状が設定されたデータベースと入力画像とを照合することで、手指の形状を高精度に推定することができる。本実施形態に示すように爪の情報を用いることで、例えば手指形状が手の甲側であるか、掌側であるかといった判別を高精度に行うことができる。また、掌や手の甲がカメラ等に対してどれくらい回転しているかという情報を高精度に推定することもできる。なお、本実施形態においては、手指形状推定部117を設けていない構成であってもよい。
【0151】
また、送受信部118は、通信ネットワーク等を用いて接続可能な外部装置から所望する外部画像(例えば撮影画像や映像等)や、本実施形態における爪領域抽出処理を実現するための実行プログラム等を取得するためのインターフェースである。また、送受信部118は、爪領域抽出装置110内で得られた各種情報を外部装置に送信することができる。
【0152】
制御部119は、爪領域抽出装置110の各構成部全体の制御を行う。具体的には、制御部119は、例えばユーザ等による入力部111からの指示等に基づいて、画像の取得、画像解析、爪領域の抽出、手指形状の推定等の各処理における制御等を行う。
【0153】
撮像装置120は、デジタルカメラや高精度カメラ等からなり、ユーザの実際の手指や模型の手指等の画像や映像を取得する。なお、撮像装置120は、1台だけ設けられていてもよいし、異なる方向から同時に手指を撮影できるように複数台、設けられていてもよい。
【0154】
<爪領域抽出装置110:ハードウェア構成>
ここで、上述した爪領域抽出装置110においては、各機能をコンピュータ(ハードウェア)に実行させることができるソフトウェアとしての実行プログラム(例えば、爪領域抽出プログラム)等を生成し、例えばPC等の汎用のパーソナルコンピュータ、サーバ、スマートフォンや携帯電話等の情報端末装置、ゲーム機器等にその実行プログラムをインストールすることにより、本実施形態における爪領域抽出処理等を実現することができる。
【0155】
ここで、本実施形態における爪領域抽出処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。
図20は、本実施形態における爪領域抽出処理が実現可能なハードウェア構成の一例を示す図である。
【0156】
図20におけるコンピュータ本体には、入力装置121と、出力装置122と、ドライブ装置123と、補助記憶装置124と、メモリ装置125と、各種制御を行うCPU(Central Processing Unit)126と、ネットワーク接続装置127とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
【0157】
入力装置121は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザ等からのプログラムの実行等の各種操作信号を入力する。また、入力装置121は、例えばカメラ等の撮像装置120から撮影された画像を入力する画像入力ユニットを有していてもよい。
【0158】
出力装置122は、本実施形態における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU126が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
【0159】
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、例えばUSB(Universal Serial Bus)メモリやCD−ROM等の可搬型の記録媒体128等により提供される。プログラムを記録した記録媒体128は、ドライブ装置123にセット可能であり、記録媒体128に含まれる実行プログラムが、記録媒体128からドライブ装置123を介して補助記憶装置124にインストールされる。
【0160】
補助記憶装置124は、ハードディスク等のストレージ装置であり、本実施形態における実行プログラムやコンピュータに設けられた制御プログラム等を蓄積し、必要に応じてそれらの入出力を行うことができる。
【0161】
メモリ装置125は、CPU126により補助記憶装置124から読み出された実行プログラム等を格納する。なお、メモリ装置125は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなる。
【0162】
CPU126は、OS(Operating System)等の制御プログラム、及びメモリ装置125に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、爪領域抽出処理における各処理を実現することができる。なお、プログラムの実行中に必要な各種情報等は、補助記憶装置124から取得することができ、また実行結果等を補助記憶装置124に格納することもできる。
【0163】
ネットワーク接続装置127は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を他の端末等に提供することができる。
【0164】
上述したようなハードウェア構成により、本実施形態における爪領域抽出処理を実行することができる。また、プログラムをインストールすることにより、汎用のパーソナルコンピュータ等で本実施形態における爪領域抽出処理を容易に実現することができる。
【0165】
次に、上述した爪領域抽出プログラムにおける爪領域抽出処理について具体的に説明する。
【0166】
<爪領域抽出処理手順>
まず、本実施形態における爪領域抽出処理手順の概略について説明する。
図21は、本実施形態における爪領域抽出処理手順の一例を示すフローチャートである。なお、以下に説明する各種処理における各部の動作は、制御部119(CPU126)により制御される。
【0167】
図21に示す爪領域抽出処理では、まず、画像取得部114は、カメラ等の撮像装置120により撮影された画像を取得する(S101)。次いで、画像解析部115は、画像の解析を行い(S102)、画像中に含まれる手指や爪等のオブジェクトの位置情報等を取得する。
【0168】
次に、爪領域抽出部116は、S102の処理にて得られた情報に基づいて爪の領域を抽出する(S103)。次いで、手指形状推定部117は、抽出された爪の領域等に基づいて手指形状の推定を行う(S104)。そして、手指形状推定部117は、その推定結果を出力する(S105)。なお、本実施形態においては、これに限定されるものではなく、例えばS103の処理終了後、手指形状推定部117が、画像中における爪の領域のみを出力してもよい。
【0169】
次に、制御部119は、処理を終了するか否かを判断し(S106)、終了しない場合(S106において、NO)、S101に戻り、制御部119は、例えば連続する画像、つまり映像に対して上述の処理を行って時系列的に結果を出力したり、又は、他の画像を取得して、制御部119は、上述した処理を行う。
【0170】
また、S106の処理において、ユーザの指示等により処理を終了する場合(S106において、YES)、制御部119は、爪領域抽出処理を終了する。
【0171】
<S103:爪領域抽出処理について>
次に、上述したS103における爪領域抽出処理の具体例について図等を用いて説明する。
【0172】
[画像中の手指を構成する画素の分布]
まず最初に、RGB色空間における手指画像の画素分布の特徴について説明する。
図22は、手指画像のRGB色空間における画素分布のモデルの一例を示す図である。
図22に示すように、肌領域画素(SKIN AREA DISTRIBUTION)は、薄い楕円体のように密集して分布しており、爪領域画素(NAIL AREA DISTRIBUTION)は、楕円体の上部に一部の空間を共有しながら層状に乗るような形で分布している。ここで、この共有部分(COMMOM AREA)は、明度が低いほど増加する。
【0173】
したがって、基本的には、手指画像全体を明るくすることが爪領域画素分布を肌領域画素分布から分離するための重要な条件となる。しかし一方では、手の形状、並びに、カメラと手との間の位置関係により光の反射が異なるため、場所等により明度(輝度等)が低下し、共有部分が増加する場合もある。このような場合には、上述の条件だけでは対応できない。したがって、様々な手の形状から爪を精度よく検出するためには、この反射の違いによる明度の差を考慮する必要がある。
【0174】
[明度の差を考慮した本実施形態における爪領域抽出手法について]
そこで、本実施形態では、以下の手法に基づいて爪領域の抽出を行う。
図23は、本実施形態における爪領域抽出処理の具体例を示すフローチャートである。また、手指画像の背景は黒色とするが、これに限定されるものではない。
【0175】
最初に、爪領域抽出部116は、入力画像の撮像ノイズを取り除くために、例えばメディアンフィルタ等を用いて前処理を行う(S111)。なお、前処理とは、例えばスムージング処理等を含むが、本実施形態においてはこれに限定されるものではない。また、前処理としてコントラスト調整や背景分離などの処理が含まれてもよい。なお、上述した前処理によるスムージング処理では、例えば撮像ノイズを除去するために、小さな枠組みである3×3等のメディアンフィルタを用いることによりノイズ除去を行う。また、撮像ノイズ除去を目的としているため、スムージング処理では、例えば非線形フィルタ(つまり、異常値に影響されないフィルタ)を用いるが、これに限定されるものではない。
【0176】
次に、爪領域抽出部116は、爪の色に似た画素を抽出し(S112)、2値化した画像の平滑化処理やラベリング処理を行うことにより、爪に似た色を持つ領域を爪領域候補として検出する(S113)。なお、上述した平滑化処理では、例えばバラバラに抽出された画素を結合させて1つの領域にするために、例えば7×7等のメディアンフィルタを用いるが、フィルタの領域は7×7に限定されるものではない。また、メディアンフィルタによる平滑化処理は、具体的には、まず、元の画像をRチャンネル画像、Gチャンネル画像、Bチャンネル画像の3つの画像に分割し、次いで、それぞれの画像に対して平滑化を行い、そして、平滑化後の3つの画像を再び統合して1つのRGB画像に統合する。また、本実施形態では、画素の結合を目的としているため、平滑化手法としてメディアンフィルタを用いるが、本実施形態においてはこれに限定されるものではなく、例えば加重平均フィルタやガウシアンフィルタ等の別の平滑化手法を用いることができる。
【0177】
また、上述したラベリング処理では、例えばコンピュータに領域を認識させ、該領域の重心を取得するために、平滑化によって現れた領域に対し、その領域の大きさ順に番号付けを行う。また、領域の小さなもの(具体的には、例えば画素数20以下の領域)は、ノイズとみなして除去を行う。その後、残った各領域の重心の位置を取得する。
【0178】
上述の処理により得られた領域は、手指画像全体から求めた領域であるため、上述したように撮像による光の反射の違いにより生じる影響等を受ける可能性がある。
【0179】
そこで、本実施形態では、爪領域抽出部116は、更に爪候補領域の重心周りにROI(Region Of Interest;関心領域)を設定し(S114)、ROI内で再処理を行う(S115)。なお、再処理とは、上述した爪領域抽出処理であり、例えば上述したS111〜S113までを処理を示すが、本実施形態においてはこれに限定されるものではない。S115の再処理を行うことで光の反射の違いによる影響等を低減させることができる。
【0180】
その後、爪領域抽出部116は、得られた爪領域について、再度爪かどうかの判定を行うことにより最終的な爪領域を決定し(S116)、爪領域の重心位置を取得して出力する(S117)。このように、本実施形態では、明度の差を考慮して爪領域の抽出を行う。
【0181】
<S112:爪に似た色を持つ画素を抽出する手法について>
次に、上述したS112の処理における爪に似た色を持つ画素を抽出する手法について説明する。
図24A〜24Cは、主成分軸を基底とした座標変換の一例を示す図である。なお、
図24Aは、皮膚(SKIN)及び爪(NAIL)の手指画像のRGB画素分布を示し、
図24Bは、皮膚及び爪の第1主軸(1ST MAIN AXIS)−第3主軸(3RD MAIN AXIS)平面の画素分布を示し、
図24Cは、皮膚及び爪の第2主軸(2ND MAIN AXIS)−第3主軸平面の画素分布を示している。また、
図25A及び25Bは、分離平面位置決定手法の一例を示す図である。ここで、一例として、第1主軸は肌色における明度の軸を意味し、第2主軸は暖色系の軸を意味し、第3主軸は寒色系の軸を意味しているが、本実施形態においてはこれに限定されるものではない。
【0182】
本実施形態では、まず背景を除いた手指画像の色情報に対して、分散共分散行列を固有値分解して得た主成分軸ベクトルを基底として座標変換を行う。このとき、
図24Aのように、第3主軸に垂直となる方向に爪画素分布と肌画素分布の層が現れる。したがって、求める分離平面の方程式は、座標変換後の画素の座標をx=(x
1,x
2,x
3)
T(なお、Tは転置行列であることを示す)とすると以下に示す式(11)のように1次元の非常に簡単な形に表すことができる。
【0184】
ここで、閾値Thread_layerは、システムの開始時にキャリブレーションとして爪の写らない掌のみの画像を入力画像として用いた場合の値である。掌のみの画像を用いる理由は、手の甲側と比較して掌の方が一般的に肌の色が白色に近いため、画素の明度が高く、爪の色に似る性質があり、結果として層の上部に画素が分布するためである。
【0185】
つまり、手の甲側のみ写る画像でのキャリブレーションを行ってしまうと分離閾値が低くなり、掌側の肌画素を多く抽出してしまうため適さない。そのため、本実施形態では、例えば掌のみの画像iの画素分布の密度の濃い部分のみを抜き出し、
図25Aのように変数Thread_layer
iを上部から下部へ移動させ、式(11)の直線が密集画素領域と接する位置をThread_layer
iの値とする。そして、Thread_layerを以下に示す式(12)と定める。
【0187】
ここで、上述した式(12)において、nはキャリブレーションに用いた画像数であり、off
thは層を切る位置を微調整するためのオフセット定数である。これらの手法を用いることで、適切な切断位置(分離平面の位置)を自動で定めることができる。
【0188】
つまり、上述の処理では、
図25Aに示すように、まず掌のみ写る画像の画素情報を主成分軸基底変換する。その後、分離平面の位置を高い位置から下げ、密度の大きい領域に差し掛かったところを分離平面の第3主軸座標(3RD MAIN AXIS)とする。このキャリブレーションを複数枚(n枚)の画像に対して行って算出された分離平面の位置の平均値を本実施形態で用いる分離平面の第3主軸座標とする。
【0189】
次に、
図25Bに示すように、手指画像を主成分軸基底変換し、上述した手法で求めた分離平面で爪の画素(NAIL PIXELS)と肌の画素(SKIN PIXELS)とを互いに分離し、例えば平滑化、ラベリング等の処理により、爪に似た色を持つ領域を求める。
【0190】
上述したように、本実施形態では、主成分分析で求まる3軸のうちの2軸で2次元平面を作成し、作成された2軸のうちの1軸で分離平面の高さを変える処理行う。具体的には、本実施形態では、爪領域抽出部116において、撮像装置120により予め撮影された掌のみが写る画像の画素情報を、主成分分析により、予め設定された第1から第3までの主軸のうちの2つの主軸を用いて主成分軸基底変換し、その2つの主軸のうちの1つの主軸に沿って分離平面の位置を高い位置から下げ、密度の大きい領域に差し掛かったところを分離平面とし、その分離平面を用いて爪領域を抽出する。
【0191】
図26A及び26Bは、本実施形態において、抽出された爪領域部分を示す図である。本実施形態では、
図26Aに示す元画像から、上述した解析等により
図26Bに示すような爪領域候補を抽出する。なお、
図26Bに示す白い領域が爪領域候補として抽出された部分である。本実施形態において、爪領域は、少なくとも1つ抽出するようにしてもよく、上述した条件に合わないような場合は、画像中に爪領域が存在しないものとして処理してもよい。
【0192】
<密度差を利用した爪判定手法>
次に、爪領域候補の決定後、上述したS116の処理において爪を判定して爪領域を決定する手法について説明する。爪領域候補の決定時では、カメラの撮像方向による光の反射の違いが影響し、ごく小さい領域しか出なかった爪や、爪領域より大きい領域で誤抽出されてしまった肌が爪領域候補となっている可能性がある。そのため、例えば平滑化処理やクロージング処理等の単純な処理では、肌領域より先に爪領域が消えてしまい、誤抽出領域を除去できない場合が生じる。なお、領域が大きく抽出されてしまい、誤抽出されてしまう場所は、およそ位置が決まっている。
【0193】
ここで、
図27は、誤抽出確率の高い肌の分布位置の一例を示す図である。上述したような誤抽出が多いのは、例えば
図27に示す拇指球(THENAR),指腹(FINGER PULP),指側面(FINGER SIDE)であり、分離平面の切断位置が低い場合に誤抽出確率が高くなるのが小指球(ANTITHENAR)、及び、MP関節(Metacarpophalangeal;中手指節間関節)付近の肌である。
【0194】
そこで、本実施形態では、上述した部位を除去するための処理を行う。まず、爪領域候補の重心周りに正方形状のROI(関心領域)を設定し、ROI毎に爪に似た色を持つ画素の再抽出を行う。i番目のROI内にある手指画素の数をn
iとしたとき、再抽出時に目標とする目標面積Square
iを、例えば以下に示す式(13)と定める。
【0196】
式(13)は、全てのROI内の手指画素数と目標面積との比が定数aで一定であることを示す。本実施形態では、この目標面積を基にしてROI毎に分離平面を動かし、別々の閾値により再抽出を行う。この面積の再抽出は、例えば爪領域候補の周辺情報のみを利用して行うため、近い明度を持った画素でどれが爪色に似ている画素か判断でき、結果として撮像時の光の反射による抽出精度低下の影響を低減させることができる。
【0197】
ここで、
図28A及び28Bは、それぞれ爪領域を再抽出した場合及び誤抽出肌領域を再抽出した場合の実行結果の一例を示す図である。
図28A及び28Bにおいて、再抽出後の画素の様子は、
図28Aに示す爪領域では重心周りに集まって密集して分布している。一方、
図28Bに示す誤抽出肌領域では、拡散して分布をしていることがわかる。そこで、本実施形態では、この密集の様子の差異を利用して爪領域を判定する。
【0198】
本実施形態では、密集画素数と密集でない画素数とをそれぞれ数え、その画素数の比の大きさを比較することで爪を判定する。例えば、i番目のROI内において画素再抽出後の2値画像をO
iとし、その画像に対してメディアンフィルタ等による平滑化処理を施して、密な領域だけを残した画像を密画像C
iと定義する。そして2値画像O
iと密画像C
iの排他的論理和を以下に示す式(14)によって取り、その値を疎画像S
iとして定義する。
【0200】
このとき、密画像C
i内の抽出画素のピクセル数をN
ci、疎画像S
i内の抽出画素のピクセル数をN
siとした場合に、爪である条件を、例えば以下に示す式(15)で規定し、式(15)に基づいて爪であるか否かの判定を行う。
【0202】
つまり、本実施形態では、上述したように、各爪領域候補の重心からROIを設定し、ROIの領域面積が同じとなるように分離平面の位置をROI毎に変化させて再抽出を行う。なお、本実施形態では、ROI毎に画像を生成し、画素の重なりを防止する。また、ROIの形状は、正方形としてもよいし、円形としてもよいが、ROIの形状や大きさ等については特に限定されるものではない。
【0203】
<評価結果について>
次に、上述した本実施形態に基づく爪領域抽出結果の評価実験、及び、その評価結果について、図を用いて説明する。
図29A〜29Cは、本実施形態における評価結果について説明するための図である。なお、
図29Aは、手の甲(BACK)及び掌(PALM)における爪領域候補から、実際に爪として判定される確率(DETECTION PROBABILITY[%])を各指(THUMB(親指),INDEX(人差し指)、MIDDLE(中指)、RING(薬指)、PINKY(小指))及び皮膚(SKIN)毎に求めた一例を示し、
図29Bは、手の甲及び掌における抽出した爪の重心と実重心とのユークリッド距離誤差(DISTANCE[PIXEL])を各指毎に求めた一例を示し、
図29Cは、手の甲側のみが写る画像の爪領域重心とROIの一例を示す。
【0204】
評価実験では、蛍光灯でカメラ上方から下方に照らし、LEDライト2台のうち一方で上方から下方に、及び、他方で下方から上方を照らし、背景が黒色になるような環境下でカメラから80cm離れて撮影した手指の画像を使用する。カメラは、例えばPoint Gray Research社製Dragonfly Express(640×480[pixel])を用いた。
【0205】
画像は、手の甲側のみが写る画像を100枚、掌側を含めて写る画像を100枚の計200枚を使用する。また評価は、爪領域候補として検出された爪及び誤抽出した肌が爪判定手法により爪として判定される確率、そして正しく抽出された爪の重心と、実重心とのユークリッド距離誤差について指毎に評価を行った。
【0206】
評価実験は、各指の爪が爪領域候補として認識される確率が、各指に対して95%以上となるようにオフセット定数off
thを調節して行った。また、本実施形態では、一例としてROIの探索範囲を40×40[pixel]とし、爪の判定条件の閾値Thread
csを2.5としているが、本実施形態においてはこれに限定されるものではなく、これらのパラメータは、例えば画像中における手指の大きさ、角度、入力画像の総画素数、画像サイズ等に応じて、任意に設定することができる。
【0207】
まず、
図29Aに、爪領域候補として検出された爪及び誤抽出した肌が、爪として認識される確率を示す。
図29Aによれば、本実施形態における手法は、肌の誤抽出10%以下となり、肌をほとんど誤検出しなかった。更に、手の甲側のみが写る画像の拇指の爪の検出結果を除き、90%を超える精度で爪を検出できることが示された。なお、最終的に誤判定された肌部位は指腹及び指側面であった。指側面を誤抽出した主な原因は、誤抽出した位置が爪領域直近に位置していたため、ROI領域内の多くが爪となっていたためであると考えられる。
【0208】
これは、爪判定処理(アルゴリズム)で再抽出した際に得られる画素の重心とROI中心との誤差を見て、大きければ処理するといった処理を加えれば改善できる。また、指腹については、稀に中心に画素が集中する場合があることが判明した。
【0209】
次に、
図29Bに、抽出した重心と実重心とのユークリッド距離誤差を示す。
図29Bにより、手の甲側のみが写る画像における拇指以外の爪の重心のユークリッド距離誤差は、平均で4[pixel]未満となり、画像の解像度から見てかなり小さい誤差で爪の重心を求めることができることがわかった。なお、各指において掌側を含んで写る画像よりも手の甲のみが写る画像で重心誤差が大きいのは、爪領域と、その領域に隣接する指側面の小さな領域が結合し、重心が爪の中心から外側方向へずれるためであると考えられる。
【0210】
最後に、拇指の手の甲側のみが写る画像が他と比較して著しく精度が減少した理由を考察する。手の甲側の画像で拇指を含む画像は
図29Cのように撮像されている。
図29Cによれば、拇指以外では重心が爪のほぼ中心となっているが、拇指では爪の端に重心があることが分かる。これは、解析を行った結果、拇指の爪の下部に極度に明度が低下する影ができてしまったため色が変化し、爪上部及び指側面の肌しか抽出されず、更にそれらが結合してしまったことが原因であることが判明した。
【0211】
また、評価結果としては、爪の端に重心、つまりROIの中心があるため、拇指付近の探索範囲は他の爪と比較して多く肌の画素を取り込むこととなる。更に、取り込む肌領域画素は色が爪に似ている指側面の画素である。これにより、拇指では、ROIに含まれる指側面画素により結果が大きく影響され、誤推定を生じさせたのではないかと考えられる。このように、ROI内で影による局所的な明度差ができてしまう状況が影響し、判定精度が低下したことが原因であると考えられる。
【0212】
本実施形態では、爪輪郭内外及び肌において、爪に似た色を持つ画素の密集の状態が異なる性質に注目をし、密集差から爪を判別する爪領域検出システムを構築した。評価実験の結果としては、肌領域を10%以下の低確率でしか誤判定せず、また爪に局所的に影ができない場合では90%を超える高精度で爪のみを検出でき、爪の重心のずれも平均4[pixel]以下で求めることができることが確認された。したがって、本実施形態を用いることにより、画像中の爪領域を高精度に抽出することができる。
【0213】
<爪領域抽出技術の適用例>
ここで、本実施形態における爪領域抽出技術の適用例について、図を用いて説明する。
図30は、本実施形態の爪領域抽出技術の適用例を示す図である。
図30では、本実施形態における爪領域抽出装置の機能と、輪郭線を用いた既存の手指形状推定装置の機能とを具備した手指形状推定システム130が示されている。具体的には、手指形状推定システム130は、撮影装置であるカメラ131と、輪郭線情報取得処理系132と、爪情報取得処理系133と、データベース照合部134とを有している。ここで、爪情報取得処理系133とは、上述した爪領域抽出装置110に相当する。
【0214】
カメラ131から得られる手を含む画像は、輪郭線情報取得処理系132と爪情報取得処理系133とに出力される。輪郭線情報取得処理系132は、取得した画像から手指の輪郭線(輪郭形状)を取得し、該輪郭線の特徴量(輪郭線情報)を出力する。なお、輪郭線の取得例としては、例えば隣接画素間における輝度差情報等に基づいて、画像中から手指部分と背景部分とを分離し、手指部分の輪郭線を取得することができるが、本実施形態においては、これに限定されるものではない。
【0215】
爪情報取得処理系133は、カメラ131から取得した画像に対して上述した処理を行うことで、例えば爪の重心や輪郭等の爪情報を取得する。
【0216】
データベース照合部134は、
図30に示すように、輪郭線情報と爪情報とを用いて、多種類の手指形状についての輪郭線の特徴量及び爪の存在情報、重心、領域面積等と、その時の関節角度情報とを組み合わせて、それらのデータと予め蓄積部等に蓄積されているデータベース内のデータとを照合して、最も類似度の高い手指形状を、その手の推定形状として出力する。
【0217】
また、データベース照合部134は、入力データと、関節角度情報も予め組み合わせて蓄積されたデータベース内のデータとを照合することで、例えば手指の関節角度を特定し、その角度データ等を出力する。なお、データベース照合部134が出力する情報は、角度データに限定されるものではなく、例えば手の動作内容(例えば、把持動作の種類)等を出力してもよい。
【0218】
また、上述した輪郭線情報取得処理系132における処理やデータベース照合部134による処理は、例えば上述した爪領域抽出装置110の手指形状推定部117の処理内容に含まれていてもよい。
【0219】
一般に、手指形状の推定は、多関節構造であり、指が複雑に動作することから3次元モデルを立てると計算が煩雑になる、自己遮蔽に弱い等の問題がある。そのため、2次元の画像情報とデータベースのデータとを照合することによって3次元形状を高速で推定する等の方法が用いられる。しかしながら、その方法は、輪郭線情報を基にしているため、例えばカメラ正面に向かって指を曲げていると指の先端位置情報が失われ、精度が失われる可能性がある。
【0220】
そこで、本実施形態では、
図30に示す手指形状推定システム130のように、爪情報取得処理系133を用いることで、指の先端位置情報を得ることができ、推定精度を向上させることができる。なお、上述したような爪情報取得処理系は、例えば本出願人により出願された国際公開番号WO2009/147904号に示されているような手指形状推定装置等に適用することができる。
【0221】
上述したように本実施形態によれば、画像中の爪領域を高精度に抽出することができる。具体的には、本実施形態は、付け爪等の装着物なしにカメラに写るように手を動かすだけで高精度かつリアルタイムで爪領域を抽出することができる。この技術が発展すると、指の先端位置を正確に求めることができるようになり、例えば手話動作等の複雑な手指形状を伴う動作をコンピュータに認識させる技術の認識精度向上や、形を特定しない手首回旋を含む様々な手指の形状を推定する際の推定精度向上が期待できる。
【0222】
また、爪の色は、肌と差異があるものの、正確に爪領域と肌領域を分離することは容易ではない。実際、従来手法では、予め爪領域画素と肌領域画素との画素分布を解析しなければ、分離の判定式を作ることもできなかった。更に、爪領域は、手指領域内でとても小さいために、爪と類似した色を抽出し、平滑化処理、ラベリング処理を行って領域を求めた際に、爪領域より爪に似た色を持つ肌領域の方が大きい領域となってしまう。このため、平滑化処理やクロージング処理等の単純なノイズ除去手法では肌領域を取り除けない事例が多いことが高精度な爪領域抽出を困難なものとしていた。しかしながら、本実施形態によれば、爪画素分布と肌画素分布とを分離する分離平面を、爪及び肌の分布を解析することなく定めることができ、取り除けなかった肌領域を除去することができる。
【0223】
また、本実施形態では、色情報のみを用いた分離平面生成と、掌を含む画像対応のための画素判別後の爪の再判定とを行う。従来技術では、画素がどちらの領域に属するかを判定する分離超平面を構成するための識別器を生成するために、爪領域画素の特徴量データベースと肌領域画素の特徴量データベースとを作る必要がある。この際に肌と爪を手動で切り分ける必要が生じるため、手動で爪と肌を切り分け、加工した学習用画像を生成しなければならず、精度を持たせるために多くの学習用画像を生成するには膨大な時間と労力を必要とした。
【0224】
それに対して本実施形態では、爪領域画素が肌領域画素に比べて非常に少ないという性質と、手指画像全体の画素情報を主成分軸基底で座標変換すると、第3主軸方向に爪領域画素及び肌領域画素がなす分布に層状の大きな偏りが生じ、線形式の分離平面で両者の画素分布を分離できるという性質とを生かす。そして、事前にキャリブレーションとして爪が写らない、掌のみの手指画像を主成分軸基底座標変換し、画素密度による判定で肌画素分布上面の第3主軸方向の座標値を得ることで、人間が手動で作業をしなくても自動で爪画素分布と肌画素分布とを切り分ける分離平面の方程式を導出可能とした。これにより、本実施形態では、時間と労力とを大幅に削減することができる。
【0225】
また、従来技術では、情報端末装置をタッチパネルのように操作する際に爪情報を用いることを前提としていたため、爪領域画素と色が似ている画素を持つ肌領域が少ない手の甲側のみを識別対象として考慮していた。そのため、従来技術では、識別器を用いた分離超平面により、画素が爪領域であるか、又は、肌領域であるかの種類判定しか行っていない。そのため、肌領域の1部に爪と似た色を持つ画素が集中する領域が存在する掌側では対応できない。それに対して本実施形態では、従来技術と分離平面を用いて画素を判定する点は同じであるが、判定後にその画素を含む領域(ROI)毎に、本当にその領域が爪領域であるかどうかをもう一度判定することで、掌を含む画像に対応できるようにした。
【0226】
つまり、本実施形態は、事前に爪領域画素と肌領域画素とを手動で切り取る作業をすることなく用いることができるシステムであるため、本実施形態によれば、少し調整を行うだけで、すぐにシステムを用いることができる。また、掌を含む手指画像にも対応することができるため、様々な手指形状に対して正確に爪の位置を求めることができる。更に、本実施形態では、分離平面による判定と、領域抽出後の再判定とによる2段階判定方式を用いているため、誤抽出をする可能性が減少する。
【0227】
更に、本実施形態は、爪が常に画像内に写るようにカメラを配置するだけで、付け爪等の装着物なしに、爪領域の位置を得る、すなわち、指の先端位置を常に正確に知ることが可能となる。したがって、本実施形態によれば、例えば、手の動きをそのまま仮想3次元空間で動作させる3次元ジェスチャーインターフェースの動作を精巧なものとしたい場合や、タッチしないでも爪の領域の動きを検出することでタッチしたかのように端末を動かすことができるノンタッチ動作検出端末機、手話認識装置等に利用できると考えられる。
【0228】
更に、画像中に複数の手が存在する場合であっても、本実施形態の手法により爪領域を抽出することで、より高精度に手指形状を推定することができる。
【0229】
以上、爪領域抽出技術の好ましい実施例について詳述したが、本実施形態の爪領域抽出技術は係る特定の実施形態に限定されるものではなく、種々の変形、変更が可能である。
【0230】
また、
図30に示す例では、第2の実施形態に係る爪領域抽出装置と、既存の手指形状推定装置とを組み合わせた手指形状推定システム130について説明したが、第2の実施形態に係る爪領域抽出装置(
図19)と、上記第1の実施形態に係る手指形状推定装置(
図1)とを組み合わせて手指形状推定システム(手指形状推定装置)を構築してもよい。
【0231】
この場合、例えば、第1の実施形態に係る手指形状推定装置(
図1)と、第2の実施形態に係る爪領域抽出装置(
図19)とをそれぞれ別個の装置として組み合わせてもよい。また、例えば、
図1に示す手指形状推定装置10に、
図19に示す爪領域抽出装置110中の爪領域抽出部116を組み込んで、手指形状推定システム(手指形状推定装置)を構築してもよい。
【0232】
後者の構成においては、第1の実施形態に係る手指形状推定装置(
図1)と、第2の実施形態に係る爪領域抽出装置(
図19)との間で共用できる構成部(例えば、入力部、出力部、蓄積部、画像取得部、画像解析部、送受信部、制御部等)は、両装置において共用してもよい。この場合、共用する各構成部の動作を、手指形状推定機能だけでなく、爪領域抽出機能にも対応できるように制御すればよい。このような構成では、上記第1の実施形態で得られる効果だけでなく、
図30で説明した上記各種効果と同様の効果も得られる。