JP6261206B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6261206B2
JP6261206B2 JP2013137060A JP2013137060A JP6261206B2 JP 6261206 B2 JP6261206 B2 JP 6261206B2 JP 2013137060 A JP2013137060 A JP 2013137060A JP 2013137060 A JP2013137060 A JP 2013137060A JP 6261206 B2 JP6261206 B2 JP 6261206B2
Authority
JP
Japan
Prior art keywords
position information
image
detection
region
interest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013137060A
Other languages
English (en)
Other versions
JP2015011557A (ja
JP2015011557A5 (ja
Inventor
梅田 清
清 梅田
寛康 國枝
寛康 國枝
和歌子 田中
和歌子 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013137060A priority Critical patent/JP6261206B2/ja
Priority to US14/313,853 priority patent/US9542594B2/en
Publication of JP2015011557A publication Critical patent/JP2015011557A/ja
Publication of JP2015011557A5 publication Critical patent/JP2015011557A5/ja
Application granted granted Critical
Publication of JP6261206B2 publication Critical patent/JP6261206B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、検出手段により検出された位置情報を処理する情報処理装置、情報処理方法、及びプログラムに関する。
デジタルスチルカメラ(以下、DSCともいう)やカメラ機能付き多機能携帯電話で撮影された画像中から人物の顔を検出し、該顔情報に基づいて、様々な画像処理を行う方法が提案されている(特許文献1参照)。
特許文献1では、複数枚の画像をレイアウトテンプレートに自動配置する際に、画像中から人物の顔を検出し、該顔位置に基づいて、既存のテンプレート内に画像を好適に配置する。各配置枠にはレイアウトの基準点が設定されており、該顔位置と組み合わせることで、好適なレイアウトを自動生成することができる。
また、パーソナルコンピュータ(PC)内に保存された画像群に対して、ユーザが意識しなくとも自動で顔検出や人物認識といったバックグラウンド解析処理を行う方法が知られている。
上述した画像処理は、例えば、アプリケーションなどで実現することができる。
特開2008−305275
ところで、顔検出などのさまざまな技術は、時代とともにさらに性能が改善される可能性がある。また、近年では、アプリケーションの動作環境が、従来のPCから多機能携帯電話に急速に移行しており、ネットワークに接続されたサーバー上で画像処理を行う形式が普及してきている。これに対応して、アプリケーションの動作を動作環境に応じて、最適化することが求められる。
このように、アプリケーションの機能などが更新される場合がある。例えば、オブジェクトの検出処理に関する更新が行われた場合、旧オブジェクト検出手段によりローカルPCのデータベースに保存された検出位置と、新オブジェクト検出手段により出力した新しい検出位置をどのように取り扱うかが問題となる。
本発明は上述した事情に鑑み、画像に対する複数の検出手段による画像における注目領域の位置情報に基づいて、画像における注目領域の位置情報を決定することができる情報処理装置、情報処理方法、及びプログラムを提供することを課題とする。
上記の課題を解決するための本発明の情報処理装置は、保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得手段と、前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段と、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定手段と、前記画像における注目領域の位置情報前記保持手段に保持させる制御手段と、を備え、前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御手段は、前記取得手段により取得した前記保持手段に保持されている位置情報を前記第2の検出手段により検出した位置情報に書き換えることにより、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させ、前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御手段は、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする。
本発明によれば、画像に対する複数の検出手段による画像における注目領域の位置情報に基づいて、画像における注目領域の位置情報を決定することができる。
実施形態1に係る画像処理装置ハードウェア構成図である。 実施形態1に係るソフトウェアブロック図である。 実施形態1に係る画像解析処理のフローチャートである。 実施形態1に係る画像解析処理のフローチャートである。 実施形態1に係る人物グループ生成処理のフローチャートである。 実施形態1に係る自動レイアウト提案処理のフローチャートである。 実施形態1の人物グループの表示例を示す図である。 実施形態1のサムネイル形式による画像群の表示例及びカレンダー形式による画像群の表示例を示す図である。 手動でお気に入り度を入力するためのUIの例及び手動でイベント情報を入力するためのUI例を示す図である。 手動で人物属性情報を入力するためのUI例を示す図である。 レイアウトテンプレートの例を示す図である。 実施形態1における自動レイアウト生成処理のフローチャートである。 実施形態1における不要画像フィルタリング処理のフローチャートである。 実施形態1に係る自動トリミング処理の一例を示す図である。 実施形態1に係る明るさ適正度の算出方法、彩度適正度の算出方法、及びトリミング欠け判定処理の説明図である。 実施形態1に係る自動レイアウト生成結果の表示例を示す図である。 実施形態1に係る顔辞書の構成を示す図である。 実施形態1に係るバックグラウンド解析の処理フローを示す図である。 実施形態1に係るセンシング処理のフローを示す図である。 実施形態2に係るセンシング処理のフローを示す図である。 実施形態1に係る略一致するか否かの判定処理の説明図である。 実施形態3に係る画像補正処理のフローチャートである。 実施形態3に係る自動補正処理のフローである。 FaceYstdとFaceYtarの関係及びトーンカーブの説明図である。 他の実施形態に係る略一致するか否かの判定処理の説明図である。
以下では、入力画像群を用いて自動でレイアウト出力物を生成するために、本発明における好適な第1実施形態について説明する。これはあくまで実施の1つの形態を例として示したものであり、本発明は以下の実施形態に限定されるものではない。
(実施形態1)
図1は実施形態1の画像処理装置のハードウェア構成例を示すブロック図である。
図1において、情報処理装置115は、CPU100と、ROM101と、RAM102と、2次記憶装置103と、表示装置104と、入力装置105と、IF107と、IF108と、無線LAN109を備えている。さらに、内部撮像デバイス106を備えている。これらは、制御バス/データバス110により相互に接続されている。本実施形態の情報処理装置115は、画像処理装置として機能する。
情報処理装置115は、例えば、コンピュータである。CPU100(中央演算装置)は、実施形態1で説明する情報処理をプログラムに従って実行する。ROM101は、CPU100により実行される以下に示すアプリケーション等のプログラムが記憶されている。RAM102は、CPU100によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。2次記憶装置103は、ハードディスク等であり、画像ファイルや画像解析結果を保存するデータベース等を保存するための記憶媒体である。表示装置104は、例えば、ディスプレイであり、実施形態1の処理結果や以下に示すUI(User Interface)等をユーザに提示する装置である。CPU100は、ROM101や2次記憶装置103などに格納されているプログラムをRAM102にロードし、ロードされたプログラムを実行することにより、情報処理装置全体を制御する。
表示装置104は、タッチパネル機能を備えても良い。入力装置105は、ユーザが画像補正の処理の指示等を入力するためのマウスやキーボード等である。
また、内部撮像デバイス106で撮像された画像は、所定の画像処理を経た後、2次記憶装置103に記憶される。また、情報処理装置115は、インターフェース(IF108)を介して接続された外部撮像デバイス111から画像データを読み込むこともできる。さらに、無線LAN(Local Area Network)109はインターネット113に接続されている。情報処理装置115は、インターネット113に接続された外部サーバー114より画像データを取得することもできる。
画像等を出力するためのプリンタ112は、IF107を介して情報処理装置115に接続されている。尚、プリンタ112はさらにインターネット上に接続されており、無線LAN109経由でプリントデータのやり取りをすることもできる。
図2は本実施形態における上記アプリケーション等ソフトウェア構成のブロック図になっている。
まずハードウェアが取得した画像データは、通常JPEG(Joint Photography Expert Group)等の圧縮形式になっている。そのため、画像コーデック部200は、該圧縮形式を解凍していわゆるRGB点順次のビットマップデータ形式に変換する。変換されたビットマップデータは、表示・UI制御部201に伝達され、ディスプレイ等の表示装置104上に表示される。
上記ビットマップデータは、さらに画像センシング部203(アプリケーション)に入力され、同部において、詳細は後述するが、画像の様々な解析処理が行われる。上記解析処理の結果得られた画像の様々な属性情報は、所定の形式に従ってデータベース部202において、上述した2次記憶装置103に保存される。なお、以降においては、画像解析処理とセンシング処理は同義で扱う。
シナリオ生成部204(アプリケーション)では、ユーザが入力した様々な条件に応じて、自動で生成すべきレイアウトの条件を生成し、レイアウト生成部205(アプリケーション)では上記シナリオに従って、自動でレイアウトを生成する処理を行う。
生成したレイアウトは、レンダリング部206で表示用のビットマップデータを生成し、該ビットマップデータは表示・UI制御部201に送られ、結果がディスプレイ等の表示装置104に表示される。一方で、レンダリング結果はさらにプリントデータ生成部207に送られ、同部でプリンタ用コマンドデータに変換され、プリンタに送出される。
図3〜6は、本実施形態のアプリケーションの基本的な画像処理のフローチャートである。具体的には、図3及び4は、画像センシング部203のフローを示しており、複数の画像データ群を取得して、それぞれについて解析処理を施し、その結果をデータベースに格納するまでの処理の流れを示している。図5は、検出した顔位置情報に基づいて、同じ人物と思われる顔情報をグループ化するための処理の流れを示している。図6は、画像の解析情報およびユーザが入力した様々な情報に基づいて、レイアウト作成のためのシナリオを決定し、該シナリオに基づいて、自動でレイアウトを生成するための処理の流れを示している。
図3のS301では、画像データ群の取得を行う。画像データ群は、例えば、ユーザが、撮影画像が格納された撮像装置やメモリカードを情報処理装置115に接続して、これらから撮像画像を読み込むことで取得する。また、内部撮像装置で撮影され、2次記憶装置に保存されていた画像データ群を取得してもよい。あるいは、無線LANを介して、インターネット上に接続された外部サーバー114等、情報処理装置115以外の場所から画像データ群を取得をしてもよい。
画像データ群を取得すると、そのサムネイル群が図8に示すようにUIに表示される。図8(a)の801に示すように2次記憶装置103内のフォルダ単位で画像のサムネイル802を表示してもよいし、図8(b)に示すようにカレンダーのようなUI901で日付ごとに画像データが管理されていてもよい。図8(b)の場合、日付の部分902をクリックすることにより、同日に撮影された画像を、図8(a)のようなサムネイル一覧で表示する。
次に、S302において、各画像のデコードを行う。具体的には、アプリケーションが、新規で保存され未だセンシング処理が行われていない画像をサーチし、抽出された各画像について、画像コーデック部200が圧縮データからビットマップデータに変換する。
次に、S303において、上記ビットマップデータに対して、各種センシング処理を実行する。ここでいうセンシング処理には、次の表1に示すような様々な処理が含まれる。本実施形態では、センシング処理の例として、顔検出、画像の特徴量解析、シーン解析を挙げており、それぞれ表1に示すようなデータ型の結果を算出する。
Figure 0006261206
以下、それぞれのセンシング処理について説明する。
画像の基本的な特徴情報(例えば、画像の基本的な特徴量)である全体の平均輝度、平均彩度は、公知の方法で求めればよいため、詳細な説明は省略する。平均輝度は、画像の各画素について、RGB成分を公知の輝度色差成分(例えばYCbCr成分)に変換し(変換式省略)、Y成分の平均値を求めればよい。また、平均彩度は、上記CbCr成分について画素毎に以下を算出し、下記Sの平均値を求めればよい。
Figure 0006261206
また、画像内の平均色相(AveH)は、画像の色合いを評価するための特徴量である。各画素毎の色相は、公知のHIS変換式を用いて求めることができ、それらを画像全体で平均化することにより、AveHを求めることができる。
また、これらの特徴量は、上述したように画像全体で算出してもよいし、例えば、画像を所定サイズの領域に分割し、各領域毎に算出してもよい。
次に、オブジェクト検出について説明する。本実施形態では、オブジェクト検出として、人物の顔の検出を行う。本実施形態で使用する人物の顔検出手法としては、公知の方法を用いることができる。
特開2002−183731号に記載されている方法では、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。この顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。そのときに、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する。
また、特開2003−30667号に記載されている方法では、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することができる。
特開平8−63597号に記載されている方法では、まず、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。そのマッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することができる。
さらに、特開2000−105829号に記載されている方法では、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。そして、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出することができる。
その他の人物の顔検出方法としては、特開平8−77334、特開2001−216515、特開平5−197793、特開平11−53525、特開2000−132688、特開2000−235648、特開平11−250267に記載されるような顔および器官位置を検出する方法が挙げられる。また、人物の顔検出処理は、特許第2541688号に記載された方法でもよく、方法は特に限定されるものではない。
本実施形態では、ある1つの顔検出の種類をFD1と定義する。FD1により対象画像に対して処理した結果、各入力画像について、人物顔の個数と各顔毎の座標位置を取得することができる。
また、画像中の顔座標位置が分かることにより、顔領域の特徴量を解析することができる。例えば、顔領域毎に顔領域内に含まれる画素値の平均YCbCr値を求めることにより、顔領域の平均輝度および平均色差を得ることができる。
また、画像の特徴量を用いてシーン解析処理を行うことができる。シーン解析処理は、例えば、出願人が開示している特開2010−251999号や特開2010−273144号等で開示されている方法により行うことができる。シーン解析処理により、風景(Landscape)、夜景(Nightscape)、人物(Portrait)、露出不足(Underexposure)、その他(Others)、という撮影シーンを区別するためのIDを取得することができる。
なお、本実施形態では、上記のセンシング処理によりセンシング情報を取得したが、その他のセンシング情報を利用してもよい。
上記のようにして取得したセンシング情報は、データベース部202に保存する。データベース部202への保存形式については、例えば、以下に示すような汎用的なフォーマット(例えば、XML:eXtensible Markup Language)で記述し、格納すればよい。
Figure 0006261206
List1においては、各画像毎の属性情報を、3つのカテゴリに分けて記述する例を示している。
BaseInfoタグは、画像サイズや撮影時情報として、あらかじめ取得した画像ファイルに付加されている情報を格納するためのタグである。ここには、画像毎の識別子ID、画像ファイルが格納されている保存場所、画像サイズ、撮影日時などが含まれる。
SensInfoタグは、上述した画像解析処理の結果を格納するためのタグである。画像全体の平均輝度、平均彩度、平均色相やシーン解析結果が格納され、さらに、画像中に存在する人物の顔位置や顔色に関する情報が格納される。
また、AppliedFDVersionタグは、注目画像に対して適用済みの顔検出のバージョンを記載するためのタグである。この段階で使用している顔検出技術はFD1であるため、それに紐付けられた情報として、値1を記述している。
また、次の階層として、Personタグにおいて、検出した複数の顔領域に関する情報を、各領域毎に記述することができる。IDタグは検出した各顔領域毎に与えられる識別子である。また、この領域を検出した顔検出のバージョンをFDVersionタグで記述することができる。FDVersionは、各顔領域を検出した顔検出のバージョンであるのに対し、AppliedFDVersionは、画像全体に対して適用した顔検出のバージョンである点が異なる。ここでも、顔検出FD1に紐付けられた値1が記述されている。
また、顔検出信頼値を、Reliabilityタグで格納することができる。Reliabilithyは、例えば、0〜100までの値を取り、値が大きい程検出した顔領域は正しく顔を検出している可能性が高いものとする。顔検出信頼値の算出は、顔検出手法によって異なるが、例えばテンプレートマッチングを用いた手法においては、顔テンプレートと顔画像との類似度を正規化した値などが用いられる。
3番目のUserInfoタグは、ユーザが画像毎に入力した情報を格納することができるタグであるが、詳細については後述する。
なお、画像属性情報のデータベース格納方法については、上記に限定されるものではない。その他どのような形式で格納してもよい。
図3のS305では、上述したS302及びS303の処理を行った画像が最後の画像か否かを判定する。最後の画像である場合は、S306へ進み、最後の画像ではない場合は、S302へ戻る。
S306において、S303で検出された顔位置情報を用いて、人物毎のグループを生成する処理を行う。あらかじめ人物の顔を自動でグループ化しておくことにより、その後ユーザが各人物に対して名前を付ける作業を効率化することができる。
ここでの人物グループ形成は、個人認識方法を用いて、図5の処理フローにより実行する。
なお、個人認識処理は、主に、顔の中に存在する眼や口といった器官の特徴量抽出と、それらの関係性の類似度を比較することにより実行される。個人認識処理は、例えば、特許第3469031号等に開示されているので、ここでの詳細な説明は省略する。
図5は人物グループ生成処理S306の基本的なフローチャートである。
まず、S501で、2次記憶装置に保存されている画像を順次読みだしてデコード処理を行う。さらにS502でデータベース部202にアクセスし、該画像中に含まれる顔の個数と顔の位置情報を取得する。次に、S504において、個人認識処理を行うための正規化顔画像を生成する。
ここで正規化顔画像とは、画像内に様々な大きさ、向き、解像度で存在する顔を切り出して、すべて所定の大きさと向きになるよう、変換して切り出した顔画像のことである。個人認識を行うためには、眼や口といった器官の位置が重要となるため、正規化顔画像のサイズは、上記器官が確実に認識できる程度であることが望ましい。このように正規化顔画像を生成することにより、特徴量検出処理において、様々な解像度の顔に対応する必要がなくなる。
次に、S505で、正規化顔画像から顔特徴量を算出する。ここでの顔特徴量とは眼や口、鼻といった器官の位置、大きさや、さらには顔の輪郭などを含むことを特徴とする。
さらに、S506で、あらかじめ人物の識別子(辞書ID)毎に顔特徴量が格納されているデータベース(以降、顔辞書と呼ぶ)の顔特徴量と類似しているか否かの判定を行う。類似度は、例えば、辞書ID内部で管理されている特徴量と、新たに入力された特徴量を比較して算出する。ここで用いる特徴量は、保持されている目、鼻、口といった器官の位置や、器官間の距離等の情報である。類似度は、上記の特徴量が類似しているほど高く、類似してない場合には低い値を取るものとし、例えば0〜100の値を取り得るものとする。そして、類似しているか否かの判定は、算出した類似度を予め保持されている閾値と比較し、類似度が閾値よりも高い場合には辞書IDと同一人物であると判断する。一方、類似度が閾値以下の場合には、同一人物ではないものとして判定する。このような類似度判定のための閾値は、全ての辞書IDに対して固定の値を一つだけ保持するようにいてもよいし、各辞書ID毎に異なった閾値を保持するようにしてもよい。
S506の判定がYesの場合S509に進み、同じ人物として同じ人物の辞書IDに該顔の特徴量を追加する。
S506の判定がNoの場合S508に進み、現在評価対象となっている顔は、これまで顔辞書に登録された人物とは異なる人物であると判断して、新規辞書IDを発行して顔辞書に追加する。S502〜S509までの処理を、入力画像群の中から検出した顔領域全てに適用して、登場した人物のグループ化を行う。
人物グループ生成処理の結果は、以下のList.2のXMLフォーマットで示すように、各顔毎に辞書IDタグを用いて記述し、上述したデータベースに保存する。
Figure 0006261206
ここで、人物グループ生成処理によって生成された顔辞書内部の様子を図22に示す。図17(a)において、2201は辞書IDを示し、2203は顔特徴量を示している。同じ辞書IDで管理される顔特徴量は、人物認識処理によって、同一人物であると判定された顔の顔特徴量である。
なお、上記実施形態においては、図3に示すように、全ての画像のセンシング処理が終了した後に人物グループ生成処理を実行したが、これ以外の方法としてもよい。例えば、図4に示すように、1つの画像に対してS403でセンシング処理を実行した後に、顔検出位置情報を利用してグループ化処理S405を行うという作業を繰り返したとしても、同様の結果を生成することができる。
また、人物グループ生成処理によって得られた各人物グループは、図7のようなUI701にて表示されることになる。同図において、702は人物グループの代表顔画像を表しており、その横には、該人物グループの名前を表示する領域703が存在する。自動の人物グループ化処理を終了した直後は、同図に示すように人物名は「No name1」「No name2」などと表示されている。これらの人物名を以下「人物ID」とする。また、704は該人物グループに含まれる複数の顔画像である。後述するが、図7のUI701においては、「No name X」の領域703を指定して人物名を入力したり、人物毎に誕生日や続柄等の情報を入力することができる。
このとき、図17(a)の2202に示すように、辞書ID2201と人物ID2202は、それぞれ互いに関連付けられて(紐付けられて)管理される。
また、上記センシング処理は、オペレーティングシステムのバックグラウンドタスクを利用して実行してもよい。この場合、ユーザはコンピュータ上で別の作業を行っていたとしても、画像群のセンシング処理を継続させることができる。
本実施形態においては、ユーザが手動で画像に関する様々な属性情報を入力することもできる。
その属性情報(以降、手動登録情報)の例の一覧を、表2に記載する。手動登録情報は大きく、画像単位に設定するものと、上記処理によりグループ処理した人物に設定する情報に分かれる。
Figure 0006261206
まず、画像毎に設定する属性情報として、ユーザのお気に入り度がある。お気に入り度は、その画像を気に入っているかどうかを、ユーザが手動で段階的に入力するものである。例えば、図9(a)に示すように、UI1301上で、所望のサムネイル画像1302をマウスポインタ1303で選択し、右クリックをすることでお気に入り度を入力できるダイアログを表示する。ユーザはメニューの中で自分の好みに応じて、★の数を選択することができる。本実施形態では、お気に入り度が高いほど★の数が多くなるよう設定する。
また、上記お気に入り度については、ユーザが手動で設定せずに、自動で設定するようにしてもよい。例えば、ユーザが図8(a)に示す画像サムネイル一覧表示の状態から、所望の画像ファイルをクリックし、1画像表示画面に遷移したとする。その遷移した回数を計測して、回数に応じてお気に入り度を設定してもよい。例えば、閲覧した回数が多いほど、ユーザが該画像を気に入っていると判断する。
また、他の例として、プリント回数をお気に入り度に設定してもよい。例えば、プリント行為を行った場合、当然その画像を気に入っていると判断してお気に入り度が高いと設定すればよい。この場合は、プリント回数を計測して、プリント回数に応じてよりお気に入り度を設定する。
以上説明したように、お気に入り度については、ユーザが手動で設定してもよく、閲覧回数に応じてお気に入り度を設定してもよく、プリント回数に応じてお気に入り度を設定してもよい。これらの設定及び計測した情報は、それぞれ個別に、List.1で示すようなXMLフォーマットで、データベース部202のUserInfoタグ内に格納される。例えば、お気に入り度はFavoriteRateタグで、閲覧回数はViewingTimesタグで、プリント回数はPrintingTimesタグにそれぞれ格納される。
また、画像毎に設定する別の情報として、イベント情報が挙げられる。イベント情報は、例えば、家族旅行“travel”、卒業式“graduation”、結婚式“wedding”が挙げられる。
イベントの指定は、図9(b)に示すように、カレンダー上で所望の日付をマウスポインタ1402などで指定して、その日のイベント名を入力することにより行うことができるようにすればよい。指定されたイベント名は、画像の属性情報の一部として、List.1に示すXMLフォーマットに含まれることになる。List.1のフォーマットでは、UserInfoタグ内のEventタグを使って、イベント名と画像を紐付けている。なお、以下、「紐づけ」とは、関連付けることを指す。
次に、人物の属性情報について説明する。
図10は、人物の属性情報を入力するためのUIを示している。図10において、1502は所定人物(この場合は“father”)の代表顔画像を示している。1503は、所定人物の人物名(人物ID)の表示領域である。また、1504は、他の画像の中から検出し、S506で顔特徴量が類似していると判断された画像(サムネイル)である。このように、図10では、人物ID1203の下に、S506で顔特徴量が類似していると判断された画像1504の一覧が表示される。
センシング処理が終了した直後は、図7に示すように各人物グループには名前が入力されていないが、「No name」の部分703をマウスポインタで指示することにより、任意の人物名を入力することができる。
また、人物毎の属性情報として、それぞれの人物の誕生日やアプリを操作しているユーザから見た続柄を設定することもできる。図10の人物の代表顔1502をクリックすると、画面下部に図示するように、第1の入力部1505ではクリックした人物の誕生日を入力することができる。また、第2の入力部1506では、クリックした人物の続柄情報を入力することができる。
以上、入力された人物属性情報は、これまでの画像に関連付けられた属性情報とは異なり、List.2のようなXMLフォーマットによって、画像属性情報とは別にデータベース部202内で管理される。
一方、上記設定した名前は、上記XMLフォーマットとは別に、図17(b)の2302のように、辞書IDと紐付け管理されてもよい。
一方、上記設定した名前は、上記XMLフォーマットとは別に、図17(b)の2302のように、辞書IDと紐付け管理されてもよい。
本実施形態では、あらかじめ用意した様々なレイアウトテンプレートを用いてレイアウト生成処理を行う。レイアウトテンプレートとは図11に示すようなものであり、レイアウトする用紙サイズ上に、複数の画像配置枠1702,1902,1903(以降、スロットと同義)を備えている。
このようなテンプレートは多数用意されており、あらかじめ本実施例を実行するためのソフトウェアが情報処理装置115にインストールされた時点で、2次記憶装置103に保存しておけばよい。また、その他の方法として、IF 107や無線LAN109を介して接続されたインターネット上に存在する外部サーバー114から、任意のテンプレート群を取得してもよい。
これらのテンプレートは汎用性の高い構造化言語、例えば上述したセンシング結果の格納と同様にXMLで記載されているものとする。XMLデータの例を以下のList.3及びList.4に示す。
Figure 0006261206
Figure 0006261206
これらの例では、まずBASICタグに、レイアウトページの基本的な情報を記述する。基本的な情報とは、例えば該レイアウトのテーマやページサイズ、およびページの解像度(dpi)等が考えられる。同例Xにおいて、テンプレートの初期状態では、レイアウトテーマであるThemeタグはブランクとなっている。また、基本情報として、ページサイズはA4、解像度は300dpiを設定している。
また、ImageSlotタグは、上述した画像配置枠の情報を記述している。ImageSlotタグの中にはIDタグとPOSITIONタグの2つを保持し、画像配置枠のIDと位置を記述している。該位置情報については、図11に示すように、例えば左上を原点とするX−Y座標系において定義される。
また、上記ImageSlotは、その他にそれぞれのスロットに対して、スロットの形状および配置すべき推奨人物グループ名を設定する。例えば、図11(a)のテンプレートにおいては、List.3のShapeタグで示すように、すべてのスロットは矩形“rectangle”形状で、人物グループ名はPersonGroupタグによって“MainGroup”を配置することを推奨している。
また、図11(b)のテンプレートにおいては、List.4に示すように、中央に配置しているID=0のスロットは矩形形状であることが記載されている。また、人物グループは“SubGroup”を配置し、その他のID=1,2と続くスロットは楕円“ellipse”形状で、人物グループは“MainGroup”を配置することを推奨している。
本実施形態においては、上述したようなテンプレートを多数保持する。
本実施形態に係るアプリケーションは、入力された画像群に対して解析処理を実行し、人物を自動的にグループ化してUIで表示することができる。また、ユーザはその結果を見て、人物グループ毎に名前や誕生日などの属性情報を入力したり、画像毎にお気に入り度などを設定することができる。さらに、テーマごとに分類された多数のレイアウトテンプレートを保持することができる。
以上の条件を満たす本実施形態のアプリケーションは、ある所定のタイミングで、自動的にユーザに好まれそうなコラージュレイアウトを生成し、ユーザに提示する処理を行う(以下、レイアウトの提案処理という)。
さらにはテーマごとに分類された多数のレイアウトテンプレートを保持することができる。
以上の条件を満たすと、本実施例のアプリケーションは、ある所定のタイミングに、自動的にユーザに好まれそうなコラージュレイアウトを生成し、ユーザに提示する処理を行う。これを、レイアウトの提案処理と呼ぶこととする。
図6は、レイアウトの提案処理を行うための基本的なフローチャートを示している。
まず、S601において、レイアウトの提案処理のシナリオを決定する。シナリオには、提案するレイアウトのテーマ及びテンプレートの決定、レイアウト内で重視する人物(主人公)の設定、レイアウト生成に用いる画像群の選定情報などが含まれる。
以下では、2つのシナリオを例示して、シナリオの決定方法について説明する。
例えば、2週間前に自動的に各人物に関する誕生日のレイアウトの提案処理を行う設定がされていたとする。図10で自動グループ化されている人物“son”の1歳の誕生日が近いとする。この場合には、提案するレイアウトのテーマは成長記録“growth”と決定する。次にテンプレートの選択を行うが、この場合には成長記録に適した図11(b)のようなものを選択し、以下のList.5に示すように、XMLのThemeタグの部分に“growth”と記載する。次にレイアウトを行う際に注目する主人公“MainGroup”として、“son”を設定する。また、レイアウトを行う際に副次的に注目する“SubGroup”として“son”と“father”を設定する。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベースを参照し、上記人物“son”の誕生日からこれまでに撮影した画像群のうち、“son”を含む画像群を大量に抽出してリスト化する。以上が、成長記録レイアウトのためのシナリオ決定である。
Figure 0006261206
上記とは異なる例として、1カ月以内に所定のイベント情報が登録されていた場合、レイアウトの提案処理を実行する設定がされているとする。図9(b)で登録したイベント情報から、例えば数日前に家族旅行に行きその画像が大量に2次記憶装置に保存されていることがわかると、シナリオ決定部は、家族旅行のレイアウトを提案するためのシナリオを決定する。この場合には、提案するレイアウトのテーマは旅行“travel”と決定する。次にテンプレートの選択を行うが、この場合には図11(a)のようなレイアウトを選択し、以下のList.6に示すように、XMLのThemeタグの部分に“travel”と記載する。次にレイアウトを行う際に注目する主人公“MainGroup”として、“son”、“mother”、“father”を設定する。このように、XMLの特性を活かせば、“MainGroup”として複数の人物を設定することができる。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベースを参照し、上記旅行イベントに紐付けられた画像群を大量に抽出してリスト化する。以上が、家族旅行レイアウトのためのシナリオ決定である。
Figure 0006261206
次に、図6のS603において、上述したシナリオに基づくレイアウトの自動生成処理を実行する。図12はレイアウト処理部の詳細な処理フローを示している。以降は、同図に沿って、各処理ステップの説明を行う。
まず、S2101で、上述したシナリオ生成処理で決定され、テーマと人物グループ情報が設定された後のテンプレート情報を取得する。
次に、S2103においては、上記シナリオで決定した画像リストに基づいて、各画像毎に該画像の特徴量をデータベースから取得し、画像群属性情報リストを生成する。ここでいう画像群情報リストとは、List.1に示したIMAGEINFOタグが画像リスト分だけ並んだ構成となっている。
このように、本実施形態の自動レイアウト生成処理では、このように画像データそのものを直接扱うのではなく、あらかじめ画像毎にセンシング処理を行ってデータベース保存しておいた属性情報を利用する。レイアウト生成処理を行う際に、画像データそのものを対象としてしまうと、画像群を記憶するために非常に巨大なメモリ領域を必要としてしまうことを避けるためである。すなわち、これにより、レイアウト生成処理で必要なメモリ量を低減させることができる。
具体的には、まず、S2105において、入力された画像群の属性情報を用いて、入力された画像群の中から不要画像のフィルタリングを行う。フィルタリング処理は、図13のフローにて行う。図13では、各画像毎に、まずS1601で全体の平均輝度がある閾値(ThY_LowとThY_Hight)内に含まれているかの判定を行う。否の場合にはS1606に進み、注目画像はレイアウト対象から除去する。
同様に、S1602〜S1605では、注目画像に含まれる顔領域それぞれについて、平均輝度、平均色差成分が、良好な肌色領域を示す所定閾値に含まれているかの判定を行う。S1602〜S1605のすべての判定がYesとなる画像のみ、以降のレイアウト生成処理に適用される。具体的には、S1602では、ID=Nである顔領域のAveYが所定閾値(ThfY_LowとThfY_Hight)の範囲に含まれているか否かの判定を行う。S1603では、ID=Nである顔領域のAveCbが所定閾値(ThfCb_LowとThfCb_Hight)の範囲に含まれているか否かの判定を行う。S1604では、ID=Nである顔領域のAveCrが所定閾値(ThfCr_LowとThfCr_Hight)の範囲に含まれているか否かの判定を行う。S1605では、最後の顔であるか否かを判定する。最後の顔ではない場合は、S1602へ戻り、最後の顔である場合は、処理を終了する。
なお、このフィルタリング処理では、以降の一時レイアウト作成処理に明らかに不要と判断できる画像の除去を目的としているため、上記閾値は比較的湯緩やかに設定することが望ましい。例えばS1601の画像全体輝度の判定において、ThY_HighとThY_Lowの差が画像ダイナミックレンジに比して極端に小さいと、それだけYesと判定される画像が少なくなってしまう。本実施形態のフィルタリング処理ではそうならないよう、両者の差をできる限り広く設定し、かつ明らかに異常画像と判断されるものは除去できるような閾値に設定する。
次に図12のS2107において、上記処理でレイアウト対象となった画像群を用いて、大量(L個)の一時レイアウトを生成する。一時レイアウトの生成は、取得したテンプレートの画像配置枠に対して、入力画像を任意に当てはめる処理を繰り返す。このときに、例えば、以下のパラメータ(画像選択・配置・トリミング)をランダムで決定する。
画像選択基準としては、例えば、レイアウト中の画像配置枠がN個の時、画像群の中からどの画像を選択するかが挙げられる。配置基準としては、例えば、選択した複数の画像を、どの配置枠に配置するかが挙げられる。トリミング基準としては、配置した際に、どの程度のトリミング処理を行うかというトリミング率が挙げられる。トリミング率は例えば0〜100%で表わされ、トリミングは、図14に示すように、画像の中心を基準として所定のトリミング率で行われる。図17では、1401は画像全体を示し、1402はトリミング率50%でトリミングした際の切り取り枠を示している。
上述したような画像選択・配置・トリミング基準に基づいて、可能な限り数多くの一時レイアウトを生成する。生成した各一時レイアウトは、以下に示すList.7のXMLのように表わすことができる。各スロットに対して、選択され配置された画像のIDがImageIDタグに記述され、トリミング率がTrimingRatioタグに記述される。
Figure 0006261206

なお、ここで生成する一時レイアウトの数Lは、後述するレイアウト評価ステップでの評価処理の処理量と、それを処理する情報処理装置115の性能に応じて決定される。本実施形態では、例えば数十万通り以上の一時レイアウトを生成した。生成したレイアウトは、それぞれIDを付加して図37のXML形式で2次記憶装置103にファイル保存してもよいし、構造体など別のデータ構造を用いてRAM102上に記憶してもよい。
次に、図12のS2108において、大量に生成した一時レイアウトの定量評価を行う。具体的には、作成したL個の一時レイアウトに対して、それぞれ所定のレイアウト評価量を用いて評価を行う。本実施形態におけるレイアウト評価量の一覧を、表3に示す。表3に示すように、本実施形態で用いるレイアウト評価量は、主に3つのカテゴリに分けることができる。
Figure 0006261206
一つ目は、画像個別の評価量である。これは画像の明るさや彩度、ブレぼけ量等の状態を判断し、スコア化するものである。以下、本実施形態のスコア化の一例について説明する。明るさの適正度は、図15(a)に示すように、平均輝度がある所定レンジ範囲内においてはスコア値100とし、所定レンジ範囲から外れるとスコア値を下げるよう設定する。彩度の適正度は、図15(a)に示すように、画像全体の平均彩度がある所定の彩度値より大きい場合にはスコア値100とし、所定値より小さい場合にはスコア値を除々に下げるように設定する。
二つ目は、画像とスロットの適合度の評価である。画像とスロットの適合度の評価としては、例えば、人物適合度、トリミング欠け判定が挙げられる。人物適合度は、スロットに指定されている人物と、実際に該スロットに配置された画像内に存在する人物の適合率を表したものである。例を挙げると、あるスロットが、XMLで指定されているPersonGroupで、“father”、“son”が指定されているものとする。この時、該スロットに割り当てられた画像に該2人の人物が写っていたとすると、該スロットの人物適合度はスコア値100とする。片方の人物しか写っていなかったとすると、適合度はスコア値50とし、両者とも写っていなかった場合は、スコア値0とする。ページ内の適合度は、各スロット毎に算出した適合度の平均値とする。トリミング領域1402の欠け判定は、例えば、図15(c)に示すように、画像中に存在する顔の位置2003が判明している場合、欠けた部分の面積に応じて、0から100までのスコア値を算出する。欠けた面積が0の場合、スコアは100とし、逆にすべての顔領域が欠けた場合、スコア値は0とする。
三つめは、レイアウトページ内のバランスを評価である。バランスを評価するための評価値としては、例えば、画像類似度、色合いばらつき、顔サイズばらつきが挙げられる。画像の類似性は、大量に生成した一時レイアウト毎に算出されるレイアウト頁内のそれぞれの画像の類似性である。例えば、旅行テーマのレイアウトを作成したい場合、あまりに似通った類似度の高い画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない場合がある。したがって、例えば、類似性は、撮影日時によって評価することができる。撮影日時が近い画像は、同じような場所で撮影された可能性が高いが、撮影日時が離れていれば、その分、場所もシーンも異なる可能性が高いからである。撮影日時は、List.1で示したように、画像属性情報として、予めデータベース部202に保存されている、画像毎の属性情報から取得することができる。撮影日時から類似度を求めるには以下のような計算を行う。例えば、今注目している一時レイアウトに表4で示すような4つの画像がレイアウトされているものとする。
Figure 0006261206
この場合は、画像ID102と画像ID108間の30分が最も短い間隔である。この間隔をMinIntervalとし、秒単位で格納する。すわなち30分=1800秒である。このMinIntervalをL個の各一時レイアウト毎に算出して配列stMinInterval[l]に格納する。次に、該stMinInterval[l]の中で最大値MaxMinInterval値を求める。すると、l番目の一時レイアウトの類似度評価値Similarity[l]は以下のようにして求めることができる。
Similarity[l]=100×stMinInterval[l]/MaxMinInterval
すなわち、上記Similarity[l]は、最小撮影時間間隔が大きいほど100に近づき、小さいほど0に近づく値となっているため、画像類似度評価値として有効である。
次に、色合いのバラつきについて説明する。例えば旅行テーマのレイアウトを作成したい場合、あまりに似通った色(例えば、青空の青、山の緑)の画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない場合がある。この場合は、色のばらつきの大きいものを高い評価とする。注目しているl番目の一時レイアウト内に存在する画像の平均色相AveHの分散を算出して、それを色合いのバラつき度tmpColorVariance[l]として格納する。次に、tmpColorVariance[l]の中での最大値MaxColorVariance値を求める。すると、l番目の一時レイアウトの色合いバラつき度の評価値ColorVariance[l]は以下のようにして求めることができる。
ColorVariance[l]=100×tmpColorVariance[l]/MaxColorVariance
上記ColorVariance[l]は、ページ内に配置された画像の平均色相のバラつきが大きいほど100に近づき、小さいほど0に近づく値となる。したがって、色合いのばらつき度評価値として用いることができる。
次に、顔の大きさのバラつき度について説明する。例えば、旅行テーマのレイアウトを作成したい場合、レイアウト結果を見て、あまりに似通った顔のサイズの画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない場合がある。レイアウト後の紙面上における顔の大きさが、小さいものもあれば大きいものもあり、それらがバランスよく配置されていることが、良いレイアウトと考える。この場合は、顔のサイズのばらつきの大きいものを高い評価とする。注目しているl番目の一時レイアウト内に配置された後の顔の大きさ(顔位置の左上から右下までの対角線の距離)の分散値を、tmpFaceVariance[l]として格納する。次に、該tmpFaceVariance[l]の中での最大値MaxFaceVariance値を求める。すると、l番目の一時レイアウトの顔サイズバラつき度の評価値FaceVariance[l]は、以下のようにして求めることができる。
FaceVariance[l]=100×tmpFaceVariance[l]/MaxFaceVariance
上記FaceVariance[l]は、紙面上に配置された顔サイズのバラつきが大きいほど100に近づき、小さいほど0に近づく値となる。したがって、顔サイズのバラつき度評価値として用いることができる。
またその他カテゴリとして、ユーザの嗜好性評価が考えられる。
以上説明したような、各一時レイアウト毎に算出した複数の評価値を、以下では統合化して、各一時レイアウト毎のレイアウト評価値とする。1番目の一時レイアウトの統合評価値を、EvalLayout[l]とし、上記で算出したN個の評価値(表3の評価値それぞれを含む)の値を、EvalValue[n]とする。このとき、統合評価値は以下で求めることができる。
Figure 0006261206
上式において、W[n]は、表3で示したシーン毎の各評価値の重みである。この重みはレイアウトのテーマ毎に異なる重みを設定する。例えば、表3に示すようにテーマを成長記録“growth”と旅行“travel”で比較した場合、旅行テーマの方は、できるだけ良質の写真をいろいろな場面で数多くレイアウトすることが望ましい場合が多い。このため、画像の個別評価値やページ内のバランス評価値を重視する傾向に設定する。一方、成長記録“growth”の場合、画像のバリエーションよりは、成長記録の対象となる主人公が確実にスロットに適合しているか否かが重要である場合が多い。このため、ページ内バランスや画像個別評価よりも、画像・スロット適合度評価を重視する傾向に設定する。なお、本実施形態におけるテーマ毎の重要度は表3に示すように設定した。
このようにして算出したEvalLayout[l]を用いて、S1709では、レイアウト結果表示のためのレイアウトリストLayoutList[k]を生成する。レイアウトリストは、予め定められた個数(例えば5個)に対して、EvalLayout[l]のうち、評価値が高いもの順に識別子1を記憶しておく。例えば最も良いスコアを出したものが、l=50番目に作成した一時レイアウトであった場合、LayoutList[0]=50となる。同様に、LayoutList[1]以降は、スコア値が2番目以降の識別子1を記憶しておく。
図6に戻って、上記処理によって得られたレイアウト結果を、図6のS605でレンダリングした結果を図16のように表示する。S605では、まずLayoutList[0]に格納されているレイアウト識別子を読み出し、識別子に相当する一時レイアウト結果を、2次記憶装置103あるいはRAM102上から読み出す。レイアウト結果には、上述したようにテンプレート情報とテンプレート内に存在するスロット毎に、割り当てられた画像名が設定されている。したがって、これらの情報に基づいて、情報処理装置115上で動作するOSの描画関数を用いて、該レイアウト結果をレンダリングし、図16の2902のように表示することになる。
図16では、Nextボタン2904を押下することにより、次点スコアであるLayoutList[1]の識別子を読み出し、上記と同様にレンダリング後、表示を行う。これにより、ユーザは様々なバリエーションの提案レイアウトを閲覧することができる。また、Previousボタン2903を押下することにより、前に表示したレイアウトを再表示することができる。さらに、表示されたレイアウトが気に入った場合には、プリントボタン2905を押下することで、情報処理装置115に接続されたプリンタ112からレイアウト結果2902をプリントアウトすることができる。
以上が本実施形態における基本的な処理の流れである。
ここで、本実施形態に係るアプリケーションソフトウェアの更新時の処理に関して詳細に説明する。具体的には、上述したアプリケーションソフトウェアにおいて、検出手段としてFD1を搭載する第1バージョンから、検出手段としてFD2を搭載するFD2を搭載する第2バージョンに更新がされた場合について説明する。
ここで、FD1とFD2は、検出アルゴリズム又は検出パラメータが互いに異なるものである。これにより、オブジェクトの検出率及びオブジェクトの誤検出率を含む検出性能が双方で異なる。すなわち、本実施形態における「検出性能が異なる」とは、同じ検出特性での能力差を指すのではなく、検出特性が異なることを指す。
検出特性が異なる例として、FD1及びFD2がそれぞれ異なる動作環境に最適化されたものである場合が挙げられる。具体例としては、FD1がPC上での動作に最適化されたものであり、FD2がネットワークに接続されたサーバー上での動作に最適化されたものが挙げられる。FD2としては、FD1とは顔検出のアルゴリズムを変更し、並列動作可能な内部処理を多用し、それぞれの並列処理をマルチタスク処理に割り当てることで、全体の処理時間を短くしたものなどが挙げられる。
図18は、アプリケーションソフトウェアにおいて顔検出処理がFD2に更新された後のバックグラウンド解析の処理フローを示す。S2401、S2402,S2405,S2406は、それぞれ、図3のS301、S302、S305、S306と同様であるため説明を省略する。すなわち、S2403以外は、図3と同様の処理であるので、S2403について詳細に説明する。
図19は、S2403のセンシング処理のフローを示す。
まず、S2501において、現在注目している画像のセンシング情報が既に存在するかを、データベースに問い合わせる。本実施形態では、上述した検出情報が既に存在するかをデータベースに問い合わせる。言い換えれば、現在注目している画像において既に顔検出が行われているかを確認する。その結果、判定がNoの場合、S2503に進む。なお、判定がNoの場合とは、センシング情報が存在しない場合であり、注目している画像は、まだセンシング処理が実行されていない画像であることを示す。
S2503では、FD2により画像センシング処理を行う。その後、以下のList.8で示すような形式で、センシング結果をデータベースに保存し(S2504)、処理を終了する。このとき、使用した顔検出はFD2であるため、同リストのAppliedFDVersionおよびPersonタグの中のFDVersionには、FD2に紐付けられた値2と記述される。また、画像中に複数の人物顔が存在する場合には、それぞれの顔位置が複数のPersonタグ内に記述される。
Figure 0006261206
次に、S2501での判定がYesの場合、すなわち、注目画像に対するセンシング情報が既にデータベース(DB)に存在する場合、S2502で該センシング情報をデータベースからセンシング情報を読み出す。なお、判定がYesの場合とは、注目している画像は、すでにセンシング処理が実行されている画像である、すなわち、既に顔検出が行われていることを示す。
次に、S2505において、S2502で読み出されたセンシング情報中のAppliedFDVersionを参照し、画像に既に顔検出FD2が適用されているか否かの判断を行う。
既にFD2が適用済みの画像であった場合、すなわち、FD2によりオブジェクトの検出処理が実行されている場合、処理を終了する。
AppliedFDVersionが2未満、すなわち、以前センシングは行われたものの、FD2によるセンシングが行われていない状態の場合には、FD2を用いたセンシング処理を行う(S2506)。このとき、画像中に複数の人物顔が存在する場合には、FD2の検出結果として、複数個の顔位置を出力する。
次に、S2507において、FD2で検出された顔位置と、データベースに格納済みの検出位置とを比較し、データベース内にFD2で検出された顔位置と略一致する検出位置があるか否かを判定する。すなわち、新しい検出手段(本実施形態では、FD2)により検出されたオブジェクト領域(本実施形態では、顔領域)の位置情報と略一致するオブジェクト領域の位置情報がデータベースに格納されているか(以前使用されていた検出手段(本実施形態では、FD1)により検出されているか)を判定する。ここで、検出位置とは、検出領域を含むものである。本実施形態では、注目領域である顔領域の位置情報に基づいて検出領域を判定する。そして、検出領域に基づいて略一致するか否かを判断する。例えば、FD1で検出できた領域の画像上の座標位置が、左上(100,100)、右下(200,200)である場合、これに基づいてFD1により検出された検出領域を求める。同様に、FD2で同じ領域を検出すると、左上(101,101)、右下(199,199)である場合、これに基づいてFD2により検出された検出領域を求める。
画像中に複数の顔が存在する場合は、FD2で検出したi番目の顔について、データベースで格納済みのPersonタグで記述されたj個の顔数分、略一致するか検出位置があるか否かの判定を行う。ここで、iとjの数は、FD1とFD2は検出性能が異なるため、等しいとは限らない。
また、ここで、「略一致」する位置があるか判定する理由は、FD1とFD2で検出性能が異なる場合、同じ注目領域を検出したとしても、座標位置が完全に一致しないことがあるためである。なお、検出性能が異なる場合、座標位置が完全に一致する可能性は極めて低い。このため、本実施形態では、双方で検出された領域が一致するか否かの判定は、画素単位で評価するのではなく、ある程度のマージンを持っておよそ一致する領域か否かの評価を行う。
ここで、図21を用いて、略一致するか否かの判定について説明する。図21(a)において、破線2701,2705はFD1の顔検出位置(以下、顔検出領域ともいう)であり、実線2702,2706はFD2による検出位置である。また、2703,2704,2707,2708はそれぞれの矩形の重心である。本実施形態では、両者の顔検出領域の重心が、互いの顔検出領域に含まれているか否かに基づいて、略一致するか否かの判定を行う。
重心2703と重心2704は、両者が互いの矩形内に含まれていない。したがって、略一致しないと判定する。この場合は、2人の人物が顔を近づけているケースなどが挙げられる。
一方、重心2707と重心2708は、両者が互いの矩形内に含まれている。したがって、略同一であると判定する。
また、略一致するか否かの判定は、上述したものに限定されるものではない。例えば、顔検出領域の矩形の対角線の長さ同士を比較し、その差異がどちらか一方に対してN%未満であれば略一致すると判定するという条件を追加してもよい。また、顔領域検出の矩形の対角線の長さの差異がどちらか一方に対して所定の閾値未満であれば略一致と判定するとしてもよい。なおNは任意のパラメータである。
S2507において、FD2で検出したi番目の顔の検出位置と略一致する位置が、DB内のj個の顔の中に存在しなかった場合、センシング処理結果をDBに登録する(S2508)。i番目の領域はFD1では検出できなかった新規顔領域であると判断できるためである。
また、S2507で略一致する顔がj個のPersonタグ内に存在すると判断された場合、センシング結果をFD2の数値に更新してDBに保存する(S2509)。データベースのセンシング結果の数値を更新するのは、FD1よりも後に更新されたFD2の方が、検出性能が向上している可能性が高いためである。すなわち、FD2のセンシング結果を優先保存した方が、顔領域を用いた後の画像処理性能が向上する可能性が高いためである。なお、FD1の方がFD2よりも検出性能が高い場合は、S2509においてFD2の結果に置き換えずに、FD1の情報をそのまま保持するように設定すればよい。
S2509では、略一致した顔領域は、FD1でもFD2でも検出できたことをデータベースに登録するようにしてもよい。例えば、各Personタグ内のFDVersionを以下のように記述する。FDVersionには、検出位置を検出した検出手段を特定する検出情報が記述されており、これを参照することにより、検出位置を検出した検出手段が複数あるか否かを確認することができる。
Figure 0006261206
上述した処理により、データベースに登録するセンシング情報、具体的には、検出位置の情報を決定する。言い換えれば、複数の検出手段により検出された検出結果に基づいて、画像のオブジェクトの検出位置を再決定する。
本実施形態によれば、異なる検出性能をもつ複数の顔検出位置をマージすることができるため、FD1とFD2の結果を取りこぼしなく利用することができる。これにより、以降のレイアウト処理時に双方の結果を利用することができる。
顔検出処理が更新され、検出アルゴリズムや検出パラメータがFD1とFD2とで異なる場合、FD1で検出できていた顔が必ずしもFD2で検出できるとは限らない。このため、FD1で検出してデータベースに格納されている顔位置情報を、新しくなったFD2により検出した顔位置情報で全て置き換えると問題が生じることがある。例えば、FD1で検出され人物認識によって分類されていた顔情報が、FD2では未検出となってUI上に表示されない場合が生じる。これに対し、本実施形態では、FD1とFD2の両者で検出された検出位置は、FD2のセンシング結果をデータベースに登録し、FD1のみで検出された検出位置は、FD1のセンシング結果をデータベースに登録したままとする。これにより、顔情報は、確実にUI上に表示することができる。また、例えば、あるアプリケーションでは、検出した顔位置の明るさや色に基づいて好適な自動画像補正を行う場合、FD2に更新されたことで該顔位置が未検出となると、好適な画像補正が実行できなくなる。これに対し、本実施形態では、好適な画像補正を実行することができる。
また、本実施形態では、FD1で検出処理を実施した画像に対してもFD2により検出処理を実施する。これにより、FD2の方がFD1よりも検出性能が高い場合、既にFD1適用済みの画像群について、FD1で未検出の顔をFD2で発見できる。
また、本実施形態では、FD1で検出した検出位置と、FD2で検出した検出位置が略一致か否かに基づいて、データベースに登録するか否かを判定している。これにより、座標が若干異なっていても、同じ顔に対して検出を行っている場合に、それを判定することができる。また、一度FD1によりセンシング処理が行われた画像群に対して、再度FD2によりセンシング処理が実施されることになり、処理量が膨大になる。これに対し、本実施形態では、センシング処理は、ユーザーに気づかれないようバックグラウンドで実行することにより、処理待ち時間などの不利益がない。
このように、FD1とFD2の結果をマージしたセンシング情報のデータベースを用いて、図2の204〜207の自動レイアウト処理を行うことで、どちらか一方のみを用いた処理に比べ、格段に精度の高いレイアウト処理を提供することが可能となる。
(実施形態2)
実施形態1では、センシング情報の置き換え処理は、FD2の結果で置き換えるものとしたが、本実施形態では、顔検出の信頼値を利用して、置き換えるか否かの判断を行う。なお、実施形態1と同様の構成については説明を省略する。
図20は、本実施形態に係るS2403の処理フローを示す。なお、図20において、実施形態1で説明した図19と同様の部分については、同一番号を付し説明を省略する。
図20に示すように、S2507においてFD2による検出位置と略一致する検出位置がデータベースにある場合は、センシング情報を顔検出信頼度の高い方で書き換える(S2609)。具体的には、S2507において略一致すると判定された顔位置について、FD2から得られた信頼値と、FD1で得られPersonタグ中のReliabilityタグに記載されている信頼値とを比較する。なお、両者の信頼値のレンジが異なれば、必要に応じて正規化などの処理を加えた後で比較を行う。両者を比較した結果、信頼値が高いと判断された結果を優先してXMLフォーマットで記述し、DBに保存する。
なお、比較の結果、FD1の信頼値の方が高い場合にはDB中のセンシング情報は更新されないことになるが、同領域はFD2でも検出できた領域である。したがって、FDVersionタグについては、List.9と同様の記述を行う。
本実施形態では、性能の異なる複数の顔検出位置を用いたセンシング情報をマージする際に、顔検出信頼値の高い方を優先してDBに保存する。
これにより、該センシング情報を用いて処理する自動レイアウト等の画像処理を行う場合、FD1及びFD2のうちいずれか一方のセンシング結果を利用する場合に比べて精度の高い処理を行うことができる。
(実施形態3)
本実施形態では、上記のようにFD1とFD2のセンシング結果をマージした結果得られたDBを用いて、画像補正処理を行う。なお、実施形態1と同様の部分については説明を省略する。
図22は、本実施形態の画像補正処理のフローチャートである。
まずS2901において、所望の画像を選択する(S2901)。例えば図8(a)に示すようなサムネイル一覧において、任意の画像を選択する。図8(a)に示すようなサムネイル一覧において、任意の画像を選択すると、例えば、図22(b)に示すように、選択画像は、2802ように拡大表示される。また、図22(b)に示す表示画面には、下部に選択画像に適用可能な画像処理の実行ボタンが複数個配置される。
次に、補正ボタンを押下すると(S2902)、押下したボタンに紐づけられた画像処理を実行する(S2903)。そして、画像処理が実行された補正結果を表示画面に表示して(S2904)、処理を終了する。
例えば、図22(b)の自動補正ボタン2803を押下すると(S2902)、選択されている画像に対して自動で画像補正処理を実行し(S2903)、その結果を表示する(S2904)。
図23は本実施形態に係る自動補正処理のフローを示す。ここでは、自動補正処理により、画像の明るさ補正を行う。
まず、S3001では、注目画像のファイル名を参照してDBにアクセスし、注目画像のセンシング情報のXMLリストを取得する。センシング情報には、既に各顔毎の明るさ情報がPersonタグ内に記述されており、センシング情報から明るさ情報を取得する。なお、注目画像中に複数の顔が存在する際には、複数の明るさ情報を取得する。
次に、取得した明るさ情報に基づいて、基準顔色及び顔明るさの目標値を決定する(S3003)。
まず、補正前の基準顔色FaceYstdの決定について説明する。本実施形態では、FaceYstdは、データベースから得たセンシング情報のうち顔の信頼値を含む情報と、いくつの顔検出により検出できたかという情報(FDVersion)に基づいて決定する。
ここで、画像中の顔がi個存在すると過程すると、i個のPersonタグの中にそれぞれ顔の明るさが含まれており、それをここではFaceY[i]とする。
FaceYstdの算出は以下の式によって行われる。
Figure 0006261206
上述した式において、Wiは重みであり、以下の条件で設定される。
Personタグ内のFDVersionを参照し、1,2が記述されているもの、すなわちFD1/FD2双方で検出できたものについては、W=2.0とし、FD1/FD2どちらか一方のみで記述できたものについては、W=1.0とする。
上記の条件により重みを設定することにより、性能の異なる複数の顔検出で検出できた顔の明るさを重視して、基準顔色FaceYstdを検出することができる。上述した式による算出を行うことで、より精度良く、元画像の基準顔色を算出することができる。双方で検出可能ということは、顔としての信頼度が高く、どちらか一方のみで検出出来た場合には、該領域は誤検出の可能性を含んでいると考えられるためである。
また、FaceYstdの算出方法は、上述したものに限定されるものではない。例えば、センシング情報の中には、上述したように、各顔領域に対して信頼値が算出されている。それを、FaceRe[i]とし、上述した式において、Wiを以下のように定義してもよい。1,2が記述されているもの、すなわちFD1/FD2双方で検出できたものについては、W=FaceRe[i]×1.2とし、FD1/FD2どちらか一方のみで記述できたものについては、W=FaceRe[i]×1.0とする。
上記の条件により重みを設定した場合においても、FD1/FD2の双方で検出できたものについては、重みを大きく設定することになり、顔領域をより重視したFaceYstdの算出を行うことができる。
次に、S3003では顔明るさの目標値FaceYtarを決定する。顔明るさの目標値は、図24(a)に示すFaceYstdとFaceYtarの関係より求めることができる。図24(a)において、横軸はFaceYstd、縦軸はFaceYtarを示しており、実線が両者の対応関係を示している。
FaceYstdがYよりも大きい場合、元画像の顔明るさは十分明るいとして、FaceYstdとFaceYtarを同値として補正は行わない。
一方、FaceYstdがYより小さい場合には顔明るさが好適な状況に比べて暗いと判断し、明るさを上昇させるような目標値を設定する。なお、あまり極端に顔の明るさが暗い場合に、明るさ補正量が極端に大きくなると画像全体の階調が破綻する可能性がある。そのため、FaceYstdが極度に低い場合、具体的には、Xより小さい場合は、FaceYtarを低く設定する。
次に、算出したFaceYstdとFaceYtarを用いて、補正用の輝度トーンカーブを生成する(S3004)。生成する輝度トーンカーブは、図24(b)の3201に図示するものとなる。図24(b)において、横軸は入力輝度値InY、縦軸は出力輝度値OutYである。本実施形態では、上記トーンカーブを1次元ルックアップテーブルとして、所定のビット精度でメモリに保持する。式に記述すると以下になる。
OutY=LutY[InY]
次に、S3004で生成したトーンカーブを画像の各画素毎に適用する(S3005)。公知技術であるため簡単に説明するが、まず、各画素のRGBデータを公知の変換式でYCbCr成分に変換し、該Y値をInYとして、上述した式よりOutYを算出する。そして、OutYCbCr値を再び公知の逆変換式を用いてRGB成分に戻す。この処理を画像中の全画素に対して行うことで画像の自動補正処理を終了する。
なお、トーンカーブの適用方法は、上述したものに限定されず、公知の方法を用いることができる。例えば、図24(b)のトーンカーブを反映したRGB色空間における3次元ルックアップテーブルを生成し、生成した3次元ルックアップテーブルを、公知の四面体補間方法を用いて、画像中の各画素に適用してもよい。
本実施形態では、センシング情報を用いて画像の自動補正を行う際に、複数の顔検出技術で検出できた顔情報を優先して画像処理に反映させることができる。このように、注目領域が複数の検出手段で検出できたか否かの検出情報に基づいて、自動補正で用いるパラメータなどの画像処理パラメータを制御することにより、従来よりも補正精度の高い処理を実行することができる。性能の異なる複数の顔検出技術で検出できている領域は、顔領域である信頼度が非常に高く、誤検出である可能性が非常に低いためである。
なお、本実施形態では、画像の補正処理として、自動明るさ補正を行ったが、画像の補正処理はこれに限定されるものではない。例えば、顔色を用いたカラーバランス補正や顔の明るさに基づく覆い焼き補正、肌を滑らかに補正する美肌処理などの顔領域の状態に基づく補正にも適用することができる。この場合も同様に、補正処理に対して、本実施形態と同様にFDVersion情報を用いて補正量の制御を行うようにすればよい。
(実施形態5)
本実施形態では、実施形態1における、図12のS2108で、FDVersion情報を用いて大量レイアウトの定量評価を行う。なお、実施形態1と同様の構成については説明を省略する。この時の評価量の一覧は、表3に記載されている通りである。本実施形態では、評価量の中の一つである人物適合度について説明する。
本実施形態においても、実施形態1と同様に、図12のフローに従って処理を進めていく。その過程で、S2103において、画像群属性情報として、各画像群についてデータベースよりセンシング情報を取得する。センシング情報の中には、各Personタグにおいて、FDVersionが記載されている。
そして、S2108において、人物適合度判定を行う際に、センシング情報を用いる。あるスロットが、XMLで指定されているPersonGroupで、“father”、“son”が指定されているものとする。このとき、スロットに割り当てられた画像に2人の人物が写っていたとすると、スロットの人物適合度はスコア値100とする。もし片方の人物しか写っていなかったとすると、適合度はスコア値50になり、両者とも写っていなかった場合は、スコア値0になる。このとき、本実施形態では、スコア値の調整を行う。
まず、一つの画像の中に存在する顔数をEとし、これまで画像に適用してきた顔検出の数(FD1,FD2…の数)をFとし、各顔毎のFDVersion数をfeとして、以下の評価値を算出する。
Figure 0006261206
上述した式において、例えば、F=2(FD1,FD2の2種類)、E=2(father,son)とした場合、上述した式の分子のSumは、最大で4となる。また、father、sonの双方顔が検出できている場合は、最小で2になり(少なくともFD1,FD2のどちらか一方では検出ができている)、最大で4になることから、Weは0.5〜1.0の値を取る。
そして、算出したWeを、上述したスコアに乗ずることによりスコア値の調整を行う。これにより、多くの顔検出技術で検出できた顔の場合、適合度は最大となり、どちらか一方の検出技術でしか検出できなかった顔の場合、適合度は抑制される。
また、トリミング領域の欠け判定を、FDVersion情報を用いてスコア値の調整を行うようにしてもよい。図15(c)に示すように、トリミング領域の欠け判定では、画像中に存在する顔の位置2003が判明している場合、欠けた部分の面積に応じて、0から100までのスコア値を算出する。欠けた面積が0の場合、スコアは100とし、逆にすべての顔領域が欠けた場合、スコア値は0とする。このとき、本実施形態においては、欠け判定で算出されたスコアに対して、上述したWeを乗ずることによりスコア値の調整を行うようにすればよい。
算出したWeを、上述したスコアに乗じれば、多くの顔検出技術で検出できた顔の場合に欠け判定のスコアは最大となり、どちらか一方の検出技術でしか検出できなかった顔の場合には、同スコアは抑制される。
本実施形態では、上述した評価値を用いて、S2108のレイアウト定量評価を行う。そして、S2109において、総合スコア値の高いものが好適なレイアウトとしてレイアウトリストの上位となる。
本実施形態では、所望の顔領域が、性能の異なる複数の顔検出技術で重複検出できたものを重視するようにレイアウト評価値を制御する。これにより、単独の顔検出技術を用いて同様の処理を行う場合に比べて、より好適で精度の高い自動レイアウト処理を実現することができる。
(他の実施形態)
以上、本発明の各実施形態を説明したが、本発明の基本的構成は上述したものに限定されるものではない。以上説明した実施例は本発明の効果を得るための一手段であり、類似の別手法を用いたり、異なるパラメータを用いたとしても、本発明と同等の効果が得られる場合は、本発明の範疇に含まれる。
S2507における略一致するか否かの判定は、上述したものに限定さらえるものではない。略一致するか否かの判定は、例えば、FD1及びFD2で得られた矩形座標の頂点間距離を元に略一致度を算出して、判定するようにしてもよい。例えば、FD1で検出された顔矩形領域の左上座標を(LT1x,LT1y)、右下座標を(RB1x,RB1y)とする。また、FD2で検出された顔矩形領域の左上座標を(LT2x,LT2y)、右下座標を(RB2x,RB2y)とする。両者の差異の平均値は以下の式で算出することができる。
Figure 0006261206
上述した式により求められるFD1とFD2で得られた矩形座標の頂点間距離の差異の平均値を顔領域の矩形対角線と比較し、所定の割合(M%)以下であれば、両者の矩形領域は略一致しているとみなすようにしてもよい。ここでMは任意のパラメータである。なお、顔検出で得られた矩形領域のうち、2つの頂点のみを用いて略一致判定する場合を例に挙げて説明したが、本発明はこれに限定されるものではない。全ての頂点を用いて算出してもよいし、3つだけ利用して略一致判定してもよい。
また、略一致するか否かの判定は、例えば、検出領域の重なり面積に基づいて、判定するようにしてもよい。図25は、FD1の検出領域とFD2の検出領域を模式的に表した図である。図24において、点線で表される3301,3304は、FD1による検出矩形領域に内接する円を示し、実線で表される3302,3305は、FD2による検出矩形領域に内接する円を示している。例えば、円3301の中心座標と半径をそれぞれ、(C1x,C1y),R1とし、円3302の中心座標と半径を(C2x,C2y),R2とする。これらの座標位置を用いて、今注目している画素位置(x,y)が、双方の内接円に含まれる場合は、以下の式を満たす。
<円3301の場合>
Figure 0006261206
<円3302の場合>
Figure 0006261206
これら双方の条件を満たす画素は、両方の内接円に含まれることになり、図25の領域3203や領域3306に位置することになる。この画素の割合を元の円の面積(どちらか一方でもよいし、双方の平均でもよい)と比較して、L%以上であれば、双方の領域は略一致しているものとみなす。なお、Lは任意のパラメータである。このような手法を用いれば、領域3203のように重なり面積が小さい場合は、双方の条件を満たす画素の割合が小さくなり、両者は略一致しているものとみなさないように設定することができる。一方、領域3306のように重なり面積が大きい場合は、双方の条件を満たす画素の割合が大きくなる。
上述した実施形態では、FDVersionタグに基づいて、いずれの検出手段により検出を行ったかを判定するものとしたが、これに限定されるものではない。例えば、タイムスタンプを参照して判定してもよい。すなわち、顔領域の検出の日時がアプリケーションの更新前のものであれば、更新前の検出手段により検出したものと判定してもよい。
また、上述した実施形態では、FD2で検出した顔の検出位置と略一致する検出位置が、データベースに存在しなかった場合、データベース登録するものとしたが(S2508)、これに限定されるものではない。例えば、FD1とFD2の両者で検出された結果のみをデータベースに登録するようにしてもよい。
上述した実施形態では、アプリケーションソフトウェアの更新として、アプリケーションの動作環境の違いに基づく更新を例に挙げて説明したが、これに限定されるものではない。例えば、性能の向上を図るために、異なる検出手段、例えば、テンプレートマッチング法によるアルゴリズムを用いる検出手段から、ada−boosting法を用いる検出手段に変更する場合の更新でも同様の効果が得られる。
さらに、上述した実施形態では、検出領域に基づいて、顔の検出位置が略一致するか判定したが、これに限定されるものではない。例えば、器官に基づく検出を行う場合、器官の位置の差異が所定の範囲内であれば、略一致すると判定するようにしてもよい。
また、上述した実施形態では、オブジェクトとして人物を例に挙げて説明したが、オブジェクトは人物に限定されるものではない。犬や猫などのペットであってもよく、建物や小物などでもよい。この場合は、犬や猫などのペットの認識処理を行ってこれらを認識することにより、オブジェクトとしてペットを設定することができる。また、エッジ検出などの形を認識処理によれば、建物や小物なども認識できるため、オブジェクトとして、建物や小物などを設定することができる。いずれの場合であっても、上述した実施形態と同様の方法により、画像処理を行うことができる。
上述した実施形態では、画像処理装置としてコンピュータを例に挙げて説明したが、これに限定されるものではない。例えば、プリンタ、複写機、ファクシミリ装置、携帯電話、PDA、画像ビューワー、デジタルカメラ、などの画像処理を行う装置において、本発明を適用可能である。
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、プリンタ、複写機、ファクシミリ装置等)に適用しても良い。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部又は全部をハードウェアによって実現するようにしてもよい。

Claims (34)

  1. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得手段と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定手段と、
    前記画像における注目領域の位置情報前記保持手段に保持させる制御手段と、
    を備え
    前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御手段は、前記取得手段により取得した前記保持手段に保持されている位置情報を前記第2の検出手段により検出した位置情報に書き換えることにより、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させ、
    前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御手段は、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする情報処理装置。
  2. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得手段と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定手段と、
    前記画像における注目領域の位置情報を前記保持手段に保持させる制御手段と、
    を備え、
    前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記取得手段により取得した前記保持手段に保持されている位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持したままとし、
    前記判定手段により、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御手段は、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする情報処理装置。
  3. ソフトウエアのバージョンアップにより、前記第1検出手段は前記第2検出手段に更新されることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判定手段は、前記画像における各注目領域毎に、前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記判定手段は、一の検出手段が検出した注目領域の重心の位置が、他の検出手段が検出した注目領域に含まれるか否かにより、同一とみなせる位置情報があるか判定することを特徴とする請求項4に記載の情報処理装置。
  6. 前記判定手段は、複数の検出手段で検出された注目領域間の位置の差異が所定の閾値未満であるか否かにより、同一とみなせる位置情報があるか判定することを特徴とする請求項4に記載の情報処理装置。
  7. 前記制御手段は、前記位置情報を検出した検出手段の情報を前記保持手段に保持させることを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
  8. 前記制御手段は、前記保持手段に前記画像の各注目領域ごとに当該注目領域が複数の検出手段で検出できたか否かの検出情報を保持させることを特徴とする請求項1〜7のいずれか1項に記載の情報処理装置。
  9. 前記画像における注目領域は、前記画像におけるオブジェクト領域であることを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記第2の検出手段は、前記保持手段に保持された位置情報がない場合、画像における注目領域の位置情報を検出することを特徴とする請求項1〜9のいずれか1項に記載の情報処理装置。
  11. 前記制御手段は、前記保持手段により保持された位置情報がない場合、前記第2検出手段により検出した注目領域の位置情報を前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする請求項1〜10のいずれか1項に記載の情報処理装置。
  12. 前記第1の検出手段と前記第2の検出手段は、検出アルゴリズム又は検出パラメータが互いに異なることを特徴とする請求項1〜11のいずれか1項に記載の情報処理装置。
  13. 前記第1の検出手段と前記第2の検出手段は、それぞれ異なる動作環境に最適化されたものであることを特徴とする請求項1〜12のいずれか1項に記載の情報処理装置。
  14. 前記保持手段により保持された画像における注目領域の位置情報に基づいて、画像処理を実行する画像処理手段をさらに備えることを特徴とする請求項1〜13のいずれか1項に記載の情報処理装置。
  15. 前記画像処理は、前記画像の各注目領域ごとに当該注目領域が複数の検出手段で検出できたか否かの検出情報に基づいて、画像処理パラメータを制御することを特徴とする請求項14に記載の情報処理装置。
  16. 前記画像処理は、画像補正処理であることを特徴とする請求項14又は15に記載の情報処理装置。
  17. 前記画像処理は、自動レイアウト処理であることを特徴とする請求項14又は15に記載の情報処理装置。
  18. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得工程と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段により、画像における注目領域の位置情報を検出する検出工程と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定工程と、
    前記画像における注目領域の位置情報前記保持手段に保持させる制御工程と、
    を備え
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御工程では、前記取得工程により取得した前記保持手段に保持されている位置情報を前記第2の検出手段により検出した位置情報に書き換えることにより、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させ、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御工程では、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする情報処理方法。
  19. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得工程と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段により、画像における注目領域の位置情報を検出する検出工程と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定工程と、
    前記画像における注目領域の位置情報を前記保持手段に保持させる制御工程と、
    を備え
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御工程では、前記取得工程により取得した前記保持手段に保持されている位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持したままとし、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御工程では、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする情報処理方法。
  20. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得工程と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段により、画像における注目領域の位置情報を検出する検出工程と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定工程と、
    前記画像における注目領域の位置情報を前記保持手段に保持させる制御工程と、
    をコンピュータに実行させるプログラムであって、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御工程では、前記取得工程により取得した前記保持手段に保持されている位置情報を前記第2の検出手段により検出した位置情報に書き換えることにより、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させ、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御工程では、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とするプログラム。
  21. 保持手段から第1の検出手段により得られた画像における注目領域の位置情報を取得する取得工程と、
    前記第1検出手段が更新されることにより搭載される検出手段であり、前記第1の検出手段とは検出特性が異なり、画像における注目領域の位置情報を検出する第2の検出手段により画像における注目領域の位置情報を検出する検出工程と、
    前記取得手段により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定する判定工程と、
    前記画像における注目領域の位置情報を前記保持手段に保持させる制御工程と、
    をコンピュータに実行させるプログラムであって、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があると判定された場合、前記制御工程では、前記取得工程により取得した前記保持手段に保持されている位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持したままとし、
    前記判定工程により、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報がないと判定された場合、前記制御工程では、前記第2の検出手段により検出した位置情報を、前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とするプログラム。
  22. ソフトウエアのバージョンアップにより、前記第1検出手段は前記第2検出手段に更新されることを特徴とする請求項20又は21に記載のプログラム。
  23. 前記判定工程では、前記画像における各注目領域毎に、前記取得工程により取得した位置情報の中に前記第2の検出手段により検出した注目領域の位置情報と同一とみなせる位置情報があるか判定することを特徴とする請求項20〜22のいずれか1項に記載のプログラム。
  24. 前記判定工程では、一の検出手段が検出した注目領域の重心の位置が、他の検出手段が検出した注目領域に含まれるか否かにより、同一とみなせる位置情報があるか判定することを特徴とする請求項23に記載のプログラム。
  25. 前記判定工程では、複数の検出手段で検出された注目領域間の位置の差異が所定の閾値未満であるか否かにより、同一とみなせる位置情報があるか判定することを特徴とする請求項23に記載のプログラム。
  26. 前記制御工程では、前記位置情報を検出した検出手段の情報を前記保持手段に保持させることを特徴とする請求項20〜25のいずれか1項に記載のプログラム。
  27. 前記制御工程では、前記保持手段に前記画像の各注目領域ごとに当該注目領域が複数の検出手段で検出できたか否かの検出情報を保持させることを特徴とする請求項20〜26のいずれか1項に記載のプログラム。
  28. 前記画像における注目領域は、前記画像におけるオブジェクト領域であることを特徴とする請求項20〜27のいずれか1項に記載のプログラム。
  29. 前記第2の検出手段は、前記保持手段に保持された位置情報がない場合、画像における注目領域の位置情報を検出することを特徴とする請求項20〜28のいずれか1項に記載のプログラム。
  30. 前記制御工程では、前記保持手段により保持された位置情報がない場合、前記第2検出手段により検出した注目領域の位置情報を前記画像における注目領域の位置情報として前記保持手段に保持させることを特徴とする請求項20〜29のいずれか1項に記載のプログラム。
  31. 前記第1の検出手段と前記第2の検出手段は、検出アルゴリズム又は検出パラメータが互いに異なることを特徴とする請求項20〜30のいずれか1項に記載のプログラム。
  32. 前記第1の検出手段と前記第2の検出手段は、それぞれ異なる動作環境に最適化されたものであることを特徴とする請求項20〜31のいずれか1項に記載のプログラム。
  33. 前記保持手段により保持された画像における注目領域の位置情報に基づいて、画像処理を実行する画像処理工程をさらに備えることを特徴とする請求項20〜32のいずれか1項に記載のプログラム。
  34. 前記画像処理は、自動レイアウト処理であることを特徴とする請求項33に記載のプログラム。
JP2013137060A 2013-06-28 2013-06-28 情報処理装置、情報処理方法及びプログラム Active JP6261206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013137060A JP6261206B2 (ja) 2013-06-28 2013-06-28 情報処理装置、情報処理方法及びプログラム
US14/313,853 US9542594B2 (en) 2013-06-28 2014-06-24 Information processing apparatus, method for processing information, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013137060A JP6261206B2 (ja) 2013-06-28 2013-06-28 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2015011557A JP2015011557A (ja) 2015-01-19
JP2015011557A5 JP2015011557A5 (ja) 2016-08-12
JP6261206B2 true JP6261206B2 (ja) 2018-01-17

Family

ID=52115641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013137060A Active JP6261206B2 (ja) 2013-06-28 2013-06-28 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US9542594B2 (ja)
JP (1) JP6261206B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10593007B1 (en) 2015-06-11 2020-03-17 Digimarc Corporation Methods and arrangements for configuring industrial inspection systems
JP6685129B2 (ja) * 2015-12-25 2020-04-22 キヤノン株式会社 画像処理装置、プログラム、及び画像処理方法
JP6790611B2 (ja) * 2016-09-02 2020-11-25 富士通株式会社 生体画像処理装置、生体画像処理方法、および生体画像処理プログラム
EP3306527B1 (en) * 2016-10-05 2021-01-06 Canon Europa N.V. A method of cropping an image, an apparatus for cropping an image, a program and a storage medium
KR20180068578A (ko) 2016-12-14 2018-06-22 삼성전자주식회사 복수의 센서를 이용하여 객체를 인식하는 전자 기기 및 방법
JP6869809B2 (ja) * 2017-05-29 2021-05-12 株式会社Nttドコモ 画像推定装置
JP7013757B2 (ja) * 2017-09-20 2022-02-01 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
JP7056055B2 (ja) * 2017-09-27 2022-04-19 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
CN113112479A (zh) * 2021-04-15 2021-07-13 清华大学 基于关键区块提取的渐进式目标检测方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2541688B2 (ja) 1990-05-21 1996-10-09 日産自動車株式会社 眼位置検出装置
JP2973676B2 (ja) 1992-01-23 1999-11-08 松下電器産業株式会社 顔画像特徴点抽出装置
JP3557659B2 (ja) 1994-08-22 2004-08-25 コニカミノルタホールディングス株式会社 顔抽出方法
JPH0877334A (ja) 1994-09-09 1996-03-22 Konica Corp 顔画像の特徴点自動抽出方法
JP3469031B2 (ja) 1997-02-18 2003-11-25 株式会社東芝 顔画像登録装置及びその方法
JPH1153525A (ja) 1997-08-06 1999-02-26 Matsushita Electric Ind Co Ltd 顔器官検出装置及び媒体
JP3549013B2 (ja) 1998-03-05 2004-08-04 日本電信電話株式会社 目の位置検出方法、目の位置検出装置および目の位置検出プログラムを記録した記録媒体
JP2000105829A (ja) 1998-09-29 2000-04-11 Matsushita Electric Ind Co Ltd 顔パーツ検出方法及びその装置
JP2000132688A (ja) 1998-10-29 2000-05-12 Matsushita Electric Ind Co Ltd 顔パーツ検出方法及びその装置
JP2000235648A (ja) 1999-02-17 2000-08-29 Fujitsu Ltd 目の抽出装置および瞬き検出装置
JP2001216515A (ja) 2000-02-01 2001-08-10 Matsushita Electric Ind Co Ltd 人物の顔の検出方法およびその装置
EP1211640A3 (en) 2000-09-15 2003-10-15 Canon Kabushiki Kaisha Image processing methods and apparatus for detecting human eyes, human face and other objects in an image
US6895103B2 (en) 2001-06-19 2005-05-17 Eastman Kodak Company Method for automatically locating eyes in an image
JP2003216935A (ja) * 2002-01-25 2003-07-31 Matsushita Electric Ind Co Ltd 顔抽出装置及び方法及びそれを記憶した記録媒体
JP4307496B2 (ja) * 2007-03-19 2009-08-05 株式会社豊田中央研究所 顔部位検出装置及びプログラム
JP4998995B2 (ja) * 2007-06-08 2012-08-15 富士フイルム株式会社 アルバム作成装置および方法ならびにプログラム
JP2009182945A (ja) * 2008-02-01 2009-08-13 Canon Inc 画像処理装置、その制御方法及びプログラム
JP4769847B2 (ja) * 2008-06-25 2011-09-07 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体
JP5743384B2 (ja) 2009-04-14 2015-07-01 キヤノン株式会社 画像処理装置及び画像処理方法とコンピュータプログラム
JP5424712B2 (ja) 2009-05-21 2014-02-26 キヤノン株式会社 画像処理装置及びその制御方法とプログラム
CN103004179B (zh) * 2011-06-29 2015-11-25 奥林巴斯映像株式会社 跟踪装置和跟踪方法

Also Published As

Publication number Publication date
US9542594B2 (en) 2017-01-10
US20150003680A1 (en) 2015-01-01
JP2015011557A (ja) 2015-01-19

Similar Documents

Publication Publication Date Title
JP6261206B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6071287B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6071288B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5956860B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6045232B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6012310B2 (ja) 画像処理装置、画像処理方法、およびプログラム
US10127436B2 (en) Apparatus, image processing method and storage medium storing program
JP5993642B2 (ja) 情報処理装置及びその制御方法及びプログラム
JP6016489B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム
JP6012309B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2015053541A (ja) 画像処理装置、画像処理方法、及びプログラム
JP6282065B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6031278B2 (ja) 情報処理装置及びその制御方法及びプログラム
JP6222900B2 (ja) 画像処理装置、画像処理方法およびプログラム
US9509870B2 (en) Image processing apparatus, image processing method, and storage medium enabling layout varations
JP6797871B2 (ja) プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171212

R151 Written notification of patent or utility model registration

Ref document number: 6261206

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350