[go: up one dir, main page]

JP2011176748A - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2011176748A
JP2011176748A JP2010040698A JP2010040698A JP2011176748A JP 2011176748 A JP2011176748 A JP 2011176748A JP 2010040698 A JP2010040698 A JP 2010040698A JP 2010040698 A JP2010040698 A JP 2010040698A JP 2011176748 A JP2011176748 A JP 2011176748A
Authority
JP
Japan
Prior art keywords
image
area
subject
region
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010040698A
Other languages
English (en)
Inventor
Kazuki Aisaka
一樹 相坂
Masatoshi Yokokawa
昌俊 横川
Akira Tokunaga
陽 徳永
Atsushi Murayama
淳 村山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010040698A priority Critical patent/JP2011176748A/ja
Priority to US13/012,779 priority patent/US8478072B2/en
Priority to BRPI1100230-1A priority patent/BRPI1100230A2/pt
Priority to CN201110042076.7A priority patent/CN102169587B/zh
Publication of JP2011176748A publication Critical patent/JP2011176748A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】画像の編集において、被写体を自由に切り出し、自由な位置に貼り付ける。
【解決手段】被写体領域検出部21は、入力画像より被写体の存在する領域を被写体領域として検出する。被写体切出部25は、被写体領域の画像を入力画像より切り出す。マスク画像修復部26は、被写体領域との境界上の所定領域毎の優先度を計算し、所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、被写体領域の画像が切り出された入力画像上で検索し、検索された所定領域と類似する領域に隣接する領域であって、被写体領域として切り出された領域に対応する隣接領域の画像を複写し、最上位の優先度となる所定領域に隣接する、被写体領域として切り出された領域に、隣接領域を複写した画像を貼り付けて修復する。画像合成部28は、切り出した被写体領域を合成する。本発明は、画像処理装置に適用することができる。
【選択図】図1

Description

