JP4963306B2 - 前景領域抽出プログラム、前景領域抽出装置、及び前景領域抽出方法 - Google Patents
- ️Wed Jun 27 2012
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。以下に説明する実施の形態は、ユーザにより描かれた手がかり線(手書き線)をヒントに前景、背景を分けることで画像から物体領域を切り抜く画像編集装置に対して本発明を適用した場合の実施形態である。ここで「前景」とは人物や物品等の検索対象を表示する画像を意味し、「背景」とは検索対象を除く画像を意味する。
図1は、本実施形態に係る画像編集装置Sの概要構成例を示す図である。
図1に示すように、画像編集装置Sは、操作部1、表示部2、ドライブ部3、記憶部4、入出力インターフェース部5、及びシステム制御部6等を備えており、システム制御部6と入出力インターフェース部5とは、システムバス7を介して接続されている。なお、画像編集装置Sとしてはパーソナルコンピュータを適用することができる。
操作部1は、例えば、キーボード及びマウス等からなり、ユーザからの操作指示を受け付け、その指示内容を指示信号としてシステム制御部6に出力する。
表示部2は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等からなり、文字や画像等の情報を表示する。
ドライブ部3は、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等のディスクDK(記録媒体)からデータ等を読み出す一方、当該ディスクDK(記録媒体)に対してデータ等を記録する。
入出力インターフェース部5は、操作部1乃至記憶部4とシステム制御部6との間のインターフェース処理を行う。
記憶部4は、例えば、ハードディスクドライブ等からなり、オペレーティングシステム(O/S),各種プログラム及びデータ等を記憶する。ここで、記憶部4に記憶されるプログラムには、動画像編集アプリケーションプログラム(本発明の前景領域抽出プログラムを有する)等が含まれる。
なお、動画像編集アプリケーションプログラムは、例えばCD−ROM等のディスクDKに記録されて提供されるか、或いはネットワークNWに接続されたサーバからのダウンロードにより提供され、インストールされて利用される。
システム制御部6は、CPU(Central Processing Unit)6a,ROM(Read Only Memory)6b,及びメインメモリと画像メモリとして使用されるRAM(Random Access Memory)6c等を備えて構成されている。そして、システム制御部6は、上記動画像編集アプリケーションプログラムを実行することにより、本発明における表示制御手段、受付手段、分割色空間特定手段、色距離算出手段、属否判別手段、コスト算出手段、及び確定手段等として機能し、前景領域抽出処理を行うようになっている。
ここで、前景領域抽出処理について図2を参照して説明する。
図2は、システム制御部6における前景領域抽出処理の一例を示すフローチャートである。
図2に示す処理は、例えば、動画像編集アプリケーションプログラムが起動することにより開始される。当該処理が開始されると、システム制御部6は、ユーザから操作部1を通じて指示された動画中の静止画像を表示部2上に表示させる(ステップS1)。
次いで、システム制御部6は、当該表示された画像に含まれる前景領域上における少なくとも一つの前景ピクセル、及び当該画像に含まれる背景領域上における少なくとも一つの背景ピクセルの指定をユーザから受け付け(ステップS2)、確定した前景ピクセル、及び背景ピクセルとして登録(RAMの登録領域に記憶)する。例えば、前景ピクセルは、ユーザがマウスを操作して所望する前景領域(物体領域)上に手がかり線を描くことで指定でき、背景ピクセルは、ユーザがマウスを操作して所望する背景領域上に手がかり線を描くことで指定できる。
図3は、写真の画像において、前景領域上及び背景領域上に描かれた手がかり線の例を示す図である。図3の例では、手がかり線51と重なっている複数のピクセルが前景ピクセルとして指定され、手がかり線52と重なっている複数のピクセルが背景ピクセルとして指定されることになる。なお、図3の例では、犬の物体領域が、ユーザが所望する前景領域となっている。図3中、ユーザが所望する前景領域が樹木であれば、その樹木の物体領域が前景領域となり、犬を含む他の領域が背景領域となる。
次いで、システム制御部6は、分割色空間特定処理を行う(ステップS3)。この分割色空間特定処理においては、上記指定された少なくとも1つの前景ピクセル及び少なくとも1つの指定された背景ピクセルを夫々基準ピクセルとして、3次元のRGB色空間が複数に分割された分割色空間(以下、「バケツ」と称する)のうちから、各基準ピクセルが属する基準バケツが特定される。
図4は、RGB色空間を分割数sのグリッドで分割したバケツを示す図である。図4の例では、R(レッド),G(グリーン),B(ブルー)の3つの軸を有し、夫々の輝度を0〜255の範囲とするRGB色空間を示しており、R,G,Bが夫々4分割(s=4)されている。これにより、RGB色空間は、64個のバケツに分割されることになる。なお、この例では、64個のバケツに分割したが、これより少なく分割しても良いし、これより多く分割しても良い。
こうして、図4に示すように、前景ピクセル61が属する基準バケツ62と、背景ピクセル63が属する基準バケツ64とが特定されることになり、基準バケツ62は前景色クラスタ(言い換えれば、前景色グループ)として登録され、基準バケツ64は背景色クラスタ(言い換えれば、背景色グループ)として登録される(このような、クラスタ分けを、バケツを用いたクラスタリング法と称する)。なお、上述した手がかり線によれば、前景ピクセル及び背景ピクセルは夫々手がかり線上にあるピクセルについて複数指定され、夫々のピクセルが属する前景色クラスタ又は背景色クラスタが登録されることになる。
ところで、例えば、前景領域上に、図5に示すようなテクスチャパターン(模様の連続)が表われている場合がある。このようなテクスチャパターンでは、同じ前景領域においてもテクスチャパターンを構成する少なくとも2つの色の色空間における距離が大きくなるため、前景と背景を分けることが困難になる。そこで、本実施形態においては、テクスチャパターンが前景領域上に表われる場合、当該テクスチャパターンを構成する互いに異なる(色空間における色の距離が一定距離以上離れた)少なくとも2つの色(図5の例では、領域71における色と、領域72における色)の夫々に対応する前景ピクセルが指定されるように前景領域上にユーザが手がかり線73を描くことで、少なくとも2つの前景色クラスタを登録させる。これにより、テクスチャパターンがあっても、後述するように正確に前景と背景を分けることが可能となる。
図6は、前景領域にテクスチャパターンが表われている場合において、登録された前景色クラスタ及び背景色クラスタを示す図である。この場合、図6に示すように、2つの前景色クラスタが登録されることになり、夫々の前景色クラスタには、テクスチャパターンを構成する各色に対応する前景ピクセルが夫々属することになる。なお、背景領域にテクスチャパターンが表われることもあり、この場合、前景領域と同様、少なくとも2つの背景色クラスタが登録される。
次に、システム制御部6は、前景、背景かが確定していないピクセルがあるか否かを判別し(ステップS4)、ある場合には(ステップS4:YES)、ステップS5に進み、ない場合には(ステップS4:NO)、前景と背景の区別が完了したことになるので、前景領域をユーザが所望する物体領域として画像から切り抜き(ステップS10)、当該処理を終了する。
一方、ステップS5において、システム制御部6は、基準ピクセル(前景ピクセル又は背景ピクセル)に隣接(上下左右の何れかに隣り合う)する隣接ピクセルのうち、grow候補として未だ特定されていない1又は2以上のピクセルをgrow候補として特定する。
図7は、画像上におけるピクセルが前景又は背景として確定されていく様子を示す図である。図7(A)の例では、初期段階として、ユーザにより指定された前景ピクセル81に隣接するピクセル83,84と、ユーザにより指定された背景ピクセル82に隣接するピクセル85,86とがgrow候補として特定されている。
次いで、システム制御部6は、特定した各grow候補に対して色距離算出処理を行う(ステップS6)。この色距離算出処理においては、基準ピクセルとこれに隣接するgrow候補とのRGB色空間における色の距離が算出される。この色の距離D(pi,pj)は、以下の(2)式で算出できる。
ここで、pi(=(pi,r,pi,g,pi,b))はgrow先ピクセル(grow候補)を、pj(=(pj,r,pj,g,pj,b))はgrow元ピクセル(基準ピクセル)を示す。
次いで、システム制御部6は、上記色の距離が算出されたgrow候補が、前景色クラスタに属するか否か、及び背景色クラスタに属するか否かを夫々判別する属否判別処理を行う(ステップS7)。この属否判別処理においては、grow候補piが属するバケツb(pi)が上記(1)式で算出される。このように、バケツを用いたクラスタリング法によれば、当該grow候補が前景色クラスタと背景色クラスタに属するかを、従来の例えばk−means法(K個のクラスタの各々にその代表であるプロトタイプ(平均値(mean))を与え、夫々の個体を最も近いプロトタイプに割り当てることでクラスタリングを行う手法)に比べ高速(少ない計算量)で判別することが可能となる。
なお、当該判別結果を示す情報はgrow候補に対応付けられて記憶される。
次いで、システム制御部6は、grow候補について算出された色の距離D(pi,pj)と、当該grow候補について判別された前景色クラスタ及び背景色クラスタへの属否に基づく重み付けと、に基づいて、各grow候補についてのgrowコストを算出するコスト算出処理を行う(ステップS8)。このgrowコストcostiは、以下の(3)式で算出できる。
ここで、C1(pi)及びC2(pi)は、上記クラスタへの属否に基づく重み付けを示している。より具体的には、C1(pi)は色の距離D(pi,pj)の重み付けであり、テクスチャパターンへの対応を意図したものである。一方、C2(pi)はgrowコストの蓄積条件であり、後述する飛び地への対応を意図したものである。また、costjは、grow元ピクセルがgrow候補であったときのgrowコストを示す。なお、ユーザにより指定されたピクセルの場合、growコストはそもそも計算されないのでcostj=0である。
ここで、grow元ピクセルpjが前景ピクセルの場合、K1は前景色クラスタであり、K2は背景色クラスタである一方、grow元ピクセルpjが背景ピクセルの場合、K1は背景色クラスタであり、K2は前景色クラスタである。
この(4)式よれば、grow元ピクセルpjが前景ピクセルである場合において、grow候補piが前景色クラスタのみに属するときC1(pi)=1となり、grow候補piが前景色クラスタ及び背景色クラスタの両方に属するか或いは前景色クラスタ及び背景色クラスタのどちらにも属さないときC1(pi)=2となり、grow候補piが背景色クラスタのみに属するときC1(pi)=4となる。一方、grow元ピクセルpjが背景ピクセルである場合において、grow候補piが背景色クラスタのみに属するときC1(pi)=1となり、grow候補piが前景色クラスタ及び背景色クラスタの両方に属するか或いは前景色クラスタ及び背景色クラスタのどちらにも属さないときC1(pi)=2となり、grow候補piが前景色クラスタのみに属するときC1(pi)=4となる。
図8は、画像上にテクスチャパターンがある場合におけるgrowコストの大きさを示す図である。
図8に示すように、ピクセルが前景から前景(又は背景から背景)へ移行する(飛ぶ)場合にはC1(pi)は小さくなるのでgrowコストは小さくなる一方、ピクセルが前景から背景(又はその逆)へ移行する場合にはC1(pi)は大きくなるのでgrowコストは大きくなる。
これにより、重み付けの値を色の距離D(pi,pj)に乗算することにより、テクスチャパターンがあっても正確に前景と背景を分けることが可能となる。
なお、(4)式では、C1(pi)は、1,2,4の何れかの値を取り得るようにしたが、この大小関係が重要であり、例えば0.5,1,2としても良い。ただし、C1(pi)を1,2,4とした方が、growコストの計算を整数演算で済ませることができ、切り捨て誤差を考えると、このように2のべき乗とすることが望ましい。
この(5)式よれば、grow元ピクセルpjが前景ピクセルである場合において、grow候補piが前景色クラスタのみに属するときC2(pi)=0となり、grow候補piが前景色クラスタのみに属するものでないときC2(pi)=1となる。一方、grow元ピクセルpjが背景ピクセルである場合において、grow候補piが背景色クラスタのみに属するときC2(pi)=0となり、grow候補piが背景色クラスタのみに属するものでないときC2(pi)=1となる。
つまり、grow候補piが前景又は背景であることが明らかな場合、C2(pi)=0となり、growコスト(costj)は蓄積されない。一方、grow候補piが前景又は背景であることが明らかでない場合、C2(pi)=1となり、growコスト(costj)は蓄積される。このようにgrowコストを蓄積することにより、正確に飛び地への対応を図ることができる。
ここで、飛び地とは、前景領域に囲まれた背景領域(又は背景領域に囲まれた前景領域)を意味し、例えばドーナツの中央部分が該当する。手がかり線をヒントに前景、背景を分ける手法では、上記飛び地内に手がかり線を付け足さない限り、例えば前景領域に囲まれた飛び地を背景としてシステム制御部6が認識することはできない。従って、飛び地をシステム制御部6に認識させるためには、growコストが閾値Tを超えたときに前景と背景を反転させる必要がある。なお、閾値Tは、以下の(6)式で算出できる。
ここで、Fbは最大輝度の前景色を示し、Fdは最小輝度の前景色を示し、Bbは最大輝度の背景色を示し、Bdは最小輝度の背景色を示す。つまり、閾値Tは、最大輝度の前景色Fbと最小輝度の背景色Bdとの距離D(Fb,Bd)と、最小輝度の前景色Fdと最大輝度の背景色Bbとの距離D(Fd,Bb)と、のうち大きい方(max)となる。
しかしながら、飛び地の輪郭部分(例えば前景領域との境界部分)には、一般に、アンチエイリアス(輪郭部分のボケ)があることから、当該輪郭部分において隣接するピクセル間の色の距離は小さく、したがって、前景と背景を閾値Tにより正確に反転させることは困難である。そこで、本実施形態においては、上述したように、C2(pi)=1であるときにgrowコスト(costj)を蓄積させ、growコストを増大させることで、飛び地において前景と背景を閾値Tにより正確に反転させることができる。
図9は、画像上にアンチエイリアスがある場合において、growコストを蓄積させない場合(A)と、growコストを蓄積させた場合(B)と、の比較例を示す図である。
図9(A)の例では、growコストを蓄積させないので、各ピクセル間で閾値Tを超えることができないが、図9(B)の例では、growコストを蓄積させるので、ピクセル91からピクセル92へ移行するときのgrowコストは閾値Tを超えることができる。
そして、システム制御部6は、以上のようにして各grow候補についてのgrowコストを算出すると、当該算出されたgrowコストが最も小さいgrow候補を前景ピクセル又は背景ピクセルとして確定する前景/背景確定処理を行う(ステップS9)。例えば、当該grow候補との間で色の距離の算出(上記ステップS6)が行われた基準ピクセルと同じ前景又は背景ピクセルとして確定(例えば、隣接する基準ピクセルが前景ピクセルであればgrow候補は前景ピクセルとして確定)される。こうして確定されたgrow候補は、以後、新たな基準ピクセルとして扱われることになる。
図7(B)の例では、growコストが最小のピクセル85が背景ピクセルとして確定されることにより、当該ピクセル85に隣接するピクセル87,88が、新たなgrow候補として特定されている。
そして、システム制御部6は、ステップS4に戻り、前景、背景かが確定していないピクセルがあるか否かを判別し、ある場合には(ステップS4:YES)、ステップS5に進む。次いで、システム制御部6は、新たな基準ピクセルに隣接する隣接ピクセルのうち、grow候補として特定されていないピクセルをgrow候補として特定し、当該grow候補に対して、上記と同様、色距離算出処理(ステップS6)、属否判別処理(ステップS7)、コスト算出処理(ステップS8)、及び前景/背景確定処理(ステップS9)を行う。このような処理がgrow候補が無くなるまで繰り返し行われることにより、当該画像上におけるピクセルが前景又は背景として次第に確定されていき、図7(C)に示すように、当該画像上における全てのピクセルが前景又は背景として確定されると、上記ステップS10にて、前景領域がユーザが所望する物体領域として当該画像から切り抜きされることになる。
なお、図7(C)の状態に近づいていくにつれ、あるgrow候補に隣接する基準ピクセルが複数出てくる場合があるが、かかる場合、各基準ピクセルとの間の色の距離及びgrowコストが算出されることになり、当該grow候補は、growコストが小さい方の基準ピクセルと同じ前景又は背景として確定されることになる。
以上説明したように、上記実施形態によれば、ユーザにより指定された前景ピクセル及び背景ピクセルの夫々が属する各基準バケツを特定して前景色クラスタ及び背景色クラスタを事前に登録しておき、前景ピクセル又は背景ピクセルに隣接する隣接ピクセルをgrow候補として特定し、各grow候補に対して色距離算出処理、及びバケツを用いたクラスタリング法による属否判別処理を行い、これにより得た色の距離D(pi,pj)と、前景色クラスタ及び背景色クラスタへの属否に基づく重み付けと、に基づいて、各grow候補についてのgrowコストを算出し、当該growコストが最も小さいgrow候補を前景ピクセル又は背景ピクセルとして確定し、このような処理をgrow候補が無くなるまで繰り返し行うように構成したので、ユーザが所望する物体領域(前景領域)を高速に切り抜くことができる。
また、テクスチャパターンが前景領域又は背景領域上に表われる場合、当該テクスチャパターンを構成する互いに異なる少なくとも2つの色の夫々に対応するピクセルを指定して夫々のクラスタ(前景色クラスタ又は背景色クラスタ)を登録させてから、上述したようにgrowコストを計算するように構成したので、テクスチャパターンが画像上にあっても正確に前景と背景を分けることができる。
更に、上述した蓄積条件によりgrowコストを増大させることで、飛び地の輪郭部分にアンチエイリアスがあっても、飛び地において前景と背景を正確に反転させることができる。
なお、本実施形態における画像編集装置Sの利用形態としては、パーソナルコンピュータにおいてスタンドアローンで利用される他にも、例えばインターネット上でクライアントに対して種々の情報提供サービスを行うWebサーバ等に画像編集装置Sの構成及び機能を組み込んで利用されるものであっても良い。