爪画像合成装置、爪画像合成方法および爪画像合成プログラム |
|||||||
申请号 | JP2013091062 | 申请日 | 2013-04-24 | 公开(公告)号 | JP2014215735A | 公开(公告)日 | 2014-11-17 |
申请人 | 国立大学法人筑波大学; Univ Of Tsukuba; 国立大学法人 筑波大学; | 发明人 | HOSHINO SEI; FUJISHIMA NORIAKI; | ||||
摘要 | 【課題】 手指 を撮影した画像にネイルアートを施す際に、手の形状の変化や動きなどに追随したネイルアートの合成画像を得る。【解決手段】手指画像から指先と爪領域を検出し、爪領域の 重心 位置 と指先位置とに基づいて指の回旋を検出する。そして、その検出した回旋状態に対応してネイルチップの画像を加工した上で、ネイルチップの画像を、指の爪領域を含む範囲に重畳する。【選択図】図1 | ||||||
权利要求 | 手指に重畳するネイルチップの画像および手指画像を取得する画像取得部と、 前記手指画像から指先を検出する指先検出部と、 前記手指画像から爪領域を検出する爪領域検出部と、 前記爪領域検出部で検出した爪領域の重心位置と、前記指先検出部で検出した指先位置とに基づいて、指の回旋を検出する回旋検出部と、 前記回旋検出部で検出した回旋状態に対応して、取得したネイルチップの画像を加工するネイルチップ画像加工部と、 ネイルチップ画像加工部で加工されたネイルチップの画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成部とを備える 爪画像合成装置。 前記回旋検出部は、指の長手方向に平行な軸を設定し、 その指の長手方向に平行な軸を、前記爪領域検出部が検出した爪領域の重心位置を通過するようにし、 前記軸の指先からのシフト量に応じて、指の回旋を検出するようにした 請求項1に記載の爪画像合成装置。 前記爪領域検出部は、手指画像の色情報に基づいて、爪に近い色の領域を抽出して爪の候補領域を検出し、前記爪に近い色の連続性と、爪に近い色である可能性が高い画素の分布密度に基づいて、爪の候補領域から爪領域を検出し、その検出した爪領域から重心位置を検出する 請求項1または2に記載の爪画像合成装置。 前記爪領域の重心位置と指先とを結ぶ直線を引き、この直線の中点を原点とし、 前記原点を通過し、前記直線と垂直な法線を、前記爪領域の範囲に引き、 前記原点を中心とし、前記直線を延長した線を長軸とし、前記法線を短軸としたとき、 前記短軸の原点からの左右の長さの比率に基づいて、ネイルチップの中心からの左右の長さの比率を変換する透視変換を行う 請求項3に記載の爪画像合成装置。 前記長軸と前記短軸とで描かれる楕円で、前記ネイルチップの画像を重畳する範囲を決めると共に、 前記長軸の長さは、利用者の入力により定義する 請求項4に記載の爪画像合成装置。 手指に重畳するネイルチップの画像を取得するネイルチップ画像取得ステップと、 手指画像を取得する手指画像取得ステップと、 前記手指画像から指先を検出する指先検出ステップと、 前記手指画像から爪領域を検出する爪領域検出ステップと、 前記爪領域検出ステップで検出した爪領域の重心位置と、前記指先検出ステップで検出した指先位置とに基づいて、指の回旋を検出する回旋検出ステップと、 前記回旋検出ステップで検出した回旋状態に対応して、前記ネイルチップ画像取得ステップで取得したネイルチップの画像を加工するネイルチップ画像加工ステップと、 ネイルチップ画像加工ステップで加工されたネイルチップの画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成ステップとを含む 爪画像合成方法。 手指画像にネイルチップの画像を合成する処理を行うコンピュータに実装される爪画像合成プログラムであり、 手指に重畳するネイルチップの画像を取得するネイルチップ画像取得手順と、 手指画像を取得する手指画像取得手順と、 前記手指画像から、指先を検出する指先検出手順と、 前記手指画像から、爪領域を検出する爪領域検出手順と、 前記爪領域検出手順で検出した爪領域の重心位置と、前記指先検出手順で検出した指先位置とに基づいて、指の回旋を検出する回旋検出手順と、 前記回旋検出手順で検出した回旋状態に対応して、前記ネイルチップ画像取得手順で取得したネイルチップの画像を加工するネイルチップ画像加工手順と、 ネイルチップ画像加工手順で加工されたネイルチップ画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成手順とを、コンピュータに実行させる 爪画像合成プログラム。 |
||||||
说明书全文 | 本発明は、爪画像合成装置、爪画像合成方法および爪画像合成プログラムに関し、特に手指の画像にネイルチップを爪に付加した状態の画像を合成する場合に適用して好適な技術に関する。 近年、手や足の爪に装飾を施すネイルアートが普及している。 ネイルアートの1つの手法として、ネイルチップを爪に貼り付けるものがある。 このネイルチップの爪への貼り付けは、接着剤や両面粘着テープを使用して行うため、販売店で簡単に装着して試すことができない。 したがって、ネイルチップを装着する利用者の手を撮影して、その撮影した手の画像にネイルチップを合成して、リアルタイムで表示することができれば、利用者はネイルチップの実際の装着状態が確認できるようになる。 特許文献1には、手指を撮影した画像から、爪の領域を検出して、その爪の領域にネイルアートを施す手法についての記載がある。 特許文献1に記載されたように、指を撮影してその画像中の指の爪の部分にネイルアートを施すことは従来から提案されているが、これらの従来手法は、指をほぼ真上から撮影した画像中の爪にネイルアートを施すものがほとんどである。 本発明は、手指を撮影した画像にネイルアートを施す際に、手の形状の変化や動きなどに追随したネイルアートの合成画像が得られる爪画像合成装置および爪画像合成方法、ならびに爪画像合成プログラムを提供することを目的とする。 本発明の爪画像合成装置は、手指に重畳するネイルチップの画像および手指画像を取得する画像取得部と、手指画像から指先を検出する指先検出部と、手指画像から爪領域を検出する爪領域検出部と、爪領域検出部で検出した爪領域の重心位置と、指先検出部で検出した指先位置とに基づいて、指の回旋を検出する回旋検出部とを備える。 本発明の爪画像合成方法は、以下の各ステップを含むものである。 また本発明の爪画像合成プログラムは、これらの各ステップをコンピュータが実行するプログラムとしたものである。 本発明によると、手指の画像から爪領域を検出すると共に指の回旋を検出して、その検出に基づいてネイルチップを指に適正に合成することができる。 したがって、例えば手首を回したり、指の関節を曲げるなどの動きのある手指を撮影した場合でも、その撮影した動きのある手指にネイルチップを合成した画像が得られる効果を有する。 以下、本発明の一実施の形態の例(以下、「本例」と称する。)を、添付図面を参照して説明する。 [装置構成の例] 図1に示した構成について説明すると、画像の入力部として、ネイルチップ画像入力部11と手画像入力部14とを備える。 ネイルチップ画像入力部11には、ネイルチップを撮影した画像が入力される。 このネイルチップ画像入力部11に入力されるネイルチップを撮影した画像は、ネイルチップを撮影した1枚の静止画像である。 あるいは、ネイルチップを撮影した動画像から取り出した、1枚の静止画像としてもよい。 手画像入力部14には、利用者の手指(掌)を撮影した画像が入力される。 この手画像入力部14に入力される手指の画像は、動画像と静止画像のいずれでもよい。 手画像入力部14に入力された手指の画像は、ネイルチップ重畳部13と爪領域重心検出部15と指先端位置検出部16とに供給される。 爪領域重心検出部15は、供給される手指の画像から爪領域を検出すると共に、その爪領域内の重心位置を検出する。 そして、爪領域重心検出部15が検出した爪領域と重心位置の情報が、ネイルチップ重畳部13と指先端位置検出部16とに供給される。 ネイルチップ重畳部13は、手指の画像中の爪領域の情報と重心位置の情報と指先端位置の情報とに基づいて、ネイルチップを重畳する位置を判断し、その判断した位置にネイルチップの画像を重畳する合成処理を行う。 このとき、ネイルチップの画像の加工が必要な場合には、ネイルチップ重畳部13内でネイルチップの画像に対して加工処理を施した上で、手指の画像に合成する処理を行う。 [ネイルチップ画像生成処理例] 図3は、ネイルチップ画像補正部12が行うネイルチップの画像の補正状態の例である。 この図3Aに示す画像が入力されたとき、ネイルチップ画像補正部12は、図3Bに示すように、第1主成分軸を縦軸であるY軸と一致させ、第2主成分軸を横軸であるX軸と一致させる。 そしてネイルチップ画像補正部12は、この図3Bに示す画像から背景を取り除き、ネイルチップの部分だけを取り出す。 ここで、ネイルチップ画像補正部12が行う具体的な補正処理の例について説明する。 例えば図3Aに示すように背景が黒色のネイルチップの画像が入力されたとき、ネイルチップ画像補正部12は、その画像の黒色の領域でない前景領域(ネイルチップ領域)の重心を算出する。 ここでの重心計算式は、ネイルチップが対称性を持つ楕円形であると近似できることから、[数1]式になる。 この[数1]式において、Nはネイルチップの画素数であり、X方向の重心位置x GとY方向の重心位置x Gを求める。 x i ,y iは、それぞれの位置の画素値を示す。 次に、分散共分散行列を[数2]式のように生成する。 この[数2]において、Eは期待値(平均値)を示す。 この行列を固有値分解すると、2つの固有ベクトルを得られる。 大きな固有値に対応する固有ベクトルが第1主成分軸ベクトルとなる。 第1主成分軸ベクトルをX p1 =(x p1 ,y p1 ) Tとすると、ネイルチップの傾きθ Chipは、[数3]式で示される。 この[数3]式でy p1にマイナスの符号「−」があるのは、画像の座標が左上を原点としたとき、図3Aに示すように軸が下向きになっているためである。 tan −1の値は、左下原点の時の角度が算出される。 ここでy軸に平行になるようにネイルチップを補正処理するために回転させるべき角度φは、 [ネイルチップの重畳処理全体の流れ] そして、ネイルチップ重畳部13が、爪の重心の位置と指の先端位置とに基づいて、指の回旋状態を検出する(ステップS24)。 この回旋状態の検出に基づいて、ネイルチップ重畳部13は、ネイルチップの画像を変形させる処理を行う(ステップS25)。 入力画像が動画である場合には、ステップS26でのネイルチップの重畳処理が行われた後、ステップS21に戻り、次のフレームの画像が入力することで、同様の処理が繰り返される。 [指先端の検出処理例] そして、指先端位置検出部16は、手指の画像中の全ての指の輪郭線を走査する(ステップS33)。 なお、例えば複数の指が重なった画像の場合には、重なった指の内で最も外側になる指から1本ずつ順番に走査することで、それぞれの指の輪郭線が検出できる。 指先端位置検出部16は、この輪郭線の走査結果から、輪郭線の曲率を見て、指の最も膨らんだ先端を指の先端位置に決定する(ステップS34)。 図6は、手指の画像から指の先端位置が検出される例を示す図である、 そして、それぞれの指F1〜F4の最も膨らんだ先端が先端位置になる。 図6では、それぞれの指F1〜F4その先端位置を通過する軸線を示す。 この軸線は、それぞれの指F1〜F4の長手方向と平行な線となる。 この先端位置を通過する軸線は、指の回旋の検出時に使用する。 [爪領域の検出処理例] そして、爪領域重心検出部15は、その「爪尤度」の指標に基づいて、手指の画像から爪領域の候補を抽出する(ステップS42)。 具体的には、第3主成分軸座標に対して特定の閾値を設定し、その閾値よりも爪尤度が高い画素を抽出する。 そして、取り出した爪尤度が高い画素全体に対して、平滑化やラベリングを行うことにより、爪尤度が高い領域を生成する。 爪尤度が高い領域を、爪領域の候補とする。 次に、この色の連続性と分布密度を用いて、爪領域の候補から爪である領域を検出する具体的な処理例について、図8および図9を参照して説明する。 注目点を設定すると、爪領域重心検出部15は、注目点の周りに矩形枠上に関心領域(Region of Interest:ROI)を設定する。 関心領域ROIのサイズは、キャリブレーション時に使用するユーザの爪が全て入る大きさに設定する。 そして、爪領域重心検出部15は、関心領域ROIを切り取ったROI画像を生成する。 さらに、爪領域重心検出部15は、分布密度に基づいて爪領域の候補となったROI画像に対して、さらに色の連続性を利用した爪の判別処理を行う。 次に、爪領域重心検出部15は、図8Cに示すように、その結合領域の外周位置の1つの画素を、注目画素に設定する。 そして、爪領域重心検出部15は、図8Dに示すように、結合領域の爪尤度の平均値から注目画素の第3主成分軸座標値を減算した値が、予め決めた閾値以上であるとき、注目画素を結合領域に結合する。 爪尤度の平均値と注目画素の第3主成分軸座標値との差分が、閾値未満であるときには、結合領域には加えない。 爪領域重心検出部15は、この結合領域を拡大する作業を、関心領域ROI内で繰り返し行う。 なお、最初の結合領域から1画素以上離れた2周目以降の処理では、隣が拡大された結合領域である場合にだけ、その画素を注目領域として、処理を行う。 そして、探索した注目画素が全て類似色集合領域に連結されない外周が現れた場合、この処理を終了する。 次に、爪領域重心検出部15は、このようにして拡大された類似色集合領域が、関心領域ROIの外周まで拡大されているか否かを判断する。 図9は、関心領域ROI内の類似色集合領域の例を示す図である。 例えば、図9Aに示すように、類似色集合領域(グレーで示す画素)が、関心領域ROIの外周の画素まで拡大されなかった場合、爪領域重心検出部15は、該当する領域を爪の領域の候補とする。 なお、この探索時には、例えば4つのパターンに分けて探索を行う。 このとき、各パターンの画素は、j番目の関心領域ROI内の注目点の座標を(m j ,n j )、注目点からの近傍距離をiとすると、この距離を持つ外周の画素のパターンは、次の[数4]式に示す4つのパターンで判別できる。 この4つのパターンは、上から順に、左3画素を走査するパターン、下3画素を走査するパターン、右3画素を走査するパターン、上3画素を走査するパターンである。 [指の回旋の検出処理例] また、ネイルチップ重畳部13は、その長軸と直交する短軸の長さを設定する(ステップS53)。 この短軸と長軸とが直交する位置は、例えば長軸の爪領域の重心位置から指先端位置までの間の中点とする。 短軸の長さは、手指画像中の爪領域の横方向の長さに対応して設定する。 次に、この図10のフローチャートに示した指の回旋状態の検出例を、図11および図12を参照して説明する。 この指先基準点P1〜P4は、指の回旋がない状態で、指を真上から撮影した画像のとき、指の先端のほぼ中央の最も膨らんだ先端位置になる。 これに対して、指の回旋があるときには、指の先端の最も膨らんだ箇所が、指先基準点ではなくなる。 ここで、本例の場合には、腕の回旋時に、爪の重心と指先基準点は同じ回転の仕方をするという性質を利用して、指の軸と平行で、爪重心を通る直線と外部輪郭線の交点を、指先基準点に決める。 このため、回旋があっても正確に指先基準点が求まる。 図12は、このようにして求まった指先基準点を通過する直線の一部である長軸と、その長軸と直交する短軸とを設定する例を示す図である。 図12の下側は、1本の指を拡大して示す図で、この指の爪領域の重心位置M1と、指先基準点P1とを結ぶ直線X1を示す。 この直線X1は、長軸の一部である。 そして、短軸Y1は、その重心位置M1と指先基準点P1とを結ぶ直線X1の中央位置を通過する。 この短軸Y1の長さは、この指の爪領域の横幅に対応する。 ここで、図12に示すようにほぼ回旋していない指を撮影した画像の場合には、直線X1と短軸Y1との交点で短軸Y1を2つに区切ったとき、短軸Y1の左側YLの長さと、短軸Y1の右側YRの長さはほぼ等しくなる。 [ネイルチップの重畳処理例] 次に、ネイルチップ重畳部13は、その透視変換されたネイルチップの画像を、それぞれの指のサイズに合うように、拡大または縮小する(ステップS62)。 図14は、このような処理でネイルチップが合成された手指の画像の例を示す図である。 図14に示すように、4本の指F1〜F4のそれぞれの爪の領域に、それぞれの指に合った形状のネイルチップNC1〜NC4が重畳される。 図14や図15はネイルチップの合成画像を静止画像として示すが、例えば毎秒30フレームの手指画像をカメラが撮影して、その撮影した手指画像に対してリアルタイムでネイルチップの合成処理を行うことで、動画としての合成画像を得ることもできる。 このため、例えば手首を回したり、指の関節を曲げるなどの動きのある手指を撮影した場合でも、動きのある手指に対して、的確にネイルチップを合成した画像がリアルタイムで表示されるようになる。 なお、上述した実施の形態では、図1に示した構成の装置でネイルチップを合成した画像を得るようにした。 これに対して、例えばカメラやディスプレイが接続されたパーソナルコンピュータ装置に、本例の処理を実行するプログラム(ソフトウェア)を実装するようにしてもよい。 プログラムは、各種媒体に記録してコンピュータ装置に実装することができる。 11…ネイルチップ画像入力部、12…ネイルチップ画像補正部、13…ネイルチップ重畳部、14…手画像入力部、15…爪領域重心検出部、16…指先端位置検出部、17…画像表示部 |