本発明は、画像処理装置および方法、並びにプログラムに関し、特に、画像を編集する際、被写体を切り出すと共に、自由な位置に移動できるようにする画像処理装置および方法、並びにプログラムに関する。
画像内における被写体を自由に切り出して、自由な位置に貼付するといった編集機能を備えたソフトウェアが一般に普及している。
これらのソフトウェアには、複数の画像を重ね合わせることにより、複数の被写体を合成して1枚の画像に編集することができるものが提案されている(特許文献1参照)。
また、画像に様々なアイコンを付加することにより、画像を加工することができるものが提案されている(特許文献2参照)。
特開2000−259822号公報 特開2006−081224号公報
しかしながら、特許文献1に記載の技術においては、単純に画像を重ね合わせることしかできず、被写体の切り抜きや元画像における被写体位置を修正するといったことができなかった。
また、特許文献2に記載の技術においては、星形などのアイコンを付加するという加工のみであり、例えば、被写体を切り出したりするといったことはできなかった。
本発明はこのような状況に鑑みてなされたものであり、特に、画像の編集において、被写体を自由に切り出し、自由な位置に貼り付けることができるようにするものである。
本発明の一側面の画像処理装置は、入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、前記被写体領域の画像を前記入力画像より切り出す切出手段と、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段とを含む。
前記被写体領域に相当する付加領域を入力する付加領域入力手段と、前記被写体領域に、前記付加領域を付加した領域を前記被写体領域として付加する被写体領域付加手段とをさらに含ませるようにすることができる。
前記優先度計算手段には、前記修復手段により修復された被写体領域との境界上の所定領域毎の優先度を再計算させ、前記検索手段には、前記被写体領域との境界上の所定領域毎の再計算された優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索させ、前記修復手段には、前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写させし、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復させるようにすることができる。
前記優先度計算手段、前記検索手段、および前記修復手段には、前記被写体領域の全領域が修復されるまで、同様の処理を繰り返させるようにすることができる。
前記合成手段は十分に切り出し画像の精度があれば省略することもできる。
本発明の一側面の画像処理方法は、入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、前記被写体領域の画像を前記入力画像より切り出す切出手段と、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段とを含む画像処理装置の画像処理方法であって、前記被写体領域検出手段における、前記入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出ステップと、前記切出手段における、前記被写体領域の画像を前記入力画像より切り出す切出ステップと、前記優先度計算手段における、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算ステップと、前記検索手段における、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索ステップと、前記修復手段における、前記検索ステップの処理により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復ステップと、前記合成手段における、前記切出ステップの処理で切り出された前記被写体領域の画像と前記修復ステップの処理で前記被写体領域が修復された画像とを合成する合成ステップとを含む。
本発明の一側面のプログラムは、入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、前記被写体領域の画像を前記入力画像より切り出す切出手段と、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段とを含む画像処理装置を制御するコンピュータに、前記被写体領域検出手段における、前記入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出ステップと、前記切出手段における、前記被写体領域の画像を前記入力画像より切り出す切出ステップと、前記優先度計算手段における、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算ステップと、前記検索手段における、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索ステップと、前記修復手段における、前記検索ステップの処理により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復ステップと、前記合成手段における、前記切出ステップの処理で切り出された前記被写体領域の画像と前記修復ステップの処理で前記被写体領域が修復された画像とを合成する合成ステップとを含む処理を実行させる。
本発明の一側面においては、入力画像より被写体の存在する領域が被写体領域として検出され、前記被写体領域の画像が前記入力画像より切り出され、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度が計算され、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域が、前記被写体領域の画像が切り出された状態の前記入力画像上で検索され、検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像が複写され、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域が複写された画像が貼り付けられて前記被写体領域が修復され、切り出された前記被写体領域の画像と前記被写体領域が修復された画像とが合成される。
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
本発明の一側面によれば、画像を編集する際、被写体を切り出すと共に、自由な位置に移動できるようにすることが可能となる。
本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。 図1の画像処理装置により実行される画像編集を説明する図である。 被写体検出部の構成例を示すブロック図である。 アルファマスク画像生成部の構成例を示すブロック図である。 図4のアルファマスク画像生成部の動作を説明する図である。 切出部の構成例を示すブロック図である。 マスク画像修復部の構成例を示すブロック図である。 画像合成部の構成例を示すブロック図である。 図1の画像処理装置による画像処理を説明するフローチャートである。 図3の被写体検出部による被写体領域検出処理を説明するフローチャートである。 アルファマスク画像生成処理を説明するフローチャートである。 アルファマスク画像生成処理を説明する図である。 アルファマスク画像生成処理を説明する図である。 アルファマスク画像生成処理を説明する図である。 アルファマスク画像生成処理を説明する図である。 切出処理を説明するフローチャートである。 切出処理を説明する図である。 切出処理を説明する図である。 マスク画像修復処理を説明するフローチャートである。 画像合成処理を説明するフローチャートである。 被写体検出部のその他の構成例を示すブロック図である。 図21の被写体検出部による被写体領域検出処理を説明するフローチャートである。 汎用のパーソナルコンピュータの構成例を説明する図である。
<第1の実施例>
[画像処理装置の構成例]
図1は、本発明を適用した画像処理装置のハードウェアの一実施の形態の構成例を示している。図1の画像処理装置11は、入力画像における被写体からなるオブジェクトの領域を切り出し、切り出した後の領域を修復した後、切り出したオブジェクト領域の画像を自由に移動させて編集するものである。
画像処理装置11は、被写体領域検出部21、被写体領域判定部22、補助入力情報付加部23、被写体領域設定部24、被写体切出部25、マスク画像修復部26、背景画像記憶部27、画像合成部28、被写体切出画像記憶部29、および出力部30を備えている。また、画像処理装置11は、表示処理部31、および表示部32を備えている。
被写体領域検出部21は、入力画像に含まれる被写体の領域を検出し、検出した被写体領域の情報、および入力画像を被写体領域判定部22、および表示処理部31に供給する。例えば、図1の画像P1で示されるような、犬の画像の場合、被写体領域検出部21は、被写体である犬の画像が存在する領域を検出する。画像P1においては、犬が存在する範囲がほぼ含む領域Z1が検出されている。しかしながら、画像P1においては、被写体である犬の画像の全範囲が太線で示される領域Z1に含まれていない場合や、全く被写体領域が検出できない場合もある。尚、被写体領域検出部21の構成については、図3を参照して、詳細を後述する。
被写体領域判定部22は、被写体領域検出部21の検出結果に基づいて、被写体領域が検出されたか否かを判定する。被写体領域判定部21は、被写体領域が検出されて、画像処理装置11のユーザから適切に検出されており、それ以上の補助入力が不要である場合、供給されてきた被写体検出領域の情報を被写体切出部25に供給する。また、被写体領域判定部22は、被写体領域が検出できない場合、または、被写体領域が検出できたが、ユーザにより補助入力が必要であると判定された場合、被写体領域、および入力画像の情報を補助入力情報付加部23に供給する。
補助入力情報付加部23は、マウスやキーボードなどからなる操作部34が操作内容に応じて出力される操作信号に応じて指示部33より供給されてくる指示信号に基づいて、被写体領域に付加すべき補助領域の入力を受け付けて、被写体領域に付加する。そして、補助入力情報付加部23は、被写体領域、および補助領域の情報を被写体領域設定部24、および表示処理部31に供給する。
被写体領域設定部24は、供給されてきた被写体領域に、補助領域を付加することにより被写体領域を編集して設定し、被写体切出部25に供給する。すなわち、図2の画像P1においては、上述したように被写体である犬の範囲が領域Z1により完全な状態で被写体領域として検出されていない。そこで、ユーザが操作部34を操作することにより被写体領域に、付加するように補助領域が付加されて、図2における画像P2で示されるような被写体領域が設定される。尚、図2の画像P2においては、実線の丸型で示された範囲が補助領域である。また、このほかの形態として、補助入力付加部23は被写体切り出し部の後段にするようにしてもよい。すなわち、被写体を切り出した後に、補助入力を付加して切り出し領域を補正する構成をとることもできる。
被写体切出部25は、アルファマスク画像生成部41、および切出部42を備えている。被写体切出部25は、入力画像より被写体領域設定部24、または被写体領域判定部22より供給されてきた被写体領域の画像を、被写体切出画像として切り出し、被写体切出画像を被写体切出画像記憶部29に記憶させる。また、被写体切出部25は、被写体切出画像が切り出された状態の入力画像をマスク画像としてマスク画像修復部26に供給する。すなわち、被写体切出部25は、画像P2で示される被写体切出領域の情報から、被写体領域の完全な境界を求めて、例えば、図2における画像P3で示されるように、犬のみの画像からなる被写体切出画像D1を切り出し、被写体切出画像記憶部29に記憶させる。また、被写体切出画像D1を除いた画像P3からなるマスク画像をマスク画像修復部26に供給する。尚、被写体切出部25のアルファマスク画像生成部41、および切出部42の詳細な構成例については、図4,図6を参照して詳細を後述する。
マスク画像修復部26は、被写体領域が切り出された領域をマスクとして含む入力画像をマスク画像として取得する。そして、マスク画像修復部26は、被写体領域であったマスク領域を、被写体領域との境界付近の入力画像の情報から修復することで、被写体のない背景画像を生成して、背景画像記憶部27に記憶させる。尚、マスク画像修復部26の構成例については、図7を参照して詳細を後述する。
画像合成部28は、背景画像記憶部27よりマスク領域が修復された背景画像を読み出すと共に、被写体切出画像記憶部29に記憶された被写体切出画像を読み出し、合成して画像を生成し、生成した合成画像を出力部30および表示処理部31に供給する。この際、画像合成部28は、指示部33からの指示内容に応じて、背景画像上の被写体切出画像の位置を様々に変更させて合成する。尚、画像合成部28の構成例については、図8を参照して詳細を後述する。
出力部30は、HDD(ハードディスクドライブ)や半導体メモリなどの記録媒体や、他の表示機器などからなる図示せぬ様々な外部装置に対して合成画像を出力する。
表示処理部31は、被写体領域検出部21、および補助入力情報付加部23より供給されてくる被写体領域、および補助領域の情報を入力画像と合成して、LCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)などからなる表示部32に表示させる。また、表示処理部31は、画像合成部28より供給されてくる合成画像を表示部32に表示させる。すなわち、ユーザは、一連の動作を表示部32を見ながら行うことができる。したがって、表示部32において、図2の画像P4における被写体切出画像D1の位置に表示されている場合、操作部34を操作することにより、例えば、被写体切出画像D2の位置に移動させると、図2の画像P4のように編集される。そして、決定操作がなされると、被写体である犬が入力画像においては、画像P3で示される被写体切出画像D1として表示されていた犬の被写体画像が画像P5の点線で示されるように消去されて、被写体切出画像D2のみとなった画像に編集される。
[被写体検出部の構成例]
次に、図3を参照して、被写体領域検出部21の構成例について説明する。
被写体領域検出部21は、輝度情報抽出部51、色情報抽出部52、エッジ情報抽出部53、被写体情報抽出部54、動き情報抽出部55、被写体マップ生成部56、および被写体領域特定部57から構成される。
輝度情報抽出部51乃至動き情報抽出部55は、供給された入力画像から所定の情報を抽出し、抽出した情報からなる抽出情報画像に基づいて、入力画像の各領域における被写体の領域らしさを示す情報マップを生成する。これらの情報マップに含まれる情報は、被写体の含まれる領域により多く含まれる特徴の特徴量を示す情報とされ、その情報が入力画像の各領域に対応させて並べられたものが情報マップとされる。つまり、情報マップは、入力画像の各領域における特徴量を示す情報であるといえる。
ここで、被写体とは、ユーザが入力画像を一瞥した場合に、ユーザが注目すると推定される入力画像上の物体、つまりユーザが目を向けると推定される物体をいう。したがって、被写体は必ずしも人に限られる訳ではない。また、輝度情報抽出部51乃至動き情報抽出部55では、情報マップとして、輝度情報マップ、色情報マップ、エッジ情報マップ、被写体情報マップ、および動き情報マップが生成される。
具体的には、輝度情報抽出部51は、供給された入力画像のY(輝度)成分からなる輝度画像を抽出情報画像として輝度情報マップを生成し、被写体マップ生成部56に供給する。色情報抽出部52は、供給された入力画像のCr成分からなるCr画像およびCb成分からなるCb画像を抽出情報画像として色情報マップを生成し、被写体マップ生成部56に供給する。
エッジ情報抽出部53は、供給された入力画像の各領域のエッジ強度からなるエッジ画像を抽出情報画像としてエッジ情報マップを生成し、被写体マップ生成部56に供給する。被写体情報抽出部54は、供給された入力画像の各領域における、被写体を認識できる情報、例えば、被写体が人である場合、人の顔に関する情報からなる画像を抽出情報画像として顔情報マップを生成し、被写体マップ生成部56に供給する。動き情報抽出部55は、供給された入力画像の各領域における、動きに関する情報からなる画像を抽出情報画像として動き情報マップを生成し、被写体マップ生成部56に供給する。
被写体マップ生成部56は、輝度情報抽出部51乃至動き情報抽出部55から供給された情報マップを足し合わせて被写体マップを生成し、被写体領域特定部57に供給する。この被写体マップは、入力画像における被写体の含まれる領域を特定するための情報である。
被写体領域特定部57は、被写体マップ生成部56からの被写体マップを用いて、供給された入力画像上の被写体の領域を特定し、その特定結果を出力する。
[アルファマスク画像生成部の構成例]
次に、図4を参照して被写体切出部25のアルファマスク画像生成部41の詳細な構成例について説明する。
アルファマスク画像生成部41は、入力画像に対して、抽出したい前景オブジェクト画像である被写体画像と背景画像とを簡単に指定することで、被写体画像の抽出に必要とされる、アルファマスク画像(前景オブジェクト画像の透明度の割合を示す割合画像)を生成するためのトライマップ画像を生成する。そして、アルファマスク画像生成部41は、そのトライマップ画像によりアルファマスク画像を生成する。尚、以降においては、被写体画像については、必要に応じて、前景画像、または前景オブジェクト画像とも称するものとし、被写体画像以外の画像について、背景画像とも称するものとする。
アルファマスク画像生成部41は、入力画像取得部71、2値マスク画像生成部72、拡張トライマップ画像生成部73、アルファマスク画像生成部74、トライマップ画像更新部75、収束判定部76、および出力部77から構成される。
入力画像取得部71は、抽出しようとする被写体画像である前景オブジェクト画像を含む入力画像Iとして取得する。そして、入力画像取得部71は、取得した入力画像Iを2値マスク画像生成部72、拡張トライマップ画像生成部73、およびアルファマスク画像生成部74に供給する。
2値マスク画像生成部72は、被写体検出判定部22、または被写体領域設定部より供給される被写体領域設定情報に基づいて、入力画像Iより2値マスク画像Bを生成し、拡張トライマップ画像生成部73に供給する。
より具体的には、図2の画像P2に対応する、図5の入力画像Iに対して、画像I’で示されるように、矩形状のフレームF(図2では、被写体領域設定部24により設定された領域Z2)などにより、抽出したい前景オブジェクト画像が選択されるものとする。
ここで、図5の入力画像I’においては、前景オブジェクト画像としてフレームF内の子犬の画像が選択され、フレームF外の範囲が背景画像として選択されている。このような入力画像I’に対して、グラブカット処理する場合、2値マスク画像生成部72は、前景オブジェクト画像および背景画像におけるサンプル色に基づいて、その統計情報(分布の偏り)によって前景オブジェクト画像を分離する。
すなわち、2値マスク画像生成部72は、入力画像I’におけるフレームF内のエッジ部分に前景オブジェクト画像と背景画像との境界をとるように分離する。この結果、前景オブジェクト画像と背景画像とに対応付けて、画素のラベルが1または0を取る場合、2値マスク画像生成部72は、例えば、ラベル1の前景オブジェクト画像の領域の画素値を白色とし、それ以外のラベル0の画素を黒色とする。この処理により、2値マスク画像生成部72は、図5の上段右部で示されるような2値マスク画像Bを生成する。
拡張トライマップ画像生成部73は、入力画像Iおよび2値マスク画像Bから、前景オブジェクト画像と背景画像との境界において、所定の幅の未確定領域を設定する。すなわち、拡張トライマップ画像生成部73は、前景オブジェクト画像を構成する領域と、背景画像を構成する領域との、それぞれ境界近傍に存在し、境界に沿って所定画素数だけの幅を形成する領域の画素を未確定画素に設定する。これにより、前景オブジェクト画像に属する画素(ラベル=1)、背景画像に属する画素(ラベル=0)、および未確定画素(ラベル=−1)の3種類の画素からなるトライマップ画像Tが生成される。
すなわち、拡張トライマップ画像生成部73は、例えば、図5の下段左部で示されるような、3値の画素からなるトライマップ画像Tを生成し、アルファマスク画像生成部74に供給する。図5のトライマップ画像Tにおいては、ラベル=1の前景オブジェクト画像の領域においては画素値が白色(最大画素値)に設定されている。また、ラベル=0の背景画像の領域においては画素値が黒色(最小画素値)に設定されている。さらに、ラベル=−1の未確定領域においては画素値が灰色(中間画素値)であるものとして設定されている。そして、拡張トライマップ画像生成部73は、このように生成したトライマップ画像Tを、アルファマスク画像生成部74、および収束判定部76に供給する。
アルファマスク画像生成部74は、最初の処理においては、拡張トライマップ画像生成部73よりトライマップ画像Tを取得する。また、アルファマスク画像生成部74は、最初の処理以降の処理においては、収束判定部76より、供給されてくるトライマップ画像Tを取得する。
また、アルファマスク画像生成部74は、トライマップ画像Tを、例えば、ロバストマッティング処理(Jue Wang Cohen, M.F.Optimized Color Sampling for Robust Matting.Computer Vision and Pattern Recognition, 2007.参照)し、図5の下段右部で示されるようなアルファマスク画像Aを生成し、トライマップ画像更新部75、および収束判定部76に供給する。このアルファマスク画像Aは、画素単位で前景オブジェクト画像の透明度α=1とし、背景画像の透明度α=0として、それらの中間の透明度αを0<α<1により表現した画像である。
特に、図5で示される前景オブジェクト画像(被写体画像)である子犬は、毛足の長い毛で覆われており、この毛の部分が背景領域との境界となっている。このため、前景オブジェクト画像と背景画像との境界近傍の画素においては、前景オブジェクト領域における子犬の毛と、背景画像とが、混合した色合いとなるため、境界近傍の画素の透明度αは、0<α<1の値となるものが多くなる。したがって、この透明度αは、入力画像の境界領域の画素における混合比のうち、前景オブジェクト領域の色の合成比率であるものと捕らえることができる。
トライマップ画像更新部75は、アルファマスク画像Aのうち、透明度αが、0<α<1となる画素と、その近傍の画素を、未確定領域の画素に設定することで、トライマップ画像T’を生成する。そして、トライマップ画像更新部75は、この新たに生成したトライマップ画像T’を、トライマップ画像Tの更新結果として収束判定部76に供給する。
収束判定部76は、トライマップ画像更新部75により更新される前のトライマップ画像Tと、トライマップ画像更新部75により更新されたトライマップ画像T’とを比較して同一であるか(または、略同一であるか)否かを判定する。より詳細には、収束判定部76は、更新前のトライマップ画像T、および更新後のトライマップ画像T’における前景オブジェクト画像(被写体の画像)、未確定画素、および背景画像の分布が一致するか否かを判定する。そして、収束判定部76は、それらが一致、または、略一致しなければ、その判定結果と共に、トライマップ画像T’をトライマップ画像Tとしてアルファマスク画像生成部74に供給する。また、それらが同一であると判定された場合、収束判定部76は、トライマップ画像T’をロバストマッティングすることで求められるアルファマスク画像Aと共に、トライマップ画像T’をトライマップ画像Tとして出力部77に供給する。
出力部77は、収束判定部76より供給されてきたトライマップ画像Tと、トライマップ画像T(T’)よりロバストマッティングなどにより求められたアルファマスク画像Aとを処理結果として出力する。
すなわち、入力画像Iの各画素は、2値マスク画像Bの値を乗じることにより、前景オブジェクト画像として子犬の画像を抽出することができる。しかしながら、このような手法により前景オブジェクト画像が抽出されると、前景オブジェクト画像を構成する子犬の外縁部分である毛の部分は、元々の背景画像における色にじみが含まれることになる。このため、例えば、抽出した前景オブジェクト画像は、他の画像と合成する際に、違和感が生じることになる。
そこで、画像処理装置1は、トライマップ画像Tからロバストマッティングなどによりアルファマスク画像Aを生成させ、生成されたアルファマスク画像Aからトライマップ画像T’を求める処理を繰り返す。そして、画像処理装置1は、トライマップ画像T,T’が同一、または略同一となり、トライマップ画像T,T’の変化が収束するまで、同様の処理を繰り返すことにより、適切なトライマップ画像を求め、対応する最適なアルファマスク画像を求める。
[切出部の構成例]
切出部42は、入力画像Iより、アルファマスク画像(被写体画像である前景オブジェクト画像の透明度の割合を示す割合画像)Aに基づいて、前景オブジェクト画像(被写体画像)Fを色滲みなく抽出できるようにするものである。アルファマスク画像Aは、アルファマスク画像生成部41により生成されたものである。
切出部42は、入力画像取得部81、アルファマスク画像取得部82、確定値マップ生成部83、画素重みマップ生成部84、推定前景色画像生成部85、ラプラシアン行列生成部86、エネルギー関数生成部87、前景色画像生成部88、およびマスク画像生成部89から構成される。
入力画像取得部81は、抽出しようとする被写体画像である前景オブジェクト画像を含む入力画像Iを取得し、確定値マップ生成部83、および推定前景色画像生成部85に供給する。
アルファマスク画像取得部82は、アルファマスク画像生成部41より供給される前景オブジェクト画像の画素単位の透明度αを示す値(以下、α値とも称する)からなるアルファマスク画像(前景オブジェクト画像の透明度の割合を示す画素からなる割合画像)Aを取得する。そして、アルファマスク画像取得部82は、取得したアルファマスク画像Aを確定値マップ生成部83、画素重みマップ生成部84、推定前景色画像生成部85、およびラプラシアン行列生成部86に供給する。尚、推定前景色画像生成部85の詳細な構成については、図2を参照して後述する。
確定値マップ生成部83は、アルファマスク画像A、および入力画像Iより被写体画像である前景オブジェクト画像、または背景画像として確定している第1の画素値の画素と、そのいずれにも属しない第2の画素値からなる画素とからなる確定値マップ画像Sを生成する。そして、確定値マップ生成部83は、生成した確定値マップ画像Sを画素重みマップ生成部84、および推定前景色画像生成部85に供給する。ここで、前景オブジェクト画像、または背景画像のいずれにも属していない画素は、前景オブジェクト画像における色と背景画像における色とが混合していると思われる画素である。また、確定値マップ画像Sにおける第1の画素値には、例えば、1が設定され、第2の画素値には、例えば、0が設定される。さらに、確定値マップ生成部83は、確定値マップ画像Sの確定画素については、前景オブジェクト画像に属する画素であるか、または、背景画像に属するものであるかを識別する情報を付加する。
画素重みマップ生成部84は、確定値マップ画像Sと、アルファマスク画像Aとに基づいて、画素重みマップ画像Dsを生成し、エネルギー関数生成部87に供給する。より詳細には、画素重みマップ生成部84は、確定値マップ画像Sのうち、未確定領域の画素に対応するアルファマスク画像Aの画素値、すなわち、透明度αを画素の重みとして設定し、画素重みマップ画像Dsを生成する。
推定前景色画像生成部85は、入力画像I、アルファマスク画像A、および確定値マップ画像Sより推定前景色画像F^を生成し、エネルギー関数生成部87に供給する。より詳細には、推定前景色画像生成部85は、確定値マップ画像Sにおける未確定領域の各画素に対応するアルファマスク画像Aの画素について、Sobelフィルタにより微分値を求める。そして、推定前景色画像生成部85は、各未確定画素から確定領域の境界の画素までの経路上に存在する未確定画素の微分値の積算値を距離としたとき、その距離が最小となる確定画素を、各未確定画素の画素値に設定する。これにより、未確定画素に対応する、上述した微分値の積算値を距離としたとき最短となる前景オブジェクト画像の画素位置の画素値からなる画像が、推定前景色画像F^として求められる。
ラプラシアン行列生成部86は、アルファマスク画像Aより、例えば、注目画素位置の周辺の画素の平均と分散から、局所的な領域の前景オブジェクト画像と背景画像の画素値の線形モデルを仮定し、周辺画素の寄与度を計算してラプラシアン行列Lを生成する。ラプラシアン行列Lは、行および列数がアルファマスク画像Aの全画素数に対応した、正定値対称疎行列である。
ラプラシアン行列Lの各成分は、例えば、隣接画素との重みが入っており、3画素×3画素の小領域では前景オブジェクト画像の色、および背景画像の色はほぼ一定でα値のみ変化する線形モデルを仮定するものとする。ラプラシアン行列Lの各成分は、中心ピクセルの周りの3画素×3画素の小領域の平均や共分散から計算されている。この成分により隣接画素と中心画素のα値がどの程度類似しているべきかが定義される。尚、ラプラシアン行列Lについての詳細は、例えば、A Closed Form Solution to Natural Image Matting A. Levin, D. Lischinski, Y. Weiss 2006 Conference on Computer Vision and Pattern Recognition (CVPR 2006), June 2006, pp. 61-68.を参照されたい。
エネルギー関数生成部87は、画素重みマップ画像Ds、ラプラシアン行列L、および推定前景色画像F^に基づいて、前景色画像FのRGBの色画像Fcを構成するベクトルxをパラメータとしたエネルギー関数Eを生成し、前景色画像生成部88に供給する。
前景色画像生成部88は、エネルギー関数Eが最小となるRGBの色画像Fcのベクトルxを求め、各色のベクトルxから前景色画像Fを求め、入力画像Iのうち、アルファマスク画像Aにより定義される前景オブジェクト画像として出力する。前景色画像Fは、最終的に抽出されるアルファマスク画像Aに基づいて、入力画像Iより抽出される前景オブジェクト画像そのものである。
マスク画像生成部89は、入力画像より前景オブジェクト画像である被写体画像を切り出して、マスク画像を生成し、マスク画像修復部26に供給する。
[マスク画像修復部の構成例]
次に、図7を参照して、マスク画像修復部26の構成例について説明する。
マスク画像修復部26は、入力画像記憶部101、マスク境界設定部102、マスク境界情報記憶部103、領域優先度計算部104、最大優先度領域選択部105、ブロックマッチング処理部106、修復部107、背景画像出力部108、マスク画像取得部109、およびマスク画像記憶部110を備えている。
入力画像記憶部101は、供給されてくる入力画像を記憶し、マスク境界設定部102、およびブロックマッチング処理部106に供給する。マスク画像取得部109は、被写体切出部25より供給されてくるマスク画像を取得し、マスク画像記憶部110に記憶させる。マスク境界設定部102は、マスク画像記憶部110に記憶されているマスク画像を読み出し、マスク領域の境界に存在する、入力画像の領域を設定し、設定したマスク境界の情報と共に領域優先度計算部104に供給する。
領域優先度計算部104は、入力画像におけるマスク画像との境界領域を、複数の所定領域に分割し、分割した所定領域のそれぞれについて優先度を計算し、最大優先度領域選択部105に供給する。尚、領域優先度計算部104は、例えば、エッジ領域の多いブロックを優先的に処理するようにしてもよい。尚、領域優先度計算部104における優先度の計算手法についての詳細は、"Object Removal by Exemplar-Based Inpainting", A. Criminisi, P. Perez, K. Toyama, CVPR 2003を参照されたい。
最大優先度領域選択部105は、所定領域毎に計算された優先度のうち、最大値となる所定領域を選択し、選択した領域の情報をブロックマッチング処理部106に供給する。
ブロックマッチング処理部106は、優先度が最大値となる所定領域の画像情報を用いて、マスク画像を照合し、優先度が最大値となる所定領域の画像と類似する領域をブロックマッチングにより検索する。そして、ブロックマッチング処理部106は、検索された最大優先度となる所定領域と最も類似する領域に隣接する領域であって、所定領域と隣接するマスク領域に該当する位置に隣接する隣接領域の情報を修正部97に供給する。
修復部107は、マスク画像記憶部110よりマスク画像を読み出し、最大優先度の所定領域であって、マスク領域に該当する位置に隣接する領域に、ブロックマッチング処理部106より供給されてくる隣接領域の情報を、貼り付けてマスク領域を修復する。また、修復部107は、修復したマスク領域の情報をマスク画像記憶部110に更新して記憶させる。そして、一連の処理が繰り返されて、マスク領域が全て修復できると、修復部107は、その旨を背景画像出力部108に通知し、マスク画像記憶部110に記憶されている、修復が完了しているマスク画像を背景画像として背景画像記憶部27に記憶させる。
[画像合成部の構成例]
次に、図8を参照して、画像合成部28の構成例について説明する。
画像合成部28は、被写体画像勾配計算部121、背景画像勾配計算部122、ポアソン方程式生成部123、ポアソン方程式演算部124、および合成処理部125を備えている。
被写体画像勾配計算部121は、被写体切出画像記憶部29に記憶されている被写体切出画像を読み出し、画素値、または輝度値の分布より被写体画像における画素値、または輝度値の勾配を求めポアソン方程式生成部123に供給する。
背景画像勾配計算部122は、背景画像記憶部27に記憶されている背景画像を読み出し、画素値、または輝度値の分布より背景画像における画素値、または輝度値の勾配を求め、ポアソン方程式生成部123に供給する。
ポアソン方程式生成部123は、被写体切出画像の勾配の演算結果と、背景画像の勾配の演算結果とを用いて、ポアソン方程式を生成し、生成したポアソン方程式をポアソン方程式演算部124に供給する。
ポアソン方程式演算部124は、ポアソン方程式生成部123より供給されてきたポアソン方程式を演算により解き、被写体切出画像および背景画像の合成による境界付近の分布を求め演算結果を合成処理部125に供給する。
合成処理部125は、ポアソン方程式演算部124による演算結果から、被写体切出画像、および背景画像を合成した画像を生成して、表示処理部31に供給し、表示部32により表示させる。
すなわち、画像合成部28は、被写体切出画像、および背景画像を、いわゆるポアソン画像合成処理により、合成する。
[画像編集処理について]
次に、図9のフローチャートを参照して、図1の画像処理装置11による画像編集処理について説明する。
ステップS11において、被写体領域検出部21は、被写体領域検出処理を実行することにより、入力画像より被写体の存在する領域を検出し、検出結果を被写体領域判定部22に供給すると共に、検出結果を表示処理部31に供給して、表示部32に表示させる。このとき、表示処理部31は、被写体領域検出結果と入力画像とをオーバーラップして、例えば、図2の画像P1で示されるような画像を表示部32に表示させる。尚、被写体検出処理については、図10のフローチャートを参照して、詳細を後述する。尚、被写体検出結果が求められればよいものであるので、被写体検出結果は、必ずしも表示されなくてもよい。
ステップS12において、被写体領域判定部22は、被写体領域検出部21より供給されてくる被写体領域検出処理による処理結果を取得し、処理結果から入力画像内における被写体の領域が検出されているか否かを判定する。被写体領域検出処理により被写体の存在する領域が検出されなかった場合、ステップS13において、被写体領域判定部22は、表示処理部31に対して被写体領域を補助する補助領域の入力をユーザに要求するように表示部32に表示する。さらに、被写体領域判定部22は、補助入力情報付加部23に対して、操作部34の操作内容に応じた指示部33からの指示内容に対応して、被写体領域に付加する補助領域の入力を受け付けるように指示する。尚、被写体領域が検出されていても、例えば、図2の画像P1で示されるように、被写体である犬の画像に対して被写体領域が不完全の場合、被写体領域が検出できていないとユーザが判断して、補助領域の情報を操作部34を操作して付加するようにしてもよい。
ステップS14において、補助入力情報付加部23は、操作部34の操作内容に応じた指示部33の指示信号に応じて被写体領域を補助する補助領域が入力されたか否かを判定する。ステップS14において、例えば、操作部34が操作されて、補助領域が入力され、入力の操作終了を示す情報が入力されない場合、ステップS13,S14の処理が繰り返されて補助領域の入力を要求する画像を表示部32に表示し続ける。そして、ステップS14において、図2の画像P2の丸印状に示されるように、操作部34の操作により被写体の犬の領域全体が被写体領域となるように補助領域が付加され、終了が指示された場合、被写体領域が指定されたものとみなし、処理は、ステップS15に進む。尚、このステップS13,S14の処理は、後述するステップS16の切出処理の後にしてもよい。すなわち、切出結果に対して補助入力を施す構成にするようにしてもよい。
ステップS15において、補助入力情報付加部23は、付加された補助領域の情報、および被写体検出結果を被写体領域設定部24に供給する。被写体領域設定部24は、被写体検出結果である被写体領域に補助領域を付加した状態で被写体領域を更新して、被写体切出部25に供給する。被写体切出部25は、アルファマスク画像生成部41を制御してアルファマスク画像生成処理を実行させ、アルファマスク画像を生成させる。
また、ステップS12において、被写体領域が検出できた場合、ステップS13,S14の処理がスキップされ、ステップS15において、被写体領域判定部22は、被写体領域の検出結果を被写体切出部25に供給する。そして、被写体切出部25は、被写体領域検出処理の処理結果となる被写体領域の情報よりアルファマスク画像生成部41を制御して、アルファマスク画像生成処理を実行させて、アルファマスク画像を生成させる。尚、アルファマスク画像生成処理は、図11のフローチャートを参照して、詳細を後述する。
ステップS16において、被写体切出部25は、切出部42を制御して、アルファマスク画像と入力画像とを用いた切出処理を実行させ、入力画像より被写体領域を切り出して被写体切出画像として被写体切出画像記憶部29に記憶させる。また、切出部42は、切出処理により入力画像より被写体切出画像が切り出された領域がマスク領域となるマスク画像をマスク画像修復部26に出力させる。尚、切出処理については、図16のフローチャートを参照して、詳細を後述する。
ステップS17において、マスク画像修復部26は、マスク画像修復処理を実行し、入力画像より被写体切出画像が切り出された領域であるマスク領域を入力画像に基づいて修復し、背景画像を生成する。そして、マスク画像修復部26は、生成した背景画像を背景画像記憶部27に記憶する。尚、マスク画像修復処理は、図19のフローチャートを参照して、詳細を後述する。
ステップS18において、画像合成部28は、被写体切出画像記憶部29の被写体切出画像と、背景画像記憶部27の背景画像とを用いて、画像合成処理を実行し、被写体切出画像と背景画像とを合成し、表示処理部31に出力する。また、画像合成部28は、操作部34の操作内容に応じて、合成画像を出力部30を介して外部装置に出力する。尚、画像合成処理については、図20のフローチャートを参照して、詳細を後述する。
ステップS19において、表示処理部31は、画像合成部28より供給されてくる合成画像を表示部32に表示する。
ステップS20において、画像合成部28は、操作部34が操作されて、画像編集処理の終了が指示されたか否かを判定し、例えば、終了が指示されていない場合、処理は、ステップS21に進む。
ステップS21において、画像合成部28は、操作部34が操作されて、被写体切出画像が操作されて、被写体切出画像の画像上の位置が再度指定されて移動したか否かを判定する。例えば、図2の画像P4で示されるように、犬である被写体切出画像D1から、操作部34の操作により被写体切出画像D2に移動された場合、移動があったものとみなし処理は、ステップS18に戻り、移動された位置に対応して画像合成処理が実行される。そして、ステップS19の処理により、例えば、図2における画像P5で示されるように、被写体切出画像D2に移動された状態で合成された画像が生成されて表示部32に表示される。
一方、ステップS20において、処理の終了が指示された場合、処理が終了する。
以上の処理により、入力画像における被写体領域が設定されると、被写体が被写体切出画像として自由に画像上で移動することが可能となる。また、被写体領域画像が移動されることにより入力画像に生じるマスク領域が修復されるので、切り出した被写体切出画像を自由な位置で合成することが可能となる。
[被写体領域検出処理について]
次に、図10のフローチャートを参照して、被写体検出処理について説明する。
ステップS31において、輝度情報抽出部51は、輝度情報抽出処理を行って、供給された入力画像に基づいて輝度情報マップを生成し、被写体マップ生成部56に供給する。そして、ステップS32において、色情報抽出部52は、色情報抽出処理を行って、供給された入力画像に基づいて色情報マップを生成し、被写体マップ生成部56に供給する。
ステップS33において、エッジ情報抽出部53は、エッジ情報抽出処理を行って、供給された入力画像に基づいてエッジ情報マップを生成し、被写体マップ生成部56に供給する。また、ステップS34において、被写体情報抽出部54は、被写体情報抽出処理を行って、供給された入力画像に基づいて被写体情報マップを生成し、被写体マップ生成部56に供給する。さらに、ステップS35において、動き情報抽出部55は、動き情報抽出処理を行って、供給された入力画像に基づいて動き情報マップを生成し、被写体マップ生成部56に供給する。
なお、より詳細には、動き情報抽出処理は、時間的に連続して撮像された入力画像が、動き情報抽出部55に供給されなかった場合には行われない。
ステップS36において、被写体マップ生成部56は、輝度情報抽出部51乃至動き情報抽出部55から供給された輝度情報マップ乃至動き情報マップを重み付き加算して被写体マップを生成し、被写体領域特定部57に供給する。
例えば、被写体マップ生成部56は、情報マップごとに予め求められている重みである、情報重みWbを用いて各情報マップを線形結合する。つまり、線形結合により得られる情報マップの所定の画素を注目画素とすると、注目画素の画素値は、注目画素と同じ位置にある各情報マップの画素の画素値に、情報マップごとの情報重みWbを乗算して得られた値の総和とされる。
次に、被写体マップ生成部56は、線形結合により得られた情報マップ(以下、線形結合情報マップとも称する)の各画素の画素値に、シグモイド関数による演算処理を施す。
より詳細には、被写体マップ生成部56は、シグモイド関数をテーブル化して得られた変換テーブルを予め保持している。この変換テーブルは、入力としての所定の値と、その値をシグモイド関数に代入して得られる出力値とからなり、変換テーブルにより線形結合情報マップを変換すれば、シグモイド関数により線形結合情報マップを変換した場合と同様の情報マップが得られる。
例えば、シグモイド関数は、以下の式(1)に示す双曲線余弦関数(ハイパボリックタンジェント関数)とされる。
f(x)=a×tanh(x×b)
・・・(1)
なお、式(1)において、aおよびbは、予め定められた定数を示しており、xは、これから変換しようとする線形結合情報マップの画素の画素値とされる。
このような双曲線余弦関数がシグモイド関数とされる場合、変換テーブルは、入力値xの範囲を−2から2までの範囲に制限し、入力値xを1/128単位で離散化して得られたテーブルとされる。このような変換テーブルでは、入力値xが−2より小さい場合には、その入力値xが−2であるとして扱われ、入力値xが2より大きい場合には、その入力値xが2であるとして扱われる。さらに、変換テーブルでは、入力値xが大きくなるほど、出力値f(x)が大きくなる。
被写体マップ生成部56は、線形結合情報マップの画素の画素値を、その画素値x(入力値x)から、画素値xに対応する出力値f(x)に変更することにより、線形結合情報マップを変換する。すなわち、被写体マップ生成部56は、変換テーブルを用いて変換された線形結合情報マップを、シグモイド関数による演算処理が施された線形結合情報マップとする。
このように、変換テーブルを用いて線形結合情報マップを変換することにより、シグモイド関数自体を用いて変換する場合と比べて、より簡単かつ迅速に線形結合情報マップの変換を行うことができる。
さらに、被写体マップ生成部56は、変換テーブルで変換された線形結合情報マップの各画素の画素値に、画素ごとに予め求められた重みである、被写体重みWcを乗算し、被写体マップとする。
すなわち、これから求めようとする被写体マップ上の注目する画素を注目画素とすると、変換された線形結合情報マップの注目画素と同じ位置の画素の画素値に、被写体重みWcが乗算された値が、注目画素の画素値とされる。
なお、より詳細には、被写体マップの生成に用いられる色情報マップとして、Crの色情報マップと、Cbの色情報マップとが用いられ、エッジ情報マップとして、0度、45度、90度、135度のそれぞれの方向のエッジ情報マップが用いられる。また、情報重みWbおよび被写体重みWcは、予め学習により求められている。
このようにして被写体マップが生成されると、被写体マップは、被写体マップ生成部56から被写体領域特定部57に供給され、処理はステップS37に進む。
ステップS37において、被写体領域特定部57は、被写体マップ生成部56から供給された被写体マップを用いて、供給された入力画像上の被写体の領域を特定する。
例えば、被写体マップの画素の画素値が大きいほど、その画素と同じ位置の入力画像の画素の領域が、被写体の領域らしいとされるものとする。この場合、被写体領域特定部57は、被写体マップ上において、予め定められた閾値以上の画素値を有する、互いに隣接する画素からなり、所定の面積(画素数)以上の領域を検出し、検出された領域に対応する入力画像上の領域が被写体の含まれる領域であるとする。
被写体領域特定部57は、入力画像上の被写体の含まれる領域を検出すると、その検出結果を後段に出力して、被写体領域特定処理は終了する。
なお、被写体領域特定部57が、被写体の領域の検出結果を用いて、入力画像に所定の処理を施して出力するようにしてもよい。
以上のようにして、入力画像から被写体マップが生成され、被写体マップが用いられて、入力画像における被写体の領域が特定される。
[アルファマスク画像生成処理について]
次に、図11のフローチャートを参照して、アルファマスク画像生成処理について説明する。
ステップS51において、入力画像取得部71は、入力画像Iが供給されてきたか否かを判定し、入力画像が供給されてくるまで、同様の処理を繰り返し、入力画像Iが入力されてきた場合、処理は、ステップS52に進む。
ステップS52において、入力画像取得部71は、入力された入力画像Iを2値マスク画像生成部72、拡張トライマップ画像生成部73、および、アルファマスク画像生成部74に供給する。2値マスク画像生成部72は、被写体領域判定部22、または被写体領域設定部24より供給される被写体領域設定情報に基づいて、入力された入力画像Iを、被写体画像である前景オブジェクト画像を分離することで、2値マスク画像Bを生成し、拡張トライマップ画像生成部73に供給する。
すなわち、例えば、被写体画像である前景オブジェクト画像の領域として、ラベル=1が設定される。尚、被写体画像である前景オブジェクト画像と背景画像との境界に未確定領域は設定されていない。
ステップS53において、拡張トライマップ画像生成部73は、前景オブジェクト画像と背景画像との境界近傍に、所定の幅の未確定領域を設定する。すなわち、例えば、未確定領域を設定する幅をwとする場合(w画素分の幅とする場合)、未確定領域の画素にはラベルとして「−1」が付されるものとする。このとき、拡張トライマップ画像生成部73は、未確定領域を、2値マスク画像Bのすべての画素について水平方向の処理と垂直方向の処理との2段階の処理に分けて求める。
すなわち、第1段階において、拡張トライマップ画像生成部73は、2値マスク画像Bを入力として、処理対象画素を中心として左w画素、右w画素の範囲について、範囲内に中心の処理対象画素と異なるラベルを持つ画素が存在するか否かを確認する。そして、例えば、処理対象画素のラベルと異なるラベルを持つ画素が存在する場合、拡張トライマップ画像生成部73は、処理対象画素は未確定領域に含まれるとみなし、ラベルとして「−1」を付す。
一方、処理対象画素を中心として左w画素、右w画素の範囲について、範囲内に中心の処理対象画素と異なるラベルを持つ画素が存在しない場合、拡張トライマップ画像生成部73は、処理対象画素のラベルをそのまま付与する。この処理により、拡張トライマップ画像生成部73は、水平方向の処理により求められた中間的なトライマップ画像T1を保持する。
さらに、第2段階において、拡張トライマップ画像生成部73は、中間的なトライマップ画像T1を入力として、処理対象画素を中心として上w画素、下w画素の範囲について水平方向の処理と同様に、範囲内に処理対象画素と異なるラベルを持つ画素が存在するか否かを確認する。そして、例えば、処理対象画素のラベルと異なるラベルを持つ画素が存在する場合、拡張トライマップ画像生成部73は、処理対象画素は未確定領域に含まれるとみなし、ラベルとして「−1」を付し、トライマップ画像T1を更新し、トライマップ画像Tを生成する。
このような処理により、拡張トライマップ画像生成部73は、2値マスク画像Bの各画素について水平方向および垂直方向に所定の幅w×2の範囲で、同一のラベルとならない画素に未確定画素のラベルを付してトライマップ画像Tを生成する。結果として、被写体画像である前景オブジェクト画像の領域と背景画像の領域との境界の近傍の領域に、所定の未確定領域が設定されたトライマップ画像Tが生成される。
拡張トライマップ画像生成部73は、このようなトライマップ画像Tを、アルファマスク画像生成部74、トライマップ画像更新部75、および収束判定部76に供給する。
ステップS54において、アルファマスク画像生成部74は、トライマップ画像Tに基づいて、例えば、ロバストマッティング(Jue Wang Cohen, M.F.Optimized Color Sampling for Robust Matting.Computer Vision and Pattern Recognition, 2007.参照)により、アルファマスク画像Aを生成し、トライマップ画像更新部75に供給する。
ステップS55において、トライマップ画像更新部75は、トライマップ画像更新処理を実行し、トライマップ画像Tをトライマップ画像T’に更新し、収束判定部76に供給する。
ここで、トライマップ画像更新処理について説明する。
まず、第1段階として、各画素についてエッジフローベクトルが求められる。
すなわち、アルファマスク画像Aが輝度画像に変換され、水平Sobelフィルタ、および垂直Sobelフィルタにより、水平方向、および垂直方向のエッジが検出される。これにより、画像の水平方向に対して、エッジに垂直なエッジグラディエントフロー(微分ベクトルの水平方向成分)を求められ、画像の垂直方向に対して、エッジに水平なエッジグラディエントフロー(微分ベクトルの垂直方向成分)が求められる。
次に、エッジグラディエントフローベクトルが90度時計回りに回転されて、エッジタンジェントフローベクトルが生成される。このエッジタンジェントフローベクトルは、正規化ベクトル(大きさが1のベクトル)の水平成分および垂直成分、並びに、ベクトルの大きさの情報から構成される。尚、以降においては、このエッジタンジェントフローベクトルは、単にエッジフローベクトルと称するものとする。
そして、エッジフローベクトルが非線形に平滑化され、各ベクトルの大きさを変化させることなく、顕著なエッジについては保持しつつ、弱いエッジが周辺の顕著なエッジに従うように処理され、滑らかにベクトル方向が変化するようなエッジフローベクトルとされる。
すなわち、各画素(px,py)について、正規化ベクトルの要素(tx,ty)、および、そのベクトルの長さ(mag)の情報からなるエッジフローベクトルが求められる。
さらに、エッジフローベクトルが求められると、楕円形状サンプリングのためのサイズ配列svecが設定される。
楕円形状のサンプリングは、例えば、図12のトライマップ画像T上の画素PP(px,py)を中心とした、長半径aを3×w、長半径bをwとした、長軸が画素位置のエッジフローベクトル(tx,ty)に沿うように配置される楕円形状内の画素に適用される。そして、短軸の位置に対応付けて、長軸方向に設定されるサンプル点の画素数が事前に計算されることにより、サイズ配列svecが設定される。サイズは、以下の式(2)によって計算される。尚、長軸および短軸の長さは、これ以外の長さで自由に設定することができる。
x=√((1−y2/b2)×a2)
・・・(2)
より具体的には、サイズ配列svecに設定されるサンプル点は、例えば、図13で示されるように、整数座標位置に取ることを想定している。このため、第1象限に限ってみれば、例えば、短軸上のb=0に対応するindex=0においては、白丸で示されるサンプル点が8個存在するので、サイズが8となる。また、同様に、短軸上のb=1に対応するindex=1においては、サンプル点が7個存在するので、サイズが7となる。さらに、同様に、短軸上のb=2に対応するindex=2においては、サンプル点が5個存在するので、サイズが5となる。そして、短軸上のb=3に対応するindex=3においては、サンプル点が0個であるので、サイズが0となる。
そこで、この第1象限におけるindexとサイズの関係は、まとめて、例えば、図14で示されるようなサイズ配列svecとして設定される。
そして、アルファマスク画像A、およびトライマップ画像Tのうち、未処理の画素が存在する場合、未処理の画素のいずれかが処理対象の画素(px,py)に設定される。
さらに、処理対象となったアルファマスク画像Aの画素における透明度αが、最小値Th_minよりも大きく、かつ、最大値Th_maxよりも小さく、すなわち、前景オブジェクト画像にも、背景画像にも属さない画素である場合、ラベル更新処理が実行される。このラベル更新処理により、処理対象画素により特定されるトライマップ画像Tにおける楕円形状の範囲の画素について、ラベルが未確定画素に更新される。
ところで、このラベル更新処理とは以下のような処理である。
すなわち、まず、短軸方向のカウンタtが短軸の大きさwに負符号が付された値に設定される(t=−w)。
次に、カウンタtが短軸の大きさであるw以下であるか否かが判定され、例えば、w以下である場合、トライマップ画像Tにおける処理対象画素(px,py)に対して未確定画素に設定すべき楕円形状範囲内の画素位置(bx,by)が以下の式(3)が計算されることにより決定される。
bx=px+tx×t
by=py+ty×t
・・・(3)
ここで、bx,byは、処理対象画素(px,py)により設定される、例えば、図15における楕円形状の範囲内におけるt軸上のサンプル点(黒丸)の座標(bx,by)である。また、tx,tyは、処理対象画素(px,py)におけるエッジフローベクトルのsx方向成分、およびsy方向成分である。また、tは、カウンタtの値である。
すなわち、カウンタtの値に伴って、サンプル点は、図15におけるサンプル点Sp7,Sp5,Sp4・・・,Sp1を順次取ることになる。尚、図15においては、処理対象画素(px,py)は、サンプル点Sp4の黒丸が属する、トライマスク画像T上の正方形状のマス目として示されている画素TPである。
サイズ配列svecのうち、indexがカウンタtの絶対値に対応して設定されているサイズ(=svec[abs(t)])に負符号が付されて、この値がカウンタsに設定される。すなわち、長軸方向に沿って設定されているサイズのうち、カウンタtで設定されるindexの値に対応するサイズにマイナスが付された値がカウンタsの値として設定される。
さらに、カウンタs,tは、それぞれ未確定画素に設定すべき画素の位置に対応するサンプル点のs軸、およびt軸(フローベクトルの(tx,ty)に対応する軸)の座標を示すものである。このため、カウンタsが、図15で示されるように、今現在のカウンタtに対応する位置でt軸と直交する(s軸と平行な)直線上に設定されたサンプル点のs軸の座標のうち、楕円形状の範囲内の最大値以下であるか否かが判定される。
例えば、カウンタtが0であるような場合、図13で示されるように、サイズは、index=0に対応するsvec[0]で示されるサイズは8となる。したがって、図15においては、s軸上の最も右上のサンプル点までの範囲であるか、すなわち、楕円形状で設定される範囲内のs軸の座標が最も大きなサンプル点である(s,t)=(8,0)より、s軸方向に対して左側の座標位置であるか否かが判定される。
一方、カウンタsがサイズ配列svec[abs(t)]よりも小さい場合、楕円形状の範囲内の処理対象位置(sx,sy)が、例えば、以下の式(4)が演算されることにより設定される。
sx=round(bx+tx×s)
sy=round(by+ty×s)
・・・(4)
ここで、round(X)は、Xの小数点以下を切り捨てることを示しており、処理対象位置(sx,sy)は、図15におけるs軸に沿って設定されるサンプル点(白丸)を含む、マス目で示される画素の座標である。すなわち、図15で示されるように、st空間内におけるサンプル点に対応する、トライマップ画像T上のsx,sy空間内の画素座標が決定される。
そして、サンプル点(s,t)に対応する座標(sx,sy)の画素位置に対応するトライマップ画像Tの画素におけるラベルが未確定画素を示す「−1」に設定される。
さらに、カウンタsが1インクリメントされて、カウンタsがサイズ配列svec[abs(t)]以下であると判定されるまで、更新が繰り返される。
そして、カウンタsがサイズ配列svec[abs(t)]以下ではないと判定された場合、すなわち、サンプル点として設定された楕円形状の範囲を超えたと判定された場合、カウンタtが1インクリメントされ、カウンタtがw以下ではないと判定されるまで、更新が繰り返される。
以上の処理をまとめると、図15で示されるように、例えば、トライマップ画像T上の処理対象画素が、楕円形状範囲内のサンプル点Sp4に対応する画素TPである場合、楕円形状の範囲が処理対象の範囲に設定される。そして、短軸方向の座標を管理するカウンタtによりt軸上のサンプル点が、サンプル点Sp7,Sp6,・・・Sp1の順序で、順に設定される。さらに、t軸上の位置に対応するs軸上のサンプル点がs軸上で左から右に向かって徐々に設定され、設定されたサンプル点の属するトライマップ画像T上の画素(図15における色が付されたマス目で示される画素)のラベルが順に未確定画素を示す「−1」に更新される。
結果として、トライマップ画像T上の処理対象画素に対して、その処理対象画素を中心とした、処理対象画素のエッジフローベクトル方向に対して長軸をとる所定の大きさの楕円形状の範囲内に存在する画素が未確定画素に設定される。このため、トライマップ画像T上で前景オブジェクト画像にも背景画像にも明らかに属さない画素について、エッジフローベクトルに対応して重み付けされた近傍の範囲の画素が未確定画素として設定させることが可能となる。
ここで、トライマップ画像更新処理の説明に戻る。
アルファマスク画像Aにおける処理対象画素の透明度αが、最小値Th_minよりも大きくないか、または、最大値Th_maxよりも小さくない場合、ラベル更新処理はスキップされる。すなわち、アルファマスク画像上の画素が、前景オブジェクト画像の領域に属する画素であるか、または、背景画像に属する画素である場合、ラベル更新処理はスキップされる。
この処理により、アルファマスク画像Aの画素のうち、被写体画像である前景オブジェクト画像の領域に属する画素でも、背景画像に属する画素でもない画素だけが、未確定画素としてラベルが設定される。
すなわち、アルファマスク画像Aにおける、前景オブジェクト画像にも、背景画像にも属さない画素に対応するトライマップ画像T上の画素は、その処理対象画素のエッジフローベクトルで設定される楕円形状の範囲が未確定画素のラベルに更新されることになる。
ここで、図11のフローチャートの説明に戻る。
ステップS56において、収束判定部76は、トライマップ画像更新部75により更新される前のトライマップ画像Tと、トライマップ画像更新部75により更新されたトライマップ画像T’とを比較し、同一であるか、または、略同一であるかを判定する。そして、例えば、同一でも、また略同一でもないと判定された場合、処理は、ステップS57に進む。
ステップS57において、収束判定部76は、ステップS54乃至S57の処理が指定回数に達したか否かを判定し、指定回数に達していないと判定した場合、処理は、ステップS58に進む。
ステップS58において、収束判定部76は、更新後のトライマップ画像T’を、直前のトライマップ画像Tとして記憶すると共に、トライマップ画像Tをアルファマスク画像生成部74に供給する。
ステップS59において、アルファマスク画像生成部74は、収束判定部76より供給されてきたトライマップ画像Tをロバストマッティング処理することにより、新たなアルファマスク画像Aを生成し、トライマップ画像更新部75に供給する。そして、処理は、ステップS55に戻る。
すなわち、トライマップ画像更新部75により更新される前のトライマップ画像Tと、更新されたトライマップ画像T’とが同一であるか、若しくは、略同一の状態となるか、または、所定回数まで、ステップS55乃至S59の処理が繰り返される。このとき、初回以降の処理では、アルファマスク画像生成部74は、拡張トライマップ画像生成部73で生成されたトライマップ画像Tではなく、直前に更新されたトライマップ画像T’に置き換えられたトライマップ画像Tよりアルファマスク画像Aを生成する。
そして、ステップS55乃至S59の処理が繰り返された後、ステップS56において、更新前のトライマップ画像Tと、更新後のトライマップ画像T’とが同一であるか、若しくは、略同一であるとみなされた場合、処理は、ステップS60に進む。または、同様に、ステップS55乃至S59の処理が繰り返された後、ステップS57において、ステップS55乃至S59の処理が所定回数に達したと判定された場合、処理は、ステップS60に進む。
ステップS60において、収束判定部76は、トライマップ画像T’と同時に送信されてきているアルファマスク画像Aを出力部77に供給する。出力部77は、送信されてきたアルファマスク画像Aを出力する。
以上の処理により、アルファマスク画像Aにおける画素単位の透明度αに基づいて、前景オブジェクト画像、または背景画像のいずれにも属さない、楕円形状で設定される所定の範囲の画素について、トライマップ画像で未確定画素に設定する処理が繰り返される。
そして、この処理が繰り返されることにより、例えば、初期に設定される楕円形状サンプリングで設定される楕円形状の範囲が小さい場合、トライマップ画像更新処理が繰り返されるに従って、一般に、未確定画素の設定される範囲が大きくなっていく。
しかしながら、上述したステップS55乃至S59の処理が繰り返されるに従って、灰色で示される未確定画素が設定された領域が大きくなり、所定回数(例えば、20回程度)繰り返すことにより、トライマップ画像Tを更新するアルファマスク画像Aは、アルファマスク画像Aに基づいて、トライマップ画像Tを更新しても略変化がなくなる。このように、トライマップ画像が更新前後で変化しない状態になると、アルファマスク画像Aにおける前景オブジェクト画像でも背景画像でもない透明度αが最小値と最大値との中間の値となっている範囲、すなわち、トライマスク画像Tにおける未確定画素の設定範囲が適切であるものとみなすことができる。
そこで、このようにトライマスク画像Tを設定し、トライマスク画像Tからロバストマッティングなどによりアルファマスク画像Aを生成して、このアルファマスク画像Aと、エッジフローベクトルに基づいてトライマスク画像T’に更新する処理を繰り返し、最適な未確定領域を設定することが可能となる。
[切出処理について]
次に、図16のフローチャートを参照して、切出処理について説明する。
ステップS91において、入力画像取得部81およびアルファマスク画像取得部82は、それぞれ入力画像I、およびアルファマスク画像Aが供給されてきたか否かを判定し、入力画像I、およびアルファマスク画像Aが供給されてくるまで、同様の処理を繰り返す。
ステップS92において、入力画像取得部81は、入力された入力画像Iを確定値マップ生成部83、および推定前景色画像生成部85に供給する。また、アルファマスク画像取得部82は、入力されたアルファマスク画像Aを確定値マップ生成部83、画素重みマップ生成部84、推定前景色画像生成部85、およびラプラシアン行列生成部86に供給する。
さらに、確定値マップ生成部83は、アルファマスク画像Aより前景オブジェクト画像、または背景画像として確定している所定の第1の画素値の画素と、いずれにも属しない所定の第2の画素値からなる画素とからなる確定値マップ画像Sを生成する。
より詳細には、確定値マップ生成部83は、透明度αが、α=1またはα=0に設定された画素については、前景オブジェクト画像の色が確定した確定画素として、例えば、画素値を1に設定し、それ以外の未確定画素を0に設定し、確定値マップ画像Sを生成する。また、確定値マップ生成部83は、確定画素として設定された画素のうち、透明度αがα>0.5ならば前景確定画素(被写体画像に属する画素)、α<0.5なら背景確定画素(被写体画像以外に属する画素)として設定する。
また確定画素は、α=1またはα=0に限るものに限らず、例えば、適当な敷居値を設定して定義しても良く、例えば、α>0.98かつα<0.02としてもよい。また、未確定画素からなる未確定領域は、後段の処理の精度を向上させるため、例えば、1画素乃至数画素程度、確定領域に対して拡張するようにしてもよい。このような処理により、例えば、入力画像Iがアップサンプリングされた画像などであったために、確定画素と未確定画素が補間された色として計算されても色滲みのない前景オブジェクト画像の色を精度よく計算することが可能となる。
ステップS93において、画素重みマップ生成部84は、確定値マップ画像Sと、アルファマスク画像Aとに基づいて、画素重みマップ画像Dsを生成し、エネルギー関数生成部87に供給する。より詳細には、画素重みマップ生成部84は、確定値マップ画像Sのうち、未確定領域の画素に対応するアルファマスク画像Aの画素値、すなわち、透明度αを画素の重みとして設定し、画素重みマップ画像Dsを生成する。この画素重みマップ画像Dsの各画素に対応する値の調整により、後述するエネルギー関数Eの特性が変化する。例えば、画素重みマップ画像Dsの各画素に対応する値が大きいほど推定前景色画像に近い前景色画像が得られ易くエネルギー関数Eが設定される。逆に、画素重みマップ画像Dsの各画素に対応する値が小さいほど、隣接する前景オブジェクト画像の画素値から補完される値に近くなり、滑らかな連続性を持つ前景オブジェクト画像の画素値が得られる。
尚、ここでは、画素重みマップ画像Dsの各画素に対応する重みは、各画素の透明度α(0≦α≦1)を用いるものとしているが、重みとして設定される値は、他の値であっても良いものである。
ステップS94において、推定前景色画像生成部85は、推定前景色画像処理生成処理を実行し、入力画像I、アルファマスク画像A、および確定値マップ画像Sより推定前景色画像F^を生成し、エネルギー関数生成部87に供給する。
ここで、推定前景色画像処理生成処理について説明する。
アルファマスク画像Aの各画素におけるα値をSobelフィルタにより微分処理し、微分値Δαからなる微分画像A’を生成する。
次に、微分画像A’に基づき、確定値マップ画像Sの未確定領域の各画素について、確定領域との境界上の前景オブジェクト画像の全確定画素に至る全経路上の画素の微分値Δαを積算する。そして、各画素について、この微分値Δαの積算値が最も小さな経路が、確定画素までの最短経路とみなされ、その経路を介して到達している確定画素の画素位置が読み出される。
すなわち、図17で示されるように、未確定領域の画素Pdから境界上の複数の確定画素Puまでの全経路PATH上の画素の微分値Δαが積算され、以下の式(5)で示される演算により最小値をとる確定画素Puが探索される。
Figure 2011176748
・・・(5)
ここで、d(Pd,Pu)は、未確定領域の画素Pdから確定領域との境界上に存在する確定画素Puまでの経路PATH上に存在する全ての画素の微分値Δαの絶対値の積算値のうち、積算値が最小となる確定画素Puのものであることを示している。この経路毎の、微分値Δαの積算値で定義される距離は、一般にGeodesic Distanceと呼ばれる測地距離である。また、各経路PATHは、8近傍隣接関係の隣接画素間をつなぐノードとして順次結合することで設定されるものとする。すなわち、画素TPが次の経路として設定可能な隣接画素は、左方向、右方向、上方向、下方向、右下方向、右上方向、左上方向、左下方向の画素P1乃至P8までの8方向となる。
尚、図17においては、領域Z11が未確定画素からなる未確定領域であり、領域Z12,Z13は、いずれも前景オブジェクト画像の確定画素からなる確定領域である。また、境界Bは、未画定領域と確定領域との境界であり、白色の画素SFP1乃至SFP8、および、黒色の画素Pdは、境界B上の確定画素を示している。
また、最短経路として求められた最も近傍の確定画素までの距離(Geodesic
Distance)を画素値として設定した距離マップ画像Mは、例えば、確定画素については黒色が設定され、距離に応じて明るい色が設定されており、最も遠い画素については、白色に設定されている。
さらに、未確定画素のそれぞれについて、最短経路として探索された画素位置の情報が対応付けられて最近傍前景画素マップ画像Nが生成される。
次に、最近傍前景画素マップ画像Nに基づき、未確定画素の画素毎に設定された画素位置の入力画像Iにおける確定画素の画素値が読み出され、未確定画素の画素値として設定されることで、推定前景色画像F^が生成される。すなわち、例えば、図17で示されるように、未確定画素Puの画素値が、最短経路として探索された、最近傍前景画素である画素Pdの画素位置に対応する入力画像Iの画素値に設定される。
尚、この際、最近傍前景画素マップ画像Nに設定された最短経路として選択される画素は、必ずしも適切な画素でない恐れがある。そこで、最短経路として選択された画素周辺であって境界上の複数の確定画素に所定の重みを付した平均値が、未確定画素の画素値とされるようにしても良い。
すなわち、図17で示されるように、画素Puに対応する未確定画素について、最短経路として設定された画素Pdと、その近傍であって、境界上の確定画素SFP1乃至SFP8との平均値を求めて、未確定画素Puの画素値として設定するようにしてもよい。
さらに、この画素Puの近傍の画素については、例えば、Jue Wang Cohen, M.F. Optimized Color Sampling for Robust Matting.Computer Vision and Pattern Recognition, 2007.を参照されたい。
以上の処理により、未確定画素について、微分値の積算値が最小となる経路により最短で到達する前景オブジェクト画像の画素に置き換えることにより、前景オブジェクト画像における自然な色を再現することが可能となる。このため、前景オブジェクト画像と背景画像との境界近傍において、前景オブジェクト画像における背景画像の色の滲みを抑制することが可能となる。
ここで、図16のフローチャートの説明に戻る。
ステップS95において、ラプラシアン行列生成部86は、アルファマスク画像Aよりラプラシアン行列Lを生成し、エネルギー関数生成部87に供給する。より詳細には、ラプラシアン行列生成部86は、行数、列数が同じ正方行列で、画素間の関係を示すグラフ構造を、全画素数(ノード数)×全画素数の正方行列からなるラプラシアン行列を生成する。より詳細には、ラプラシアン行列生成部86は、各行の対角成分が、同じ行の対角成分以外の成分を総和して、符号を反転して、つまり、各行はそれぞれ全部足すと0になるラプラシアン行列Lを生成する。
例えば、図18で示されるように画素P1乃至P6が接続され、図中の線分により接続された画素間が隣接関係に有るものとする。図18で示されるような関係が有る場合、ラプラシアン行列生成部86は、例えば、以下の式(6)で示されるようなラプラシアン行列Lを生成する。
Figure 2011176748
・・・(6)
すなわち、図18で示されるように、画素P1には、画素P2,P5が接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、1行目は、画素P2,P5に対応する2,5列目に「−1」を設定し、1列目を「2」(=|−1|×2)とする。
また、同様に、図18で示されるように、画素P2には、画素P1,P3,P5が接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、2行目は、画素P1,P3,P5に対応する1,3,5列目に「−1」を設定し、2列目を「3」(=|−1|×3)とする。
さらに、同様に、図18で示されるように、画素P3には、画素P2,P4が接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、3行目は、画素P2,P4に対応する2,4列目に「−1」を設定し、3列目を「2」(=|−1|×2)とする。
また、同様に、図18で示されるように、画素P4には、画素P3,P5,P6が接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、4行目は、画素P3,P5,P6に対応する1,3,5列目に「−1」を設定し、4列目を「3」(=|−1|×3)とする。
さらに、同様に、図18で示されるように、画素P5には、画素P1,P2,P4が接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、5行目は、画素P1,P2,P4に対応する1,2,4列目に「−1」を設定し、5列目を「3」(=|−1|×3)とする。
また、同様に、図18で示されるように、画素P6には、画素P4のみが接続されている。このため、ラプラシアン行列生成部86は、式(6)のラプラシアン行列Lで示されるように、6行目は、画素P4に対応する4列目に「−1」を設定し、4列目を「1」(=|−1|×1)とする。
ステップS96において、エネルギー関数生成部87は、画素重みマップ画像Ds、ラプラシアン行列L、および推定前景色画像F^に基づき、以下の式(7)で示される前景色画像Fをパラメータとしたエネルギー関数Eを生成し、前景色画像生成部88に供給する。
x=arg min(xTLx+λ(x−F^)TDs(x−F^))
・・・(7)
ここで、arg min(Q)、は数学記号で、関数Qの値が最小になるようにパラメータxの値を決定させることを示す関数である。また、xは生成されるべき前景色画像Fを構成する色画像Fcにおける画素数分のベクトルである。このため、式(7)は、エネルギー関数Eが最小となるベクトルxの組み合わせが求められることになる。また、xT,(x−F^)Tはそれぞれベクトルx,(x−F^)の転置を示し、Lはラプラシアン行列、λは正の値からなる係数を、Dsは画素重みマップ画像をそれぞれ示している。
式(3)においては、「xTLx」は、平滑化項であり、「λ(x−F^)TDs(x−F^)」はデータ項である。
平滑化項は隣接する画素の値同士が滑らか(同じ)になるようにベクトルxを決めるように作用する項である。また、データ項はベクトルxと推定前景色画像F^とが0となるようにすることで推定前景色画像F^にベクトルxを近づけように作用する項である。
平滑化項とデータ項とは、相互にトレードオフの関係にあり、いずれか一方の値を優先して0(最小)にしようとすると、他方の値が大きくなる。よって、式(7)は、両者の値がバランスよく、かつ、合計が最小になるように計算される。前景色画像生成部88は、実際の計算では、式(7)を共役勾配法やLU分解により計算し最小化する。
また、係数λは、データ項の平滑化項に対する相対的な強さを調整する。また、画素重みマップ画像Dsは、データ項の各行の相対的な重要度、すなわち、前景オブジェクト画像を構成する画素の画素値への影響力の大きさを設定する。すなわち、画素重みマップ画像Dsに、1.0の項が存在すれば、係数λだけ拘束力が大きくなり、λが小さくなるほど拘束力が小さくなる。そして、画素重みマップ画像Dsまたは係数λにより拘束力が0になると、データ項の重要度はゼロとなり、エネルギー関数Eは、平滑化項のみにより決定されることになる。尚、画素重みマップ画像Dsは、正の値で一般には0.0乃至1.0であるが、それに限定されるものではない。
また、平滑化項やデータ項が2次式とされている(ベクトルxを2回乗算している)のは、数学的に最小解を求めるためであり、例えば、以下の式(8)で示されるように、微分式とすることにより最小値を求めることができる。
(L+λDs)x=λF^
・・・(8)
ステップS97において、前景色画像生成部88は、例えば、上述した式(8)を演算することにより、ベクトルxを解いて、前景色画像Fを構成する色画像Fcを求める。
ステップS98において、前景色画像生成部88は、RGB(Red Green Blue)の全色分の色画像Fcが求められたか否かを判定し、全色の処理が終了していない場合、ステップS97に戻り、未処理の色について処理を実行する。すなわち、全ての色の色画像Fcが求められるまで、ステップS97,S98の処理が繰り返される。
そして、ステップS98において、全色分の色画像Fcが求められ、処理が終了したと判定された場合、ステップS99において、前景色画像生成部88は、全色分の色画像Fcより前景色画像Fを構成し、入力画像Iにおけるアルファマスク画像Aで設定された、前景オブジェクト画像Fとして出力する。このとき、前景色画像生成部88は、前景オブジェクト画像Fをマスク画像生成部89にも出力する。
ステップS100において、マスク画像生成部89は、入力画像Iのうち、前景オブジェクト画像Fに対応する領域をマスク領域に設定して、マスク画像Bを生成し出力する。
以上の処理により、エネルギー関数Eが最小となるように、各色の前景色画像の画素値からなるベクトルxが求められ、このベクトルxからなる各色の色画像Fcから前景色画像Fが求められ、前景色画像Fが前景オブジェクト画像Fとして構成される。結果として、前景オブジェクト画像と背景画像との境界付近で、前景オブジェクト画像に生じる背景画像の色の滲みを抑制することが可能となる。
[マスク画像修復処理]
次に、図19のフローチャートを参照して、マスク画像修復処理について説明する。
ステップS111において、入力画像記憶部101は、入力画像を記憶する。
ステップS112において、マスク画像取得部109は、被写体切出部25より供給されてくるマスク画像を取得し、マスク画像記憶部110に記憶させる。
ステップS113において、修復部107は、マスク画像記憶部110に記憶されているマスク画像を読み出し、マスク画像にマスク領域が存在するか否かを判定する。ステップS113において、例えば、マスク画像にマスク領域が存在すると判定された場合、処理は、ステップS114に進む。
ステップS114において、マスク境界設定部102は、マスク画像の情報から入力画像におけるマスク領域との境界となる範囲を設定し、設定した入力画像におけるマスク領域との境界の情報をマスク境界情報記憶部103に記憶させる。
ステップS115において、領域優先度計算部104は、マスク領域との境界に設定された範囲を、複数の所定領域に分割し、所定領域毎に優先度を計算し、所定領域毎の優先度の情報を最大優先度領域選択部105に供給する。より詳細には、領域優先度計算部104は、例えば、エッジの最も多い領域の優先度が高くなりように優先度を計算する。尚、優先度を求める手法は、これに限るものでなはなく、優先度を設定することができれば、他の手法であっても良い。その他方の手法の例については、"Object Removal by Exemplar-Based Inpainting", A. Criminisi, P. Perez, K. Toyama, CVPR 2003を参照されたい。
ステップS116において、最大優先度領域選択部105は、領域優先度計算部104より供給されてくる所定領域毎の優先度が最大値となる所定領域を選択し、選択した所定領域の画像の情報をブロックマッチング処理部106に供給する。
ステップS117において、ブロックマッチング処理部106は、ブロックマッチング処理により入力画像内において、マスク領域との境界領域において、優先度が最大値に設定されている所定領域の画素値(輝度値)と最も類似する領域を巡回的に検索する。
ステップS118において、ブロックマッチング処理部106は、検索した所定領域の画素値(輝度値)と最も類似する領域に隣接する領域であって、優先度が最大値に設定されている所定領域が隣接するマスク領域の位置に対応する所定領域の情報を複写して修復部107に供給する。修復部107は、マスク画像記憶部110に記憶されているマスク画像を読み出す。そして、修復部107は、検索した所定領域の輝度値と最も類似する領域に隣接する領域であって、優先度が最大値に設定されている所定領域が隣接するマスク領域の位置に、供給されてきた複写されている所定領域の画像を貼り付けてマスク画像のマスク領域を修復する。さらに、修復部107は、修復したマスク領域の情報を更新してマスク画像をマスク画像記憶部110に記憶させ、処理は、ステップS113に戻る。そして、ステップS113において、マスク領域が存在しないと判定されるまで、ステップS113乃至S118の処理が繰り返される。
すなわち、優先度は、入力画像におけるマスク領域との境界領域において、繰り返し頻度が高い所定領域であるほど高く計算される。したがって、入力画像の他の領域において、類似する所定領域が存在すれば、その隣接する領域には、マスク画像となる領域に存在するであろう背景画像の情報が含まれている可能性が高いと考えられる。そこで、優先度の最も高い所定領域と最も類似する所定領域を検索し、検索された所定領域の隣接する隣接領域をマスク画像に貼り付けてマスク画像が修復され、マスク画像がなくなるまで、同様の処理が繰り返される。すなわち、優先度は失敗が目に付く場所ほど高くなる.
そして、ステップS113において、マスク領域が存在しないと判定された場合、すなわち、マスク領域が完全に修復され、背景画像が生成されたと判定された場合、ステップS119に進む。
ステップS119において、修復部107は、背景画像出力部108に対してマスク画像のマスク領域が修復されて、背景画像が生成されたものとみなし、マスク画像記憶部110に記憶されているマスク画像を背景画像として背景画像記憶部27に記憶させる。
以上の処理により、例えば、図2の場合、画像P3における被写体領域との境界領域で見られるように、同一色の背景領域が存在するため、優先度の高い所定領域としては同一色の画像が繰り返し検索されることとなる。このため、例えば、図2の画像P5で示されるように、それまで被写体である犬が存在していたマスク領域は、周辺の画像である背景色の画像として違和感なく修復されている。結果として、被写体切出画像として切り出された画像は、画像上のいかなる位置に配置しても自然な背景を得ることが可能となる。
[画像合成処理について]
次に、図20のフローチャートを参照して、画像合成処理について説明する。
ステップS141において、被写体画像勾配計算部121および背景画像勾配計算部122は、操作部34の操作内容に応じて指示部33より供給される指示内容に応じて、それぞれ被写体領域切出画像の領域、および背景画像の領域を特定する。
ステップS142において、被写体画像勾配計算部121は、被写体切出画像記憶部29に記憶されている被写体切出画像を読み出し、画素値、または輝度値の分布より被写体画像における画素値、または輝度値の勾配を求めポアソン方程式生成部123に供給する。
ステップS143において、背景画像勾配計算部122は、背景画像記憶部27に記憶されている背景画像を読み出し、画素値、または輝度値の分布より背景画像における画素値、または輝度値の勾配を求め、ポアソン方程式生成部123に供給する。
より詳細には、被写体画像勾配計算部121および背景画像勾配計算部122は、例えば、処理対象となる画素である注目画素と、その近傍に隣接する4画素との差分で勾配を計算する。
ステップS144において、ポアソン方程式生成部123は、被写体切出画像の勾配の演算結果と、背景画像の勾配の演算結果とを用いて、ポアソン方程式を生成し、生成したポアソン方程式をポアソン方程式演算部124に供給する。
ステップS145において、ポアソン方程式演算部124は、ポアソン方程式生成部123より供給されてきたポアソン方程式を演算により解き、被写体切出画像および背景画像の合成による境界付近の分布を求め演算結果を合成処理部125に供給する。
より具体的には、以下の式(9)を満たす画素値fを求めれば被写体切出画像および背景画像を合成することができる。
Figure 2011176748
・・・(9)
ここで、fは被写体切出画像の画素値であり、f*は合成する背景画像の画素値であり、Ωは合成する領域であり、∂Ωは合成領域の境界を表わす。
すなわち、この式(9)に基づいて、ポアソン方程式生成部123は、以下の式(10)を求め、ポアソン方程式演算部124は、この式(10)を解くことにより、境界付近の分布を求める。
Figure 2011176748
・・・(10)
尚、ポアソン方程式を用いた解法の詳細については、例えば、"Poisson Image Editing", Patrick Perez, Michel Gangnet, Andrew Blake, SIGGRAPH 2003を参照されたい。
ステップS146において、合成処理部125は、ポアソン方程式演算部124による演算結果から、被写体切出画像、および背景画像を合成した画像を生成して、表示処理部31に供給し、表示部32により表示させる。
すなわち、画像合成部28は、被写体切出画像、および背景画像を、いわゆるポアソン画像合成処理により合成する。このため、被写体切出画像、および背景画像との境界において、それぞれの色分布が自然な状態で合成させることが可能となる。
以上の処理により、本発明によれば、画像内において被写体を自由に移動させても、被写体が切り取られることにより生じるマスク領域を修復することが可能となるので、切り出した被写体切出画像を画像内で自由に移動させるといった編集が可能となる。さらに、その際、ポアソン画像合成により切り出された被写体切出画像と背景画像とを自然な配色で合成することが可能となり、違和感のない画像編集が可能となる。
<第2の実施例>
[被写体検出部のその他の構成例]
以上においては、被写体の検出にあたり輝度情報、色情報、エッジ情報、被写体情報、および動き情報を抽出して、被写体マップを生成して、被写体マップの情報から被写体領域を特定する例について説明してきたが、被写体が検出できれば、その他の構成でもよい。すなわち、被写体検出にあたり、例えば、FFT(Fourier Function Transform)を利用して検出する構成とするようにしてもよい。これは周波数領域にて平滑化した成分を除いた領域が注視領域になるという手法である。詳細は、"Saliency Detection: A Spectral Residual Approach", Xiaodi Hou and Liqing Zhang, CVPR 2007を参照されたい。
図21は、被写体領域検出部21のその他の構成例を示している。
図21の被写体領域検出部21は、FFTを利用して被写体を検出する構成例であり、FFT演算部141、対数演算部142、平滑化処理部143、差分演算部144、IFFT(Inverse Fourier Function Transform)演算部145、および角度成分抽出部146を備えている。
FFT演算部141は、入力画像をFFT変換処理し、対数演算部142に出力する。この際、角度成分抽出部146は、FFT演算部141のFFT変換処理において出力される情報の角度成分を抽出し、IFFT演算部145に供給する。
対数演算部142は、FFT演算部141の演算結果を対数演算し、演算結果を平滑化処理部143、および差分演算部144に供給する。平滑化演算部143は、FFT演算部141の演算結果の対数演算結果を平滑化して差分演算部144に供給する。差分演算部144は、対数演算部142の演算結果のうち平滑化していないものから平滑化したものの差分を求めて、IFFT演算部145に供給する。IFFT演算部145は、差分演算部144より供給されてくる差分演算結果を、角度成分抽出部146により抽出されたFFT演算部141における演算結果より抽出された角度成分に基づいて、差分演算結果を実部とし、角度成分抽出部146により抽出されたFFT演算部141における演算結果より抽出された角度成分を虚部として、指数関数にかけたうえで、逆FFT演算処理し、被写体領域検出画像として出力する。
[被写体領域検出処理について]
次に、図22のフローチャートを参照して、図21の被写体検出部による被写体領域検出処理について説明する。
ステップS161において、FFT演算部141は、入力画像の各画素の輝度をFFT変換処理し、対数演算部142に出力する。
ステップS162において、角度成分抽出部146は、FFT演算部141のFFT変換処理において出力される情報の角度成分を抽出し、IFFT演算部145に供給する。
ステップS163において、対数演算部142は、FFT演算部141の演算結果の絶対値を対数演算し、演算結果を平滑化処理部143、および差分演算部144に供給する。
ステップS164において、平滑化演算部143は、FFT演算部141の演算結果の対数演算結果を平滑化して差分演算部144に供給する。
ステップS165において、差分演算部144は、対数演算部142の演算結果のうち平滑化していないものから平滑化したものの差分を求めて、IFFT演算部145に供給する。
ステップS166において、IFFT演算部145は、差分演算部144より供給されてくる差分演算結果を実部とし、角度成分抽出部146により抽出されたFFT演算部141における演算結果より抽出された角度成分を虚部とし指数関数にかけたうえで、逆FFT演算処理する。
ステップS167において、IFFT演算部145は、逆FFT演算処理による演算結果を
被写体領域検出画像として出力する。
以上の処理により、FFT演算を用いても、被写体領域を検出することが可能となる。
ところで、上述した一連の画像処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図23は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタ-フェイス1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタ-フェイス1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
11 画像処理装置, 21 被写体検出部, 22 被写体検出判定部, 23 補助入力情報付加部, 24 被写体切出領域設定部, 25 被写体切出部, 26 マスク画像修復部, 27 背景画像記憶部, 28 画像合成部, 29 被写体切出画像記憶部, 30 出力部, 31 表示処理部, 32 表示部, 33 指示部, 34 操作部, 41 アルファマスク画像生成部, 42 切出部

