(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】画像処理装置,システム,プログラム
(51)【国際特許分類】
G06T 7/10 20170101AFI20231129BHJP
【FI】
G06T7/10
(21)【出願番号】P 2019182729
(22)【出願日】2019-10-03
【審査請求日】2022-09-22
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】加茂 碧唯
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2009-212929(JP,A)
【文献】特開2007-258870(JP,A)
【文献】特開2011-120077(JP,A)
【文献】特開2007-272685(JP,A)
【文献】特開2007-316957(JP,A)
【文献】特開2008-027401(JP,A)
【文献】特開2011-176747(JP,A)
【文献】特開2014-038601(JP,A)
【文献】特開2015-023294(JP,A)
【文献】特開2015-198388(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/10
G06T 7/00
G06T 3/00
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
画像を入力する入力部と、
メモリに記憶されたプログラムを読み出して実行するプロセッサと、
を備え、前記プロセッサが、
入力された前記画像から所望被写体を第1の検出方法で検出し、
検出された所望被写体に対して所望被写体領域を設定し、
入力された前記画像から前記所望被写体を前記第1の検出方法と異なる第2の検出方法で検出し、
設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて
、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新する
画像処理装置。
【請求項2】
前記プロセッサは、前記第2の検出方法として、入力された前記画像から顕著性領域を検出する
請求項1に記載の画像処理装置。
【請求項3】
前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域を用いて拡張することで更新する
請求項2に記載の画像処理装置。
【請求項4】
前記プロセッサは、前記第2の検出方法として、入力された前記画像を二値化する
請求項1に記載の画像処理装置。
【請求項5】
前記プロセッサは、設定された前記所望被写体領域を、二値化結果を用いて拡張することで更新する
請求項4に記載の画像処理装置。
【請求項6】
前記プロセッサは、前記第2の検出方法として、入力された前記画像から人の注目度を表す顕著性領域を検出するとともに、入力された前記画像を二値化する
請求項1に記載の画像処理装置。
【請求項7】
前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域及び二値化結果を用いて更新する
請求項6に記載の画像処理装置。
【請求項8】
前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域を用いて拡張し、さらに、前記二値化結果の二値化領域と論理和を演算することで更新する
請求項7に記載の画像処理装置。
【請求項9】
前記プロセッサは、さらに、前記第2の検出方法の検出結果と、更新された所望被写体領域を用いて、入力された前記画像から不要被写体領域を設定する
請求項1に記載の画像処理装置。
【請求項10】
前記プロセッサは、さらに、更新された所望被写体領域を、前記不要被写体領域を用いて更新する
請求項9に記載の画像処理装置。
【請求項11】
前記プロセッサは、さらに、更新された所望被写体領域から切り抜き領域を設定し、入力された前記画像から前記切り抜き領域を用いて前記所望被写体を切り抜く
請求項1~10のいずれかに記載の画像処理装置。
【請求項12】
入力画像から所望被写体を検出する第1検出手段と、
前記第1検出手段の検出結果から所望被写体領域を設定する設定手段と、
前記入力画像から前記第1検出手段と異なる方法で前記所望被写体を検出する第2検出手段と、
前記設定手段で設定された前記所望被写体領域を、前記第2検出手段の検出結果を用いて
、前記所望被写体領域に隣接し、かつ、前記第2検出手段で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新する更新手段と、
を備える画像処理装置。
【請求項13】
コンピュータのプロセッサに、
入力画像から所望被写体を第1の検出方法で検出するステップと、
検出された所望被写体に対して所望被写体領域を設定するステップと、
前記入力画像から前記所望被写体を前記第1の検出方法と異なる第2の検出方法で検出するステップと、
設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて
、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新するステップと、
を実行させるプログラム。
【請求項14】
端末装置とサーバコンピュータを備え、
前記端末装置は、入力画像を前記サーバコンピュータに供給し、
前記サーバコンピュータのプロセッサが、
前記入力画像から所望被写体を第1の検出方法で検出し、
前記第1の検出方法の検出結果から所望被写体領域を設定し、
前記入力画像から前記第1の検出方法と異なる第2の検出方法で前記所望被写体を検出し、
設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて
、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新し、
更新された所望被写体領域から切り抜き領域を設定し、前記入力画像から前記切り抜き領域を用いて前記所望被写体を切り抜いて前記端末装置に供給する、
画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置,システム,プログラムに関する。
【背景技術】
【0002】
従来から、画像をトリミングする各種技術が提案されている。
【0003】
特許文献1には、画像のトリミングを行う画像トリミング装置が記載されている。画像トリミング装置は、トリミングの対象となる画像を読み取る画像読取手段と、 トリミングの対象となる画像を複数の領域に分離し、分離した領域毎に注目度を求めて、画像の注目領域を算出する注目領域算出手段と、 予め所定のオブジェクトについて学習したオブジェクトのモデルを記憶するオブジェクト記憶手段と、オブジェクト記憶手段に記憶されているオブジェクトのモデルを基に、画像に映っているオブジェクトの指標を算出するオブジェクト指標算出手段と、トリミング手法を記憶するトリミング手法記憶手段と、注目領域算出手段によって得られた注目度と、オブジェクト指標算出手段により得られたオブジェクト指標とに従いトリミング手法を決定するトリミング手法決定手段と、 トリミング手法決定手段によって決められたトリミング手法に従い、画像をトリミングするトリミング手段を備える。
【0004】
特許文献2には、 人体の診断対象部位を被写体として放射線撮影することにより得られた放射線画像に画像処理を施す医用画像処理装置が記載されている。医用画像処理装置は、放射線画像を解析することにより、放射線画像の照射野領域の一部領域であって、診断対象部位を含む画像領域を放射線画像から切り出す画像領域として決定する領域決定手段と、決定された画像領域を切り出すことにより放射線画像より画像サイズの小さい画像を生成するトリミング手段を備える。領域決定手段は、放射線画像の照射野領域内に当該放射線画像から切り出す画像領域の候補領域を設定し、当該設定された候補領域が診断対象部位の欠損がない画像領域であるか否かを判定し、当該候補領域が診断対象部位の欠損がない画像領域であると判定した場合に、当該候補領域を放射線画像から切り出す画像領域として決定する。また、領域決定手段は、放射線画像の照射野領域内に当該放射線画像から切り出す画像領域の候補領域を設定し、当該設定された候補領域が診断対象部位の欠損がない画像領域であるか否かを判定し、当該候補領域が診断対象部位の欠損がない画像領域であると判定した場合に、設定された候補領域より更に小さい領域を順次候補領域として設定して診断対象部位の欠損がない画像領域であるか否かを判定していき、診断対象部位の欠損があると判定された候補領域の直前に設定された候補領域を放射線画像から切り出す画像領域として決定する。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第4052128号
【文献】特開2013-102814号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、商品撮影の業務フロー等においては、撮影時に混入した白バック等の不要背景や端に写り込んだ暗幕、タグ、クリップ等の不要物を除去しながら所望被写体が見切れない最小限の矩形フレームで画像を切り抜くトリミング処理を行いたい場合がある。
【0007】
しかし、特に被写体としてのモデルが手足を広げてポージングしている場合や鞄等を手に持っている場合等には、所望被写体の端が、物体検出で推定された被写体領域の外部に出てしまうことがあるので、物体検出の結果のみに依存して被写体領域を推定して画像のトリミング処理を実行してしまうと所望被写体が見切れてしまう。
【0008】
これに対し、物体検出結果に一律にマージンとなる領域を設けて被写体領域を推定してトリミング処理する方法も想定されるが、所望被写体によっては周辺にある不要な余白や不要物を含んでしまう画像となる事態が生じ得る。
【0009】
本発明は、画像内に存在する所望被写体に対し、不要背景や不要物を除去しつつも見切れることのない抽出領域を設定し得る技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、画像を入力する入力部と、メモリに記憶されたプログラムを読み出して実行するプロセッサとを備え、前記プロセッサが、入力された前記画像から所望被写体を第1の検出方法で検出し、検出された所望被写体に対して所望被写体領域を設定し、入力された前記画像から前記所望被写体を前記第1の検出方法と異なる第2の検出方法で検出し、設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新する画像処理装置である。
【0011】
請求項2に記載の発明は、前記プロセッサは、前記第2の検出方法として、入力された前記画像から顕著性領域を検出する請求項1に記載の画像処理装置である。
【0012】
請求項3に記載の発明は、前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域を用いて拡張することで更新する請求項2に記載の画像処理装置である。
【0013】
請求項4に記載の発明は、前記プロセッサは、前記第2の検出方法として、入力された前記画像を二値化する請求項1に記載の画像処理装置である。
【0014】
請求項5に記載の発明は、前記プロセッサは、設定された前記所望被写体領域を、二値化結果を用いて拡張することで更新する請求項4に記載の画像処理装置である。
【0015】
請求項6に記載の発明は、前記プロセッサは、前記第2の検出方法として、入力された前記画像から人の注目度を表す顕著性領域を検出するとともに、入力された前記画像を二値化する請求項1に記載の画像処理装置である。
【0016】
請求項7に記載の発明は、前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域及び二値化結果を用いて更新する請求項6に記載の画像処理装置である。
【0017】
請求項8に記載の発明は、前記プロセッサは、設定された前記所望被写体領域を、前記顕著性領域を用いて拡張し、さらに、前記二値化結果の二値化領域と論理和を演算することで更新する請求項7に記載の画像処理装置である。
【0018】
請求項9に記載の発明は、前記プロセッサは、さらに、前記第2の検出方法の検出結果と、更新された所望被写体領域を用いて、入力された前記画像から不要被写体領域を設定する請求項1に記載の画像処理装置である。
【0019】
請求項10に記載の発明は、前記プロセッサは、さらに、更新された所望被写体領域を、前記不要被写体領域を用いて更新する請求項9に記載の画像処理装置である。
【0020】
請求項11に記載の発明は、前記プロセッサは、さらに、更新された所望被写体領域から切り抜き領域を設定し、入力された前記画像から前記切り抜き領域を用いて前記所望被写体を切り抜く請求項1~10のいずれかに記載の画像処理装置である。
【0021】
請求項12に記載の発明は、入力画像から所望被写体を検出する第1検出手段と、前記第1検出手段の検出結果から所望被写体領域を設定する設定手段と、前記入力画像から前記第1検出手段と異なる方法で前記所望被写体を検出する第2検出手段と、前記設定手段で設定された前記所望被写体領域を、前記第2検出手段の検出結果を用いて、前記所望被写体領域に隣接し、かつ、前記第2検出手段で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新する更新手段とを備える画像処理装置である。
【0022】
請求項13に記載の発明は、コンピュータのプロセッサに、入力画像から所望被写体を第1の検出方法で検出するステップと、検出された所望被写体に対して所望被写体領域を設定するステップと、前記入力画像から前記所望被写体を前記第1の検出方法と異なる第2の検出方法で検出するステップと、設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新するステップとを実行させるプログラムである。
【0023】
請求項14に記載の発明は、端末装置とサーバコンピュータを備え、前記端末装置は、入力画像を前記サーバコンピュータに供給し、前記サーバコンピュータのプロセッサが、前記入力画像から所望被写体を第1の検出方法で検出し、前記第1の検出方法の検出結果から所望被写体領域を設定し、前記入力画像から前記第1の検出方法と異なる第2の検出方法で前記所望被写体を検出し、設定された前記所望被写体領域を、前記第2の検出方法の検出結果を用いて、前記所望被写体領域に隣接し、かつ、前記第2の検出方法で検出された画素を新たに前記所望被写体領域の画素に追加していくことで更新し、更新された所望被写体領域から切り抜き領域を設定し、前記入力画像から前記切り抜き領域を用いて前記所望被写体を切り抜いて前記端末装置に供給する画像処理システムである。
【発明の効果】
【0024】
請求項1,12,13,14に記載の発明によれば、画像内に存在する所望被写体に対し、不要背景や不要物を除去しつつも見切れることのない抽出領域を設定することができる。
【0025】
請求項2,3に記載の発明によれば、さらに、顕著性領域を用いて所望被写体領域を更新できる。
【0026】
請求項4,5に記載の発明によれば、さらに、二値化領域を用いて所望被写体領域を更新できる。
【0027】
請求項6,7,8に記載の発明によれば、さらに、顕著性領域と二値化領域を用いて所望被写体領域を更新できる。
【0028】
請求項9に記載の発明によれば、さらに、所望被写体領域外にある不要被写体領域を設定することができる。
【0029】
請求項10に記載の発明によれば、さらに、不要被写体領域を用いて所望被写体領域を更新できる。
【0030】
請求項11に記載の発明によれば、さらに、切り抜き領域を設定して所望被写体を見切れることなく切り抜きできる。
【図面の簡単な説明】
【0031】
【
図1】実施形態の画像処理装置の機能ブロック図である。
【
図2】実施形態の画像処理装置の構成ブロック図である。
【
図3】実施形態の画像処理装置の処理フローチャートである。
【
図4】実施形態の所望被写体領域の設定説明図である。
【
図6】実施形態の所望被写体領域の更新説明図(その1)である。
【
図7】実施形態の所望被写体領域の更新説明図(その2)である。
【
図9】実施形態の所望被写体領域の更新説明図(その3)である、
【
図11】他の実施形態の不要被写体領域の設定説明図である。
【
図12】他の実施形態の所望被写体が見切れないフレームの説明図である。
【
図13】他の実施形態の不要被写体領域が入らないフレームの説明図である。
【
図14】他の実施形態の所望被写体が見切れず不要被写体領域が入らないフレームの設定説明である。
【
図15】他の実施形態のトリミング処理説明図である。
【発明を実施するための形態】
【0032】
以下、図面に基づき本発明の実施形態について説明する。
【0033】
図1は、本実施形態に係る画像処理装置の機能ブロック図である。画像処理装置は、機能ブロックとして、第1検出手段10、第2検出手段12、所望被写体領域設定部14、更新部16、及び抽出部18を備える。
【0034】
第1検出部10は、入力画像を入力し、入力画像から所望被写体を第1の検出方法で検出する。入力画像は、例えば写真等の撮影画像であるが、これに限定されない。第1の検出方法は、公知の物体検出アルゴリズムを用いることができる。例えば、検出すべき所望被写体が人物であれば、人物テンプレートとのパターンマッチングを用いて検出する。あるいは、所望被写体の有する特定色に着目し、当該特定色を用いて検出してもよい。この第1の検出方法では、入力画像内における所望被写体の存在位置を一定の精度で検出できればよい。第1検出部10は、検出結果を所望被写体領域設定部14に出力する。
【0035】
所望被写体領域設定部14は、第1検出手段10からの検出結果に基づき、所望被写体領域を設定する。所望被写体領域は所定形状の領域、例えば矩形領域として設定され、矩形領域のサイズ、すなわち入力画像内の平面をx-y平面とした場合に、x方向のサイズ及びy方向のサイズは、第1検出部10からの検出結果に基づいて設定される。基本的には、第1検出部10からの検出結果で示される物体存在領域内の矩形領域が所望被写体領域として設定される。より詳細には、物体存在領域内において取り得る最大の矩形領域が所望被写体領域として設定される。従って、例えば所望被写体の形状が矩形状であれば、所望被写体領域として所望被写体の形状に沿った適切な所望被写体領域が設定され得るが、所望被写体の形状が矩形状でない場合、例えば被写体としてのモデルが手足を広げてポージングしている場合等には、手足の一部を除き頭部及び胴体を含む矩形部分が所望被写体領域として設定され得る。所望被写体領域設定部14は、設定した所望被写体領域を更新部16に出力する。
【0036】
第2検出部12は、入力画像を入力し、入力画像から所望被写体を第2の検出方法で検出する。第2の検出方法は、第1検出部10における第1の検出方法と異なる検出方法であり、例えば入力画像において画像の特徴に基づき、人がこの画像を見たときに注目する傾向が高い領域を表す顕著性領域を検出することで所望被写体を検出する。顕著性領域の検出は、公知の方法を用いることができ、例えば認知メカニズムに基づく「特徴統合理論」を用いたモデルや機械学習を用いて検出し得る。この「特徴統合理論」を用いたモデルでは、人の視野像は各特徴(輝度、色、傾きなど)ごとに並行して処理され、それらの特徴が最終的に統合されるものとし、対象画像に対して独立に輝度、色、傾きといった基本的な画像特徴をそれぞれ求め、最終的にそれらに対し重みづけをして統合し、これにより得られた度数分布を顕著性マップとし、画像における顕著性の高い領域を検出する。あるいは、入力画像を二値化することで所望被写体を検出してもよい。第2検出部12は、検出結果を更新部16に出力する。
【0037】
更新部16は、所望被写体領域設定部14からの所望被写体領域と、第2検出部12からの検出結果を入力し、所望被写体領域を第2検出部12での検出結果を用いて更新する。具体的には、所望被写体領域設定部14で設定された所望被写体領域では、所望被写体が見切れるおそれがあるため、第2検出部12での検出結果を用いて所望被写体領域が見切れない程度の矩形領域に拡張する。勿論、単に所望被写体領域を拡張するだけでは、所望被写体が見切れないものの、不要背景や不要物まで含まれてしまうため、拡張は可能な限り最小範囲に留めておく。言い替えれば、第2検出部12での検出結果により、所望被写体領域の拡張範囲を制限し、拡張の上限を定めるものといえる。より具体的には、更新部16は、第2検出部12での検出結果を用いて、所望被写体領域に隣接し、かつ、第2検出部12で検出された画素を新たに所望被写体領域の画素に追加していくことで所望被写体領域を拡張する。更新部16で更新された所望被写体領域は、必ずしも矩形形状ではなく、本来の所望被写体の形状に合致した形状となる。更新部16は、更新後の所望被写体領域を抽出部18に出力する。
【0038】
抽出部18は、更新部16からの更新後の所望被写体領域を用いて入力画像から所望被写体を抽出して切り抜くトリミング処理を行い、出力画像として出力する。すなわち、抽出部18は、更新部16からの更新後の所望被写体領域を用いてトリミングのための矩形フレーム(トリミングフレーム)を設定し、設定したトリミングフレームを用いて入力画像をトリミングして出力画像を生成する。
【0039】
図1において、第1検出部10及び第2検出部12は別の機能ブロックとして示されているが、これは互いに検出方法が異なることを示すために便宜上示したものであり、必ずしも物理的に異なる構成要素である必要はなく、単一の部材又は構成要素が異なる2つの検出方法を用いて検出してもよい。第1の検出方法と第2の検出方法は互いに異なっているが、第1の検出方法は、所望被写体に対して所望被写体領域を第1の精度で設定するための検出方法であり、第2の検出方法は、第1の精度よりも高精度な第2の精度で所望被写体領域を更新するための検出方法である。
【0040】
また、
図1では第1検出部10及び第2検出部12が示されているが、必要に応じ、互いに検出方法が異なる第3検出部、第4検出部、・・・を備えてもよいことは言うまでもない。
【0041】
図2は、実施形態における画像処理装置の構成ブロック図である。画像処理装置30は、コンピュータで構成され、具体的には制御部32、通信部34、操作部36、表示部38、及び記憶部40を備える。
【0042】
制御部32は、CPU(Central Processing Unit)等のプロセッサで構成され、記憶部40に記憶された処理プログラムを読み出して実行することで
図1に示された各機能ブロックの機能を実現する。すなわち、プロセッサは、入力画像から所望被写体を第1の検出方法で検出し、検出された所望被写体に対して所望被写体領域を設定し、入力画像から所望被写体を前記第1の検出方法と異なる第2の検出方法で検出し、設定された所望被写体領域を、第2の検出方法の検出結果を用いて更新する。そして、更新後の所望被写体領域を用いて入力画像から所望被写体を抽出して切り抜きを行うトリミング処理を行い、出力画像として出力する。
【0043】
通信部34は、公衆回線あるいは専用回線等の通信回線への通信接続を実現する通信モジュールである。入力画像は、通信部34を介して入力され得る。
【0044】
操作部36は、キーボードやマウス等のユーザインターフェイスである。操作部36は、物理的なボタン等に限定されず、表示部38に表示されるタッチボタン等のソフトウェアボタンでもよい。
【0045】
表示部38は、液晶ディスプレイや有機ELディスプレイ等であり、制御部32からの制御指令により各種データを表示する。各種データには、入力画像や所望被写体領域、更新後の所望被写体領域、トリミングフレーム、出力画像等が含まれる。
【0046】
記憶部40は、ハードディスクやフラッシュメモリ等で構成される。記憶部40は、処理プログラム40a、及び画像データ40bを記憶する。画像データ40bには、入力画像、第1の検出方法で検出された検出結果、第2の検出方法で検出された検出欠陥、所望被写体領域、更新後の所望被写体領域、トリミングフレーム、出力画像等が含まれる。
【0047】
なお、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば CPU:Central Processing Unit等)や、専用のプロセッサ(例えば GPU:Graphics Processing Unit 、ASIC:Application Specific Integrated Circuit 、FPGA:Field Programmable Gate Array 、プログラマブル論理デバイス等)を含むものである。また、プロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。
【0048】
図3は、画像処理装置30の処理フローチャートであり、制御部32を構成するプロセッサの処理フローチャートである。
【0049】
まず、プロセッサは、トリミング処理の対象である画像を入力する(S101)。すなわち、通信部34を介して記憶部40に記憶された画像を記憶部40から読み出す。なお、画像は、ユーザが操作部36を操作することで外部メモリから記憶部40に転送してもよい。
【0050】
次に、プロセッサは、入力画像から第1の検出方法で所望被写体を検出する(S102)。プロセッサは、例えばパターンマッチングや特定色の検出により所望被写体を検出する。
【0051】
次に、プロセッサは、検出結果に基づいて所望被写体領域を設定する(S103)。所望被写体領域は、第1の検出方法で検出された所望被写体存在領域内で矩形領域として設定される。プロセッサは、所望被写体領域を設定すると、記憶部40に記憶する。
【0052】
次に、プロセッサは、入力画像から第1の検出方法と異なる第2の検出方法で所望被写体を検出する(S104)。プロセッサは、例えば顕著性領域検出と二値化検出の少なくともいずれかの方法で検出する。ここでは、一例として、顕著性領域を検出するものとする。プロセッサは、入力画像から顕著性領域を検出すると、記憶部40に記憶する。
【0053】
次に、プロセッサは、記憶部40に記憶されている、所望被写体領域と顕著性領域を読み出し、所望被写体領域を顕著性領域で拡張することで更新する(S105)。すなわち、プロセッサは、所望被写体領域に顕著性領域が隣接している場合に,当該隣接する領域を所望被写体領域に加算することで更新する。プロセッサは、所望被写体領域を二値化領域で拡張することで更新してもよく、あるいは所望被写体領域を顕著性領域と二値化領域をともに用いて拡張することで更新してもよい。後者の場合、プロセッサは、例えば所望被写体領域を顕著性領域で拡張して更新し、更新後の所望被写体領域を二値化領域でさらに拡張して更新し得る。プロセッサは、更新後の所望被写体領域を記憶部40に記憶する。
【0054】
次に、プロセッサは、更新後の所望被写体領域を記憶部40から読み出し、更新後の所望被写体領域を用いて抽出領域、すなわちトリミングフレームを設定する(S106)。プロセッサは、更新後の所望被写体領域のx座標の最小値とy座標の最小値、及び更新後の所望被写体領域のx座標の最大値とy座標の最大値を用いてトリミングフレームの左上頂点の座標、及び右下頂点の座標を算出することでトリミングフレームを設定する。プロセッサは、設定したトリミングフレームを記憶部40に記憶する。
【0055】
次に、プロセッサは、記憶部40からトリミングフレームを読み出し、入力画像にトリミングフレームを適用することでトリミング処理を実行する(S107)。そして、抽出画像、すなわちトリミングされた画像を出力画像として記憶部40に記憶し、また表示部38に出力して表示する。
【0056】
図3に示すS101~S108の処理は、1つのプロセッサで逐次的に処理してもよく、あるいは複数のプロセッサで分散処理してもよい。例えば、S102の処理とS104の処理を異なるプロセッサで並列処理してもよい。
【0057】
以下、各処理について具体的に説明する。
【0058】
図4は、S102及びS103の処理を模式的に示す。入力画像100が入力されると、プロセッサは、第1の検出方法で所望被写体を検出し、検出された所望被写体の存在領域内に矩形領域(図中破線で示す)を設定することで、所望被写体領域102を設定する。所望被写体領域102は、矩形形状であって、そのサイズが所望被写体のサイズに略等しい領域として規定し得る。所望被写体が人物の場合、その輪郭は必ずしも矩形ではなく、 図に示すように頭部及び胴部からなる複合形状として表現し得るため、矩形形状の所望被写体領域102は、必ずしも所望被写体と合致しない。従って、仮に、設定された所望被写体領域102で入力画像をトリミングすると、所望被写体の一部が見切れてしまう。このことは、第1の検出方法で所望被写体を検出する精度に依存してトリミングの精度が決定されることを意味する。他方で、第1の検出方法で所望被写体を検出し、これに一律のマージンとなる領域を設定して所望被写体領域を設定することも考えられるが、所望被写体の見切れは防止できるものの周辺にある不要な背景や不要物が混入してしまう。従って、所望被写体の見切れを防止しつつも不要背景や不要物が極力含まれないように所望被写体領域を拡張する必要がある。
【0059】
図5は、S104の処理を模式的に示す。入力画像100が入力されると、プロセッサは、第2の検出方法で所望被写体を検出する。具体的には、人の注目度を表す顕著性領域を検出する。顕著性領域の検出アルゴリズムは任意であるが、入力画像100を複数のサブ領域(部分領域)に分割し、これら複数のサブ領域の各々について、各サブ領域に含まれる画素の値又は数の少なくとも一方に関連する顕著性特徴量を演算する。サブ領域の各々を順次、注目サブ領域として選択し、注目サブ領域Tに接する、他の(注目サブ領域以外の)サブ領域の集合D(T)を選択する。すなわち、注目サブ領域Tに含まれる各画素について、その近傍8領域(左上、上、右上、左、右、左下、下、右下の8個)の隣接画素の属するサブ領域を調べ、そのサブ領域が注目サブ領域Tでない場合は、当該隣接画素の属するサブ領域を、隣接する他のサブ領域の集合D(T)に含める。この場合において、D(T)に含まれるサブ領域ごとに、注目サブ領域内のいくつの画素と隣接するか、すなわち注目サブ領域と他のサブ領域との境界にある画素に係る数をカウントしておき、この数が予め定めたしきい値未満となるサブ領域については、D(T)から取除くこととしてもよい。また、このカウント値をD(T)に含まれる各サブ領域に関連付けて記憶部40に格納しておいてもよい。
【0060】
次に、注目サブ領域Tに係る特徴ベクトルFT=(lT,aT,bT,sT)を作成する。ここで、lT,aT,bTは、注目サブ領域Tに含まれる画素のL*a*b値の統計量としての平均(重心)を意味し、sTは、注目サブ領域Tに含まれる画素の数を表す。
【0061】
そして集合D(T)に含まれるサブ領域についての平均特徴ベクトルFD(T)=(lD(T),aD(T),bD(T),sD(T))を生成する。ここでlD(T)等は、集合D(T)に含まれる各サブ領域における特徴ベクトルの要素値の平均を意味する。なお、||D(T)||は、集合D(T)に含まれるサブ領域の数(隣接サブ領域の数)である。プロセッサは、注目サブ領域Tに係る特徴要素f(l,a,b,sのいずれか)についての顕著性特徴量要素S(T,f)を、
【数1】
で演算する。すなわち、顕著性特徴量要素は、基本的には、注目サブ領域の特徴量の要素の一つについて、その要素と、各隣接サブ領域における対応する要素との差の二乗値の和を、隣接サブ領域の数(||D(T)||)で除したものである。ここで、要素間の差を演算する際に注目サブ領域と他のサブ領域との境界にある画素の数に基づく重みを、この要素間の差の値に乗じて、総和することとしてもよい。さらに、この顕著性特徴量要素は、最小値が0、最大値が100となるように規格化しておく(式中、Normと記載しているのはこの規格化を行うことを示したものである)。さらに,プロセッサは、注目サブ領域Tの周辺領域に対する顕著性特徴量要素S(T,D)を、
【数2】
で演算する。ここでΣは、要素ごとの和を演算することを表す。ここでも顕著性特徴量は、最小値が0、最大値が100となるように規格化しておく。
【0062】
この顕著性特徴量要素S(T,D)は、注目サブ領域が、その周辺のサブ領域に比べて視覚的に顕著であるほど大きくなる値である。ここでは特徴ベクトルとして色やサイズを用いているが、形や曲率などを表す量を特徴ベクトルに含めてもよい。なお、例えば特開2006-133990号公報には、顕著性特徴量を算出する画像処理装置が記載されている。
【0063】
プロセッサは、サブ領域毎に演算された顕著性特徴量に基づいて、入力画像100から顕著性領域を検出する。つまり、予め定めた閾値以上となっているサブ領域を顕著性領域104として検出する。
図5では、入力画像100における左側部分、右上部分、及び中央部分が顕著性領域104として検出される様子を示す。
【0064】
図6は、S105の処理を模式的に示す。S103で設定された所望被写体領域102と、S104で検出された顕著性領域104とを加算、すなわち論理和演算して更新後の所望被写体領域106を生成する。更新後の所望被写体領域106は、顕著性領域104により拡張されるため、必ずしも矩形形状ではなく、顕著性領域104に応じた形状となる。
【0065】
図7は、S105の処理をより詳細に示す。上段の左から右に処理が進み、さらに下段に移って左から右に処理が進む。S103で設定された所望被写体領域102とS104で検出された顕著性領域104とを重ね合わせ、顕著性領域104を構成する画素に着目し、注目画素に隣接する画素が所望被写体領域102である場合に、当該注目画素を新たに所望被写体領域102に追加していく。例えば、上段の左に着目すると、顕著性領域104の上側の部分を構成する画素に隣接する下側の画素は所望被写体領域102であるため、上段の中央に示すようにこれらの画素は新たに所望被写体領域102に追加される。また、上段の中央に示すように顕著性領域104の下側の部分を構成する画素に隣接する右側の画素は所望被写体領域102であるため、これらの画素は新たに所望被写体領域102に追加される。以上の処理を繰り返すことで、最終的に下段の右に示すように、顕著性領域104が新たに所望被写体領域102に追加され、所望被写体領域102が拡張されて更新後の所望被写体領域106が生成される。
【0066】
図8は、S104の他の処理を模式的に示す。入力画像100の輝度分布や色分布に対して、ある閾値を用いて二値化する処理を模式的に示す。例えば、入力画像100に対して二値化して特定色(例えばオレンジ色)の領域を二値化領域108として検出する。
【0067】
図9は、S105の他の処理を模式的に示す。所望被写体領域102を顕著性領域104で更新して更新後の所望被写体領域106を生成し、この更新後の所望被写体領域106を二値化領域108で拡張することでさらに更新後の所望被写体領域110を生成する。具体的には、更新後の所望被写体領域106と二値化領域108の論理和を演算することで更新後の所望被写体領域106を拡張する。
図9と
図6を比較すると、
図9における所望被写体領域110の方が
図6における所望被写体領域106よりもさらに拡張され、特に人物の頭部に相当する領域が拡張されていることが分かる。
【0068】
図10は、S106、S107の処理を模式的に示す。
図9に示す更新後の所望被写体領域110に基づいて抽出領域、すなわちトリミングフレームを設定する処理である。更新後の所望被写体領域110において、x座標の最小値Xminとy座標の最小値Ymin、x座標の最大値Xmaxとy座標の最大値Ymaxを検出し、これら2つの点をそれぞれ左上頂点、右下頂点とする矩形のトリミングフレームを設定する。このトリミングフレームは、更新後の所望被写体領域110に外接する矩形領域である。トリミングフレームを設定すると、入力画像100にトリミングフレームを適用し、入力画像100のトリミング処理を実行して所望被写体を出力画像200として出力する。
【0069】
このように、本実施形態では、第1検出部10での検出結果に応じて設定された所望被写体領域を、第2検出部12での検出結果を用いて拡張し更新することで、所望被写体の見切れを防止するとともに、不要背景や不要物の混入を防止することができる。第2検出部12での検出結果に基づく更新は1回に限定されず、異なる検出結果を用いた複数回の更新によって所望被写体領域の設定精度を向上させ得る。
【0070】
本実施形態では、入力画像100に1つの所望被写体が存在する場合を例示したが、これに限定されるものではなく、複数の所望被写体が存在していてもよく、各所望被写体毎に既述した処理を実行して所望被写体領域を更新し、更新後の所望被写体領域からトリミングフレームを設定し得る。
【0071】
また、本実施形態では、所望被写体が見切れない可能な限り最小の矩形フレームをトリミングフレームとして設定しているが、別の構図のフレームを算出する上で、当該最小の矩形フレームを基準として算出してもよく、例えば意図的に所望被写体領域の2倍の面積の余白を設けるトリミングフレームを設定する等である。
【0072】
また、本実施形態では、第2検出部12での第2の検出方法として、顕著性領域及び二値化を例示したが、これらに限定されるものではなく、エッジ検出やカッティング等を用いてもよく、これらを単独で、あるいは複数組み合わせて用いてもよい。第1の検出方法と第2の検出方法の組合せを例示列挙すると、以下の通りである。
(1)物体検出と顕著性領域検出の組合せ
(2)物体検出と二値化領域検出の組合せ
(3)物体検出とエッジ検出の組合せ
(4)物体検出と顕著性領域検出と二値化領域の組合せ
(5)物体検出と顕著性領域検出とエッジ検出の組合せ
(6)物体検出と二値化領域とエッジ検出の組合せ
【0073】
さらに、本実施形態において、所望被写体を含まない不要被写体領域を検出し、この不要被写体領域を用いて所望被写体をトリミングすることも可能である。以下、この場合について説明する。
【0074】
図11は、不要被写体領域を検出する処理を模式的に示す。
【0075】
プロセッサは、
図8に示す二値化領域108と、
図9に示す更新後の所望被写体領域110を記憶部40から読み出し、二値化領域108から更新後の所望被写体領域110を減算することで不要被写体領域112を算出する。不要被写体領域は、二値化領域108のうち所望被写体の外側にある領域として規定される。
【0076】
図12は、更新後の所望被写体領域110に基づき、所望被写体が見切れないフレームの他の算出処理を模式的に示す。更新後の所望被写体領域110において、x座標の最小値Xmin、y座標の最小値Ymin、x座標の最大値Xmax、y座標の最大値Ymaxを検出し、
X≦XminかつY≦Ymin
X≧XmaxかつY≦max
X≦minかつY≧Ymax
X≧XmaxかつY≧min
で定義される領域を設定する。図において、塗りつぶされていない領域がこれらの不等式で示す領域であり、所望被写体が見切れないフレーム領域114(
図10に示すような最小の矩形領域ではない)である。
【0077】
図13は、
図11に示す不要被写体領域112に基づき、不要被写体領域が入らないフレーム領域の算出処理を模式的に示す。不要被写体領域112を除く領域(図中塗りつぶされた領域)が不要被写体領域が入らないフレーム領域116として算出される。
【0078】
図14は、
図12及び
図13に示す2つの領域に基づく、所望被写体領域が見切れず不要被写体領域が入らないフレーム領域の算出処理を模式的に示す。プロセッサは、
図12に示す所望被写体が見切れないフレーム領域114と、
図13に示す要被写体領域が入らないフレーム領域116との論理積を演算することで、所望被写体が見切れず、かつ、不要被写体領域が入らないフレーム領域118が算出される。
【0079】
図15は、
図14に示すフレーム領域118に基づいてトリミングフレームを算出し、入力画像100に適用してトリミングを実行する処理を模式的に示す。
図15に示す出力画像200と
図10に示す出力画像200を対比すると、
図15に示す出力画像200の方が余白が多くなっている。
【0080】
以上説明したように、本実施形態では、入力画像から所望被写体が見切れず、かつ不要背景や不要物が含まれないように抽出することができる。
【0081】
本実施形態では、
図2に示すように、画像処理装置30をコンピュータで実現する場合を説明しているが、単一のコンピュータで実現する場合のみならず、通信ネットワークで接続された複数のコンピュータでシステムとして実現してもよい。例えば、サーバコンピュータ(クラウドコンピュータ)と端末コンピュータとが通信ネットワークで接続され、端末コンピュータから入力画像をサーバコンピュータに送信し、サーバコンピュータでトリミング処理して出力画像を生成し、サーバコンピュータから出力画像を端末コンピュータに送信して端末コンピュータの表示部に表示してもよい。この場合、端末コンピュータで複数の検出方法の中から第1検出方法及び第2検出方法を選択してサーバコンピュータに送信指示し、サーバコンピュータでは指示された第1検出方法及び第2検出方法で処理して入力画像をトリミング処理して出力画像を生成してもよい。あるいは、サーバコンピュータは、第1検出方法と第2検出方法の複数の組合せでトリミング処理し、複数の出力画像を端末コンピュータに送信し、端末コンピュータにおいて所望の出力画像を選択できるように構成してもよい。
【符号の説明】
【0082】
10 第1検出部、12 第2検出部、14 所望被写体領域設定部、16 更新部、18 抽出部、30 画像処理装置、32 プロセッサ。