(57)【要約】  【課題】  被写体が比較的遠距離に位置する場合であっても、被写体の輪郭を簡易に抽出できる輪郭抽出装置を提供する。  【解決手段】  ステップＳ５１にて、ＣＰＵ３は、現在画像と前回画像との間の差分画像の各画素について、画素値の絶対値が一定値以上の画素のスコアに、一定ポイントを加算して、スコアを更新する。ステップＳ５３にて、ＣＰＵ３は、差分画像の各画素のスコアを、新たな画素値（頻度画素値）として、平滑化及び減衰処理を実行する。ステップＳ５５にて、ＣＰＵ３は、平滑化及び減衰処理後の頻度画素値が１ポイント以上の（０でない）範囲を有効領域ＶＡに設定する。有効領域ＶＡは、動いた部分及びその周辺部分であり、動いた部分を漠然と抽出し、これに基づき、輪郭を抽出する。【選択図】  図３
2013008185.tif 000002
【特許請求の範囲】
【請求項１】
被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出する差分手段と、
前記差分画像の各画素について、画素値の変化を検出する検出手段と、
前記差分画像の前記各画素について、前記画素値の変化の頻度を求める頻度算出手段と、
前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行する平滑化及び減衰手段と、
前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出する輪郭抽出手段と、を備える輪郭抽出装置。
【請求項２】
前記第１画像から、肌色領域を抽出する肌色抽出手段と、
前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、動いた部分及びその周辺部分としての有効領域を規定し、前記有効領域との関連で、前記肌色領域によって、動いていない部分を補間する補間手段と、をさらに備え、
前記輪郭抽出手段は、前記補間後の画像に基づいて、前記被写体の像の輪郭を抽出する、請求項１記載の輪郭抽出装置。
【請求項３】
前記補間後の画像に基づいて粗く抽出された輪郭画像と、前記第１画像と、に基づいて、新たに肌色の範囲を設定する再設定手段をさらに備え、
前記輪郭抽出手段は、新たに設定された前記肌色の範囲に基づいて、前記被写体の像の輪郭を抽出する、請求項２記載の輪郭抽出装置。
【請求項４】
コンピュータが、被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出するステップと、
前記コンピュータが、前記差分画像の各画素について、画素値の変化を検出するステップと、
前記コンピュータが、前記差分画像の前記各画素について、前記画素値の変化の頻度を求めるステップと、
前記コンピュータが、前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行するステップと、
前記コンピュータが、前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出するステップと、を含む輪郭抽出方法。
【請求項５】
コンピュータに、
被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出するステップと、
前記差分画像の各画素について、画素値の変化を検出するステップと、
前記差分画像の前記各画素について、前記画素値の変化の頻度を求めるステップと、
前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行するステップと、
前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出するステップと、を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体が写り込んだ画像を処理して、被写体の像の輪郭を抽出する輪郭抽出装置及びその関連技術に関する。
【背景技術】
【０００２】
本件出願人による特許文献１には、被写体が写り込んだ画像を処理して、処理結果を出力する画像処理モジュールが開示されている。この画像処理モジュールでは、被写体が近距離に位置しているときは、輪郭検出モードに入り、被写体が遠距離に位置しているときは、動体検出モードに入る。
【０００３】
輪郭検出モードでは、被写体に間欠的に赤外光を照射し、赤外光照射時画像と赤外光非照射時画像との差分画像を得ることにより、比較的簡易に、被写体の像を抽出し、輪郭を抽出することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】実用新案登録第３１５９９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、動体検出モードでは、動体の輪郭を抽出できない。なぜなら、遠距離ゆえに、赤外光が届かず、輪郭を簡易に抽出することができないのである。もちろん、複雑なアルゴリズムを利用すれば、遠距離でも、輪郭の抽出は可能である。
【０００６】
そこで、本発明は、被写体が比較的遠距離に位置する場合であっても、被写体の輪郭を簡易に抽出できる輪郭抽出装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点によれば、輪郭抽出装置は、被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出する差分手段と、前記差分画像の各画素について、画素値の変化を検出する検出手段と、前記差分画像の前記各画素について、前記画素値の変化の頻度を求める頻度算出手段と、前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行する平滑化及び減衰手段と、前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出する輪郭抽出手段と、を備える。
【０００８】
この構成によれば、平滑化及び減衰処理を行なうことで、動いたと判断した部分（変化したと判断した画素）だけを実際に動いた部分（変化した画素）として抽出するのではなく、動いたと判断した部分をぼかして、動いた部分として、大雑把に、つまり、広めに（漠然と）抽出することで、後段での処理における情報の欠如（必要な情報の欠落）を防止できる。なお、動いた部分だけを抽出したつもりが、本来動いた部分の情報の抽出漏れがあると、後段での処理結果の精度が落ちてしまい、正確な輪郭抽出ができなくなる場合もある。
【０００９】
また、差分手段が算出した差分画像においても、輪郭が検出できる。この場合、手が動いた方向の差分値は手の輪郭を示すが、手が動いた方向と逆方向の差分値は手の輪郭ではなく、手の輪郭に接する背景を示す。従って、差分画像中の輪郭は、全てが手の輪郭ではない。このため、平滑化及び減衰処理を行なうことで、動いた部分を漠然と抽出することで、本来抽出したい手の輪郭抽出の精度の向上を図ることができる。
【００１０】
この輪郭抽出装置は、前記第１画像から、肌色領域を抽出する肌色抽出手段と、前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、動いた部分及びその周辺部分としての有効領域を規定し、前記有効領域との関連で、前記肌色領域によって、動いていない部分を補間する補間手段と、をさらに備え、前記輪郭抽出手段は、前記補間後の画像に基づいて、前記被写体の像の輪郭を抽出する。
【００１１】
この構成によれば、第１画像（元画像）の肌色によって、対象物体（例えば、手）の内部の静止している部分が補間されて、抽出したい対象物体が塗り潰される。従って、手の平の中心付近など、手の小さな動きでは、その動きがなく、抽出したい手の一部であるにもかかわらず、有効領域に設定されない部分を有効なものとして設定できる。このため、面積に応じた除去処理において本来除去すべきでない領域が除去されるのを防止できる。仮に補間を行なわず、手の中心部分が有効なものとして扱われない場合、面積が小さくなって、除去され、手を検出できなくなる。
【００１２】
この輪郭抽出装置は、前記補間後の画像に基づいて粗く抽出された輪郭画像と、前記第１画像と、に基づいて、新たに肌色の範囲を設定する再設定手段をさらに備え、前記輪郭抽出手段は、新たに設定された前記肌色の範囲に基づいて、前記被写体の像の輪郭を抽出する。
【００１３】
この構成によれば、対象物体（手など）及びその周囲環境（照明や背景等）に最適化した肌色の範囲を規定できる。そして、このような肌色の範囲を利用することにより、肌色により輪郭を抽出する際の精度を向上できる。
【００１４】
本発明の第２の観点によれば、輪郭抽出方法は、コンピュータが、被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出するステップと、前記コンピュータが、前記差分画像の各画素について、画素値の変化を検出するステップと、前記コンピュータが、前記差分画像の前記各画素について、前記画素値の変化の頻度を求めるステップと、前記コンピュータが、前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行するステップと、前記コンピュータが、前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出するステップと、を含む。
【００１５】
この構成によれば、上記第１の観点による輪郭抽出装置と同様の効果を奏する。
【００１６】
本発明の第３の観点によれば、コンピュータプログラムは、コンピュータに、被写体が写り込んだ第１画像と、前記第１画像より過去の画像である、前記被写体が写り込んだ第２画像と、の間の差分画像を算出するステップと、前記差分画像の各画素について、画素値の変化を検出するステップと、前記差分画像の前記各画素について、前記画素値の変化の頻度を求めるステップと、前記差分画像の前記各画素について、前記画素値の変化の頻度を新たな画素値（以下、「頻度画素値」と呼ぶ。）として、その頻度画素値に対して、平滑化及び減衰処理を実行するステップと、前記平滑化及び減衰処理が施された前記頻度画素値に基づいて、前記被写体の像の輪郭を抽出するステップと、を実行させる。
【００１７】
この構成によれば、上記第１の観点による輪郭抽出装置と同様の効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態による輪郭抽出装置を実現するパーソナルコンピュータの電気的構成を示す図である。
【図２】図１のＣＰＵ３による輪郭抽出処理の全体流れの一例を示すフローチャートである。
【図３】図２のステップＳ７の処理の流れの一例を示すフローチャートである。
【図４】図２のステップＳ９の処理の流れの一例を示すフローチャートである。
【図５】図２のステップＳ１１の処理の流れの一例を示すフローチャートである。
【図６】図２のステップＳ１７の処理の流れの一例を示すフローチャートである。
【図７】図２のステップＳ１９の処理の流れの一例を示すフローチャートである。
【図８】図２のステップＳ２１の処理の流れの一例を示すフローチャートである。
【図９】図２のステップＳ２７の処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００２０】
図１は、本発明の実施の形態による輪郭抽出装置を実現するパーソナルコンピュータの電気的構成を示す図である。図１を参照して、このパーソナルコンピュータ１は、ＣＰＵ（中央演算処理装置）３、メインメモリ５、チップセット７、ＧＰＵ（グラフィックスプロセシングユニット）９、ＳＰＵ（サウンドプロセシングユニット）１１、ＨＤＤ（ハードディスクドライブ）１３、ドライブ１５、及び通信部１７を含む。
【００２１】
ＣＰＵ３は、ＨＤＤ１３に格納されたコンピュータプログラム（輪郭抽出プログラム）を実行して、後述するフローチャート（図２等）で示す輪郭抽出処理を行う。メインメモリ５は、ＣＰＵ３から直接読み書きが行われる高速のメモリである。ＧＰＵ９は、グラフィックス処理を実行し、モニタ２３に映像信号を与える。ＳＰＵ１１は、サウンド処理を実行し、スピーカ２１に音声信号を与える。ＨＤＤ１３は、ＯＳやアプリケーションソフトウェア（輪郭抽出プログラム）等のコンピュータプログラム並びにこれらが用いるデータを書き込むために用いる補助記憶装置である。ドライブ１５は、リムーバル記録媒体からデータを読み込んだり、書き込んだりする装置である。リムーバブル記録媒体に、輪郭抽出プログラムを格納して、パーソナルコンピュータ１にインストールできる。
【００２２】
リムーバブル記録媒体は、例えば、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）やＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）などの光ディスク、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、及び不揮発性ＲＡＭカートリッジなどの半導体メモリ、光磁気ディスク、フレキシブルディスク、磁気テープ、及び、ハードディスクなどを含む。もちろん、ネットワークを介して、輪郭抽出プログラムを配布することもできる。
【００２３】
通信部１７は、ネットワークへの接続を司るＬＡＮカードやＵＳＢコントローラなどを含み（図示せず）、通信を制御する。カメラ１９は、例えば、ＵＳＢ対応のＣＣＤカメラ等である。カメラ１９は、被写体（人間の手等）を撮影し、撮影画像を、通信部１７及びチップセット７を介して、ＣＰＵ３に与える。ＣＰＵ３は、この撮影画像を処理して、手の輪郭を抽出する。
【００２４】
ＣＰＵ３、ＧＰＵ９、ＳＰＵ１１、ＨＤＤ１３、ドライブ１５、通信部１７、キーボード２５、及びマウス２７といった機能ユニットは、チップセット７に接続される。チップセット７は、これに接続される機能ユニット間のデータの受け渡しを管理する。
【００２５】
図２は、図１のＣＰＵ３による輪郭抽出処理の全体流れの一例を示すフローチャートである。図２を参照して、ステップＳ１にて、ＣＰＵ３は、現在の撮影画像（以下、「元画像」と呼ぶこともある。）と前回の撮影画像との間の差分画像を算出する。カメラ１９は、人間の手の動きを撮影し、所定のフレームレートで、撮影画像をＣＰＵ３に与える。現在の撮影画像は、カメラ１９が出力した最新の撮影画像である。前回の撮影画像は、最新の撮影画像の１つ前にカメラ１９が出力した撮影画像である。なお、前回の撮影画像は、過去の撮影画像ということができる。
【００２６】
ステップＳ３にて、ＣＰＵ３は、現在の撮影画像から、固定肌色レンジ内の領域（肌色の領域）を抽出する。固定肌色レンジは、ＨＳＶ色空間（色相、彩度、明度）により、定義された固定された範囲である。本実施の形態では、固定肌色レンジとして、固定肌色レンジＲＨ及び固定肌色レンジＲＢを定義する。固定肌色レンジＲＨは、色相により定義され、人間の肌の色がカバーできる広い範囲が定義される。例えば、固定肌色レンジＲＨは、１４度を中心に、±２４度の範囲である。固定肌色レンジＲＢは、明度により定義される。
【００２７】
具体的には、ＣＰＵ３は、現在の撮影画像から、固定肌色レンジＲＢ内の明度を有する画素を抽出する。そして、ＣＰＵ３は、固定肌色レンジＲＢ内の明度を有する画素から、さらに、固定肌色レンジＲＨ内の色相を有する画素を抽出する。このようにして、ＣＰＵ３は、肌色の領域を抽出する。
【００２８】
本実施の形態では、固定肌色レンジＲＢを絞ることにより、比較的広い範囲をとっている固定肌色レンジＲＨを実質的に制限し、人間の肌以外の物体の色相が固定肌色レンジＲＨ内に入っている場合であっても、その物体の色が人の肌色として抽出されることを極力防止している。
【００２９】
ステップＳ５にて、ＣＰＵ３は、ソーベル（Ｓｏｂｅｌ）フィルタにより、現在の撮影画像から、エッジを検出する。そして、ＣＰＵ３は、検出したエッジのうち、固定肌色レンジＲＨ内の色相を持つ画素をエッジから除外する。人の肌以外の物体の色相及び明度が固定肌色レンジＲＨ及びＲＢ内に入っている場合であって、その物体の像が、固定肌色レンジＲＨ内の色相を持つエッジと接触している場合に、その接触を分離するためである。
【００３０】
ステップＳ７にて、ＣＰＵ３は、差分画像に基づく平滑化及び減衰処理を実行する。
【００３１】
図３は、図２のステップＳ７の処理の流れの一例を示すフローチャートである。図３を参照して、ステップＳ５１にて、ＣＰＵ３は、差分画像の各画素について、画素値の絶対値が一定値Ｃｄ以上の画素のスコアに、一定ポイントＰを加算して、スコアを更新する。差分画像の画素のうち、画素値の絶対値が一定値Ｃｄ以上の画素は、前回の撮影画像からの変化が大きい画素である。従って、変化の大きい画素に一定ポイントＰが加算される。このため、差分画像の各画素のスコア（一定ポイントＰの加算結果）は、画素値の変化の頻度を表す。なお、一定値Ｃｄ及び一定ポイントＰは、経験的実験的に定められる。
【００３２】
ステップＳ５３にて、ＣＰＵ３は、差分画像の各画素のスコアを、新たな画素値（以下、「頻度画素値」と呼ぶ。）として、平滑化及び減衰処理を実行する。例えば、本実施の形態では、ＣＰＵ３は、平滑化フィルタとして、変形したガウシアンフィルタを用い、頻度画素値を平滑化する（ぼかす）。変形したガウシアンフィルタは、中心の注目画素の重みを、通常のガウシアンフィルタより大きくして、周囲画素からの影響を小さくし、通常のガウシアンフィルタよりも、平滑化（ぼかし）の程度を小さくしている。
【００３３】
さらに、ＣＰＵ３は、平滑化した（ぼかした）頻度画素値に、小数を乗じて、減衰処理を実行する。ＣＰＵ３は、減衰処理の結果、結果値が１より小さくなった場合、その結果値を０にする。
【００３４】
ガウシアンフィルタ（通常、変形）による平滑化のみでは、重み付け平均値が求まるだけであり、減衰しないため、過去の画素の変化（過去の動き）なのか、現在の画素の変化（現在の動き）なのかを、区別できないので、このような減衰処理を実行する。仮に減衰処理を実行しないと、ある画素が、過去には変化したが、現在は変化していない場合でも、平滑化後の値が大きなものとして残ってしまい、現在の変化と区別できない。
【００３５】
以上のように、平滑化及び減衰処理を行なうことで、動いたと判断した部分（変化したと判断した画素）だけを実際に動いた部分（変化した画素）として抽出するのではなく、動いたと判断した部分をぼかして、動いた部分として、大雑把に、つまり、広めに（漠然と）抽出することで、後段での処理における情報の欠如（必要な情報の欠落）を防止できる。なお、動いた部分だけを抽出したつもりが、本来動いた部分の情報の抽出漏れがあると、後段での処理結果の精度が落ちてしまい、正確な輪郭抽出ができなくなる場合もある。
【００３６】
また、ステップＳ１の差分画像においても、輪郭が検出できる。この場合、手が動いた方向の差分値は手の輪郭を示すが、手が動いた方向と逆方向の差分値は手の輪郭ではなく、手の輪郭に接する背景を示す。従って、差分画像中の輪郭は、全てが手の輪郭ではない。このため、平滑化及び減衰処理を行なうことで、動いた部分を漠然と抽出することで、本来抽出したい手の輪郭抽出の精度の向上を図ることができる。
【００３７】
なお、上記例では、ＣＰＵ３は、平滑化後に減衰処理を行なったが、それらを同時に行うこともできる。
【００３８】
さて、ステップＳ５５にて、ＣＰＵ３は、平滑化及び減衰処理後の頻度画素値が１ポイント以上の（０でない）範囲を有効領域ＶＡに設定する。
【００３９】
図２に戻って、ステップＳ９にて、ＣＰＵ３は、ステップＳ３，Ｓ５及びＳ７の結果を合成する。
【００４０】
図４は、図２のステップＳ９の処理の流れの一例を示すフローチャートである。図４を参照して、ステップＳ７３にて、ＣＰＵ３は、ステップＳ５５の有効領域ＶＡにおいて、ステップＳ５で検出したエッジを白色で塗り潰す。ステップＳ７５にて、ＣＰＵ３は、ステップＳ５で検出したエッジを除き、有効領域ＶＡを、ステップＳ３で抽出した肌色で塗り潰す。
【００４１】
図２に戻って、ステップＳ１１にて、ＣＰＵ３は、ステップＳ９の結果画像の塗り潰し処理を実行する。
【００４２】
図５は、図２のステップＳ１１の処理の流れの一例を示すフローチャートである。図５を参照して、ステップＳ９１にて、ＣＰＵ３は、ステップＳ９の結果画像から、肌色を検出する。ステップＳ９３にて、ＣＰＵ３は、ステップＳ９１で検出した肌色の画素を起点として、ステップＳ３の結果画像を参照しながら、上下左右で肌色が連続している間、第１条件及び第２条件の一方又は双方が満たされるまで、ステップＳ９の結果画像を肌色で塗り潰す。第１条件は、ステップＳ３の結果画像にて肌色以外の色が現われることである。第２条件は、ステップＳ９の結果画像にて白色（ステップＳ５で検出したエッジ）が現れることである。ステップＳ９５にて、ＣＰＵ３は、ステップＳ９３の結果画像を２値化、つまり、肌色部分を１、肌色以外の部分を０とする。
【００４３】
以上のような塗り潰し処理により、元画像の肌色によって手の内部の静止している部分が補間されて、抽出したい手等の閉じた領域が塗り潰される。従って、手の平の中心付近など、手の小さな動きでは、その動きがなく、抽出したい手の一部であるにもかかわらず、有効領域ＶＡ（ステップＳ５５）に設定されない部分を有効なものとして設定できる。このような塗り潰し処理によって、後述するステップＳ１５の処理にて、本来除去すべきでない領域が除去されるのを防止できる。仮に塗り潰し処理を行なわず、手の中心部分が有効なものとして扱われない場合、面積が小さくなって、ステップＳ１５で除去され、手を検出できなくなる。
【００４４】
図２に戻って、ステップＳ１３にて、ＣＰＵ３は、現在の撮影画像とステップＳ１１の結果画像（つまり、ステップＳ９５の２値化画像）との論理積を計算する。ステップＳ１５にて、ＣＰＵ３は、ステップＳ１３の結果画像中、一定面積以下の閉じた領域をノイズとして除去する。この場合、ＣＰＵ３は、ステップＳ１３の結果画像を２値化して（肌色を１、それ以外の色を０）、閉じた領域の面積を算出する。なお、ステップＳ１３の処理は、面積が小さい閉じた領域が、人の肌でないにもかかわらず、肌色の成分を有する場合に、後述するステップＳ１７の処理に影響を与えるのを防止する。
【００４５】
ここで、ステップＳ１５の結果画像において、閉じた領域の画素のうち、画素値が０の画素と接している画素が輪郭である。このようにして抽出された輪郭は、まだ精度が低いので、後段の処理で、さらに精度よく輪郭を抽出して行く。
【００４６】
ステップＳ１７にて、ＣＰＵ３は、ステップＳ１５の結果画像に基づいて、新たに肌色を抽出する。
【００４７】
図６は、図２のステップＳ１７の処理の流れの一例を示すフローチャートである。図６を参照して、ステップＳ１１１にて、ＣＰＵ３は、ステップＳ１５の結果画像に含まれる閉じた領域の肌色の範囲を、新たな肌色レンジ（以下、「動的肌色レンジ」と呼ぶこともある。）として設定する。動的肌色レンジは、ＨＳＶ色空間（色相、彩度、明度）により定義された動的な範囲である。本実施の形態では、動的肌色レンジは、色相により定義され、ステップＳ１５の結果画像に含まれる閉じた領域の肌色の色相の範囲として定義される。
【００４８】
ステップＳ１１３にて、ＣＰＵ３は、元画像（現在の撮影画像）から、動的肌色レンジ内の色相を有する画素を抽出する。このようにして、ＣＰＵ３は、元画像から、肌色の領域を再抽出する。
【００４９】
固定肌色レンジＲＨは固定された一定値であり、広く人の肌の色をカバーしているが、動的肌色レンジは、対象物体（手など）及びその周囲環境（照明や背景等）に最適化した肌色の範囲を規定する。そして、このような動的肌色レンジを利用することにより、肌色により輪郭を抽出する際の精度を向上できる。
【００５０】
図２に戻って、ステップＳ１９にて、ＣＰＵ３は、ステップＳ５，Ｓ７及びＳ１７の結果を合成する。
【００５１】
図７は、図２のステップＳ１９の処理の流れの一例を示すフローチャートである。図７を参照して、ステップＳ１４１にて、ＣＰＵ３は、ステップＳ７の有効領域ＶＡにおいて、ステップＳ５で検出したエッジを白色で塗り潰す。ステップＳ１４３にて、ＣＰＵ３は、ステップＳ５で検出したエッジを除き、有効領域ＶＡを、ステップＳ１７で抽出した肌色で塗り潰す。
【００５２】
図２に戻って、ステップＳ２１にて、ＣＰＵ３は、ステップＳ１９の結果画像の塗り潰し処理を実行する。
【００５３】
図８は、図２のステップＳ２１の処理の流れの一例を示すフローチャートである。図８を参照して、ステップＳ１６１にて、ＣＰＵ３は、ステップＳ１９の結果画像から、肌色を検出する。ステップＳ１６３にて、ＣＰＵ３は、ステップＳ１６１で検出した肌色の画素を起点として、ステップＳ１１３の結果画像を参照しながら、上下左右で肌色が連続している間、第３条件及び第４条件の一方又は双方が満たされるまで、ステップＳ１９の結果画像を肌色で塗り潰す。第３条件は、ステップＳ１１３の結果画像にて肌色以外の色が現われることである。第４条件は、ステップＳ１９の結果画像にて白色（ステップＳ５で検出したエッジ）が現れることである。ステップＳ１６５にて、ＣＰＵ３は、ステップＳ１６３の結果画像を２値化、つまり、肌色部分を１、肌色以外の部分を０とし、１の画素を白色に、０の画素を黒色に塗り潰す。
【００５４】
以上のような塗り潰し処理により、元画像の肌色によって手の内部の静止している部分が補間されて、抽出したい手等の閉じた領域が塗り潰される。従って、手の平の中心付近など、手の小さな動きでは、その動きがなく、抽出したい手の一部であるにもかかわらず、有効領域ＶＡ（ステップＳ５５）に設定されない部分を有効なものとして設定できる。このような塗り潰し処理によって、後述するステップＳ２５の処理にて、本来除去すべきでない領域が除去されるのを防止できる。仮に塗り潰し処理を行なわず、手の中心部分が有効なものとして扱われない場合、面積が小さくなって、ステップＳ２５で除去され、手を検出できなくなる。また、後述するステップＳ２９で手の形状を認識するためのアルゴリズムによっては、手の中心部分が有効なものとして扱われない場合、正確に、手の形状を認識できない場合も発生する。
【００５５】
図２に戻って、ステップＳ２３にて、ＣＰＵ３は、ステップＳ２１の結果画像（つまり、ステップＳ１６５の白黒画像）の平滑化とＨＶノイズの除去を実行する。具体的には、ＣＰＵ３は、ステップＳ１６５の白黒画像中の孤立した黒点（例えば、ごま塩雑音）をメディアンフィルタにより除去する（平滑化の一種）。また、ＣＰＵ３は、ステップＳ１６５の白黒画像において、周囲に３画素以上白画素がない白画素を黒画素にして、角を滑らかにする（円滑化の一種）。さらに、ＣＰＵ３は、ＨＶノイズ、つまり、水平方向に延びるライン状のノイズ及び垂直方向に延びるライン状のノイズを除去する。
【００５６】
ステップＳ２５にて、ＣＰＵ３は、ステップＳ２３の結果画像に対してラベリング処理を施す。具体的には、ＣＰＵ３は、ステップＳ２３の結果画像中の連結成分（つまり孤立した白色領域）に番号を割り当てる。この際、ＣＰＵ３は、孤立した白色領域の面積を算出し、その面積が一定値以下である場合、その孤立した白色領域をノイズとして除去し、番号の割り当ては行わない。
【００５７】
ここで、ステップＳ２５の結果画像において、連結成分の白画素のうち、黒色の画素と接している画素が輪郭である。このようにして抽出された輪郭は、精度の良い輪郭である。
【００５８】
ステップＳ２７にて、ＣＰＵ３は、ステップＳ２５の結果画像から手を抽出する。例えば、ステップＳ２５の結果画像中の連結成分が腕から手までの領域であった場合、その連結成分から手だけを抜き出す。
【００５９】
図９は、図２のステップＳ２７の処理の流れの一例を示すフローチャートである。図９を参照して、ステップＳ１８１にて、ＣＰＵ３は、ステップＳ２５の結果画像中の連結成分（孤立した白色領域）ごとに、各画素（白画素）の密度を算出する。具体的には、ＣＰＵ３は、白画素の密度を算出する際、その白画素を起点とした水平方向（左右方向）の白画素数と、その白画素を起点とした垂直方向（上下方向）の白画素数と、を計数し、それらの合計値を、当該白画素の密度とする。
【００６０】
ステップＳ１８３にて、ＣＰＵ３は、連結成分から、一定値Ｃ以上の密度の白画素を除去し、残った白画素から重心を計算する。この場合、例えば、ＣＰＵ３は、該当する連結成分の全白画素の密度の平均値を一定値Ｃとして使用する。
【００６１】
連結成分が腕から手までの領域である場合であって、手が「パー」の形状をしている場合、腕部分の白画素の密度は大きく、指部分の白画素の密度は小さくなる。従って、ステップＳ１８３の処理では、腕の部分の白画素の多くが除去される。このため、残った白画素で計算された重心は、「パー」の形状をした手の重心に近くなる。
【００６２】
それ故、ステップＳ１８５にて、ＣＰＵ３は、ステップＳ１８３で求めた重心を中心とした一定範囲に包含される、連結成分の領域を手と認識する。この場合、手と認識された、連結成分の当該領域の白画素のうち、黒色の画素と接している画素が手の輪郭である。
【００６３】
図２に戻って、ステップＳ２９にて、ＣＰＵ３は、ステップＳ２７で抽出した手の形状（パー）を所定のアルゴリズムにより認識する。この際、例えば、ＣＰＵ３は、アフィン変換により、手の像を縮小し、縮小後の手の像に対して、その形状を認識するためのアルゴリズムを適用する。そして、ＣＰＵ３は、手の形状を認識した後、逆変換により、手の像を元の大きさに戻す。
【００６４】
さらに、本実施の形態では、第１閾値ＴＨＨ（図６のステップＳ１５３参照）を設けているので、画素値の変化の頻度が高い動き、例えば、テレビジョンのちらつき等、周期的な比較的周波数の高い動きをノイズとして除去できる。また、第２閾値ＴＨＬ（図６のステップＳ１５３参照）を設けているので、画素値の変化の頻度が低い動き、例えば、撮影環境（撮影空間やイメージセンサ５の状態）の変化から発生した画像上のノイズを除去できる。
【００６５】
さて、以上のように、本実施の形態によれば、平滑化及び減衰処理を行なうことで（ステップＳ７）、動いたと判断した部分（変化したと判断した画素）だけを実際に動いた部分（変化した画素）として抽出するのではなく、動いたと判断した部分をぼかして、動いた部分として、大雑把に、つまり、広めに（漠然と）抽出することで、後段での処理における情報の欠如（必要な情報の欠落）を防止できる。なお、動いた部分だけを抽出したつもりが、本来動いた部分の情報の抽出漏れがあると、後段での処理結果の精度が落ちてしまい、正確な輪郭抽出ができなくなる場合もある。
【００６６】
また、ステップＳ１の差分画像においても、輪郭が検出できる。この場合、手が動いた方向の差分値は手の輪郭を示すが、手が動いた方向と逆方向の差分値は手の輪郭ではなく、手の輪郭に接する背景を示す。従って、差分画像中の輪郭は、全てが手の輪郭ではない。このため、平滑化及び減衰処理を行なうことで、動いた部分を漠然と抽出することで、本来抽出したい手の輪郭抽出の精度の向上を図ることができる。
【００６７】
また、本実施の形態によれば、元画像の肌色によって、対象物体（例えば、手）の内部の静止している部分が補間されて、抽出したい対象物体が塗り潰される（ステップＳ１１、Ｓ２１）。従って、手の平の中心付近など、手の小さな動きでは、その動きがなく、抽出したい手の一部であるにもかかわらず、有効領域に設定されない部分を有効なものとして設定できる。このため、面積に応じた除去処理において本来除去すべきでない領域が除去されるのを防止できる。仮に補間を行なわず、手の中心部分が有効なものとして扱われない場合、面積が小さくなって、除去され、手を検出できなくなる。
【００６８】
さらに、本実施の形態によれば、動的肌色レンジを利用するので（ステップＳ１７）、対象物体（手など）及びその周囲環境（照明や背景等）に最適化した肌色の範囲を規定できる。そして、このような肌色の範囲を利用することにより、肌色により輪郭を抽出する際の精度を向上できる。
【００６９】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【００７０】
（１）ＣＰＵ３に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、また、並列的あるいは個別に実行される処理も含むものである。
【００７１】
（２）本明細書及び特許請求の範囲において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウェアによって実現される場合も含む。さらに、１つの手段の機能が２つ以上の物理的手段により実現されても、もしくは２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【符号の説明】
【００７２】
１…パーソナルコンピュータ、３…ＣＰＵ、５…メインメモリ、７…チップセット、９…ＧＰＵ、１１…ＳＰＵ、１３…ＨＤＤ、１５…ドライブ、１７…通信部、１９…カメラ、２１…スピーカ、２３…モニタ、２５…キーボード、２７…マウス。
【図１】
2013008185.tif 000003
【図２】
2013008185.tif 000004
【図３】
2013008185.tif 000005
【図４】
2013008185.tif 000006
【図５】
2013008185.tif 000007
【図６】
2013008185.tif 000008
【図７】
2013008185.tif 000009
【図８】
2013008185.tif 000010
【図９】
2013008185.tif 000011