Claims (6)

  1. 入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、
    前記被写体領域の画像を前記入力画像より切り出す切出手段と、
    前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、
    前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、
    前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、
    前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段と
    を含む画像処理装置。
  2. 前記被写体領域に相当する付加領域を入力する付加領域入力手段と、
    前記被写体領域に、前記付加領域を付加した領域を前記被写体領域として付加する被写体領域付加手段とをさらに含む
    請求項1に記載の画像処理装置。
  3. 前記優先度計算手段は、前記修復手段により修復された被写体領域との境界上の所定領域毎の優先度を再計算し、
    前記検索手段は、前記被写体領域との境界上の所定領域毎の再計算された優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索し、
    前記修復手段は、前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する
    請求項1に記載の画像処理装置。
  4. 前記優先度計算手段、前記検索手段、および前記修復手段は、前記被写体領域の全領域が修復されるまで、同様の処理を繰り返す
    請求項3に記載の画像処理装置。
  5. 入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、
    前記被写体領域の画像を前記入力画像より切り出す切出手段と、
    前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、
    前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、
    前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、
    前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段と
    を含む画像処理装置の画像処理方法であって、
    前記被写体領域検出手段における、前記入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出ステップと、
    前記切出手段における、前記被写体領域の画像を前記入力画像より切り出す切出ステップと、
    前記優先度計算手段における、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算ステップと、
    前記検索手段における、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索ステップと、
    前記修復手段における、前記検索ステップの処理により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復ステップと、
    前記合成手段における、前記切出ステップの処理で切り出された前記被写体領域の画像と前記修復ステップの処理で前記被写体領域が修復された画像とを合成する合成ステップと
    を含む画像処理方法。
  6. 入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出手段と、
    前記被写体領域の画像を前記入力画像より切り出す切出手段と、
    前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算手段と、
    前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索手段と、
    前記検索手段により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復手段と、
    前記切出手段により切り出された前記被写体領域の画像と前記修復手段により前記被写体領域が修復された画像とを合成する合成手段と
    を含む画像処理装置を制御するコンピュータに、
    前記被写体領域検出手段における、前記入力画像より被写体の存在する領域を被写体領域として検出する被写体領域検出ステップと、
    前記切出手段における、前記被写体領域の画像を前記入力画像より切り出す切出ステップと、
    前記優先度計算手段における、前記入力画像において、前記被写体領域との境界上の所定領域毎の優先度を計算する優先度計算ステップと、
    前記検索手段における、前記被写体領域との境界上の所定領域毎の優先度のうち、最上位の優先度となる所定領域の画像と類似する領域を、前記被写体領域の画像が切り出された状態の前記入力画像上で検索する検索ステップと、
    前記修復手段における、前記検索ステップの処理により検索された前記所定領域と類似する領域に隣接する領域であって、前記被写体領域として切り出された領域に対応する領域からなる隣接領域の画像を複写し、前記最上位の優先度となる所定領域に隣接する、前記被写体領域として切り出された領域に、前記隣接領域を複写した画像を貼り付けて前記被写体領域を修復する修復ステップと、
    前記合成手段における、前記切出ステップの処理で切り出された前記被写体領域の画像と前記修復ステップの処理で前記被写体領域が修復された画像とを合成する合成ステップと
    を含む処理を実行させるプログラム。
