説明

顔画像出力制御装置、顔画像出力制御方法、顔画像出力制御プログラムおよび印刷装置

【課題】証明写真を印刷する過程におけるユーザの負担が大きかった。
【解決手段】対象画像上における略正面向きの顔画像の検出を行なう顔画像検出部と、上記顔画像検出部によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御部とを備える顔画像出力制御装置とした。上記出力制御部は、上記顔画像検出部によって対象画像から略正面向きの顔画像が複数検出された場合には、当該検出された複数の顔画像の中から所定の基準に基づいて一つの顔画像を選択し、当該選択した顔画像を証明写真として印刷可能であることを示す特定の表示を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔画像出力制御装置、顔画像出力制御方法、顔画像出力制御プログラムおよび印刷装置に関する。
【背景技術】
【0002】
ユーザが自らプリンタを用いて証明写真(例えば、履歴書や運転免許証やパスポート等に用いられる証明写真)を印刷する場合がある。これに関連する技術として、ユーザが印刷モードの選択画面から証明写真モードをした後に、ユーザから印刷用紙の種類や証明写真のサイズの選択を受付け、さらに、証明写真として印刷される画像の選択をユーザから受付けた後に、当該選択された画像から顔領域を抽出し、この抽出した顔領域を含んで証明写真として印刷される領域(クリップ領域)を決定し、当該クリップ領域の画像を上記選択された印刷用紙に印刷する印刷装置が知られている(特許文献1参照。)。
【特許文献1】特開2007‐253488号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記文献1においては、ユーザは、ディスプレイを見ながら操作パネルを操作することにより、証明写真モードを選択し、その後、メモリカードから読み出されてディスプレイに表示される複数の画像を順次確認し、証明写真として印刷したい画像を選択する。しかしながら、メモリカードに撮り貯められた画像の内容を一枚一枚確認しながら、どの画像が証明写真として相応しいかを判断することは、ユーザにとって大きな負担である。特に、多数の画像がメモリカードに保存されている場合には、かかる判断に要する負担は非常に大きくなる。さらに、一つの画像内に複数の顔画像が含まれている場合には、ユーザは、いずれの顔画像を証明写真として印刷すべきか迷う場合がある。
【0004】
本発明は上記課題に鑑みてなされたもので、証明写真を印刷する過程におけるユーザの負担を軽減することが可能な顔画像出力制御装置、顔画像出力制御方法、顔画像出力制御プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の顔画像出力制御装置は、対象画像上における略正面向きの顔画像の検出を行なう顔画像検出部と、上記顔画像検出部によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御部とを備える構成としてある。本発明によれば、対象画像上に略正面向きの顔画像が存在するか否かが判定され、略正面向きの顔画像が存在する場合(略正面向きの顔画像が検出された場合)に、対象画像とともに上記特定の表示が出力される。そのため、ユーザは、当該特定の表示を目にすることにより、対象画像上に証明写真として相応しい顔画像が存在することを即座に認識することができ、画像の選択が容易となる。
【0006】
上記出力制御部は、上記顔画像検出部によって対象画像から略正面向きの顔画像が複数検出された場合には、当該検出された複数の顔画像の中から所定の基準に基づいて一つの顔画像を選択し、当該選択した顔画像を証明写真として印刷可能であることを示す特定の表示を出力するとしてもよい。当該構成によれば、対象画像に略正面向きの顔画像が複数存在していても、一つの顔画像に関してのみ上記特定の表示が出力されるため、ユーザは、どの顔画像を証明写真として印刷すべきか迷うことがない。この場合の具体例として、上記出力制御部は、上記顔画像検出部によって検出された複数の略正面向きの顔画像のうちサイズが最大である顔画像を選択するとしてもよい。当該構成によれば、対象画像上に複数存在する略正面向きの顔画像のうちサイズが最大の顔画像を証明写真として印刷すべきことを、ユーザは即座に認識できる。
【0007】
上記出力制御部は、上記対象画像と特定の表示とを所定の画面に出力するとともに、特定の表示に対する選択を受付けた場合には、対象画像上におけるトリミングの範囲を規定するトリミング枠であって外部の操作に応じて移動および拡大縮小が可能なトリミング枠を当該画面に出力するとしてもよい。当該構成によれば、画面に上記特定の表示が出力されたら、ユーザはこの特定の表示を選択すれば、画面上にトリミング枠を表示させることができ、その後、トリミング枠の移動や拡大縮小を指示することで、対象画像上の証明写真として印刷する範囲を特定することができる。
【0008】
上記出力制御部は、上記対象画像と特定の表示とを印刷媒体に印刷するとしてもよい。当該構成によれば、ユーザは、上記対象画像と特定の表示とが一枚の印刷媒体に印刷されたいわゆるオーダーシートを得ることができる。
上記顔画像検出部は、対象画像上に設定された検出窓内の画像にかかる情報を入力し略正面向きの顔画像の有無を示す情報を出力するニューラルネットワークを利用することにより、上記検出を行なうとしてもよい。当該構成によれば、ニューラルネットワークを用いることにより、精度良く略正面向きの顔画像の有無を判定することができる。
【0009】
本発明の技術的思想は、上述した顔画像出力制御装置の発明以外にも、上述した顔画像出力制御装置が備える各部が行なう各処理工程を備えた顔画像出力制御方法の発明や、上述した顔画像出力制御装置が備える各部に対応した機能をコンピュータに実行させる顔画像出力制御プログラムの発明としても捉えることができる。また、対象画像上における略正面向きの顔画像の検出を行なう顔画像検出部と、上記顔画像検出部によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御部とを備える印刷装置の発明も把握することが可能である。
【発明を実施するための最良の形態】
【0010】
下記の順序に従って本発明の実施形態を説明する。
1.プリンタの概略構成:
2.証明写真印刷モードUIの出力処理:
3.証明写真印刷モードへの移行後の処理:
4.変形例:
【0011】
1.プリンタの概略構成:
図1は、本発明の顔画像出力制御装置および印刷装置の一例に該当するプリンタ10の構成を概略的に示している。プリンタ10は、記録メディア(例えば、メモリカードMC等)から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ10は、プリンタ10の各部を制御するCPU11と、例えばROMやRAMによって構成された内部メモリ12と、ボタンやタッチパネルにより構成された操作部14と、液晶ディスプレイにより構成された表示部15と、プリンタエンジン16と、カードインターフェース(カードI/F)17と、PCやサーバやデジタルスチルカメラ等の外部機器との情報のやり取りのためのI/F部13とを備えている。プリンタ10の各構成要素は、バスを介して互いに接続されている。表示部15は、本発明における所定の出力対象の一例に該当する。
【0012】
プリンタエンジン16は、印刷データに基づき印刷を行う印刷機構である。カードI/F17は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのI/Fである。メモリカードMCには画像データが格納されており、プリンタ10は、カードI/F17を介してメモリカードMCに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリカードMC以外にも種々の媒体を用いることができる。むろんプリンタ10は、記録メディア以外にも、I/F部13を介して接続した上記外部機器から画像データを入力することも可能である。プリンタ10は、コンシューマ向けの印刷装置であってもよいし、DPE向けの業務用印刷装置(いわゆるミニラボ機)であってもよい。操作部14や表示部15は、プリンタ10本体とは別体の入力操作部(マウスやキーボードなど)やディスプレイであってもよい。プリンタ10は、I/F部13を介して接続したPCやサーバ等から印刷データを入力することもできる。
【0013】
内部メモリ12には、顔画像検出部20と、表示制御部30と、印刷制御部40とが格納されている。顔画像検出部20は、所定のオペレーティングシステムの下で、後述する略正面向きの顔画像の検出処理を実行するためのコンピュータプログラムである。表示制御部30は、ユーザからの各種指示を受付けるためのユーザインターフェース(UI)画像やメッセージやサムネイル画像など、表示部15に出力(表示)すべき画像を取得したり生成したりするコンピュータプログラムである。また表示制御部30は、表示部15を制御して、表示部15の画面に上記UI画像やメッセージやサムネイル画像などを表示させるディスプレイドライバでもある。印刷制御部40は、画像データから印刷データを生成し、プリンタエンジン16を制御して、印刷データに基づく画像の印刷媒体への印刷を実行するためのコンピュータプログラムである。また印刷制御部40は、プリンタエンジン16に、後述するオーダーシートを印刷させる。表示制御部30や印刷制御部40は、本発明における出力制御部の一例に該当する。
【0014】
CPU11は、内部メモリ12から、これらの各プログラムを読み出して実行することにより、これら各部の機能を実現する。さらに、内部メモリ12には、トリミング枠データ14bやニューラルネットワークNN等の各種データやプログラムが格納されている。プリンタ10は、印刷機能以外にも、コピー機能やスキャナ機能(画像読取機能)など多種の機能を備えたいわゆる複合機であってもよい。
【0015】
2.証明写真印刷モードUIの出力処理:
図2は、プリンタ10が実行する証明写真印刷モードUIの出力処理をフローチャートにより示している。プリンタ10は、カードスロット172に記録メディアが挿入されると、記録メディアに格納された画像を入力し、当該入力した画像を、表示制御部30により表示部15に表示させる。あるいは、プリンタ10は、I/F部13を介して接続した上記外部機器から画像が入力されると、当該入力された画像を、表示制御部30により表示部15に表示させる。表示部15は、入力された画像を一枚単位で表示したり、入力された複数の画像を一覧表示したりする。本実施形態における証明写真印刷モードUIの出力処理は、このように画像を表示部15に出力する場面において行なわれる。
【0016】
ステップS(以下、ステップの表記は省略。)100では、顔画像検出部20が、処理の対象となる一枚分の画像(対象画像)を表した画像データDを、上記記録メディアや外部機器等から取得する。画像データDは、複数の画素からなるビットマップデータであり、それぞれの画素は、RGB各チャネルの階調(例えば、0〜255の256階調)の組み合わせで表現されている。画像データDは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の色空間で各画素の色が表現されていてもよい。これらの場合、顔画像検出部20は、画像データDの展開や色空間の変換を実行してRGBビットマップデータとしての画像データDを取得する。
【0017】
S200では、顔画像検出部20は、画像データD上における略正面向きの顔画像の検出を行なう。本実施形態で言う略正面向きの顔画像とは、顔の向きが対象画像内において完全に正面を向いている顔画像だけでなく、顔の向きがごく僅かに左右や上下に振れてはいるが各顔器官(左右の目、鼻、口)の全てがほぼ正面を向いており証明写真として利用することに支障が無い程度の顔画像も含む。以下では、略正面向きの顔画像を、単に、正面顔と呼ぶ。顔画像検出部20はS200において、画像データDから正面顔を検出可能な手法であればあらゆる手法を採用可能であるが、本実施形態では一例として、ニューラルネットワークNNを利用した検出を行なう。
【0018】
図3は、S200の詳細をフローチャートにより示している。
S210では、顔画像検出部20は、画像データDにおいて検出窓SWを1つ設定する。検出窓SWは、画像データD上のある領域であり、正面顔の検出(有無判定)の対象とる。なお顔画像検出部20は、S210を行なう前に画像データDを縮小化してもよい。つまり、オリジナルの画像サイズのままの画像データDを対象として、正面顔の検出処理を行なった場合には処理負担が大きい。そのため顔画像検出部20は、画像データDについて画素数を減らすなどして画像サイズを縮小し、縮小後の画像データDを対象としてS210以下の処理を行なう。顔画像検出部20は、例えば、画像データDをQVGA(Quarter Video Graphics Array)サイズ(320画素×240画素)に縮小する。さらに顔画像検出部20は、S210を行なう前に、画像データDをグレー画像へ変換してもよい。顔画像検出部20は、画像データDの各画素のRGBデータを輝度値Y(0〜255)に変換し、画素毎に1つの輝度値Yを有するモノクロ画像としての画像データDを生成する。輝度値Yは一般的に、R,G,Bを所定の重み付けで加算することにより求めることができる。画像データDのグレー画像化は、後述する特徴量算出時の負担軽減を考慮して予め行なわれる。検出窓SWの設定方法は特に限られないが、顔画像検出部20は一例として、以下のように検出窓SWを設定する。
【0019】
図4は、画像データDにおいて検出窓SWを設定する様子を示している。顔画像検出部20は、1回目のS210では、画像内の先頭位置(例えば、画像の左上の角位置)に複数の画素を含む所定の大きさの矩形状の検出窓SW(2点鎖線)を設定する。顔画像検出部20は、2回目以降のS210の度に、それまで検出窓SWを設定していた位置から検出窓SWを画像の左右方向およびまたは上下方向に所定距離(所定画素数分)移動させ、移動先の位置において検出窓SWを新たに1つ設定する。顔画像検出部20は、検出窓SWの大きさを維持した状態で画像データDの最終位置(例えば、画像の右下の角位置)まで検出窓SWを移動させながら繰り返し検出窓SWを設定したら、先頭位置に戻って検出窓SWを設定する。
【0020】
顔画像検出部20は、検出窓SWを先頭位置に戻した場合には、それまでよりも矩形の大きさを縮小した検出窓SWを設定する。その後、顔画像検出部20は上記と同様に、検出窓SWの大きさを維持した状態で画像データDの最終位置まで検出窓SWを移動させつつ、各位置において検出窓SW設定する。顔画像検出部20は、検出窓SWの大きさを予め決められた回数だけ段階的に縮小しながら、このような検出窓SWの移動と設定を繰り返す。このようにS210において検出窓SWが1つ設定される度に、S220以降の処理が行なわれる。
【0021】
S220では、顔画像検出部20は、直近のS210で画像データDに設定された検出窓SW内の画素からなる画像データ(窓画像データ)XDを取得する。
S230では、顔画像検出部20は、直近のS220で取得した窓画像データXDから複数の特徴量を算出する。これらの特徴量は、窓画像データXDに対して各種のフィルタを適用し、当該フィルタ内の輝度平均やエッジ量やコントラスト等の画像的特徴を示す特徴量(輝度の平均値や最大値や最小値や標準偏差等)を算出することにより得られる。
【0022】
図5は、窓画像データXDから特徴量を算出する様子を示している。同図において、画像データXDとの相対的な大きさおよび位置が異なる多数のフィルタFTが用意されており、各フィルタFTを順次窓画像データXDに適用し、各フィルタFT内の画像的特徴に基づいて、複数の特徴量CA,CA,CA…を算出する。図5では、窓画像データXD内の各矩形をフィルタFTと呼んでいる。特徴量CA,CA,CA…が算出できると、顔画像検出部20は、S240において、特徴量CA,CA,CA…を、予め用意したニューラルネットワークNNに入力し、その出力として正面顔が存在する/しないの判定結果を算出する。
【0023】
図6は、ニューラルネットワークNNの構造の一例を示している。ニューラルネットワークNNは、前段層のユニットUの値の線形結合(添え字iは前段層のユニットUの識別番号。)によって後段層のユニットUの値が決定される基本構造を有している。さらに、線形結合によって得られた値をそのまま次の層のユニットUの値としてもよいが、線形結合によって得られた値を例えばハイパボリックタンジェント関数のような非線形関数によって変換して次の層のユニットUの値を決定することにより、非線形特性を与えてもよい。ニューラルネットワークNNは、最外の入力層と出力層と、これらに挟まれた中間層から構成されている。各特徴量CA,CA,CA…がニューラルネットワークNNの入力層に入力可能となっており、出力層では出力値K(0〜1に正規化された値)を出力することが可能となっている。S250では、顔画像検出部20は、例えばニューラルネットワークNNの出力値Kが0.5以上であれば窓画像データXDに正面顔が存在することを示す値であると判定し、S260に進む。一方、顔画像検出部20は、出力値Kが0.5未満であれば窓画像データXDに正面顔が存在しないことを示す値であると判定し、S270に進む。
【0024】
図7は、ニューラルネットワークNNを学習によって構築する様子を模式的に示している。本実施形態では、誤差逆伝搬(error back propagation)法によってニューラルネットワークNNの学習を行うことにより、各ユニットUの数や、各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値が最適化される。誤差逆伝搬法による学習においては、まず各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値を適当な値に初期設定する。そして、正面顔が存在しているか否かが既知の学習用画像データについてS230,S240と同様の手順で特徴量CA,CA,CA…を算出し、当該特徴量CA,CA,CA…を初期設定されたニューラルネットワークNNに入力し、その出力値Kを取得する。本実施形態では、正面顔が存在している学習用画像データについては出力値Kとして1が出力されるのが望ましく、正面顔が存在していない学習用画像データ(横顔が存在する画像データや、仰向けの顔が存在する画像データや、俯いた顔が存在する画像データや、人顔とは全く異なる被写体が存在する画像データ等)については出力値Kとして0が出力されるのが望ましい。
【0025】
しかしながら、各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値は、適当な値に初期設定されているに過ぎないため、学習用画像データの特徴量CA,CA,CA…を入力して得られる出力値Kと、理想的な出力値K(1または0)値との間には誤差が生じることとなる。このような誤差を極小化させる各ユニットUについての重みwやバイアスbを、勾配法等の数値最適化手法を用いて算出する。以上のような誤差は、後段の層から前段の層に伝搬され、後段のユニットUについて重みwやバイアスbが順に最適化されていく。このような学習を複数の上記学習用画像データを用いて行なうことで最適化がなされたニューラルネットワークNNを、内部メモリ12に予め用意しておくことにより、正面顔が窓画像データXDに存在するか否かを特徴量CA,CA,CA…に基づいて判定することが可能となる。
【0026】
S260では、顔画像検出部20は、直近のS250で正面顔が存在すると判定された(S250において“Yes”)検出窓SWの位置(例えば、画像データD上における検出窓SWの中心位置)および当該検出窓SWの矩形のサイズ(大きさ)を、S100で取得した画像データDと関連付けた上で、内部メモリ12の所定領域に記録する。このように正面顔が存在すると判定された検出窓SWの位置やサイズ等の情報を記録する行為が、正面顔の検出行為の一例に該当する。
【0027】
S270では、顔画像検出部20は、図4を用いて説明した検出窓SWの設定方法の思想の下、検出窓SWを移動させ更にその大きさを縮小したりして未だ検出窓SWを設定する余地があれば、S210に戻り、新たに検出窓SWを画像データD上に1つ設定する。一方、検出窓SWの縮小を上記予め決められた回数分重ね、可能な検出窓SWの設定を全て終えた場合には、顔画像検出部20は、S200の処理を終える。この結果、画像データD上に存在する正面顔(複数の正面顔が存在する場合には複数の正面顔)の検出が終了する。
【0028】
S300(図2)では、表示制御部30は、S100で取得した画像データDに正面顔が存在するか否かで処理を分岐する。表示制御部30は、内部メモリ12に当該画像データDに関する検出窓SWの位置等の情報が記録されている場合には、正面顔が存在すると判断してS400に進む。一方、表示制御部30は、内部メモリ12に当該画像データDに関する検出窓SWの情報が一切記録されていない場合には、当該画像データD上に正面顔は存在しないと判断して図2のフローチャートを終える。
【0029】
S400では、表示制御部30は、S100で取得した画像データDに正面顔が複数存在するか否かで処理を分岐する。表示制御部30は、内部メモリ12に当該画像データDに関する検出窓SWの情報が、複数の検出窓SW分記録されている場合には、正面顔が複数存在すると判断してS500に進む。一方、表示制御部30は、内部メモリ12に当該画像データDに関する検出窓SWの情報が一つの検出窓SW分しか記録されていない場合には、当該画像データD上に正面顔は一つだけ存在すると判断してS600に進む。
【0030】
S500では、表示制御部30は、S100で取得した画像データDに存在する複数の正面顔の中から所定の基準に基づいて一つの正面顔を選択する。ここでは、証明写真として印刷する場合に最も適切な正面顔を一つ選ぶ。具体的には、表示制御部30は、当該画像データDと関連付けられて内部メモリ12に記録されている複数の検出窓SWにかかる情報を参照し、サイズが最大である検出窓SWを一つ選択する。この結果、画像データDに存在する複数の正面顔のなかから一つの正面顔(正面顔が存在する検出窓SW)が選択される。
S600では、表示制御部30は、S100で取得した画像データDが表す画像(対象画像)とともに、一つの正面顔に関する証明写真印刷モードUIを、表示部15の画面に同時に表示させる。ここで言う一つの正面顔とは、S500において選択された正面顔か、或いは画像データDに一つしか正面顔が存在していない場合には、当該一つの正面顔を意味する。
【0031】
図8は、S600において表示制御部30が表示部15に表示させた画像の一例を示している。図8に示すように、表示部15においては、画像データDに基づいて表示された対象画像(基本的には、対象画像のサムネイル画像)と、“証明写真印刷OK!”等と表された証明写真印刷モードUIとが表示されている。表示部15に表示される対象画像はカラー画像であってもモノクロ画像であってもよい。証明写真印刷モードUIは、対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示であり、証明写真印刷モードへの移行指示を受付けるUIでもある。表示制御部30は、内部メモリ12等に予め保存されている証明写真印刷モードUIを表す画像データを取得し、当該取得した画像データに基づいて証明写真印刷モードUIを表示部15に表示させる。証明写真印刷モードUIは、例えば、表示部15において対象画像の隅に重畳して表示される。図8では対象画像上に3人の顔画像A〜Cが存在している例を示している。顔画像A〜Cのうち、顔画像Cは顔の振りが横を向いている(正面顔ではない)ため、かかる顔画像Cは、S200の顔画像検出処理において検出されない。顔画像A,Bはいずれも正面顔であるためS200の顔画像検出処理において検出される。しかし顔画像A,Bのうち顔画像Bの方が大きいため、S500では顔画像Bが選択される。
【0032】
表示制御部30は、対象画像から複数の正面顔が検出されている場合には、S500で選択した正面顔が証明写真印刷の対象となることをユーザに明示する表示も併せて表示部15において行なう。例えば図8に示すように、表示制御部30は、S500で選択した正面顔に対応する検出窓SWの位置および大きさの情報に基づいて、当該選択した正面顔(顔画像B)を囲む枠Wを表示することにより、証明写真印刷の対象となる正面顔を明確化する。すなわち図8の例では、証明写真印刷モードUIは顔画像Bと対応している。むろん、表示制御部30は、S500で選択した正面顔以外の対象画像上の領域を、薄く表示したり白や黒やグレー等で塗りつぶす等して、S500で選択した正面顔を目立たせるとしてもよい。
【0033】
なお、S300の分岐の結果、図2のフローチャートを終えた場合(S300において“No”)には、表示制御部30は、S100で取得した画像データDが表す対象画像を表示部15の画面に表示させる。むろん、S300において“No”の判断をした対象画像については証明写真印刷モードUIを表示しない。
図8では、記録メディア等から取り込まれた画像を表示部15に一枚表示する様子を示したが、上述したように表示制御部30は、記録メディア等から取り込まれた複数の画像を一覧表示することも可能である。
【0034】
図9は、記録メディア等から取り込まれた複数の画像を、表示制御部30が表示部15に一覧表示した例を示している。つまりプリンタ10は、記録メディア等から複数枚分の画像を対象画像として取得し、取得した各対象画像それぞれに対してS100〜S500の処理を実行した上で、複数枚分の対象画像を一斉に表示部15に表示する。その結果、一覧表示される複数の対象画像のうち、正面顔が検出された対象画像(図9の例では対象画像1)についてのみ証明写真印刷モードUIが併せて表示される。図9の対象画像1では、正面顔が一つ存在する場合を例示している。
【0035】
3.証明写真印刷モードへの移行後の処理:
上記のように表示部15において、ある対象画像に関して証明写真印刷モードUIが表示された場合、ユーザは、操作部14を介して証明写真印刷モードUIを選択することにより、プリンタ10を証明写真印刷モードに移行させることができる。つまりプリンタ10は、表示部15上での証明写真印刷モードUIに対する押圧を検知したり、所定のボタン等の操作に応じて証明写真印刷モードUIの選択を検知した場合には、当該証明写真印刷モードUIが対応している正面顔を証明写真として印刷する証明写真印刷モードに移行する。
【0036】
証明写真印刷モードに移行した場合、プリンタ10は、自動で証明写真を印刷するとしてもよい。この場合、印刷制御部40は、ユーザによって選択された証明写真印刷モードUIが対応している正面顔の画像領域を、当該正面顔を有する画像データD内から抽出する。具体的には、印刷制御部40は、上記選択された証明写真印刷モードUIが対応している正面顔に対応する検出窓SWの情報(内部メモリ12に保存されている検出窓SWの情報)に基づいて、当該検出窓SWを中心に含みかつ当該検出窓SWに対する大きさの比率が予め決められている矩形領域を画像データD(上記グレー画像への変換が行なわれる前の画像データD)上において特定し、当該特定した矩形領域を画像データDから切り取る(トリミングする)。そして印刷制御部40は、当該切り取った矩形領域の画像データについて、予め設定された(あるいはユーザによって設定された)証明写真の大きさに応じて適宜、画素数変換(拡大や縮小)を行なう。
【0037】
印刷制御部40は、上記画素数変換後の画像データに、色変換処理やハーフトーン処理など必要な各処理を施して印刷データを生成する。印刷制御部40は、生成した印刷データをプリンタエンジン16に供給し、プリンタエンジン16に印刷データに基づいた印刷を実行させる。この結果、証明写真印刷モードにおける印刷結果、すなわち正面顔を有する証明写真の印刷が完了する。
ただしプリンタ10は、証明写真印刷モードに移行した場合に、証明写真の印刷完了まで全て自動で行なうのではなく、ユーザにトリミングの範囲を指定させるとしてもよい。表示制御部30は、証明写真印刷モードUIを介して証明写真印刷モードへの移行を検知した場合には、トリミング枠データ14bを内部メモリ12から読み出す。そして、ユーザに選択された証明写真印刷モードUIが表示されている対象画像上に、トリミング枠データ14bに基づいてトリミング枠を表示する。
【0038】
図10は、表示部15のある対象画像上に、トリミング枠を表示した様子を例示している。トリミング枠は、矩形状の外枠W1と外枠W1内に収まる円形の内枠W2とからなる。外枠W1および内枠W2のデフォルトの形状や大きさ、外枠W1と内枠W2との相対的な位置関係は、トリミング枠データ14bによって定義されている。ユーザは、操作部14を操作することにより、トリミング枠の移動や拡大・縮小を表示制御部30に指示することができる。表示制御部30は、かかる移動や拡大・縮小の指示に応じて、トリミング枠を表示部15の画面上で、移動させたり、拡大・縮小させたりする。表示制御部30は、外枠W1と内枠W2との相対的な位置および大きさの関係が常に保たれるように、外枠W1および内枠W2の移動や拡大・縮小を行なう。
【0039】
ユーザは、対象画像上の正面顔(図10の例においては顔画像B)の全体が内枠W2に収まるようにトリミング枠の移動や拡大・縮小を指示し、正面顔の全体が内枠W2に適切に収まった場合に、トリミング範囲が確定した旨の指示を、操作部14を操作することによりプリンタ10に通知する。プリンタ10においては、当該確定した旨の指示を受付けた場合に、その時に表示部15上に設定しているトリミング枠の外枠W1が囲う画像領域を対象画像の画像データDから切り取り、切り取った画像領域の画像データに基づいて、上述したように印刷データの生成および印刷を行なう。その結果、ユーザが自ら指定したトリミング範囲に基づいた、正面顔を有する証明写真の印刷が行なわれる。
【0040】
このように本実施形態によれば、プリンタ10は、対象画像から正面顔の検出に成功した場合には、当該対象画像を表示部15に表示する際に、併せて証明写真印刷モードUIを表示するとした。また、対象画像から正面顔が複数検出された場合には、複数の正面顔の中でサイズが最大の正面顔を選択し、表示部15において、当該選択した正面顔が証明写真印刷の対象となることを明示した状態で、証明写真印刷モードUIを表示するとした。その結果、ユーザは、記録メディアをプリンタ10に挿入等したときに表示部15に出力される対象画像を見た場合に、証明写真印刷モードUIが一緒に表示されていれば、当該対象画像が証明写真の印刷に相応しい画像であることを一目で認識することができる。また、対象画像上に複数の正面顔が存在している場合でも、どの正面顔を証明写真の対象に選べばよいか瞬時に認識することができる。そのため、証明写真を印刷する際のユーザの負担を従来と比べて大幅に低減することができる。
【0041】
4.変形例:
上記では、対象画像と、対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示との出力対象が、表示部15の画面であることを前提に説明を行なった。しかし、対象画像および上記特定の表示の出力対象は印刷媒体(印刷用紙)であってもよい。すなわちプリンタ10では、図2の処理を行なった結果として表示部15に証明写真印刷モードUI付きの対象画像を表示することに加え(あるいは替えて)、対象画像および上記特定の表示を、印刷制御部40がプリンタエンジン16を制御することにより印刷媒体に印刷(出力)させるとしてもよい。ユーザは、このように印刷された結果物をいわゆるオーダーシートとして利用することができる。
【0042】
図11は、プリンタ10が印刷したオーダーシートOSの一例を示している。図11では、図9に例示した表示部15上の画像に相当する画像をオーダーシートOSとして印刷した場合を示している。図11に示すように、オーダーシートOSにおいては、正面顔を有する対象画像についてのみ、証明写真印刷用チェックボックスCBが併せて印刷されている。つまり印刷制御部40は、オーダーシートOSを印刷する際に、正面顔が検出されている対象画像の近傍に証明写真印刷用チェックボックスCBを配置して印刷を行なう。証明写真印刷用チェックボックスCBは、上記特定の表示の一例である。ユーザは、オーダーシートOS上の証明写真印刷用チェックボックスCBに対して、ペン等で所定の印を記入することができる。そして、印を記入したオーダーシートOSを、例えば、プリンタ10が備える図示しない画像読取部(スキャナ)に読み取らせる。プリンタ10は、画像読取部によって読み取ったオーダーシートOS上の証明写真印刷用チェックボックスCBに、所定の印が記入されている場合には、当該印が記入されている証明写真印刷用チェックボックスCBに対応する対象画像上の正面顔を有する証明写真の印刷を行なう。
【0043】
なお、プリンタ10は、オーダーシートOSを印刷する際に、正面顔を有する対象画像について、証明写真印刷モードUIと証明写真印刷用チェックボックスCBとの両方を印刷する必要はなく、何れか一方のみを印刷するとしてもよい。例えば、印刷媒体に印刷された証明写真印刷モードUIの図柄に対して、ユーザがペン等で所定の印を記入し、画像読取部が、かかる図柄に対して記入されている印を読み取る構成としてもよい。
【0044】
次に、S200において顔画像検出部20が実行可能な正面顔の検出処理であって、ニューラルネットワークNNを利用した手法以外の手法について説明する。
図12は、顔画像検出部20が行なう正面顔有無判定処理の一例を模式的に示している。顔画像検出部20は、図12に示す正面顔有無判定処理をS230〜S250(図3)の替わりに行なうことができる。この正面顔有無判定処理では、複数の判定器J,J…を複数段カスケード状に接続した判定手段を使用する。ここで言う複数の判定器Jからなる判定手段は、実体的な装置であってもよいし、複数の判定器Jに相当する以下の判定機能を有したプログラムであってもよい。各判定器J,J…は、正面顔の検出対象となった窓画像データXDから、それぞれ異なる種類(例えばフィルタFTが異なる)の単数または複数の特徴量CA,CA,CA…をそれぞれ入力し、それぞれ正または否の判定を出力する。各判定器J,J…は、それぞれ特徴量CA,CA,CA…の大小比較や閾値判定等の判定アルゴリズムを有しており、それぞれ窓画像データXDが正面顔らしい(正)か正面顔らしくない(否)かの独自の判定を実行する。次の段の各判定器J,J…は、前の段の判定器J,J…の正の出力に接続されており、前の段の判定器J,J…の出力が正であった場合のみ次の段の判定器J,J…が判定を実行する。いずれの段においても否の出力がなされた時点で判定を終了させ、正面顔が存在しない旨の判定を出力する(この場合、顔画像検出部20はS270に進む。)。一方、各段の判定器J,J…がすべて正の出力をした場合には、判定を終了させ、正面顔が存在する旨の判定を出力する(この場合、顔画像検出部20はS260に進む。)。
【0045】
図13は、上記判定手段における判定特性を示している。同図においては、上述した各判定器J,J…において使用される特徴量CA,CA,CA…の軸で定義される特徴量空間を示しており、最終的に正面顔が存在すると判定される窓画像データXDから得られる特徴量CA,CA,CA…の組み合わせで表される特徴量空間内の座標をプロットしている。正面顔が存在すると判定される窓画像データXDは一定の特徴を有しているため、特徴量空間における一定の領域に分布が見られると考えることができる。各判定器J,J…は、このような特徴量空間において境界平面を生成し、当該境界平面で区切られた空間のうち、前記分布が属する空間に判定対象の特徴量CA,CA,CA…の座標が存在している場合には、正を出力する。従って、各判定器J,J…をカスケード状に接続することにより、徐々に正と出力される空間を絞り込んでいくことができる。複数の境界平面によれば、複雑な形状の前記分布についても精度よく判定を行うことができる。
【0046】
なお、以上においては、本発明の顔画像出力制御装置および顔画像出力制御方法がプリンタ10によって具現化され、また本発明の顔画像出力制御プログラムがプリンタ10と協同して実行される例を示したが、本発明は、コンピュータや、デジタルスチルカメラや、スキャナや、フォトビューワ等の画像機器による画像出力処理において実現されてもよい。さらに、顔画像検出部20が実行する判定は、上述した特徴量の特徴量空間における種々の判別手法を用いることも可能である。例えば、サポートベクタマシンを利用してもよい。
【図面の簡単な説明】
【0047】
【図1】プリンタの概略構成を示すブロック図である。
【図2】プリンタが実行する処理を示すフローチャートである。
【図3】顔画像検出処理の詳細を示すフローチャートである。
【図4】検出窓を設定する様子を示す図である。
【図5】窓画像データから特徴量を算出する様子を示す図である。
【図6】ニューラルネットワークの構造の一例を示す図である。
【図7】ニューラルネットワークを学習する様子を模式的に示す図である。
【図8】表示部に出力される画像の一例を示す図である。
【図9】表示部に出力される画像の他の例を示す図である。
【図10】対象画像上にトリミング枠を設定する様子を示す図である。
【図11】オーダーシートの一例を示す図である。
【図12】正面顔有無判定処理を模式的に示す図である。
【図13】正面顔有無判定処理の判定特性を示す図である。
【符号の説明】
【0048】
10…プリンタ、11…CPU、12…内部メモリ、14b…トリミング枠データ、16…プリンタエンジン、17…カードI/F、20…顔画像検出部、30…表示制御部、40…印刷制御部、172…カードスロット

