(57)【特許請求の範囲】
【請求項１】
画像を取得する画像取得部と、
前記画像取得部によって取得された画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出する色抽出部と、
前記色抽出部によって前記画像から前記色を有する画素が抽出されることによって得られた色画像のフレーム間で差分を抽出する色差分抽出部と、
前記画像取得部によって取得された画像のフレーム間で輝度の差分を抽出する輝度差分抽出部と、
前記色差分抽出部によって前記色画像のフレーム間で前記差分が抽出された領域と、前記輝度差分抽出部によって前記画像のフレーム間で前記差分が抽出された領域との大小関係に基づいて、前記対象の形状を抽出して前記ジェスチャを認識する第１の方式および前記対象の動きを抽出して前記ジェスチャを認識する第２の方式のうち一方の方式を選択する方式選択部と
を有することを特徴とする画像処理装置。
【請求項２】
前記色差分抽出部によって前記色画像のフレーム間で前記差分が抽出された領域のうち水平成分の大きさが所定の閾値未満である領域を除去する除去部をさらに有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記色差分抽出部によって前記色画像のフレーム間で前記差分が抽出されることによって得られた色の差分画像のうち前記差分が抽出された画素の周辺にある周辺画素を前記差分が抽出された画素とする膨張処理を実行した上で、当該膨張処理を実行後の色の差分画像のうち前記差分が抽出されなかった画素の周辺にある周辺画素を前記差分が抽出されなかった画素とする収縮処理を実行する補間部をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記方式選択部は、前記第１の方式または前記第２の方式のうち一方の方式を選択した場合に、前記第１の方式または前記第２の方式の終了条件を満たすまで当該方式を継続して選択することを特徴とする請求項１〜３のいずれか一つに記載の画像処理装置。
【請求項５】
コンピュータが、
画像を取得し、
取得された画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出し、
前記画像から前記色を有する画素が抽出されることによって得られた色画像のフレーム間で差分を抽出し、
取得された画像のフレーム間で輝度の差分を抽出し、
前記色画像のフレーム間で前記差分が抽出された領域と、前記画像のフレーム間で前記差分が抽出された領域との大小関係に基づいて、前記対象の形状を抽出して前記ジェスチャを認識する第１の方式および前記対象の動きを抽出して前記ジェスチャを認識する第２の方式のうち一方の方式を選択する
各処理を実行することを特徴とする画像処理方法。
【請求項６】
コンピュータに、
画像を取得し、
取得された画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出し、
前記画像から前記色を有する画素が抽出されることによって得られた色画像のフレーム間で差分を抽出し、
取得された画像のフレーム間で輝度の差分を抽出し、
前記色画像のフレーム間で前記差分が抽出された領域と、前記画像のフレーム間で前記差分が抽出された領域との大小関係に基づいて、前記対象の形状を抽出して前記ジェスチャを認識する第１の方式および前記対象の動きを抽出して前記ジェスチャを認識する第２の方式のうち一方の方式を選択する
各処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
人の身振りや手振り、いわゆるジェスチャをマンマシンインタフェースに利用する試みがなされている。かかるジェスチャを認識する方式の一態様としては、人体の部位、例えば手の形状を画像認識してからその部位の動きを追跡する第１の方式が挙げられる。また、他の一態様としては、時系列に撮像される画像から動きがある肌色の領域を検出する第２の方式が挙げられる。
【０００３】
このうち、第１の方式を採用する技術の一例としては、固有ベクトルを用いて手の形状および姿勢を認識する認識装置が挙げられる。この認識装置は、予め多様な形状および姿勢の手を撮像した複数の手の画像を固有空間法によって固有ベクトルに特徴化した上で登録しておき、光学的読取手段によって入力された手の画像と最も近い固有ベクトルを持つ手の画像に対応する形状および姿勢を出力する。また、第１の方式を採用する技術の他の一例としては、オブジェクト追跡装置が挙げられる。このオブジェクト追跡装置では、撮像部によって撮像された画像から統計的肌色特徴、色相や彩度等をもとに抽出された手候補領域の形状複雑度、例えば面積と周辺長の比や手候補領域の中心からその領域の輪郭までの距離などを算出する。そして、オブジェクト追跡装置は、各手候補領域の形状複雑度を予め設定された閾値と比較評価することによって手領域を検出する。このように、第１の方式を採用する技術では、一例として、手を静止又はそれに準じた状態から上下左右等に動かすパターンのジェスチャを認識できる。
【０００４】
また、第２の方式を採用する技術の一例としては、動作認識システムが挙げられる。この動作認識システムでは、動画入力装置によって入力される画像の輝度値をフレーム間で差分を採った差分画像をブロック分割することによってブロック画像を作成するとともに、画像のＲＧＢ値を正規化することによって色度画像を作成する。その上で、動作認識システムは、ブロック画像から得られる動き領域と、色度画像から得られる肌色領域とで重複する領域の面積が所定の閾値を超える場合に、その領域を身体領域の候補として抽出する。このように、第２の方式を採用する技術では、一例として、手がカメラの撮像範囲を横断または縦断するパターンのジェスチャを認識できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−５６８６１号公報
【特許文献２】特開２００７−１４８６６３号公報
【特許文献３】特開２００１−１６６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術には、以下に説明するように、認識可能なジェスチャのパターンが限定的になってしまうという問題がある。
【０００７】
例えば、第１の方式を採用する場合には、最初に形状によって手を認識する必要があるので、ボケが残らない程度に緩やかな動きで映った画像からでなければジェスチャを認識することができない。このため、第１の方式を採用した場合には、動きが大きいジェスチャ、例えば手がカメラの撮像範囲を横断または縦断するパターンのジェスチャを認識できない。また、第２の方式を採用する場合には、撮像される画像のフレーム間で動きがなければジェスチャを認識することができない。このため、第２の方式を採用した場合には、動きが小さいジェスチャ、例えば手を静止又はそれに準じた状態から上下左右等に動かすパターンのジェスチャがなされた場合には、ジェスチャを認識できない。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、多様なパターンのジェスチャを認識できる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する画像処理装置は、画像を取得する画像取得部を有する。さらに、前記画像処理装置は、前記画像取得部によって取得された画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出する色抽出部を有する。さらに、前記画像処理装置は、前記色抽出部によって前記画像から前記色を有する画素が抽出されることによって得られた色画像のフレーム間で差分を抽出する色差分抽出部を有する。さらに、前記画像処理装置は、前記対象の形状を抽出して前記ジェスチャを認識する第１の方式および前記対象の動きを抽出して前記ジェスチャを認識する第２の方式のうち一方の方式を選択する方式選択部を有する。前記方式選択部は、前記色差分抽出部によって前記色画像のフレーム間で前記差分が抽出された領域の大きさに基づいて、前記第１の方式および前記第２の方式のうち一方の方式を選択する。
【発明の効果】
【００１０】
本願の開示する画像処理装置の一つの態様によれば、多様なパターンのジェスチャを認識できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る画像処理装置の機能的構成を示すブロック図である。
【図２】図２は、肌色領域の一例を示す図である。
【図３】図３は、手および腕の動きのモデル化の一例を示す図である。
【図４】図４は、実施例１に係る方式選択処理の手順を示すフローチャートである。
【図５】図５は、実施例１に係る肌色抽出処理の手順を示すフローチャートである。
【図６】図６は、実施例１に係る肌色差分抽出処理の手順を示すフローチャートである。
【図７】図７は、ジェスチャのノイズの一例を示す図である。
【図８】図８は、顔が左右に動いた場合における肌色差分画像への影響を示す図である。
【図９】図９は、ノイズ除去前及びノイズ除去後の肌色差分画像の一部を示す図である。
【図１０】図１０は、応用例に係るノイズ除去処理（１）の手順を示すフローチャートである。
【図１１】図１１は、応用例に係るノイズ除去処理（２）の手順を示すフローチャートである。
【図１２】図１２は、応用例に係るノイズ除去処理（２）の手順を示すフローチャートである。
【図１３】図１３は、膨張処理および収縮処理を説明するための図である。
【図１４】図１４は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する画像処理装置、画像処理方法及び画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
［情報処理装置の構成］
まず、本実施例に係る画像処理装置を含む情報処理装置の機能的構成について説明する。図１は、実施例１に係る画像処理装置の機能的構成を示すブロック図である。図１に示す情報処理装置１は、カメラ３によって撮像された画像から人の身振りや手振り、いわゆるジェスチャを操作情報として認識するマンマシンインタフェースが組み込まれた端末装置である。
【００１４】
図１に示すように、情報処理装置１は、カメラ３と、第１の認識部５ａと、第２の認識部５ｂとを有する。なお、情報処理装置１は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどを始め、他の装置との通信を制御する通信インターフェースなどの機能部を有することとしてもかまわない。
【００１５】
このうち、カメラ３は、画像を撮像する撮像装置である。かかるカメラ３の一態様としては、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などを用いた撮像装置が挙げられる。
【００１６】
かかるカメラ３は、図示しない表示部の表裏のうち画面が表示される表側と同じ方向を撮像可能に設置される。このカメラ３によって経時的に撮像された画像には、情報処理装置１の表示部の表側に相対する操作者が映る場合がある。そして、操作者が映る画像の中には、操作者がカメラ３に向けてジェスチャを行った様子が含まれる場合がある。なお、以下では、カメラ３によって撮像された画像のことを「カメラ画像」と記載する場合がある。
【００１７】
第１の認識部５ａは、人体の部位、例えば手の形状を画像認識してからその部位の動きを追跡する第１の方式によってジェスチャを認識する処理部である。かかる第１の方式のジェスチャ認識には、上記の特許文献１や特許文献２に記載された技術の他、公知の技術を任意に採用することができる。
【００１８】
一態様としては、第１の認識部５ａは、後述の画像処理装置１０からの指示にしたがってカメラ画像から手の形状や姿勢を認識する。そして、第１の認識部５ａは、手の形状や姿勢の認識に成功した場合には、以降に手の形状や姿勢が認識できなくなるまでカメラ画像上における手の動きを追跡することによってジェスチャを認識する。このとき、第１の認識部５ａは、手の形状や姿勢の認識に成功する度に、以降のフレームで手の動きを追跡するための追跡座標ｐ（ｘ，ｙ）、例えば手の中心位置や重心位置などの座標を後述の画像処理装置１０へ出力する。また、第１の認識部５ａは、手の形状や姿勢の認識に失敗した場合や後述の第２の認識部５ｂによってジェスチャ認識が実行されている場合には、追跡座標ｐ（ｘ，ｙ）として（０ｘＦＦＦＦ，０ｘＦＦＦＦ）を後述の画像処理装置１０へ出力する。なお、第１の認識部５ａは、手の動きからジェスチャを認識した場合には、当該ジェスチャに対応するコマンド、例えば図示しないアプリケーションプログラムやＯＳなどのソフトウェア、表示部や音声出力部などのデバイスに対するコマンドを実行する。
【００１９】
第２の認識部５ｂは、時系列に撮像されるカメラ画像から動きがある領域であってジェスチャを認識する対象である人の手を特徴付ける色を有する領域を検出する第２の方式によってジェスチャを認識する処理部である。かかる第２の方式のジェスチャ認識には、上記の特許文献３に記載された技術の他、公知の技術を任意に採用することができる。
【００２０】
一態様としては、第２の認識部５ｂは、後述の画像処理装置１０からの指示にしたがってカメラ画像のフレーム間で動きがある肌色の領域を検出する。このとき、第２の認識部５ｂは、第２の方式によってジェスチャ認識を開始してから所定のフレーム数Ｔにわたってカメラ画像が入力されるまで動きがある肌色の領域を検出する処理を繰り返し実行する。そして、第２の認識部５ｂは、所定のフレーム数Ｔの間で動きがある肌色の領域が所定の閾値以上である場合には、その領域の形状に対応するジェスチャが実行されたと認識する。なお、第２の認識部５ｂは、動きからジェスチャを認識した場合には、当該ジェスチャに対応するコマンド、例えば図示しないアプリケーションプログラムやＯＳなどのソフトウェア、表示部や音声出力部などのデバイスに対するコマンドを実行する。
【００２１】
さらに、情報処理装置１は、カメラ３から取得されたカメラ画像を第１の認識部５ａ及び第２の認識部５ｂのうちいずれの認識部によってジェスチャ認識させるのかを選択する機能がモジュール化された画像処理装置１０を有する。
【００２２】
ここで、本実施例に係る画像処理装置１０は、カメラ３から取得されたカメラ画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出する。さらに、本実施例に係る画像処理装置１０は、カメラ画像から先の色を有する画素が抽出されることによって得られた色画像のフレーム間で差分を抽出する。さらに、本実施例に係る画像処理装置１０は、色画像のフレーム間で差分が抽出された領域の大きさに基づいて、第１の方式および第２の方式のうち一方の方式を選択する。
【００２３】
このため、本実施例に係る画像処理装置１０では、第１の方式および第２の方式のうちジェスチャを認識できる可能性が高い方の方式を適応的に選択できる。例えば、本実施例に係る画像処理装置１０では、ジェスチャ認識時にカメラ画像のフレーム間で動きのある肌色の領域が大きい場合には動き重視の第２の方式を選択し、また、動きのある肌色の領域が小さい場合には形状重視の第１の方式を選択することができる。
【００２４】
それゆえ、本実施例に係る画像処理装置１０では、第１の方式で認識が困難であるジェスチャを第２の方式によって認識できる。例えば、本実施例に係る画像処理装置１０では、第１の方式を選択することによって動きが大きいジェスチャ、例えば手がカメラ３の撮像範囲を横断または縦断するパターンのジェスチャを認識できる。また、本実施例に係る画像処理装置１０では、第２の方式で認識が困難であるジェスチャを第１の方式によって認識できる。例えば、本実施例に係る画像処理装置１０では、第２の方式を選択することによって動きが小さいジェスチャ、例えば手を静止又はそれに準じた状態から上下左右等に動かすパターンのジェスチャを認識できる。
【００２５】
したがって、本実施例に係る画像処理装置１０によれば、多様なパターンのジェスチャを高精度に認識することが可能になる。さらに、本実施例に係る画像処理装置１０は、第１の方式または第２の方式を排他的に選択する。このため、本実施例に係る画像処理装置１０では、第１の方式および第２の方式のジェスチャ認識を並行して実行させる場合よりも処理負荷を低減できる。よって、本実施例に係る画像処理装置１０によれば、パーソナルコンピュータ等よりも処理性能が劣る移動体端末にもジェスチャ認識を適用することが可能になる。
【００２６】
［画像処理装置の構成］
続いて、本実施例に係る画像処理装置１０の機能的構成について詳細に説明する。図１に示すように、画像処理装置１０は、画像取得部１１と、肌色抽出部１２と、肌色画像記憶部１３と、肌色差分抽出部１４と、輝度画像記憶部１５と、輝度差分抽出部１６と、方式選択部１７とを有する。
【００２７】
このうち、画像取得部１１は、画像を取得する処理部である。一態様としては、画像取得部１１は、カメラ３によって撮像されるカメラ画像を順次取得する。他の一様としては、画像取得部１１は、インターネットやＬＡＮ（Local  Area  Network）などのネットワークを介して画像を取得することもできる。更なる一態様としては、画像取得部１１は、メモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどの記録媒体から画像を取得することもできる。なお、以下では、カメラ３を始めとする各種の入手経路を介して取得される画像であって後段の処理部によって加工される前の画像のことを「原画像」と記載する場合がある。
【００２８】
肌色抽出部１２は、画像取得部１１によって取得された原画像からジェスチャを認識する対象を特徴付ける色を有する画素を抽出する処理部である。一態様としては、肌色抽出部１２は、原画像Ｉに含まれる画素をラスタースキャンすることによって各画素の画素値をＲＧＢ表色系からＨＳＶ表色系へ変換する。その上で、肌色抽出部１２は、ＨＳＶ表色系に変換された画素の色相Ｈおよび彩度Ｓが所定の範囲、例えば予め肌色であると定義された肌色領域内に含まれるか否かによって２値化する。なお、ＲＧＢ表色系からＨＳＶ表色系への変換については、一例として、「松橋  聡，藤本  研司，中村  納，南  敏，“顔領域抽出に有効な修正ＨＳＶ表色系の提案，”テレビ誌，vol.49，no.6，pp.787−797，June  1995」に記載の技術を採用できる。
【００２９】
これを説明すると、肌色抽出部１２は、原画像Ｉ（ｘ，ｙ，ｔ）に含まれる各画素のＲＧＢ値を下記の式（１）〜式（３）に代入することによってＨＳＶ表色系の色相Ｈ、彩度Ｓ及び輝度Ｖへ変換する。そして、肌色抽出部１２は、色相Ｈ及び彩度Ｓを含んで構成されるＨＳ平面に投影された画素の色相Ｈおよび彩度ＳがＨｍｉｎ及びＨｍａｘとＳｍｉｎ及びＳｍａｘとによって定義される肌色領域に含まれるか否かを判定する。
【００３０】
【数１】
0005747695.tif 000002
【数２】
0005747695.tif 000003
【数３】
0005747695.tif 000004
【００３１】
図２は、肌色領域の一例を示す図である。図２の例では、グラフの縦軸が彩度Ｓを指し、グラフの横軸が色相Ｈを指す。図２に示す例で言えば、ＨＳ平面上でＨｍｉｎ及びＨｍａｘとＳｍｉｎ及びＳｍａｘとによって囲まれる部分、すなわち図中の斜線の網掛け部分が肌色領域となる。なお、上記の「Ｈｍｉｎ」、「Ｈｍａｘ」、「Ｓｍｉｎ」及び「Ｓｍａｘ」の値には、任意の値を設定することができる。一例としては、カメラ３の特性、例えばカメラ３から操作者がジェスチャを行うと推定される距離や太陽または照明が当たる角度をもとに設定することとしてもよい。他の一例としては、操作者が限定されている場合には、全操作者の肌を含み得る範囲内であれば肌色領域を拡張したり、縮小したりすることもできる。
【００３２】
このような肌色領域の設定の下、肌色抽出部１２は、ＨＳ平面に投影された画素の色相ＨがＨｍｉｎよりも大きく、かつＨｍａｘよりも小さいか否か、すなわち「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たすか否かを判定する。このとき、肌色抽出部１２は、色相Ｈが「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たす場合には、ＨＳ平面に投影された画素の彩度ＳがＳｍｉｎよりも大きく、かつＳｍａｘよりも小さいか否か、すなわち「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たすか否かをさらに判定する。そして、肌色抽出部１２は、彩度Ｓが「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たす場合には、当該画素の値に「１」を割り当てる。一方、肌色抽出部１２は、色相Ｈが「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たさないか、或いは彩度Ｓが「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たさない場合には、当該画素の値に「０」を割り当てる。これによって、原画像Ｉ（ｘ，ｙ，ｔ）から肌色らしい画素を抽出した肌色画像Ｃ（ｘ，ｙ，ｔ）が生成される。このようにして生成された肌色画像Ｃ（ｘ，ｙ，ｔ）は、後述の肌色画像記憶部１３へ登録される。
【００３３】
また、肌色抽出部１２は、原画像Ｉ（ｘ，ｙ，ｔ）に含まれる各画素のＲＧＢ値をＨＳＶ表色系へ変換後の輝度Ｖの値に置き換えることによって輝度画像Ｖ（ｘ，ｙ，ｔ）を生成する。このようにして生成された輝度画像Ｖ（ｘ，ｙ，ｔ）は、後述の輝度画像記憶部１５へ登録される。
【００３４】
なお、上記の「原画像Ｉ（ｘ，ｙ，ｔ）」の表記は、フレームｔにおいて座標が（ｘ，ｙ）である画素を含んでなる原画像Ｉを表す。また、「肌色画像Ｃ（ｘ，ｙ，ｔ）」及び「輝度画像Ｖ（ｘ，ｙ，ｔ）」の表記も原画像が肌色画像や輝度画像に置き換わること以外は同様である。また、上記の「座標」は、画像に設定された２次元のローカル座標を指し、原点には、画像内または画像外の任意の点、例えば原画像Ｉの左上の点などを設定できる。
【００３５】
肌色画像記憶部１３は、肌色画像を記憶する記憶部である。一例としては、肌色画像記憶部１３は、後述の肌色差分抽出部１４によって肌色画像のフレーム間で差分を抽出させるための前処理として、肌色画像が生成される度に肌色抽出部１２によって登録される。他の一例としては、肌色画像記憶部１３は、肌色画像のフレーム間で差分を抽出するために、後述の肌色差分抽出部１４によって参照される。なお、肌色画像記憶部１３に記憶された肌色画像は、肌色抽出部１２によって登録されてから所定のフレーム後の肌色画像が登録された場合や肌色画像の登録期間が所定の時間を経過した場合に自動的に削除することもできる。
【００３６】
肌色差分抽出部１４は、肌色画像のフレーム間で差分を抽出する処理部である。一態様としては、肌色差分抽出部１４は、肌色抽出部１２によって生成された肌色画像Ｃ（ｘ，ｙ，ｔ）及び肌色画像記憶部１３に記憶された前フレームの肌色画像Ｃ（ｘ，ｙ，ｔ−１）に含まれる各画素間で差分を抽出する。このとき、肌色差分抽出部１４は、肌色画像Ｃ（ｘ，ｙ，ｔ）及び前フレームの肌色画像Ｃ（ｘ，ｙ，ｔ−１）に含まれる画素をラスタースキャンしつつ、各画素間でＣ（ｘ，ｙ，ｔ）−Ｃ（ｘ，ｙ，ｔ−１）を抽出する。
【００３７】
ここで、肌色差分抽出部１４は、Ｃ（ｘ，ｙ，ｔ）−Ｃ（ｘ，ｙ，ｔ−１）の差分値がゼロよりも大きい場合、すなわち「正」の値をとる場合には、当該画素の値に「１」を割り当てる。一方、肌色差分抽出部１４は、Ｃ（ｘ，ｙ，ｔ）−Ｃ（ｘ，ｙ，ｔ−１）の差分値がゼロ以下である場合、すなわち「０」もしくは「負」の値をとる場合には、当該画素の値に「０」を割り当てる。これによって、肌色画像Ｃ（ｘ，ｙ，ｔ）及び前フレームの肌色画像Ｃ（ｘ，ｙ，ｔ−１）から現に肌が所在する可能性が高い画素が抽出された肌色差分画像Ｄ（ｘ，ｙ，ｔ）が生成される。
【００３８】
なお、ここでは、現フレームｔの肌色画像Ｃ（ｘ，ｙ，ｔ）及び１つ前のフレームｔ−１の肌色画像Ｃ（ｘ，ｙ，ｔ−１）の間で差分を抽出する場合を例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、カメラ３によって入力されるカメラ画像のフレームレートが高い場合には、現フレームｔの肌色画像Ｃ（ｘ，ｙ，ｔ）及び２つ以上前のフレームｔ−ｎの肌色画像Ｃ（ｘ，ｙ，ｔ−ｎ）の間で差分を抽出することとしてもよい。
【００３９】
輝度画像記憶部１５は、輝度画像を記憶する記憶部である。一例としては、後述の輝度差分抽出部１６によって輝度画像のフレーム間で差分を抽出させるための前処理として、輝度画像が生成される度に肌色抽出部１２によって登録される。他の一例としては、輝度画像記憶部１５は、輝度画像のフレーム間で差分を抽出するために、後述の輝度差分抽出部１６によって参照される。なお、輝度画像記憶部１５に記憶された輝度画像は、肌色抽出部１２によって登録されてから所定のフレーム後の輝度画像が登録された場合や輝度画像の登録期間が所定の時間を経過した場合に自動的に削除することもできる。
【００４０】
輝度差分抽出部１６は、輝度画像のフレーム間で差分を抽出する処理部である。一態様としては、輝度差分抽出部１６は、肌色抽出部１２によって生成された輝度画像Ｖ（ｘ，ｙ，ｔ）及び輝度画像記憶部１５に記憶された前フレームの輝度画像Ｖ（ｘ，ｙ，ｔ−１）に含まれる各画素間で差分を抽出する。このとき、輝度差分抽出部１６は、輝度画像Ｖ（ｘ，ｙ，ｔ）及び前フレームの輝度画像Ｖ（ｘ，ｙ，ｔ−１）に含まれる画素をラスタースキャンしつつ、各画素間で輝度差分画像Ｆ（ｘ，ｙ，ｔ）、即ち「Ｖ（ｘ，ｙ，ｔ）−Ｖ（ｘ，ｙ，ｔ−１）」を抽出する。
【００４１】
ここで、輝度差分抽出部１６は、Ｖ（ｘ，ｙ，ｔ）−Ｖ（ｘ，ｙ，ｔ−１）の差分値が所定の閾値以上である場合には、当該画素の値に「１」を割り当てる。一方、輝度差分抽出部１６は、Ｖ（ｘ，ｙ，ｔ）−Ｖ（ｘ，ｙ，ｔ−１）の差分値が所定の閾値未満である場合には、当該画素の値に「０」を割り当てる。これによって、輝度画像Ｖ（ｘ，ｙ，ｔ）及び前フレームの輝度画像Ｖ（ｘ，ｙ，ｔ−１）の間で閾値上の変化があった画素が抽出された輝度差分画像Ｆ’（ｘ，ｙ，ｔ）が生成される。
【００４２】
方式選択部１７は、第１の方式および第２の方式のうち一方の方式を選択する処理部である。一態様としては、方式選択部１７は、肌色差分抽出部１４により生成された肌色差分画像Ｄ（ｘ，ｙ，ｔ）で現に肌が存在すると推定される画素、すなわち値に「１」が割り当てられた画素のラベリング処理を実行する。かかるラベリング処理には、「コンピュータ画像処理  田村  秀行著  オーム社」に開示の技術などを適用できる。このラベリング処理によって、肌色差分画像Ｄ（ｘ，ｙ，ｔ）で値に「１」が割り当てられた画素のうち同じ領域に属すると推定される画素同士がグルーピングされる。その上で、方式選択部１７は、ラベリング処理された領域のうち最大の領域と輝度差分画像Ｆ’（ｘ，ｙ，ｔ）で差分が抽出された領域との大小関係に基づいて、第１の方式および第２の方式のうち一方の方式を選択する。
【００４３】
このように、上記の肌色差分画像Ｄの他に輝度差分画像Ｆ’を併用するのは、操作者の手だけが動いたか否かを判別することによって操作者が意図的に行ったジェスチャとジェスチャとは無関係に行われた動作とを切り分けた上で方式の選択を実行するためである。
【００４４】
すなわち、手によってジェスチャがなされる場合には、腕の部位のうち動作するのは一般に肘から先の前腕部になり、肘が支点となって動作する。ところが、操作者が情報処理装置１に対する操作を意図しない動作では、体全体が動作したり、肩から先の部位がすべて動いたりする。このように、上記の輝度差分画像Ｆ’（ｘ，ｙ，ｔ）で差分が抽出された領域には、手の領域のほかに前腕部の動きが含まれる。
【００４５】
図３は、手および腕の動きのモデル化の一例を示す図である。図３に示すように、上腕から指先までを矩形モデルとして仮定した場合には、手の部分を含め前腕部の動きによるＦ’の領域Ｒは、「２×πｒ２×ω／２π＝ωｒ２」と表される。ここで言う「ｒ」は、肘から指先までの長さを指し、また、「ω」は、手を動作させる角速度を指す。また、肘から手首までの長さが「ｒ’」であるとしたとき、上記の矩形モデルのうち、手の領域を除いた領域Ｒ’は、上記の領域Ｒと同様にして、「２×πｒ’２×ω／２π＝ωｒ’２」と表される。
【００４６】
このため、領域Ｒから領域Ｒ’を差し引いた「ω（ｒ２−ｒ’２）」が手として得られる差分領域Ｒ−Ｒ’となる。ただし、上記の肌色差分画像Ｄで手の領域として差分が抽出されているのは、現フレームに手がある部分、すなわち差分値が「正」の値をとる画素だけである。このため、前フレームで手があった部分、すなわち差分値が「０」または「負」の値をとる画素は含まれない。図３の例で言えば、肌色差分画像Ｄは、図中の上段の右側にある点の塗りつぶし部分だけが差分として抽出される。したがって、肌色差分画像Ｄで正の差分が得られる領域を「Ａ」とすると、「Ａ＝ω／２×（ｒ２−ｒ’２）」が成立する。
【００４７】
このとき、「ｒ」及び「ｒ’」は、標準体型に代表させることによって一般化できる。例えば、肘から指先までの長さ及び肘から手首までの長さの比、すなわち「ｘ＝ｒ／ｒ’」は、およそ０．６〜０．７であることから、領域Ａの式は「Ａ＝ωｒ２／２×（１−ｘ２）」と変形できる。さらに、変形後の式のうち「（１−ｘ２）」の部分を定数αとみなすと、領域Ａの式は「Ａ＝αωｒ２／２」と変形できることから、更なる変形式「ωｒ２／２＝Ａ／α」が得られる。
【００４８】
これらのことから、肌色差分画像Ｄで差分が抽出された領域のうち最大領域を「Ａ」、輝度差分画像Ｆ’で差分が抽出された領域を「Ｂ」としたとき、判定式「Ｂ／２＜Ａ／α」が成立する場合には、操作者によって手だけが動作されているとみなすことができる。なお、上記の判定式でＢに１／２を乗算しているのは、上記の輝度差分画像Ｆ’では移動前後の変化、すなわち符号の正負は関係なく閾値以上である画素が抽出されるからである。すなわち、図３の例で言えば、輝度差分画像Ｆ’は、図中の上段の右側にある点の塗りつぶし部分＋斜線の塗りつぶし部分が差分として抽出される。
【００４９】
このように、操作者がジェスチャを行う際に肘がぶれないと仮定してモデル化を行った場合には、肌色差分画像Ｄで差分が抽出された領域のうち最大の領域である最大領域「Ａ」および輝度差分画像Ｆ’で差分が抽出された領域「Ｂ」を扇形に近似できる。ところが、操作者がジェスチャを行う際に肘がぶれた場合には、肌色差分画像Ｄでは手の動きだけでなく、肘のぶれも最大領域「Ａ」として抽出されるので、領域「Ａ」が領域「Ｂ」よりも相対的に大きくなる。
【００５０】
したがって、方式選択部１７では、上記の判定式における「Ａ／α」に肘のぶれを調整する調整値ｑを乗算した判定式「Ｂ／２＜ｑ×Ａ／α」を用いて、方式の選択を実行する。なお、上記の調整値ｑには、ジェスチャが行われる場合に肘がぶれても領域「Ａ」の値が大きくなりすぎないように「０＜ｑ＜１」の値が設定されるのが好ましい。
【００５１】
ここで、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たす場合には、手だけが動作されている可能性が高いので、動きが大きいジェスチャ、例えば手がカメラ３の撮像範囲を横断または縦断するパターンのジェスチャがなされている可能性が高いと推定できる。この場合には、方式選択部１７は、第２の方式によってジェスチャの認識を実行させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する。一方、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たさない場合には、操作者が体全体を動かしていたり、情報処理装置１が移動されたりする可能性が高い。この場合には、方式選択部１７は、第２の方式を実行することによってジェスチャが誤認識されるのを回避するために、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する。
【００５２】
他の一態様としては、方式選択部１７は、肌色差分画像Ｄで差分が抽出された最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きいか否かによって第１の方式または第２の方式を選択する。このとき、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きい場合には、動きのある肌色の領域が大きいので、動きが大きいジェスチャがなされている可能性が高いと推定できる。よって、方式選択部１７は、第２の方式によってジェスチャの認識を実行させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する。一方、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘ以下である場合には、動きのある肌色の領域が小さいので、動きが小さいジェスチャが開始されてようとしているか、或いは動作なく静観されている可能性が高いと推定できる。この場合には、方式選択部１７は、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する。
【００５３】
更なる一態様としては、方式選択部１７は、第１の認識部５ａによって図示しない内部メモリに書き込まれた追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）であるか否かによって第１の方式または第２の方式を選択する。このとき、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）でない場合には、第１の方式によって手の動きが追跡できているので、改めて第２の方式に変える必要はない。むしろ、第１の方式から第２の方式へ変更した場合には、追跡中のジェスチャを認識できなくなるおそれもある。よって、方式選択部１７は、第１の方式によるジェスチャの認識を継続させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する。一方、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）でない場合には、第１の方式によって手の動きが追跡できていないので、第１の方式によるジェスチャの認識を継続させる意義が薄い。よって、方式選択部１７は、第２の方式によってジェスチャの認識を実行させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する。
【００５４】
他の一態様としては、方式選択部１７は、第２の方式によるジェスチャ認識の実行回数Ｆが第２の方式によるジェスチャ認識の所要フレーム数Ｔよりも少ないか否かによって第１の方式または第２の方式を選択する。このとき、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔよりも少ない場合には、未だジェスチャ認識の結果が得られていないので、第２の方式によるジェスチャの認識を継続させるのが好ましい。よって、第２の方式によるジェスチャの認識を継続させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する。一方、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔと等しい場合には、ジェスチャ認識の結果が既に得られた後であるので、第２の方式によるジェスチャの認識を継続させる意義が薄い。よって、方式選択部１７は、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する。
【００５５】
ここで、方式選択部１７は、上記の４つの態様を組み合わせて実行することができる。一例としては、方式選択部１７は、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たすか否かを判定する。このとき、方式選択部１７は、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たす場合には、肌色差分画像Ｄで差分が抽出された最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きいか否かをさらに判定する。そして、方式選択部１７は、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きい場合には、第１の認識部５ａによって内部メモリに書き込まれた追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）であるか否かをさらに判定する。このとき、方式選択部１７は、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）である場合には、第２の方式によるジェスチャ認識の実行回数Ｆが第２の方式によるジェスチャ認識の所要フレーム数Ｔよりも少ないか否かをさらに判定する。
【００５６】
そして、方式選択部１７は、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔよりも少ない場合には、第２の方式によってジェスチャの認識を実行させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する。一方、方式選択部１７は、下記のように、一度でも否定的な判定結果が得られた場合には、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する。なお、上記の否定的な判定結果には、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たさない場合、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘ以下である場合、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）でない場合などが含まれる。さらに、上記の否定的な判定結果には、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔと等しい場合も含まれる。
【００５７】
なお、上記の画像取得部１１、肌色抽出部１２、肌色差分抽出部１４、輝度差分抽出部１６及び方式選択部１７には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００５８】
また、上記の肌色画像記憶部１３及び輝度画像記憶部１５などの記憶部には、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、ＶＲＡＭ（Video  Random  Access  Memory）、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００５９】
［処理の流れ］
次に、本実施例に係る画像処理装置の処理の流れについて説明する。なお、ここでは、画像処理装置１０によって実行される（１）方式選択処理を説明した後に、方式選択処理のサブルーチンとして実行される（２）肌色抽出処理を説明し、最後に、方式選択処理のサブルーチンとして実行される（３）肌色差分抽出処理を説明する。
【００６０】
（１）方式選択処理
図４は、実施例１に係る方式選択処理の手順を示すフローチャートである。この方式選択処理は、画像処理装置１０の電源がＯＮ状態である場合に繰り返し実行される処理であり、画像取得部１１によって原画像が取得された場合に処理が起動される。
【００６１】
図４に示すように、画像取得部１１によって原画像Ｉ（ｘ，ｙ，ｔ）が取得されると（ステップＳ１０１）、方式選択部１７は、前フレームｔ−１における追跡座標ｐ（ｘ，ｙ）を取得する（ステップＳ１０２）。
【００６２】
そして、肌色抽出部１２は、原画像Ｉ（ｘ，ｙ，ｔ）から肌色らしい画素を抽出する「肌色抽出処理」を実行する（ステップＳ１０３）。これによって、原画像Ｉ（ｘ，ｙ，ｔ）から肌色画像Ｃ（ｘ，ｙ，ｔ）が生成される。
【００６３】
続いて、肌色差分抽出部１４は、肌色画像Ｃ（ｘ，ｙ，ｔ）及び前フレームの肌色画像Ｃ（ｘ，ｙ，ｔ−１）から現に肌が所在する可能性が高い画素を抽出する「肌色差分抽出処理」を実行する（ステップＳ１０４）。これによって、肌色画像Ｃ（ｘ，ｙ，ｔ）及び前フレームの肌色画像Ｃ（ｘ，ｙ，ｔ−１）から肌色差分画像Ｄ（ｘ，ｙ，ｔ）が生成される。
【００６４】
そして、輝度差分抽出部１６は、輝度画像Ｖ（ｘ，ｙ，ｔ）及び前フレームの輝度画像Ｖ（ｘ，ｙ，ｔ−１）の間で閾値上の変化があった画素を抽出する輝度差分抽出処理を実行する（ステップＳ１０５）。これによって、輝度画像Ｖ（ｘ，ｙ，ｔ）及び前フレームの輝度画像Ｖ（ｘ，ｙ，ｔ−１）から輝度差分画像Ｆ’（ｘ，ｙ，ｔ）が生成される。
【００６５】
その後、方式選択部１７は、肌色差分抽出部１４により生成された肌色差分画像Ｄ（ｘ，ｙ，ｔ）で現に肌が存在すると推定される画素、すなわち値に「１」が割り当てられた画素のラベリング処理を実行する（ステップＳ１０６）。そして、方式選択部１７は、ラベリング処理によって肌色差分画像Ｄ内でラベリングされた領域のうち最大の領域である最大領域Ａを算出する（ステップＳ１０７）。
【００６６】
ここで、方式選択部１７は、肌色差分画像Ｄでラベリングされた最大領域Ａ及び輝度差分画像Ｆ’で差分が抽出された領域Ｂが上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たすか否かを判定する（ステップＳ１０８）。
【００６７】
このとき、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たさない場合（ステップＳ１０８否定）には、操作者が体全体を動かしていたり、情報処理装置１が移動されたりする可能性が高い。この場合には、方式選択部１７は、第２の方式を実行することによってジェスチャが誤認識されるのを回避するために、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する（ステップＳ１０９）。
【００６８】
また、上記の判定式「Ｂ／２＜ｑ×Ａ／α」を満たす場合（ステップＳ１０８肯定）には、方式選択部１７は、肌色差分画像Ｄでラベリングされた最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きいか否かをさらに判定する（ステップＳ１１０）。
【００６９】
このとき、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘ以下である場合（ステップＳ１１０否定）には、動きのある肌色の領域が小さいので、動きが小さいジェスチャが開始されてようとされているか、或いは動作なく静観されている可能性が高いと推定できる。この場合には、方式選択部１７は、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する（ステップＳ１０９）。
【００７０】
また、最大領域Ａが所定の閾値Ｔｈ＿ｐｉｘよりも大きい場合（ステップＳ１１０肯定）には、方式選択部１７は、次のような処理を実行する。すなわち、方式選択部１７は、第１の認識部５ａによって内部メモリに書き込まれた追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）であるか否かをさらに判定する（ステップＳ１１１）。
【００７１】
このとき、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）ではない場合（ステップＳ１１１否定）には、第１の方式によって手の動きが追跡できているので、改めて第２の方式に変える必要はない。よって、方式選択部１７は、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する（ステップＳ１０９）。
【００７２】
また、追跡座標ｐ（ｘ，ｙ）が追跡不能コード（０ｘＦＦＦＦ，０ｘＦＦＦＦ）である場合（ステップＳ１１１肯定）には、方式選択部１７は、次のような処理を実行する。すなわち、方式選択部１７は、第２の方式によるジェスチャ認識の実行回数Ｆが第２の方式によるジェスチャ認識の所要フレーム数Ｔよりも少ないか否かをさらに判定する（ステップＳ１１２）。
【００７３】
このとき、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔと等しい場合（ステップＳ１１２否定）には、ジェスチャ認識の結果が既に得られた後であるので、第２の方式によるジェスチャの認識を継続させる意義が薄い。よって、方式選択部１７は、第１の方式によってジェスチャの認識を実行させるべく、第１の認識部５ａを動作させるフラグ番号「０」を図示しない内部メモリに格納する（ステップＳ１０９）。
【００７４】
一方、第２の方式によるジェスチャ認識の実行回数Ｆが所要フレーム数Ｔよりも少ない場合（ステップＳ１１２肯定）には、上述した多面的な観点から第２の方式によるジェスチャ認識を実行させるのが好ましいと判断できる。よって、方式選択部１７は、第２の方式によってジェスチャの認識を実行させるべく、第２の認識部５ｂを動作させるフラグ番号「１」を図示しない内部メモリに格納する（ステップＳ１１３）。
【００７５】
このように、第１の方式または第２の方式が選択された後に、方式選択部１７は、第１の認識部５ａによって内部メモリに書き込まれた追跡座標ｐ（ｘ，ｙ）を初期化し（ステップＳ１１４）、処理を終了する。
【００７６】
（２）肌色抽出処理
続いて、本実施例に係る肌色抽出処理について説明する。図５は、実施例１に係る肌色抽出処理の手順を示すフローチャートである。この肌色抽出処理は、図４に示したステップＳ１０３に対応する処理であり、追跡座標ｐ（ｘ，ｙ）が取得された場合に処理が起動される。
【００７７】
図５に示すように、肌色抽出部１２は、肌色画像Ｃ（ｘ，ｙ，ｔ）を初期化する（ステップＳ３０１）。さらに、肌色抽出部１２は、Ｙ方向パラメータｉを「０」にリセットするとともに（ステップＳ３０２）、Ｘ方向パラメータｊを「０」にリセットする（ステップＳ３０３）。
【００７８】
その後、肌色抽出部１２は、原画像Ｉ（ｘ，ｙ，ｔ）のＲＧＢ値を上記の式（１）〜式（２）に代入することによってＨＳＶ表色系の色相Ｈ及び彩度Ｓを含んで構成されるＨＳ平面に投影する（ステップＳ３０４）。
【００７９】
そして、肌色抽出部１２は、ＨＳ平面に投影された画素の色相ＨがＨｍｉｎよりも大きく、かつＨｍａｘよりも小さいか否か、すなわち「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たすか否かを判定する（ステップＳ３０５）。
【００８０】
このとき、色相Ｈが「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たす場合（ステップＳ３０５肯定）には、肌色抽出部１２は、次のような判定をさらに実行する。すなわち、肌色抽出部１２は、ＨＳ平面に投影された画素の彩度ＳがＳｍｉｎよりも大きく、かつＳｍａｘよりも小さいか否か、すなわち「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たすか否かをさらに判定する（ステップＳ３０６）。
【００８１】
そして、彩度Ｓが「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たす場合（ステップＳ３０６肯定）には、肌色抽出部１２は、肌色画像Ｃ（ｊ，ｉ，ｔ）の値に「１」を割り当てる（ステップＳ３０７）。
【００８２】
一方、色相Ｈが「Ｈｍｉｎ＜Ｈ＜Ｈｍａｘ」を満たさない場合または彩度Ｓが「Ｓｍｉｎ＜Ｓ＜Ｓｍａｘ」を満たさない場合（ステップＳ３０５否定またはステップＳ３０６否定）には、ステップＳ３０７の処理を実行せずにステップＳ３０８の処理へ移行する。
【００８３】
その後、肌色抽出部１２は、Ｘ方向パラメータｊをインクリメントし（ステップＳ３０８）、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さいか否かを判定する（ステップＳ３０９）。
【００８４】
このとき、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さい場合（ステップＳ３０９肯定）には、Ｘ方向の走査が終了していないと判断できる。よって、肌色抽出部１２は、原画像Ｉ（ｊ＋１，ｉ，ｔ）に対し、上記のステップＳ３０４〜Ｓ３０８までの処理を繰り返し実行する。
【００８５】
一方、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘと等しい場合（ステップＳ３０９否定）には、肌色抽出部１２は、Ｘ方向の走査が終了したと判断できるので、Ｙ方向パラメータｉをインクリメントする（ステップＳ３１０）。
【００８６】
そして、肌色抽出部１２は、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さいか否かを判定する（ステップＳ３１１）。このとき、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さい場合（ステップＳ３１１肯定）には、Ｙ方向の走査が終了していないと判断できる。
【００８７】
よって、肌色抽出部１２は、Ｘ方向パラメータｊを「０」にリセットした上で（ステップＳ３０３）、原画像Ｉ（０，ｉ＋１，ｔ）に対し、上記のステップＳ３０４〜Ｓ３１０までの処理を繰り返し実行する。
【００８８】
一方、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙと等しい場合（ステップＳ３１１否定）には、Ｙ方向の走査が終了したと判断できるので、そのまま処理を終了する。
【００８９】
（３）肌色差分抽出処理
続いて、本実施例に係る肌色差分抽出処理の手順について説明する。図６は、実施例１に係る肌色差分抽出処理の手順を示すフローチャートである。この「肌色差分抽出処理」は、図４に示したステップＳ１０４に対応する処理であり、肌色抽出処理によって肌色画像が生成された後に処理が起動される。
【００９０】
図６に示すように、肌色差分抽出部１４は、肌色差分画像Ｄ（ｘ，ｙ，ｔ）を初期化するとともに（ステップＳ５０１）、肌色画像記憶部１３に記憶された前フレームｔ−１の肌色画像Ｃ（ｘ，ｙ，ｔ−１）を読み出す（ステップＳ５０２）。さらに、肌色差分抽出部１４は、Ｙ方向パラメータｉを「０」にリセットするとともに（ステップＳ５０３）、Ｘ方向パラメータｊを「０」にリセットする（ステップＳ５０４）。
【００９１】
続いて、肌色差分抽出部１４は、Ｃ（ｊ，ｉ，ｔ）−Ｃ（ｊ，ｉ，ｔ−１）を計算することによって肌色差分画像Ｄ（ｊ，ｉ，ｔ）を算出する（ステップＳ５０５）。このとき、肌色差分画像Ｄ（ｊ，ｉ，ｔ）がゼロまたは負の値である場合（ステップＳ５０６否定）には、肌色差分抽出部１４は、肌色差分画像Ｄ（ｊ，ｉ，ｔ）の値にゼロを割り当てる（ステップＳ５０７）。
【００９２】
また、肌色差分画像Ｄ（ｊ，ｉ，ｔ）が正の値である場合（ステップＳ５０６肯定）には、肌色差分抽出部１４は、ステップＳ５０７の処理を実行することにより肌色差分画像Ｄ（ｊ，ｉ，ｔ）の値をゼロにせず、値を維持させたままステップＳ５０８へ移行する。
【００９３】
その後、肌色差分抽出部１４は、Ｘ方向パラメータｊをインクリメントし（ステップＳ５０８）、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さいか否かを判定する（ステップＳ５０９）。
【００９４】
このとき、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さい場合（ステップＳ５０９肯定）には、Ｘ方向の走査が終了していないと判断できる。よって、肌色差分抽出部１４は、肌色画像Ｃ（ｊ＋１，ｉ，ｔ）及び肌色画像Ｃ（ｊ＋１，ｉ，ｔ−１）に対し、上記のステップＳ５０５〜Ｓ５０８までの処理を繰り返し実行する。
【００９５】
一方、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘと等しい場合（ステップＳ５０９否定）には、肌色差分抽出部１４は、Ｘ方向の走査が終了したと判断できるので、Ｙ方向パラメータｉをインクリメントする（ステップＳ５１０）。
【００９６】
そして、肌色差分抽出部１４は、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さいか否かを判定する（ステップＳ５１１）。このとき、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さい場合（ステップＳ５１１肯定）には、Ｙ方向の走査が終了していないと判断できる。
【００９７】
よって、肌色差分抽出部１４は、Ｘ方向パラメータｊを「０」にリセットした上で（ステップＳ５０４）、肌色画像Ｃ（０，ｉ＋１，ｔ）及び肌色画像Ｃ（０，ｉ＋１，ｔ−１）に対し、上記のステップＳ５０５〜Ｓ５１０までの処理を繰り返し実行する。
【００９８】
一方、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙと等しい場合（ステップＳ５１１否定）には、Ｙ方向の走査が終了したと判断できるので、そのまま処理を終了する。
【００９９】
［実施例１の効果］
上述してきたように、本実施例に係る画像処理装置１０によれば、多様なパターンのジェスチャを高精度に認識することが可能である。さらに、本実施例に係る画像処理装置１０は、第１の方式または第２の方式を排他的に選択する。このため、本実施例に係る画像処理装置１０では、第１の方式および第２の方式のジェスチャ認識を並行して実行させる場合よりも処理負荷を低減できる。よって、本実施例に係る画像処理装置１０によれば、パーソナルコンピュータ等よりも処理性能が劣る移動体端末にもジェスチャ認識を適用することが可能である。
【０１００】
加えて、本実施例に係る画像処理装置１０では、入力される原画像のフレームレートを調節する必要はない。ここで、一例として、第１の方式によるジェスチャ認識が１５ｆｐｓのフレームレートで動作するのに対し、第２の方式によるジェスチャ認識が３０ｆｐｓのフレームレートで動作する場合を想定する。この場合にも、原画像が排他的に利用されるので、それぞれのフレームレートで処理を実現することが可能になる。
【０１０１】
一般に、形状を認識するには、動きを認識する場合よりも演算量が多くなるので、処理時間が長くなる結果、第２の方式によるジェスチャ認識よりも第１の方式によるジェスチャ認識の方が遅いフレームレートになる。逆に、第２の方式によるジェスチャ認識では、より高速なフレームレートで処理するほうが高い精度を維持することができる。これら両者の長所を発揮しようとすると、第１の認識部５ａ及び第２の認識部５ｂの両者を同時に動作させることも考えられるが、両者の処理時間の和としてフレームレートを定める必要がある。ところが、本実施例に係る画像処理装置１０では、第１の認識部５ａ及び第２の認識部５ｂに各々のジェスチャ認識の所要時間で各フレームを処理させることができる。このため、高速なフレームレートが必要な第２の方式によるジェスチャ認識の処理中に、低速な第１の方式によるジェスチャ認識の処理時間が含まれることはない。
【０１０２】
また、本実施例に係る画像処理装置１０は、肌色差分画像Ｄでラベリング処理された最大の領域Ａと輝度差分画像Ｆ’で差分が抽出された領域Ｂとの大小関係に基づいて、第１の方式および第２の方式のうち一方の方式を選択する。このため、本実施例に係る画像処理装置１０では、動きのある肌色の領域よりも輝度が変化した領域が大きい場合には、第１の方式を選択できる。それゆえ、本実施例に係る画像処理装置１０によれば、第２の方式を実行することによって操作者が体全体を動かしていたり、情報処理装置１が移動されたりなどのジェスチャとは無関係な動きがジェスチャと誤認識されるのを回避することが可能である。
【０１０３】
さらに、本実施例に係る画像処理装置１０は、第１の方式または第２の方式のうち一方の方式を選択した場合に、第１の方式または第２の方式の終了条件を満たすまで当該方式を継続して選択する。このため、本実施例に係る画像処理装置１０では、例えば、一度選択した方式によってジェスチャ認識の結果が得られるまではジェスチャ認識を継続させることができ、高頻度の方式の切り替えによってジェスチャの認識精度が低下するのを防止できる。
【実施例２】
【０１０４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０５】
［ノイズ除去］
例えば、画像処理装置１０は、肌色画像Ｃのフレーム間で差分が抽出された領域のうち水平成分の大きさが所定の閾値未満である領域を除去することにより、操作者がジェスチャを行うのに伴って生じるノイズを除去することもできる。
【０１０６】
すなわち、上記の実施例１では、情報処理装置１の操作者がジェスチャで認識する部位である手以外は動かさない場合を想定する説明を行ったが、操作者がジェスチャを意図して手を動かした場合であっても他の関連部位にも変位が生じる場合がある。なぜなら、人間が手を上下に動作しても顔は大きく動作しないものの、左右に動作させた場合には手の動きに連動して顔が反対方向に動作するからである。これは、手の動かしたことに対する反力によるもので、体全体が手を動かした方向とは逆の方向に動作する。
【０１０７】
図７は、ジェスチャのノイズの一例を示す図である。図８は、顔が左右に動いた場合における肌色差分画像への影響を示す図である。図９は、ノイズ除去前及びノイズ除去後の肌色差分画像の一部を示す図である。なお、図７の例では、操作者が情報処理装置１の表示部に向かって左側から右側へ横断するように左手を動かすことによってジェスチャを行った場合を想定する。また、図９の例では、肌色差分画像Ｄの値が「１」である画素を網掛けで図示し、肌色差分画像Ｄの値が「０」である画素を白地で図示している。
【０１０８】
図７に示すように、操作者が左側から右側へ横断するように左手を動かした場合には、操作者の左手のみならず、操作者の頭が右側から左側へ動いてしまう。このように、操作者の顔が右側から左側へ動いた場合には、図８に示すように、操作者の顔が水平方向に動いた縦長の変位部分、すなわち図中の網掛け部分が動きのある肌色の領域として肌色差分画像Ｄに算出される。この場合には、操作者がジェスチャを行うために動かした左手だけでなく、操作者の顔もラベリングされてしまう場合もある。
【０１０９】
これらのことから、画像処理装置１０は、ジェスチャに伴って生じるノイズが顔である場合には、鉛直方向に比べて水平方向の幅が少ないという知見をもとに、次のような処理を実行する。すなわち、画像処理装置１０は、肌色画像Ｃのフレーム間で差分が抽出された領域のうち水平成分の大きさが所定の閾値Ｔｈ＿ｎｏｉｓｅ、例えば５画素未満である領域を除去する。図９の上段に示すノイズ除去前の肌色差分画像の一部には、操作者の顔が水平方向に動いた縦長の変位部分に相当する縦長のノイズがあるが、これらの水平方向の幅はいずれも３画素以下である。これら水平方向の幅は、いずれも閾値Ｔｈ＿ｎｏｉｓｅ「５」未満であるので、図９の下段に示すように、縦長のノイズの部分に対応する肌色差分画像Ｄの値が全て「０」に置き換えられる。このようにして、ジェスチャに伴うノイズを除去できる。
【０１１０】
図１０は、応用例に係るノイズ除去処理（１）の手順を示すフローチャートである。このノイズ除去処理（１）は、図４に示したステップＳ１０４の処理が終了してからステップＳ１０６の処理が開始されるまでの間の任意のタイミングで起動できる。
【０１１１】
図１０に示すように、画像処理装置１０は、Ｙ方向パラメータｉを「０」にリセットし（ステップＳ７０１）、画素カウンタＮを「０」にリセットするとともに（ステップＳ７０２）、Ｘ方向パラメータｊを「０」にリセットする（ステップＳ７０３）。
【０１１２】
そして、肌色差分画像Ｄ（ｊ，ｉ，ｔ）が「１」である場合（ステップＳ７０４肯定）には、画像処理装置１０は、画素カウンタＮをインクリメントし（ステップＳ７０５）、ステップＳ７０９の処理へ移行する。
【０１１３】
一方、肌色差分画像Ｄ（ｊ，ｉ，ｔ）が「１」でない場合（ステップＳ７０４否定）には、画像処理装置１０は、画素カウンタＮが閾値Ｔｈ＿ｎｏｉｓｅ以上であるか否かをさらに判定する（ステップＳ７０６）。
【０１１４】
このとき、画素カウンタＮが閾値Ｔｈ＿ｎｏｉｓｅ未満である場合（ステップＳ７０６否定）には、画像処理装置１０は、肌色差分画像Ｄ（ｊ，ｉ，ｔ）のＮ画素前までの値を「１」から「０」へ置き換える（ステップＳ７０７）。そして、画像処理装置１０は、画素カウンタＮを「０」にリセットする（ステップＳ７０８）。
【０１１５】
一方、画素カウンタＮが閾値Ｔｈ＿ｎｏｉｓｅ以上である場合（ステップＳ７０６肯定）には、画像処理装置１０は、ステップＳ７０７及びステップＳ７０８の処理を実行せずに、ステップＳ７０９の処理へ移行する。
【０１１６】
その後、画像処理装置１０は、Ｘ方向パラメータｊをインクリメントし（ステップＳ７０９）、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さいか否かを判定する（ステップＳ７１０）。
【０１１７】
このとき、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さい場合（ステップＳ７１０肯定）には、Ｘ方向の走査が終了していないと判断できる。よって、画像処理装置１０は、肌色差分画像Ｄ（ｊ＋１，ｉ，ｔ）に対し、上記のステップＳ７０４〜Ｓ７０９までの処理を繰り返し実行する。
【０１１８】
一方、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘと等しい場合（ステップＳ７１０否定）には、画像処理装置１０は、Ｘ方向の走査が終了したと判断できるので、Ｙ方向パラメータｉをインクリメントする（ステップＳ７１１）。
【０１１９】
そして、画像処理装置１０は、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さいか否かを判定する（ステップＳ７１２）。このとき、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さい場合（ステップＳ７１２肯定）には、Ｙ方向の走査が終了していないと判断できる。
【０１２０】
よって、画像処理装置１０は、Ｘ方向パラメータｊを「０」にリセットした上で（ステップＳ７０３）、肌色差分画像Ｄ（０，ｉ＋１，ｔ）に対し、上記のステップＳ７０４〜Ｓ７１１までの処理を繰り返し実行する。
【０１２１】
一方、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙと等しい場合（ステップＳ７１２否定）には、Ｙ方向の走査が終了したと判断できるので、そのまま処理を終了する。
【０１２２】
このように、画像処理装置１０は、肌色画像Ｃのフレーム間で差分が抽出された領域のうち水平成分の大きさが所定の閾値未満である領域を除去することにより、ジェスチャに伴って生じるノイズを除去できる。
【０１２３】
また、画像処理装置１０は、ラベリング処理を行い、各ラベルにおけるランレングスを計数し、Ｔｈ＿ｎｏｉｓｅ以下のランレングスが閾値Ｔｈ＿ｒａｔｅ以下の割合の場合、当該ラベルを構成する領域の肌色差分画像Ｄの各画素を「０」にすることもできる。
【０１２４】
図１１及び図１２は、応用例に係るノイズ除去処理（２）の手順を示すフローチャートである。このノイズ除去処理（２）は、図４に示したステップＳ１０６の処理が実行された場合に処理が起動される。
【０１２５】
図１１に示すように、画像処理装置１０は、Ｙ方向パラメータｉを「０」にリセットし（ステップＳ９０１）、画素カウンタＮを「０」にリセットするとともに（ステップＳ９０２）、Ｘ方向パラメータｊを「０」にリセットする（ステップＳ９０３）。
【０１２６】
そして、肌色差分画像Ｄ（ｊ，ｉ，ｔ）が「１」である場合（ステップＳ９０４肯定）には、画像処理装置１０は、画素カウンタＮをインクリメントし（ステップＳ９０５）、ステップＳ９０８の処理へ移行する。
【０１２７】
一方、肌色差分画像Ｄ（ｊ，ｉ，ｔ）が「１」でない場合（ステップＳ９０４否定）には、画像処理装置１０は、ヒストグラムＨ［Ｄ’（ｊ，ｉ）］［Ｎ］のランレングスをインクリメントする（ステップＳ９０６）。そして、画像処理装置１０は、画素カウンタＮを「０」にリセットする（ステップＳ９０７）。
【０１２８】
ここで、ヒストグラムＨ［Ａ］［Ｂ］の表記のうち［Ａ］は、ラベル番号を指し、また、［Ｂ］は、水平方向の幅、すなわちランレングスを指す。また、Ｄ’（ｊ，ｉ）は、肌色差分画像Ｄ（ｘ，ｙ，ｔ）内でラベリングされた領域画像を指すものとする。
【０１２９】
その後、画像処理装置１０は、Ｘ方向パラメータｊをインクリメントし（ステップＳ９０８）、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さいか否かを判定する（ステップＳ９０９）。
【０１３０】
このとき、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘよりも小さい場合（ステップＳ９０９肯定）には、Ｘ方向の走査が終了していないと判断できる。よって、画像処理装置１０は、肌色差分画像Ｄ（ｊ＋１，ｉ，ｔ）に対し、上記のステップＳ９０４〜Ｓ９０８までの処理を繰り返し実行する。
【０１３１】
一方、インクリメント後のＸ方向パラメータｊがＸ方向の画像サイズｄｘと等しい場合（ステップＳ９０９否定）には、画像処理装置１０は、Ｘ方向の走査が終了したと判断できるので、Ｙ方向パラメータｉをインクリメントする（ステップＳ９１０）。
【０１３２】
そして、画像処理装置１０は、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さいか否かを判定する（ステップＳ９１１）。このとき、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙよりも小さい場合（ステップＳ９１１肯定）には、Ｙ方向の走査が終了していないと判断できる。
【０１３３】
よって、画像処理装置１０は、画素カウンタＮを「０」にリセットし、Ｘ方向パラメータｊを「０」にリセットした上で（ステップＳ９０２及びステップＳ９０３）、次のような処理を実行する。すなわち、画像処理装置１０は、肌色差分画像Ｄ（０，ｉ＋１，ｔ）に対し、上記のステップＳ９０４〜Ｓ９１０までの処理を繰り返し実行する。
【０１３４】
一方、インクリメント後のＹ方向パラメータｉがＹ方向の画像サイズｄｙと等しい場合（ステップＳ９１１否定）には、Ｙ方向の走査が終了したと判断できる。この場合には、画像処理装置１０は、ラベルパラメータｋを「０」にリセットする（ステップＳ９１２）。
【０１３５】
図１２に遷り、画像処理装置１０は、ヒストグラムＨ［ｋ］［１］からヒストグラムＨ［ｋ］［Ｔｈ＿ｎｏｉｓｅ］までのランレングスの累積値Ｖを算出する（ステップＳ９１３）。さらに、画像処理装置１０は、ヒストグラムＨ［ｋ］［１］からヒストグラムＨ［ｋ］［ｄｘ］までのランレングスの累積値Ｕを算出する（ステップＳ９１４）。なお、上記の「ｄｘ」は、Ｘ方向の画像サイズを指す。
【０１３６】
その上で、画像処理装置１０は、ランレングスの累積値Ｖをランレングスの累積値Ｕで除算した除算値Ｖ／Ｕが閾値Ｔｈ＿ｒａｔｅよりも大きいか否かを判定する（ステップＳ９１５）。この判定によって、ラベリングされた領域画像Ｄ’（ｘ，ｙ）の水平方向の幅の分布が閾値Ｔｈ＿ｎｏｉｓｅ以下に偏っているか否かを判定する。
【０１３７】
このとき、除算値Ｖ／Ｕが閾値Ｔｈ＿ｒａｔｅよりも大きい場合（ステップＳ９１５肯定）には、画像処理装置１０は、次のような処理を実行する。すなわち、画像処理装置１０は、肌色差分画像Ｄ（ｘ，ｙ，ｔ）のうちラベル番号ｋが付与された領域画像Ｄ’（ｘ，ｙ，ｔ）に対応する画素の値を「１」から「０」に置き換える（ステップＳ９１６）。
【０１３８】
その後、画像処理装置１０は、ラベルパラメータｋをインクリメントする（ステップＳ９１７）。なお、除算値Ｖ／Ｕが閾値Ｔｈ＿ｒａｔｅ以下であった場合（ステップＳ９１５否定）には、ステップＳ９１６の処理が実行されずに、ラベルパラメータｋがインクリメントされる（ステップＳ９１７）。
【０１３９】
その後、画像処理装置１０は、ラベルパラメータｋがラベル数Ｓと等しくなるまで（ステップＳ９１８否定）、上記のステップＳ９１３〜ステップＳ９１７までの処理を繰り返し実行する。そして、ラベルパラメータｋがラベル数Ｓと等しくなると（ステップＳ９１８肯定）、処理を終了する。
【０１４０】
このように、Ｔｈ＿ｎｏｉｓｅ以下のランレングスが閾値Ｔｈ＿ｒａｔｅ以下の割合の場合、当該ラベルを構成する領域の肌色差分画像Ｄの各画素を「０」に置き換えることによって、ジェスチャに伴うノイズを同様に除去できる。
【０１４１】
［補間処理］
また、画像処理装置１０は、肌色差分画像Ｄに対する膨張処理および収縮処理を実行することによって差分が十分に抽出されなかった領域の欠落部分を補完することができる。
【０１４２】
すなわち、肌色差分画像Ｄを生成してラベリングを実行するにあたって、実際には、肌色と同等の色の背景が原画像に映り込んでいることが原因となって、肌と背景の差分が完全に抽出できない場合がある。例えば、操作者が柄のある衣服を着用し、その色の一部が肌色に近い場合には、その柄の部分で差分が得られないケースがある。
【０１４３】
そこで、画像処理装置１０は、ｎ画素の膨張処理とｎ画素の収縮処理を実行することで欠落部分を補間する。図１３は、膨張処理および収縮処理を説明するための図である。図１３に示すように、画像処理装置１０は、注目点画素（ｘ，ｙ）の肌色差分画像Ｄ（ｘ，ｙ，ｔ）の値が「１」である場合に、周囲ｎ画素にある画素を全て「１」とする膨張処理を膨張画像Ｅに対して実行する。これによって、図１３の上段では内部で差分が抽出されていなかった部分を含めて値が「１」をとる領域が膨張した膨張画像Ｅが得られる。その後、画像処理装置１０は、膨張画像Ｅの注目点座標（ｘ，ｙ）の画素が「０」である場合に、周囲ｎ画素にある全ての画素を「０」にする収縮処理を収縮画像Ｌに対して実行する。これによって、図１３の中段では、値が「１」をとる領域が膨張していた領域が収縮して図１３の上段に示した外郭部分と同等の大きさまで収縮した収縮画像を得ることができる。なお、上述の方法の代わりにモルフォロジー処理を適用することもできる。
【０１４４】
このように、肌色差分画像Ｄに対する膨張処理および収縮処理を実行することによって、肌色と同等の色の背景が原画像に映り込んだ場合などのように肌と背景の差分が完全に抽出できなかった場合でも欠落部分を補完することが可能になる。
【０１４５】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、画像取得部１１、肌色抽出部１２、肌色差分抽出部１４、輝度差分抽出部１６または方式選択部１７を画像処理装置の外部装置としてネットワーク経由で接続するようにしてもよい。また、画像取得部１１、肌色抽出部１２、肌色差分抽出部１４、輝度差分抽出部１６または方式選択部１７を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の画像処理装置の機能を実現するようにしてもよい。
【０１４６】
［画像処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１４を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
【０１４７】
図１４は、実施例１及び実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図１４に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１４８】
ＨＤＤ１７０には、図１４に示すように、上記の実施例１で示した画像取得部１１と、肌色抽出部１２と、肌色差分抽出部１４と、輝度差分抽出部１６と、方式選択部１７と同様の機能を発揮する画像処理プログラム１７０ａが予め記憶される。この画像処理プログラム１７０ａについては、図１に示した各々の画像取得部１１、肌色抽出部１２、肌色差分抽出部１４、輝度差分抽出部１６及び方式選択部１７の各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【０１４９】
そして、ＣＰＵ１５０が、画像処理プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１４に示すように、画像処理プログラム１７０ａは、画像処理プロセス１８０ａとして機能する。この画像処理プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、画像処理プロセス１８０ａは、図１に示した画像取得部１１、肌色抽出部１２、肌色差分抽出部１４、輝度差分抽出部１６及び方式選択部１７にて実行される処理、例えば図４〜図６及び図１０〜図１２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【０１５０】
なお、上記の画像処理プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１５１】
１    情報処理装置
３    カメラ
５ａ  第１の認識部
５ｂ  第２の認識部
１０    画像処理装置
１１    画像取得部
１２    肌色抽出部
１３    肌色画像記憶部
１４    肌色差分抽出部
１５    輝度画像記憶部
１６    輝度差分抽出部
１７    方式選択部
【図１】
0005747695.tif 000005
【図２】
0005747695.tif 000006
【図３】
0005747695.tif 000007
【図４】
0005747695.tif 000008
【図５】
0005747695.tif 000009
【図６】
0005747695.tif 000010
【図７】
0005747695.tif 000011
【図８】
0005747695.tif 000012
【図９】
0005747695.tif 000013
【図１０】
0005747695.tif 000014
【図１１】
0005747695.tif 000015
【図１２】
0005747695.tif 000016
【図１３】
0005747695.tif 000017
【図１４】
0005747695.tif 000018