JP2010040698A 2010-02-25 2010-02-25 画像処理装置および方法、並びにプログラム Withdrawn JP2011176748A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010040698A JP2011176748A (ja) 2010-02-25 2010-02-25 画像処理装置および方法、並びにプログラム
US13/012,779 US8478072B2 (en) 2010-02-25 2011-01-24 Device, method, and program for image processing
BRPI1100230-1A BRPI1100230A2 (pt) 2010-02-25 2011-02-18 dispositivo e mÉtodo de processamento de imagem, programa executÁvel por um computador, e , dispositivo de processamento de imagem
CN201110042076.7A CN102169587B (zh) 2010-02-25 2011-02-18 图像处理设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010040698A JP2011176748A (ja) 2010-02-25 2010-02-25 画像処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2011176748A true JP2011176748A (ja) 2011-09-08

Family

ID=44476525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010040698A Withdrawn JP2011176748A (ja) 2010-02-25 2010-02-25 画像処理装置および方法、並びにプログラム

Country Status (4)

Country Link
US (1) US8478072B2 (ja)
JP (1) JP2011176748A (ja)
CN (1) CN102169587B (ja)
BR (1) BRPI1100230A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014072697A (ja) * 2012-09-28 2014-04-21 Dainippon Printing Co Ltd 自動クロマキー合成装置、自動クロマキー合成方法、およびプログラム
JP2015233340A (ja) * 2015-09-10 2015-12-24 富士通株式会社 画像処理プログラム、装置及び方法
JP2020052530A (ja) * 2018-09-25 2020-04-02 富士フイルム株式会社 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP2020113061A (ja) * 2019-01-11 2020-07-27 株式会社東芝 情報処理装置、情報処理方法およびプログラム
WO2021054794A1 (en) * 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Electronic device and screen capturing method thereof

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814040B1 (en) 2006-01-31 2010-10-12 The Research Foundation Of State University Of New York System and method for image annotation and multi-modal image retrieval using probabilistic semantic models
JP2011160379A (ja) 2010-02-04 2011-08-18 Sony Corp 画像処理装置および方法、並びにプログラム
JP5565041B2 (ja) 2010-03-30 2014-08-06 ソニー株式会社 画像処理装置および方法、並びにプログラム
US8687888B2 (en) 2010-11-18 2014-04-01 Casio Computer Co., Ltd. Region specification method, region specification apparatus, recording medium, server, and system
US20130046935A1 (en) * 2011-08-18 2013-02-21 Microsoft Corporation Shared copy cache across networked devices
US9123137B2 (en) * 2011-10-27 2015-09-01 Toshiba Alpine Automotive Technology Corporation Motion vector computing device and motion vector computing method
WO2013066959A1 (en) * 2011-10-31 2013-05-10 The Trustees Of Columbia University In The City Of New York Systems and methods for imaging using single photon avalanche diodes
JP5807555B2 (ja) * 2012-01-20 2015-11-10 富士通株式会社 画像処理プログラム、装置及び方法
JP5949481B2 (ja) * 2012-03-14 2016-07-06 富士通株式会社 画像処理方法、プログラム及び装置
US20140218385A1 (en) * 2012-09-10 2014-08-07 Applitools Ltd. System and method for visual segmentation of application screenshots
US8761519B2 (en) 2012-09-14 2014-06-24 Cyberlink Corp. System and method for selecting an object boundary in an image
KR101948692B1 (ko) * 2012-10-09 2019-04-25 삼성전자주식회사 촬영 장치 및 이미지 합성 방법
US9384585B2 (en) * 2012-10-23 2016-07-05 Electronics And Telecommunications Research Institute 3-dimensional shape reconstruction device using depth image and color image and the method
JP2014096757A (ja) * 2012-11-12 2014-05-22 Sony Corp 画像処理装置および画像処理方法、並びにプログラム
US9532032B2 (en) * 2013-04-18 2016-12-27 Ellis Amalgamated, LLC Astigmatic depth from defocus imaging using intermediate images and a merit function map
US9495755B2 (en) * 2013-10-22 2016-11-15 Nokia Technologies Oy Apparatus, a method and a computer program for image processing
US9122934B2 (en) * 2013-12-27 2015-09-01 Automotive Research & Testing Center Object detection method with a rising classifier effect and object detection device with the same
JP6642970B2 (ja) * 2015-03-05 2020-02-12 キヤノン株式会社 注目領域検出装置、注目領域検出方法及びプログラム
US11074885B2 (en) * 2015-09-25 2021-07-27 Intel Corporation Facilitating efficient detection of patterns in graphics display streams prior to their display at computing devices
JP6184652B1 (ja) * 2015-10-19 2017-08-23 オリンパス株式会社 医療情報記録装置
US9786055B1 (en) * 2016-03-29 2017-10-10 Adobe Systems Incorporated Method and apparatus for real-time matting using local color estimation and propagation
KR101805018B1 (ko) * 2016-07-08 2017-12-06 한양대학교 산학협력단 컴팩트 비디오 생성 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체
US10311312B2 (en) 2017-08-31 2019-06-04 TuSimple System and method for vehicle occlusion detection
US10067509B1 (en) 2017-03-10 2018-09-04 TuSimple System and method for occluding contour detection
US10671873B2 (en) 2017-03-10 2020-06-02 Tusimple, Inc. System and method for vehicle wheel detection
US9953236B1 (en) 2017-03-10 2018-04-24 TuSimple System and method for semantic segmentation using dense upsampling convolution (DUC)
US11587304B2 (en) 2017-03-10 2023-02-21 Tusimple, Inc. System and method for occluding contour detection
US10147193B2 (en) 2017-03-10 2018-12-04 TuSimple System and method for semantic segmentation using hybrid dilated convolution (HDC)
US9952594B1 (en) 2017-04-07 2018-04-24 TuSimple System and method for traffic data collection using unmanned aerial vehicles (UAVs)
US10471963B2 (en) 2017-04-07 2019-11-12 TuSimple System and method for transitioning between an autonomous and manual driving mode based on detection of a drivers capacity to control a vehicle
US10710592B2 (en) 2017-04-07 2020-07-14 Tusimple, Inc. System and method for path planning of autonomous vehicles based on gradient
US10552691B2 (en) 2017-04-25 2020-02-04 TuSimple System and method for vehicle position and velocity estimation based on camera and lidar data
US10558864B2 (en) 2017-05-18 2020-02-11 TuSimple System and method for image localization based on semantic segmentation
US10481044B2 (en) 2017-05-18 2019-11-19 TuSimple Perception simulation for improved autonomous vehicle control
US10474790B2 (en) 2017-06-02 2019-11-12 TuSimple Large scale distributed simulation for realistic multiple-agent interactive environments
US10762635B2 (en) 2017-06-14 2020-09-01 Tusimple, Inc. System and method for actively selecting and labeling images for semantic segmentation
US10752246B2 (en) 2017-07-01 2020-08-25 Tusimple, Inc. System and method for adaptive cruise control with proximate vehicle detection
US10308242B2 (en) 2017-07-01 2019-06-04 TuSimple System and method for using human driving patterns to detect and correct abnormal driving behaviors of autonomous vehicles
US10737695B2 (en) 2017-07-01 2020-08-11 Tusimple, Inc. System and method for adaptive cruise control for low speed following
US10303522B2 (en) 2017-07-01 2019-05-28 TuSimple System and method for distributed graphics processing unit (GPU) computation
US10493988B2 (en) 2017-07-01 2019-12-03 TuSimple System and method for adaptive cruise control for defensive driving
JP2019032395A (ja) * 2017-08-07 2019-02-28 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
US10360257B2 (en) 2017-08-08 2019-07-23 TuSimple System and method for image annotation
US11029693B2 (en) 2017-08-08 2021-06-08 Tusimple, Inc. Neural network based vehicle dynamics model
US10816354B2 (en) 2017-08-22 2020-10-27 Tusimple, Inc. Verification module system and method for motion-based lane detection with multiple sensors
US10565457B2 (en) 2017-08-23 2020-02-18 Tusimple, Inc. Feature matching and correspondence refinement and 3D submap position refinement system and method for centimeter precision localization using camera-based submap and LiDAR-based global map
US10303956B2 (en) 2017-08-23 2019-05-28 TuSimple System and method for using triplet loss for proposal free instance-wise semantic segmentation for lane detection
US10762673B2 (en) 2017-08-23 2020-09-01 Tusimple, Inc. 3D submap reconstruction system and method for centimeter precision localization using camera-based submap and LiDAR-based global map
US10678234B2 (en) 2017-08-24 2020-06-09 Tusimple, Inc. System and method for autonomous vehicle control to minimize energy cost
US10783381B2 (en) 2017-08-31 2020-09-22 Tusimple, Inc. System and method for vehicle occlusion detection
US10649458B2 (en) 2017-09-07 2020-05-12 Tusimple, Inc. Data-driven prediction-based system and method for trajectory planning of autonomous vehicles
US10782693B2 (en) 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
US10782694B2 (en) 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
US10656644B2 (en) 2017-09-07 2020-05-19 Tusimple, Inc. System and method for using human driving patterns to manage speed control for autonomous vehicles
US10953880B2 (en) 2017-09-07 2021-03-23 Tusimple, Inc. System and method for automated lane change control for autonomous vehicles
US10953881B2 (en) 2017-09-07 2021-03-23 Tusimple, Inc. System and method for automated lane change control for autonomous vehicles
US10552979B2 (en) 2017-09-13 2020-02-04 TuSimple Output of a neural network method for deep odometry assisted by static scene optical flow
US10671083B2 (en) 2017-09-13 2020-06-02 Tusimple, Inc. Neural network architecture system for deep odometry assisted by static scene optical flow
US10387736B2 (en) 2017-09-20 2019-08-20 TuSimple System and method for detecting taillight signals of a vehicle
US10733465B2 (en) 2017-09-20 2020-08-04 Tusimple, Inc. System and method for vehicle taillight state recognition
US10768626B2 (en) 2017-09-30 2020-09-08 Tusimple, Inc. System and method for providing multiple agents for decision making, trajectory planning, and control for autonomous vehicles
US10970564B2 (en) 2017-09-30 2021-04-06 Tusimple, Inc. System and method for instance-level lane detection for autonomous vehicle control
US10962979B2 (en) 2017-09-30 2021-03-30 Tusimple, Inc. System and method for multitask processing for autonomous vehicle computation and control
US10410055B2 (en) 2017-10-05 2019-09-10 TuSimple System and method for aerial video traffic analysis
EP3699863B1 (en) * 2017-10-24 2025-04-30 Toru Nagasaka IMAGE INTERPRETATION DEVICE
US10739775B2 (en) 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
US10812589B2 (en) 2017-10-28 2020-10-20 Tusimple, Inc. Storage architecture for heterogeneous multimedia data
US10666730B2 (en) 2017-10-28 2020-05-26 Tusimple, Inc. Storage architecture for heterogeneous multimedia data
US10657390B2 (en) 2017-11-27 2020-05-19 Tusimple, Inc. System and method for large-scale lane marking detection using multimodal sensor data
US10528823B2 (en) 2017-11-27 2020-01-07 TuSimple System and method for large-scale lane marking detection using multimodal sensor data
US10528851B2 (en) 2017-11-27 2020-01-07 TuSimple System and method for drivable road surface representation generation using multimodal sensor data
US10860018B2 (en) 2017-11-30 2020-12-08 Tusimple, Inc. System and method for generating simulated vehicles with configured behaviors for analyzing autonomous vehicle motion planners
US10877476B2 (en) 2017-11-30 2020-12-29 Tusimple, Inc. Autonomous vehicle simulation system for analyzing motion planners
US11312334B2 (en) 2018-01-09 2022-04-26 Tusimple, Inc. Real-time remote control of vehicles with high redundancy
US11305782B2 (en) 2018-01-11 2022-04-19 Tusimple, Inc. Monitoring system for autonomous vehicle operation
US11009356B2 (en) 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization and fusion
US11009365B2 (en) 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization
US12270661B2 (en) 2018-02-14 2025-04-08 Tusimple, Inc. Lane marking localization and fusion
US10685244B2 (en) 2018-02-27 2020-06-16 Tusimple, Inc. System and method for online real-time multi-object tracking
US10685239B2 (en) 2018-03-18 2020-06-16 Tusimple, Inc. System and method for lateral vehicle detection
CN110378185A (zh) 2018-04-12 2019-10-25 北京图森未来科技有限公司 一种应用于自动驾驶车辆的图像处理方法、装置
CN110458854B (zh) 2018-05-02 2022-11-15 北京图森未来科技有限公司 一种道路边缘检测方法和装置
US11104334B2 (en) 2018-05-31 2021-08-31 Tusimple, Inc. System and method for proximate vehicle intention prediction for autonomous vehicles
CN109993761B (zh) * 2018-06-29 2021-04-09 长城汽车股份有限公司 一种三值图像获取方法、装置及车辆
US10839234B2 (en) 2018-09-12 2020-11-17 Tusimple, Inc. System and method for three-dimensional (3D) object detection
US11292480B2 (en) 2018-09-13 2022-04-05 Tusimple, Inc. Remote safe driving methods and systems
US10796402B2 (en) 2018-10-19 2020-10-06 Tusimple, Inc. System and method for fisheye image processing
US10942271B2 (en) 2018-10-30 2021-03-09 Tusimple, Inc. Determining an angle between a tow vehicle and a trailer
CN116184417B (zh) 2018-12-10 2025-10-28 北京原创世代科技有限公司 一种挂车夹角的测量方法、装置及车辆
CN111319629B (zh) 2018-12-14 2021-07-16 北京图森智途科技有限公司 一种自动驾驶车队的组队方法、装置及系统
CN109829361B (zh) * 2018-12-17 2023-03-31 深圳先进技术研究院 图像的处理方法及应用该方法的机器人、装置
CN111353946B (zh) * 2018-12-21 2023-04-11 腾讯科技(深圳)有限公司 图像修复方法、装置、设备及存储介质
US11823460B2 (en) 2019-06-14 2023-11-21 Tusimple, Inc. Image fusion for autonomous vehicle operation
CN112699337B (zh) * 2019-10-22 2022-07-29 北京易真学思教育科技有限公司 方程批改方法、电子设备及计算机存储介质
EP3893150A1 (en) 2020-04-09 2021-10-13 Tusimple, Inc. Camera pose estimation techniques
CN111598021B (zh) * 2020-05-19 2021-05-28 北京嘀嘀无限科技发展有限公司 面部遮挡物的佩戴检测方法、装置、电子设备及存储介质
CN111640123B (zh) * 2020-05-22 2023-08-11 北京百度网讯科技有限公司 无背景图像的生成方法、装置、设备及介质
AU2021203567A1 (en) 2020-06-18 2022-01-20 Tusimple, Inc. Angle and orientation measurements for vehicles with multiple drivable sections
EP4189638B1 (en) * 2020-12-12 2025-12-31 Samsung Electronics Co., Ltd. METHOD AND ELECTRONIC DEVICE FOR MANAGING IMAGE ARTIFACTS
CN113436291B (zh) * 2021-06-21 2024-03-19 北京达佳互联信息技术有限公司 图像的处理方法和装置
CN113473181B (zh) * 2021-09-03 2021-12-31 北京市商汤科技开发有限公司 视频处理方法和装置、计算机可读存储介质及计算机设备
CN113490050B (zh) * 2021-09-07 2021-12-17 北京市商汤科技开发有限公司 视频处理方法和装置、计算机可读存储介质及计算机设备
CN114420066B (zh) * 2022-01-20 2023-04-25 海宁奕斯伟集成电路设计有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN116071242B (zh) * 2023-03-17 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种图像处理方法、系统、设备以及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259822A (ja) 1999-03-11 2000-09-22 Cec:Kk 画像の透過合成方法
US6697564B1 (en) * 2000-03-03 2004-02-24 Siemens Corporate Research, Inc. Method and system for video browsing and editing by employing audio
US6750974B2 (en) * 2002-04-02 2004-06-15 Gsi Lumonics Corporation Method and system for 3D imaging of target regions
JP2006512109A (ja) * 2002-08-01 2006-04-13 ザ ジョンズ ホプキンズ ユニバーシティ 蛍光発光を用いた、分子構造の特定技術、および身体内腔の内側に並ぶ細胞種の治療技術
US7680314B2 (en) * 2005-10-17 2010-03-16 Siemens Medical Solutions Usa, Inc. Devices, systems, and methods for improving image consistency
JP2006081224A (ja) 2005-12-02 2006-03-23 Casio Comput Co Ltd 電子スチルカメラ及び画像加工方法
US7836050B2 (en) * 2006-01-25 2010-11-16 Microsoft Corporation Ranking content based on relevance and quality
JP2007215114A (ja) * 2006-02-13 2007-08-23 Sony Corp 撮像画像の歪み補正方法、撮像画像の歪み補正装置および撮像装置
US8068693B2 (en) * 2007-07-18 2011-11-29 Samsung Electronics Co., Ltd. Method for constructing a composite image

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014072697A (ja) * 2012-09-28 2014-04-21 Dainippon Printing Co Ltd 自動クロマキー合成装置、自動クロマキー合成方法、およびプログラム
JP2015233340A (ja) * 2015-09-10 2015-12-24 富士通株式会社 画像処理プログラム、装置及び方法
JP2020052530A (ja) * 2018-09-25 2020-04-02 富士フイルム株式会社 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP2020113061A (ja) * 2019-01-11 2020-07-27 株式会社東芝 情報処理装置、情報処理方法およびプログラム
WO2021054794A1 (en) * 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Electronic device and screen capturing method thereof
US11188359B2 (en) 2019-09-20 2021-11-30 Samsung Electronics Co., Ltd. Electronic device and screen capturing method thereof

