画像処理装置、画像処理方法及びプログラム
【課題】被写体存在画像内での被写体構成領域及び背景構成領域の指定を自動的に行う。
【解決手段】サーバ3であって、背景と被写体とが混在する被写体存在画像の複数の画像領域の代表色と所定の一色とを比較する類似度算出部306eと、この比較結果に基づいて、被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色からなる抽出用背景画像を生成する背景画像生成部306gと、生成された抽出用背景色に基づいて、被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する被写体領域特定部306i及び背景領域特定部306hとを備えている。
【解決手段】サーバ3であって、背景と被写体とが混在する被写体存在画像の複数の画像領域の代表色と所定の一色とを比較する類似度算出部306eと、この比較結果に基づいて、被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色からなる抽出用背景画像を生成する背景画像生成部306gと、生成された抽出用背景色に基づいて、被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する被写体領域特定部306i及び背景領域特定部306hとを備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、背景と被写体とが混在する画像から被写体が含まれる領域を抽出するための画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、背景と被写体とが混在する画像から被写体が含まれる領域の抽出に、例えば、グラフカットアルゴリズムなどのエネルギー関数を最小にするパラメータを求める手法が用いられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6973212号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1等の場合、被写体を構成する正解領域(シード)及び背景を構成する正解領域に基づいて、被写体領域か背景領域か未確定の領域の被写体らしさや背景らしさである尤度を算出するようになっているが、予め各正解領域の指定をユーザによる操作部の所定操作に基づいて行わなければならなかった。
【0005】
本発明は、このような問題に鑑みてなされたものであり、被写体存在画像内での被写体構成領域及び背景構成領域の指定を自動的に行うことができる画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、請求項1に記載の発明の画像処理装置は、
背景と被写体とが存在する被写体存在画像を取得する取得手段と、この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段と、この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段と、この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段と、この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段と、を備えたことを特徴としている。
【0007】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、
前記被写体存在画像を複数の画像領域に分割する分割手段を更に備え、前記第1の特定手段は、前記分割手段により分割された複数の画像領域を特定対象として特定することを特徴としている。
【0008】
請求項3に記載の発明は、請求項1又は2に記載の画像処理装置において、
前記取得手段により取得された被写体存在画像の背景の色を一色で推定する推定手段を更に備え、前記比較手段は、前記推定手段により推定された前記背景の色を前記所定の一色として、前記第1の特定手段により特定された各画像領域の代表色との類似度を算出することを特徴としている。
【0009】
請求項4に記載の発明は、請求項3に記載の画像処理装置において、
前記推定手段は、更に、前記被写体存在画像の複数の領域の各々について、他の領域の代表色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の代表色を前記背景の色として推定することを特徴としている。
【0010】
請求項5に記載の発明は、請求項4に記載の画像処理装置において、
前記第2の特定手段は、更に、前記推定手段により他の領域の色との類似度が所定の判定値以上であると判定された回数が最も多い領域を、前記背景構成領域として特定することを特徴としている。
【0011】
請求項6に記載の発明は、請求項4又は5に記載の画像処理装置において、
前記推定手段は、更に、前記複数の領域の色のばらつき量を算出し、算出されたばらつき量が所定値以下である領域の各々について、他の領域の色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の色を前記背景の色として推定することを特徴としている。
【0012】
請求項7に記載の発明は、請求項3〜6の何れか一項に記載の画像処理装置において、
前記比較手段による比較の結果、各画像領域に係る類似度合が所定の判定値よりも大きいか否かを判定する判定手段を更に備え、前記生成手段は、前記判定手段により画像領域の類似度が所定の判定値よりも大きいと判定されると、当該画像領域に対応する領域については当該画像領域の背景色に基づいて前記抽出用背景色を生成し、一方、前記判定手段により画像領域の類似度が所定の判定値以下であると判定されると、当該画像領域に対応する領域については前記推定手段により推定された前記背景の色に基づいて前記抽出用背景色を生成することを特徴としている。
【0013】
請求項8に記載の発明は、請求項1〜7の何れか一項に記載の画像処理装置において、
前記第2の特定手段により特定された前記被写体構成領域及び前記背景構成領域に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出する抽出手段を更に備えることを特徴としている。
【0014】
請求項9に記載の発明の画像処理方法は、
画像処理装置を用いた画像処理方法であって、背景と被写体とが存在する被写体存在画像を取得する処理と、この取得された被写体存在画像内で複数の画像領域を特定する処理と、この特定された各画像領域の代表色と所定の一色とを比較する処理と、この比較する処理による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する処理と、この生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する処理と、を含むことを特徴としている。
【0015】
請求項10に記載の発明のプログラムは、
画像処理装置のコンピュータを、背景と被写体とが存在する被写体存在画像を取得する取得手段、この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段、この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段、この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段、この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段、として機能させることを特徴としている。
【発明の効果】
【0016】
本発明によれば、被写体存在画像内での被写体構成領域及び背景構成領域の指定を自動的に行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明を適用した実施形態1の被写体切り抜きシステムの概略構成を示すブロック図である。
【図2】被写体切り抜きシステムを構成する撮像装置の概略構成を示すブロック図である。
【図3】被写体切り抜きシステムを構成するユーザ端末の概略構成を示すブロック図である。
【図4】被写体切り抜きシステムを構成するサーバの概略構成を示すブロック図である。
【図5】被写体切り抜きシステムによる被写体画像生成処理に係る動作の一例を示すフローチャートである。
【図6】図5の被写体画像生成処理における被写体切抜処理に係る動作の一例を示すフローチャートである。
【図7】図6の被写体切抜処理における背景生成処理に係る動作の一例を示すフローチャートである。
【図8】図7の背景生成処理に係る画像の一例を模式的に示す図である。
【図9】図7の背景生成処理に係る画像の一例を模式的に示す図である。
【図10】図6の被写体切抜処理における背景領域特定処理に係る動作の一例を示すフローチャートである。
【図11】図6の被写体切抜処理における被写体領域特定処理に係る動作の一例を示すフローチャートである。
【図12】図6の被写体切抜処理に係る画像の一例を模式的に示す図である。
【図13】図6の被写体切抜処理における被写体抽出処理に係る動作の一例を示すフローチャートである。
【図14】図13の被写体抽出処理における抽出結果判定処理に係る動作の一例を示すフローチャートである。
【図15】図6の被写体切抜処理に係る画像の一例を模式的に示す図である。
【図16】本発明を適用した実施形態2の撮像装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0019】
[実施形態1]
図1は、本発明を適用した実施形態1の被写体切り抜きシステム100の概略構成を示すブロック図である。
図1に示すように、実施形態1の被写体切り抜きシステム100は、撮像装置1と、ユーザ端末2と、サーバ3とを備え、ユーザ端末2とサーバ3とが所定の通信ネットワークNを介して各種情報を送受信可能に接続されている。
【0020】
先ず、撮像装置1について図2を参照して説明する。
ここで、図2は、撮像装置1の概略構成を示すブロック図である。
図2に示すように、撮像装置1は、レンズ部101と、電子撮像部102と、ユニット回路部103と、撮像制御部104と、画像処理部105と、表示部106と、記録媒体制御部107と、バッファメモリ108と、プログラムメモリ109と、操作入力部110と、中央制御部111とを備えている。
【0021】
レンズ部101は、例えば、図示は省略するが、ズームレンズ、フォーカスレンズ、絞り等を有し、これらレンズを通過した被写体の光学像を結像する。
【0022】
電子撮像部102は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等のイメージセンサ等から構成され、レンズ部101の各種レンズを通過した光学像を当該電子撮像部102により二次元の画像信号(RGB画像データ)に変換して、ユニット回路部103に出力する。
【0023】
ユニット回路部103は、例えば、図示は省略するが、CDS(Correlated Double Sampling:相関二重サンプリング回路)、AGC(Auto Gain Control:ゲイン調整アンプ)、ADC(Analog to Digital Converter:アナログ/デジタル変換器)等を具備している。そして、ユニット回路部103は、電子撮像部102から出力されて入力される被写体の光学像に応じたアナログの画像信号をCDSにより保持し、当該画像信号をAGCにより増幅した後、増幅された画像信号をADCによりデジタルの画像信号に変換する。
【0024】
撮像制御部104は、中央制御部111からの指令に基づいて、被写体の撮像の際に、レンズ部101、電子撮像部102、ユニット回路部103等の動作を制御する。具体的には、撮像制御部104は、レンズ部101のズームレンズやフォーカスレンズ等を光軸上で移動させるためのレンズモータ(図示略)の駆動を制御したり、電子撮像部102を走査駆動するタイミングを制御したり、電子撮像部102の駆動タイミングに基づいてユニット回路部103の駆動タイミングを制御する。
【0025】
画像処理部105は、A/D変換後の画像信号に対して、画素毎のR,G,Bの色成分データ(RGBデータ)を生成するRGB補間処理、RGBデータから輝度信号(Y)と色差信号(U、V)からなるYUVデータを画素毎に生成するYUV変換処理、さらに自動ホワイトバランスや輪郭強調などの画品質向上のためのデジタル信号処理を行う。そして、画像処理部105は、変換後の各画像フレームのYUVデータをバッファメモリ108に順次出力し、当該バッファメモリ108に格納させる。
【0026】
表示部106は、バッファメモリ108に格納された1フレーム分のYUVデータをビデオ信号に変換した後、ライブビュー画像として表示画面に表示する。具体的には、表示部106は、被写体の撮像により生成された複数の画像フレームに基づいてライブビュー画像を所定の表示フレームレートで表示したり、本撮像画像として撮像されたレックビュー画像を表示する。
【0027】
記録媒体制御部107は、記録媒体Mが着脱自在に構成され、装着された記録媒体Mからのデータの読み出しや記録媒体Mに対するデータの書き込みを制御する。即ち、記録媒体制御部107は、画像処理部105のJPEG圧縮部(図示略)により符号化された撮像画像の記録用の画像データを記録媒体Mに記録させる。具体的には、記録媒体制御部107は、背景と被写体とが存在する被写体存在画像P1(図8(a)参照)の記録用の画像データを記録媒体Mに記録させる。
なお、記録媒体Mは、例えば、不揮発性メモリ(フラッシュメモリ)等により構成されるが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0028】
バッファメモリ108は、画像データ等を一時的に記録するバッファであるとともに、中央制御部111などのワーキングメモリ等としても使用される。
【0029】
プログラムメモリ109には、当該撮像装置1の機能に係る各種プログラムやデータが格納されている。また、プログラムメモリ109には、例えば、静止画撮像時、連続撮像時、ライブビュー画像撮像時等の各撮像時における適正な露出値(EV)に対応する絞り値(F)とシャッタースピードとの組み合わせを示すプログラム線図を構成するプログラムAEデータや、EV値表(何れも図示略)も格納されている。
【0030】
操作入力部110は、当該撮像装置1の所定操作を行うためのものである。具体的には、操作入力部110は、例えば、被写体の撮影指示に係るシャッタボタン、撮像モードや機能等の選択指示に係る選択決定用ボタン、ズーム量の調整指示に係るズームボタン等を備え(何れも図示略)、これらのボタンのユーザ操作に応じて所定の操作信号を中央制御部111に出力する。
【0031】
中央制御部111は、例えば、撮像装置1の各部を制御するCPUを具備するワンチップマイコン等から構成されている。
また、中央制御部111は、操作入力部110から出力され入力された操作信号に基づいて、撮像装置1の各部を制御する。具体的には、中央制御部111は、操作入力部110のシャッタボタンの所定操作に従って出力された記録指示信号が入力されると、プログラムメモリ109に記憶されている所定のプログラムに従って、撮像制御部104により電子撮像部102及びユニット回路部103の駆動タイミングを制御して静止画像を撮影する処理を実行する。この静止画像の撮影によりバッファメモリ108に格納された1フレーム分のYUVデータは、画像処理部105にてJPEG方式等により圧縮され符号化されて、記録媒体Mに静止画像データとして記録される。
【0032】
次に、ユーザ端末2について図3を参照して説明する。
ユーザ端末2は、例えば、パーソナルコンピュータ等により構成され、サーバ3により開設されるWebページ(例えば、被写体抽出用ページ)にアクセスして、被写体存在画像P1の画像データをサーバ3に送信する。
【0033】
図3は、ユーザ端末2の概略構成を示すブロック図である。
図3に示すように、ユーザ端末2は、具体的には、中央制御部201と、通信制御部202と、表示部203と、記録媒体制御部204と、操作入力部205等を備えている。
【0034】
中央制御部201は、ユーザ端末2の各部を制御するものである。具体的には、中央制御部201は、CPU、RAM、ROM(何れも図示略)を備え、ROMに記憶されたユーザ端末2用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部203に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末2で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0035】
通信制御部202は、例えば、モデム(MODEM:Modulater/DEModulater)、ターミナルアダプタ(Terminal Adapter)等によって構成され、所定の通信ネットワークNを介してサーバ3等の外部機器との間で情報の通信制御を行うためのものである。
【0036】
なお、通信ネットワークNは、例えば、専用線や既存の一般公衆回線を利用して構築された通信ネットワークNであり、LAN(Local Area Network)やWAN(Wide Area Network)等の様々な回線形態を適用することが可能である。また、通信ネットワークNには、例えば、電話回線網、ISDN回線網、専用線、移動体通信網、通信衛星回線、CATV回線網等の各種通信回線網と、それらを接続するインターネットサービスプロバイダ等が含まれる。
【0037】
表示部203は、例えば、LCD、CRT(Cathode Ray Tube)等のディスプレイから構成され、中央制御部201のCPUの制御下にて各種情報を表示画面に表示する。
具体的には、表示部203は、例えば、サーバ3から送信され通信制御部202により受信されたWebページ(例えば、被写体抽出用ページ)のページデータに基づいて、対応するWebページを表示画面に表示する。
【0038】
記録媒体制御部204は、記録媒体Mが着脱自在に構成され、装着された記録媒体Mからのデータの読み出しや記録媒体Mに対するデータの書き込みを制御する。即ち、記録媒体制御部204は、撮像装置1から取り外されて装着された記録媒体Mから被写体画像生成処理(後述)に係る被写体存在画像P1の画像データを読み出して通信制御部202に出力する。
そして、通信制御部202は、入力された被写体存在画像P1の画像データをサーバ3に所定の通信ネットワークNを介して送信する。
【0039】
操作入力部205は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等を備え、ユーザにより押下されたキーの押下信号やマウスの操作信号を中央制御部201のCPUに出力する。
【0040】
次に、サーバ3について図4を参照して説明する。
サーバ3は、Web(World Wide Web)サーバ3としてインターネット上にWebページ(例えば、被写体抽出用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、画像処理装置として、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用の背景色、ここでは抽出用の背景色からなる画像である抽出用背景画像P4(図9(d)参照)を生成する。そして、サーバ3が、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0041】
図4は、サーバ3の概略構成を示すブロック図である。
図4に示すように、サーバ3は、具体的には、中央制御部301と、記憶部302と、表示部303と、通信制御部304と、被写体検出部305と、被写体切抜部306等を備えて構成されている。
【0042】
中央制御部301は、サーバ3の各部を制御するものである。具体的には、中央制御部301は、CPU、RAM、ROM(何れも図示略)を備え、CPUは、ROMに記憶されたサーバ3用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部303に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0043】
記憶部302は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータ等を記憶する。
【0044】
表示部303は、例えば、LCD、CRT等のディスプレイから構成され、中央制御部301のCPUの制御下にて各種情報を表示画面に表示する。
【0045】
通信制御部304は、例えば、モデム、ターミナルアダプタ等によって構成され、所定の通信ネットワークNを介してユーザ端末2等の外部機器との間で情報の通信制御を行うためのものである。
【0046】
被写体検出部305は、被写体存在画像P1から特定の被写体を検出する。
即ち、被写体検出部305は、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1の画像データ(YUVデータ)を取得して、当該画像データに対して、例えば、顔検出処理、エッジ検出処理、特徴抽出処理等の各種画像処理を行って特定の被写体が含まれる領域D(例えば、顔領域等)を検出する。具体的には、被写体検出部305は、例えば、顔検出処理、エッジ検出処理、特徴抽出処理等の各種画像処理によって特定の被写体の候補となる候補領域を抽出し、抽出された候補領域の中で所定の識別条件を満たすものを特定の被写体として検出する。
なお、所定の識別条件としては、例えば、「ヒトの顔」や「動物」などの形状を基準とするものや、画角全体の画像に対する割合(例えば、半分以上であるか)などの大きさを基準とするものや、明度や彩度が高く鮮やかな(派手な)色合いであるか否かや肌色であるか否かなどの色調を基準とするもの等が挙げられる。
なお、顔検出処理やエッジ検出処理や特徴抽出処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0047】
被写体切抜部306は、画像取得部306aと、画像分割部306bと、画像領域特定部306cと、背景色推定部306dと、類似度算出部306eと、類似度判定部306fと、背景画像生成部306gと、背景領域特定部306hと、被写体領域特定部306iと、被写体抽出部306jとを具備している。
【0048】
画像取得部306aは、背景と被写体とが存在する被写体存在画像P1を取得する。
即ち、画像取得部306aは、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1(図8(a)参照)のYUVデータを取得する。また、画像取得部306aは、被写体存在画像P1のYUVデータを水平(x軸)方向及び垂直(y軸)方向ともに所定の比率で縮小した縮小画像(例えば、VGAサイズの画像等)のYUVデータを生成しても良い。
【0049】
画像分割部306bは、被写体存在画像P1を複数の画像領域A、…に分割する。
即ち、画像分割部306bは、被写体存在画像P1のYUVデータに基づいて、当該被写体存在画像P1全体を水平方向及び垂直方向がそれぞれ所定画素からなる複数の画像領域A、…に分割する。具体的には、画像分割部306bは、例えば、画像取得部306aにより生成された被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像を4つの画像領域A、…(図9(b)参照)に分割する。
なお、画像分割部306bは、被写体存在画像P1の低解像度の画像データを分割するようにしたが、高解像度の画像データを分割しても良い。また、分割数として、4つを例示したが、一例であってこれに限られるものではなく、分割数は適宜任意に変更可能である。さらに、画像分割部306bは、被写体存在画像P1の分割を所定回数行っても良く、複数(例えば、4つ)に分割された画像領域Aの各々をさらに所定数の画像領域に分割しても良い。
【0050】
画像領域特定部306cは、被写体存在画像P1内で複数の画像領域A、…を特定する。
即ち、画像領域特定部306cは、画像取得部306aにより取得された被写体存在画像P1内で所定の特定条件に従って複数の画像領域A、…を特定する。具体的には、画像領域特定部306cは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…を、類似度算出部306eによる所定の一色との類似度の算出に係る特定対象として特定する。
なお、画像領域特定部306cは、画像分割部306bにより分割された複数の画像領域A、…を特定対象とするようにしたが、これに限られるものではなく、特定対象となる画像領域Aは適宜任意に変更可能である。例えば、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、画像領域特定部306cは、被写体存在画像P1を所定の表示領域に表示した状態で、上側の画像境界から下側に所定範囲内の画像領域や、左上隅部や右上隅部から所定範囲内の画像領域を特定対象として特定しても良い。
【0051】
背景色推定部306dは、被写体存在画像P1の背景の色を推定する。
即ち、背景色推定部306dは、画像取得部306aにより取得された被写体存在画像P1のYUVデータに基づいて所定の演算処理を行って、当該被写体存在画像P1の背景の色を一色で推定する。具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータを取得して、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロック(領域)B、…に分割する(図8(b)参照)。そして、背景色推定部306dは、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色(例えば、平均色等)を算出する。また、背景色推定部306dは、各ブロックB内の複数の画素の画素値及び代表色に基づいて所定の演算を行って、各ブロックB内の色のばらつき量(例えば、分散、標準偏差等)を算出する。
そして、背景色推定部306dは、複数のブロックB、…の各々について、ブロックB内の色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBを特定する。その後、背景色推定部306dは、特定された各ブロックBについて、当該ブロックBの代表色と他のブロックBの代表色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド空間における距離等)が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する。そして、背景色推定部306dは、最も投票数の多いブロックBの代表色、即ち、所定の判定値以上であると判定された回数が最も多いブロックBの代表色を背景色として推定する(図8(c)参照)。
図8(c)にあっては、推定された背景色が全画面に亘って一様に形成された画像P2を模式的に表している。
【0052】
なお、背景色推定部306dによる背景色の推定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、被写体存在画像P1の背景は画像の変化が少ない(色のばらつき量の小さい)平坦な領域であると仮定して、背景色推定部306dは、複数のブロックB、…のうち、色のばらつき量が所定値以下であるブロックBの各々について、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定するようにしたが、色のばらつき量に拘わらず複数のブロックB、…の全てについて他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定するようにしても良い。
【0053】
また、背景色推定部306dは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…の色を推定する。即ち、背景色推定部306dは、各画像領域Aについて上記と同様の手法に従って代表色を推定する。
具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータに基づいて画像分割部306bにより分割された各画像領域A(図9(a)参照)全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…(領域)に分割する(図9(b)参照)。そして、背景色推定部306dは、各画像領域Aの各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色(例えば、平均色等)及び各ブロックB内の色のばらつき量(例えば、分散、標準偏差等)を算出する。そして、背景色推定部306dは、各画像領域Aの複数のブロックB、…の中で、色のばらつき量が所定値以下であるブロックBを特定し、特定された各ブロックBについて、各画像領域A内の他のブロックBの代表色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)が所定の判定値以上であると判定されたブロックBについて投票する。そして、背景色推定部306dは、最も投票数の多いブロックBの代表色、即ち、所定の判定値以上であると判定された回数が最も多いブロックBの代表色を各画像領域Aの色として推定する(図9(c)参照)。
図9(c)にあっては、各画像領域Aについて推定された色が一様に形成された画像P3を模式的に表している。また、各画像領域Aの色は、単位面積あたりのドット数を異ならせることによって色分けされた状態を模式的に表している。
なお、背景色推定部306dによる各画像領域Aの色の推定方法は、一例であってこれに限られるものではなく、上記の背景色の推定方法と同様に適宜任意に変更可能である。
【0054】
類似度算出部306eは、被写体存在画像P1の各画像領域Aの色と所定の一色との類似度を算出する。
即ち、類似度算出部306eは、画像領域特定部306cにより特定された各画像領域Aの色と所定の一色との類似度を算出する。具体的には、類似度算出部306eは、背景色推定部306dにより推定された背景色(図8(c)参照)と、各画像領域Aの色(図9(c)参照)との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)を算出する。
なお、所定の一色として、背景色推定部306dにより推定された被写体存在画像P1の背景色を例示したが、一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、各画像領域Aの色との類似度の判定用に用いられる色であれば如何なる色であっても良く、例えば、類似度算出部306eは、各画像領域Aの色の平均色を算出し、当該平均色を所定の一色として類似度の判定用に用いても良い。
【0055】
類似度判定部306fは、各画像領域Aに係る類似度が所定の判定値よりも大きいか否かを判定する。
即ち、類似度判定部306fは、類似度算出部306eにより算出された被写体存在画像P1の各画像領域Aの色と背景色(所定の一色)との類似度が所定の判定値よりも大きいか否かを判定する。
【0056】
背景画像生成部306gは、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。
即ち、背景画像生成部306gは、類似度算出部306eにより算出された被写体存在画像P1の各画像領域Aの色と背景色(所定の一色)との類似度に基づいて、抽出用背景画像P4を生成する。具体的には、背景画像生成部306gは、被写体存在画像P1の各画像領域Aの代表色と背景色との比較結果、つまり、類似度判定部306fによる判定結果に応じて、抽出用背景画像P4における各画像領域Aに対応する領域の色を特定して、抽出用背景画像P4を生成する。例えば、背景画像生成部306gは、被写体存在画像P1の複数の画像領域A、…のうち、類似度算出部306eにより算出された背景色との類似度が所定の判定値よりも大きいと判定された画像領域Aについては、抽出用背景画像P4における当該画像領域Aに対応する領域の色として、背景色推定部306dにより特定された画像領域Aの色を採用して、抽出用背景画像P4を生成する。その一方で、背景画像生成部306gは、類似度算出部306eにより算出された背景色との類似度が所定の判定値以下であると判定された画像領域Aについては、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用して、抽出用背景画像P4を生成する(図9(d)参照)。例えば、図9(d)に示すように、背景画像生成部306gは、被写体存在画像P1を分割した4つの画像領域A、…のうち、左側二つの画像領域Aについては、背景色との類似度が所定の判定値よりも大きいと判定して、抽出用背景画像P4における当該画像領域Aに対応する領域の色として当該画像領域Aの色を採用する。その一方で、背景画像生成部306gは、被写体存在画像P1を分割した4つの画像領域A、…のうち、右側二つの画像領域Aについては、背景色との類似度が所定の判定値以下であると判定して、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する。
なお、図9(d)にあっては、各画像領域Aの色は、単位面積あたりのドット数を異ならせることによって色分けされた状態を模式的に表している。
【0057】
背景領域特定部306hは、被写体存在画像P1内で背景を構成する背景構成領域Cbを特定する。
即ち、背景領域特定部306hは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で背景を構成する背景構成領域Cb(図12(a)参照)を特定する。具体的には、背景領域特定部306hは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出した後、輝度情報及び色差情報の各差分の値に対して所定の重み付け(例えば、Y:U:V=1:4:4程度)を行って一次元の差分情報を生成する。
その後、背景領域特定部306hは、生成した差分情報を所定の分析方法(例えば、判別分析法等)を用いて分析し、被写体存在画像P1内で背景に対応する正解領域(シード)を構成する背景構成領域Cbの判定用の第1閾値を設定する。例えば、背景領域特定部306hは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも小さい差分情報の中での中央値(Median)を第1閾値として設定する。なお、背景構成領域Cbの判定用の第1閾値の設定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、判別分析法の結果に基づいてガウシアン混合分布を生成し、当該分布の谷部を背景と被写体との境目として第1閾値を設定しても良い。
そして、背景領域特定部306hは、差分情報が第1閾値以下の画素であって、背景画像生成部306gによる抽出用背景画像P4の生成に用いられたブロックBを抽出用背景画像P4のサポート領域として背景構成領域Cbに特定する。即ち、背景領域特定部306hは、背景色推定部306dによる背景色や各画像領域Aの色の推定にて、他のブロックBの代表色との類似度が所定の判定値以上であると判定された回数が最も多いブロックB、つまり、投票数の最も多いブロックBを背景構成領域Cbに特定する。ここで、本推定方法は一例であり、差分情報が第1閾値以下の画素を背景構成領域Csとして特定しても良い。
【0058】
なお、背景領域特定部306hは、例えば、被写体検出部305による顔検出処理の結果、顔領域が検出された場合や、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲内の画素について背景構成領域Cbとして特定するか否かを判定しても良い(詳細後述)。
また、図12(a)にあっては、被写体存在画像P1の背景構成領域Cb以外の領域に斜線を付して表し、背景構成領域Cbを白抜きの状態で表している。
【0059】
被写体領域特定部306iは、被写体存在画像P1内で被写体を構成する被写体構成領域Csを特定する。
即ち、被写体領域特定部306iは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs(図12(b)参照)を特定する。具体的には、被写体領域特定部306iは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出した後、輝度情報及び色差情報の各差分の値に対して所定の重み付け(例えば、Y:U:V=1:4.5:4.5程度)を行って一次元の差分情報を生成する。
その後、被写体領域特定部306iは、生成した差分情報を所定の分析方法(例えば、判別分析法等)を用いて分析し、被写体存在画像P1内で被写体に対応する正解領域(シード)を構成する被写体構成領域Csの判定用の閾値を設定する。例えば、被写体領域特定部306iは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも大きい差分情報の中での中央値(Median)を判定用の閾値として設定する。なお、被写体構成領域Csの判定用の閾値の設定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、判別分析法の結果に基づいてガウシアン混合分布を生成し、当該分布の谷部よりも差分情報の大きい領域を利用して判定用の閾値を設定しても良い。
そして、被写体領域特定部306iは、差分情報が判定用の閾値よりも大きい画素を被写体構成領域Csとして特定する。
【0060】
なお、被写体領域特定部306iは、例えば、被写体存在画像P1の縮小画像を分割した複数のブロックB、…について、注目するブロックBの周辺ブロックに対する色のばらつき量(例えば、分散、標準偏差等)が所定値よりも大きいブロックBは、画像の変化が激しい領域であるとして被写体構成領域Csとして特定しても良い。また、例えば、被写体領域特定部306iは、被写体検出部305による顔検出処理の結果、顔領域が検出された場合には、検出された顔領域を被写体構成領域Csとして特定しても良い(詳細後述)。
また、図12(b)にあっては、被写体存在画像P1の被写体構成領域Cs以外の領域に斜線を付して表し、被写体構成領域Csを白抜きの状態で表している。
【0061】
このように、被写体領域特定部306i及び背景領域特定部306hは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0062】
被写体抽出部306jは、被写体存在画像P1から被写体が含まれる領域Dを抽出する。
即ち、被写体抽出部306jは、被写体領域特定部306i及び背景領域特定部306hにより特定された被写体構成領域Cs及び背景構成領域Cbに基づいて、二値画像を生成する二値画像生成部306kを具備しており、当該二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出する。
【0063】
具体的には、二値画像生成部306kは、被写体存在画像P1における被写体構成領域Cs及び背景構成領域Cb以外の領域を、被写体であるか背景であるか未確定の未確定領域Cuとして、例えば、被写体構成領域Csの画素値を「1」とし、背景構成領域Cbの画素値を「0」とし、未確定領域Cuの画素値を「0.5」とする三値画像P5(図15(a)参照)を生成する。なお、図15(a)にあっては、三値画像P5における背景構成領域Cbを「黒塗り」で、被写体構成領域Csを「白抜き」で、未確定領域Cuに斜線を付して表している。
そして、二値画像生成部306kは、三値画像P5について所定のエネルギー関数を設定し、設定したエネルギー関数を最小にするパラメータを算出することで、未確定領域Cuを構成する各画素の画素値を特定する。
例えば、エネルギー最小化の手法として、グラフカットアルゴリズムを利用する場合、二値画像生成部306kは、被写体存在画像P1の被写体構成領域Cs及び背景構成領域Cbに対応する領域の色情報(輝度情報及び色差情報)に従ってガウシアン混合分布を生成し、当該ガウシアン混合分布に基づいて、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する。ここで、被写体尤度は、対象画素が被写体にどれだけ近いか、即ち、対象画素が被写体を構成する画素であると推定した場合の尤もらしさ(確率)を数値で表したものであり、同様に、背景尤度は、対象画素が背景にどれだけ近いか、即ち、対象画素が背景を構成する画素であると推定した場合の尤もらしさを数値で表したものである。
【0064】
そして、二値画像生成部306kは、エネルギー関数のデータ項に、被写体構成領域Cs及び背景構成領域Cb、未確定領域Cuの各画素に係る被写体尤度及び背景尤度を設定するとともに、エネルギー関数の平滑化項に、未確定領域Cuの各画素について周囲画素(例えば、隣接する画素)に対する色差情報の差分を設定する。その後、二値画像生成部306kは、設定したエネルギー関数を最小にするパラメータを算出し、未確定領域Cuを構成する各画素について、被写体領域Dに対応する画素値とするか背景領域に対応する画素値とするかを特定する。このとき、平滑化項については、被写体検出部305による特定の被写体の検出結果、例えば、顔検出処理の検出結果を考慮して、顔領域の周辺の髪の毛などに対応できるようにノイズ除去特性を設定しても良い。
このようにして、二値画像生成部306kは、被写体領域Dの画素値を「1」とし、背景領域の画素値を「0」とする二値画像を生成する。
【0065】
そして、被写体抽出部306jは、二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1における被写体領域Dの位置を示し、当該被写体領域Dを抽出するための抽出用画像を生成する。
ここで、抽出用画像としては、例えば、被写体存在画像P1の各画素について、被写体画像を所定の背景に対してアルファブレンディングする際の重みをアルファ値(0≦α≦1)として表したアルファマップMが挙げられる。
具体的には、被写体抽出部306jは、例えば、二値画像に対して細かいノイズや手ぶれによる相違が存在する領域を除去するための収縮処理を行って所定値よりも小さい画素集合や手ぶれによる細線画素集合を除外した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行い、その後、収縮分を修正するための膨張処理を行う。また、被写体抽出部306jは、例えば、被写体部分として特定した最大面積の画素集合内でラベリング処理を行って、当該被写体部分の構成画素のラベル数に対して所定の割合以下のラベル数の背景領域に対応する画素集合の各画素の画素値を、被写体部分に対応する画素値に変更して、被写体部分に置き換える穴埋め処理を行う。
その後、被写体抽出部306jは、上記の被写体部分に対応する最大面積の画素集合の画素値が「1」、背景領域に対応するその他の部分の画素値が「0」である二値画像に対してローパスフィルタを施して境界部分に中間値を生じさせることで、各々の領域について所定のアルファ値を生成する。これにより、被写体領域Dのアルファ値が「1」となり、被写体存在画像P1の所定の背景に対する透過度が0%となる。一方、被写体の背景部分のアルファ値が「0」となり、当該被写体存在画像P1の所定の背景に対する透過度が100%となる。
なお、図15(b)にあっては、アルファマップMにおける被写体領域Dを「白抜き」で、背景領域を「黒塗り」で表している。
【0066】
その後、被写体抽出部306jは、生成された抽出用画像(アルファマップM)に基づいて、被写体存在画像P1の各画素のうち、アルファ値が1の画素を所定の単一色画像P7に対して透過させずに、且つ、アルファ値が0の画素を透過させるように、被写体画像を所定の単一色画像P7と合成して被写体切り抜き画像P6(図15(c)参照)の画像データを生成する。
【0067】
次に、ユーザ端末2及びサーバ3を用いた被写体画像生成処理について図5〜図15を参照して説明する。
ここで、図5は、被写体画像生成処理に係る動作の一例を示すフローチャートであり、図6は、被写体画像生成処理における被写体切抜処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、撮像装置1により生成された被写体存在画像P1の画像データが記録された記録媒体Mがユーザ端末2の記録媒体制御部204に装着されているものとする。
【0068】
図5に示すように、ユーザ端末2の中央制御部201は、ユーザによる操作入力部205の所定操作に基づいて、サーバ3により開設される被写体抽出用ページのアクセス指示が入力されると、中央制御部201のCPUは、当該アクセス指示を通信制御部202により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部304によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、被写体抽出用ページのページデータを通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部202によって、被写体抽出用ページのページデータが受信されると、表示部203は、当該被写体抽出用ページのページデータに基づいて、所定の被写体抽出用ページを表示画面に表示する。
【0069】
次に、ユーザ端末2の記録媒体制御部204は、記録媒体Mから当該被写体画像生成処理に係る被写体存在画像P1の画像データを読み出した後、表示部203は、当該被写体存在画像P1の画像データを表示画面に表示する(ステップS3)。続けて、通信制御部202は、読み出された被写体存在画像P1の画像データ(YUVデータ)をサーバ3に所定の通信ネットワークNを介して送信する(ステップS4)。
【0070】
そして、ユーザ端末2から送信された被写体存在画像P1の画像データがサーバ3の通信制御部304により受信されると、サーバ3は、被写体存在画像P1から被写体が含まれる領域Dを切り抜く被写体切抜処理を実行する(ステップS5;図6参照)。
【0071】
図6に示すように、被写体切抜処理では、先ず、被写体切抜部306は、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する背景生成処理(図7参照;詳細後述)を行った後(ステップS51)、抽出用背景画像P4の生成が成功したか否かを判定する(ステップS52)。
ここで、抽出用背景画像P4の生成が成功したと判定されると(ステップS52;YES)、被写体切抜部306の背景領域特定部306hは、被写体存在画像P1内で背景を構成する背景構成領域Cbを特定する背景領域特定処理(図10参照;詳細後述)を行う(ステップS53)。続けて、被写体切抜部306の被写体領域特定部306iは、被写体存在画像P1内で被写体を構成する被写体構成領域Csを特定する被写体領域特定処理(図11参照;詳細後述)を行う(ステップS54)。
【0072】
その後、被写体切抜部306の被写体抽出部306jは、被写体存在画像P1から被写体が含まれる領域Dを抽出する被写体抽出処理(図12参照;詳細後述)を行った後(ステップS55)、当該被写体切抜処理を終了させる。
【0073】
一方、ステップS52にて、抽出用背景画像P4の生成が成功していないと判定されると(ステップS52;NO)、被写体切抜部306は、当該被写体切抜処理を終了させる。
【0074】
図5に戻り、被写体切抜部306は、抽出結果判定処理の結果に基づいて、被写体切抜処理が成功したか、つまり被写体画像の生成が成功したか否かを判定する(ステップS6)。
ここで、被写体画像の生成が成功したと判定されると(ステップS6;YES)、中央制御部301のCPUは、生成された被写体切り抜き画像P6の画像データを通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS7)。
そして、ユーザ端末2の通信制御部202によって、被写体切り抜き画像P6の画像データが受信されると(ステップS8)、表示部203は、当該被写体切り抜き画像P6の画像データに基づいて、被写体画像を表示画面に表示する(ステップS9)。
【0075】
一方、ステップS6にて、被写体画像の生成が成功していないと判定されると(ステップS6;NO)、中央制御部301のCPUは、被写体画像生成の失敗に係る所定の画面の表示指示を通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS10)。
そして、ユーザ端末2の通信制御部202によって、サーバ3から送信された被写体画像生成の失敗に係る所定の画面の表示指示が受信されると、表示部203は、当該被写体画像生成の失敗に係る所定の画面を表示画面に表示する(ステップS11)。
【0076】
次に、被写体切抜処理における背景生成処理について、図7〜図9を参照して説明する。
図7は、背景生成処理に係る動作の一例を示すフローチャートである。
【0077】
図7に示すように、被写体切抜部306の画像取得部306aは、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1(図8(a)参照)のYUVデータを取得する(ステップS61)。また、画像取得部306aは、被写体存在画像P1のYUVデータを水平(x軸)方向及び垂直(y軸)方向ともに所定の比率で縮小した縮小画像(例えば、VGAサイズの画像等)のYUVデータを生成する。
【0078】
次に、被写体切抜部306の背景色推定部306dは、被写体存在画像P1を複数のブロックB、…に分割した後、各ブロックBの代表色及び色のばらつき量を算出する(ステップS62)。
具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…に分割する(図8(b)参照)。そして、背景色推定部306dは、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色を算出するとともに、各ブロックB内の色のばらつき量を算出する。
続けて、背景色推定部306dは、複数のブロックB、…の各々について色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBをそれぞれ特定する(ステップS63)。その後、背景色推定部306dは、特定された各ブロックBについて、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する(ステップS64)。
【0079】
次に、背景色推定部306dは、ステップS64の処理にて投票された数が所定数以上であるか否かを判定する(ステップS65)。
ここで、投票された数が所定数以上であると判定されると(ステップS65;YES)、背景色推定部306dは、所定の判定値以上であると判定された回数が最も多いブロックB(最多投票数のブロックB)の代表色を抽出用背景画像P4の全体色(背景色)として特定する(ステップS66;図8(c)参照)。
一方、ステップS65にて、投票された数が所定数以上でないと判定されると(ステップS65;NO)、被写体切抜部306は、抽出用背景画像P4の生成を失敗として(ステップS67)、背景生成処理を終了させる。
【0080】
抽出用背景画像P4の全体色(背景色)を特定(ステップS66)した後、被写体切抜部306の画像分割部306bは、被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素からなる複数(例えば、4つ)の画像領域A(図9(a)参照)に分割する(ステップS68)。そして、画像領域特定部306cは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…を、類似度算出部306eによる抽出用背景画像P4の背景色(所定の一色)との類似度の算出に係る特定対象として特定する。
【0081】
次に、背景色推定部306dは、各画像領域A全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…(図9(b)参照)に分割した後、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色を算出するとともに、各ブロックB内の色のばらつき量を算出する(ステップS69)。
続けて、背景色推定部306dは、各画像領域Aの複数のブロックB、…の各々について色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBをそれぞれ特定する。その後、背景色推定部306dは、特定された各ブロックBについて、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する(ステップS70)。
【0082】
次に、背景色推定部306dは、各画像領域Aについて、ステップS70の処理にて投票された数が所定数以上であるか否かを判定する(ステップS71)。
ここで、投票された数が所定数以上であると判定されると(ステップS71;YES)、背景色推定部306dは、所定の判定値以上であると判定された回数が最も多いブロックB(最多投票数のブロックB)の代表色を各画像領域Aの色として特定する(ステップS72;図9(c)参照)。
続けて、被写体切抜部306の類似度算出部306eは、各画像領域Aの色について背景色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)を算出して、類似度判定部306fは、算出された各画像領域Aの色と背景色との類似度が所定の判定値よりも大きいか否かを判定する(ステップS73)。
【0083】
ステップS73にて、背景色との類似度が所定の判定値よりも大きい(ステップS73;YES)と判定された画像領域Aについては、被写体切抜部306の背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色推定部306dにより特定された画像領域Aの色を採用する(ステップS74)。その一方で、背景色との類似度が所定の判定値以下である(ステップS73;NO)と判定された画像領域Aについては、背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する(ステップS75)。
また、ステップS71にて、投票された数が所定数以上でない(ステップS71;NO)と判定された画像領域Aについても、背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する(ステップS75)。
【0084】
その後、背景画像生成部306gは、抽出用背景画像P4における被写体存在画像P1の各画像領域Aに対応する領域について採用された色に従って、抽出用背景画像P4のYUVデータを生成する(ステップS76;図9(d)参照)。
これにより、背景生成処理を終了する。
【0085】
次に、被写体切抜処理における背景領域特定処理について、図10及び図12(a)を参照して説明する。
図10は、背景領域特定処理に係る動作の一例を示すフローチャートである。
【0086】
図10に示すように、被写体切抜部306の背景領域特定部306hは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出する(ステップS81)。その後、背景領域特定部306hは、算出された輝度情報及び色差情報の各差分の値に対して所定の重み付けを行って一次元の差分情報を生成する。
【0087】
次に、背景領域特定部306hは、生成した差分情報に基づいて、被写体存在画像P1内で背景に対応する正解領域を構成する背景構成領域Cbの判定用の第1閾値を設定する(ステップS82)。具体的には、背景領域特定部306hは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも小さい差分情報の中での中央値(Median)を第1閾値として設定する。
続けて、背景領域特定部306hは、差分情報が第1閾値以下の画素であって、背景画像生成部306gによる抽出用背景画像P4の生成に用いられたブロックBを抽出用背景画像P4のサポート領域として背景構成領域Cbに特定する(ステップS83;図12(a)参照)。具体的には、背景領域特定部306hは、背景色推定部306dによる背景色や各画像領域Aの色の推定にて、他のブロックBの代表色との類似度が所定の判定値以上であると判定された回数が最も多いブロックB、つまり、投票数の最も多いブロックBを背景構成領域Cbに特定する。
【0088】
次に、被写体検出部305は、被写体存在画像P1のYUVデータに対して所定の顔検出処理を行って顔領域を検出する(ステップS84)。
続けて、背景領域特定部306hは、被写体検出部305による顔検出処理の結果に従って、被写体存在画像P1内で背景構成領域Cbである可能性の高い縁領域を特定する(ステップS85)。具体的には、顔検出処理の結果、顔領域が検出された場合、背景領域特定部306hは、例えば、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲(例えば、20画素等)内を縁領域として、背景構成領域Cbである可能性の高い縁領域として特定する。
なお、背景構成領域Cbである可能性の高い縁領域の特定に、被写体検出部305による顔検出処理の結果を考慮するようにしたが、例えば、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲内の画素について背景構成領域Cbとして特定するようにしても良い。
【0089】
続けて、背景領域特定部306hは、特定された各縁領域を構成する所定画素(例えば、20画素等)からなる複数のブロックB、…の各々について、色のばらつき量(例えば、分散、標準偏差等)が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBを特定する(ステップS86)。
次に、背景領域特定部306hは、特定された各ブロックBの代表色の中で、抽出用背景画像P4の色(背景色や各画像領域Aの色)との類似度を算出し、最も類似する代表色を特定する(ステップS87)。次に、背景領域特定部306hは、特定された代表色と抽出用背景画像P4の背景色との差分を算出して(ステップS88)、当該差分に基づいて、被写体存在画像P1内で背景に対応する正解領域を構成する背景構成領域Cbの判定用の第2閾値を設定する(ステップS89)。
ここで、第2閾値は、第1閾値よりも判定度が緩い値であり、例えば、背景構成領域Cbである可能性の高い縁領域を構成するブロックBのうち、抽出用背景画像P4の色との差分がステップS87にて特定された代表色と抽出用背景画像P4の背景色との色差以下のブロックBを背景構成領域Cbとする程度に設定される。また、ステップS82における第1閾値の設定の際に算出された、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を第2閾値として設定しても良い。
【0090】
そして、背景領域特定部306hは、縁領域を構成する複数のブロックB、…のうち、各ブロックBの代表色と抽出用背景画像P4の色(背景色や各画像領域Aの色)との差分情報が第2閾値以下のブロックBを、背景構成領域Cbに追加特定する(ステップS90)。
或いは、ステップS87で特定した代表色と縁領域の色の差が、所定値以下の領域を背景構成領域Cbに追加しても良い。
これにより、背景領域特定処理を終了する。
【0091】
次に、被写体切抜処理における被写体領域特定処理について、図11及び図12(b)を参照して説明する。
図11は、被写体領域特定処理に係る動作の一例を示すフローチャートである。
被写体切抜部306の被写体領域特定部306iは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出する(ステップS101)。その後、被写体領域特定部306iは、算出された輝度情報及び色差情報の各差分の値に対して所定の重み付けを行って一次元の差分情報を生成する。
【0092】
次に、被写体領域特定部306iは、生成した差分情報に基づいて、被写体存在画像P1内で被写体に対応する正解領域を構成する被写体構成領域Csの判定用の閾値を設定する(ステップS102)。具体的には、被写体領域特定部306iは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも大きい差分情報の中での中央値(Median)を判定用の閾値として設定する。
続けて、被写体領域特定部306iは、差分情報が判定用の閾値よりも大きい画素を特定する。
次に、被写体存在画像P1の縮小画像を分割した複数のブロックB、のうち、注目するブロックB内の色のばらつき(分散)が所定値よりも大きいブロックBを特定し、特定したブロック内で、差分情報が判定用の閾値より大きい画素を被写体構成領域Csとして特定する(ステップS103;図12(b)参照)。
或いは、差分情報が判定用閾値より大きい画素を被写体構成領域Csとし、更に色のばらつきが大きいブロックBを追加しても良い。
【0093】
次に、被写体検出部305は、被写体存在画像P1のYUVデータに対して所定の顔検出処理を行って顔領域を検出する(ステップS104)。
続けて、被写体検出部305は、顔領域の検出に成功したか否かを判定し(ステップS105)、顔領域の検出に成功したと判定されると(ステップS105;YES)、被写体領域特定部306iは、検出された顔領域を被写体構成領域Csとして追加特定する(ステップS106)。このとき、被写体領域特定部306iは、必ずしも顔領域全体を被写体構成領域Csとして特定する必要はなく、顔領域の所定方向(例えば、水平方向)については、実際に検出された顔領域よりも所定の割合小さくなるような領域を設定しても良い。また、被写体領域特定部306iは、被写体存在画像P1内で顔領域よりも下側の領域を被写体構成領域Csとして特定しても良い。
一方、ステップS105にて、顔領域の検出に成功していないと判定されると(ステップS105;NO)、被写体切抜部306は、ステップS106をスキップして、被写体領域特定処理を終了させる。
【0094】
次に、被写体切抜処理における被写体抽出処理について、図13〜図15を参照して説明する。
図13は、被写体抽出処理に係る動作の一例を示すフローチャートであり、図14は、被写体抽出処理における抽出結果判定処理に係る動作の一例を示すフローチャートである。
【0095】
図13に示すように、被写体抽出部306jの二値画像生成部306kは、被写体構成領域Cs、背景構成領域Cb、被写体であるか背景であるか未確定の未確定領域Cuからなる三値画像P5(図15(a)参照)における、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する(ステップS111)。
具体的には、二値画像生成部306kは、被写体存在画像P1における被写体構成領域Cs及び背景構成領域Cb以外の領域を、被写体であるか背景であるか未確定の未確定領域Cuとして、例えば、被写体構成領域Csの画素値を「1」とし、背景構成領域Cbの画素値を「0」とし、未確定領域Cuの画素値を「0.5」とする三値画像P5を生成する。そして、二値画像生成部306kは、被写体存在画像P1の被写体構成領域Cs及び背景構成領域Cbに対応する領域の色情報(輝度情報及び色差情報)に従ってガウシアン混合分布を生成し、当該ガウシアン混合分布に基づいて、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する(ステップS111)。
【0096】
次に、二値画像生成部306kは、グラフカットアルゴリズムを利用して、被写体領域Dの画素値を「1」とし、背景領域の画素値を「0」とする二値画像を生成する(ステップS112)。
具体的には、二値画像生成部306kは、所定のエネルギー関数のデータ項に、被写体構成領域Cs及び背景構成領域Cb、未確定領域Cuの各画素に係る被写体尤度及び背景尤度を設定するとともに、エネルギー関数の平滑化項に、未確定領域Cuの各画素について周囲画素(例えば、隣接する画素)に対する色差情報の差分を設定する。その後、二値画像生成部306kは、設定したエネルギー関数を最小にするパラメータを算出し、未確定領域Cuを構成する各画素について、被写体領域Dに対応する画素値「1」とするか背景領域に対応する画素値「0」とするかを特定する。
【0097】
続けて、被写体抽出部306jは、二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1における被写体領域Dの位置を示す抽出用画像(例えば、アルファマップM)を生成する(ステップS113)。
具体的には、被写体抽出部306jは、例えば、二値画像に対して細かいノイズや手ぶれによる相違が存在する領域を除去するための収縮処理を行って所定値よりも小さい画素集合や手ぶれによる細線画素集合を除外した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行い、その後、収縮分を修正するための膨張処理を行う。また、被写体抽出部306jは、例えば、被写体部分として特定した最大面積の画素集合内でラベリング処理を行って、当該被写体部分の構成画素のラベル数に対して所定の割合以下のラベル数の背景領域に対応する画素集合の各画素の画素値を、被写体部分に対応する画素値に変更して、被写体部分に置き換える穴埋め処理を行う。
その後、被写体抽出部306jは、上記の被写体部分に対応する最大面積の画素集合の画素値が「1」、背景領域に対応するその他の部分の画素値が「0」である二値画像に対してローパスフィルタを施して境界部分に中間値を生じさせることで、各々の領域について所定のアルファ値を生成してアルファマップM(図15(b)参照)を生成する。
【0098】
その後、被写体抽出部306jは、生成された抽出用画像(アルファマップM)を用いて被写体存在画像P1から被写体領域Dを切り出して、所定の単一色画像P7と合成して被写体切り抜き画像P6(図15(c)参照)の画像データを生成する(ステップS114)。
具体的には、被写体切抜部306は、被写体存在画像P1の全ての画素について、アルファ値が0の画素については、透過させ、アルファ値が0<α<1の画素については、所定の単一色とブレンディングを行い、アルファ値が1の画素については、何もせずに所定の単一色に対して透過させないようにする。なお、アルファマップMの縁部分には、合成階調がつけられているため、切り出された被写体領域Dと単一色画像P7(背景)との境界部分がはっきりしていない自然な感じとなる。
また、生成された被写体切り抜き画像P6の画像データは、抽出用画像であるアルファマップMと対応付けて記憶部302に記憶される。
【0099】
次に、被写体切抜部306は、被写体抽出処理の結果を判定する抽出結果判定処理(図14参照)を行う(ステップS115)。
ここで、抽出結果判定処理について、図14を参照して説明する。
【0100】
図14に示すように、被写体切抜部306は、被写体切抜処理にて被写体検出部305による顔検出が成功しているか否かを判定する(ステップS121)。
ここで、顔検出が成功していると判定されると(ステップS121;YES)、被写体切抜部306は、被写体切り抜き画像P6の被写体領域D内に顔領域が含まれているか否かを判定する(ステップS122)。
【0101】
ステップS122にて、被写体領域D内に顔領域が含まれていると判定されると(ステップS122;YES)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっているか否かを判定する(ステップS123)。具体的には、被写体切抜部306は、被写体領域Dにおける、被写体切り抜き画像P6の所定の画像境界(例えば、下側画像境界等)と重畳する画素数が全画像境界の画素数に対して所定の割合以上となっているか否かを判定する。
ここで、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっていないと判定されると(ステップS123;NO)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっているか否かを判定する(ステップS124)。
【0102】
ステップS124にて、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっていると判定されると(ステップS124;YES)、被写体切抜部306は、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であるか否かを判定する(ステップS125)。具体的には、被写体切抜部306は、被写体領域Dの構成画素数及び被写体切り抜き画像P6全体の構成画素数を特定して、被写体領域Dの構成画素数が被写体切り抜き画像P6全体の構成画素数に対して所定の割合以下であるか否かを判定する。
ここで、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下でないと判定されると(ステップS125;NO)、被写体切抜部306は、被写体画像の生成が成功であるとして(ステップS126)、抽出結果判定処理を終了する。
一方、ステップS125にて、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であると判定されると(ステップS125;YES)、被写体切抜部306は、被写体画像の生成が失敗であるとして(ステップS127)、抽出結果判定処理を終了する。
【0103】
一方、ステップS124にて、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっていないと判定されると(ステップS124;NO)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっているか否かを判定する(ステップS128)。
ここで、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっていないと判定されると(ステップS128;NO)、被写体切抜部306は、処理をステップS125に移行して、上記と同様に、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であるか否かを判定する(ステップS125)。その一方で、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっていると判定されると(ステップS128;YES)、被写体切抜部306は、処理をステップS127に移行して、被写体画像の生成が失敗であるとする(ステップS127)。
また、ステップS121にて、顔検出が成功していないと判定された場合にも(ステップS121;NO)、被写体切抜部306は、処理をステップS125に移行して、上記と同様の処理を行う(ステップS125)。
【0104】
一方、ステップS122にて、被写体領域D内に顔領域が含まれていないと判定されるか(ステップS122;NO)、或いは、ステップS123にて、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっていると判定された場合にも(ステップS123;YES)、被写体切抜部306は、処理をステップS127に移行して、被写体画像の生成が失敗であるとする(ステップS127)。
これにより、被写体抽出処理を終了する。
【0105】
以上のように、実施形態1の被写体切り抜きシステム100によれば、被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色からなる抽出用背景画像P4を生成するので、被写体存在画像P1の色を複数の画像領域A、…毎に個別に考慮して抽出用背景色(抽出用背景画像P4)の生成を適正に行うことができる。このとき、被写体存在画像P1を分割して複数の画像領域A、…を特定するので、所定の一色との類似度の算出に係る画像領域Aの特定を適正に行うことができる。
そして、生成された抽出用背景色(抽出用背景画像P4)に基づいて、被写体存在画像P1内で被写体構成領域Cs及び背景構成領域Cbをそれぞれ特定するので、被写体や背景を構成する正解領域(シード)の指定を、予めユーザによる操作部の所定操作に基づいて行う必要がなくなり、被写体存在画像P1内での被写体構成領域Cs及び背景構成領域Cbの指定を自動的に行うことができる。
【0106】
具体的には、被写体存在画像P1の複数のブロックB、…の各々について、他のブロックBの色との類似度が所定の判定値以上であると判定された回数が最も多いブロックBの色を被写体存在画像P1の背景色として推定するので、被写体存在画像P1の複数の画像領域A、…の色との類似度の算出基準となる被写体存在画像P1の背景色(所定の一色)の推定を適正に行うことができる。
さらに、他のブロックBの色との類似度が所定の判定値以上であると判定された回数が最も多いブロックBを、背景構成領域Cbとして特定するので、被写体存在画像P1の背景色の推定に用いられたブロックBを背景構成領域Cbとして適正に特定することができる。
また、複数のブロックBの色のばらつき量が所定値以下であるブロックBの各々について、他のブロックBの色との類似度が所定の判定値以上であるか否かを判定するので、被写体存在画像P1を構成する複数のブロックBのうち、色のばらつき量の少ないブロックBのみを用いて被写体存在画像P1の背景色(所定の一色)を推定することができ、当該背景色の推定を適正に行うことができる。
【0107】
また、抽出用背景画像P4の生成の際に、所定の一色との類似度が所定の判定値よりも大きいと判定された画像領域Aについては、当該画像領域Aの色に基づいて抽出用背景画像P4を生成することができ、その一方で、所定の一色との類似度が所定の判定値以下であると判定された画像領域Aについては、被写体存在画像P1の推定された背景色に基づいて抽出用背景画像P4を生成することができるので、被写体存在画像P1の複数の画像領域Aの各々について所定の一色との類似度を考慮して抽出用背景画像P4の生成を適正に行うことができる。
【0108】
さらに、被写体構成領域Cs及び背景構成領域Cbに基づいて、被写体存在画像P1から被写体領域Dを抽出するので、被写体存在画像P1を取得するだけで当該被写体存在画像P1から被写体領域Dを自動的に抽出することができる。
【0109】
[実施形態2]
図16は、本発明を適用した実施形態2の撮像装置201の概略構成を示すブロック図である。
なお、実施形態2の撮像装置201は、以下に詳細に説明する以外の点で上記実施形態1の撮像装置1と略同様の構成をなし、詳細な説明は省略する。
【0110】
実施形態2の撮像装置201は、画像処理装置として、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。そして、撮像装置201が、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0111】
図16に示すように、撮像装置201は、上記実施形態1の撮像装置1の各部、即ち、レンズ部101、電子撮像部102、ユニット回路部103、撮像制御部104、画像処理部105、表示部106、記録媒体制御部107、バッファメモリ108、プログラムメモリ109、操作入力部110、中央制御部111に加えて、被写体検出部112と、被写体切抜部113とを備えている。
【0112】
被写体検出部112及び被写体切抜部113は、実施形態1のサーバ3に備わる被写体検出部305及び被写体切抜部306と同等の機能を有している。
即ち、被写体切抜部113の類似度算出部306eは、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、背景画像生成部306gは、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。そして、背景領域特定部306h及び被写体領域特定部306iは、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
また、被写体検出部112は、被写体存在画像P1から特定の被写体を検出する。
【0113】
そして、撮像装置201は、上記実施形態1の被写体切抜処理(図6参照)と略同等の被写体切抜処理を行って、被写体存在画像P1から被写体領域Dを切り出して、被写体切り抜き画像P6の画像データを生成する。
【0114】
従って、実施形態2の撮像装置201によれば、上記実施形態1と同様に、被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色からなる抽出用背景画像P4を生成するので、被写体存在画像P1の色を複数の画像領域A、…毎に個別に考慮して抽出用背景色(抽出用背景画像P4)の生成を適正に行うことができる。そして、生成された抽出用背景色(抽出用背景画像P4)に基づいて、被写体存在画像P1内で被写体構成領域Cs及び背景構成領域Cbをそれぞれ特定するので、被写体や背景を構成する正解領域(シード)の指定を、予めユーザによる操作部の所定操作に基づいて行う必要がなくなり、被写体存在画像P1内での被写体構成領域Cs及び背景構成領域Cbの指定を自動的に行うことができる。
【0115】
なお、上記実施形態1、2にあっては、必ずしも被写体検出部305、112を備える必要はなく、被写体検出部305、112を備えるか否かは適宜任意に変更可能である。
【0116】
なお、本発明は、上記実施形態1、2に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態1、2にあっては、被写体切抜部306(113)に画像分割部306b、背景色推定部306d、被写体抽出部306jを具備するようにしたが、画像分割部306bや背景色推定部306dや被写体抽出部306jを具備するか否かは適宜任意に変更可能である。
【0117】
また、上記実施形態1、2にあっては、被写体切抜部306(113)に類似度判定部306fを具備し、当該類似度判定部306fの判定結果を考慮して抽出用背景画像P4を生成するようにしたが、類似度判定部306fを具備するか否か、即ち、類似度判定部306fの判定結果を考慮して抽出用背景画像P4を生成するか否かは適宜任意に変更可能である。
【0118】
さらに、上記実施形態1、2にあっては、被写体抽出処理にて抽出結果判定処理を実行するようにしたが、抽出結果判定処理を行うか否かは適宜任意に変更可能である。また、図14に示した抽出結果判定処理の処理内容も一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0119】
また、上記実施形態1にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像処理装置)3によって被写体構成領域Cs及び背景構成領域Cbを特定するようにしたが、一例であってこれに限られるものではなく、画像処理装置の構成は適宜任意に変更可能である。即ち、抽出用画像の生成に係る被写体切抜部306(113)の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で被写体画像生成処理を行うようにしても良い。
つまり、ユーザ端末2は、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成し、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定するようにしても良い。
【0120】
また、上記実施形態1にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
【0121】
さらに、実施形態1の被写体切り抜きシステム100にプリント装置を備え、当該プリント装置によって、サーバ3により生成された被写体切り抜き画像P6の被写体画像を所定のプリント用基材に対して所定の印刷方式により印刷して、被写体画像のプリントを作成するようにしても良い。また、サーバ3は、生成した被写体切り抜き画像P6をアルファマップMを利用して所定の背景画像と合成して被写体合成画像(図示略)を生成しても良く、この場合には、プリント装置は、当該被写体合成画像のプリントを作成するようにしても良い。
なお、被写体切り抜き画像P6や被写体合成画像の画像データには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0122】
加えて、上記実施形態1、2にあっては、取得手段、第1の特定手段、比較手段、生成手段、第2の特定手段としての機能を、サーバ3の中央制御部301や撮像装置201の中央制御部111の制御下にて、被写体切抜部306(113)の画像取得部306a、画像領域特定部306c、類似度算出部306e、背景画像生成部306g、背景領域特定部306h、被写体領域特定部306iが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301(111)のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、取得処理ルーチン、第1の特定処理ルーチン、比較処理ルーチン、生成処理ルーチン、第2の特定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部301(111)のCPUを、背景と被写体とが存在する被写体存在画像P1を取得する取得手段として機能させるようにしても良い。また、第1の特定処理ルーチンにより中央制御部301のCPUを、取得手段により取得された被写体存在画像P1内で複数の画像領域A、…を特定する第1の特定手段として機能させるようにしても良い。また、比較処理ルーチンにより中央制御部301のCPUを、第1の特定手段により特定された各画像領域Aの代表色と所定の一色とを比較する比較手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、比較手段による比較結果に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色を生成する生成手段として機能させるようにしても良い。また、第2の特定処理ルーチンにより中央制御部301のCPUを、生成手段により生成された抽出用背景色に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する第2の特定手段として機能させるようにしても良い。
【0123】
同様に、分割手段、推定手段、判定手段、抽出手段についても、サーバ3の中央制御部301や撮像装置201の中央制御部111のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
【0124】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【符号の説明】
【0125】
100 被写体切り抜きシステム
1、201 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
304 通信制御部
305 被写体検出部
306 被写体切抜部
306a 画像取得部
306b 画像分割部
306c 画像領域特定部
306d 背景色推定部
306e 類似度算出部
306f 類似度判定部
306g 背景画像生成部
306h 背景領域特定部
306i 被写体領域特定部
306j 被写体抽出部
M 記録媒体
N 通信ネットワーク
【技術分野】
【0001】
本発明は、背景と被写体とが混在する画像から被写体が含まれる領域を抽出するための画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、背景と被写体とが混在する画像から被写体が含まれる領域の抽出に、例えば、グラフカットアルゴリズムなどのエネルギー関数を最小にするパラメータを求める手法が用いられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6973212号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1等の場合、被写体を構成する正解領域(シード)及び背景を構成する正解領域に基づいて、被写体領域か背景領域か未確定の領域の被写体らしさや背景らしさである尤度を算出するようになっているが、予め各正解領域の指定をユーザによる操作部の所定操作に基づいて行わなければならなかった。
【0005】
本発明は、このような問題に鑑みてなされたものであり、被写体存在画像内での被写体構成領域及び背景構成領域の指定を自動的に行うことができる画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、請求項1に記載の発明の画像処理装置は、
背景と被写体とが存在する被写体存在画像を取得する取得手段と、この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段と、この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段と、この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段と、この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段と、を備えたことを特徴としている。
【0007】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、
前記被写体存在画像を複数の画像領域に分割する分割手段を更に備え、前記第1の特定手段は、前記分割手段により分割された複数の画像領域を特定対象として特定することを特徴としている。
【0008】
請求項3に記載の発明は、請求項1又は2に記載の画像処理装置において、
前記取得手段により取得された被写体存在画像の背景の色を一色で推定する推定手段を更に備え、前記比較手段は、前記推定手段により推定された前記背景の色を前記所定の一色として、前記第1の特定手段により特定された各画像領域の代表色との類似度を算出することを特徴としている。
【0009】
請求項4に記載の発明は、請求項3に記載の画像処理装置において、
前記推定手段は、更に、前記被写体存在画像の複数の領域の各々について、他の領域の代表色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の代表色を前記背景の色として推定することを特徴としている。
【0010】
請求項5に記載の発明は、請求項4に記載の画像処理装置において、
前記第2の特定手段は、更に、前記推定手段により他の領域の色との類似度が所定の判定値以上であると判定された回数が最も多い領域を、前記背景構成領域として特定することを特徴としている。
【0011】
請求項6に記載の発明は、請求項4又は5に記載の画像処理装置において、
前記推定手段は、更に、前記複数の領域の色のばらつき量を算出し、算出されたばらつき量が所定値以下である領域の各々について、他の領域の色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の色を前記背景の色として推定することを特徴としている。
【0012】
請求項7に記載の発明は、請求項3〜6の何れか一項に記載の画像処理装置において、
前記比較手段による比較の結果、各画像領域に係る類似度合が所定の判定値よりも大きいか否かを判定する判定手段を更に備え、前記生成手段は、前記判定手段により画像領域の類似度が所定の判定値よりも大きいと判定されると、当該画像領域に対応する領域については当該画像領域の背景色に基づいて前記抽出用背景色を生成し、一方、前記判定手段により画像領域の類似度が所定の判定値以下であると判定されると、当該画像領域に対応する領域については前記推定手段により推定された前記背景の色に基づいて前記抽出用背景色を生成することを特徴としている。
【0013】
請求項8に記載の発明は、請求項1〜7の何れか一項に記載の画像処理装置において、
前記第2の特定手段により特定された前記被写体構成領域及び前記背景構成領域に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出する抽出手段を更に備えることを特徴としている。
【0014】
請求項9に記載の発明の画像処理方法は、
画像処理装置を用いた画像処理方法であって、背景と被写体とが存在する被写体存在画像を取得する処理と、この取得された被写体存在画像内で複数の画像領域を特定する処理と、この特定された各画像領域の代表色と所定の一色とを比較する処理と、この比較する処理による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する処理と、この生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する処理と、を含むことを特徴としている。
【0015】
請求項10に記載の発明のプログラムは、
画像処理装置のコンピュータを、背景と被写体とが存在する被写体存在画像を取得する取得手段、この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段、この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段、この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段、この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段、として機能させることを特徴としている。
【発明の効果】
【0016】
本発明によれば、被写体存在画像内での被写体構成領域及び背景構成領域の指定を自動的に行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明を適用した実施形態1の被写体切り抜きシステムの概略構成を示すブロック図である。
【図2】被写体切り抜きシステムを構成する撮像装置の概略構成を示すブロック図である。
【図3】被写体切り抜きシステムを構成するユーザ端末の概略構成を示すブロック図である。
【図4】被写体切り抜きシステムを構成するサーバの概略構成を示すブロック図である。
【図5】被写体切り抜きシステムによる被写体画像生成処理に係る動作の一例を示すフローチャートである。
【図6】図5の被写体画像生成処理における被写体切抜処理に係る動作の一例を示すフローチャートである。
【図7】図6の被写体切抜処理における背景生成処理に係る動作の一例を示すフローチャートである。
【図8】図7の背景生成処理に係る画像の一例を模式的に示す図である。
【図9】図7の背景生成処理に係る画像の一例を模式的に示す図である。
【図10】図6の被写体切抜処理における背景領域特定処理に係る動作の一例を示すフローチャートである。
【図11】図6の被写体切抜処理における被写体領域特定処理に係る動作の一例を示すフローチャートである。
【図12】図6の被写体切抜処理に係る画像の一例を模式的に示す図である。
【図13】図6の被写体切抜処理における被写体抽出処理に係る動作の一例を示すフローチャートである。
【図14】図13の被写体抽出処理における抽出結果判定処理に係る動作の一例を示すフローチャートである。
【図15】図6の被写体切抜処理に係る画像の一例を模式的に示す図である。
【図16】本発明を適用した実施形態2の撮像装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0019】
[実施形態1]
図1は、本発明を適用した実施形態1の被写体切り抜きシステム100の概略構成を示すブロック図である。
図1に示すように、実施形態1の被写体切り抜きシステム100は、撮像装置1と、ユーザ端末2と、サーバ3とを備え、ユーザ端末2とサーバ3とが所定の通信ネットワークNを介して各種情報を送受信可能に接続されている。
【0020】
先ず、撮像装置1について図2を参照して説明する。
ここで、図2は、撮像装置1の概略構成を示すブロック図である。
図2に示すように、撮像装置1は、レンズ部101と、電子撮像部102と、ユニット回路部103と、撮像制御部104と、画像処理部105と、表示部106と、記録媒体制御部107と、バッファメモリ108と、プログラムメモリ109と、操作入力部110と、中央制御部111とを備えている。
【0021】
レンズ部101は、例えば、図示は省略するが、ズームレンズ、フォーカスレンズ、絞り等を有し、これらレンズを通過した被写体の光学像を結像する。
【0022】
電子撮像部102は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等のイメージセンサ等から構成され、レンズ部101の各種レンズを通過した光学像を当該電子撮像部102により二次元の画像信号(RGB画像データ)に変換して、ユニット回路部103に出力する。
【0023】
ユニット回路部103は、例えば、図示は省略するが、CDS(Correlated Double Sampling:相関二重サンプリング回路)、AGC(Auto Gain Control:ゲイン調整アンプ)、ADC(Analog to Digital Converter:アナログ/デジタル変換器)等を具備している。そして、ユニット回路部103は、電子撮像部102から出力されて入力される被写体の光学像に応じたアナログの画像信号をCDSにより保持し、当該画像信号をAGCにより増幅した後、増幅された画像信号をADCによりデジタルの画像信号に変換する。
【0024】
撮像制御部104は、中央制御部111からの指令に基づいて、被写体の撮像の際に、レンズ部101、電子撮像部102、ユニット回路部103等の動作を制御する。具体的には、撮像制御部104は、レンズ部101のズームレンズやフォーカスレンズ等を光軸上で移動させるためのレンズモータ(図示略)の駆動を制御したり、電子撮像部102を走査駆動するタイミングを制御したり、電子撮像部102の駆動タイミングに基づいてユニット回路部103の駆動タイミングを制御する。
【0025】
画像処理部105は、A/D変換後の画像信号に対して、画素毎のR,G,Bの色成分データ(RGBデータ)を生成するRGB補間処理、RGBデータから輝度信号(Y)と色差信号(U、V)からなるYUVデータを画素毎に生成するYUV変換処理、さらに自動ホワイトバランスや輪郭強調などの画品質向上のためのデジタル信号処理を行う。そして、画像処理部105は、変換後の各画像フレームのYUVデータをバッファメモリ108に順次出力し、当該バッファメモリ108に格納させる。
【0026】
表示部106は、バッファメモリ108に格納された1フレーム分のYUVデータをビデオ信号に変換した後、ライブビュー画像として表示画面に表示する。具体的には、表示部106は、被写体の撮像により生成された複数の画像フレームに基づいてライブビュー画像を所定の表示フレームレートで表示したり、本撮像画像として撮像されたレックビュー画像を表示する。
【0027】
記録媒体制御部107は、記録媒体Mが着脱自在に構成され、装着された記録媒体Mからのデータの読み出しや記録媒体Mに対するデータの書き込みを制御する。即ち、記録媒体制御部107は、画像処理部105のJPEG圧縮部(図示略)により符号化された撮像画像の記録用の画像データを記録媒体Mに記録させる。具体的には、記録媒体制御部107は、背景と被写体とが存在する被写体存在画像P1(図8(a)参照)の記録用の画像データを記録媒体Mに記録させる。
なお、記録媒体Mは、例えば、不揮発性メモリ(フラッシュメモリ)等により構成されるが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0028】
バッファメモリ108は、画像データ等を一時的に記録するバッファであるとともに、中央制御部111などのワーキングメモリ等としても使用される。
【0029】
プログラムメモリ109には、当該撮像装置1の機能に係る各種プログラムやデータが格納されている。また、プログラムメモリ109には、例えば、静止画撮像時、連続撮像時、ライブビュー画像撮像時等の各撮像時における適正な露出値(EV)に対応する絞り値(F)とシャッタースピードとの組み合わせを示すプログラム線図を構成するプログラムAEデータや、EV値表(何れも図示略)も格納されている。
【0030】
操作入力部110は、当該撮像装置1の所定操作を行うためのものである。具体的には、操作入力部110は、例えば、被写体の撮影指示に係るシャッタボタン、撮像モードや機能等の選択指示に係る選択決定用ボタン、ズーム量の調整指示に係るズームボタン等を備え(何れも図示略)、これらのボタンのユーザ操作に応じて所定の操作信号を中央制御部111に出力する。
【0031】
中央制御部111は、例えば、撮像装置1の各部を制御するCPUを具備するワンチップマイコン等から構成されている。
また、中央制御部111は、操作入力部110から出力され入力された操作信号に基づいて、撮像装置1の各部を制御する。具体的には、中央制御部111は、操作入力部110のシャッタボタンの所定操作に従って出力された記録指示信号が入力されると、プログラムメモリ109に記憶されている所定のプログラムに従って、撮像制御部104により電子撮像部102及びユニット回路部103の駆動タイミングを制御して静止画像を撮影する処理を実行する。この静止画像の撮影によりバッファメモリ108に格納された1フレーム分のYUVデータは、画像処理部105にてJPEG方式等により圧縮され符号化されて、記録媒体Mに静止画像データとして記録される。
【0032】
次に、ユーザ端末2について図3を参照して説明する。
ユーザ端末2は、例えば、パーソナルコンピュータ等により構成され、サーバ3により開設されるWebページ(例えば、被写体抽出用ページ)にアクセスして、被写体存在画像P1の画像データをサーバ3に送信する。
【0033】
図3は、ユーザ端末2の概略構成を示すブロック図である。
図3に示すように、ユーザ端末2は、具体的には、中央制御部201と、通信制御部202と、表示部203と、記録媒体制御部204と、操作入力部205等を備えている。
【0034】
中央制御部201は、ユーザ端末2の各部を制御するものである。具体的には、中央制御部201は、CPU、RAM、ROM(何れも図示略)を備え、ROMに記憶されたユーザ端末2用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部203に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末2で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0035】
通信制御部202は、例えば、モデム(MODEM:Modulater/DEModulater)、ターミナルアダプタ(Terminal Adapter)等によって構成され、所定の通信ネットワークNを介してサーバ3等の外部機器との間で情報の通信制御を行うためのものである。
【0036】
なお、通信ネットワークNは、例えば、専用線や既存の一般公衆回線を利用して構築された通信ネットワークNであり、LAN(Local Area Network)やWAN(Wide Area Network)等の様々な回線形態を適用することが可能である。また、通信ネットワークNには、例えば、電話回線網、ISDN回線網、専用線、移動体通信網、通信衛星回線、CATV回線網等の各種通信回線網と、それらを接続するインターネットサービスプロバイダ等が含まれる。
【0037】
表示部203は、例えば、LCD、CRT(Cathode Ray Tube)等のディスプレイから構成され、中央制御部201のCPUの制御下にて各種情報を表示画面に表示する。
具体的には、表示部203は、例えば、サーバ3から送信され通信制御部202により受信されたWebページ(例えば、被写体抽出用ページ)のページデータに基づいて、対応するWebページを表示画面に表示する。
【0038】
記録媒体制御部204は、記録媒体Mが着脱自在に構成され、装着された記録媒体Mからのデータの読み出しや記録媒体Mに対するデータの書き込みを制御する。即ち、記録媒体制御部204は、撮像装置1から取り外されて装着された記録媒体Mから被写体画像生成処理(後述)に係る被写体存在画像P1の画像データを読み出して通信制御部202に出力する。
そして、通信制御部202は、入力された被写体存在画像P1の画像データをサーバ3に所定の通信ネットワークNを介して送信する。
【0039】
操作入力部205は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等を備え、ユーザにより押下されたキーの押下信号やマウスの操作信号を中央制御部201のCPUに出力する。
【0040】
次に、サーバ3について図4を参照して説明する。
サーバ3は、Web(World Wide Web)サーバ3としてインターネット上にWebページ(例えば、被写体抽出用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、画像処理装置として、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用の背景色、ここでは抽出用の背景色からなる画像である抽出用背景画像P4(図9(d)参照)を生成する。そして、サーバ3が、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0041】
図4は、サーバ3の概略構成を示すブロック図である。
図4に示すように、サーバ3は、具体的には、中央制御部301と、記憶部302と、表示部303と、通信制御部304と、被写体検出部305と、被写体切抜部306等を備えて構成されている。
【0042】
中央制御部301は、サーバ3の各部を制御するものである。具体的には、中央制御部301は、CPU、RAM、ROM(何れも図示略)を備え、CPUは、ROMに記憶されたサーバ3用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部303に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0043】
記憶部302は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータ等を記憶する。
【0044】
表示部303は、例えば、LCD、CRT等のディスプレイから構成され、中央制御部301のCPUの制御下にて各種情報を表示画面に表示する。
【0045】
通信制御部304は、例えば、モデム、ターミナルアダプタ等によって構成され、所定の通信ネットワークNを介してユーザ端末2等の外部機器との間で情報の通信制御を行うためのものである。
【0046】
被写体検出部305は、被写体存在画像P1から特定の被写体を検出する。
即ち、被写体検出部305は、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1の画像データ(YUVデータ)を取得して、当該画像データに対して、例えば、顔検出処理、エッジ検出処理、特徴抽出処理等の各種画像処理を行って特定の被写体が含まれる領域D(例えば、顔領域等)を検出する。具体的には、被写体検出部305は、例えば、顔検出処理、エッジ検出処理、特徴抽出処理等の各種画像処理によって特定の被写体の候補となる候補領域を抽出し、抽出された候補領域の中で所定の識別条件を満たすものを特定の被写体として検出する。
なお、所定の識別条件としては、例えば、「ヒトの顔」や「動物」などの形状を基準とするものや、画角全体の画像に対する割合(例えば、半分以上であるか)などの大きさを基準とするものや、明度や彩度が高く鮮やかな(派手な)色合いであるか否かや肌色であるか否かなどの色調を基準とするもの等が挙げられる。
なお、顔検出処理やエッジ検出処理や特徴抽出処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0047】
被写体切抜部306は、画像取得部306aと、画像分割部306bと、画像領域特定部306cと、背景色推定部306dと、類似度算出部306eと、類似度判定部306fと、背景画像生成部306gと、背景領域特定部306hと、被写体領域特定部306iと、被写体抽出部306jとを具備している。
【0048】
画像取得部306aは、背景と被写体とが存在する被写体存在画像P1を取得する。
即ち、画像取得部306aは、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1(図8(a)参照)のYUVデータを取得する。また、画像取得部306aは、被写体存在画像P1のYUVデータを水平(x軸)方向及び垂直(y軸)方向ともに所定の比率で縮小した縮小画像(例えば、VGAサイズの画像等)のYUVデータを生成しても良い。
【0049】
画像分割部306bは、被写体存在画像P1を複数の画像領域A、…に分割する。
即ち、画像分割部306bは、被写体存在画像P1のYUVデータに基づいて、当該被写体存在画像P1全体を水平方向及び垂直方向がそれぞれ所定画素からなる複数の画像領域A、…に分割する。具体的には、画像分割部306bは、例えば、画像取得部306aにより生成された被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像を4つの画像領域A、…(図9(b)参照)に分割する。
なお、画像分割部306bは、被写体存在画像P1の低解像度の画像データを分割するようにしたが、高解像度の画像データを分割しても良い。また、分割数として、4つを例示したが、一例であってこれに限られるものではなく、分割数は適宜任意に変更可能である。さらに、画像分割部306bは、被写体存在画像P1の分割を所定回数行っても良く、複数(例えば、4つ)に分割された画像領域Aの各々をさらに所定数の画像領域に分割しても良い。
【0050】
画像領域特定部306cは、被写体存在画像P1内で複数の画像領域A、…を特定する。
即ち、画像領域特定部306cは、画像取得部306aにより取得された被写体存在画像P1内で所定の特定条件に従って複数の画像領域A、…を特定する。具体的には、画像領域特定部306cは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…を、類似度算出部306eによる所定の一色との類似度の算出に係る特定対象として特定する。
なお、画像領域特定部306cは、画像分割部306bにより分割された複数の画像領域A、…を特定対象とするようにしたが、これに限られるものではなく、特定対象となる画像領域Aは適宜任意に変更可能である。例えば、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、画像領域特定部306cは、被写体存在画像P1を所定の表示領域に表示した状態で、上側の画像境界から下側に所定範囲内の画像領域や、左上隅部や右上隅部から所定範囲内の画像領域を特定対象として特定しても良い。
【0051】
背景色推定部306dは、被写体存在画像P1の背景の色を推定する。
即ち、背景色推定部306dは、画像取得部306aにより取得された被写体存在画像P1のYUVデータに基づいて所定の演算処理を行って、当該被写体存在画像P1の背景の色を一色で推定する。具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータを取得して、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロック(領域)B、…に分割する(図8(b)参照)。そして、背景色推定部306dは、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色(例えば、平均色等)を算出する。また、背景色推定部306dは、各ブロックB内の複数の画素の画素値及び代表色に基づいて所定の演算を行って、各ブロックB内の色のばらつき量(例えば、分散、標準偏差等)を算出する。
そして、背景色推定部306dは、複数のブロックB、…の各々について、ブロックB内の色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBを特定する。その後、背景色推定部306dは、特定された各ブロックBについて、当該ブロックBの代表色と他のブロックBの代表色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド空間における距離等)が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する。そして、背景色推定部306dは、最も投票数の多いブロックBの代表色、即ち、所定の判定値以上であると判定された回数が最も多いブロックBの代表色を背景色として推定する(図8(c)参照)。
図8(c)にあっては、推定された背景色が全画面に亘って一様に形成された画像P2を模式的に表している。
【0052】
なお、背景色推定部306dによる背景色の推定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、被写体存在画像P1の背景は画像の変化が少ない(色のばらつき量の小さい)平坦な領域であると仮定して、背景色推定部306dは、複数のブロックB、…のうち、色のばらつき量が所定値以下であるブロックBの各々について、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定するようにしたが、色のばらつき量に拘わらず複数のブロックB、…の全てについて他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定するようにしても良い。
【0053】
また、背景色推定部306dは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…の色を推定する。即ち、背景色推定部306dは、各画像領域Aについて上記と同様の手法に従って代表色を推定する。
具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータに基づいて画像分割部306bにより分割された各画像領域A(図9(a)参照)全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…(領域)に分割する(図9(b)参照)。そして、背景色推定部306dは、各画像領域Aの各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色(例えば、平均色等)及び各ブロックB内の色のばらつき量(例えば、分散、標準偏差等)を算出する。そして、背景色推定部306dは、各画像領域Aの複数のブロックB、…の中で、色のばらつき量が所定値以下であるブロックBを特定し、特定された各ブロックBについて、各画像領域A内の他のブロックBの代表色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)が所定の判定値以上であると判定されたブロックBについて投票する。そして、背景色推定部306dは、最も投票数の多いブロックBの代表色、即ち、所定の判定値以上であると判定された回数が最も多いブロックBの代表色を各画像領域Aの色として推定する(図9(c)参照)。
図9(c)にあっては、各画像領域Aについて推定された色が一様に形成された画像P3を模式的に表している。また、各画像領域Aの色は、単位面積あたりのドット数を異ならせることによって色分けされた状態を模式的に表している。
なお、背景色推定部306dによる各画像領域Aの色の推定方法は、一例であってこれに限られるものではなく、上記の背景色の推定方法と同様に適宜任意に変更可能である。
【0054】
類似度算出部306eは、被写体存在画像P1の各画像領域Aの色と所定の一色との類似度を算出する。
即ち、類似度算出部306eは、画像領域特定部306cにより特定された各画像領域Aの色と所定の一色との類似度を算出する。具体的には、類似度算出部306eは、背景色推定部306dにより推定された背景色(図8(c)参照)と、各画像領域Aの色(図9(c)参照)との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)を算出する。
なお、所定の一色として、背景色推定部306dにより推定された被写体存在画像P1の背景色を例示したが、一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、各画像領域Aの色との類似度の判定用に用いられる色であれば如何なる色であっても良く、例えば、類似度算出部306eは、各画像領域Aの色の平均色を算出し、当該平均色を所定の一色として類似度の判定用に用いても良い。
【0055】
類似度判定部306fは、各画像領域Aに係る類似度が所定の判定値よりも大きいか否かを判定する。
即ち、類似度判定部306fは、類似度算出部306eにより算出された被写体存在画像P1の各画像領域Aの色と背景色(所定の一色)との類似度が所定の判定値よりも大きいか否かを判定する。
【0056】
背景画像生成部306gは、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。
即ち、背景画像生成部306gは、類似度算出部306eにより算出された被写体存在画像P1の各画像領域Aの色と背景色(所定の一色)との類似度に基づいて、抽出用背景画像P4を生成する。具体的には、背景画像生成部306gは、被写体存在画像P1の各画像領域Aの代表色と背景色との比較結果、つまり、類似度判定部306fによる判定結果に応じて、抽出用背景画像P4における各画像領域Aに対応する領域の色を特定して、抽出用背景画像P4を生成する。例えば、背景画像生成部306gは、被写体存在画像P1の複数の画像領域A、…のうち、類似度算出部306eにより算出された背景色との類似度が所定の判定値よりも大きいと判定された画像領域Aについては、抽出用背景画像P4における当該画像領域Aに対応する領域の色として、背景色推定部306dにより特定された画像領域Aの色を採用して、抽出用背景画像P4を生成する。その一方で、背景画像生成部306gは、類似度算出部306eにより算出された背景色との類似度が所定の判定値以下であると判定された画像領域Aについては、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用して、抽出用背景画像P4を生成する(図9(d)参照)。例えば、図9(d)に示すように、背景画像生成部306gは、被写体存在画像P1を分割した4つの画像領域A、…のうち、左側二つの画像領域Aについては、背景色との類似度が所定の判定値よりも大きいと判定して、抽出用背景画像P4における当該画像領域Aに対応する領域の色として当該画像領域Aの色を採用する。その一方で、背景画像生成部306gは、被写体存在画像P1を分割した4つの画像領域A、…のうち、右側二つの画像領域Aについては、背景色との類似度が所定の判定値以下であると判定して、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する。
なお、図9(d)にあっては、各画像領域Aの色は、単位面積あたりのドット数を異ならせることによって色分けされた状態を模式的に表している。
【0057】
背景領域特定部306hは、被写体存在画像P1内で背景を構成する背景構成領域Cbを特定する。
即ち、背景領域特定部306hは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で背景を構成する背景構成領域Cb(図12(a)参照)を特定する。具体的には、背景領域特定部306hは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出した後、輝度情報及び色差情報の各差分の値に対して所定の重み付け(例えば、Y:U:V=1:4:4程度)を行って一次元の差分情報を生成する。
その後、背景領域特定部306hは、生成した差分情報を所定の分析方法(例えば、判別分析法等)を用いて分析し、被写体存在画像P1内で背景に対応する正解領域(シード)を構成する背景構成領域Cbの判定用の第1閾値を設定する。例えば、背景領域特定部306hは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも小さい差分情報の中での中央値(Median)を第1閾値として設定する。なお、背景構成領域Cbの判定用の第1閾値の設定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、判別分析法の結果に基づいてガウシアン混合分布を生成し、当該分布の谷部を背景と被写体との境目として第1閾値を設定しても良い。
そして、背景領域特定部306hは、差分情報が第1閾値以下の画素であって、背景画像生成部306gによる抽出用背景画像P4の生成に用いられたブロックBを抽出用背景画像P4のサポート領域として背景構成領域Cbに特定する。即ち、背景領域特定部306hは、背景色推定部306dによる背景色や各画像領域Aの色の推定にて、他のブロックBの代表色との類似度が所定の判定値以上であると判定された回数が最も多いブロックB、つまり、投票数の最も多いブロックBを背景構成領域Cbに特定する。ここで、本推定方法は一例であり、差分情報が第1閾値以下の画素を背景構成領域Csとして特定しても良い。
【0058】
なお、背景領域特定部306hは、例えば、被写体検出部305による顔検出処理の結果、顔領域が検出された場合や、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲内の画素について背景構成領域Cbとして特定するか否かを判定しても良い(詳細後述)。
また、図12(a)にあっては、被写体存在画像P1の背景構成領域Cb以外の領域に斜線を付して表し、背景構成領域Cbを白抜きの状態で表している。
【0059】
被写体領域特定部306iは、被写体存在画像P1内で被写体を構成する被写体構成領域Csを特定する。
即ち、被写体領域特定部306iは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs(図12(b)参照)を特定する。具体的には、被写体領域特定部306iは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出した後、輝度情報及び色差情報の各差分の値に対して所定の重み付け(例えば、Y:U:V=1:4.5:4.5程度)を行って一次元の差分情報を生成する。
その後、被写体領域特定部306iは、生成した差分情報を所定の分析方法(例えば、判別分析法等)を用いて分析し、被写体存在画像P1内で被写体に対応する正解領域(シード)を構成する被写体構成領域Csの判定用の閾値を設定する。例えば、被写体領域特定部306iは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも大きい差分情報の中での中央値(Median)を判定用の閾値として設定する。なお、被写体構成領域Csの判定用の閾値の設定方法は、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、判別分析法の結果に基づいてガウシアン混合分布を生成し、当該分布の谷部よりも差分情報の大きい領域を利用して判定用の閾値を設定しても良い。
そして、被写体領域特定部306iは、差分情報が判定用の閾値よりも大きい画素を被写体構成領域Csとして特定する。
【0060】
なお、被写体領域特定部306iは、例えば、被写体存在画像P1の縮小画像を分割した複数のブロックB、…について、注目するブロックBの周辺ブロックに対する色のばらつき量(例えば、分散、標準偏差等)が所定値よりも大きいブロックBは、画像の変化が激しい領域であるとして被写体構成領域Csとして特定しても良い。また、例えば、被写体領域特定部306iは、被写体検出部305による顔検出処理の結果、顔領域が検出された場合には、検出された顔領域を被写体構成領域Csとして特定しても良い(詳細後述)。
また、図12(b)にあっては、被写体存在画像P1の被写体構成領域Cs以外の領域に斜線を付して表し、被写体構成領域Csを白抜きの状態で表している。
【0061】
このように、被写体領域特定部306i及び背景領域特定部306hは、背景画像生成部306gにより生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0062】
被写体抽出部306jは、被写体存在画像P1から被写体が含まれる領域Dを抽出する。
即ち、被写体抽出部306jは、被写体領域特定部306i及び背景領域特定部306hにより特定された被写体構成領域Cs及び背景構成領域Cbに基づいて、二値画像を生成する二値画像生成部306kを具備しており、当該二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出する。
【0063】
具体的には、二値画像生成部306kは、被写体存在画像P1における被写体構成領域Cs及び背景構成領域Cb以外の領域を、被写体であるか背景であるか未確定の未確定領域Cuとして、例えば、被写体構成領域Csの画素値を「1」とし、背景構成領域Cbの画素値を「0」とし、未確定領域Cuの画素値を「0.5」とする三値画像P5(図15(a)参照)を生成する。なお、図15(a)にあっては、三値画像P5における背景構成領域Cbを「黒塗り」で、被写体構成領域Csを「白抜き」で、未確定領域Cuに斜線を付して表している。
そして、二値画像生成部306kは、三値画像P5について所定のエネルギー関数を設定し、設定したエネルギー関数を最小にするパラメータを算出することで、未確定領域Cuを構成する各画素の画素値を特定する。
例えば、エネルギー最小化の手法として、グラフカットアルゴリズムを利用する場合、二値画像生成部306kは、被写体存在画像P1の被写体構成領域Cs及び背景構成領域Cbに対応する領域の色情報(輝度情報及び色差情報)に従ってガウシアン混合分布を生成し、当該ガウシアン混合分布に基づいて、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する。ここで、被写体尤度は、対象画素が被写体にどれだけ近いか、即ち、対象画素が被写体を構成する画素であると推定した場合の尤もらしさ(確率)を数値で表したものであり、同様に、背景尤度は、対象画素が背景にどれだけ近いか、即ち、対象画素が背景を構成する画素であると推定した場合の尤もらしさを数値で表したものである。
【0064】
そして、二値画像生成部306kは、エネルギー関数のデータ項に、被写体構成領域Cs及び背景構成領域Cb、未確定領域Cuの各画素に係る被写体尤度及び背景尤度を設定するとともに、エネルギー関数の平滑化項に、未確定領域Cuの各画素について周囲画素(例えば、隣接する画素)に対する色差情報の差分を設定する。その後、二値画像生成部306kは、設定したエネルギー関数を最小にするパラメータを算出し、未確定領域Cuを構成する各画素について、被写体領域Dに対応する画素値とするか背景領域に対応する画素値とするかを特定する。このとき、平滑化項については、被写体検出部305による特定の被写体の検出結果、例えば、顔検出処理の検出結果を考慮して、顔領域の周辺の髪の毛などに対応できるようにノイズ除去特性を設定しても良い。
このようにして、二値画像生成部306kは、被写体領域Dの画素値を「1」とし、背景領域の画素値を「0」とする二値画像を生成する。
【0065】
そして、被写体抽出部306jは、二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1における被写体領域Dの位置を示し、当該被写体領域Dを抽出するための抽出用画像を生成する。
ここで、抽出用画像としては、例えば、被写体存在画像P1の各画素について、被写体画像を所定の背景に対してアルファブレンディングする際の重みをアルファ値(0≦α≦1)として表したアルファマップMが挙げられる。
具体的には、被写体抽出部306jは、例えば、二値画像に対して細かいノイズや手ぶれによる相違が存在する領域を除去するための収縮処理を行って所定値よりも小さい画素集合や手ぶれによる細線画素集合を除外した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行い、その後、収縮分を修正するための膨張処理を行う。また、被写体抽出部306jは、例えば、被写体部分として特定した最大面積の画素集合内でラベリング処理を行って、当該被写体部分の構成画素のラベル数に対して所定の割合以下のラベル数の背景領域に対応する画素集合の各画素の画素値を、被写体部分に対応する画素値に変更して、被写体部分に置き換える穴埋め処理を行う。
その後、被写体抽出部306jは、上記の被写体部分に対応する最大面積の画素集合の画素値が「1」、背景領域に対応するその他の部分の画素値が「0」である二値画像に対してローパスフィルタを施して境界部分に中間値を生じさせることで、各々の領域について所定のアルファ値を生成する。これにより、被写体領域Dのアルファ値が「1」となり、被写体存在画像P1の所定の背景に対する透過度が0%となる。一方、被写体の背景部分のアルファ値が「0」となり、当該被写体存在画像P1の所定の背景に対する透過度が100%となる。
なお、図15(b)にあっては、アルファマップMにおける被写体領域Dを「白抜き」で、背景領域を「黒塗り」で表している。
【0066】
その後、被写体抽出部306jは、生成された抽出用画像(アルファマップM)に基づいて、被写体存在画像P1の各画素のうち、アルファ値が1の画素を所定の単一色画像P7に対して透過させずに、且つ、アルファ値が0の画素を透過させるように、被写体画像を所定の単一色画像P7と合成して被写体切り抜き画像P6(図15(c)参照)の画像データを生成する。
【0067】
次に、ユーザ端末2及びサーバ3を用いた被写体画像生成処理について図5〜図15を参照して説明する。
ここで、図5は、被写体画像生成処理に係る動作の一例を示すフローチャートであり、図6は、被写体画像生成処理における被写体切抜処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、撮像装置1により生成された被写体存在画像P1の画像データが記録された記録媒体Mがユーザ端末2の記録媒体制御部204に装着されているものとする。
【0068】
図5に示すように、ユーザ端末2の中央制御部201は、ユーザによる操作入力部205の所定操作に基づいて、サーバ3により開設される被写体抽出用ページのアクセス指示が入力されると、中央制御部201のCPUは、当該アクセス指示を通信制御部202により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部304によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、被写体抽出用ページのページデータを通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部202によって、被写体抽出用ページのページデータが受信されると、表示部203は、当該被写体抽出用ページのページデータに基づいて、所定の被写体抽出用ページを表示画面に表示する。
【0069】
次に、ユーザ端末2の記録媒体制御部204は、記録媒体Mから当該被写体画像生成処理に係る被写体存在画像P1の画像データを読み出した後、表示部203は、当該被写体存在画像P1の画像データを表示画面に表示する(ステップS3)。続けて、通信制御部202は、読み出された被写体存在画像P1の画像データ(YUVデータ)をサーバ3に所定の通信ネットワークNを介して送信する(ステップS4)。
【0070】
そして、ユーザ端末2から送信された被写体存在画像P1の画像データがサーバ3の通信制御部304により受信されると、サーバ3は、被写体存在画像P1から被写体が含まれる領域Dを切り抜く被写体切抜処理を実行する(ステップS5;図6参照)。
【0071】
図6に示すように、被写体切抜処理では、先ず、被写体切抜部306は、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する背景生成処理(図7参照;詳細後述)を行った後(ステップS51)、抽出用背景画像P4の生成が成功したか否かを判定する(ステップS52)。
ここで、抽出用背景画像P4の生成が成功したと判定されると(ステップS52;YES)、被写体切抜部306の背景領域特定部306hは、被写体存在画像P1内で背景を構成する背景構成領域Cbを特定する背景領域特定処理(図10参照;詳細後述)を行う(ステップS53)。続けて、被写体切抜部306の被写体領域特定部306iは、被写体存在画像P1内で被写体を構成する被写体構成領域Csを特定する被写体領域特定処理(図11参照;詳細後述)を行う(ステップS54)。
【0072】
その後、被写体切抜部306の被写体抽出部306jは、被写体存在画像P1から被写体が含まれる領域Dを抽出する被写体抽出処理(図12参照;詳細後述)を行った後(ステップS55)、当該被写体切抜処理を終了させる。
【0073】
一方、ステップS52にて、抽出用背景画像P4の生成が成功していないと判定されると(ステップS52;NO)、被写体切抜部306は、当該被写体切抜処理を終了させる。
【0074】
図5に戻り、被写体切抜部306は、抽出結果判定処理の結果に基づいて、被写体切抜処理が成功したか、つまり被写体画像の生成が成功したか否かを判定する(ステップS6)。
ここで、被写体画像の生成が成功したと判定されると(ステップS6;YES)、中央制御部301のCPUは、生成された被写体切り抜き画像P6の画像データを通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS7)。
そして、ユーザ端末2の通信制御部202によって、被写体切り抜き画像P6の画像データが受信されると(ステップS8)、表示部203は、当該被写体切り抜き画像P6の画像データに基づいて、被写体画像を表示画面に表示する(ステップS9)。
【0075】
一方、ステップS6にて、被写体画像の生成が成功していないと判定されると(ステップS6;NO)、中央制御部301のCPUは、被写体画像生成の失敗に係る所定の画面の表示指示を通信制御部304により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS10)。
そして、ユーザ端末2の通信制御部202によって、サーバ3から送信された被写体画像生成の失敗に係る所定の画面の表示指示が受信されると、表示部203は、当該被写体画像生成の失敗に係る所定の画面を表示画面に表示する(ステップS11)。
【0076】
次に、被写体切抜処理における背景生成処理について、図7〜図9を参照して説明する。
図7は、背景生成処理に係る動作の一例を示すフローチャートである。
【0077】
図7に示すように、被写体切抜部306の画像取得部306aは、ユーザ端末2から所定の通信ネットワークNを介して送信され通信制御部304により受信した被写体存在画像P1(図8(a)参照)のYUVデータを取得する(ステップS61)。また、画像取得部306aは、被写体存在画像P1のYUVデータを水平(x軸)方向及び垂直(y軸)方向ともに所定の比率で縮小した縮小画像(例えば、VGAサイズの画像等)のYUVデータを生成する。
【0078】
次に、被写体切抜部306の背景色推定部306dは、被写体存在画像P1を複数のブロックB、…に分割した後、各ブロックBの代表色及び色のばらつき量を算出する(ステップS62)。
具体的には、背景色推定部306dは、被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…に分割する(図8(b)参照)。そして、背景色推定部306dは、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色を算出するとともに、各ブロックB内の色のばらつき量を算出する。
続けて、背景色推定部306dは、複数のブロックB、…の各々について色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBをそれぞれ特定する(ステップS63)。その後、背景色推定部306dは、特定された各ブロックBについて、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する(ステップS64)。
【0079】
次に、背景色推定部306dは、ステップS64の処理にて投票された数が所定数以上であるか否かを判定する(ステップS65)。
ここで、投票された数が所定数以上であると判定されると(ステップS65;YES)、背景色推定部306dは、所定の判定値以上であると判定された回数が最も多いブロックB(最多投票数のブロックB)の代表色を抽出用背景画像P4の全体色(背景色)として特定する(ステップS66;図8(c)参照)。
一方、ステップS65にて、投票された数が所定数以上でないと判定されると(ステップS65;NO)、被写体切抜部306は、抽出用背景画像P4の生成を失敗として(ステップS67)、背景生成処理を終了させる。
【0080】
抽出用背景画像P4の全体色(背景色)を特定(ステップS66)した後、被写体切抜部306の画像分割部306bは、被写体存在画像P1の縮小画像のYUVデータに基づいて、当該縮小画像全体を水平方向及び垂直方向がそれぞれ所定画素からなる複数(例えば、4つ)の画像領域A(図9(a)参照)に分割する(ステップS68)。そして、画像領域特定部306cは、画像分割部306bにより分割された被写体存在画像P1の複数の画像領域A、…を、類似度算出部306eによる抽出用背景画像P4の背景色(所定の一色)との類似度の算出に係る特定対象として特定する。
【0081】
次に、背景色推定部306dは、各画像領域A全体を水平方向及び垂直方向がそれぞれ所定画素(例えば、20画素等)からなる複数のブロックB、…(図9(b)参照)に分割した後、各ブロックB内の複数の画素の画素値に基づいて所定の演算を行って、当該ブロックBの代表色を算出するとともに、各ブロックB内の色のばらつき量を算出する(ステップS69)。
続けて、背景色推定部306dは、各画像領域Aの複数のブロックB、…の各々について色のばらつき量が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBをそれぞれ特定する。その後、背景色推定部306dは、特定された各ブロックBについて、他のブロックBの代表色との類似度が所定の判定値以上であるか否かを判定し、所定の判定値以上であると判定されたブロックBについては投票する(ステップS70)。
【0082】
次に、背景色推定部306dは、各画像領域Aについて、ステップS70の処理にて投票された数が所定数以上であるか否かを判定する(ステップS71)。
ここで、投票された数が所定数以上であると判定されると(ステップS71;YES)、背景色推定部306dは、所定の判定値以上であると判定された回数が最も多いブロックB(最多投票数のブロックB)の代表色を各画像領域Aの色として特定する(ステップS72;図9(c)参照)。
続けて、被写体切抜部306の類似度算出部306eは、各画像領域Aの色について背景色との類似度(例えば、輝度情報及び色差情報の各々についてのユークリッド距離等)を算出して、類似度判定部306fは、算出された各画像領域Aの色と背景色との類似度が所定の判定値よりも大きいか否かを判定する(ステップS73)。
【0083】
ステップS73にて、背景色との類似度が所定の判定値よりも大きい(ステップS73;YES)と判定された画像領域Aについては、被写体切抜部306の背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色推定部306dにより特定された画像領域Aの色を採用する(ステップS74)。その一方で、背景色との類似度が所定の判定値以下である(ステップS73;NO)と判定された画像領域Aについては、背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する(ステップS75)。
また、ステップS71にて、投票された数が所定数以上でない(ステップS71;NO)と判定された画像領域Aについても、背景画像生成部306gは、抽出用背景画像P4における当該画像領域Aに対応する領域の色として背景色を採用する(ステップS75)。
【0084】
その後、背景画像生成部306gは、抽出用背景画像P4における被写体存在画像P1の各画像領域Aに対応する領域について採用された色に従って、抽出用背景画像P4のYUVデータを生成する(ステップS76;図9(d)参照)。
これにより、背景生成処理を終了する。
【0085】
次に、被写体切抜処理における背景領域特定処理について、図10及び図12(a)を参照して説明する。
図10は、背景領域特定処理に係る動作の一例を示すフローチャートである。
【0086】
図10に示すように、被写体切抜部306の背景領域特定部306hは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出する(ステップS81)。その後、背景領域特定部306hは、算出された輝度情報及び色差情報の各差分の値に対して所定の重み付けを行って一次元の差分情報を生成する。
【0087】
次に、背景領域特定部306hは、生成した差分情報に基づいて、被写体存在画像P1内で背景に対応する正解領域を構成する背景構成領域Cbの判定用の第1閾値を設定する(ステップS82)。具体的には、背景領域特定部306hは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも小さい差分情報の中での中央値(Median)を第1閾値として設定する。
続けて、背景領域特定部306hは、差分情報が第1閾値以下の画素であって、背景画像生成部306gによる抽出用背景画像P4の生成に用いられたブロックBを抽出用背景画像P4のサポート領域として背景構成領域Cbに特定する(ステップS83;図12(a)参照)。具体的には、背景領域特定部306hは、背景色推定部306dによる背景色や各画像領域Aの色の推定にて、他のブロックBの代表色との類似度が所定の判定値以上であると判定された回数が最も多いブロックB、つまり、投票数の最も多いブロックBを背景構成領域Cbに特定する。
【0088】
次に、被写体検出部305は、被写体存在画像P1のYUVデータに対して所定の顔検出処理を行って顔領域を検出する(ステップS84)。
続けて、背景領域特定部306hは、被写体検出部305による顔検出処理の結果に従って、被写体存在画像P1内で背景構成領域Cbである可能性の高い縁領域を特定する(ステップS85)。具体的には、顔検出処理の結果、顔領域が検出された場合、背景領域特定部306hは、例えば、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲(例えば、20画素等)内を縁領域として、背景構成領域Cbである可能性の高い縁領域として特定する。
なお、背景構成領域Cbである可能性の高い縁領域の特定に、被写体検出部305による顔検出処理の結果を考慮するようにしたが、例えば、人の胸から上のバストショットを撮像した被写体存在画像P1から被写体領域Dを抽出するバストショット抽出モードが設定されている場合には、被写体存在画像P1の上側画像境界や左右両側の画像境界から所定範囲内の画素について背景構成領域Cbとして特定するようにしても良い。
【0089】
続けて、背景領域特定部306hは、特定された各縁領域を構成する所定画素(例えば、20画素等)からなる複数のブロックB、…の各々について、色のばらつき量(例えば、分散、標準偏差等)が所定値以下であるか否かを判定し、色のばらつき量が所定値以下であるブロックBを特定する(ステップS86)。
次に、背景領域特定部306hは、特定された各ブロックBの代表色の中で、抽出用背景画像P4の色(背景色や各画像領域Aの色)との類似度を算出し、最も類似する代表色を特定する(ステップS87)。次に、背景領域特定部306hは、特定された代表色と抽出用背景画像P4の背景色との差分を算出して(ステップS88)、当該差分に基づいて、被写体存在画像P1内で背景に対応する正解領域を構成する背景構成領域Cbの判定用の第2閾値を設定する(ステップS89)。
ここで、第2閾値は、第1閾値よりも判定度が緩い値であり、例えば、背景構成領域Cbである可能性の高い縁領域を構成するブロックBのうち、抽出用背景画像P4の色との差分がステップS87にて特定された代表色と抽出用背景画像P4の背景色との色差以下のブロックBを背景構成領域Cbとする程度に設定される。また、ステップS82における第1閾値の設定の際に算出された、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を第2閾値として設定しても良い。
【0090】
そして、背景領域特定部306hは、縁領域を構成する複数のブロックB、…のうち、各ブロックBの代表色と抽出用背景画像P4の色(背景色や各画像領域Aの色)との差分情報が第2閾値以下のブロックBを、背景構成領域Cbに追加特定する(ステップS90)。
或いは、ステップS87で特定した代表色と縁領域の色の差が、所定値以下の領域を背景構成領域Cbに追加しても良い。
これにより、背景領域特定処理を終了する。
【0091】
次に、被写体切抜処理における被写体領域特定処理について、図11及び図12(b)を参照して説明する。
図11は、被写体領域特定処理に係る動作の一例を示すフローチャートである。
被写体切抜部306の被写体領域特定部306iは、被写体存在画像P1の縮小画像のYUVデータ及び抽出用背景画像P4のYUVデータに基づいて、縮小画像と抽出用背景画像P4との間で対応する各画素の輝度情報及び色差情報の各々について差分を算出する(ステップS101)。その後、被写体領域特定部306iは、算出された輝度情報及び色差情報の各差分の値に対して所定の重み付けを行って一次元の差分情報を生成する。
【0092】
次に、被写体領域特定部306iは、生成した差分情報に基づいて、被写体存在画像P1内で被写体に対応する正解領域を構成する被写体構成領域Csの判定用の閾値を設定する(ステップS102)。具体的には、被写体領域特定部306iは、判別分析法によって、複数の差分情報を二つに区分した場合にクラス間分散が最大となる閾値を算出し、当該閾値よりも大きい差分情報の中での中央値(Median)を判定用の閾値として設定する。
続けて、被写体領域特定部306iは、差分情報が判定用の閾値よりも大きい画素を特定する。
次に、被写体存在画像P1の縮小画像を分割した複数のブロックB、のうち、注目するブロックB内の色のばらつき(分散)が所定値よりも大きいブロックBを特定し、特定したブロック内で、差分情報が判定用の閾値より大きい画素を被写体構成領域Csとして特定する(ステップS103;図12(b)参照)。
或いは、差分情報が判定用閾値より大きい画素を被写体構成領域Csとし、更に色のばらつきが大きいブロックBを追加しても良い。
【0093】
次に、被写体検出部305は、被写体存在画像P1のYUVデータに対して所定の顔検出処理を行って顔領域を検出する(ステップS104)。
続けて、被写体検出部305は、顔領域の検出に成功したか否かを判定し(ステップS105)、顔領域の検出に成功したと判定されると(ステップS105;YES)、被写体領域特定部306iは、検出された顔領域を被写体構成領域Csとして追加特定する(ステップS106)。このとき、被写体領域特定部306iは、必ずしも顔領域全体を被写体構成領域Csとして特定する必要はなく、顔領域の所定方向(例えば、水平方向)については、実際に検出された顔領域よりも所定の割合小さくなるような領域を設定しても良い。また、被写体領域特定部306iは、被写体存在画像P1内で顔領域よりも下側の領域を被写体構成領域Csとして特定しても良い。
一方、ステップS105にて、顔領域の検出に成功していないと判定されると(ステップS105;NO)、被写体切抜部306は、ステップS106をスキップして、被写体領域特定処理を終了させる。
【0094】
次に、被写体切抜処理における被写体抽出処理について、図13〜図15を参照して説明する。
図13は、被写体抽出処理に係る動作の一例を示すフローチャートであり、図14は、被写体抽出処理における抽出結果判定処理に係る動作の一例を示すフローチャートである。
【0095】
図13に示すように、被写体抽出部306jの二値画像生成部306kは、被写体構成領域Cs、背景構成領域Cb、被写体であるか背景であるか未確定の未確定領域Cuからなる三値画像P5(図15(a)参照)における、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する(ステップS111)。
具体的には、二値画像生成部306kは、被写体存在画像P1における被写体構成領域Cs及び背景構成領域Cb以外の領域を、被写体であるか背景であるか未確定の未確定領域Cuとして、例えば、被写体構成領域Csの画素値を「1」とし、背景構成領域Cbの画素値を「0」とし、未確定領域Cuの画素値を「0.5」とする三値画像P5を生成する。そして、二値画像生成部306kは、被写体存在画像P1の被写体構成領域Cs及び背景構成領域Cbに対応する領域の色情報(輝度情報及び色差情報)に従ってガウシアン混合分布を生成し、当該ガウシアン混合分布に基づいて、未確定領域Cuの各画素について被写体尤度及び背景尤度を算出する(ステップS111)。
【0096】
次に、二値画像生成部306kは、グラフカットアルゴリズムを利用して、被写体領域Dの画素値を「1」とし、背景領域の画素値を「0」とする二値画像を生成する(ステップS112)。
具体的には、二値画像生成部306kは、所定のエネルギー関数のデータ項に、被写体構成領域Cs及び背景構成領域Cb、未確定領域Cuの各画素に係る被写体尤度及び背景尤度を設定するとともに、エネルギー関数の平滑化項に、未確定領域Cuの各画素について周囲画素(例えば、隣接する画素)に対する色差情報の差分を設定する。その後、二値画像生成部306kは、設定したエネルギー関数を最小にするパラメータを算出し、未確定領域Cuを構成する各画素について、被写体領域Dに対応する画素値「1」とするか背景領域に対応する画素値「0」とするかを特定する。
【0097】
続けて、被写体抽出部306jは、二値画像生成部306kにより生成された二値画像に基づいて、被写体存在画像P1における被写体領域Dの位置を示す抽出用画像(例えば、アルファマップM)を生成する(ステップS113)。
具体的には、被写体抽出部306jは、例えば、二値画像に対して細かいノイズや手ぶれによる相違が存在する領域を除去するための収縮処理を行って所定値よりも小さい画素集合や手ぶれによる細線画素集合を除外した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行い、その後、収縮分を修正するための膨張処理を行う。また、被写体抽出部306jは、例えば、被写体部分として特定した最大面積の画素集合内でラベリング処理を行って、当該被写体部分の構成画素のラベル数に対して所定の割合以下のラベル数の背景領域に対応する画素集合の各画素の画素値を、被写体部分に対応する画素値に変更して、被写体部分に置き換える穴埋め処理を行う。
その後、被写体抽出部306jは、上記の被写体部分に対応する最大面積の画素集合の画素値が「1」、背景領域に対応するその他の部分の画素値が「0」である二値画像に対してローパスフィルタを施して境界部分に中間値を生じさせることで、各々の領域について所定のアルファ値を生成してアルファマップM(図15(b)参照)を生成する。
【0098】
その後、被写体抽出部306jは、生成された抽出用画像(アルファマップM)を用いて被写体存在画像P1から被写体領域Dを切り出して、所定の単一色画像P7と合成して被写体切り抜き画像P6(図15(c)参照)の画像データを生成する(ステップS114)。
具体的には、被写体切抜部306は、被写体存在画像P1の全ての画素について、アルファ値が0の画素については、透過させ、アルファ値が0<α<1の画素については、所定の単一色とブレンディングを行い、アルファ値が1の画素については、何もせずに所定の単一色に対して透過させないようにする。なお、アルファマップMの縁部分には、合成階調がつけられているため、切り出された被写体領域Dと単一色画像P7(背景)との境界部分がはっきりしていない自然な感じとなる。
また、生成された被写体切り抜き画像P6の画像データは、抽出用画像であるアルファマップMと対応付けて記憶部302に記憶される。
【0099】
次に、被写体切抜部306は、被写体抽出処理の結果を判定する抽出結果判定処理(図14参照)を行う(ステップS115)。
ここで、抽出結果判定処理について、図14を参照して説明する。
【0100】
図14に示すように、被写体切抜部306は、被写体切抜処理にて被写体検出部305による顔検出が成功しているか否かを判定する(ステップS121)。
ここで、顔検出が成功していると判定されると(ステップS121;YES)、被写体切抜部306は、被写体切り抜き画像P6の被写体領域D内に顔領域が含まれているか否かを判定する(ステップS122)。
【0101】
ステップS122にて、被写体領域D内に顔領域が含まれていると判定されると(ステップS122;YES)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっているか否かを判定する(ステップS123)。具体的には、被写体切抜部306は、被写体領域Dにおける、被写体切り抜き画像P6の所定の画像境界(例えば、下側画像境界等)と重畳する画素数が全画像境界の画素数に対して所定の割合以上となっているか否かを判定する。
ここで、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっていないと判定されると(ステップS123;NO)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっているか否かを判定する(ステップS124)。
【0102】
ステップS124にて、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっていると判定されると(ステップS124;YES)、被写体切抜部306は、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であるか否かを判定する(ステップS125)。具体的には、被写体切抜部306は、被写体領域Dの構成画素数及び被写体切り抜き画像P6全体の構成画素数を特定して、被写体領域Dの構成画素数が被写体切り抜き画像P6全体の構成画素数に対して所定の割合以下であるか否かを判定する。
ここで、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下でないと判定されると(ステップS125;NO)、被写体切抜部306は、被写体画像の生成が成功であるとして(ステップS126)、抽出結果判定処理を終了する。
一方、ステップS125にて、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であると判定されると(ステップS125;YES)、被写体切抜部306は、被写体画像の生成が失敗であるとして(ステップS127)、抽出結果判定処理を終了する。
【0103】
一方、ステップS124にて、被写体領域Dが被写体切り抜き画像P6の下側画像境界にかかっていないと判定されると(ステップS124;NO)、被写体切抜部306は、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっているか否かを判定する(ステップS128)。
ここで、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっていないと判定されると(ステップS128;NO)、被写体切抜部306は、処理をステップS125に移行して、上記と同様に、被写体領域Dの大きさが被写体切り抜き画像P6全体に対して所定の割合以下であるか否かを判定する(ステップS125)。その一方で、被写体領域Dが被写体切り抜き画像P6の左右両側の画像境界にかかっていると判定されると(ステップS128;YES)、被写体切抜部306は、処理をステップS127に移行して、被写体画像の生成が失敗であるとする(ステップS127)。
また、ステップS121にて、顔検出が成功していないと判定された場合にも(ステップS121;NO)、被写体切抜部306は、処理をステップS125に移行して、上記と同様の処理を行う(ステップS125)。
【0104】
一方、ステップS122にて、被写体領域D内に顔領域が含まれていないと判定されるか(ステップS122;NO)、或いは、ステップS123にて、被写体領域Dが被写体切り抜き画像P6の画像境界に所定の割合以上かかっていると判定された場合にも(ステップS123;YES)、被写体切抜部306は、処理をステップS127に移行して、被写体画像の生成が失敗であるとする(ステップS127)。
これにより、被写体抽出処理を終了する。
【0105】
以上のように、実施形態1の被写体切り抜きシステム100によれば、被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色からなる抽出用背景画像P4を生成するので、被写体存在画像P1の色を複数の画像領域A、…毎に個別に考慮して抽出用背景色(抽出用背景画像P4)の生成を適正に行うことができる。このとき、被写体存在画像P1を分割して複数の画像領域A、…を特定するので、所定の一色との類似度の算出に係る画像領域Aの特定を適正に行うことができる。
そして、生成された抽出用背景色(抽出用背景画像P4)に基づいて、被写体存在画像P1内で被写体構成領域Cs及び背景構成領域Cbをそれぞれ特定するので、被写体や背景を構成する正解領域(シード)の指定を、予めユーザによる操作部の所定操作に基づいて行う必要がなくなり、被写体存在画像P1内での被写体構成領域Cs及び背景構成領域Cbの指定を自動的に行うことができる。
【0106】
具体的には、被写体存在画像P1の複数のブロックB、…の各々について、他のブロックBの色との類似度が所定の判定値以上であると判定された回数が最も多いブロックBの色を被写体存在画像P1の背景色として推定するので、被写体存在画像P1の複数の画像領域A、…の色との類似度の算出基準となる被写体存在画像P1の背景色(所定の一色)の推定を適正に行うことができる。
さらに、他のブロックBの色との類似度が所定の判定値以上であると判定された回数が最も多いブロックBを、背景構成領域Cbとして特定するので、被写体存在画像P1の背景色の推定に用いられたブロックBを背景構成領域Cbとして適正に特定することができる。
また、複数のブロックBの色のばらつき量が所定値以下であるブロックBの各々について、他のブロックBの色との類似度が所定の判定値以上であるか否かを判定するので、被写体存在画像P1を構成する複数のブロックBのうち、色のばらつき量の少ないブロックBのみを用いて被写体存在画像P1の背景色(所定の一色)を推定することができ、当該背景色の推定を適正に行うことができる。
【0107】
また、抽出用背景画像P4の生成の際に、所定の一色との類似度が所定の判定値よりも大きいと判定された画像領域Aについては、当該画像領域Aの色に基づいて抽出用背景画像P4を生成することができ、その一方で、所定の一色との類似度が所定の判定値以下であると判定された画像領域Aについては、被写体存在画像P1の推定された背景色に基づいて抽出用背景画像P4を生成することができるので、被写体存在画像P1の複数の画像領域Aの各々について所定の一色との類似度を考慮して抽出用背景画像P4の生成を適正に行うことができる。
【0108】
さらに、被写体構成領域Cs及び背景構成領域Cbに基づいて、被写体存在画像P1から被写体領域Dを抽出するので、被写体存在画像P1を取得するだけで当該被写体存在画像P1から被写体領域Dを自動的に抽出することができる。
【0109】
[実施形態2]
図16は、本発明を適用した実施形態2の撮像装置201の概略構成を示すブロック図である。
なお、実施形態2の撮像装置201は、以下に詳細に説明する以外の点で上記実施形態1の撮像装置1と略同様の構成をなし、詳細な説明は省略する。
【0110】
実施形態2の撮像装置201は、画像処理装置として、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。そして、撮像装置201が、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
【0111】
図16に示すように、撮像装置201は、上記実施形態1の撮像装置1の各部、即ち、レンズ部101、電子撮像部102、ユニット回路部103、撮像制御部104、画像処理部105、表示部106、記録媒体制御部107、バッファメモリ108、プログラムメモリ109、操作入力部110、中央制御部111に加えて、被写体検出部112と、被写体切抜部113とを備えている。
【0112】
被写体検出部112及び被写体切抜部113は、実施形態1のサーバ3に備わる被写体検出部305及び被写体切抜部306と同等の機能を有している。
即ち、被写体切抜部113の類似度算出部306eは、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、背景画像生成部306gは、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成する。そして、背景領域特定部306h及び被写体領域特定部306iは、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する。
また、被写体検出部112は、被写体存在画像P1から特定の被写体を検出する。
【0113】
そして、撮像装置201は、上記実施形態1の被写体切抜処理(図6参照)と略同等の被写体切抜処理を行って、被写体存在画像P1から被写体領域Dを切り出して、被写体切り抜き画像P6の画像データを生成する。
【0114】
従って、実施形態2の撮像装置201によれば、上記実施形態1と同様に、被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色からなる抽出用背景画像P4を生成するので、被写体存在画像P1の色を複数の画像領域A、…毎に個別に考慮して抽出用背景色(抽出用背景画像P4)の生成を適正に行うことができる。そして、生成された抽出用背景色(抽出用背景画像P4)に基づいて、被写体存在画像P1内で被写体構成領域Cs及び背景構成領域Cbをそれぞれ特定するので、被写体や背景を構成する正解領域(シード)の指定を、予めユーザによる操作部の所定操作に基づいて行う必要がなくなり、被写体存在画像P1内での被写体構成領域Cs及び背景構成領域Cbの指定を自動的に行うことができる。
【0115】
なお、上記実施形態1、2にあっては、必ずしも被写体検出部305、112を備える必要はなく、被写体検出部305、112を備えるか否かは適宜任意に変更可能である。
【0116】
なお、本発明は、上記実施形態1、2に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態1、2にあっては、被写体切抜部306(113)に画像分割部306b、背景色推定部306d、被写体抽出部306jを具備するようにしたが、画像分割部306bや背景色推定部306dや被写体抽出部306jを具備するか否かは適宜任意に変更可能である。
【0117】
また、上記実施形態1、2にあっては、被写体切抜部306(113)に類似度判定部306fを具備し、当該類似度判定部306fの判定結果を考慮して抽出用背景画像P4を生成するようにしたが、類似度判定部306fを具備するか否か、即ち、類似度判定部306fの判定結果を考慮して抽出用背景画像P4を生成するか否かは適宜任意に変更可能である。
【0118】
さらに、上記実施形態1、2にあっては、被写体抽出処理にて抽出結果判定処理を実行するようにしたが、抽出結果判定処理を行うか否かは適宜任意に変更可能である。また、図14に示した抽出結果判定処理の処理内容も一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0119】
また、上記実施形態1にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像処理装置)3によって被写体構成領域Cs及び背景構成領域Cbを特定するようにしたが、一例であってこれに限られるものではなく、画像処理装置の構成は適宜任意に変更可能である。即ち、抽出用画像の生成に係る被写体切抜部306(113)の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で被写体画像生成処理を行うようにしても良い。
つまり、ユーザ端末2は、背景と被写体とが混在する被写体存在画像P1の複数の画像領域A、…の色と所定の一色との類似度を算出し、算出された類似度に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景画像P4を生成し、生成された抽出用背景画像P4に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定するようにしても良い。
【0120】
また、上記実施形態1にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
【0121】
さらに、実施形態1の被写体切り抜きシステム100にプリント装置を備え、当該プリント装置によって、サーバ3により生成された被写体切り抜き画像P6の被写体画像を所定のプリント用基材に対して所定の印刷方式により印刷して、被写体画像のプリントを作成するようにしても良い。また、サーバ3は、生成した被写体切り抜き画像P6をアルファマップMを利用して所定の背景画像と合成して被写体合成画像(図示略)を生成しても良く、この場合には、プリント装置は、当該被写体合成画像のプリントを作成するようにしても良い。
なお、被写体切り抜き画像P6や被写体合成画像の画像データには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0122】
加えて、上記実施形態1、2にあっては、取得手段、第1の特定手段、比較手段、生成手段、第2の特定手段としての機能を、サーバ3の中央制御部301や撮像装置201の中央制御部111の制御下にて、被写体切抜部306(113)の画像取得部306a、画像領域特定部306c、類似度算出部306e、背景画像生成部306g、背景領域特定部306h、被写体領域特定部306iが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301(111)のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、取得処理ルーチン、第1の特定処理ルーチン、比較処理ルーチン、生成処理ルーチン、第2の特定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部301(111)のCPUを、背景と被写体とが存在する被写体存在画像P1を取得する取得手段として機能させるようにしても良い。また、第1の特定処理ルーチンにより中央制御部301のCPUを、取得手段により取得された被写体存在画像P1内で複数の画像領域A、…を特定する第1の特定手段として機能させるようにしても良い。また、比較処理ルーチンにより中央制御部301のCPUを、第1の特定手段により特定された各画像領域Aの代表色と所定の一色とを比較する比較手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、比較手段による比較結果に基づいて、被写体存在画像P1から被写体が含まれる領域Dを抽出するための抽出用背景色を生成する生成手段として機能させるようにしても良い。また、第2の特定処理ルーチンにより中央制御部301のCPUを、生成手段により生成された抽出用背景色に基づいて、被写体存在画像P1内で被写体を構成する被写体構成領域Cs及び背景を構成する背景構成領域Cbをそれぞれ特定する第2の特定手段として機能させるようにしても良い。
【0123】
同様に、分割手段、推定手段、判定手段、抽出手段についても、サーバ3の中央制御部301や撮像装置201の中央制御部111のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
【0124】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【符号の説明】
【0125】
100 被写体切り抜きシステム
1、201 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
304 通信制御部
305 被写体検出部
306 被写体切抜部
306a 画像取得部
306b 画像分割部
306c 画像領域特定部
306d 背景色推定部
306e 類似度算出部
306f 類似度判定部
306g 背景画像生成部
306h 背景領域特定部
306i 被写体領域特定部
306j 被写体抽出部
M 記録媒体
N 通信ネットワーク
【特許請求の範囲】
【請求項1】
背景と被写体とが存在する被写体存在画像を取得する取得手段と、
この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段と、
この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段と、
この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段と、
この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記被写体存在画像を複数の画像領域に分割する分割手段を更に備え、
前記第1の特定手段は、
前記分割手段により分割された複数の画像領域を特定対象として特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得手段により取得された被写体存在画像の背景の色を一色で推定する推定手段を更に備え、
前記比較手段は、
前記推定手段により推定された前記背景の色を前記所定の一色として、前記第1の特定手段により特定された各画像領域の代表色との類似度を算出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記推定手段は、更に、
前記被写体存在画像の複数の領域の各々について、他の領域の代表色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の代表色を前記背景の色として推定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第2の特定手段は、更に、
前記推定手段により他の領域の色との類似度が所定の判定値以上であると判定された回数が最も多い領域を、前記背景構成領域として特定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記推定手段は、更に、
前記複数の領域の色のばらつき量を算出し、算出されたばらつき量が所定値以下である領域の各々について、他の領域の色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の色を前記背景の色として推定することを特徴とする請求項4又は5に記載の画像処理装置。
【請求項7】
前記比較手段による比較の結果、各画像領域に係る類似度合が所定の判定値よりも大きいか否かを判定する判定手段を更に備え、
前記生成手段は、
前記判定手段により画像領域の類似度が所定の判定値よりも大きいと判定されると、当該画像領域に対応する領域については当該画像領域の背景色に基づいて前記抽出用背景色を生成し、一方、前記判定手段により画像領域の類似度が所定の判定値以下であると判定されると、当該画像領域に対応する領域については前記推定手段により推定された前記背景の色に基づいて前記抽出用背景色を生成することを特徴とする請求項3〜6の何れか一項に記載の画像処理装置。
【請求項8】
前記第2の特定手段により特定された前記被写体構成領域及び前記背景構成領域に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出する抽出手段を更に備えることを特徴とする請求項1〜7の何れか一項に記載の画像処理装置。
【請求項9】
画像処理装置を用いた画像処理方法であって、
背景と被写体とが存在する被写体存在画像を取得する処理と、
この取得された被写体存在画像内で複数の画像領域を特定する処理と、
この特定された各画像領域の代表色と所定の一色とを比較する処理と、
この比較する処理による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する処理と、
この生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する処理と、
を含むことを特徴とする画像処理方法。
【請求項10】
画像処理装置のコンピュータを、
背景と被写体とが存在する被写体存在画像を取得する取得手段、
この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段、
この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段、
この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段、
この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段、
として機能させることを特徴とするプログラム。
【請求項1】
背景と被写体とが存在する被写体存在画像を取得する取得手段と、
この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段と、
この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段と、
この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段と、
この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段と、
を備えたことを特徴とする画像処理装置。
【請求項2】
前記被写体存在画像を複数の画像領域に分割する分割手段を更に備え、
前記第1の特定手段は、
前記分割手段により分割された複数の画像領域を特定対象として特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得手段により取得された被写体存在画像の背景の色を一色で推定する推定手段を更に備え、
前記比較手段は、
前記推定手段により推定された前記背景の色を前記所定の一色として、前記第1の特定手段により特定された各画像領域の代表色との類似度を算出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記推定手段は、更に、
前記被写体存在画像の複数の領域の各々について、他の領域の代表色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の代表色を前記背景の色として推定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記第2の特定手段は、更に、
前記推定手段により他の領域の色との類似度が所定の判定値以上であると判定された回数が最も多い領域を、前記背景構成領域として特定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記推定手段は、更に、
前記複数の領域の色のばらつき量を算出し、算出されたばらつき量が所定値以下である領域の各々について、他の領域の色との類似度が所定の判定値以上であるか否かを判定し、前記所定の判定値以上であると判定された回数が最も多い領域の色を前記背景の色として推定することを特徴とする請求項4又は5に記載の画像処理装置。
【請求項7】
前記比較手段による比較の結果、各画像領域に係る類似度合が所定の判定値よりも大きいか否かを判定する判定手段を更に備え、
前記生成手段は、
前記判定手段により画像領域の類似度が所定の判定値よりも大きいと判定されると、当該画像領域に対応する領域については当該画像領域の背景色に基づいて前記抽出用背景色を生成し、一方、前記判定手段により画像領域の類似度が所定の判定値以下であると判定されると、当該画像領域に対応する領域については前記推定手段により推定された前記背景の色に基づいて前記抽出用背景色を生成することを特徴とする請求項3〜6の何れか一項に記載の画像処理装置。
【請求項8】
前記第2の特定手段により特定された前記被写体構成領域及び前記背景構成領域に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出する抽出手段を更に備えることを特徴とする請求項1〜7の何れか一項に記載の画像処理装置。
【請求項9】
画像処理装置を用いた画像処理方法であって、
背景と被写体とが存在する被写体存在画像を取得する処理と、
この取得された被写体存在画像内で複数の画像領域を特定する処理と、
この特定された各画像領域の代表色と所定の一色とを比較する処理と、
この比較する処理による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する処理と、
この生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する処理と、
を含むことを特徴とする画像処理方法。
【請求項10】
画像処理装置のコンピュータを、
背景と被写体とが存在する被写体存在画像を取得する取得手段、
この取得手段により取得された被写体存在画像内で複数の画像領域を特定する第1の特定手段、
この第1の特定手段により特定された各画像領域の代表色と所定の一色とを比較する比較手段、
この比較手段による比較結果に基づいて、前記被写体存在画像から被写体が含まれる領域を抽出するための抽出用背景色を生成する生成手段、
この生成手段により生成された抽出用背景色に基づいて、前記被写体存在画像内で被写体を構成する被写体構成領域及び背景を構成する背景構成領域をそれぞれ特定する第2の特定手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−133607(P2012−133607A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−285315(P2010−285315)
【出願日】平成22年12月22日(2010.12.22)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願日】平成22年12月22日(2010.12.22)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]