以下、本発明の実施の形態を添付図面を参照して説明する。
図1は、本実施形態に係る画像領域抽出システム1を構成するコンピュータ10の内部構成を示した概略図である。同図に示されるように、コンピュータ(電子計算機)10は、CPU12、ROM14、RAM16、補助記憶装置18、入力装置20、表示装置22、入出力インタフェース24およびバス26を備えて構成されている。
CPU12は、中央演算処理装置(Central Processing Unit)であり、各種プログラムを実行することによって画像領域抽出システム1の各種機能を実現する。ROM14は、リード・オンリー・メモリ(Read Only Memory)であり、CPU12で実行される基本的なプログラムを記憶する。RAM16は、ランダム・アクセス・メモリ(Random Access Memory)であり、CPU12の作業領域として使用される。
補助記憶装置18は、例えばハードディスクドライブ、光ディスクドライブ、フラッシュメモリまたはソリッド・ステート・ドライブ(Solid State Drive)等から構成され、画像領域抽出システム1の全体的な基本動作を実現するOS(Operation System)プログラム、および画像から抽出領域を抽出する際にCPU12で実行される画像領域抽出プログラムを記憶すると共に、画像等の各種データを記憶する。
入力装置20は、例えばキーボードやマウス、タッチパネル等から構成され、ユーザからの各種情報の入力操作を受け付ける。表示装置22は、例えば液晶ディスプレイから構成され、各種画像を表示すると共に、ユーザに対する視覚的なインタフェースを提供する。入出力インタフェース24は、画像データ等の各種データを外部の機器とやり取りするためのインタフェースである。バス26は、CPU12、ROM14、RAM16、補助記憶装置18、入力装置20、表示装置22および入出力インタフェース24等を一体的に接続して通信を行うための経路である。
図2は、画像領域抽出システム1による画像領域抽出方法の概要を示した図である。以下、同図に示されるように、適宜の背景の前で女性を撮影した画像100から、女性が映し出された領域を抽出する場合を例として説明する。この場合、女性が映し出された領域が画像100から抽出される抽出領域100aとなり、背景が映し出された領域が抽出領域外の外部領域100bとなる。
画像領域抽出システム1は、まず、画像100を構成する画素110のそれぞれについて、外部領域100b内のいずれかの点をスタート点P1とする最短経路情報を算出する。すなわち、各画素110をノード(節点)とし、距離(重み、コスト)を設定したエッジ(枝)で各画素110を接続することによってグラフ理論に基づく最短経路問題を解き、各画素110について、最短経路情報としてスタート点P1からの最短の距離(最小の重み、最小のコスト)を算出する。
この外部領域100b内をスタート点P1とする最短経路情報は、スタート点P1からの距離(重み、コスト)が遠く(大きく)なるほど値が大きくなることから、外部領域100bの有する特徴からどれだけかけ離れているか、すなわち抽出領域100aらしさを示す量(エネルギー)と考えることができる。
次に、画像領域抽出システム1は、画像100を構成する画素110のそれぞれについて、抽出領域100a内のいずれかの点をスタート点P2とする最短経路情報を算出する。この抽出領域100a内をスタート点P2とする最短経路情報は、抽出領域100aの有する特徴からどれだけかけ離れているか、すなわち外部領域100bらしさを示す量(エネルギー)と考えることができる。従って、これら2つの最短経路情報を比較することにより、各画素110が抽出領域100aに属する(含まれる)か否かを判定することができる。
画像領域抽出システム1は、最後に、抽出領域100aに属する画素110のみを抽出した抽出画像200を生成する。この抽出画像200は、例えば他の背景画像と合成したり、立体視画像を生成する際のデプスマップ(奥行き情報のマップ)を抽出領域100aについてのみ生成したりする場合に使用される。以上のようにして、画像領域抽出システム1は、画像100から抽出領域100aを抽出する。
図3は、補助記憶装置18に記憶された画像領域抽出プログラムのプログラム構成、およびこの画像領域抽出プログラムをCPU12が実行することによって実現される画像領域抽出システム1の機能構成を示した概略図である。また、図4は、画像領域抽出システム1による画像領域抽出方法の具体的な手法を示した概念図である。
図3に示されるように、画像領域抽出プログラムは、特徴情報取得プログラム、エッジ設定プログラム、重み情報設定プログラム、入力操作受付プログラム、第1のスタート画素設定プログラム、第2のスタート画素設定プログラム、第1の経路情報設定プログラム、第2の経路情報設定プログラム、領域情報設定プログラムおよび抽出画像生成プログラムから構成されている。
従って、画像領域抽出システム1は、機能構成として、特徴情報取得プログラムの実行によって実現される特徴情報取得手段50、エッジ設定プログラムの実行によって実現されるエッジ設定手段52、重み情報設定プログラムの実行によって実現される重み情報設定手段54、入力操作受付プログラムの実行によって実現される入力操作受付手段56、第1のスタート画素設定プログラムの実行によって実現される第1のスタート画素設定手段58、第2のスタート画素設定プログラムの実行によって実現される第2のスタート画素設定手段60、第1の経路情報設定プログラムの実行によって実現される第1の経路情報設定手段62、第2の経路情報設定プログラムの実行によって実現される第2の経路情報設定手段64、領域情報設定プログラムの実行によって実現される領域情報設定手段66、および抽出画像生成プログラムの実行によって実現される抽出画像生成手段68を備えている。
なお、画像領域抽出システム1では、画像領域抽出プログラムの各構成と各機能構成とが1対1の対応関係にあることから、以下、画像領域抽出システム1の機能構成の説明のみを行い、プログラムの説明については省略する。
特徴情報取得手段50は、画像100を構成する各画素110の特徴情報112を取得し、各画素110に対応付けてRAM16または補助記憶装置18に記憶する。すなわち、図4に示されるように、各画素110について特徴情報112を設定する。この特徴情報112は、例えば各画素110の色相、明度、彩度または色空間等のように、各画素110が単独で有している特徴的な情報の他、対象画素110の周囲の画素110との関係から導かれる特徴的な情報を利用することができる。また、複数フレーム(すなわち、複数画像)からなる動画の場合には、各画素110の時間的な変化(前後のフレームの同一位置の画素との関係)から導かれる特徴的な情報等を利用することも可能である。さらに、単独または複数の情報に各種演算処理を施したもの(関数)を特徴情報112としてもよい。
エッジ設定手段52は、グラフ理論におけるエッジ120を画像100の各画素110間に設定し、RAM16または補助記憶手段18に記憶する。これにより、各画素110は、グラフ理論におけるノードとして互いにエッジ120で接続されることとなり、複数のノードおよびエッジからなるグラフが画像100に設定されることとなる。
なお、本実施形態では、図4に示されるように、各画素110の上下方向または左右方向に隣接するもの同士を接続するようにエッジ120を設定するが、エッジ120の接続態様はこれに限定されるものではなく、例えば斜め方向(対角線方向)に隣接する画素110同士を接続するように、エッジ120を設定してもよい。また、エッジ120は必ずしも隣接する画素110同士を接続するものである必要はなく、離れた画素110同士を接続するようにエッジ120を設定してもよい。さらに、エッジ120の接続態様は、画像100全域において同一である必要はなく、部分ごとに異なる接続態様のエッジ120を設定するようにしてもよい。
重み情報設定手段54は、エッジ120の両端の画素110の特徴情報112に基づく重み情報122を算出し、各エッジ120に対応付けてRAM16または補助記憶手段18に記憶する。すなわち、図4に示されるように、各エッジ120について重み情報122を設定する。これにより、最短経路問題における重み(距離、コスト)が、重み情報122として各エッジ120に設定されることとなる。
本実施形態では、エッジ120の両端の画素110の特徴情報112の差の絶対値を重み情報122として算出する。従って、例えば図4に示す例では、画素110aと画素110bを繋ぐエッジ120においては、画素110aおよび画素110bの特徴情報112の値がそれぞれ18および19であるため、重み情報122は、|18−19|=1となる。また、画素110dと画素110gを繋ぐエッジ120においては、画素110dおよび画素110gの特徴情報112の値がそれぞれ14および11であるため、重み情報122は、|14−11|=3となる。
なお、重み情報122の算出方法はこれに限定されるものではなく、両端の画素110の特徴情報112にその他の演算処理を施したものを重み情報122とするようにしてもよい。
入力操作受付手段56は、ユーザが入力装置20によって画像100中の画素110を指定する入力操作を受け付ける。第1のスタート画素設定手段58は、入力操作受付手段56が受け付けた入力操作により指定された画素110を、最短経路問題におけるスタート点である第1のスタート画素130に設定する。同様に、第2のスタート画素設定手段60は、入力操作受付手段56が受け付けた入力操作により指定された画素110を、第2のスタート画素132に設定する。ここで、第1のスタート画素130は、外部領域100b内のスタート点(図2におけるスタート点P1)であり、第2のスタート画素132は、抽出領域100a内のスタート点(図2におけるスタート点P2)である。
図5(a)〜(c)は、第1のスタート画素130および第2のスタート画素132の設定方法の概要を示した図である。具体的に、第1のスタート画素設定手段58は、例えば表示装置22に画像100と共にメッセージを表示する等して、まず第1のスタート画素130の指定をユーザに促す。そして、ユーザがマウスやタッチペン等の入力装置20によって第1の設定領域100cを指定する入力操作を行い、入力操作受付手段56がこれを受け付けたならば、同図(a)に示されるように、指定された第1の設定領域100cに属する画素110の全てを第1のスタート画素130に設定し、RAM16または補助記憶手段18に記憶する。
第2のスタート画素設定手段60は、第1のスタート画素130が設定された後に、例えば表示装置22に画像100およびメッセージを表示する等して、第2のスタート画素132の指定をユーザに促す。そして、入力操作受付手段56がマウスやタッチペン等の入力装置20により第2の設定領域100dを指定するユーザの入力操作を受け付けたならば、同図(a)に示されるように、指定された第2の設定領域100dに属する画素110の全てを第2のスタート画素132に設定し、RAM16または補助記憶手段18に記憶する。
第1の設定領域100cおよび第2の設定領域100dの指定は、同図(a)または(b)に示されるように、マウスポインタやタッチペン等の軌跡を所定の幅で第1の設定領域100cおよび第2の設定領域100dとするようにしてもよいし、同図(c)に示されるように、マウスポインタやタッチペン等の軌跡によって囲まれた領域を第1の設定領域100cおよび第2の設定領域100dとするようにしてもよい。また、第1の設定領域100cおよび第2の設定領域100dは、同図(b)に示されるように、それぞれ1つの領域として指定されるものであってもよいし、同図(a)または(c)に示されるように、複数の領域に分けて指定されるものであってもよい。
本実施形態では、ユーザに第1の設定領域100cおよび第2の設定領域100dを指定させ、第1のスタート画素130および第2のスタート画素132をそれぞれ複数設定することにより、抽出領域100aの抽出の精度を高めるようにしている。すなわち、第1のスタート画素130は外部領域100bらしさ(外部領域100bの特徴)の基準となる画素110であり、第2のスタート画素132は抽出領域100aらしさ(抽出領域100aの特徴)の基準となる画素110であるところ、様々な特徴情報112を有する複数の画素110を第1のスタート画素130および第2スタート画素132に設定することにより、外部領域100b内および抽出領域100a内における特徴の変動を適宜にならすことができるため、外部領域100bにおける略平均的な特徴および抽出領域100aにおける略平均的な特徴を基準(スタート点)とすることが可能となる。
また、抽出領域100aを高精度に抽出するということが抽出領域100aの外周線(輪郭線)100a1、すなわち抽出領域100aと外部領域100bの境界線をいかに高精度に決定するかということである点を考慮すると、第1の設定領域100cおよび第2の設定領域100dは、同図(b)に示されるように、抽出領域100aの外周線100a1に略沿った領域であることが好ましい。
このように、複数の第1のスタート画素130および複数の第2スタート画素132を、抽出領域100aの外周線100a1に略沿った状態でそれぞれ配置することにより、これらのスタート点から抽出領域100aの外周線100a1近傍の画素110までの最短経路が複雑に迂回した経路となる可能性を低減することができる。すなわち、抽出領域100aの外周線100a1近傍の画素110についての最短経路の算出において、画像100中の局所的な特徴の乱れによる影響を低減し、適切な最短経路を算出することが可能となる。
なお、第1のスタート画素130および第2のスタート画素132は、ユーザの入力操作に基づいて設定されるものでなくてもよく、第1のスタート画素設定手段58および第2のスタート画素設定手段60によって自動的に選択されるものであってもよい。すなわち、例えば所定の特徴を示す領域をパターンマッチング等によって探索し、その領域に属する画素110を第1のスタート画素130または第2のスタート画素132に設定するようにしてもよいし、例えば画像の角部や中央部等、所定の位置にある領域に属する画素110を第1のスタート画素130または第2のスタート画素132に設定するようにしてもよい。また、複数フレームからなる動画の場合には、前フレームにおける第1のスタート画素130および第2のスタート画素132と同一位置、または同一もしくは類似の特徴を示す領域に属する画素110を第1のスタート画素130および第2のスタート画素132とするようにしてもよい。
図3および4に戻って、第1の経路情報設定手段62は、第1のスタート画素130をスタート点とする最短経路情報である第1の経路情報114を各画素110について算出し、各画素110に対応付けてRAM16または補助記憶手段18に記憶する。具体的に、第1の経路情報設定手段62は、第1のスタート画素130をスタート点とする最短経路、すなわち重み情報122の総和が最小となる経路を各画素110について求め、この最短経路における重み情報122の総和を各画素110の第1の経路情報114として設定する。これにより、図4に示されるように、各画素110について第1の経路情報114が設定される。なお、第1の経路情報設定手段62は、第1のスタート画素130に設定された画素110については、第1の経路情報114として0を設定する。
図4に示す例では、画素110cが第1のスタート画素130であるため、画素110cについては、第1の経路情報114として0が設定される。また、例えば画素110bおよび画素110fについては、第1のスタート画素130からの経路が1つのみであるため、第1のスタート画素130との間のエッジ120の重み情報122である11および3がそれぞれ第1の経路情報114として設定される。
また、例えば画素110eについては、第1のスタート画素130からの経路は、画素110bのみを経由する経路および画素110fのみを経由する経路を始め、複数種類がある。このうち、画素110bのみを経由する経路のエッジ120の重み情報122の総和は、11+9=20であり、画素110fのみを経由する経路のエッジ120の重み情報122の総和は、3+5=8である。また、その他の経路については、例えば画素110f、画素110iおよび画素110hを経由する経路のエッジ120の重み情報122の総和が3+1+4+2=10であるように、重み情報122の総和が8より小さくなる経路はない。従って、最短経路は画素110fのみを経由する経路となり、画素110eについては、第1の経路情報114として8が設定される。
第1の経路情報設定手段62は、このようにして各画素110について第1の経路情報114を算出して設定する。第1の経路情報114の算出は、例えばダイクストラ法やプリム法等、既知の各種手法を採用することができる。また、最小となる重み情報122の総和をそのまま第1の経路情報114に設定するのではなく、例えば所定の係数を乗ずる等、最小となる重み情報122の総和に適宜の演算処理を施したものを第1の経路情報114とするようにしてもよい。
なお、第1のスタート画素130を複数設定した場合には、例えば複数の第1のスタート画素130のうちのいずれか1つをスタート点とし、第1のスタート画素130同士の間のエッジ120に設定された重み情報122を加算しない(0として扱う)ようにすることで、複数の第1のスタート画素130をスタート点としたときと同じ第1の経路情報114を算出することができる。この場合、第1のスタート画素設定手段58によって第1のスタート画素130が設定された後に、第1のスタート画素130同士の間のエッジ120に設定された重み情報122を、重み情報設定手段54が予め0に変更しておくようにしてもよい。
また、第1のスタート画素130を複数の領域に分けて設定した場合には、例えば各領域をエッジ120で繋ぐことで、複数の領域を1つの領域として取り扱うことができる。具体的には、例えば第1のスタート画素130を2つの領域に分けて設定した場合には、一方の領域内の第1のスタート画素130のいずれか1つと、他方の領域内の第1のスタート画素130のいずれか1つとの間に、重み情報122が0のエッジ120を設定することで、複数の第1のスタート画素130を1つの領域内に設定したものとして取り扱うことができる。また、第1のスタート画素130を複数の領域に分けて設定した場合には、各領域をスタート点とする最短経路をそれぞれ求め、このうち最小のものを第1の経路情報114として設定するようにしてもよい。
第2の経路情報設定手段64は、第2のスタート画素132をスタート点とする最短経路情報である第2の経路情報116を各画素110について算出し、各画素110に対応付けてRAM16または補助記憶手段18に記憶する。具体的に、第2の経路情報設定手段64は、第2のスタート画素132をスタート点とし、重み情報122の総和が最小となる経路を各画素110について求め、この最短経路における重み情報122の総和を各画素110の第2の経路情報116として設定する。また、第2の経路情報設定手段64は、第2のスタート画素132に設定された画素110については、第2の経路情報116として0を設定する。
図4に示す例では、第2のスタート画素132に設定された画素110aについては、第2の経路情報116として0が設定される。また、例えば画素110cについては、画素110bのみを経由する経路が最短経路となるため、1+11=12が第2の経路情報116として設定される。また、例えば画素110hについては、画素110dおよび画素110gを経由する経路、ならびに画素110dおよび画素110eを経由する経路が最短経路となるため、4+3+3=4+4+2=10が第2の経路情報116として設定される。
第2の経路情報116の算出は、第1の経路情報114の算出と同様に、例えばダイクストラ法やプリム法等、既知の各種手法を採用することができる。なお、第1の経路情報114の算出および第2の経路情報116の算出は、同一の手法を用いてもよいし、異なる手法を用いてもよい。また、最小となる重み情報122の総和をそのまま第2の経路情報116に設定するのではなく、最小となる重み情報122の総和に適宜の演算処理を施したものを第2の経路情報116とするようにしてもよい。この場合、第1の経路情報114の算出および第2の経路情報116の算出のいずれか一方においてのみ演算処理を施すようにしてもよいし、第1の経路情報114の算出および第2の経路情報116の算出においてそれぞれ異なる演算処理を施すようにしてもよい。
また、第2のスタート画素132を複数設定した場合には、第1のスタート画素130と同様に、例えば複数の第2のスタート画素132のうちのいずれか1つをスタート点とし、第2のスタート画素132同士の間のエッジ120に設定された重み情報122を加算しない(0として扱う)ようにすることで、複数の第2のスタート画素132をスタート点としたときと同じ第2の経路情報116を算出することができる。この場合、第2のスタート画素設定手段60によって第2のスタート画素132が設定された後に、第2のスタート画素132同士の間のエッジ120に設定された重み情報122を、重み情報設定手段54が予め0に変更しておくようにしてもよい。
また、第2のスタート画素132を複数の領域に分けて設定した場合には、第1のスタート画素130と同様に、例えば各領域を重み情報122が0のエッジ120で繋ぐことで、複数の領域を1つの領域として取り扱うことができる。また、第2のスタート画素132を複数の領域に分けて設定した場合には、各領域をスタート点とする最短経路をそれぞれ求め、このうち最小のものを第2の経路情報116として設定するようにしてもよい。
領域情報設定手段66は、第1の経路情報114および第2の経路情報116に基づいて各画素110が抽出領域100aに属するか否かを判定し、抽出領域100aに属するか否かを示す領域情報118を、各画素110に対応付けてRAM16または補助記憶手段18に記憶する。上述のように、第1の経路情報114は外部領域100b内をスタート点とするものであることから、抽出領域100aらしさを示す量として考えることができ、第2の経路情報116は抽出領域100a内をスタート点とするものであることから、外部領域100bらしさを示す量として考えることができる。
従って、本実施形態では、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値以上の場合、すなわち抽出領域100aらしさが勝るとみなせる場合には、その画素110について抽出領域100aに属する旨を示す情報を領域情報118として設定する。また、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値未満の場合、すなわち外部領域100bらしさが勝るとみなせる場合には、その画素110について抽出領域100aに属さない旨を示す情報を領域情報118として設定する。なお、本実施形態では、第1の閾値を0に設定しているが、例えば1や0.5、−1等、その他の値に第1の閾値を設定するようにしてもよい。
図4に示す例では、第1の経路情報114から第2の経路情報116を減じた値が0以上となる画素110a、画素110b、画素110d、画素110eおよび画素110gについては、領域情報118として抽出領域100aに属する旨を示す情報が設定される。また、第1の経路情報114から第2の経路情報116を減じた値が0未満となる画素110c、画素110f、画素110hおよび画素110iについては、領域情報118として抽出領域100aに属さない旨を示す情報が設定される。
なお、第1の経路情報114から第2の経路情報116を減じた値を第1の閾値と比較するのではなく、例えば第1の経路情報114を第2の経路情報116で除した値を第1の閾値と比較するようにしてもよい。また、例えば第1の経路情報114に第1の係数をかけた値から第2の経路情報116に第2の係数をかけた値を減じて得られる値等、第1の経路情報114および第2の経路情報116にその他の演算処理を施した結果(関数)の値に基づいて、画素110が抽出領域100aに属するか否かを判定するようにしてもよい。
抽出画像生成手段68は、画像100から抽出領域100aを抽出して、抽出画像200を生成する。具体的には、画像100を構成する各画素110のうち、領域情報118が抽出領域100aに属する旨を示す情報となっている画素110を抽出し、新たな画像として抽出画像200を生成する。抽出画像200の外部領域100bに対応する部分には、例えば単一色または所定のパターンの画素110が必要に応じて設定される。なお、画像領域抽出システム1は領域情報118の設定までを行い、抽出画像200の生成は外部の他の装置が領域情報118に基づいて行うようにしてもよい。すなわち、画像領域抽出システム1は、抽出画像生成手段68を備えないものであってもよい。
次に、画像領域抽出システム1による画像領域抽出方法の手順を、動画の場合を例にして説明する。図6は、画像領域抽出システム1による画像領域抽出方法の手順を示したフローチャートである。
まず、ステップS10では、入出力インタフェース24を介して、複数の画像(フレーム)100から構成される動画を外部の記憶装置等から入力し、補助記憶装置18に登録(記憶)する(画像登録ステップ)。次に、ステップS12では、特徴情報取得手段50が、補助記憶装置18に登録した動画から最初の画像(フレーム)100を選択し、選択した画像100を構成する各画素110の特徴情報112を取得する(特徴情報取得ステップ)。
なお、本実施形態では、各画素110の色相または明度等のいずれの特徴を特徴情報112とするか、および特徴情報112の算出に用いる係数等を予め設定しておくようにしているが、ステップS12において、最初の画像100を選択した際にこれを表示装置22に表示する等した上で、ユーザの入力操作によって特徴情報112とする特徴および係数等を設定するようにしてもよい。
次に、ステップS14では、2つの画素110の間にエッジ120を設定する(エッジ設定ステップ)。次に、ステップS16では、ステップS12で取得した特徴情報112に基づいて、各エッジ120に重み情報を設定する(重み情報設定ステップ)。
次に、ステップS18では、第1のスタート画素130を設定する(第1のスタート画素設定ステップ)。次に、ステップS20では、第2のスタート画素132を設定する(第2のスタート画素設定ステップ)。本実施形態では、ステップS18およびS20において、動画の最初の画像100(1フレーム目)については、ユーザが第1の設定領域100cまたは第2の設定領域100dを指定する入力操作を入力操作受付手段56が受け付ける入力操作受付ステップを設け、入力操作受付手段56が受け付けたユーザの入力操作に基づいて第1のスタート画素130および第2のスタート画素132を設定するが、2番目以後の画像100(2フレーム目以後)については、前フレームにおける第1のスタート画素130および第2のスタート画素132に基づいて第1のスタート画素130および第2のスタート画素132を設定する。
なお、前フレームにおける第1のスタート画素130および第2のスタート画素132に基づいて第1のスタート画素130および第2のスタート画素132を設定した場合には、ステップS18およびS20において表示装置22にこれを表示する等して、第1のスタート画素130および第2のスタート画素132の設定をユーザに確認させるようにしてもよい。さらに、必要であれば、ステップS18およびS20において入力操作を受け付け、ユーザが第1のスタート画素130および第2のスタート画素132を入力操作によって再設定できるようにしてもよい。
次に、ステップS22では、第1のスタート画素130からエッジ120の重み情報122の累積値が最小となる最短経路を各画素110について求め、最小となる重み情報122の累積値を第1の経路情報114として各画素110に設定する(第1の経路情報設定ステップ)。次に、ステップS24では、第2のスタート画素132からエッジ120の重み情報122の累積値が最小となる最短経路を各画素110について求め、最小となる重み情報122の累積値を第2の経路情報116として各画素110に設定する(第2の経路情報設定ステップ)。
次に、ステップS26では、ステップS22で設定した第1の経路情報114、およびステップS24で設定した第2の経路情報116に基づいて、各画素110が抽出領域100aに属するか否かを判定し、判定結果に基づいて各画素110について領域情報118を設定する(領域情報設定ステップ)。次に、ステップS28では、ステップS26で設定した領域情報118に基づいて画像100から抽出領域100aを抽出し、抽出画像200を生成する(抽出画像生成ステップ)。
なお、ステップS28では、抽出画像200を表示装置22に表示する等して、ユーザにこれを確認させるようにしてもよい。さらにその後、ユーザの選択に応じてステップS12またはS18もしくはS20に戻り、特徴情報112の設定、または第1のスタート画素130もしくは第2のスタート画素132の設定からやり直すようにしてもよい。
また、本実施形態では、第1の閾値を予め0に設定しておくようにしているが、ステップS28において抽出画像200の表示後に第1の閾値をユーザの入力操作によって変更可能とし、第1の閾値の変更後にステップS26に戻って領域情報118の設定をやり直すようにしてもよい。同様に、ステップS28において第1の経路情報114および第2の経路情報116に施す演算処理の内容を変更した上で、ステップS28に戻って領域情報118の設定をやり直すようにしてもよい。
次に、ステップS30では、補助記憶装置18に登録した動画における全ての画像(フレーム)100について抽出画像200を生成したか否かを判定する。全ての画像100について抽出画像200を生成した場合には処理を終了し、そうでない場合にはステップS12に戻って次の画像(フレーム)100について、上記処理を実行する。画像領域抽出システム1は、以上の手順により、動画を構成する各画像(フレーム)100から抽出領域100aを抽出した抽出画像200を生成する。
次に、画像領域抽出システム1および画像領域抽出システム1による画像領域抽出方法のその他の態様について説明する。図7(a)および(b)ならびに図8は、画像領域抽出システム1および画像領域抽出システム1による画像領域抽出方法のその他の態様の例を示した概略図である。
図7(a)は、抽出領域100aを、外周線100a1に沿った外周部分である外周領域100a2と、外周領域100a2の内側の部分である内側領域100a3とに分けて抽出するようにした場合の一例を示している。この場合、領域情報設定手段66は、第1の閾値よりも大きい値である第2の閾値を設定し、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値以上且つ第2の閾値未満であるならば、その画素110について抽出領域100aにおける外周領域100a2である旨を示す情報を領域情報118として設定する。また、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値以上且つ第2閾値以上であるならば、その画素110について抽出領域100aにおける内側領域100a3である旨を示す情報を領域情報118として設定する。
このように、抽出領域100aを外周領域100a2および内側領域100a3に分けて抽出することで、例えば、抽出領域100aを他の背景と合成する場合に、外周領域100a2を適宜にぼかす等して他の背景に自然になじませることが可能となる。また、外周領域100a2を適宜にぼかすようにすることで、抽出領域100aの抽出精度が低い場合にも、これを目立たせないようにすることができる。
なお、外周領域100a2の幅は、第2の閾値の設定によって適宜に調整することができる。また、この場合においても、第1の経路情報114から第2の経路情報116を減じるのではなく、第1の経路情報114および第2の経路情報116にその他の演算処理を施した結果の値を第1の閾値および第2の閾値と比較するようにしてもよいことは言うまでもない。
図7(b)は、画像100の全ての画素110について第1の経路情報114および第2の経路情報116を算出するのではなく、必要な領域に属する画素110についてのみ第1の経路情報114および第2の経路情報116を算出するようにした場合の一例を示している。この場合、第1のスタート画素設定手段58および第2のスタート画素設定手段60は、ユーザの入力操作等に伴い、第1のスタート画素130を設定する第1の設定領域100c、および第2のスタート画素132を設定する第2の設定領域100dを抽出領域100aの外周線100a1の全域に略沿うように設定する。
そして、第1の経路情報設定手段62および第2の経路情報設定手段64は、第1の設定領域100cおよび第2の設定領域100dならびに両者の間の領域(同図(b)において斜線で示す領域)を、第1の経路情報114および第2の経路情報116を算出する経路算出領域100eに設定し、この経路算出領域100eに属する画素110についてのみ第1の経路情報114および第2の経路情報116を算出して設定する。
また、領域情報設定手段66は、経路算出領域100eに属する画素110については第1の経路情報114および第2の経路情報116に基づいて領域情報118を設定すると共に、経路算出領域100eに属さない画素110については、例えば経路算出領域100eのいずれの側に位置するかに基づいて領域情報118を設定する。すなわち、経路算出領域100eの第2の設定領域100d側(第2のスタート画素132側)に位置する画素110については、抽出領域100aに属する旨の情報を領域情報118として設定し、経路算出領域100eの第1の設定領域100c側(第1のスタート画素130側)に位置する画素110については、抽出領域100aに属さない旨の情報を領域情報118として設定する。
このようにすることで、最も時間を要する第1の経路情報114および第2の経路情報116の算出を、抽出領域100aの外周線100a1の近傍の画素110についてのみ行うようにすることができるため、処理時間を短縮することが可能となる。すなわち、画像100からの抽出領域100aの抽出を、より効率的且つ高速に行うことができる。
図8は、動画において前後のフレームと比較することによって各画素110または各エッジ120に設定された各情報112、114、116、118または122を補正するようにした場合の一例を示している。同図に示されるように、前後のフレームにおける同一位置、または同一もしくは類似の特徴を示す領域に属する画素110同士またはエッジ120同士を比較することにより、特徴情報112、第1の経路情報114、第2の経路情報116、領域情報118または重み情報122を補正するようにしてもよい。
この場合、図6に示したステップごとに前のフレームと比較しながら各情報112、114、116、118または122を補正するようにしてもよいし、動画を構成する全ての画像(フレーム)100の全ての画素110について、各情報112、114、116、118または122を一旦設定した後に、前後のフレームを比較して値を補正するようにしてもよい。また、比較するフレームの数は特に限定されるものではなく、前後2つのフレーム同士を比較するようにしてもよいし、3つ以上のフレームを比較するようにしてもよい。
このように、前後のフレームを比較して特徴情報112、第1の経路情報114、第2の経路情報116、領域情報118または重み情報122を補正することにより、例えば時間の経過に伴う光の当り方の変化等に起因する特徴の変化を補正することができるため、抽出領域100aの抽出精度をより高めることが可能となる。なお、特徴情報112、第1の経路情報114、第2の経路情報116、領域情報118および重み情報122の全てについて前後フレームの比較による補正を行うようにしてもよいし、いずれか選択したものについてのみ前後フレームの比較による補正を行うようにしてもよいことは言うまでもない。
以上説明したように、本実施形態に係る画像領域抽出方法は、画像100を構成する各画素110の特徴情報112を取得する特徴情報取得ステップS12と、2つの画素110間にエッジ120を設定するエッジ設定ステップS14と、特徴情報112に基づいてエッジ120に重み情報122を設定する重み情報設定ステップS16と、画像100から抽出する抽出領域100a外の画素110の少なくとも1つを第1のスタート画素130に設定する第1のスタート画素設定ステップS18と、抽出領域100a内の画素100の少なくとも1つを第2のスタート画素132に設定する第2のスタート画素設定ステップS20と、第1のスタート画素130から各画素110までの重み情報122についての経路を算出し、第1の経路情報114を各画素110に設定する第1の経路情報設定ステップS22と、第2のスタート画素132から各画素110までの重み情報122についての経路を算出し、第2の経路情報116を各画素110に設定する第2の経路情報設定ステップS24と、第1の経路情報114および第2の経路情報116に基づいて、抽出領域100aに属するか否かを示す領域情報118を各画素110に設定する領域情報設定ステップS26と、を有している。
また、本実施形態に係る画像領域抽出システム1は、電子計算機(コンピュータ)10から構成され、画像100を構成する各画素110の特徴情報112を取得する特徴情報取得手段50と、2つの画素110間にエッジ120を設定するエッジ設定手段52と、特徴情報112に基づいてエッジ120に重み情報122を設定する重み情報設定手段54と、画像100から抽出する抽出領域100a外の画素110の少なくとも1つを第1のスタート画素130に設定する第1のスタート画素設定手段58と、抽出領域100a内の画素110の少なくとも1つを第2のスタート画素132に設定する第2のスタート画素設定手段60と、第1のスタート画素130から各画素110までの重み情報122についての経路を算出し、第1の経路情報114を各画素110に設定する第1の経路情報設定手段62と、第2のスタート画素132から各画素110までの重み情報122についての経路を算出し、第2の経路情報116を各画素110に設定する第2の経路情報設定手段64と、第1の経路情報114および第2の経路情報116に基づいて、抽出領域100aに属するか否かを示す領域情報118を各画素110に設定する領域情報設定手段66と、を有している。
このような構成とすることで、ブルーバックを使用せずとも容易に画像100から特定の抽出領域100aを抽出することができる。すなわち、任意の背景で通常どおりに撮影した画像100から、例えば人物等を容易に抽出することができる。また、画像100から抽出領域100aを抽出するセグメンテーション問題を最短経路問題として解くため、従来のグラフカットアルゴリズムを用いた手法等と比較して計算コストを低減することができる。
また、セグメンテーション問題を最短経路問題として解くことから、例えば画像100に含まれる一部の画素110を修正したような場合においても、関連する画素110についてのみ再計算を行えば、解を求めることができる。すなわち、グラフカットアルゴリズムのように画像100全域にわたる大規模連立方程式を解く場合には、画像100の画素110を1つでも修正した後は全ての計算をやり直す必要があるところ、本実施形態ではそのような必要がないため、抽出精度および汎用性をより高めると共に、ユーザにとっての使いやすさを向上させることが可能となっている。
また、第1のスタート画素設定ステップS18では、複数の画素110を第1のスタート画素130に設定し、第2のスタート画素設定ステップS20では、複数の画素110を第2のスタート画素132に設定する。このようにすることで、外部領域100bおよび抽出領域100aにおける略平均的な特徴を基準(スタート点)とすることが可能となるため、抽出領域100aの抽出精度を高めることができる。
また、第1のスタート画素設定ステップS18では、抽出領域100aの外周線100a1に略沿った領域(第1の設定領域100c)に属する複数の画素110を第1のスタート画素130に設定し、第2のスタート画素設定ステップS20では、抽出領域100aの外周線100a1に略沿った領域(第2の設定領域100d)に属する複数の画素110を第2のスタート画素132に設定するようにしてもよい。このようにすることで、第1の経路情報114および第2の経路情報116の算出において、画像100中の局所的な特徴の乱れによる影響を低減し、抽出領域100aの抽出精度を高めることができる。また、第1のスタート画素130および第2のスタート画素132の間の画素110についてのみ第1の経路情報114および第2の経路情報116を算出するようにすれば、計算コストをさらに低減することができる。
また、本実施形態に係る画像領域抽出方法は、ユーザが画像100中の画素110を指定する入力操作を受け付ける入力操作受付ステップを有し、第1のスタート画素設定ステップS18では、入力操作受付ステップで指定された画素110を第1のスタート画素130に設定し、第2のスタート画素設定ステップS20では、入力操作受付ステップで指定された画素110を第2のスタート画素132に設定する。このようにすることで、第1のスタート画素130および第2のスタート画素132を容易且つ適切に設定すると共に、容易に修正可能とすることができる。
また、領域情報設定ステップS26では、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値以上の場合に、抽出領域100aに属することを示す領域情報118を画素110に設定する。このようにすることで、抽出領域100aらしさが勝る領域を明確に特定して抽出すると共に、第1の閾値の設定によって抽出精度を調整することができる。
また、領域情報設定ステップS26では、第1の経路情報114から第2の経路情報116を減じた値が第1の閾値以上且つ第2の閾値未満の場合に、抽出領域100aの外周部分である外周領域100a2に属することを示す領域情報118を画素110に設定するようにしてもよい。このようにすることで、他の背景画像等と合成する際の処置が最も重要となる抽出領域100aの外周部分を、抽出時に予め外周領域100a2として特定しておくことができるため、抽出領域100aの合成処理を容易にすると共に、合成画像の品質を向上させることができる。
以上、本発明の実施の形態について説明したが、本発明の画像領域抽出方法および画像領域抽出システムは、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、画像領域抽出システム1は、単一のコンピュータ10から構成されるものに限定されるものではなく、複数のコンピュータ10から構成されるものであってもよい。さらにこの場合、複数のコンピュータ10は、インターネットを介して互いに接続されるものであってもよい。
また、抽出領域100aは、人物が映し出された領域に限定されるものではなく、その他の人工物や自然物が映し出された領域であってもよい。また、画像100の内容によっては、第1のスタート画素130または第2のスタート画素132を1つだけ設定するようにしてもよい。
また、抽出領域100aは1つに限定されるものではなく、画像100から複数の抽出領域100aをまとめて抽出するようにしてもよい。この場合、複数の抽出領域100a内にそれぞれ第2のスタート画素132を設定するようにすればよい。また、2つ目の抽出領域100aについては第3のスタート画素を設定し、第2の経路情報116とは異なる第3の経路情報を算出するようにしてもよい。
また、上記実施形態において示した作用および効果は、本発明から生じる最も好適な作用および効果を列挙したものに過ぎず、本発明による作用および効果は、これらに限定されるものではない。
上記実施形態の画像領域抽出システム1を使用して静止画である画像100から抽出領域100aを抽出し、抽出画像200を生成した。図9(a)〜(c)および図10(a)〜(c)は、本実施例に係る画像である。
具体的には、図9(a)は画像100であり、同図(b)は第1のスタート画素130の設定を示した画像100であり、同図(c)は第2のスタート画素132の設定を示した画像100である。また、図10(a)は第1の経路情報114の分布を示した第1の経路情報マップ210であり、同図(b)は第2の経路情報116の分布を示した第2の経路情報マップ220であり、同図(c)は抽出画像200である。
図9(a)に示されるように、画像100にはベンチの前に立つ女性を被写体としたものを使用し、女性が映し出された領域を抽出領域100aとした。第1のスタート画素130(第1の設定領域100c)は、同図(b)に示されるように、抽出領域100aの外周線100a1の外側にラフに沿うように設定した。同様に、第2のスタート画素132は、同図(c)に示されるように、抽出領域100aの外周線100a1の内側にラフに沿うように設定した。
第1の経路情報マップ210および第2の経路情報マップ220は、第1の経路情報114および第2の経路情報116をグレースケールの階調に変換して画像として表示したマップであり、値が大きいほど白く(明るく)表示されるようになっている。図10(a)に示されるように、抽出領域100aらしさの分布を示す第1の経路情報マップ210では、抽出領域100aが比較的明るく表示され、外部領域110bが比較的暗く表示されている。しかしながら、第1の経路情報マップ210においては、抽出領域100a内に比較的暗い部分が存在すると共に、外部領域100b内に比較的明るい部分が存在しており、第1の経路情報114だけでは、抽出領域100aの正確な抽出は困難であることが予想される。
同様に、外部領域100bらしさの分布を示す第2の経路情報マップ220では、同図(b)に示されるように、外部領域100bが比較的明るく表示され、抽出領域100aが比較的暗く表示されているが、やはり、外部領域100b内に比較的暗い部分が存在し、抽出領域100a内に比較的明るい部分が存在している。このため、第2の経路情報116だけでは、抽出領域100aの正確な抽出は困難であることが予想される。
一方、第1の経路情報マップ210と第2の経路情報マップ220を対比して見ると、第1の経路情報マップ210の抽出領域100aにおける比較的暗い部分は、第2の経路情報マップ220においても比較的暗い部分となっており、また、第1の経路情報マップ210の外部領域100bにおける比較的明るい部分は、第2の経路情報マップ220においても比較的明るい部分となっている。すなわち、第1の経路情報114および第2の経路情報116の両方を利用することで、抽出領域100aを高精度に抽出可能であることが分る。そして、実際に生成した抽出画像200においても、同図(c)に示されるように、抽出領域100aが高精度に抽出される結果となった。