Also Published As

Publication number Publication date
BRPI1100230A2 (pt) 2012-07-31
CN102169587B (zh) 2015-05-06
CN102169587A (zh) 2011-08-31
US8478072B2 (en) 2013-07-02
US20110206282A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
JP2011176748A (ja) 画像処理装置および方法、並びにプログラム
Cheng et al. Inout: Diverse image outpainting via gan inversion
JP5157768B2 (ja) 画像処理装置および方法、並びにプログラム
JP5045619B2 (ja) 画像処理装置および方法、並びにプログラム
JP6287855B2 (ja) 画像処理装置及び画像処理方法
CN103985133B (zh) 基于图割能量优化的影像间最优拼接线寻找方法及系统
JP6435740B2 (ja) データ処理システム、データ処理方法およびデータ処理プログラム
JP4845715B2 (ja) 画像処理方法、画像処理装置、プログラム、及び記憶媒体
Lee et al. Robust exemplar-based inpainting algorithm using region segmentation
US20100141651A1 (en) Synthesizing Detailed Depth Maps from Images
CN110555893A (zh) 通过选择性地将栅格图像转换为向量绘图部分来生成增强的数字图像
US10019817B2 (en) Example-based edge-aware directional texture painting
JP6808783B2 (ja) 人工ニューラルネットワークを用いた画像処理
CN102521849A (zh) 基于区域的图像操纵
JP6859765B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6880618B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
Wu et al. Single-image super-resolution based on Markov random field and contourlet transform
JP6075294B2 (ja) 画像処理システム及び画像処理方法
US12282987B2 (en) Generating image mattes without trimap segmentations via a multi-branch neural network
US20240362891A1 (en) Systems and methods for selecting motion models for aligning scene content captured by different image sensors
JP6996200B2 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
JP2013171335A (ja) 画像処理システム及び画像処理方法
Zhao et al. Region-based parallax-tolerant image stitching
Cho et al. Kernel estimation for super-resolution with flow-based kernel prior
Tang et al. Coupled learning based on singular-values-unique and hog for face hallucination

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130507