画像処理装置および方法
【解決手段】
一実施形態では、画像を複数のスーパーピクセルに分割する方法が開示される。各スーパーピクセルは該画像の複数のピクセルを含む。該方法は、画像内ピクセル対間の類似性の測定により初期ウェイトセットを計算することを含む。該初期ウェイトセットから、画像上で閾値距離未満のピクセル対について合成ウェイトセットが計算される。合成ウェイトセットの計算は、ピクセル対のウェイトを、ピクセル対の第1ピクセルの第3ピクセルとの初期ウェイトと、第2ピクセルとの第3ピクセルのウェイトとの積の、第3ピクセルセットにわたる和として計算することを含む。その後、各ウェイトはべき乗係数演算を受ける。合成ウェイトセットの計算に続いて、合成ウェイトセットと初期ウェイトセットは、収束チェックのために比較されるウェイトが収束する場合、該収束したウェイトセットは画像をスーパーピクセルに分割するために用いられる。
一実施形態では、画像を複数のスーパーピクセルに分割する方法が開示される。各スーパーピクセルは該画像の複数のピクセルを含む。該方法は、画像内ピクセル対間の類似性の測定により初期ウェイトセットを計算することを含む。該初期ウェイトセットから、画像上で閾値距離未満のピクセル対について合成ウェイトセットが計算される。合成ウェイトセットの計算は、ピクセル対のウェイトを、ピクセル対の第1ピクセルの第3ピクセルとの初期ウェイトと、第2ピクセルとの第3ピクセルのウェイトとの積の、第3ピクセルセットにわたる和として計算することを含む。その後、各ウェイトはべき乗係数演算を受ける。合成ウェイトセットの計算に続いて、合成ウェイトセットと初期ウェイトセットは、収束チェックのために比較されるウェイトが収束する場合、該収束したウェイトセットは画像をスーパーピクセルに分割するために用いられる。
【発明の詳細な説明】
【関連出願】
【0001】
この出願は、2011年3月23日に提出され、参照することによりその全内容が本明細書に組み込まれる英国特許出願第1104909.5号に基づいており、その優先権の利益を主張するものである。
【技術分野】
【0002】
本明細書で説明する実施形態は、一般に画像をセグメント化するための方法およびシステムに関する。
【背景技術】
【0003】
多くの画像処理技術は、画像をセグメント化する前処理ステップを含んでいる。画像をセグメント化することは、デジタル画像をスーパーピクセルに分割することを含む。各スーパーピクセルは画像の一組のピクセルである。セグメント化の後に、スーパーピクセルについての画像処理が実行される。スーパーピクセルへの画像のセグメント化は、入力画像が画像内の構造的情報を反映するコンパクトな方法で符号化されることを可能にする。これにより、例えば画像内の特徴を分類するための画像処理が容易になる。
【0004】
セグメント化後の画像のさらなる処理を効率化するために、大きさが一定で形状がコンパクトな均一のスーパーピクセルを生成することが多くの場合に有利である。この要件は、多くの場合、画像をスーパーピクセルにセグメント化する計算コストとのバランスがとられなければならない。
【図面の簡単な説明】
【0005】
以下では、次の図面を参照しながら発明の実施形態を説明する。
【図1】図1は、画像をスーパーピクセルに分割するためのデータ処理システムのブロック図である。
【図2】図2は、画像をスーパーピクセルに分割するための方法のフローチャートである。
【図3】図3は、画像をスーパーピクセルに分割する方法を示している。
【図4】図4は、スーパーピクセルに分割された画像である。
【図5】図5は、画像のセクションの概要図である。
【図6】図6は、ピクセルの対間のウェイトを計算するのに用いられるパスを示す画像のセクションの概要図である。
【図7】図7は、スーパーピクセルに分割された画像である。
【図8】図8は、画像を処理する方法を示すフローチャートである。
【図9】図9は、画像内のノイズを低減する方法を示すフローチャートである。
【図10】図10は、画像の物体を検出する方法を示すフローチャートである。
【図11】図11は、画像の3次元再構成の計算方法を示すフローチャートである。
【発明を実施するための形態】
【0006】
本明細書で説明する実施形態は、画像をスーパーピクセルに分割し、該画像をスーパーピクセルを用いて処理することを対象とする。一実施形態では、画像を複数のスーパーピクセルに分割する方法が示される。各スーパーピクセルは、該画像の複数のピクセルを含む。該方法は該画像のピクセル対間のウェイトを計算することを含んでいる。該計算されたウェイトは、後に画像をスーパーピクセルに分割する方法において用いられる。該ウェイトは、ピクセル対間の類似性の測定から計算される初期ウェイトセットから反復して再計算される。該初期ウェイトセットから、画像上で閾値距離未満のピクセル対について合成ウェイトセットが計算される。該合成ウェイトセットの計算は、ピクセル対のウェイトを、ピクセル対の第1ピクセルの第3ピクセルとの初期ウェイトと、第2ピクセルとの第3ピクセルのウェイトとの積の、第3ピクセルセットにわたる和として計算することを含む。その後、各ウェイトはべき乗係数演算を受ける。合成ウェイトセットの計算に続いて、合成ウェイトセットと初期ウェイトセットは、収束チェックのために比較されるウェイトが収束する場合、該収束したウェイトセットは画像をスーパーピクセルに分割するために用いられる。
【0007】
本発明の実施形態は、計算上効率的な態様で画像のスーパーピクセルへの分割を容易化する。画像上で互いに閾値距離内のピクセル対のみについて合成ウェイトを計算するので、該方法は、複雑さを大きく増加させることなく、サイズの大きな画像に用いることができる。また、該方法で得られるスーパーピクセルはサイズおよび形状が均一である。このことは、該方法により生成されたスーパーピクセル表現を用いる処理ステップにおける正確な画像処理を可能にする。
【0008】
実施形態では、第1ピクセルおよび第2ピクセルのウェイトの計算は第1ルックアップテーブルを読み出すことを含む。第1ルックアップテーブルは、第1ピクセルと、第1ピクセルの閾値距離内のピクセルセットの間の画像上の変換セットを表す。画像の正規特性により、互いに閾値距離内にある画像上のピクセル対間の変換は、アルゴリズムの実行前に計算し、ルックアップテーブルに記憶することができる。
【0009】
実施形態では、第1ピクセルおよび第2ピクセルのウェイトの計算は、第2ルックアップテーブルを読み出すことをさらに含む。第2ルックアップテーブルは、第3ピクセルセットを経由した第1ピクセルから第2ピクセルへの画像上の変換セットを表す。
【0010】
実施形態では、ピクセル間の類似性の測定はピクセル間の強度の差から計算される。
【0011】
実施形態では、画像の各ピクセルに関連付けられたウェイトセットを記憶するためのメモリが割り当てられる。該メモリは、所与のピクセルに対して閾値距離内のピクセルの数に応じて割り当てられる。閾値距離未満のピクセル対間でウェイトが計算されるので、所与ピクセルに関連付けられたウェイトの数は当該ウェイトが計算される前に分かる。これは、該方法を開始する前に、ウェイトを記憶するためのメモリを割り当てることができることを意味する。
【0012】
実施形態では、初期ウェイトは各ピクセルに関連付けられたウェイトセットとしてメモリに記憶される。初期ウェイトセットは、合成ウェイトセットの計算の後に、該合成ウェイトセットに置き換えられる。
【0013】
一実施形態では、画像を処理する方法は、画像をスーパーピクセルに分割し、該スーパーピクセルを用いて該画像を処理することを含む。
【0014】
実施形態では、画像を処理することは画像内の特徴を認識することを含む。
【0015】
実施形態では、画像を処理することは画像を符号化することを含む。
【0016】
実施形態では、画像を処理することは画像の三次元再構成を計算することを含む。
【0017】
実施形態では、スーパーピクセルを用いて画像を処理することは、画像内のノイズを低減することを含む。
【0018】
実施形態では、計算機によって実行された時、該計算機に画像をスーパーピクセルに分割する方法を実行させる計算機実行可能命令を持つ計算機可読媒体が提供される。
【0019】
実施形態では、画像を複数のスーパーピクセルに分割するための画像処理装置を開示している。各スーパーピクセルは、画像の複数のピクセルを含む。該システムはプロセッサを含む。該プロセッサは、初期ウェイトセットを計算する。各ウェイトは、画像のピクセル対に関連付けられる。初期ウェイトセットは、隣接するピクセル間の類似性の測定を用いて計算される。プロセッサは、初期ウェイトセットから合成ウェイトセットを計算する。画像内において閾値距離未満で離れたピクセル対について合成ウェイトセットが計算される。該合成ウェイトセットは、第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算し、べき乗係数への各ウェイトの値を計算し、ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することにより計算される。該プロセッサは、収束ウェイトセットへの収束をチェックするために、初期ウェイトセットと合成ウェイトセットを比較する。ピクセルは、該収束ウェイトセットを用いて、スーパーピクセルにグループ化される。
【0020】
実施形態では、システムは、第1ルックアップテーブルのためのストレージをさらに含む。該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示す。プロセッサは、第1ルックアップテーブルを読み出すことにより第1ピクセルおよび第2ピクセルのウェイトを計算する。
【0021】
実施形態では、システムは、第2ルックアップテーブルのためのストレージをさらに含む。第2ルックアップテーブルは、第3ピクセルセットを経由した第1ピクセルから第2ピクセルへの画像上の変換セットを表す。プロセッサは、第2ルックアップテーブルを読み出すことにより第1ピクセルおよび第2ピクセルのウェイトを計算する。
【0022】
実施形態では、システムはさらにメモリを含む。該メモリは、画像の各ピクセルに関連付けられたウェイトセットを記憶するために割り当てられる。該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる。
【0023】
実施形態では、プロセッサは、各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶し、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える。
【0024】
実施形態では、システムは、スーパーピクセルを用いて画像に更なる処理を施す。
【0025】
実施形態では、プロセッサは、スーパーピクセルを用いて画像内のノイズを低減する。
【0026】
実施形態では、プロセッサは、スーパーピクセルを用いて画像内の特徴を認識する。
【0027】
実施形態では、プロセッサは、スーパーピクセルを用いて画像を符号化する。
【0028】
実施形態では、プロセッサは、スーパーピクセルを用いて、画像の三次元表現を計算する。
【0029】
図1は、画像をスーパーピクセルに分割するためのデータ処理システム100を示している。データ処理システム100は、プロセッサ102、メモリ104、入力モジュール108および出力モジュール110を含む。メモリ104は、画像をスーパーピクセルに分割するためのプログラム106を記憶する。プログラム106は、プロセッサ102で実行することができる。入力モジュール108は、処理のために画像の入力を受け取ることができる。また、出力モジュール110は処理の結果を出力することができる。データ処理システム100は、画像をさらに処理してもよい。この更なる処理は、スーパーピクセルに基づいてもよい。あるいは、出力モジュール110がスーパーピクセルを出力してもよい。入力モジュール108は、カメラまたはビデオカメラからイメージデータを受け取ることが可能なデータ接続とすることができる。入力モジュール108は、インターネットのようなネットワーク上の画像データを受信することができるネットワーク接続とすることができる。データ処理システム100は、従来型の計算機であってもよい。以下、プログラム106が従う方法を説明する。
【0030】
図2は、本発明の実施形態に従って画像をスーパーピクセルに分割する方法のフローチャートを示している。該方法は、画像のピクセル間のウェイトを反復して計算することを含んでいる。このウェイトセットの収束が観測されると、該収束したウェイトセットを用いて画像はスーパーピクセルに分割される。ステップS10では、画像のピクセル間の初期ウェイトセットが計算される。初期ウェイトセットは、隣接ピクセル間の類似性の測定から計算される。この類似性の測定は、例えばピクセルの対の強度の差に基づいてもよい。ステップS12では、初期ウェイトセットを用いて合成ウェイトセットが計算される。合成ウェイトセットは、初期ウェイトセットより画像内の多くのピクセル対について計算されうる。合成ウェイトセットは、互いに閾値距離内のピクセルの対に限定して計算される。ステップS14において収束のチェックが行なわれる。これは、初期ウェイトセットと合成ウェイトセットを比較することを含んでいる。合成ウェイトセットと初期ウェイトセットが収束していないことが判明した場合、ステップS16において、合成ウェイトセットは初期ウェイトセットとして記憶される。S16に続いて、新しい初期ウェイトセットから更なる合成ウェイトセットが計算される。ステップS14においてウェイトの収束が分かると、ステップS18において画像がスーパーピクセルに分割される。画像をスーパーピクセルに分割することは、非ゼロ・ウェイトを持つピクセルをスーパーピクセルにグループ化することを含む。
【0031】
上記方法は、マルコフクラスタリング(MCL)アルゴリズムに基づいている。MCLアルゴリズムは、確率的なグラフに反復して2つの演算子を適用することを含む。MCLアルゴリズムを適用した結果、確率的なグラフは1組のクラスタに分割される。確率的なグラフへの2つの演算子の適用は、グラフのノードがランダムウォーク中にアクセスされる確率付きの、グラフ内のランダムウォークを作ることである(そのランダムウォークにおける他のノードのようにそのノードが同じクラスタの一部を形成するかどうかを決定する)とみなすことができる。画像をスーパーピクセルに分割する問題にMCLアルゴリズムを適用する場合、画像はグラフであるとみなす。グラフ上の各ピクセルは、グラフ上のノードに対応する。グラフ上のエッジは、ピクセルに対応するノードをリンクする。MCLアルゴリズムのグラフへの適用の結果は、バラバラな木の組である。グラフが画像を表わす場合、これらのバラバラな木は、画像のピクセル群(group of pixels)である。本発明の実施形態は、MCLアルゴリズムを適用する計算コストおよび生成されたスーパーピクセルの形への影響を低減するMCLアルゴリズムへの修正を含んでいる。
【0032】
上記のように、MCLアルゴリズムは確率的なグラフに反復して2つの演算子を適用することを含んでいる。これらはexpansion演算子とinflation演算子である。expansion演算子はグラフ内のフローを巡回するように振る舞い、類似したアピアランスの領域を混ぜ合わせる傾向がある。inflation演算子は、強いエッジをより強くし、弱いエッジをより弱くする。これは、クラスタ境界を作り、同時に各クラスタの代表を選出するという二重の目的に役立つ。expansion演算子およびinflation演算子は、収束まで繰り返し適用される。収束は、グラフがexpansion演算子およびinflation演算子の下で安定している場合に起こると考えられる。収束では、グラフはバラバラな木の組になる。
【0033】
MCLアルゴリズムは、以下のように数学的に表すことができる。無向グラフG=(V,E)は、ノードv∈Vおよびエッジe∈Eで規定される。2のノードvαおよびvβにかかるエッジeは、eαβとして表わされる。また、このエッジについてのウェイトはw(eαβ)と規定され、wαβと表わされる。グラフGはマルコフグラフに変形される。マルコフグラフは、すべてのノードに関して、ノードを基点とするエッジのウェイトが正であって合計が1のグラフである。
【0034】
マルコフグラフに関して、マルコフ行列として知られる確率行列は、各エントリがエッジウェイトとなるように:
【数1】
【0035】
のように書くことができる。ここで、Nはノードの総数である。
【0036】
上記定式化において、expansion演算子とはMの二乗を計算することである。inflation演算子とは行列Mのアダマール累乗を求めることであって、これにスケーリングステップが続き、結果として得られる行列を再び確率的なものとする。行列のアダマール累乗は、要素について累乗をとることにより計算される。
【0037】
したがって、マルコフグラフG=(V,E)の非負の確率行列Mについて、MCLアルゴリズムのステップは次のように定式化することができる:
【数2】
【0038】
ここで、Hp(・)は、べき乗係数pによる、要素についてのべき乗演算を表わし、N(・)は、列についての正規化を表す。これらステップは、MをMnewに更新しながら繰り返される。MとMnewの間で差異が観察されない平衡に達すると処理は停止する。この段階で、得られた確率行列によって表される結果のグラフは、その結合が全体のグラフをカバーするバラバラな木の組として現われる。各木は、木のルートによってユニークに表わすことができるクラスタを定義する。したがって、ある所与のノードについて、それが属するクラスタの識別(identity)は、ルートまでその木をトレースすることにより検索することができる。MCL処理の振る舞いを司る重要なパラメーターは、インフレーションパラメーターpである。これは、出力の解像度に影響を及ぼす。高いインフレーション値は、より多数の小クラスタを生成する。MCLによって生成されるクラスタの数はエマージェント(emergent)であることに留意されたい。すなわち、それは直ちに(directly)設定されない。MCLの収束時間は、クラスタ化の目標解像度に大きく依存する。これは、予期するクラスタがより粗くなると、より長くなる。さらに、MCLの収束は、高解像度ではより安定することが知られている。したがって、MCLは典型的に高い解像度が必要とされるスーパーピクセルの計算に好適であると考えられる。
【0039】
MCLアルゴリズムは、以下のように画像をスーパーピクセルに分割するのに用いることができる。nx×nyピクセルの入力画像IをグラフG=(V,E)であると解釈する。画像Iの各ピクセルは、次の集合内のノードに対応する:
【数3】
【0040】
ここで、f(i,j)=j・nx+iは、ノード(i,j)への1次元インデックスを返すフラットインデックス関数である。ノード数Nはピクセル数の合計N=nxnyである。エッジE={eαβ}の集合は例えば隣接のノードを接続する:
【数4】
【0041】
画像構造は、画像強度の差をエッジウェイトにマッピングする関数を定義することによってグラフ上にマッピングされる。画像に対応するグラフの隣接行列は、8つの近隣類似関数を用いて初期化することができる:
【数5】
【0042】
ここで、I[i,j]=(r,g,b)は、利用可能なチャネル上の画像の強度を表す。パラメーターμは、自由パラメーターとして選ぶことができる。本明細書で提示した結果を得るためにμ=10を用いた。
【0043】
本発明の実施形態において、上述したMCL処理は、expansionステップにおいてエッジを延長可能な長さを制限するように変更される。この変更には2つの利点があることが判明した。第1に、変更した方法によって得られたスーパーピクセルの形状は均一である。第2に、エッジの長さの制限によって画像をセグメント化する際の計算コストは、エッジ長を制限しないMCL処理と比較して低下する。
【0044】
変更されたMCLスキームは、expansionステップで作成された新しいエッジの長さに上界を適用する。これは、expansionステップにおいて下記条件を課すことを含んでいる:
【数6】
【0045】
ここで、rはピクセルの距離しきい値である。
【0046】
MCL処理の収束には形式的証明が存在することに留意されたい。上記条件がexpansionステップに含まれる場合、処理は近似になる。しかし、変更されたMCL処理は、適用されたすべての画像について収束することがわかった。
【0047】
図3は、本発明の実施形態によって画像をスーパーピクセルに分割することに関するステップを示している。図3aでは、類似性測定を用いてピクセル間のウェイトが初期化される。非ゼロ・ウェイトを持ったピクセル間のリンクあるいはエッジが示される。図3bは、数回にわたりexpansion演算子およびinflation演算子を適用した後のピクセル間ウェイトを示している。ここで、expansion演算子は、ピクセルの対についてウェイトが計算される距離には上界がある、という制約を条件として適用される。図3cは、expansion演算子およびinflation演算子を収束するまで反復して適用した後の非ゼロ・ウェイトを示す。図3dは、図3cに示されたウェイトを用いてスーパーピクセルに分割された画像を示している。
【0048】
図4は、当初のMCL法によって生成されたスーパーピクセル(図4a)と、距離しきい値を含むMCL法によって生成されたスーパーピクセル(図4b)との間の比較を示す。図4bに示されるスーパーピクセルは、サイズおよび形状がより均一であることが明らかである。
【0049】
上述したエッジ最大長が制約されたMCL法を適用する際の計算コストは、行列Mにおける非ゼロ要素の数を減らし、従ってexpansionステップにおけるM2を算出する際の計算コストを低減する。さらに、ノードに接続されるエッジの最大数が距離制約によって制限され、計算が開始される前にその数が分かることから、行列Mの変換を以下のように実装することができる。行列Mは、画像の2D構造を保存し、ノードを基点とする各エッジのウェイトを当該ノードに対応するピクセルに関連させることにより記憶される。ピクセルに対応するノードに関連づけられた非ゼロ・ウェイトの最大数は計算の開始前に既知であることから、計算が初期化される際にボリュームが割り付けられ、この割付けは計算の全体を通じて維持される。
【0050】
エッジウェイトがボリュームLに記憶される。ボリュームLはサイズnx×ny×Neを持つ。ここで、nx×nyは入力画像のピクセルサイズ、Neは各ノードから発する非ゼロ・ウェイトを持ったエッジの数である。Neは、画像の各ピクセルの関連づけられたウェイトの数とみなすこともできる。
【0051】
画像上の位置(i,j)のピクセルについて、エッジ・エントリーL[i,j;e]はノードvi,jから始まり、(i,j)+offset[e]のノードを指す。offset[e]は、所与ノードからの可能なすべてのジャンプを表わすテーブルである。offset[e]は、エッジrの最大長に基づいてあらかじめ計算することができる。例えば、r=1の場合、テーブルオフセットは[(0,0),(−1,0),(+1,0),(0,−1),(0,+1)]と与えられる。このテーブルはあらかじめ計算され、グラフ内のすべてのノードで共有することができる。
【0052】
図5は、画像のピクセルに関連づけられた非ゼロ・ウェイトを示す画像部分の概要図である。画像500は、複数のピクセル502、504、506を含む。画像502のピクセルは、距離r内のピクセル504とともに非ゼロ・ウェイトを持っている。図5の例において、r=√2である。ピクセル502とそれ自体の間のエッジ503に関連づけられた非ゼロ・ウェイト、および、ピクセル502と、画像中でピクセル502からr=√2未満のピクセル群504との間のエッジ群505に関連づけられた非ゼロ・ウェイトがある。
【0053】
図5に示される場合では、offset=[(0;0);(1;0);(1;1);(0;1);(−1;1);(−1;0);(−1;−1);(0;−1);(1;−1)]である。このテーブルは、画像グラフの正規の特性を示すことから、すべてのノードによって共有される。
【0054】
上述した行列変換は、変更されたMCL処理のexpansion演算の計算におけるM2の計算を容易にする。M2=M2の各要素は下記から与えられる:
【数7】
【0055】
グラフの観点では、この式は、パス上のウェイトwαβを、第三のノードvγを介してノードvαをノードvβにつなぐ2−パス上のすべてのウェイトの積和で置き換えることであると考えられる。上記の変換によれば、所与のノードを基点とするエッジを効率的に判定することが可能になる。
【0056】
2つのノードをつなぐ2−パスの組はあらかじめ計算され、ルックアップテーブルに記憶される。これは、画像に関するグラフの正規の特性によって可能である。
【0057】
図6は、ノードvi,jとノードvm,nの間のエッジのウェイト計算に用いられる2−パスの組を示す。ノードvm,nは画像内のvi,jの1ピクセル上であって1ピクセル右であるから、このエッジはoffset[e]=(1,1)に対応する。
【0058】
M2を計算する場合、e∈[0,Ne]から与えられたエッジのウェイトが各ノードについて更新される。e番目のエッジは、ノードvm,nから始まり、vi,jで終わる。ここで、(m,n)=(i,j)+offset[e]である。(i,j)→(s,t)→(m,n)を接続する一般的な2パスは、[efirst,esecond]と定義される。ここで、
(s,t)=(i,j)+offset[efirst]、
(m,n)=(s,t)+offset[esecond]
である。
【0059】
efirst,esecondのあらかじめ計算された2−パスを用いるルックアップテーブルが、各eについて用いられる。このテーブルをdetour[e]と表記する。テーブルdetour[e]は、vm,nを経由したvi,jからvs,tへのジャンプが可能な全てのインデックス(efirst,esecond)を含んでいる。
【0060】
上述のアルゴリズムの複雑さは、当初のMCLの場合のO(N3)とは対照的にO(Nr4)である。これは、本アルゴリズムがサイズの大きな画像をスーパーピクセルにセグメント化するのに適していることを意味する。
【0061】
さらに、M2を計算するための上述のアルゴリズムは、1ピクセルあたり1スレッドのパラレルアーキテクチャーに効率的にマッピングすることができる。inflation演算の計算についても、1ピクセルあたり1スレッドで実装することができる。したがって、本発明の実施形態によれば、上述のように変更したMCL処理はGPU上に実装することができる。
【0062】
上記実装においては、当初のMCL法と比較して10倍の高速化が見られた。さらに、当該変更された方法は、当初のMCL法の場合ではメモリを使い果たすようなサイズの大きな画像をセグメント化することができる。
【0063】
図7は、上述した方法を用いるスーパーピクセルへの画像分割を示す。当該画像は412×400ピクセルである。この例において、インフレーションパラメーターp=1.4とし、距離しきい値はd=4.5とした。本アルゴリズムは、単精度浮動小数点(345GFLOP)を用いるNVIDIA Quadro Fx 4600 GPU上でNVIDIA CUDA並列処理アーキテクチャを用いて実装された。本アルゴリズムは、図7に示すようなスーパーピクセルに画像を分割するのに21.45秒を要した。図7から分かるように、本アルゴリズムは、形が一様でサイズが均一なスーパーピクセルを生成する。
【0064】
図8は、スーパーピクセルへの画像分割に上述した方法を用いる場合の画像処理方法のフローチャートである。ステップS802では、原画像を受け取る。ステップS804では、上述した方法によって当該画像をスーパーピクセルに分割する。S806では、S804において得られたスーパーピクセル表現を用いて当該画像を処理する。
【0065】
スーパーピクセルを用いた画像処理は、例えば画像内の物体検出であってもよい。例えば、画像内のスーパーピクセルに基づいて、当該画像から人間の顔が検出され得る。スーパーピクセルを用いた画像処理は、画像分類、画像の3D再構成、画像の圧縮または符号化であってもよい。例えば、当業者に既知のアルゴリズムを用いて画像を圧縮または暗号化してもよい。
【0066】
図9は、画像のノイズを低減する方法のフローチャートを示している。ステップS902では、上述した方法を用いて画像がスーパーピクセルに分割される。ステップS904では、各スーパーピクセル内のノイズが次のように推定される。各スーパーピクセル内のピクセル輝度を平滑化し、その残余を抽出する。この残余をノイズとする。ステップS906では、画像に双方向フィルタが適用される。双方向フィルタの平滑化能力は、各ピクセルで推定されたノイズに適合する。上述した方法を用いて画像がスーパーピクセルに分割される場合、均一のスーパーピクセルが生成されることに留意されたい。図9に示されるノイズ低減法において、均一のスーパーピクセルとしていることにより、画像の全体にわたってノイズを一貫して推定することが可能である。
【0067】
図10は、画像内の物体を検出する方法のフローチャートを示している。該方法は、一枚の画像から物体を検出したり、映像シーケンスのフレーム群にわたって物体を追跡するのに用いることができる。ステップS1002では、上述した方法を用いて、画像がスーパーピクセルに分割される。ステップS1004では、各スーパーピクセルが、検出する物体の一部に対応する確率が計算される。これは、背景からのスーパーピクセルのセパレーション、形状の手掛かり、シェーディング、物体の部分を表わす可能性のあるスーパーピクセルのグループと背景を表わすグループの間にはっきりした差異があるかどうかといった要素に基づく。ステップS1006では、候補部分から物体表現が選ばれる。このステップS1006における選択は、ステップS1004で計算された確率、さらには、検出物体の相対的位置、相対サイズおよび対称性についての拘束を用いてなされる。
【0068】
図10に示された方法を用いて検出される物体は、人物であってもよい。この場合、S1004では、物体の部分を人物の手足もしくはその一部、頭部もしくはその一部、または胴体もしくはその一部として確率を計算する。これらの部分の候補が画像内で識別されると、ステップS1006において、当該画像から人物を検出することができる。ここで、相対位置は、頭部と胴体に対する手足の位置である。対称性の要件とは、例えば左腕と右腕の衣服には対称性があることである。
【0069】
本出願で述べた方法によって生成されるスーパーピクセルは均一であることから、これらは類似ブロックと見なすことができ、アセンブルステップS1006はより簡単になり、様々な形やサイズのスーパーピクセルが用いられる場合よりも正確になる。
【0070】
図11は、画像の三次元再構成を計算する方法のフローチャートを示している。ステップS1102では、上述した方法を用いて、画像がスーパーピクセルに分割される。本方法では、各スーパーピクセルは平面であることを仮定している。ステップS1104では、各スーパーピクセルの奥行きおよび法線方向が計算される。これは、マルコフ確率場(Markov Random Field:MRF)の最大事後確率割当を探索することにより実行される。これは、シーンのビューに投影する場合、最小のフォトコンシステンシ(photoconsistency)エラーを与える各スーパーピクセルの奥行きおよび法線方向を検出するとともに、隣接するスーパーピクセルの奥行きおよび法線の滑らかな変更を考慮することを含んでいる。ステップS1106では、奥行きと法線方向に基づいて三次元再構成が計算される。該三次元再構成が二以上の画像に基づいてもよい。例えば、該三次元再構成が異なる位置から撮影された一連の画像に基づいてもよい。
【0071】
図11に示す方法において均一のスーパーピクセルを用いる場合、低い計算コストで正確な結果を得ることができる。非均一性がMRFソルバーの性能を低下させうることが知られている。
【0072】
いくつかの実施形態を説明したが、これらの実施形態は例示のみを目的としており、発明の範囲を制限することは意図していない。実際には、本明細書で説明した新規の方法およびシステムは他の様々な形で具体化することができ、また発明の要旨から逸脱しない範囲で、本明細書で説明した方法およびシステムの構造における様々な省略、置換、および変更を行ってもよい。添付の特許請求の範囲およびその均等物は、発明の範囲および要旨に含まれうる構造あるいは改良に及ぶことが意図される。
【関連出願】
【0001】
この出願は、2011年3月23日に提出され、参照することによりその全内容が本明細書に組み込まれる英国特許出願第1104909.5号に基づいており、その優先権の利益を主張するものである。
【技術分野】
【0002】
本明細書で説明する実施形態は、一般に画像をセグメント化するための方法およびシステムに関する。
【背景技術】
【0003】
多くの画像処理技術は、画像をセグメント化する前処理ステップを含んでいる。画像をセグメント化することは、デジタル画像をスーパーピクセルに分割することを含む。各スーパーピクセルは画像の一組のピクセルである。セグメント化の後に、スーパーピクセルについての画像処理が実行される。スーパーピクセルへの画像のセグメント化は、入力画像が画像内の構造的情報を反映するコンパクトな方法で符号化されることを可能にする。これにより、例えば画像内の特徴を分類するための画像処理が容易になる。
【0004】
セグメント化後の画像のさらなる処理を効率化するために、大きさが一定で形状がコンパクトな均一のスーパーピクセルを生成することが多くの場合に有利である。この要件は、多くの場合、画像をスーパーピクセルにセグメント化する計算コストとのバランスがとられなければならない。
【図面の簡単な説明】
【0005】
以下では、次の図面を参照しながら発明の実施形態を説明する。
【図1】図1は、画像をスーパーピクセルに分割するためのデータ処理システムのブロック図である。
【図2】図2は、画像をスーパーピクセルに分割するための方法のフローチャートである。
【図3】図3は、画像をスーパーピクセルに分割する方法を示している。
【図4】図4は、スーパーピクセルに分割された画像である。
【図5】図5は、画像のセクションの概要図である。
【図6】図6は、ピクセルの対間のウェイトを計算するのに用いられるパスを示す画像のセクションの概要図である。
【図7】図7は、スーパーピクセルに分割された画像である。
【図8】図8は、画像を処理する方法を示すフローチャートである。
【図9】図9は、画像内のノイズを低減する方法を示すフローチャートである。
【図10】図10は、画像の物体を検出する方法を示すフローチャートである。
【図11】図11は、画像の3次元再構成の計算方法を示すフローチャートである。
【発明を実施するための形態】
【0006】
本明細書で説明する実施形態は、画像をスーパーピクセルに分割し、該画像をスーパーピクセルを用いて処理することを対象とする。一実施形態では、画像を複数のスーパーピクセルに分割する方法が示される。各スーパーピクセルは、該画像の複数のピクセルを含む。該方法は該画像のピクセル対間のウェイトを計算することを含んでいる。該計算されたウェイトは、後に画像をスーパーピクセルに分割する方法において用いられる。該ウェイトは、ピクセル対間の類似性の測定から計算される初期ウェイトセットから反復して再計算される。該初期ウェイトセットから、画像上で閾値距離未満のピクセル対について合成ウェイトセットが計算される。該合成ウェイトセットの計算は、ピクセル対のウェイトを、ピクセル対の第1ピクセルの第3ピクセルとの初期ウェイトと、第2ピクセルとの第3ピクセルのウェイトとの積の、第3ピクセルセットにわたる和として計算することを含む。その後、各ウェイトはべき乗係数演算を受ける。合成ウェイトセットの計算に続いて、合成ウェイトセットと初期ウェイトセットは、収束チェックのために比較されるウェイトが収束する場合、該収束したウェイトセットは画像をスーパーピクセルに分割するために用いられる。
【0007】
本発明の実施形態は、計算上効率的な態様で画像のスーパーピクセルへの分割を容易化する。画像上で互いに閾値距離内のピクセル対のみについて合成ウェイトを計算するので、該方法は、複雑さを大きく増加させることなく、サイズの大きな画像に用いることができる。また、該方法で得られるスーパーピクセルはサイズおよび形状が均一である。このことは、該方法により生成されたスーパーピクセル表現を用いる処理ステップにおける正確な画像処理を可能にする。
【0008】
実施形態では、第1ピクセルおよび第2ピクセルのウェイトの計算は第1ルックアップテーブルを読み出すことを含む。第1ルックアップテーブルは、第1ピクセルと、第1ピクセルの閾値距離内のピクセルセットの間の画像上の変換セットを表す。画像の正規特性により、互いに閾値距離内にある画像上のピクセル対間の変換は、アルゴリズムの実行前に計算し、ルックアップテーブルに記憶することができる。
【0009】
実施形態では、第1ピクセルおよび第2ピクセルのウェイトの計算は、第2ルックアップテーブルを読み出すことをさらに含む。第2ルックアップテーブルは、第3ピクセルセットを経由した第1ピクセルから第2ピクセルへの画像上の変換セットを表す。
【0010】
実施形態では、ピクセル間の類似性の測定はピクセル間の強度の差から計算される。
【0011】
実施形態では、画像の各ピクセルに関連付けられたウェイトセットを記憶するためのメモリが割り当てられる。該メモリは、所与のピクセルに対して閾値距離内のピクセルの数に応じて割り当てられる。閾値距離未満のピクセル対間でウェイトが計算されるので、所与ピクセルに関連付けられたウェイトの数は当該ウェイトが計算される前に分かる。これは、該方法を開始する前に、ウェイトを記憶するためのメモリを割り当てることができることを意味する。
【0012】
実施形態では、初期ウェイトは各ピクセルに関連付けられたウェイトセットとしてメモリに記憶される。初期ウェイトセットは、合成ウェイトセットの計算の後に、該合成ウェイトセットに置き換えられる。
【0013】
一実施形態では、画像を処理する方法は、画像をスーパーピクセルに分割し、該スーパーピクセルを用いて該画像を処理することを含む。
【0014】
実施形態では、画像を処理することは画像内の特徴を認識することを含む。
【0015】
実施形態では、画像を処理することは画像を符号化することを含む。
【0016】
実施形態では、画像を処理することは画像の三次元再構成を計算することを含む。
【0017】
実施形態では、スーパーピクセルを用いて画像を処理することは、画像内のノイズを低減することを含む。
【0018】
実施形態では、計算機によって実行された時、該計算機に画像をスーパーピクセルに分割する方法を実行させる計算機実行可能命令を持つ計算機可読媒体が提供される。
【0019】
実施形態では、画像を複数のスーパーピクセルに分割するための画像処理装置を開示している。各スーパーピクセルは、画像の複数のピクセルを含む。該システムはプロセッサを含む。該プロセッサは、初期ウェイトセットを計算する。各ウェイトは、画像のピクセル対に関連付けられる。初期ウェイトセットは、隣接するピクセル間の類似性の測定を用いて計算される。プロセッサは、初期ウェイトセットから合成ウェイトセットを計算する。画像内において閾値距離未満で離れたピクセル対について合成ウェイトセットが計算される。該合成ウェイトセットは、第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算し、べき乗係数への各ウェイトの値を計算し、ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することにより計算される。該プロセッサは、収束ウェイトセットへの収束をチェックするために、初期ウェイトセットと合成ウェイトセットを比較する。ピクセルは、該収束ウェイトセットを用いて、スーパーピクセルにグループ化される。
【0020】
実施形態では、システムは、第1ルックアップテーブルのためのストレージをさらに含む。該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示す。プロセッサは、第1ルックアップテーブルを読み出すことにより第1ピクセルおよび第2ピクセルのウェイトを計算する。
【0021】
実施形態では、システムは、第2ルックアップテーブルのためのストレージをさらに含む。第2ルックアップテーブルは、第3ピクセルセットを経由した第1ピクセルから第2ピクセルへの画像上の変換セットを表す。プロセッサは、第2ルックアップテーブルを読み出すことにより第1ピクセルおよび第2ピクセルのウェイトを計算する。
【0022】
実施形態では、システムはさらにメモリを含む。該メモリは、画像の各ピクセルに関連付けられたウェイトセットを記憶するために割り当てられる。該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる。
【0023】
実施形態では、プロセッサは、各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶し、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える。
【0024】
実施形態では、システムは、スーパーピクセルを用いて画像に更なる処理を施す。
【0025】
実施形態では、プロセッサは、スーパーピクセルを用いて画像内のノイズを低減する。
【0026】
実施形態では、プロセッサは、スーパーピクセルを用いて画像内の特徴を認識する。
【0027】
実施形態では、プロセッサは、スーパーピクセルを用いて画像を符号化する。
【0028】
実施形態では、プロセッサは、スーパーピクセルを用いて、画像の三次元表現を計算する。
【0029】
図1は、画像をスーパーピクセルに分割するためのデータ処理システム100を示している。データ処理システム100は、プロセッサ102、メモリ104、入力モジュール108および出力モジュール110を含む。メモリ104は、画像をスーパーピクセルに分割するためのプログラム106を記憶する。プログラム106は、プロセッサ102で実行することができる。入力モジュール108は、処理のために画像の入力を受け取ることができる。また、出力モジュール110は処理の結果を出力することができる。データ処理システム100は、画像をさらに処理してもよい。この更なる処理は、スーパーピクセルに基づいてもよい。あるいは、出力モジュール110がスーパーピクセルを出力してもよい。入力モジュール108は、カメラまたはビデオカメラからイメージデータを受け取ることが可能なデータ接続とすることができる。入力モジュール108は、インターネットのようなネットワーク上の画像データを受信することができるネットワーク接続とすることができる。データ処理システム100は、従来型の計算機であってもよい。以下、プログラム106が従う方法を説明する。
【0030】
図2は、本発明の実施形態に従って画像をスーパーピクセルに分割する方法のフローチャートを示している。該方法は、画像のピクセル間のウェイトを反復して計算することを含んでいる。このウェイトセットの収束が観測されると、該収束したウェイトセットを用いて画像はスーパーピクセルに分割される。ステップS10では、画像のピクセル間の初期ウェイトセットが計算される。初期ウェイトセットは、隣接ピクセル間の類似性の測定から計算される。この類似性の測定は、例えばピクセルの対の強度の差に基づいてもよい。ステップS12では、初期ウェイトセットを用いて合成ウェイトセットが計算される。合成ウェイトセットは、初期ウェイトセットより画像内の多くのピクセル対について計算されうる。合成ウェイトセットは、互いに閾値距離内のピクセルの対に限定して計算される。ステップS14において収束のチェックが行なわれる。これは、初期ウェイトセットと合成ウェイトセットを比較することを含んでいる。合成ウェイトセットと初期ウェイトセットが収束していないことが判明した場合、ステップS16において、合成ウェイトセットは初期ウェイトセットとして記憶される。S16に続いて、新しい初期ウェイトセットから更なる合成ウェイトセットが計算される。ステップS14においてウェイトの収束が分かると、ステップS18において画像がスーパーピクセルに分割される。画像をスーパーピクセルに分割することは、非ゼロ・ウェイトを持つピクセルをスーパーピクセルにグループ化することを含む。
【0031】
上記方法は、マルコフクラスタリング(MCL)アルゴリズムに基づいている。MCLアルゴリズムは、確率的なグラフに反復して2つの演算子を適用することを含む。MCLアルゴリズムを適用した結果、確率的なグラフは1組のクラスタに分割される。確率的なグラフへの2つの演算子の適用は、グラフのノードがランダムウォーク中にアクセスされる確率付きの、グラフ内のランダムウォークを作ることである(そのランダムウォークにおける他のノードのようにそのノードが同じクラスタの一部を形成するかどうかを決定する)とみなすことができる。画像をスーパーピクセルに分割する問題にMCLアルゴリズムを適用する場合、画像はグラフであるとみなす。グラフ上の各ピクセルは、グラフ上のノードに対応する。グラフ上のエッジは、ピクセルに対応するノードをリンクする。MCLアルゴリズムのグラフへの適用の結果は、バラバラな木の組である。グラフが画像を表わす場合、これらのバラバラな木は、画像のピクセル群(group of pixels)である。本発明の実施形態は、MCLアルゴリズムを適用する計算コストおよび生成されたスーパーピクセルの形への影響を低減するMCLアルゴリズムへの修正を含んでいる。
【0032】
上記のように、MCLアルゴリズムは確率的なグラフに反復して2つの演算子を適用することを含んでいる。これらはexpansion演算子とinflation演算子である。expansion演算子はグラフ内のフローを巡回するように振る舞い、類似したアピアランスの領域を混ぜ合わせる傾向がある。inflation演算子は、強いエッジをより強くし、弱いエッジをより弱くする。これは、クラスタ境界を作り、同時に各クラスタの代表を選出するという二重の目的に役立つ。expansion演算子およびinflation演算子は、収束まで繰り返し適用される。収束は、グラフがexpansion演算子およびinflation演算子の下で安定している場合に起こると考えられる。収束では、グラフはバラバラな木の組になる。
【0033】
MCLアルゴリズムは、以下のように数学的に表すことができる。無向グラフG=(V,E)は、ノードv∈Vおよびエッジe∈Eで規定される。2のノードvαおよびvβにかかるエッジeは、eαβとして表わされる。また、このエッジについてのウェイトはw(eαβ)と規定され、wαβと表わされる。グラフGはマルコフグラフに変形される。マルコフグラフは、すべてのノードに関して、ノードを基点とするエッジのウェイトが正であって合計が1のグラフである。
【0034】
マルコフグラフに関して、マルコフ行列として知られる確率行列は、各エントリがエッジウェイトとなるように:
【数1】
【0035】
のように書くことができる。ここで、Nはノードの総数である。
【0036】
上記定式化において、expansion演算子とはMの二乗を計算することである。inflation演算子とは行列Mのアダマール累乗を求めることであって、これにスケーリングステップが続き、結果として得られる行列を再び確率的なものとする。行列のアダマール累乗は、要素について累乗をとることにより計算される。
【0037】
したがって、マルコフグラフG=(V,E)の非負の確率行列Mについて、MCLアルゴリズムのステップは次のように定式化することができる:
【数2】
【0038】
ここで、Hp(・)は、べき乗係数pによる、要素についてのべき乗演算を表わし、N(・)は、列についての正規化を表す。これらステップは、MをMnewに更新しながら繰り返される。MとMnewの間で差異が観察されない平衡に達すると処理は停止する。この段階で、得られた確率行列によって表される結果のグラフは、その結合が全体のグラフをカバーするバラバラな木の組として現われる。各木は、木のルートによってユニークに表わすことができるクラスタを定義する。したがって、ある所与のノードについて、それが属するクラスタの識別(identity)は、ルートまでその木をトレースすることにより検索することができる。MCL処理の振る舞いを司る重要なパラメーターは、インフレーションパラメーターpである。これは、出力の解像度に影響を及ぼす。高いインフレーション値は、より多数の小クラスタを生成する。MCLによって生成されるクラスタの数はエマージェント(emergent)であることに留意されたい。すなわち、それは直ちに(directly)設定されない。MCLの収束時間は、クラスタ化の目標解像度に大きく依存する。これは、予期するクラスタがより粗くなると、より長くなる。さらに、MCLの収束は、高解像度ではより安定することが知られている。したがって、MCLは典型的に高い解像度が必要とされるスーパーピクセルの計算に好適であると考えられる。
【0039】
MCLアルゴリズムは、以下のように画像をスーパーピクセルに分割するのに用いることができる。nx×nyピクセルの入力画像IをグラフG=(V,E)であると解釈する。画像Iの各ピクセルは、次の集合内のノードに対応する:
【数3】
【0040】
ここで、f(i,j)=j・nx+iは、ノード(i,j)への1次元インデックスを返すフラットインデックス関数である。ノード数Nはピクセル数の合計N=nxnyである。エッジE={eαβ}の集合は例えば隣接のノードを接続する:
【数4】
【0041】
画像構造は、画像強度の差をエッジウェイトにマッピングする関数を定義することによってグラフ上にマッピングされる。画像に対応するグラフの隣接行列は、8つの近隣類似関数を用いて初期化することができる:
【数5】
【0042】
ここで、I[i,j]=(r,g,b)は、利用可能なチャネル上の画像の強度を表す。パラメーターμは、自由パラメーターとして選ぶことができる。本明細書で提示した結果を得るためにμ=10を用いた。
【0043】
本発明の実施形態において、上述したMCL処理は、expansionステップにおいてエッジを延長可能な長さを制限するように変更される。この変更には2つの利点があることが判明した。第1に、変更した方法によって得られたスーパーピクセルの形状は均一である。第2に、エッジの長さの制限によって画像をセグメント化する際の計算コストは、エッジ長を制限しないMCL処理と比較して低下する。
【0044】
変更されたMCLスキームは、expansionステップで作成された新しいエッジの長さに上界を適用する。これは、expansionステップにおいて下記条件を課すことを含んでいる:
【数6】
【0045】
ここで、rはピクセルの距離しきい値である。
【0046】
MCL処理の収束には形式的証明が存在することに留意されたい。上記条件がexpansionステップに含まれる場合、処理は近似になる。しかし、変更されたMCL処理は、適用されたすべての画像について収束することがわかった。
【0047】
図3は、本発明の実施形態によって画像をスーパーピクセルに分割することに関するステップを示している。図3aでは、類似性測定を用いてピクセル間のウェイトが初期化される。非ゼロ・ウェイトを持ったピクセル間のリンクあるいはエッジが示される。図3bは、数回にわたりexpansion演算子およびinflation演算子を適用した後のピクセル間ウェイトを示している。ここで、expansion演算子は、ピクセルの対についてウェイトが計算される距離には上界がある、という制約を条件として適用される。図3cは、expansion演算子およびinflation演算子を収束するまで反復して適用した後の非ゼロ・ウェイトを示す。図3dは、図3cに示されたウェイトを用いてスーパーピクセルに分割された画像を示している。
【0048】
図4は、当初のMCL法によって生成されたスーパーピクセル(図4a)と、距離しきい値を含むMCL法によって生成されたスーパーピクセル(図4b)との間の比較を示す。図4bに示されるスーパーピクセルは、サイズおよび形状がより均一であることが明らかである。
【0049】
上述したエッジ最大長が制約されたMCL法を適用する際の計算コストは、行列Mにおける非ゼロ要素の数を減らし、従ってexpansionステップにおけるM2を算出する際の計算コストを低減する。さらに、ノードに接続されるエッジの最大数が距離制約によって制限され、計算が開始される前にその数が分かることから、行列Mの変換を以下のように実装することができる。行列Mは、画像の2D構造を保存し、ノードを基点とする各エッジのウェイトを当該ノードに対応するピクセルに関連させることにより記憶される。ピクセルに対応するノードに関連づけられた非ゼロ・ウェイトの最大数は計算の開始前に既知であることから、計算が初期化される際にボリュームが割り付けられ、この割付けは計算の全体を通じて維持される。
【0050】
エッジウェイトがボリュームLに記憶される。ボリュームLはサイズnx×ny×Neを持つ。ここで、nx×nyは入力画像のピクセルサイズ、Neは各ノードから発する非ゼロ・ウェイトを持ったエッジの数である。Neは、画像の各ピクセルの関連づけられたウェイトの数とみなすこともできる。
【0051】
画像上の位置(i,j)のピクセルについて、エッジ・エントリーL[i,j;e]はノードvi,jから始まり、(i,j)+offset[e]のノードを指す。offset[e]は、所与ノードからの可能なすべてのジャンプを表わすテーブルである。offset[e]は、エッジrの最大長に基づいてあらかじめ計算することができる。例えば、r=1の場合、テーブルオフセットは[(0,0),(−1,0),(+1,0),(0,−1),(0,+1)]と与えられる。このテーブルはあらかじめ計算され、グラフ内のすべてのノードで共有することができる。
【0052】
図5は、画像のピクセルに関連づけられた非ゼロ・ウェイトを示す画像部分の概要図である。画像500は、複数のピクセル502、504、506を含む。画像502のピクセルは、距離r内のピクセル504とともに非ゼロ・ウェイトを持っている。図5の例において、r=√2である。ピクセル502とそれ自体の間のエッジ503に関連づけられた非ゼロ・ウェイト、および、ピクセル502と、画像中でピクセル502からr=√2未満のピクセル群504との間のエッジ群505に関連づけられた非ゼロ・ウェイトがある。
【0053】
図5に示される場合では、offset=[(0;0);(1;0);(1;1);(0;1);(−1;1);(−1;0);(−1;−1);(0;−1);(1;−1)]である。このテーブルは、画像グラフの正規の特性を示すことから、すべてのノードによって共有される。
【0054】
上述した行列変換は、変更されたMCL処理のexpansion演算の計算におけるM2の計算を容易にする。M2=M2の各要素は下記から与えられる:
【数7】
【0055】
グラフの観点では、この式は、パス上のウェイトwαβを、第三のノードvγを介してノードvαをノードvβにつなぐ2−パス上のすべてのウェイトの積和で置き換えることであると考えられる。上記の変換によれば、所与のノードを基点とするエッジを効率的に判定することが可能になる。
【0056】
2つのノードをつなぐ2−パスの組はあらかじめ計算され、ルックアップテーブルに記憶される。これは、画像に関するグラフの正規の特性によって可能である。
【0057】
図6は、ノードvi,jとノードvm,nの間のエッジのウェイト計算に用いられる2−パスの組を示す。ノードvm,nは画像内のvi,jの1ピクセル上であって1ピクセル右であるから、このエッジはoffset[e]=(1,1)に対応する。
【0058】
M2を計算する場合、e∈[0,Ne]から与えられたエッジのウェイトが各ノードについて更新される。e番目のエッジは、ノードvm,nから始まり、vi,jで終わる。ここで、(m,n)=(i,j)+offset[e]である。(i,j)→(s,t)→(m,n)を接続する一般的な2パスは、[efirst,esecond]と定義される。ここで、
(s,t)=(i,j)+offset[efirst]、
(m,n)=(s,t)+offset[esecond]
である。
【0059】
efirst,esecondのあらかじめ計算された2−パスを用いるルックアップテーブルが、各eについて用いられる。このテーブルをdetour[e]と表記する。テーブルdetour[e]は、vm,nを経由したvi,jからvs,tへのジャンプが可能な全てのインデックス(efirst,esecond)を含んでいる。
【0060】
上述のアルゴリズムの複雑さは、当初のMCLの場合のO(N3)とは対照的にO(Nr4)である。これは、本アルゴリズムがサイズの大きな画像をスーパーピクセルにセグメント化するのに適していることを意味する。
【0061】
さらに、M2を計算するための上述のアルゴリズムは、1ピクセルあたり1スレッドのパラレルアーキテクチャーに効率的にマッピングすることができる。inflation演算の計算についても、1ピクセルあたり1スレッドで実装することができる。したがって、本発明の実施形態によれば、上述のように変更したMCL処理はGPU上に実装することができる。
【0062】
上記実装においては、当初のMCL法と比較して10倍の高速化が見られた。さらに、当該変更された方法は、当初のMCL法の場合ではメモリを使い果たすようなサイズの大きな画像をセグメント化することができる。
【0063】
図7は、上述した方法を用いるスーパーピクセルへの画像分割を示す。当該画像は412×400ピクセルである。この例において、インフレーションパラメーターp=1.4とし、距離しきい値はd=4.5とした。本アルゴリズムは、単精度浮動小数点(345GFLOP)を用いるNVIDIA Quadro Fx 4600 GPU上でNVIDIA CUDA並列処理アーキテクチャを用いて実装された。本アルゴリズムは、図7に示すようなスーパーピクセルに画像を分割するのに21.45秒を要した。図7から分かるように、本アルゴリズムは、形が一様でサイズが均一なスーパーピクセルを生成する。
【0064】
図8は、スーパーピクセルへの画像分割に上述した方法を用いる場合の画像処理方法のフローチャートである。ステップS802では、原画像を受け取る。ステップS804では、上述した方法によって当該画像をスーパーピクセルに分割する。S806では、S804において得られたスーパーピクセル表現を用いて当該画像を処理する。
【0065】
スーパーピクセルを用いた画像処理は、例えば画像内の物体検出であってもよい。例えば、画像内のスーパーピクセルに基づいて、当該画像から人間の顔が検出され得る。スーパーピクセルを用いた画像処理は、画像分類、画像の3D再構成、画像の圧縮または符号化であってもよい。例えば、当業者に既知のアルゴリズムを用いて画像を圧縮または暗号化してもよい。
【0066】
図9は、画像のノイズを低減する方法のフローチャートを示している。ステップS902では、上述した方法を用いて画像がスーパーピクセルに分割される。ステップS904では、各スーパーピクセル内のノイズが次のように推定される。各スーパーピクセル内のピクセル輝度を平滑化し、その残余を抽出する。この残余をノイズとする。ステップS906では、画像に双方向フィルタが適用される。双方向フィルタの平滑化能力は、各ピクセルで推定されたノイズに適合する。上述した方法を用いて画像がスーパーピクセルに分割される場合、均一のスーパーピクセルが生成されることに留意されたい。図9に示されるノイズ低減法において、均一のスーパーピクセルとしていることにより、画像の全体にわたってノイズを一貫して推定することが可能である。
【0067】
図10は、画像内の物体を検出する方法のフローチャートを示している。該方法は、一枚の画像から物体を検出したり、映像シーケンスのフレーム群にわたって物体を追跡するのに用いることができる。ステップS1002では、上述した方法を用いて、画像がスーパーピクセルに分割される。ステップS1004では、各スーパーピクセルが、検出する物体の一部に対応する確率が計算される。これは、背景からのスーパーピクセルのセパレーション、形状の手掛かり、シェーディング、物体の部分を表わす可能性のあるスーパーピクセルのグループと背景を表わすグループの間にはっきりした差異があるかどうかといった要素に基づく。ステップS1006では、候補部分から物体表現が選ばれる。このステップS1006における選択は、ステップS1004で計算された確率、さらには、検出物体の相対的位置、相対サイズおよび対称性についての拘束を用いてなされる。
【0068】
図10に示された方法を用いて検出される物体は、人物であってもよい。この場合、S1004では、物体の部分を人物の手足もしくはその一部、頭部もしくはその一部、または胴体もしくはその一部として確率を計算する。これらの部分の候補が画像内で識別されると、ステップS1006において、当該画像から人物を検出することができる。ここで、相対位置は、頭部と胴体に対する手足の位置である。対称性の要件とは、例えば左腕と右腕の衣服には対称性があることである。
【0069】
本出願で述べた方法によって生成されるスーパーピクセルは均一であることから、これらは類似ブロックと見なすことができ、アセンブルステップS1006はより簡単になり、様々な形やサイズのスーパーピクセルが用いられる場合よりも正確になる。
【0070】
図11は、画像の三次元再構成を計算する方法のフローチャートを示している。ステップS1102では、上述した方法を用いて、画像がスーパーピクセルに分割される。本方法では、各スーパーピクセルは平面であることを仮定している。ステップS1104では、各スーパーピクセルの奥行きおよび法線方向が計算される。これは、マルコフ確率場(Markov Random Field:MRF)の最大事後確率割当を探索することにより実行される。これは、シーンのビューに投影する場合、最小のフォトコンシステンシ(photoconsistency)エラーを与える各スーパーピクセルの奥行きおよび法線方向を検出するとともに、隣接するスーパーピクセルの奥行きおよび法線の滑らかな変更を考慮することを含んでいる。ステップS1106では、奥行きと法線方向に基づいて三次元再構成が計算される。該三次元再構成が二以上の画像に基づいてもよい。例えば、該三次元再構成が異なる位置から撮影された一連の画像に基づいてもよい。
【0071】
図11に示す方法において均一のスーパーピクセルを用いる場合、低い計算コストで正確な結果を得ることができる。非均一性がMRFソルバーの性能を低下させうることが知られている。
【0072】
いくつかの実施形態を説明したが、これらの実施形態は例示のみを目的としており、発明の範囲を制限することは意図していない。実際には、本明細書で説明した新規の方法およびシステムは他の様々な形で具体化することができ、また発明の要旨から逸脱しない範囲で、本明細書で説明した方法およびシステムの構造における様々な省略、置換、および変更を行ってもよい。添付の特許請求の範囲およびその均等物は、発明の範囲および要旨に含まれうる構造あるいは改良に及ぶことが意図される。
【特許請求の範囲】
【請求項1】
画像を複数のスーパーピクセルに分割する方法であって、各スーパーピクセルは該画像の複数のピクセルを含み、該方法は、
隣接するピクセル間の類似性の測定を用いて、各ウェイトが該画像のピクセル対に関連付けられる初期ウェイトセットを計算すること;
該画像における閾値距離未満で分けられたピクセル対について、初期ウェイトセットから合成ウェイトセットを計算すること、該合成ウェイトセットの計算は、
第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算すること;
べき乗係数への各ウェイトの値を計算すること;および
ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することを含み;
収束ウェイトセットへの収束をチェックするために該初期ウェイトセットと該合成ウェイトセットを比較すること;および
該収束ウェイトセットを用いて、ピクセルをスーパーピクセルにグループ化すること
を含む方法。
【請求項2】
第1ピクセルおよび第2ピクセルのウェイトを計算することは、第1ルックアップテーブルを読み出すことを含み、該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示す請求項1の方法。
【請求項3】
第1ピクセルおよび第2ピクセルのウェイトを計算することは、第2ルックアップテーブルを読み出すことをさらに含み、該第2ルックアップテーブルは、第3ピクセルのセットを経由した該第1ピクセルから該第2ピクセルへの該画像の変換セットを示す請求項2の方法。
【請求項4】
前記ピクセル間の類似性の測定は、ピクセル間の強度の差から計算される請求項1の方法。
【請求項5】
該画像の各ピクセルに関連付けられたウェイトセットを記憶するためのメモリを割り当てることをさらに含み、該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる請求項1の方法。
【請求項6】
各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶すること、および、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える請求項5の方法。
【請求項7】
請求項1の方法を用いて、画像をスーパーピクセルに分割すること;および
該スーパーピクセルを用いて、該画像を処理すること
を含む、画像を処理する方法。
【請求項8】
該スーパーピクセルを用いて該画像を処理することは、該画像内の特徴を認識することを含む請求項7の方法。
【請求項9】
該スーパーピクセルを用いて該画像を処理することは、該画像を符号化することを含む請求項7の方法。
【請求項10】
該スーパーピクセルを用いて該画像を処理することは、該画像の三次元再構成を計算することを含む請求項7の方法。
【請求項11】
該スーパーピクセルを用いて該画像を処理することは、該画像のノイズを低減することを含む請求項7の方法。
【請求項12】
計算機によって実行された時に、該計算機に請求項1の方法を実行させる計算機実行可能命令を持つ計算機可読媒体。
【請求項13】
画像を複数のスーパーピクセルに分割する画像処理システムであって、各スーパーピクセルは該画像の複数のピクセルを含み、該システムは、
隣接するピクセル間の類似性の測定を用いて、各ウェイトが該画像のピクセル対に関連付けられる初期ウェイトセットを計算し;
第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算し、べき乗係数への各ウェイトの値を計算し、ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することにより、該画像における閾値距離未満で分けられたピクセル対について、該初期ウェイトセットから合成ウェイトセットを計算し;
収束ウェイトセットへの収束をチェックするために該初期ウェイトセットと該合成ウェイトセットを比較し;および
該収束ウェイトセットを用いて、ピクセルをスーパーピクセルにグループ化する
プロセッサを具備するシステム。
【請求項14】
第1ルックアップテーブルのストレージをさらに具備し、該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示し、前記プロセッサは、該第1ルックアップテーブルを読み出すことにより、第1ピクセルおよび第2ピクセルのウェイトを計算する、請求項13のシステム。
【請求項15】
第2ルックアップテーブルのストレージをさらに具備し、該第2ルックアップテーブルは、第3ピクセルのセットを経由した該第1ピクセルから該第2ピクセルへの該画像の変換セットを示し、前記プロセッサは、該第2ルックアップテーブルを読み出すことにより、第1ピクセルおよび第2ピクセルのウェイトを計算する、請求項14のシステム。
【請求項16】
メモリをさらに具備し、該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる、該画像の各ピクセルに関連付けられたウェイトセットを記憶するため割り当てられる請求項13のシステム。
【請求項17】
前記プロセッサは、各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶し、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える、請求項16のシステム。
【請求項18】
前記プロセッサは、該スーパーピクセルを用いて、該画像内のノイズを低減する請求項13のシステム。
【請求項19】
前記プロセッサは、該スーパーピクセルを用いて、該画像内の特徴を認識する請求項13のシステム。
【請求項20】
前記プロセッサは、該スーパーピクセルを用いて、該画像の三次元表現を計算する請求項13のシステム。
【請求項1】
画像を複数のスーパーピクセルに分割する方法であって、各スーパーピクセルは該画像の複数のピクセルを含み、該方法は、
隣接するピクセル間の類似性の測定を用いて、各ウェイトが該画像のピクセル対に関連付けられる初期ウェイトセットを計算すること;
該画像における閾値距離未満で分けられたピクセル対について、初期ウェイトセットから合成ウェイトセットを計算すること、該合成ウェイトセットの計算は、
第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算すること;
べき乗係数への各ウェイトの値を計算すること;および
ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することを含み;
収束ウェイトセットへの収束をチェックするために該初期ウェイトセットと該合成ウェイトセットを比較すること;および
該収束ウェイトセットを用いて、ピクセルをスーパーピクセルにグループ化すること
を含む方法。
【請求項2】
第1ピクセルおよび第2ピクセルのウェイトを計算することは、第1ルックアップテーブルを読み出すことを含み、該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示す請求項1の方法。
【請求項3】
第1ピクセルおよび第2ピクセルのウェイトを計算することは、第2ルックアップテーブルを読み出すことをさらに含み、該第2ルックアップテーブルは、第3ピクセルのセットを経由した該第1ピクセルから該第2ピクセルへの該画像の変換セットを示す請求項2の方法。
【請求項4】
前記ピクセル間の類似性の測定は、ピクセル間の強度の差から計算される請求項1の方法。
【請求項5】
該画像の各ピクセルに関連付けられたウェイトセットを記憶するためのメモリを割り当てることをさらに含み、該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる請求項1の方法。
【請求項6】
各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶すること、および、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える請求項5の方法。
【請求項7】
請求項1の方法を用いて、画像をスーパーピクセルに分割すること;および
該スーパーピクセルを用いて、該画像を処理すること
を含む、画像を処理する方法。
【請求項8】
該スーパーピクセルを用いて該画像を処理することは、該画像内の特徴を認識することを含む請求項7の方法。
【請求項9】
該スーパーピクセルを用いて該画像を処理することは、該画像を符号化することを含む請求項7の方法。
【請求項10】
該スーパーピクセルを用いて該画像を処理することは、該画像の三次元再構成を計算することを含む請求項7の方法。
【請求項11】
該スーパーピクセルを用いて該画像を処理することは、該画像のノイズを低減することを含む請求項7の方法。
【請求項12】
計算機によって実行された時に、該計算機に請求項1の方法を実行させる計算機実行可能命令を持つ計算機可読媒体。
【請求項13】
画像を複数のスーパーピクセルに分割する画像処理システムであって、各スーパーピクセルは該画像の複数のピクセルを含み、該システムは、
隣接するピクセル間の類似性の測定を用いて、各ウェイトが該画像のピクセル対に関連付けられる初期ウェイトセットを計算し;
第1ピクセルおよび第2ピクセルのウェイトを該第1ピクセルと第3ピクセルの間の初期ウェイトと該第3ピクセルと該第2ピクセルの間の初期ウェイトの積の、第3ピクセルにわたる和として計算し、べき乗係数への各ウェイトの値を計算し、ピクセルのすべてのウェイトセットの合計が1になるように、該ウェイトセットを該べき乗係数に正規化することにより、該画像における閾値距離未満で分けられたピクセル対について、該初期ウェイトセットから合成ウェイトセットを計算し;
収束ウェイトセットへの収束をチェックするために該初期ウェイトセットと該合成ウェイトセットを比較し;および
該収束ウェイトセットを用いて、ピクセルをスーパーピクセルにグループ化する
プロセッサを具備するシステム。
【請求項14】
第1ルックアップテーブルのストレージをさらに具備し、該第1ルックアップテーブルは、第1ピクセルから該第1ピクセルの閾値距離内のピクセルセットへの該画像の変換セットを示し、前記プロセッサは、該第1ルックアップテーブルを読み出すことにより、第1ピクセルおよび第2ピクセルのウェイトを計算する、請求項13のシステム。
【請求項15】
第2ルックアップテーブルのストレージをさらに具備し、該第2ルックアップテーブルは、第3ピクセルのセットを経由した該第1ピクセルから該第2ピクセルへの該画像の変換セットを示し、前記プロセッサは、該第2ルックアップテーブルを読み出すことにより、第1ピクセルおよび第2ピクセルのウェイトを計算する、請求項14のシステム。
【請求項16】
メモリをさらに具備し、該メモリは、所与のピクセルに対して閾値距離を有するピクセルの数によって割り当てられる、該画像の各ピクセルに関連付けられたウェイトセットを記憶するため割り当てられる請求項13のシステム。
【請求項17】
前記プロセッサは、各ピクセルに関連付けられたウェイトセットとして該メモリに該初期ウェイトセットを記憶し、該合成ウェイトセットの計算の後に該合成ウェイトセットで該初期ウェイトセットを置き換える、請求項16のシステム。
【請求項18】
前記プロセッサは、該スーパーピクセルを用いて、該画像内のノイズを低減する請求項13のシステム。
【請求項19】
前記プロセッサは、該スーパーピクセルを用いて、該画像内の特徴を認識する請求項13のシステム。
【請求項20】
前記プロセッサは、該スーパーピクセルを用いて、該画像の三次元表現を計算する請求項13のシステム。
【図1】
【図2】
【図3a】
【図3b】
【図3c】
【図3d】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3a】
【図3b】
【図3c】
【図3d】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−203910(P2012−203910A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−65106(P2012−65106)
【出願日】平成24年3月22日(2012.3.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2012−65106(P2012−65106)
【出願日】平成24年3月22日(2012.3.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]