爪画像合成装置、爪画像合成方法および爪画像合成プログラム

申请号 JP2013091062 申请日 2013-04-24 公开(公告)号 JP2014215735A 公开(公告)日 2014-11-17
申请人 国立大学法人筑波大学; Univ Of Tsukuba; 国立大学法人 筑波大学; 发明人 HOSHINO SEI; FUJISHIMA NORIAKI;
摘要 【課題】 手指 を撮影した画像にネイルアートを施す際に、手の形状の変化や動きなどに追随したネイルアートの合成画像を得る。【解決手段】手指画像から指先と爪領域を検出し、爪領域の 重心 位置 と指先位置とに基づいて指の回旋を検出する。そして、その検出した回旋状態に対応してネイルチップの画像を加工した上で、ネイルチップの画像を、指の爪領域を含む範囲に重畳する。【選択図】図1
权利要求
  • 手指に重畳するネイルチップの画像および手指画像を取得する画像取得部と、
    前記手指画像から指先を検出する指先検出部と、
    前記手指画像から爪領域を検出する爪領域検出部と、
    前記爪領域検出部で検出した爪領域の重心位置と、前記指先検出部で検出した指先位置とに基づいて、指の回旋を検出する回旋検出部と、
    前記回旋検出部で検出した回旋状態に対応して、取得したネイルチップの画像を加工するネイルチップ画像加工部と、
    ネイルチップ画像加工部で加工されたネイルチップの画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成部とを備える 爪画像合成装置。
  • 前記回旋検出部は、指の長手方向に平行な軸を設定し、
    その指の長手方向に平行な軸を、前記爪領域検出部が検出した爪領域の重心位置を通過するようにし、
    前記軸の指先からのシフト量に応じて、指の回旋を検出するようにした 請求項1に記載の爪画像合成装置。
  • 前記爪領域検出部は、手指画像の色情報に基づいて、爪に近い色の領域を抽出して爪の候補領域を検出し、前記爪に近い色の連続性と、爪に近い色である可能性が高い画素の分布密度に基づいて、爪の候補領域から爪領域を検出し、その検出した爪領域から重心位置を検出する 請求項1または2に記載の爪画像合成装置。
  • 前記爪領域の重心位置と指先とを結ぶ直線を引き、この直線の中点を原点とし、
    前記原点を通過し、前記直線と垂直な法線を、前記爪領域の範囲に引き、
    前記原点を中心とし、前記直線を延長した線を長軸とし、前記法線を短軸としたとき、
    前記短軸の原点からの左右の長さの比率に基づいて、ネイルチップの中心からの左右の長さの比率を変換する透視変換を行う 請求項3に記載の爪画像合成装置。
  • 前記長軸と前記短軸とで描かれる楕円で、前記ネイルチップの画像を重畳する範囲を決めると共に、
    前記長軸の長さは、利用者の入力により定義する 請求項4に記載の爪画像合成装置。
  • 手指に重畳するネイルチップの画像を取得するネイルチップ画像取得ステップと、
    手指画像を取得する手指画像取得ステップと、
    前記手指画像から指先を検出する指先検出ステップと、
    前記手指画像から爪領域を検出する爪領域検出ステップと、
    前記爪領域検出ステップで検出した爪領域の重心位置と、前記指先検出ステップで検出した指先位置とに基づいて、指の回旋を検出する回旋検出ステップと、
    前記回旋検出ステップで検出した回旋状態に対応して、前記ネイルチップ画像取得ステップで取得したネイルチップの画像を加工するネイルチップ画像加工ステップと、
    ネイルチップ画像加工ステップで加工されたネイルチップの画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成ステップとを含む 爪画像合成方法。
  • 手指画像にネイルチップの画像を合成する処理を行うコンピュータに実装される爪画像合成プログラムであり、
    手指に重畳するネイルチップの画像を取得するネイルチップ画像取得手順と、
    手指画像を取得する手指画像取得手順と、
    前記手指画像から、指先を検出する指先検出手順と、
    前記手指画像から、爪領域を検出する爪領域検出手順と、
    前記爪領域検出手順で検出した爪領域の重心位置と、前記指先検出手順で検出した指先位置とに基づいて、指の回旋を検出する回旋検出手順と、
    前記回旋検出手順で検出した回旋状態に対応して、前記ネイルチップ画像取得手順で取得したネイルチップの画像を加工するネイルチップ画像加工手順と、
    ネイルチップ画像加工手順で加工されたネイルチップ画像を、前記爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成手順とを、コンピュータに実行させる 爪画像合成プログラム。
  • 说明书全文

    本発明は、爪画像合成装置、爪画像合成方法および爪画像合成プログラムに関し、特に手指の画像にネイルチップを爪に付加した状態の画像を合成する場合に適用して好適な技術に関する。

    近年、手や足の爪に装飾を施すネイルアートが普及している。 ネイルアートの1つの手法として、ネイルチップを爪に貼り付けるものがある。 このネイルチップの爪への貼り付けは、接着剤や両面粘着テープを使用して行うため、販売店で簡単に装着して試すことができない。
    このため、例えばコンピュータグラフィック(CG)で用意された手のモデルに、仮想ネイルアートを施して、ネイルチップを爪に貼り付けた状態をCG画像上で確認するアプリケーションが存在する。 しかしながら、手のモデルは、肌の色合いや手指の形状などが、利用者の自分の手とは異なるため、実際にネイルチップを取り付けた状態とは異なった印象に見える可能性がある。

    したがって、ネイルチップを装着する利用者の手を撮影して、その撮影した手の画像にネイルチップを合成して、リアルタイムで表示することができれば、利用者はネイルチップの実際の装着状態が確認できるようになる。
    このようなネイルチップの装着状態の画像を得るためには、撮影した手指の画像から爪の部分を正確に検出する必要がある。

    特許文献1には、手指を撮影した画像から、爪の領域を検出して、その爪の領域にネイルアートを施す手法についての記載がある。

    特開2012−146182号公報

    特許文献1に記載されたように、指を撮影してその画像中の指の爪の部分にネイルアートを施すことは従来から提案されているが、これらの従来手法は、指をほぼ真上から撮影した画像中の爪にネイルアートを施すものがほとんどである。
    ところが、このようなシステムを利用者が利用する際には、指を曲げたり手を回転させる等の動作を行って、ネイルアートが施された状態を確認したい場合がある。 しかしながら、従来の手法では、このような手の動きに追随したネイルチップの装着状態のリアルタイム画像を得ることは困難であった。

    本発明は、手指を撮影した画像にネイルアートを施す際に、手の形状の変化や動きなどに追随したネイルアートの合成画像が得られる爪画像合成装置および爪画像合成方法、ならびに爪画像合成プログラムを提供することを目的とする。

    本発明の爪画像合成装置は、手指に重畳するネイルチップの画像および手指画像を取得する画像取得部と、手指画像から指先を検出する指先検出部と、手指画像から爪領域を検出する爪領域検出部と、爪領域検出部で検出した爪領域の重心位置と、指先検出部で検出した指先位置とに基づいて、指の回旋を検出する回旋検出部とを備える。
    さらに、回旋検出部で検出した回旋状態に対応して、取得したネイルチップの画像を加工するネイルチップ画像加工部と、ネイルチップ画像加工部で加工されたネイルチップの画像を、爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成部とを備える。

    本発明の爪画像合成方法は、以下の各ステップを含むものである。
    ・手指に重畳するネイルチップの画像を取得するネイルチップ画像取得ステップ・手指画像を取得する手指画像取得ステップ・手指画像から指先位置を検出する指先検出ステップ・手指画像から爪領域を検出する爪領域検出ステップ・爪領域検出ステップで検出した爪領域の重心位置と、指先検出ステップで検出した指先位置とに基づいて、指の回旋を検出する回旋検出ステップ・回旋検出ステップで検出した回旋状態に対応して、ネイルチップ画像取得ステップで取得したネイルチップの画像を加工するネイルチップ画像加工ステップ・ネイルチップ画像加工ステップで加工されたネイルチップの画像を、爪領域を含む範囲に重畳して、ネイルチップが合成された爪画像を得るネイルチップ合成ステップ

    また本発明の爪画像合成プログラムは、これらの各ステップをコンピュータが実行するプログラムとしたものである。

    本発明によると、手指の画像から爪領域を検出すると共に指の回旋を検出して、その検出に基づいてネイルチップを指に適正に合成することができる。 したがって、例えば手首を回したり、指の関節を曲げるなどの動きのある手指を撮影した場合でも、その撮影した動きのある手指にネイルチップを合成した画像が得られる効果を有する。

    本発明の一実施の形態による装置構成例を示すブロック図である。

    本発明の一実施の形態によるネイルチップ画像生成処理例を示すフローチャートである。

    本発明の一実施の形態によるネイルチップ画像の例を示す図である。

    本発明の一実施の形態によるネイルチップの重畳処理例を示すフローチャートである。

    本発明の一実施の形態による指先検出処理例を示すフローチャートである。

    本発明の一実施の形態による指先の検出状態の例を示す図である。

    本発明の一実施の形態による爪領域の検出処理例を示すフローチャートである。

    本発明の一実施の形態による爪領域の検出処理状態の例を示す図である。

    本発明の一実施の形態による爪を含む領域と含まない領域の判定例を示す図である。

    本発明の一実施の形態による指の回旋の検出処理例を示すフローチャートである。

    本発明の一実施の形態による爪重心と指先の検出状態の例を示す図である。

    本発明の一実施の形態による爪領域に設定した楕円の例を示す図である。

    本発明の一実施の形態によるネイルチップの重畳処理例を示すフローチャートである。

    本発明の一実施の形態によるネイルチップの重畳例を示す図である。

    本発明の一実施の形態によるネイルチップの重畳状態の具体例を示す図である。

    以下、本発明の一実施の形態の例(以下、「本例」と称する。)を、添付図面を参照して説明する。

    [装置構成の例]
    図1は、本例の爪画像合成方法を実行する装置の構成例を示す図である。 この図1は、本例の爪画像合成方法を実行する上で必要な処理機能の流れを示した機能ブロック図である。 本例の爪画像合成方法を実行する上で、この図1に示す各処理部をハードウェアとして備えた爪画像合成装置を構成してもよいが、例えばコンピュータが図1に示したそれぞれの処理部の機能を実行する構成でもよい。

    図1に示した構成について説明すると、画像の入部として、ネイルチップ画像入力部11と手画像入力部14とを備える。 ネイルチップ画像入力部11には、ネイルチップを撮影した画像が入力される。 このネイルチップ画像入力部11に入力されるネイルチップを撮影した画像は、ネイルチップを撮影した1枚の静止画像である。 あるいは、ネイルチップを撮影した動画像から取り出した、1枚の静止画像としてもよい。
    ネイルチップ画像入力部11に入力されたネイルチップの画像は、ネイルチップ画像補正部12に供給され、ネイルチップの姿勢やサイズを修正する画像の補正処理が行われる。 補正されたネイルチップの画像情報は、ネイルチップ重畳部13に供給される。

    手画像入力部14には、利用者の手指(掌)を撮影した画像が入力される。 この手画像入力部14に入力される手指の画像は、動画像と静止画像のいずれでもよい。 手画像入力部14に入力された手指の画像は、ネイルチップ重畳部13と爪領域重心検出部15と指先端位置検出部16とに供給される。

    爪領域重心検出部15は、供給される手指の画像から爪領域を検出すると共に、その爪領域内の重心位置を検出する。 そして、爪領域重心検出部15が検出した爪領域と重心位置の情報が、ネイルチップ重畳部13と指先端位置検出部16とに供給される。
    指先端位置検出部16は、供給される手指の画像から、指の先端位置を検出する。 指先端位置検出部16が検出した指の先端位置の情報は、ネイルチップ重畳部13に供給される。

    ネイルチップ重畳部13は、手指の画像中の爪領域の情報と重心位置の情報と指先端位置の情報とに基づいて、ネイルチップを重畳する位置を判断し、その判断した位置にネイルチップの画像を重畳する合成処理を行う。 このとき、ネイルチップの画像の加工が必要な場合には、ネイルチップ重畳部13内でネイルチップの画像に対して加工処理を施した上で、手指の画像に合成する処理を行う。
    ネイルチップ重畳部13でネイルチップの画像が重畳された手指の画像は、表示処理部17に供給されて、表示される。

    [ネイルチップ画像生成処理例]
    図2は、ネイルチップ画像補正部12が行うネイルチップの画像の補正処理の例を示すフローチャートである。
    まず、ネイルチップ画像入力部11からネイルチップ画像補正部12にネイルチップの画像が供給されると(ステップS11)、ネイルチップ画像補正部12は、画像中のネイルチップ部分の回転を算出する(ステップS12)。 そして、画像中のネイルチップ部分の長軸を、画像中の縦軸であるX軸と平行になるように、ネイルチップ画像補正部12は画像を回転させる(ステップS13)。 また、このときネイルチップ部分のサイズが予め決められた範囲のサイズ外である場合には、ネイルチップ画像補正部12は、ネイルチップの画像の拡大または縮小の処理を行う。
    さらに、ネイルチップ画像補正部12は、ネイルチップ部分の重心点を中心とする矩形範囲を切り取り、その切り取った矩形範囲の画像を、加工済みのネイルチップの画像としてネイルチップ重畳部13に供給する(ステップS14)。

    図3は、ネイルチップ画像補正部12が行うネイルチップの画像の補正状態の例である。
    この例では、背景を黒色とし、例えば図3Aに示すように、ネイルチップが約45°傾いた画像であるとする。 このとき、ネイルチップ画像補正部12は、ネイルチップの長手方向の軸である第1主成分軸と、その第1主成分軸に直交する第2主成分軸とを検出する。

    この図3Aに示す画像が入力されたとき、ネイルチップ画像補正部12は、図3Bに示すように、第1主成分軸を縦軸であるY軸と一致させ、第2主成分軸を横軸であるX軸と一致させる。 そしてネイルチップ画像補正部12は、この図3Bに示す画像から背景を取り除き、ネイルチップの部分だけを取り出す。

    ここで、ネイルチップ画像補正部12が行う具体的な補正処理の例について説明する。 例えば図3Aに示すように背景が黒色のネイルチップの画像が入力されたとき、ネイルチップ画像補正部12は、その画像の黒色の領域でない前景領域(ネイルチップ領域)の重心を算出する。 ここでの重心計算式は、ネイルチップが対称性を持つ楕円形であると近似できることから、[数1]式になる。

    この[数1]式において、Nはネイルチップの画素数であり、X方向の重心位置x とY方向の重心位置x を求める。 x ,y は、それぞれの位置の画素値を示す。
    そして、ネイルチップの画像の回転角は、次のように算出する。 ネイルチップの回転角は、ネイルチップ領域の第1主成分軸ベクトルから導出できる。 まず、ネイルチップ領域の画素の座標(x,y)を縦に並べた行列をX ChipDataとする。
    ChipDataは、次のように示される。 ここで、Tは転置を表す。
    =(x ,y (ここで、i=1,2,・・・,N)
    ChipData ={X

    次に、分散共分散行列を[数2]式のように生成する。 この[数2]において、Eは期待値(平均値)を示す。

    この行列を固有値分解すると、2つの固有ベクトルを得られる。 大きな固有値に対応する固有ベクトルが第1主成分軸ベクトルとなる。 第1主成分軸ベクトルをX p1 =(x p1 ,y p1とすると、ネイルチップの傾きθ Chipは、[数3]式で示される。

    この[数3]式でy p1にマイナスの符号「−」があるのは、画像の座標が左上を原点としたとき、図3Aに示すように軸が下向きになっているためである。 tan −1の値は、左下原点の時の角度が算出される。 ここでy軸に平行になるようにネイルチップを補正処理するために回転させるべき角度φは、
    φ=90−θ Chip [degree]
    となる。 この回転変換は、回転中心が(x ,y )、回転がφとなるアフィン変換式を立て、元の座標ベクトルにかけ合わせることで行われる。 そして、重心点を中心とする一定の画素数(例えば平方向300画素×垂直方向300画素)の矩形範囲を取り出し、加工済画像として保存する。 ここでの重心点は、先の[数1]式で算出した位置である。

    [ネイルチップの重畳処理全体の流れ]
    図4は、手画像入力部14に入力した手指の画像にネイルチップを重畳する処理の全体の流れを示すフローチャートである。
    まず、手画像入力部14に、利用者の手指(掌)を撮影した画像が入力すると(ステップS21)、指先端位置検出部16が、その画像から指先端位置を検出する(ステップS22)。 また、爪領域重心検出部15が、画像中の爪の領域と、その爪の領域の重心を検出する(ステップS23)。 爪の領域の重心を検出する処理としては、例えば、手指画像の色情報に基づいて、爪に近い色の領域を抽出して爪の候補領域を検出する。 そして、その爪に近い色の連続性と、爪に近い色である可能性が高い画素の分布密度に基づいて、爪の候補領域から爪領域を検出し、その検出した爪領域から重心位置を検出する。 この爪領域から重心位置を検出する具体的な例については後述する。

    そして、ネイルチップ重畳部13が、爪の重心の位置と指の先端位置とに基づいて、指の回旋状態を検出する(ステップS24)。 この回旋状態の検出に基づいて、ネイルチップ重畳部13は、ネイルチップの画像を変形させる処理を行う(ステップS25)。
    さらに、ネイルチップ重畳部13は、手指画像中のそれぞれの指の爪の領域に、変形処理が行われたネイルチップの画像を重畳する(ステップS26)。 このネイルチップが合成された画像が、表示処理部17に供給されて表示される。

    入力画像が動画である場合には、ステップS26でのネイルチップの重畳処理が行われた後、ステップS21に戻り、次のフレームの画像が入力することで、同様の処理が繰り返される。
    次に、図4のフローチャートに示したそれぞれの処理の詳細について、順に説明する。

    [指先端の検出処理例]
    図5は、指の先端の検出処理を示すフローチャートである。
    手画像入力部14に、利用者の手指を撮影した画像が入力されると(ステップS31)、指先端位置検出部16は、入力した手指の画像のノイズ除去処理を行い(ステップS32)、ノイズが除去された手指の画像を得る。

    そして、指先端位置検出部16は、手指の画像中の全ての指の輪郭線を走査する(ステップS33)。 なお、例えば複数の指が重なった画像の場合には、重なった指の内で最も外側になる指から1本ずつ順番に走査することで、それぞれの指の輪郭線が検出できる。 指先端位置検出部16は、この輪郭線の走査結果から、輪郭線の曲率を見て、指の最も膨らんだ先端を指の先端位置に決定する(ステップS34)。

    図6は、手指の画像から指の先端位置が検出される例を示す図である、
    図6に示すように、指先端位置検出部16は、手指を撮影した画像からそれぞれの指の輪郭線を検出して、4本の指F1,F2,F3,F4を検出する。 なお、図6の画像の場合には、親指は先端が掌で隠れているため、検出されない。

    そして、それぞれの指F1〜F4の最も膨らんだ先端が先端位置になる。 図6では、それぞれの指F1〜F4その先端位置を通過する軸線を示す。 この軸線は、それぞれの指F1〜F4の長手方向と平行な線となる。 この先端位置を通過する軸線は、指の回旋の検出時に使用する。

    [爪領域の検出処理例]
    図7は、指の先端の検出処理を示すフローチャートである。
    爪領域重心検出部15は、手指の画像中のそれぞれの画素の値を、第3主成分軸座標値に変換する(ステップS41)。 爪領域重心検出部15は、この第3主成分軸座標値の軸を、爪らしい色の度合いを示す指標として使用する。 ここでは、この爪らしい色の度合いを「爪尤度」と称し、この値が高いほど爪らしい色であることを示す。

    そして、爪領域重心検出部15は、その「爪尤度」の指標に基づいて、手指の画像から爪領域の候補を抽出する(ステップS42)。 具体的には、第3主成分軸座標に対して特定の閾値を設定し、その閾値よりも爪尤度が高い画素を抽出する。 そして、取り出した爪尤度が高い画素全体に対して、平滑化やラベリングを行うことにより、爪尤度が高い領域を生成する。 爪尤度が高い領域を、爪領域の候補とする。
    さらに、爪領域重心検出部15は、爪領域の候補に対して、色の連続性と分布密度を用いて、爪でない候補を除外し、爪である領域だけを検出する(ステップS43)。

    次に、この色の連続性と分布密度を用いて、爪領域の候補から爪である領域を検出する具体的な処理例について、図8および図9を参照して説明する。
    まず、爪領域重心検出部15は、爪領域の候補を取得すると、その候補の爪領域内に注目点を設定する。 例えば、図8Aに示すように、×印を付けた画素を注目点とする。
    この注目点を設定する際には、爪領域重心検出部15は、例えば爪尤度の高い上位の所定数の画素(例えば上位の100画素)を抽出する。 そして、その抽出した所定数の画素の重心点を、注目画素にする。
    このようにして選んだ爪領域の候補には、爪の領域の他に、手指内の拇指球,指腹,指の側面などの領域が含まれるため、以下に説明するように、爪の領域だけを正しく判定する処理を行う必要がある。

    注目点を設定すると、爪領域重心検出部15は、注目点の周りに矩形枠上に関心領域(Region of Interest:ROI)を設定する。 関心領域ROIのサイズは、キャリブレーション時に使用するユーザの爪が全て入る大きさに設定する。 そして、爪領域重心検出部15は、関心領域ROIを切り取ったROI画像を生成する。
    このROI画像を生成した後、爪領域重心検出部15は、ROI画像内の爪尤度の高い上位の所定数の画素を抽出し、その抽出画素の分布密度を判断する。 例えば、爪領域重心検出部15は、ROI画像内の爪尤度が上位25%以内の画素を抽出し、その爪尤度25%以内の画素の分布密度を判断する。
    そして、分布密度が判定閾値以上で、爪尤度の高い画素が密集している状態のとき、爪領域重心検出部15は該当する領域を爪領域の候補に選ぶ。 また、分布密度が判定閾値未満で、爪尤度の高い画素が分散しているとき、爪領域重心検出部15は、爪以外の肌色の領域であると判断して爪領域の候補から除外する。

    さらに、爪領域重心検出部15は、分布密度に基づいて爪領域の候補となったROI画像に対して、さらに色の連続性を利用した爪の判別処理を行う。
    ここでは、爪領域重心検出部15は、図8Bに示すように、注目点の周囲の特定範囲の画素を、初期の「類似色集合領域」と定義する。 図8Bの例では、初期の「類似色集合領域」である、注目点の周囲の水平5画素×垂直5画素の25画素を結合領域と呼ぶ。 そして、爪領域重心検出部15は、その結合領域内の画素の爪尤度の平均値を算出する。

    次に、爪領域重心検出部15は、図8Cに示すように、その結合領域の外周位置の1つの画素を、注目画素に設定する。 そして、爪領域重心検出部15は、図8Dに示すように、結合領域の爪尤度の平均値から注目画素の第3主成分軸座標値を減算した値が、予め決めた閾値以上であるとき、注目画素を結合領域に結合する。 爪尤度の平均値と注目画素の第3主成分軸座標値との差分が、閾値未満であるときには、結合領域には加えない。
    このようにして結合領域に隣接する外周の全ての注目画素について参照した後、そのときの結合領域内の画素の爪尤度の平均値を更新する。

    爪領域重心検出部15は、この結合領域を拡大する作業を、関心領域ROI内で繰り返し行う。 なお、最初の結合領域から1画素以上離れた2周目以降の処理では、隣が拡大された結合領域である場合にだけ、その画素を注目領域として、処理を行う。 そして、探索した注目画素が全て類似色集合領域に連結されない外周が現れた場合、この処理を終了する。
    このようにして、爪尤度が高い画素が分布した領域が、類似色集合領域として抽出される。

    次に、爪領域重心検出部15は、このようにして拡大された類似色集合領域が、関心領域ROIの外周まで拡大されているか否かを判断する。 図9は、関心領域ROI内の類似色集合領域の例を示す図である。 例えば、図9Aに示すように、類似色集合領域(グレーで示す画素)が、関心領域ROIの外周の画素まで拡大されなかった場合、爪領域重心検出部15は、該当する領域を爪の領域の候補とする。
    また、図9Bに示すように、類似色集合領域が、関心領域ROIの外周部に1画素以上存在する場合、爪領域重心検出部15は、爪ではない大きな領域であると判断して、爪の領域の候補から除外する。

    なお、この探索時には、例えば4つのパターンに分けて探索を行う。 このとき、各パターンの画素は、j番目の関心領域ROI内の注目点の座標を(m ,n )、注目点からの近傍距離をiとすると、この距離を持つ外周の画素のパターンは、次の[数4]式に示す4つのパターンで判別できる。

    この4つのパターンは、上から順に、左3画素を走査するパターン、下3画素を走査するパターン、右3画素を走査するパターン、上3画素を走査するパターンである。
    このような処理を行うことで、爪尤度の高い画素の分布と、爪尤度の高い画素の連続性との2つの要因で、画像中の爪の領域が正確に判別される。
    そして、爪領域重心検出部15は、爪と判別された領域を、爪尤度の高い画素の連続性を利用して領域補正を行い、補正した爪領域の重心を算出する。 爪領域重心検出部15が算出した重心の情報は、ネイルチップ重畳部13と指先端位置検出部16に供給される。

    [指の回旋の検出処理例]
    上述した図7のフローチャートの処理で、手指画像中の爪領域を検出した後、爪領域重心検出部15が検出した爪領域の重心情報と、指先端位置検出部16が検出した指の先端位置の情報とに基づいて、ネイルチップ重畳部13が指の回旋を検出する。
    図10は、このネイルチップ重畳部13での手指画像中の指の回旋の検出処理を示すフローチャートである。
    まず、ネイルチップ重畳部13は、爪領域重心検出部15が検出した爪領域の重心情報と指先とを結ぶ、指の長手方向に平行な直線を引く(ステップS51)。 次に、ネイルチップ重畳部13は、その直線を長軸とし、長軸の長さを設定する(ステップS52)。 この長軸の長さは、予め適正な長さに設定されている。

    また、ネイルチップ重畳部13は、その長軸と直交する短軸の長さを設定する(ステップS53)。 この短軸と長軸とが直交する位置は、例えば長軸の爪領域の重心位置から指先端位置までの間の中点とする。 短軸の長さは、手指画像中の爪領域の横方向の長さに対応して設定する。
    さらに、ネイルチップ重畳部13は、長軸で左右に分かれた2つの短軸の長さを比較し、その2つの短軸の長さの比率から、指の回旋状態を検出する(ステップS54)。

    次に、この図10のフローチャートに示した指の回旋状態の検出例を、図11および図12を参照して説明する。
    まず、図11に示す手指画像から、4つの指の爪領域N1〜N4が検出されたとする。 このとき、それぞれの指の長手方向に平行な直線(軸線)L1〜L4を引く。 この直線L1〜L4は、それぞれの爪領域N1〜N4の重心位置を通過する位置とする。 そして、それぞれの直線L1〜L4と、それぞれの指の先端とが接する位置を、指先基準点P1〜P4とする。

    この指先基準点P1〜P4は、指の回旋がない状態で、指を真上から撮影した画像のとき、指の先端のほぼ中央の最も膨らんだ先端位置になる。 これに対して、指の回旋があるときには、指の先端の最も膨らんだ箇所が、指先基準点ではなくなる。 ここで、本例の場合には、腕の回旋時に、爪の重心と指先基準点は同じ回転の仕方をするという性質を利用して、指の軸と平行で、爪重心を通る直線と外部輪郭線の交点を、指先基準点に決める。 このため、回旋があっても正確に指先基準点が求まる。

    図12は、このようにして求まった指先基準点を通過する直線の一部である長軸と、その長軸と直交する短軸とを設定する例を示す図である。
    図12の上側に示すように、4本の指と、それぞれの指の爪領域が検出されたとき、それぞれの指の爪領域の重心と指先端位置とを通過する長軸を設定する。

    図12の下側は、1本の指を拡大して示す図で、この指の爪領域の重心位置M1と、指先基準点P1とを結ぶ直線X1を示す。 この直線X1は、長軸の一部である。 そして、短軸Y1は、その重心位置M1と指先基準点P1とを結ぶ直線X1の中央位置を通過する。 この短軸Y1の長さは、この指の爪領域の横幅に対応する。
    図12では長軸は示していないが、直線X1を延長した長軸と短軸Y1とで、ネイルチップを重畳する際の基準となる楕円C1を形成する。 図10のフローチャートのステップS52で決めた長軸の長さにより、この楕円C1の長さが決まる。 他の指についても、図12の上側に示すように、楕円C2,C3,C4が決まる。

    ここで、図12に示すようにほぼ回旋していない指を撮影した画像の場合には、直線X1と短軸Y1との交点で短軸Y1を2つに区切ったとき、短軸Y1の左側YLの長さと、短軸Y1の右側YRの長さはほぼ等しくなる。
    これに対して、指がいずれかの方向に回旋しているときには、短軸Y1の左側YLの長さと、右側YRの長さが異なる。 本例では、この短軸Y1の2つの長さの比率から、ネイルチップ重畳部13が指の回旋状態を検出する。 すなわち、ネイルチップ重畳部13は、左側YLの長さと、右側YRの長さの比率が大きい程、回旋角度を大きくする。 また、ネイルチップ重畳部13は、長さが長い側が左側か右側かにより、回旋した方向を検出する。

    [ネイルチップの重畳処理例]
    図13は、このように検出されたそれぞれの指先に、ネイルチップ重畳部13がネイルチップを重畳する処理例を示すフローチャートである。
    まず、ネイルチップ重畳部13は、それぞれの指の回旋角に合わせて、予め用意されたネイルチップの画像を透視変換する(ステップS61)。 すなわち、指が正面を向いて回旋していない状態の場合には、透視変換が必要ないが、指が回旋している場合には、その回旋角度に応じて、ネイルチップの左右の幅が異なるように透視変換する。

    次に、ネイルチップ重畳部13は、その透視変換されたネイルチップの画像を、それぞれの指のサイズに合うように、拡大または縮小する(ステップS62)。
    さらに、ネイルチップ重畳部13は、指のXY平面に対する回転角度を計算し、その回転角度になるように、ネイルチップ画像を回転させる(ステップS63)。 そして、ネイルチップ重畳部13は、ネイルチップ画像の重心が、図12に示した楕円C1〜C4の中心と一致するように、それぞれの指の先端にネイルチップの画像を重畳する(ステップS64)。

    図14は、このような処理でネイルチップが合成された手指の画像の例を示す図である。 図14に示すように、4本の指F1〜F4のそれぞれの爪の領域に、それぞれの指に合った形状のネイルチップNC1〜NC4が重畳される。
    図15は、図14とは別の3つの手指画像の例を示した図である。 図15A、図15B,図15Cに示すように、それぞれの指の位置や回旋状態に合わせたネイルチップが合成された画像が得られる。

    図14や図15はネイルチップの合成画像を静止画像として示すが、例えば毎秒30フレームの手指画像をカメラが撮影して、その撮影した手指画像に対してリアルタイムでネイルチップの合成処理を行うことで、動画としての合成画像を得ることもできる。 このため、例えば手首を回したり、指の関節を曲げるなどの動きのある手指を撮影した場合でも、動きのある手指に対して、的確にネイルチップを合成した画像がリアルタイムで表示されるようになる。

    なお、上述した実施の形態では、図1に示した構成の装置でネイルチップを合成した画像を得るようにした。 これに対して、例えばカメラやディスプレイが接続されたパーソナルコンピュータ装置に、本例の処理を実行するプログラム(ソフトウェア)を実装するようにしてもよい。 プログラムは、各種媒体に記録してコンピュータ装置に実装することができる。

    11…ネイルチップ画像入力部、12…ネイルチップ画像補正部、13…ネイルチップ重畳部、14…手画像入力部、15…爪領域重心検出部、16…指先端位置検出部、17…画像表示部

    QQ群二维码
    意见反馈