(57)【要約】【課題】  文字や四隅の明るさ以外の画像中の情報に着目して天地方向を判定する技術を提供する。【解決手段】  人は多くの場合、地面や床などの上に居るが、そのようなところでは水平方向上の異なる位置に場所を確保するのが普通である。このことから、複数の人物が写っている画像では、複数の人物は横に並んだような形となって、顔の像（肌領域）は垂直（天地）方向よりも水平方向に広がって存在する傾向となる。このことから、画像中の肌領域を抽出し、直交する２つの方向でそれぞれ肌領域の分散値を計算して、その計算結果から天地方向を判定する。【選択図】      図３
2006350642.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影して得られた画像における天地方向を判定する画像処理装置において、
前記画像を取得する画像取得手段と、
前記画像取得手段が取得した画像中に被写体として撮影されている人物像の肌領域を認識する肌領域認識手段と、
前記肌領域認識手段による肌領域の認識結果を基に、前記天地方向を判定する方向判定手段と、
を具備することを特徴とする画像処理装置。
【請求項２】
前記方向判定手段は、前記画像の縁と平行な方向毎に、前記肌領域認識手段が認識した肌領域を対象に分散値を計算し、該計算結果から該縁と平行な方向のうちの一つを前記天地方向と判定する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記方向判定手段は、前記肌領域認識手段が認識した肌領域の大きさを考慮した分散値の計算を行う、
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
被写体を撮影して得られた画像における天地方向を判定する画像処理装置に実行させるプログラムであって、
前記画像を取得する機能と、
前記取得する機能により取得した画像中に被写体として撮影されている人物像の肌領域を認識する機能と、
前記認識する機能による肌領域の認識結果を基に、前記天地方向を判定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮影して得られた画像における天地方向を判別するための技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮影装置では普通、撮影によって得られる画像の形状（以降「フレーム形状」と記す）は予め定められている。それにより、ユーザは撮影する被写体によって撮影装置の構え方を選択するのが普通である。その構え方として、フレーム形状の短辺が天地方向と平行、或いは略平行とするものは「横構え」、その短辺が水平方向と平行、或いは略平行とするものは「縦構え」とそれぞれ呼ぶことにする。ユーザは横構え、縦構えの何れかを選択するのが普通である。
【０００３】
撮影装置は通常、画像をそのままの状態で保存するのが普通である。それにより、保存した画像をパーソナルコンピュータ（以下「ＰＣ」）等で単に表示させると、縦構えで撮影された画像は水平方向を縦方向にした状態で表示される。つまり、被写体像は撮影者（ユーザ）が実際に見ていた状態から回転させた状態で表示される。
【０００４】
被写体像を回転させた状態で表示させると、見難いのが普通である。このことから、その状態を元の状態に回転させることが望ましい。しかし、その回転をユーザに指示させることは、その指示に手間がかかるだけでなく、適切な状態の画像を表示させるのに時間がかかることを意味するから望ましくないと言える。このようなことから、従来、画像の天地方向を判定する画像処理が行われている。その天地方向を判定する画像処理を行う従来の画像処理装置としては、特許文献１〜３に記載されたものが挙げられる。
【０００５】
特許文献１に記載された従来の画像処理装置では、画像に写っている文字を認識することにより、天地方向を判定するようにしている。特許文献２、３にそれぞれ記載された従来の画像処理装置では、一般的な環境で撮影された画像はその上辺部分が明るいことに着目し、画像の四隅の明るさを比較することにより上辺（天地方向）を判定するようにしている。その判定を行えるようにする撮影装置としては、天地検出用のセンサ（重力センサ）を搭載したものや、縦構え用、横構え用のシャッターボタンをそれぞれ用意したものがある（特許文献４）。
【０００６】
文字認識技術を利用した方法では、画像中に文字が写っていなければ天地方向の判定を行うことができない。風景写真や人物写真などでは、文字が写っていないことは普通である。また、画像（写真）の四隅の明るさに着目する方法では、その四隅に位置する被写体の明るさが天地方向の判定結果に大きく影響するから、天地方向を正確に判定するうえでの制約（条件）がある。その制約によって、必ずしも天地方向を正確に判定することはできない。このようなことから、天地方向を正確に判定するためには、文字や四隅の明るさ以外のことに着目する必要があると考えられる。
【０００７】
特許文献４に記載された撮影装置では、センサの検出結果、或いは撮影に使われたシャッターボタンを示す情報を画像に付加することにより、天地方向を常に正確に判定させることができる。しかし、そのためには、その撮影装置が画像と併せて保存する特殊な情報に対応させる必要がある。これは、保存した画像を別の装置により表示させる場合には、その装置に、その特殊な情報に対応させるための仕組みを用意しなければならないことを意味する。このことから、天地方向は画像中の情報から判定するのが望ましいと考えられる。
【特許文献１】特開平８−３３６０３８号公報
【特許文献２】特開２０００−２４１８４６号公報
【特許文献３】特開２０００−１８４２７１号公報
【特許文献４】特開２００４−３４３２８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、文字や四隅の明るさ以外の画像中の情報に着目して天地方向を判定する技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、被写体を撮影して得られた画像における天地方向を判定する画像処理を行うことを前提とし、画像を取得する画像取得手段と、画像取得手段が取得した画像中に被写体として撮影されている人物像の肌領域を認識する肌領域認識手段と、肌領域認識手段による肌領域の認識結果を基に、天地方向を判定する方向判定手段と、を具備する。
【００１０】
なお、上記方向判定手段は、画像の縁と平行な方向毎に、肌領域認識手段が認識した肌領域を対象に分散値を計算し、該計算結果から該縁と平行な方向のうちの一つを天地方向と判定する、ことが望ましい。また、肌領域認識手段が認識した肌領域の大きさを考慮した分散値の計算を行う、ことが望ましい。
【００１１】
本発明のプログラムは、上記画像処理装置が具備する手段を実現させるための機能を搭載している。
【発明の効果】
【００１２】
本発明は、画像中に被写体として撮影されている人物像の肌領域を認識し、その認識結果を基に、その画像における天地方向を判定する。人は普通、顔が少なくとも露出している。人は多くの場合、地面や床などの多くの人が一度に居られるところに居るが、そのようなところでは水平方向上の異なる位置に場所を確保するのが普通である。このようなことから、複数の人物を撮影した画像では、画像中の人物像を構成する肌領域の分布に、天地方向に依存する傾向が現れることが多い。そのため、画像中に存在する肌領域に着目して、その画像における天地方向を高精度に判定することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態による画像処理装置の構成を示す図である。
この画像処理装置は、ＰＣに、本実施の形態による画像処理用プログラムをロードすることにより実現されるものである。図１に示すように、装置全体の制御を行うＣＰＵ１０１と、例えばＣＰＵ１０１がワークに用いるＲＡＭやＢＩＯＳが格納されたＲＯＭを含むメモリ１０２と、例えばハードディスク装置である補助記憶装置１０３と、不図示の通信ネットワークを介した通信を行うための通信インターフェース（Ｉ／Ｆ）１０４と、キーボードやマウス等のポインティングデバイスといった各種入力装置と接続用の入力インターフェース（Ｉ／Ｆ）１０５と、表示装置と接続用の出力インターフェース（Ｉ／Ｆ）１０６と、可搬性の記録媒体ＭＤにアクセスできる媒体駆動装置１０７と、各部１０１〜１０７を相互に接続するバス１０８と、を備えた構成となっている。
【００１４】
上記画像処理用プログラムは、例えば補助記憶装置１０３、媒体駆動装置１０７に装着された記録媒体ＭＤ、或いは通信Ｉ／Ｆ１０４を介して通信可能な外部装置に格納されている。そのプログラムがメモリ１０２上に読み出されて起動されることにより、本実施の形態による画像処理装置は実現される。デジタルカメラ等の撮影装置による撮影で得られた画像は、記録媒体ＭＤが装着された媒体駆動装置１０７、或いは通信Ｉ／Ｆ１０４によって取得される。
【００１５】
図３は、画像中に複数の人物像が存在する場合の顔領域の分布を説明する図である。図４は、複数の人を被写体として撮影された画像における顔領域の分布例を説明する図である。その図４では、図４（ａ）〜図４（ｃ）に例１〜３の３例を示している。図３、及び図４において、顔領域は丸、その顔領域が存在する範囲は破線でそれぞれ示している。ここで図３、及び図４を参照して、天地方向の判定方法について具体的に説明する。
【００１６】
人は普通、己の居る場所を確保してその場所に居る。人は多くの場合、地面や床など（以降、便宜的に「地表面」と総称する）の上に居るが、そのような地表面では水平方向上の異なる位置に場所を確保するのが普通である。このことから、図３、及び図４に示すように、複数の人物が写っている画像（写真）では、複数の人物は横に並んだような形となって、顔領域は垂直（天地）方向よりも水平方向に広がって存在する傾向となる。これは、人の数が多くなる程その傾向が強くなる（図４）。天地方向の判定は、このことに着目して行う。
【００１７】
具体的には、画像中で肌色となっている肌色領域を抽出し、その分散を直交する２つの方向で調べ、一方の分散の値が比較的に高く、他方のその値が比較的に低い場合に、その値の低い方向を天地方向と判定する（図３）。撮影装置は縦構え、或いは横構えで撮影を行うのが普通であることから、直交する２つの方向としては、短辺と平行な方向（以降「短辺方向」と呼ぶ）と、長辺と平行な方向（以降「長辺方向」と呼ぶ）と、を採用している（図３）。
【００１８】
人は見上げたり、下を向いたりすることが多いことから、顔の形を認識して、その方向を考慮した判定を行った場合、判定結果の精度の低下を招く可能性は小さくないと考えられる。このことから、本実施の形態では、肌色領域を抽出することにより、その大きさ、及び位置に着目した判定を行うようにしている。顔の形や方向を考慮しないことにより、人による顔の向きの違いに係わらず、天地方向を高精度に判定することができる。また、その判定をより少ない計算量で行えるようになる。
【００１９】
図２は、本実施の形態による画像処理装置の機能構成を示す図である。その画像処理装置は、図２に示すように、画像入力部２０１、顔認識部２０２、顔位置の分散計算部２０３、及び縦横判別部２０４を備えた構成となっている。
【００２０】
上記画像入力部２０１は、撮影装置等で撮影された画像等を入力するものである。入力する画像は、画素毎に画素値を示すデータである。図１に示す構成では、例えばＣＰＵ１０１、メモリ１０２、補助記憶装置１０３、通信Ｉ／Ｆ１０４、及び媒体駆動装置１０７によって実現される。
【００２１】
顔認識部２０２は、例えば画像入力部２０１が入力した画像中から肌色領域を抽出し、抽出した肌色領域毎に、その位置（ここでは重心位置）、及び大きさを示す情報をそれぞれ生成する。顔位置の分散計算部（以降「分散計算部」と略記）２０３は、顔認識部２０２から肌色領域毎にそれらの情報を受け取り、短辺方向、長辺方向毎に肌色領域の分散値を計算する。その計算は、画面（画像）全体にわたっての肌色領域の重心位置（平均位置）をＧ、分散値をσ2とすると、これらは個々の肌色領域ｉの大きさ（画素数）ｆi、その重心位置｛ｘi，ｙi｝を用いて以下のように表される。
【００２２】
Ｇ＝｛Ｇx，Ｇy｝＝｛Σｆi＊ｘi，Σｆi＊ｙi｝／Σｆi      ・・・  （１）
σ2＝｛σ2x，σ2y｝＝｛Σｆi＊（ｘi−Ｇx）2，Σｆi＊（ｙi−Ｇy）2｝／Σｆi
・・・  （２）
ここでＧx及びσ2xはそれぞれ長辺方向上の重心位置、及び分散値を表し、同様にＧy及びσ2yはそれぞれ短辺方向上の重心位置、及び分散値を表している。
【００２３】
肌色領域の抽出では、顔が写っている顔領域の他に、手や足などの他の部分が写っている領域を抽出することが考えられる。身体の部分では、顔が写っている（露出している）可能性が最も高く、その次に可能性が高いのは手である。顔と手を比較した場合、顔領域のほうの面積が大きいのが普通である。そこで、本実施の形態では、肌色領域の分散値は、肌色領域の大きさを重み付けして計算するようにしている。それにより、計算される分散値に及ぼす手領域などの面積の小さい肌色領域による影響をより小さくさせ、より顔領域を重視する形で分散値を計算するようにしている。
【００２４】
縦横判別部２０４は、分散計算部２０３が方向別に計算した分散値σ2x、σ2yを受け取り、天地方向の判別を行う。その判別は、例えばσ2y／σ2xの値が所定値ＴＨ（＞１）より大きければ短辺方向が天地（縦）方向、σ2x／σ2yの値が所定値ＴＨより大きければ長辺方向が天地（縦）方向、それら何れの関係も満たされない場合には判別不能、とすることで行っている。
【００２５】
画像入力部２０１が入力した画像は、縦横判別部２０４による判別結果に応じた回転操作が自動的に行われて表示される。それにより、ユーザが画像の回転操作を指示することなく、画像は適切な状態で表示させることができる。このため、ユーザにとっては適切な状態の画像をより迅速に見ることができる。
【００２６】
上記顔認識部２０２、分散計算部２０３、及び縦横判別部２０４は共に、図１に示す構成では、例えばＣＰＵ１０１、メモリ１０２、及び補助記憶装置１０３によって実現される。画像の回転操作は、メモリ１０２を用いてＣＰＵ１０１により行われ、その回転操作後の画像は出力Ｉ／Ｆ１０６を介して表示装置に出力させることで表示される。
【００２７】
図２に示す各部２０１〜４は、ＣＰＵ１０１が図５に示す天地方向判定処理を実行した場合に実現される。次に図５を参照して、その判定処理について詳細に説明する。その判定処理自体は、ＣＰＵ１０１が例えば上記画像処理用プログラムを補助記憶装置１０３からメモリ１０２に読み出して実行することで実現される。
【００２８】
先ず、ステップ５０１では、ユーザが指定した場所から、通信Ｉ／Ｆ１０４、或いは媒体駆動装置１０７を介して画像を入力する。次のステップ５０２では、入力した画像中の１画素に注目して、その画素値が肌色と見なせる範囲内か否か判定する。その画素値が肌色と見なせる範囲内であった場合、判定はＹＥＳとなり、ステップ５０３でその画素の別の値として１を設定した後、ステップ５０５に移行する。そうでない場合には、判定はＮＯとなり、ステップ５０４でその画素の別の値として０を設定した後、そのステップ５０５に移行する。
【００２９】
ステップ５０５では、全ての画素について調べたか否か判定する。画素値が肌色と見なせる範囲内か否か調べていない画素が残っている場合、判定はＮＯとなって上記ステップ５０２に戻り、注目する画素を残っている画素のうちの１つに変更して、その画素値が肌色と見なせる範囲内か否か判定する。そうでない場合には、判定はＹＥＳとなってステップ５０６に移行する。
【００３０】
上記ステップ５０２〜５０５で形成される処理ループをステップ５０５の判定がＹＥＳとなるまで繰り返し実行することにより、ステップ５０１で入力した画像から、肌色と見なせる範囲内か否かにより２値化した画像が生成される。その２値化画像において、肌色と見なせる画素の値は１、そうでない画素の値は０である。ステップ５０６以降では、生成した２値化画像を対象にした処理が行われる。
【００３１】
その２値化画像では、画素値が１の画素がどのように肌色領域を構成しているか判明していない。このことから、先ず、ステップ５０６では、肌色領域を個別に抽出するためのグループ化とラベル付け（ラベリング）処理を行う。その処理の実行により、同一の肌色領域を構成していると見なす画素には同一のラベルが割り当てられ、同一のグループにまとめられる。
【００３２】
ステップ５０６に続くステップ５０７では、グループ（抽出した肌色領域）毎に、その大きさ（画素数）ｆi、及び重心位置｛ｘi，ｙi｝を計算し、その計算後に、肌色領域の平均位置Ｇを式（１）により計算する。その次に移行するステップ５０８では、長辺方向、短辺方向別に、式（２）により分散値σ2x、σ2yを計算する。ステップ５０９にはその後に移行する。
【００３３】
ステップ５０９では、σ2y／σ2xの値が所定値ＴＨより大きいか否か判定する。その値が所定値ＴＨより大きい場合、判定はＹＥＳとなってステップ５１０に移行し、短辺方向（図中「垂直方向」と表記）を天地方向と設定した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップ５１１に移行する。
【００３４】
ステップ５１１では、σ2x／σ2yの値が所定値ＴＨより大きいか否か判定する。その値が所定値ＴＨより大きい場合、判定はＹＥＳとなってステップ５１２に移行し、長辺方向（図中「水平方向」と表記）を天地方向と設定した後、一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップ５１３に移行し、天地方向は不明と設定した後、一連の処理を終了する。
【００３５】
上述の天地判明処理は、画像毎に実行される。それにより、複数の画像を一度に表示させる場合には、画像毎に天地方向が判定され、その判定結果が画像の表示に反映される。なお、図２に示す画像入力部２０１は上記ステップ５０１を実行することで実現され、同様に、顔認識部２０２は上記ステップ５０２〜５０６、分散計算部２０３は上記ステップ５０７、５０８、縦横判別部２０４は上記ステップ５０９〜５１３をそれぞれ実行することで実現される。
【００３６】
図６は、上記ステップ５０６として実行されるグループ化とラベル付け処理のフローチャートである。次に図６を参照して、そのラベル付け処理について詳細に説明する。このラベル付け処理では、画像の左上隅の画素からスタートして、ラスタスキャン順に全ての画素を対象に、連結（隣接）している画素値が１の画素に同一のラベル（番号）を割り当てることが行われる。
【００３７】
先ず、ステップ６０１では、初期化を行う。その初期化により、割り当てるラベルを管理するための変数Ｎに１を代入し、全ての画素のラベルをリセット、つまりラベルとして０をセットする。次のステップ６０２では、注目する画素Ａの画素値が０か否か判定する。その画素値が０であった場合、判定はＹＥＳとなってステップ６０８に移行し、そうでない場合には、判定はＮＯとなってステップ６０３に移行する。
【００３８】
ここで画素へのラベリング方法について図７を参照して具体的に説明する。その図７において、各枠はそれぞれ画素を表している。注目する画素はＡで示し、その８近傍の画素のうち、左、左上、上、及び右上の４つの画素はそれぞれＢ〜Ｅで示している。当然のことながら、それら４つの画素のうちの何れかは注目画素Ａの位置によって存在しない場合がある。
【００３９】
注目画素Ａ近傍の４つの画素Ｂ〜Ｅへのラベリングでは、何れの画素にもラベルが割り当てられていない（ケース１）、１つ以上の画素に同一のラベルが割り当てられている（ケース２）、複数の画素に異なるラベルが割り当てられている（ケース３）、の３ケースが考えられる。注目画素Ａへのラベリングは、ケース１ではそれまで割り当てていないラベルを割り当て、ケース２では近傍の画素と同一のラベルを割り当て、ケース３では近傍の画素のなかで最小のラベルを割り当てることで行う。ステップ６０３〜６０７では、そのようなラベリングを行うための処理が実行される。
【００４０】
先ず、ステップ６０３では、近傍画素Ｂ〜Ｅの何れかにラベルが割り当てられているか否か判定する。その何れの画素にもラベルが割り当てられていない場合、判定はＮＯとなり、次にステップ６０４で注目画素Ａに変数Ｎの値をラベルとして割り当て、更に変数Ｎの値をインクリメントしてからステップ６０８に移行する。そうでない場合には、判定はＹＥＳとなってステップ６０５に移行する。
【００４１】
ステップ６０５では、近傍画素Ｂ〜Ｅに割り当てられていたラベルが全て同一か否か判定する。そのラベルとして複数の異なるラベルが存在していた場合、判定はＮＯとなってステップ６０６に移行し、複数のラベルのなかで最小のラベルを注目画素Ａに割り当て、近傍画素Ｂ〜Ｅのなかで最小のラベルが割り当てられていない画素には最小のラベルを新たに割り当てる。その後はステップ６０８に移行する。一方、そうでない場合には、つまりラベルが全て同一であった場合には、判定はＹＥＳとなり、ステップ６０７で注目画素Ａにそのラベルを割り当てた後、そのステップ６０８に移行する。
【００４２】
ステップ６０８では、注目画素Ａが画像の最後（右下隅）の画素か否か判定する。その注目画素Ａが最後の画素であった場合、判定はＹＥＳとなり、ここで一連の処理を終了する。そうでない場合には、判定はＮＯとなり、次のステップ６０９で注目画素Ａをラスタスキャン順に沿って次の画素に変更した後、上記ステップ６０２に戻る。それにより、画素値が１の画素の全てを対象にラベリングを行う。
【００４３】
グループ化とラベル付け処理では、上述したような処理が実行される。それにより、同じ肌色領域を構成する画素には同一のラベルが割り当てられてグループ化される。それにより、肌色領域の大きさは、異なるラベル毎に、画素数をカウントすることで計算される。その重心位置Ｘは、画素毎の座標位置を用いて計算される。
【００４４】
なお、本実施の形態では、肌色領域の分布状態を評価するために分散値σ2を計算しているが、それとは別の指標を採用しても良い。具体的には、肌色領域が存在する範囲（幅）、その形状等を採用しても良い。また、身体の特定の部分（例えば顔）が写っている肌色領域のみを抽出し、天地方向の判定を行うようにしても良い。特定の肌色領域のみを抽出する場合には、その大きさによる重み付けは行わなくとも良い。天地方向を判定する画像としては、撮影（ここではスキャナ等によって電子化することを含む）によって得られた画像でなくとも良い。例えばコンピュータ・グラフィックスによって生成された画像であっても良い。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態による画像処理装置の構成を示す図である。
【図２】本実施の形態による画像処理装置の機能構成を示す図である。
【図３】画像中に複数の人物像が存在する場合の顔領域の分布を説明する図である。
【図４】複数の人を被写体として撮影された画像における顔領域の分布例を説明する図である。
【図５】天地方向判定処理のフローチャートである。
【図６】グループ化とラベル付け処理のフローチャートである。
【図７】画素へのラベリング方法を説明する図である。
【符号の説明】
【００４６】
１０１    ＣＰＵ
１０２    メモリ
１０３    補助記憶装置
１０４    通信インターフェース
１０５    入力インターフェース
１０６    出力インターフェース
１０７    媒体駆動装置
１０８    バス
【図１】
2006350642.tif 000003
【図２】
2006350642.tif 000004
【図３】
2006350642.tif 000005
【図４】
2006350642.tif 000006
【図５】
2006350642.tif 000007
【図６】
2006350642.tif 000008
【図７】
2006350642.tif 000009