以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
図1は、本発明の一実施形態に係る画像評価装置1の機能構成を示すブロック図である。画像評価装置1は、図1に示す各機能要素により、処理対象の画像(例えば、人物、動物、及び風景等の被写体を含んだ写真等)を複数の部分領域に分割し、予め定められた評価基準(例えば、構図及びピント等)に基づく評価値を部分領域毎に算出し、評価値を表す評価値情報を部分領域毎に対応付けて表示する合成画像を出力する。このように、画像評価装置1は、画像内の部分領域毎の評価値を可視化した合成画像を出力することにより、画像の評価結果を知りたいユーザ(例えば、写真を撮影しようとしているユーザ、及び写真の撮影技術を向上したいと考えているユーザ等)に対して、部分領域毎の詳細な評価結果を提示するように構成されている。
画像評価装置1は、例えば、被写体を撮像するカメラ機能を有するデジタルカメラ、スマートフォン、タブレット、及び携帯電話等の端末として実装される。この場合、画像評価装置1は、自装置が備えるカメラ機能で撮像した画像を処理対象の画像として取得することができる。また、画像評価装置1は、上述のカメラ機能を有さないサーバ装置として実装されてもよい。この場合、画像評価装置1は、例えば、他の装置(例えば上述したカメラ機能を有する端末等)によって撮像された画像を当該他の装置から受け取る(例えばSDカード等の記録媒体を介して受け取る)ことにより、処理対象の画像を取得することができる。なお、以降の説明においては、画像評価装置1は、カメラ機能を有するスマートフォン等の端末であることを主に想定して説明を行うが、上述の通り、画像評価装置1は、カメラ機能を有する端末に限定されない。
図2は、画像評価装置1のハードウェア構成を示すブロック図である。図2に示すように、画像評価装置1は、物理的には、一又は複数のCPU101と、主記憶装置であるRAM102及びROM103と、入力キー及びタッチセンサ等の入力デバイスである入力装置104と、液晶ディスプレイ等の出力装置105と、データ送受信デバイスである通信モジュール106と、カメラモジュール107と、半導体メモリ等の補助記憶装置108と、を含むコンピュータシステムとして構成される。図1に示す画像評価装置1の各機能は、図2に示すCPU101及びRAM102等のハードウェア上に所定のコンピュータソフトウェア(画像評価プログラム)を読み込ませることにより、CPU101の制御のもとで入力装置104、出力装置105、通信モジュール106、及びカメラモジュール107を動作させるとともに、RAM102及び補助記憶装置108等におけるデータの読み出し及び書き込みを行うことで実現される。
なお、画像評価装置1は、単一の装置として構成されてもよいし、2以上の装置によって機能を分散した構成とされてもよい。例えば、画像評価装置1は、上述したように、デジタルカメラ及びスマートフォン等の端末、或いは1台のサーバ装置として構成されてもよい。また、画像評価装置1は、例えば、カメラモジュール107及びディスプレイ(出力装置105)を搭載する端末と、当該端末により取得された画像に対する処理(例えば後述する領域分割部13、評価値算出部16、及び評価値マップ生成部18等による処理)を実行するサーバ装置と、を含む分散システムとして構成されてもよい。
以下、図1に示す画像評価装置1の構成について詳述する。画像評価装置1は、機能的な構成要素として、画像取得部11(取得手段)、画像情報格納部12、領域分割部13(分割手段)、領域情報格納部14、構図パターン格納部15、評価値算出部16(算出手段)、評価値格納部17、評価値マップ生成部18、及び画像表示部19(出力手段)を備える。
画像取得部11は、処理対象の画像を取得する。画像取得部11は、例えばカメラモジュール107によって実現される。具体的には、画像取得部11は、レンズ及び光学素子等の複数の光学系の部品と、それらを駆動制御する複数の制御系の回路と、受光素子によって取得された画像を表す電気信号をデジタル信号である画像信号に変換する信号処理系の回路部と、を含む。画像取得部11は、取得した被写体の画像信号を含む画像情報を画像情報格納部12に格納する。取得される画像情報は、動画像の情報であってもよいし、静止画像の情報であってもよい。なお、上述の通り、画像評価装置1がカメラ機能を有さないサーバ装置等である場合、他の装置で取得されて記憶された画像ファイルを入力する部分が画像取得部11となる。例えば、画像評価装置1が他の装置から通信ネットワークを介して画像ファイルを受信する場合、画像ファイルの受信処理を行う部分(通信モジュール106等)が画像取得部11として機能する。画像取得部11により取得される画像(動画像の場合には各フレーム)は、例えば、各画素(ピクセル)の画素値(例えば、輝度、明度及び色彩等の画素に関する数値)を示す画像情報として取得される。画像取得部11は、このような画像情報を画像情報格納部12に受け渡す。
画像情報格納部12は、画像取得部11から受け渡された画像情報を格納する。画像情報格納部12に格納されている画像情報は、後述する領域分割部13、評価値算出部16、及び画像表示部19により参照される。
領域分割部13は、画像取得部11により取得された画像を複数の部分領域に分割する。画像の分割には、任意の領域分割の手法を用いることができる。領域分割の手法自体は公知であるため詳細な説明を省略するが、例えば、領域分割部13は、画像情報格納部12に格納されている画像情報を参照し、各画素の画素値に基づいてエッジ検出等の処理を実行する。このような領域分割の処理を実行することにより、領域分割部13は、各部分領域が予め定められた一様性の基準を満たし、且つ、隣接する2つの部分領域の和集合が上記一様性の基準を満たさないように、画像を互いに重ならない複数の部分領域に分割する。
図3は、処理対象の画像に対する領域分割により得られる部分領域の一例を示す図である。なお、図3に示す画像Pは、説明のために簡略化した画像であり、被写体の色及び明暗等の図示が省略されている。図3の例では、領域分割部13は、処理対象の画像Pに対して上述した領域分割の処理を実行することで、画像Pを4つの部分領域ID0〜ID3に分割する。部分領域ID0は、背景(例えば空等)に対応する部分である。部分領域ID1は、背景とは異なる矩形状の物体に対応する部分である。部分領域ID2は、被写体である人の顔に対応する部分である。部分領域ID3は、画像P内に映り込んだ物体(例えば木の枝等)に対応する部分である。
領域情報格納部14は、領域分割部13により分割された部分領域に関する領域情報を格納する。なお、領域情報は、領域分割部13により生成され、領域情報格納部14に受け渡される。例えば、領域情報は、画像の各画素を識別するピクセル座標と画素が属する部分領域を識別する領域IDとを関連付けた情報である。ピクセル座標は、例えば、画像の横方向をX軸方向、画像の縦方向をY軸方向として規定したXY座標により表現される。本実施形態では一例として、ピクセル座標は、画像の左上隅の画素の座標を原点座標(0,0)とし、画像の右方向をX軸の正方向とし、画像の下方向をY軸の正方向とした場合のXY座標として表現される。
図4は、領域情報の一例を示す図である。図4に示す領域情報の例では、ピクセル座標(0,0)及び(0,1)により識別される各画素が部分領域ID0に含まれ、ピクセル座標(427,320)及び(427,321)により識別される各画素が部分領域ID2に含まれることが示されている。
構図パターン格納部15は、予め登録された複数の構図パターン(三分割構図及び黄金比構図等)の各々の評価ロジックを示す構図パターン情報を格納する。評価ロジックは、例えば、後述する評価値算出部16が各部分領域の構図に関するスコアを算出する際に利用するための評価関数(計算式)等の情報である。例えば、三分割構図の評価ロジックとしては、部分領域の輪郭又は重心位置が画像を三分割した境界線又は境界線同士の交点に近いほどスコアが大きくなるような評価関数が格納されている。
評価値算出部16は、画像情報格納部12に格納されている画像情報、領域情報格納部14に格納されている領域情報、及び構図パターン格納部15に格納されている構図パターン情報を参照し、部分領域毎に予め定められた評価基準に基づく評価値を算出する。ここで、各部分領域の評価値は、画像全体の見栄えの良し悪しに対して当該部分領域が影響を与えている度合い(寄与度)と言い換えることもできる。本実施形態では、部分領域の評価値が大きいほど、当該部分領域が画像の印象を良くするのに貢献している度合いが大きいことを意味する。つまり、当該部分領域が画像に映っていることにより、画像が見栄えの良いものになっていることを意味する。
本実施形態では一例として、評価値算出部16は、部分領域毎に、複数(本実施形態では一例として5つ)の評価項目の各々についての評価値(スコア)を算出し、評価項目毎のスコアの重み付け和を部分領域の評価値として算出する。本実施形態では一例として、評価値算出部16は、下記式(1)により、構図パターンjが目標とされる構図として定められた場合における部分領域iの評価値f(i,j)を算出する。ここで、Noise(i)、Pint(i)、Vivid(i)、Cont(i)、及びComp(i,j)は、上述した5つの評価項目の各々のスコアを示す。また、重みw1〜w5は、各評価項目のスコアに対して予め設定された重みである。このような重みw1〜w5は、デフォルトで設定された固定値であってもよいし、ユーザの設定操作によって適宜変更可能な可変値であってもよい。
評価値算出部16は、領域情報格納部14に格納されている部分領域iの領域情報から、部分領域iに含まれる画素(ピクセル座標)を抽出する。これにより、評価値算出部16は、画像Pにおいて部分領域iが占める範囲を把握する。また、評価値算出部16は、画像情報格納部12を参照することで、部分領域iに含まれる画素の画素値を把握する。評価値算出部16は、画像Pにおいて部分領域iが占める範囲、及び部分領域iに含まれる各画素の画素値に基づいて、上述した各評価項目のスコアを算出する。以下、各評価項目のスコアの算出手法の一例について説明する。なお、評価値算出部16は、評価項目毎に予め定められた判断ルール及び評価関数等に基づいて、各評価項目のスコアを算出する。以下、各評価項目のスコアの一例について説明する。
Noise(i)は、部分領域iが不要な映り込みではないか否かについての評価項目のスコアである。Noise(i)は、部分領域iが不要な映り込みではない場合に大きくなり、部分領域iが不要な映り込みである場合に小さくなるように算出される。例えば、評価値算出部16は、領域情報格納部14に格納されている部分領域iの領域情報から抽出された部分領域iが占める範囲に基づいて、部分領域iが画像Pの端に接しているか否かを判定する。具体的には、評価値算出部16は、部分領域iに、画像Pの端のピクセル座標に対応する画素が含まれているか否かを判定し、含まれている場合に部分領域iが画像Pの端に接していると判定する。評価値算出部16は、部分領域iが画像Pの端に接していないと判定された場合、部分領域iは不要な映り込みではないと判断する。一方、評価値算出部16は、部分領域iが画像Pの端に接していると判定された場合(すなわち、部分領域iに対応する被写体の一部が画像Pの外に出ていることが想定される場合)、部分領域iは不要な映り込みであると判断する。
ここで、部分領域iが不要な映り込みである場合、当該部分領域iの面積が大きいほど、当該部分領域iが画像Pの見栄えに悪影響を与えている可能性が高いと考えられる。そこで、評価値算出部16は、部分領域iが不要な映り込みであると判断された場合、当該部分領域iの面積が大きいほどNoise(i)が小さくなるように、Noise(i)を算出する。なお、背景部分(例えば図3の部分領域ID0)は、画像Pの端(上下左右の4辺)に接しているが、不要な映り込みとはいえない。そこで、評価値算出部16は、このような背景部分を不要な映り込みであると判断する対象から除外すべく、例えば画像Pの4辺(或いは3辺以上)に接している部分領域i(背景部分である可能性が高い部分領域i)については、不要な映り込みではないと判断してもよい。
図5は、Noise(i)の説明図である。図5の(a)の例では、部分領域iは、画像Pの端に接していないため、不要な映り込みではないと判断される。一方、図5の(b)の例では、部分領域iは、画像Pの端(右辺)に接しているため、不要な映り込みであると判断される。このため、図5の例では、Noise(i)は、図5の(a)に示す場合の方が、図5の(b)に示す場合よりも大きい値となる。
Pint(i)は、部分領域iに対してピントが合っているか(被写体である部分領域iがぶれていないか)否かについての評価項目のスコアである。例えば、評価値算出部16は、部分領域iに含まれる画素の画素値から、部分領域iにおける空間周波数を算出する。一般にピントが合っておらずピンボケが発生している領域において、空間周波数が低くなる傾向がある。そこで、評価値算出部16は、空間周波数が高いほどPint(i)が大きくなるように、Pint(i)を算出する。
図6は、Pint(i)の説明図である。図6の(a)の例では、部分領域iにピンボケは生じておらず、空間周波数は比較的高い値を示す。一方、図6の(b)の例では、部分領域iにピンボケが生じており、空間周波数は比較的低い値を示す。このため、図6の例では、Pint(i)は、図6の(a)に示す場合の方が、図6の(b)に示す場合よりも大きい値となる。
Vivid(i)は、部分領域iの色が適度に鮮やかであるか否かについての評価項目のスコアである。例えば、評価値算出部16は、部分領域iに含まれる画素の彩度(Saturation)の代表値(例えば平均値等)と予め設定された適正レベル(適正値)との誤差が小さいほどVivid(i)の値が大きくなるように、Vivid(i)を算出する。なお、画像情報格納部12に格納されている画像情報(各画素の画素値)がRGB色空間により表現されている場合、評価値算出部16は、RGB色空間からHSV色空間への公知の変換処理を行うことで、HSV色空間の一成分である彩度(S)の情報を得ることができる。
Cont(i)は、部分領域iが画像Pのコントラストの適正化に寄与しているか否かについての評価項目のスコアである。評価値算出部16は、部分領域iが画像Pのコントラストの適正化に寄与している程度が大きいほどCont(i)が大きくなるように、Cont(i)を算出する。例えば、評価値算出部16は、画像Pのコントラスト値C1を計算するとともに、画像Pから部分領域iを除外した場合の画像Pのコントラスト値C2を計算する。ここで、予め設定された適正コントラストレベル(適正値)C0とコントラスト値C1との差の絶対値A1(=|C1−C0|)が、適正コントラストレベルC0とコントラスト値C2との差の絶対値A2(=|C2−C0|)よりも大きい場合、部分領域iは、画像Pのコントラストの適正化に寄与しているといえる。つまり、部分領域iが存在することにより、画像Pのコントラストが適正値に近付いているといえる。また、絶対値A1と絶対値A2との差(A1−A2)が大きいほど、部分領域iが画像Pのコントラストの適正化に寄与している程度が大きいといえる。そこで、評価値算出部16は、絶対値A1と絶対値A2との差(A1−A2)に基づいて、当該差が大きいほどCont(i)が大きくなるように、Cont(i)を算出することができる。
Comp(i,j)は、部分領域iが予め設定された構図パターンj(例えばデフォルト設定又はユーザ設定により選択された構図パターン)に忠実であるか否かについての評価項目のスコアである。例えば、評価値算出部16は、構図パターン格納部15に格納されている構図パターンj(例えば三分割構図等)の構図パターン情報を用いることにより、部分領域iのComp(i,j)を算出する。ここで、被写体の重心が画像を縦横に三分割する仮想線の交点(縦方向に延びる仮想線と横方向に延びる仮想線との交点)に近いほど三分割構図に忠実であるといえる。このため、三分割構図の構図パターン情報として、部分領域iの重心と上記交点との距離が小さいほど値が大きくなるような評価関数が利用され得る。また、例えば海及び空等の背景部分の輪郭(例えば水平線及び地平線等)が上記仮想線に一致している場合にも、三分割構図に忠実であるといえる。このため、三分割構図の構図パターン情報として、部分領域iの輪郭と上記仮想線との一致度が高いほど値が大きくなるような評価関数も利用され得る。
図7及び図8は、Comp(i,j)の説明図である。図7の例において、構図パターンjは三分割構図であり、画像P内の破線は、画像Pを縦横それぞれについて三分割する仮想線を示している。図7の(a)の例では、部分領域iは、その重心位置(部分領域iの中心位置)が三分割構図の仮想線の交点にほぼ一致しており、三分割構図に忠実に配置されている。一方、図7の(b)の例では、部分領域iは、その重心位置が三分割構図の仮想線の交点と一致しておらず(交点から離れており)、三分割構図に忠実に配置されていない。このため、Comp(i,j)は、図7の(a)に示す場合の方が、図7の(b)に示す場合よりも大きい値となる。
図8の例では、画像Pは、5つの部分領域i(i=k1〜k5)に分割されている。図8の例においても、構図パターンjは三分割構図であり、画像P内の破線は、画像を縦横それぞれについて三分割する仮想線を示している。画像Pには、背景として海(部分領域k1)及び空(部分領域k2)が映っており、さらに、海に浮かぶ船(部分領域k3)、月(部分領域k4)、及び雲(部分領域k5)が映っている。ここで、海(部分領域k1)及び空(部分領域k2)は、いずれもその輪郭(境界線)が三分割構図の仮想線にほぼ一致している。このため、部分領域k1,k2のComp(i,j)は比較的大きい値となる。一方、船(部分領域k3)、月(部分領域k4)、及び雲(部分領域k5)の各々の重心位置はいずれも三分割構図の仮想線の交点から離れている。このため、部分領域k3〜k5のComp(i,j)は比較的小さい値となる。より具体的には、部分領域k3〜k5のComp(i,j)は、部分領域k3〜k5の重心位置と仮想線の交点(部分領域k3〜k5の重心位置から最も近い交点)との距離が大きいほど小さい値となる。
以上のようにして、評価値算出部16は、画像Pに含まれる部分領域i毎に、複数の評価項目の各々についてのスコア(Noise(i)、Pint(i)、Vivid(i)、Cont(i)、Comp(i,j))を算出し、上記式(1)に基づいて部分領域iの総合評価としての評価値f(i,j)を算出することができる。ただし、上記式(1)で算出される評価値f(i,j)は一例であり、評価値は、上述した複数の評価項目のうちの一部の評価項目のスコアから決定される値であってもよいし、上述した評価項目以外の評価項目のスコアから決定される値であってもよい。なお、評価値算出部16は、下記式(2)により、画像P全体の総合評価f(j)を算出することができる。
上記式(2)において、「I」は、画像P内に含まれる部分領域の集合を示す。また、重みziは、部分領域iの評価値f(i,j)に対する視覚的顕著性(興味度)に基づく重みである。具体的には、部分領域iが画像P内において視覚的に顕著な領域(すなわち、ユーザの興味を惹き易い領域)であるほど、重みziは大きい値となる。これにより、ユーザの興味を惹く度合いである興味度が大きい部分領域i(例えば、視覚的に目立つ物体等)の評価値f(i,j)ほど、画像P全体の総合評価f(j)に与える影響を大きくすることができる。なお、画像P内のどの部分領域iがユーザの興味を惹くかは、例えばサリエンシーディテクション(Saliency Detection)と呼ばれる公知の手法(例えば、「第59回知っておきたいキーワード サリエンシーディテクション,中澤篤志,映像情報メディア学会誌Vol.64,No.12,pp.1830〜1832(2010)」を参照)等を用いることで特定することができる。評価値算出部16は、例えば上記公知の手法により特定されたユーザの興味を惹き易い部分(画素)を多く含む部分領域iほど重みziが大きくなるように、所定の計算式によって重みziを決定することができる。ここで、評価値算出部16は、f(i,j)に重みziを乗じた値(=zif(i,j))を部分領域iの評価値として算出してもよい。このようにして算出された評価値は、後述する評価値マップ生成部18が興味度考慮済みマップを生成する際に用いられる。なお、上記式(2)の右辺の値を画像P内に含まれる部分領域の個数で割った値を画像P全体の総合評価としてもよい。このようにすれば、画像内に含まれる部分領域の個数が多いほど評価値が大きくなってしまうことを防ぎ、部分領域の個数が異なる画像間での評価値の比較を適切に行うことができる。
評価値格納部17は、評価値算出部16により算出された評価結果を格納する。例えば、評価値格納部17は、評価値算出部16により算出された部分領域i毎の評価値f(i,j)とともにf(i,j)の要素である評価項目毎のスコアを格納する。また、評価値格納部17は、上述した部分領域i毎の重みziも部分領域iに関連付けて格納してもよい。
図9は、評価値格納部17に格納される情報(ここでは一例として評価値及び評価項目毎のスコア)の一例を示す。図9の例は、図3の画像Pに含まれる部分領域ID0〜ID3の各々の評価値f(i,j)及び評価項目毎のスコアの例を示している。また、この例では、各評価項目のスコアは、「−100」から「+100」までの範囲に含まれるように評価値算出部16により算出されている。また、各部分領域ID0〜ID3の評価値f(i,j)は、重みw1〜w5を全て「0.2」として上記式(1)により算出された値である。
評価値マップ生成部18は、画像Pに重畳表示させるための評価値マップを生成する。評価値マップとは、例えば、部分領域i毎の評価値f(i,j)を表す評価値情報(例えば、色表示及び点数表示等)と、当該評価値情報を画像P上に配置する位置とを関連付けた情報である。例えば、評価値マップ生成部18は、部分領域iに含まれる画素領域に対して、当該部分領域iについて算出された評価値f(i,j)に応じた色(評価値情報の一例)を関連付けた評価値マップを生成する。一例としては、評価値マップ生成部18は、「−100」から「+100」までの間の各値に対応する色の情報を予め保持する。例えば、評価値「−100」に対応する色は「青」、評価値「0」に対応する色は「黄」、評価値「+100」に対応する色は「赤」といったように、評価値マップ生成部18は、各値に対応する色の情報を保持する。なお、実際の色の情報としては、評価値マップ生成部18は、例えばRGB色空間で表現した数値情報を保持する。
評価値マップ生成部18は、部分領域i毎の評価値f(i,j)に基づく評価値マップを生成する代わりに、或いは評価値f(i,j)に基づく評価値マップを生成するとともに、評価項目毎のスコアに基づく評価値マップ(以下「スコアマップ」という。)を生成してもよい。このようなスコアマップによれば、評価項目毎の評価結果を把握することが可能となる。例えば、Noise(i)に基づくスコアマップを画像Pに重畳表示させることで、不要な映り込みではないか否かといった観点について、画像Pの見栄えに悪影響を与えている部分領域(図3及び図9の例では、部分領域ID3)を把握することが可能となる。なお、このようなスコアマップは、例えば、上記式(1)の重みw1〜w5を調整して評価値算出部16にf(i,j)を再計算させることで生成することができる。具体的には、重みw1を「1」とし、その他の重みw2〜w5を「0」にして上記式(1)により計算されたf(i,j)に基づく評価値マップを生成することは、上述したNoise(i)に基づくスコアマップを生成することと同じである。
また、評価値マップ生成部18は、部分領域iの評価値f(i,j)又は評価項目毎のスコアに対して、当該部分領域iの興味度に応じた重み(上述した重みzi)を乗じた値に基づく評価値マップ(以下「興味度考慮済みマップ」という。)を生成してもよい。このような興味度考慮済みマップによれば、ユーザの興味を惹く度合いが大きい部分領域iの評価結果がより重視されることになる。その結果、興味度考慮済みマップを画像Pに重畳表示させることで、興味度が大きい部分領域iの評価結果が重視された合成画像を得ることができる。
画像表示部19は、出力装置105(図2)によって実現され、部分領域毎の評価値を表す評価値情報を複数の部分領域の各々に対応付けて表示する合成画像を出力する。具体的には、画像表示部19は、評価値マップ生成部18により生成された評価値マップを実画像(画像P)に重畳表示させることで、部分領域i毎の評価値f(i,j)を視覚的に把握可能な合成画像を出力する。
画像表示部19は、例えば、画像評価装置1に設けられた液晶ディスプレイにより実現される。また、特に画像評価装置1がデジタルカメラ等のファインダーを有する装置である場合には、画像表示部19は、ファインダー内部に設けられる液晶ディスプレイ等の表示装置によって実現されてもよい。なお、画像表示部19は、画像評価装置1において評価モード(すなわち、上述の領域分割部13、評価値算出部16、及び評価値マップ生成部18の処理を実行して合成画像を出力するモード)がONになっていない場合には、画像取得部11により取得された画像Pを出力表示する。
図10は、実画像及び合成画像の一例を示す図である。図10の(a)は、実画像(画像P)の例を示している。図10の(b)は、図10の(a)に示す画像Pに対して画像表示部19が評価値マップを重畳表示させることで得られる合成画像Iを示している。なお、図10の(b)に示す合成画像Iにおいて、各部分領域k1〜k6が、評価値に対応する濃淡で表現されているが、実際には濃淡の度合いに対応する色(すなわち、評価値に応じた色)で表現される。このように、部分領域k1〜k6に対して評価値に応じた色が着色された合成画像Iが画像表示部19によって出力されることで、ユーザに、合成画像Iにおける部分領域k1〜k6の色の種類に基づいて、各部分領域k1〜k6の評価値を直感的に把握させることができる。すなわち、どの部分領域が画像Pの見栄えに良い影響を与えており、どの部分領域が画像Pの見栄えに悪い影響を与えているかを、ユーザに直感的に把握させることができる。図10の例では、部分領域k1,k2の評価値が大きい一方で、部分領域k5の評価値が小さいことがわかる。このため、ユーザに、例えば部分領域k5が画像P内に映り込まないように構図を調整することで、画像Pの見栄えを改善する余地があることを一目で把握させることができる。
なお、画像表示部19は、上述したスコアマップ又は興味度考慮済みマップを画像Pに重畳表示させることで合成画像を出力してもよい。例えば、画像表示部19は、ユーザ操作等により、画像Pに重畳表示させるマップの種類(すなわち、評価値マップ、スコアマップ、及び興味度考慮済みマップ等)を切り替えて表示してもよい。この場合、ユーザは、マップの種類を指定することで、自身が把握したい評価結果だけを参照することができる。例えば、ユーザは、Comp(i,j)に基づくスコアマップを指定することで、Comp(i,j)のみに基づく評価結果が可視化された合成画像を把握することができる。なお、評価値マップ生成部18は、マップの種類の切替操作がユーザにより実行された際に切替先のマップを生成してもよいし、マップの切替にかかる処理待ち時間を短縮するために予め全ての種類のマップを生成しておいてもよい。
次に、画像評価装置1の動作手順について説明する。図11は、画像評価装置1の動作の一例を示すフローチャートである。ここでは、ユーザが画像評価装置1(一例としてカメラ機能付きスマートフォン)のカメラ機能(カメラアプリケーション及びカメラモジュール107)を利用して写真を撮影する場合を例に挙げて説明する。以下に述べる処理は、例えばユーザがカメラアプリケーションを起動することを契機として開始される。
まず、画像取得部11により、処理対象の画像Pが取得される(ステップS1)。具体的には、ユーザが画像評価装置1のカメラアプリケーションを起動した後に、レンズが向けられている方向の画像が取得される。取得された画像Pの情報は、画像情報格納部12に一時的に格納される。
続いて、画像評価装置1において評価モードがONにされているか否かが判定される(ステップS2)。評価モードがONにされていると判断された場合(ステップS2:YES)、部分領域毎の評価値が可視化された合成画像Iを表示するための処理(ステップS3〜ステップS6)が実行される。
以下、評価モードがONにされていると判断された場合(ステップS2:YES)の処理について説明する。まず、領域分割部13が、公知の領域分割の手法を用いて画像取得部11により取得された画像Pを複数の部分領域に分割する(ステップS3)。続いて、評価値算出部16が、複数の部分領域の各々について、上記式(1)等により評価値を算出する(ステップS4)。評価値算出部16により算出された部分領域毎の評価値は、評価値格納部17に格納される。続いて、評価値マップ生成部18が、評価値格納部17に格納されている部分領域毎の評価値に基づいて、画像Pに重畳表示させるための評価値マップを生成する(ステップS5)。ここでは一例として、評価値マップは、部分領域に含まれる画素領域に対して、当該部分領域について算出された評価値に応じた色を関連付けた情報である。続いて、画像表示部19が、画像Pに評価値マップを重畳表示させることで、部分領域毎の評価値を視覚的に把握可能な合成画像I(図10の(b)参照)を出力する(ステップS6)。
一方、評価モードがONにされていないと判断された場合(ステップS2:NO)、画像表示部19は、ステップS1で取得された画像Pを表示する(ステップS7)。
その後、ステップS6で表示された合成画像I又はステップS7で表示された画像Pがユーザ(撮影者)によって確認され、所定の決定操作がなされると、画像評価装置1は、画像Pを撮影及び記録する(ステップS8)。特に、評価モードがONになっている場合には、ユーザは、ステップS6で表示された合成画像Iを確認することにより、画像Pの構図等の調整をすべきか否かを判断することができる。
例えば、複数の人が被写体として含まれる集合写真を撮影しようとしており、合成画像Iにおいて、特定の一人の人物に対応する部分領域の評価値が低いことが確認できた場合には、当該特定の一人の人物に対して立ち位置の変更(例えば一歩右に移動すること)等の指示を出すことが容易になる。すなわち、ユーザは、画像Pの構図を悪くしている原因の被写体を、合成画像Iにおいて被写体に重畳表示されている色に基づいて視覚的且つ直感的に把握することができ、当該被写体に対して的確な指示を出すことができる。
また、肉眼では気付きにくい物体(例えば枝)が画像P内に映り込んでしまう場合もある。このような物体によって画像Pの見栄えが悪化している場合、ユーザは、合成画像Iにおいて、当該物体に対応する部分領域の評価値が低いことを、当該部分領域に着色されている色に基づいて容易に確認することができる。その結果、ユーザは、枝を取り除いたり、アングルを変えたりといった構図等の調整を適切に行った上で、写真を撮影することが可能となる。
なお、ステップS1〜S6の処理は、定期的に或いはレンズが向けられている方向が変化したタイミング等で、繰り返し実行されてもよい。これにより、現時点で撮影可能な画像Pについての評価結果(すなわち合成画像I)をほぼリアルタイムに更新しながらユーザに提示することができる。その結果、例えばユーザは、合成画像Iを確認して構図等の調整を行いつつ、調整後の画像Pの評価結果(すなわち合成画像I)をほぼリアルタイムに確認することが可能となる。これにより、ユーザは、画像Pの見栄えが改善したか否かを容易に確認することができる。そして、ユーザは、合成画像Iに基づいて調整後の画像Pで問題ないことを確認した後に所定の操作を行うことで、画像Pを撮影及び記録することができる。
続いて、画像評価装置1において、ユーザから撮影処理の終了を受け付けたか否かが判定される(ステップS9)。具体的には、カメラアプリケーションの終了操作を受け付けたか否かが判定される。撮影処理の終了を受け付けなかった場合(ステップS9:NO)、ステップS1からの処理が繰り返し実行され、2枚目以降の写真の撮影が実行される。一方、撮影処理の終了を受け付けた場合(ステップS9:YES)、画像評価装置1の動作(ここでは一例としてカメラアプリケーションによる写真撮影の処理)を終了する。
次に、図12を参照して、コンピュータを画像評価装置1として機能させるための画像評価プログラムについて説明する。
画像評価プログラムPR1は、メインモジュールPR10、画像取得モジュールPR11、領域分割モジュールPR13、評価値算出モジュールPR16、評価値マップ生成モジュールPR18、及び画像表示モジュールPR19を備える。メインモジュールPR10は、画像評価装置1としての処理を統括的に制御する部分である。画像取得モジュールPR11、領域分割モジュールPR13、評価値算出モジュールPR16、評価値マップ生成モジュールPR18、及び画像表示モジュールPR19を実行することにより実現される機能は、それぞれ、画像評価装置1の画像取得部11、領域分割部13、評価値算出部16、評価値マップ生成部18、及び画像表示部19の機能と同様である。
画像評価プログラムPR1は、例えば、CD−ROM、DVD若しくはROM等の記録媒体又は半導体メモリによって提供される。また、画像評価プログラムPR1は、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
以上説明した画像評価装置1では、処理対象の画像Pを分割して得られた複数の部分領域の各々について予め定められた評価基準(本実施形態では一例として上述した5つの評価項目)に基づく評価値が算出される。そして、評価値を表す評価値情報を当該評価値が算出された部分領域に対応付けて表示する合成画像Iが出力される。以上により、画像P内の部分領域毎の構図に関する評価値を視覚的に把握することが可能になる。すなわち、画像P内のどの部分領域が画像Pの見栄えの良し悪しにどの程度寄与しているかを合成画像Iに基づいて直感的に把握することが可能となる。従って、画像評価装置1によれば、上述のように出力される合成画像Iを、画像の見栄えを改善する調整を容易に行うための参考情報として、ユーザに提示することができる。その結果、ユーザは、合成画像Iを参考にすることで、画像Pの見栄えを改善するための調整を容易且つ的確に行うことが可能となる。
また、評価値情報は、評価値に応じた色であり、画像表示部19は、複数の部分領域の各々を、部分領域の評価値に応じた色で表した合成画像Iを出力表示する。これにより、ユーザに、合成画像Iにおいて部分領域に着色される色の種類に基づいて、各部分領域の評価値を直感的に把握させることができる。
また、評価値算出部16は、人の興味を惹く度合いを示す興味度を部分領域毎に算出し、興味度に応じた重み付けに基づいて部分領域の評価値(例えば上述したzif(i,j))を算出することができる。このように算出された評価値に基づく評価値マップ(上述した興味度考慮済みマップ)が評価値マップ生成部18により生成され、当該興味度考慮済みマップを画像Pに重畳表示させた合成画像Iが画像表示部19により表示されることで、人の興味を惹く度合いが考慮された合成画像Iをユーザに提示することが可能となる。具体的には、人の興味を惹き易い部分領域の評価結果がより重視された合成画像Iをユーザに提示することが可能となる。その結果、ユーザは、人の興味を惹き易い部分領域の構図等を重点的に改善することが可能となり、画像Pの見栄えを改善するための調整をより効果的に行うことが可能となる。
なお、本発明は、上述した実施形態に限定されるものではない。
例えば、評価値マップ生成部18は、評価値情報として、上述した色ではなく、評価値を表す数値表示を用いてもよい。図13は、評価値情報として数値表示が用いられた場合に、画像表示部19によって出力された合成画像の例である。このような数値表示であっても、ユーザは、部分領域毎の評価値を視覚的に把握することができる。なお、評価値を表す数値を配置する位置は、部分領域に重なる位置であってもよいし、部分領域の近傍の位置であってもよい。また、合成画像において、評価値を表す数値は、評価値に応じたサイズで表示されてもよい。例えば、評価値を表す数値は、評価値が小さい程(すなわち、改善の余地が大きいほど)目立つように、大きく表示されてもよい。これにより、ユーザは、構図等の改善の余地が大きい部分領域を直感的に把握することができる。また、合成画像において、評価値を表す数値は、評価値に応じた色で表示されてもよい。これにより、ユーザは、評価値を表す数値の文字色に基づいて、画像の見栄えに良い影響(或いは悪い影響)を与えている部分領域を直感的に把握することができる。また、評価値を表す数値に対する選択操作(例えばタッチパネルに対するタッチ操作)が実行された場合に、評価値の詳細(各評価項目のスコア)が表示されるように構成されてもよい。また、評価値マップ生成部18は、本実施形態で説明した部分領域の着色表示と上述した数値表示との両方を表示するための評価値マップを生成してもよい。
また、画像表示部19は、部分領域の評価値が改善するためのアドバイス情報を画像Pに重畳表示させた合成画像Iを出力してもよい。図14及び図15は、アドバイス情報の表示例を示す図である。図14の(a)は、三分割構図が構図パターンjとして選択されている場合の合成画像Iの例である。この例では、被写体(人の顔)である部分領域k1,k2の重心位置が三分割構図の仮想線の交点に一致するように、部分領域k1,k2の適切な調整方向(部分領域k1,k2を移動させる方向)を示す矢印Aを画像Pに重畳表示させた合成画像Iが表示されている。図14の(b)は、アドバイス情報(矢印A)に基づいて部分領域k1,k2の構図を調整した後の画像Pを示している。また、図15の(a)は、水平・垂直構図が構図パターンjとして選択されている場合の合成画像Iの例である。この例では、画像P内で斜めになっている被写体(家)である部分領域k3の姿勢を水平又は垂直に沿うように促す矢印Bを画像Pに重畳表示させた合成画像Iが表示されている。図15の(b)は、アドバイス情報(矢印B)に基づいて部分領域k3の構図を調整した後の画像Pを示している。なお、図14及び図15では、Comp(i,j)を改善するためのアドバイス情報を例示したが、アドバイス情報は他の評価項目のスコアを改善するための情報であってもよい。例えば、画像表示部19は、Noise(i)を改善するためのアドバイス情報として、Noise(i)が小さい部分領域(すなわち、不要な映り込みであり見栄えに悪影響を与えている部分領域)を画面内から除外することを促す文字又は記号等を表示してもよい。
上述したアドバイス情報は、例えば評価値算出部16によって生成される。例えば三分割構図が構図パターンjとして選択されている場合、評価値算出部16は、部分領域の重心位置と当該重心位置から最も近い仮想線(三分割構図の仮想線)の交点位置との距離に基づいて評価値を算出する。この際、評価値算出部16は、部分領域の重心位置から上記交点位置へのベクトルを算出し、当該ベクトルをアドバイス情報(すなわち上記矢印の向き及び大きさを示す情報)として取得することができる。
また、評価値算出部16は、2以上の構図パターンの各々についてComp(i,j)を算出してもよい。例えば、三分割構図と水平・垂直構図(被写体の姿勢が画像P内で傾斜していないほど良いとされる構図)とは互いに共存可能な構図である。そこで、評価値算出部16は、部分領域iについて、三分割構図の構図パターンj1についてのComp(i,j1)を算出するとともに水平・垂直構図の構図パターンj2についてのComp(i,j2)を算出する。そして、評価値算出部16は、例えば、このように算出したComp(i,j1)及びComp(i,j2)の重み付け和を、部分領域iの構図パターンに関する評価値(すなわち、上記式(1)におけるComp(i,j))としてもよい。例えば、Comp(i,j1)に対する重みをwj1と表し、Comp(i,j2)に対する重みをwj2と表した場合、部分領域iの構図パターンに関するスコアComp(i,j)は、「wj1×Comp(i,j1)+wj2×Comp(i,j2)」により求まる。これにより、複数の構図パターンの各々への忠実度を考慮して、構図パターンに関する評価値をより適切に算出することができる。
また、評価値算出部16は、例えば三分割構図と黄金比構図等のように、適切とされる配置位置が互いに異なり共存可能でない構図パターンの各々についてのComp(i,j)を算出し、評価値マップ生成部18は、各々の構図パターンに対応する評価値マップを生成してもよい。そして、画像表示部19は、ユーザによる構図パターンの選択操作(切替操作)に基づき、画像Pに重畳させる評価値マップを切り替えてもよい。これにより、ユーザは、所定の選択操作(入力装置104に対する操作)により、三分割構図に基づく評価結果が反映された合成画像と黄金比構図に基づく評価結果が反映された合成画像とを切り替えて表示させることができる。
また、評価値算出部16は、部分領域iの評価値f(i,j)を算出する際の評価項目として、被写体が笑顔であるか否かについての評価項目を用いてもよい。具体的には、評価値算出部16は、下記式(3)に示すように、上記評価項目のスコアであるSmile(i)を評価値f(i,j)の構成要素に加えてもよい。Smile(i)が考慮された評価値マップが重畳表示された合成画像によれば、例えば複数の人が含まれる集合写真を撮影しようとする際に、笑顔になっていない人を容易に特定することが可能となる。
具体的には、評価値算出部16は、部分領域iが人の顔であるか否かを判別し、部分領域iが人の顔であると判別された場合に、表情が笑顔であるか否かを判定する。そして、評価値算出部16は、表情が笑顔である場合の方が、表情が笑顔でない場合よりも大きくなるように、所定の計算式によりSmile(i)を算出する。なお、部分領域iが人の顔であるか否か、及び表情が笑顔であるか否かは、公知の顔検出の手法を用いて判別することができる。また、部分領域iが人の顔でない場合にはSmile(i)を算出できないため、評価値算出部16は、部分領域iが人の顔である場合にのみ、上記式(3)を用いて評価値f(i,j)を算出し、部分領域iが人の顔でない場合には、Smile(i)を含まない上記式(1)を用いて評価値f(i,j)を算出してもよい。
なお、上記実施形態では、合成画像を出力する出力手段の例として、合成画像をディスプレイ等に出力する表示装置について説明したが、出力手段は、必ずしも合成画像を表示しなくともよい。例えば、本発明の画像評価装置がサーバ装置であり、スマートフォン等の端末から処理対象の画像を受信し、受信した画像を元に合成画像を生成し、当該合成画像を端末に送信するような構成が考えられる。すなわち、端末が表示装置を備える一方で、画像評価装置自体は合成画像を表示する機能を備えない場合もあり得る。このような場合、画像評価装置において生成した合成画像を端末に送信する機能部分が、出力手段に相当する。