(57)【要約】【課題】画像を正しい方向で表示させるための支援を行う。【解決手段】画像処理装置１０において指示入力受付部１２は、処理対象の画像データの指定などをユーザより受け付ける。顔検出処理部１６は、所定の角度ずつ画像を回転させて顔検出処理を施し、顔が検出されたときの回転角を取得する。角度補正部１８は、顔と肩角度をパターンマッチングによって取得し、画像の回転角を補正する。人物画像方向特定部２０は、回転角に基づき人物画像の正しい方向を特定する。画像特性解析部２２は、非人物画像の周波数および輝度の分布を解析する。非人物画像方向特定部２４は、周波数や輝度の所定方向の軸に対する分布特性に基づき人物画像の正しい方向を特定する。画像データ更新部２６は、画像のデータに正しい方向の情報を反映させる。【選択図】図１
2011119997.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、処理対象の画像における対象物を検出する対象物検出処理部と、
前記対象物検出処理部において対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定する対象物画像方向特定部と、
特定した方向に前記画像が表示されるように前記画像のデータを更新する画像データ更新部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記対象物検出処理部は対象物として顔を検出する処理を行い、
前記対象物検出処理部において顔が検出されたときの前記画像の顔領域に対し、頭部と肩の輪郭形状を表し、頭部と肩の傾きを段階的に変化させた複数の比較画像をマッチングさせることにより、前記画像の顔の縦方向の軸と肩の水平軸との角度を求め、前記顔が検出されたときの相対角度を補正する角度補正部をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記対象物検出処理部は、前記画像内に写っている複数の対象物のそれぞれに対し、当該対象物が検出されたときの相対角度を記録し、
前記画像方向特定部は、複数の対象物に対して記録された、前記相対角度の平均値に基づき、前記画像の正しい方向を特定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記対象物検出処理部において全ての相対角度で対象物が検出されなかった場合に、前記画像の周波数分布および輝度分布を取得し、当該画像の縦軸および横軸に対するそれぞれの分布特性を直線で近似したときの傾きを取得する画像特性解析部と、
前記画像特性解析部が取得した、周波数分布特性および輝度分布特性の傾きを重み付け加算した軸ごとの評価値と前記傾きの方向とによって前記画像の天地を判断し、当該画像の正しい方向を特定する非対象物画像方向特定部と、
をさらに備えることを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記非対象物画像方向特定部は、前記画像の輝度と、前記画像の撮影とともに記録された当該画像の撮影時刻とから、当該画像が夜景を写したものであることを判断した場合、前記評価値における前記輝度の傾きの符号を、その他の場合から反転させることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
指定された画像のデータを記憶装置より読み出し、当該画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、前記画像における対象物を検出するステップと、
対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定するステップと、
特定した方向に前記画像が表示されるように前記画像のデータを更新するステップと、
を含むことを特徴とする画像処理方法。
【請求項７】
指定された画像のデータを記憶装置より読み出し、当該画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、前記画像における対象物を検出する機能と、
対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定する機能と、
特定した方向に前記画像が表示されるように前記画像のデータを更新する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項８】
指定された画像のデータを記憶装置より読み出し、当該画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、前記画像における対象物を検出する機能と、
対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定する機能と、
特定した方向に画像が表示されるように前記画像のデータを更新する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した、コンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理技術に関し、特に写真などの画像を処理する画像処理装置およびそこで実行される画像処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラなど撮影機器の普及、画像処理技術の進歩などにより、編集対象や印刷対象を選択したり、スライドショーなどの形式で鑑賞したりするために、撮影した写真などの画像をディスプレイに表示させる機会が増えている。また複数の画像のサムネイルを印刷する場合もある。画像データは通常、その構図が縦向き、横向きに関わらず、受像素子の位置に基づき各画素値が記録されるため、表示する際の画像も基本的に、構図によらず同じ向きに表示される。
【０００３】
そのためユーザは、表示された後に個別に画像を回転させて正しい向きとしたり、編集画面で正しい向きに編集したうえスライドショーなどのコンテンツとする必要がある。この作業を支援する一つの方法として、人物像の肌領域を検出しその並びの向きに応じて写真の天地方向を判定する技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３５０６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら上記の技術は画像の色の特徴を利用していることから、光源環境や服の色、手足の位置に対する頑健性が弱い。また顔の並びから天地方向を判断するため、複数の人が並んで写っていることが前提であり、適用できる写真が限定的である。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、多様な被写体、構図の画像に適用することのできる画像の方向判定技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は画像理装置に関する。この画像処理装置は、処理対象の画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、処理対象の画像における対象物を検出する対象物検出処理部と、対象物検出処理部において対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定する対象物画像方向特定部と、特定した方向に前記画像が表示されるように前記画像のデータを更新する画像データ更新部と、を備えることを特徴とする。
【０００８】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、指定された画像のデータを記憶装置より読み出し、当該画像と対象物の比較画像とを、相対角度を変化させながらパターンマッチングすることにより、前記画像における対象物を検出するステップと、対象物が検出されたときの相対角度から、対象物の上下に対応する前記画像の天地を判断し、当該画像の正しい方向を特定するステップと、特定した方向に前記画像が表示されるように前記画像のデータを更新するステップと、を含むことを特徴とする。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、ユーザの負担を少なく画像を正しい方向で表示させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における画像処理装置の構成を示す図である。
【図２】本実施の形態における顔検出処理によって正しい画像の方向を特定する原理を説明するための図である。
【図３】本実施の形態において正しい画像の方向を特定する手法を説明するための図である。
【図４】本実施の形態における角度補正部が行う、頭部と肩の角度による回転角の補正手法を説明するための図である。
【図５】本実施の形態において用いる、非人物画像の周波数および輝度の分布特性の傾向を説明する図である。
【図６】本実施の形態において正しい画像の方向を特定してデータを修正する処理手順を示すフローチャートである。
【図７】本実施の形態において正しい方向と判定した方向へ回転させた画像をユーザに提示する画面の例を示している。
【発明を実施するための形態】
【００１２】
図１は本実施の形態における画像処理装置の構成を示している。画像処理装置１０は、処理対象の画像データの指定などをユーザより受け付ける指示入力受付部１２、所定角度ずつ画像を回転させ顔検出処理を施し、顔が検出された角度を取得する顔検出処理部１６、顔と肩の角度をパターンマッチングによって取得し、回転角を補正する角度補正部１８、回転角に基づき人物画像の正しい方向を特定する人物画像方向特定部２０、画像の周波数および輝度の分布特性を取得する画像特性解析部２２、周波数や輝度の分布特性の傾きから非人物画像の正しい方向を特定する非人物画像方向特定部２４、および最終的に画像のデータに正しい方向の情報を反映させる画像データ更新部２６を含む。
【００１３】
指示入力受付部１２はユーザによる、処理対象の画像データを指定する入力を受け付ける入力装置である。ここで処理対象とする画像は、静止画像、動画像のいずれでもよく、また静止画像の場合は１枚でも複数でもよい。また画像は、実世界を撮影した写真やビデオ映像のほか、コンピュータグラフィックスや、手書きした絵を電子データ化したものなど、その製作手法は特に限定されない。指示入力受付部１２はさらに、画像データ更新部２６による画像データの修正を了承するか否かの入力も受け付ける。指示入力受付部１２はキーボード、ボタン、タッチパネル、マウスなど一般的な入力装置、または表示装置と入力装置の組み合わせでよい。
【００１４】
画像データ記憶部１４は、処理対象とする画像データが格納された記憶装置である。顔検出処理部１６は、指定された画像データを画像データ記憶部１４から読み出し、顔検出処理を施す。指定された画像が複数枚であればそのそれぞれに、動画であれば各フレーム画像、またはマーキングされた区切りのフレーム画像などに同じ処理を繰り返す。
【００１５】
一般的な手法を用いて顔検出を行う場合、顔の濃淡特徴パターンに着目し、あらかじめ準備した画像とパターンマッチングすることにより、画像内に顔があるか否かを判別する。このような手法では、通常、頭が上、あごが下にある状態の顔の比較画像がマッチングに用いられるため、例えば顔が上下逆になっている画像についてはマッチングが失敗し、顔が検出されない。本実施の形態ではこの顔検出の方向依存性を利用する。
【００１６】
具体的には、画像をディスプレイ平面上で所定の角度ずつ回転させ、顔検出を施す。画像が人物画像であれば、いずれかの回転角で顔が検出される。このとき、上述の顔検出の方向依存性により、頭を上として顔の縦方向の軸がディスプレイ平面の縦軸におよそ一致している。人物画像では多くの場合、体の上下が画像の天地に対応する、すなわち頭を上として体の軸が画像の縦方向にある。体の軸と顔の縦方向の軸がほぼ同じ方向であれば、顔検出がなされたときの画像の向きが、正しい画像の向きに近いと考えられる。顔検出処理部１６はこのように、顔検出の特性を利用し、顔の角度に基づき画像の正しい方向をおよそ推定する。したがって顔検出処理部１６が行う顔検出処理は、上述のパターンマッチングによる手法など、傾きのない顔を検出することを前提とした一般的な手法を用いる。
【００１７】
角度補正部１８は、顔検出処理部１６が行った顔検出の結果を利用して、パターンマッチングにより人物像の肩の水平軸と顔の縦方向の軸の角度を特定し、それに基づき顔が検出されたときの画像の回転角を補正する。肩の水平軸は体の軸と垂直であるため、この補正により、体の軸とディスプレイ平面の縦軸とを揃えることができ、著しく顔を傾けているなど顔の軸と体の軸の方向が異なっていることにより発生する誤差を吸収する。複数の人が写っている場合、顔検出処理部１６と角度補正部１８は、検出した顔ごとに同じ処理を行う。
【００１８】
なお以後の説明では、顔を検出したときまたは補正後の画像の回転角を「回転角」と呼ぶが、この角度は元の方向の画像における人物の角度を間接的に表している。また最終的に特定する、画像の本来の向きは、画像を９０°刻みに回転させたいずれかとなり、以後、この向きを「画像の正しい方向」と呼ぶ。人物画像方向特定部２０は、顔が検出された人物画像の、補正後の回転角に基づき、画像の正しい方向を特定する。複数の人物が写っている場合は、それぞれに対する回転角を平均した値によって画像の正しい方向を特定する。
【００１９】
画像特性解析部２２は、顔検出処理部１６がいずれの角度でも顔を検出しなかった画像、すなわち非人物画像について、周波数分布、輝度分布を取得する。風景写真や室内を写した画像では、画像の上側に空や天井がある場合が多い。空や天井は一般に、太陽や照明の存在で明るく、また物が存在しないことから高周波成分が少ない。そこで画像特性解析部２２は、それぞれの分布から所定の軸方向の分布特性を取得する。非人物画像方向特定部２４は、当該分布特性の全体的な傾きを軸同士比較することによって、画像の正しい方向を特定する。
【００２０】
人物画像方向特定部２０および非人物画像方向特定部２４は、上述のとおり基本的には、元の画像の方向から９０°刻みで、正しい画像の方向を決定する。一方、画像の演出上、常に人物を縦に表示させたい場合などは、それ以外の角度でも良い。画像データ更新部２６は、そのように決定した方向を画像データに反映させ、画像データ記憶部１４に格納する。ここでは、画素のラスタ順の並びを画像の正しい方向での並びに入れ替える、といった画像データそのものの修正でもよいし、後の表示時に反映されるように正しい角度情報を画像データに付加するのでもよい。また画像データ更新部２６は、そのように画像データを加工する前に、表示装置にその旨の表示を行うことで、ユーザに最終的な判断を促す。
【００２１】
次に、顔検出処理部１６、角度補正部１８、および人物画像方向特定部２０が、人物画像の正しい方向を特定する手法について説明する。図２は顔検出処理によって正しい画像の方向を特定する原理を説明するための図である。図の左列の３つの画像３０、３２、３４はそれぞれ、画像データ記憶部１４に記憶された、「画像Ａ」、「画像Ｂ」、「画像Ｃ」の処理前の画像である。図示するように、画像は一般的には横に長い向きで記録されている。ところが撮影したときのカメラの構え方によって、それが本来の向きである場合（画像Ａ）、本来の上が画像の左側にある場合（画像Ｂ）、本来の上が画像の右側にある場合（画像Ｃ）の３つのパターンが発生し得る。
【００２２】
なお画像が上下逆になることはカメラ操作の関係上、まれであるためここでは示していないが、この場合も以後の処理は同様に行える。このようなパターンを区別して正しい方向を特定するために、顔検出処理部１６は、画像を所定角度ずつ回転させて顔検出処理を行い、顔が検出されたときの回転角を記録する。図２中列の３つの画像３６、３８、４０はそれぞれ、「画像Ａ」、「画像Ｂ」、「画像Ｃ」を回転させ、顔が検出されたときの画像を、右列はそのときの画像の回転角を示している。なお同図では、図の上側を０°とし、時計回りの回転としている。
【００２３】
「画像Ａ」の場合、元の画像３０が画像の正しい方向であるため、回転させる前の画像３６で顔が検出される。したがって回転角は０°である。「画像Ｂ」の場合、回転角が９０°のときに顔が検出される。「画像Ｃ」の場合、回転角が２７０°のときに顔が検出される。したがって、画像Ｂは９０°、画像Ｃは２７０°、回転させるように画像データに情報を付加するか、画像データそのものを更新することにより、表示時には常に正しい方向で画像を提示することができる。
【００２４】
図２の場合、３つの画像はいずれも、人物像の顔の縦方向の軸が、画像の縦方向あるいは横方向の軸と一致していたため、顔は９０°刻みの回転角において検出され、その回転角が即ち最終的な画像の方向となり得た。一方、実際の画像では被写体が動いていたりポーズをとっていたりして、顔の縦方向の軸が画像に対して斜めになっている場合も多い。図３はそのような場合も考慮して、正しい画像の方向を特定する手法を説明するための図である。
【００２５】
同図において元の画像４２は、顔の縦方向の軸４３が、画像の縦方向の軸、横方向の軸のいずれとも一致していない。このような画像は、顔検出時の画像４４に示すように、９０°刻みの回転角とは異なる角度で顔が検出される。そこで回転角を４つの領域に分け、検出時の回転角がどの範囲に入っているかによって最終的な画像の方向を特定する。例えば同図の回転角座標４６で示すように、３１５°≦θ＜４５°を第１象限、４５°≦θ＜１３５°を第２象限、１３５°≦θ＜２２５°を第３象限、２２５°≦θ＜３１５°を第４象限とする。
【００２６】
そして回転角θが第１象限にある場合は０°、第２象限にある場合は９０°、第３象限にある場合は１８０°、第４象限にある場合は２７０°、を最終的な画像の方向とする。図３の画像４４の場合、θ＝８０°で顔が検出されたとすると、第２象限にあるので、正しい画像は９０°回転させた方向の画像４８である、と判定する。このように角度領域を決めることにより、顔検出処理における検出可能な顔の角度幅による誤差も吸収できる。図３に示した、顔検出時の画像の回転角から、９０°刻みの最終的な画像の方向を決定する処理は、実際には次に述べる、顔と肩の角度による補正を行った後、人物画像方向特定部２０が行う。
【００２７】
図４は角度補正部１８が行う、頭部と肩の角度による回転角の補正手法を説明するための図である。この補正はこれまで述べた、顔の縦方向の軸に基づき正しい画像の方向を推定する処理に、体の軸の要素を加味して精度を上げるものである。まず元の画像５２を上述のように回転させ、画像５４のようにθの回転角において顔が検出されたとする。しかし同図に示すように、この人物像は首をかしげているため、顔の縦方向の軸はディスプレイ平面の縦軸と合っているが、正しい画像の方向を示す基準となる、体の軸がディスプレイ平面の縦軸に合っていない。
【００２８】
そこで角度補正部１８は、顔が検出された画像５４と、あらかじめ準備した頭部と肩の輪郭形状を表すテンプレート画像５６とをマッチングすることにより、頭部と肩の角度を特定し、それに基づき人の軸がディスプレイ平面の縦軸と一致するときの回転角を求める。テンプレート画像５６としては、頭部の縦方向の軸と肩の水平軸の角度を段階的に変化させた複数の画像を準備する。そして顔検出がなされている画像５４の顔領域にテンプレート画像５６の頭部を一致させたときの肩の線が最も一致しているテンプレート画像を決定する。それにより、画像内の顔の縦方向の軸と肩の水平軸との傾きが特定できる。
【００２９】
このようにして得られた、顔の縦方向の軸である実線６０と肩の水平軸５８との角度θｘを用いて、補正角度θｃは次のように求められる。
θｃ＝９０°−θｘ
すなわち角度θｃだけ画像５４を回転させると、体の軸がディスプレイ平面の縦軸と一致した画像６２が得られる。このときの回転角θ＋θｃに基づき、人物画像方向特定部２０が図３の４象限の判定を行うことにより、人物画像の正しい画像の方向が得られる。
【００３０】
次に、画像特性解析部２２によって非人物画像の正しい向きを特定する手法について説明する。図５は非人物画像の周波数および輝度の分布特性の傾向を説明する図である。同図において画像６４は、風景写真などの非人物画像である。元の画像は同図に示すように本来の縦方向がディスプレイ平面の横方向、すなわちｘ軸に表示されている。このような画像に対し周波数分布と輝度分布を取得すると、画像の上側の領域が、他の領域と比較し、輝度が高く高周波成分が少ない、という傾向がみられる。これは上述のとおり、画像の上側の領域は一般的に空や天井など明るく広い領域であるためである。したがって、画像６４についてｘ軸に対する周波数および輝度の分布特性を取得すると、図のようになる。
【００３１】
すなわち周波数の平均値分布６６は、図の上側、すなわちｘ座標が減少する方向でその値が低くなる。逆に輝度分布６８は、ｘ座標が減少する方向でその値が高くなる。そこで、周波数の平均値分布６６および輝度分布６８を、それぞれ破線７０および７２で示すように最小二乗法を用いて直線で近似し、その傾きを求める。そして周波数分布の近似直線の傾きをＡｆ、輝度分布の近似直線の傾きをＡｙとしたとき、それらを重み付け加算した評価値Ｖを次のように求める。
Ｖ＝Ｗｆ×Ａｆ＋Ｗｙ×Ａｙ
【００３２】
ここでＷｆおよびＷｙは、各傾きＡｆおよびＡｙのスケールを統一して評価値Ｖに反映させるための重みであり、テスト画像などを用いて決定しておく。周波数分布の傾きＡｆと輝度分布の傾きＡｙは、図に示すように正負が逆の数値であるため、係数を適当に設定することにより、評価値Ｖは０に近い値を有する。この評価値Ｖを、画像の縦軸方向、横軸方向で算出する。そしてＶの値が最も小さい軸が本来の画像の縦軸であり、周波数分布の傾きＡｆが正となる方向、または輝度分布の傾きＡｙが負となる方向が、本来の画像の上から下への方向であるとして、正しい画像の方向を特定する。このように周波数や輝度の傾きに着目することにより、画像の光源環境などによって周波数や輝度の絶対値が変化しても、それに影響されることなく向きの特定が可能となる。
【００３３】
なお夜景を撮影した画像など、画像の上側が暗い場合、輝度の分布特性は、図５に示した特性とは異なる。このような場合を想定し、画像特性解析部２２はまず撮影時間帯を確認する。撮影時間帯は、デジタルカメラなどで撮影した場合に装置が自動で記録する付加情報を読み出すことで取得できる。そして撮影時刻が夜でなければ、上記の評価値Ｖで傾きの評価を行う。あるいはユーザが、指示入力受付部１２に対し画像のデータを指定した際などに当該情報を入力してもよい。
【００３４】
一方、撮影時刻が夜の場合、かつ画像全体の輝度が所定のしきい値より小さい場合、当該画像は夜景を写した物であると判断する。この場合、上述のとおり、画像の上側ほど暗くなる傾向になるため、輝度の傾きＡｙは昼間の画像と正負が逆になると判断し、評価値Ｖを次のようにする。
Ｖ＝Ｗｆ×Ａｆ−Ｗｙ×Ａｙ
なお夜間の撮影であっても輝度がしきい値以上であれば、室内など上に照明のある画像と判断し、昼と同様の評価値式とする。
【００３５】
次に、これまで述べた構成によってなされる動作を説明する。図６は画像処理装置１０が正しい画像の方向を特定してデータを修正する処理手順を示すフローチャートである。まずユーザが指示入力受付部１２に対し、画像データの指定を行い処理の開始を指示する入力を行うと（Ｓ１０）、顔検出処理部１６は、当該画像データを画像データ記憶部１４から読み出し顔検出処理を施す（Ｓ１２）。
【００３６】
次に画像を、４５°や９０°など所定の回転角だけ回転させ（Ｓ１４）、当該画像に対し再度顔検出処理を施す（Ｓ１４、Ｓ１６のＮ、Ｓ１０）。ここでの回転角の刻みは、要求される精度や計算負荷を考慮して適宜設定しておく。これを画像が３６０°回転するまで繰り返す。Ｓ１２の顔検出処理においていずれかの角度で顔が検出されたら、その顔の位置と回転角を記録しておくが、他に人が写っている可能性があるため、顔検出処理は３６０°まで続行する。画像が３６０°回転するまで顔検出処理がなされたら（Ｓ１６のＹ）、その間に顔が一度でも検出されたか否かで、当該画像が人物画像か非人物画像かを判断する。
【００３７】
顔が検出されたら（Ｓ１８のＹ）、角度補正部１８は、Ｓ１２で記録した顔の領域と、あらかじめ準備した頭部と肩の形状を有するテンプレート画像とをマッチングすることにより、顔の縦方向の軸と肩の水平軸との角度を求め、その結果に従い回転角を補正する（Ｓ２０）。Ｓ１２において複数の顔が検出されたら、その処理を顔ごとに行う。次に人物画像方向特定部２０は、複数の顔が検出されている場合に、各顔に対し求めた画像の回転角を次の式で平均化する（Ｓ２２）。
θａｖｅ＝Σθｎ／Ｎ
【００３８】
ここでθａｖｅは求める回転角の平均値、θｎはｎ番目の顔に対し求めた回転角、Ｎは顔の総数である。そして得られた画像の回転角、あるいは画像の回転角の平均値が、図３で示した４象限のような角度領域のいずれに属するかを特定することにより正しい画像の方向を判定する（Ｓ２４）。
【００３９】
一方、顔検出が一度もなされなかった場合は（Ｓ１８のＮ）、画像特性解析部２２が周波数分布および輝度分布の分布特性を画像の縦方向および横方向に対し取得する（Ｓ２６）。そして各分布特性を直線で近似したときの傾きから上記の評価値Ｖを算出する（Ｓ３０）。この際、上述のとおり画像が夜景であることが撮影時刻および輝度の絶対値より判定されたら、輝度の傾きの係数を負として評価値Ｖを算出する。そして非人物画像方向特定部２４は、評価値Ｖの値と周波数分布の傾きなどから画像の上下を特定することで正しい画像の方向を判定する（Ｓ３２）。
【００４０】
次に画像データ更新部２６は、正しい方向と判定した方向へ回転させた画像を表示装置に表示するなどしてユーザに確認を求める。ユーザが表示された向きへ画像を回転させることを了承したら（Ｓ３４のＹ）、当該方向の情報を画像データに付加するか、画像データの画素値の順列を入れ替えることにより、判定の結果を画像データに反映させる（Ｓ３６）。ユーザが了承しなければ（Ｓ３４のＮ）、そのまま処理を終了する。
【００４１】
図７はＳ３４においてユーザに提示する画面の例を示している。画像方向確認画面８０は、変換前の画像表示欄８２と変換後の画像表示欄８４を含む。変換前の画像表示欄８２には、処理対象の画像を元の向きで表示する。そして変換後の画像表示欄８４には、正しい方向と認められる向きに回転させた画像を表示する。ただしこの段階ではまだ画像データには反映されていない。
【００４２】
ここでユーザが指示入力受付部１２を介し、画面内に表示した各画像に対応するチェックボックス８６をチェックし、決定する指示入力を行うと、画像データ更新部２６は、チェック対象となった画像に対する判定結果を画像データに反映させる。チェックされなかった画像のデータは修正しない。このように、実際の画像データの修正前に判定結果をユーザに提示することで、ユーザの意図しない方向で画像が表示されるのを防ぐことができる。
【００４３】
以上述べた本実施の形態によれば、画像を所定の角度ずつ回転させて顔検出処理を施し、顔が検出されたときの回転角を記録する。この角度は顔の縦方向の軸がディスプレイ平面の縦軸と一致している方向であるため、正しい画像の方向を概ね表していると考えることができる。また顔検出結果を利用し、パターンマッチングによって顔の縦方向の軸と肩の水平軸との角度を求めることにより、体の軸がディスプレイ平面の縦軸に一致している状態を容易に作り出すことができる。
【００４４】
多くの写真は体の軸がおよそ縦方向になるため、これにより正しい画像の方向を容易に特定することができる。複数の人物が写っている場合も、顔ごとに正しい回転角を特定し、それを平均化することにより方向判定の精度を上げることができる。これにより、撮影環境、被写体の人数、被写体の格好などを限定せずに、同様の処理で容易に正しい画像の方向を特定することができる。
【００４５】
また顔が検出されない場合は非人物画像であると判断し、画像の周波数分布および輝度分布を求める。そして、風景写真などが画像の上側の領域で輝度が高く高周波成分が少ない傾向にあることを利用し、縦軸および横軸に対する分布特性のおよその傾きから画像の上下を特定する。これにより顔が検出されない画像であっても、画像の詳細な部分の変化や撮影環境の変化に左右されることなく正しい画像の方向を特定することができる。
【００４６】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４７】
例えば図１の画像処理装置１０は画像の正しい方向を判定する機能のみを備えていたが、当該画像処理装置にさらに、スライドショーを作成したり表示したりする機能、サムネイルを表示したり印刷したりする機能など、判定結果を利用する表示、印刷機能が含まれていてもよい。また画像処理装置をカメラなどの撮影機器に内蔵させ、撮影とともに画像の方向を判定するようにしてもよい。
【００４８】
また実施の形態では、正しい方向を反映させた画像データを保存したが、実施の形態で述べた機能を画像の表示機能と一体的に設ける場合は、判定結果を保存せず、表示の都度、角度判定を行い、回転が必要な画像の識別情報とその回転角を表示機能に提供することにより、表示機能において適切な回転を与えたうえで表示させるようにしてもよい。
【００４９】
さらに実施の形態では、対象となる画像に顔検出処理を施し、顔が検出されたときの画像の角度に基づき正しい画像の向きを特定した。これと同様の処理を行うことにより、人物画像以外の画像でも正しい向きを特定できる。この場合、顔に代わる対象物の比較画像を角度を固定として準備しておき、処理対象の画像を回転させつつ前景抽出処理などで抽出した前景とパターンマッチングしていく。そしてマッチングが成功し、対象物が検出されたときの角度から、処理対象の画像の正しい向きを特定する。これにより、乗り物や建物などでもその形状に基づき画像の向きを判断できる。さらにこの手法と、実施の形態で述べた非人物画像に対する向きの特定手法とを組み合わせることにより特定精度を上げてもよい。
【００５０】
さらに、顔検出の場合もそれ以外の対象物検出の場合も、処理対象となる画像に代わり、比較画像側を回転させつつパターンマッチングを行うようにしてもよい。あるいは両方を回転させてもよい。いずれの場合も対象物が検出されたときの、処理対象の画像と、天地が既知の比較画像との相対角度が判明すれば、実施の形態で説明したのと同様に、処理対象の画像の天地が特定できる。例えば回転に要する計算コストを考慮して回転させる画像を決定することにより、処理対象の画像が高精細でデータサイズが顕著に大きいときなどでも計算コストの増大を防ぐことができる。
【符号の説明】
【００５１】
１０  画像処理装置、  １２  指示入力受付部、  １４  画像データ記憶部、  １６  顔検出処理部、  １８  角度補正部、  ２０  人物画像方向特定部、  ２２  画像特性解析部、  ２４  非人物画像方向特定部、  ２６  画像データ更新部、  ８０  画像方向確認画面。
【図１】
2011119997.tif 000003
【図２】
2011119997.tif 000004
【図３】
2011119997.tif 000005
【図４】
2011119997.tif 000006
【図５】
2011119997.tif 000007
【図６】
2011119997.tif 000008
【図７】
2011119997.tif 000009