【特許請求の範囲】
【請求項1】
対象画像上における略正面向きの顔画像の検出を行なう顔画像検出部と、
上記顔画像検出部によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御部とを備えることを特徴とする顔画像出力制御装置。
【請求項2】
上記出力制御部は、上記顔画像検出部によって対象画像から略正面向きの顔画像が複数検出された場合には、当該検出された複数の顔画像の中から所定の基準に基づいて一つの顔画像を選択し、当該選択した顔画像を証明写真として印刷可能であることを示す特定の表示を出力することを特徴とする請求項1に記載の顔画像出力制御装置。
【請求項3】
上記出力制御部は、上記顔画像検出部によって検出された複数の略正面向きの顔画像のうちサイズが最大である顔画像を選択することを特徴とする請求項2に記載の顔画像出力制御装置。
【請求項4】
上記出力制御部は、上記対象画像と特定の表示とを所定の画面に出力するとともに、特定の表示に対する選択を受付けた場合には、対象画像上におけるトリミングの範囲を規定するトリミング枠であって外部の操作に応じて移動および拡大縮小が可能なトリミング枠を当該画面に出力することを特徴とする請求項1〜請求項3のいずれかに記載の顔画像出力制御装置。
【請求項5】
上記出力制御部は、上記対象画像と特定の表示とを印刷媒体に印刷することを特徴とする請求項1〜請求項4のいずれかに記載の顔画像出力制御装置。
【請求項6】
上記顔画像検出部は、対象画像上に設定された検出窓内の画像にかかる情報を入力し略正面向きの顔画像の有無を示す情報を出力するニューラルネットワークを利用することにより、上記検出を行なうことを特徴とする請求項1〜請求項5のいずれかに記載の顔画像出力制御装置。
【請求項7】
対象画像上における略正面向きの顔画像の検出を行なう顔画像検出工程と、
上記顔画像検出工程で略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御工程とを備えることを特徴とする顔画像出力制御方法。
【請求項8】
対象画像上における略正面向きの顔画像の検出を行なう顔画像検出機能と、
上記顔画像検出機能によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御機能とをコンピュータに実行させることを特徴とする顔画像出力制御プログラム。
【請求項9】
対象画像上における略正面向きの顔画像の検出を行なう顔画像検出部と、
上記顔画像検出部によって略正面向きの顔画像が検出された場合に、上記対象画像と、上記対象画像上の顔画像を証明写真として印刷可能であることを示す特定の表示とを所定の出力対象に出力する出力制御部とを備えることを特徴とする印刷装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2009−237976(P2009−237976A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2008−84248(P2008−84248)
【出願日】平成20年3月27日(2008.3.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】