(57)【要約】【課題】画像の各画素をノードとし、ノード間の特徴量を示す重みを持つエッジからなるグラフにおいて、エッジの特徴量に応じたソートを伴う領域分割と同等の分割精度を保ちつつ、該ソートにかかる負荷を軽減した領域分割を行う。【解決手段】S103で、グラフ内のエッジを特徴量に応じた複数ビンに分類する。S104で、分類される特徴量が小さいビン順に、該ビン内のエッジを順次選択していく。S105で、該選択された注目エッジの両端のノードが属する第1および第2の領域に対し、各領域内でのエッジの最大特徴量と、領域間でのエッジの最小特徴量に基づいて結合の可否を判定する。結合可であれば、S106で第1および第2の領域を結合して第3の領域を生成し、注目エッジの特徴量、第1および第2の領域での最大特徴量のうちの最大の値を、第3の領域に対する最大特徴量に設定する。S105で結合不可と判定された場合、またはS106で第3の領域が生成された場合に、S104で次の注目エッジを選択する。【選択図】  図1
2014211718.tif 000002
【特許請求の範囲】
【請求項１】
画像の各画素をノードとし、ノード間の特徴量を示すエッジを含むグラフを用いて該画像の領域分割を行う画像処理装置であって、
前記グラフ内のエッジをその特徴量が対応する特徴量範囲に分類するエッジ分類手段と、
対応する特徴量が小さい特徴量範囲順に、該特徴量範囲内のエッジを順次選択するエッジ選択手段と、
前記エッジ選択手段で選択された注目エッジの両端のノードがそれぞれ属する第1および第2の領域に対し、各領域内のエッジの最大特徴量と、領域間のエッジの最小特徴量に基づいて、前記第1の領域と前記第2の領域との結合の可否を判定する結合判定手段と、
前記結合判定手段で結合可と判定された場合に、前記第1の領域と前記第2の領域を結合して第3の領域を生成する結合手段と、
前記注目エッジの特徴量、前記第1の領域のエッジの最大特徴量、前記第2の領域のエッジの最大特徴量のうちの最大の値に基づいて、前記第3の領域のエッジの最大特徴量を設定する設定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記結合判定手段は、前記第1および第2の領域に対し、各領域内のエッジの最大特徴量のうちの小さい方が、領域間のエッジの最小特徴量よりも小さい場合に、前記第1の領域と前記第2の領域の結合不可と判定することを特徴とする請求項1に記載の画像処理装置。
【請求項３】
前記エッジ分類手段で分類される特徴量範囲は等幅であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項４】
前記エッジ分類手段で分類される特徴量範囲は、対応する特徴量が小さいほど範囲幅が狭いことを特徴とする請求項1または2に記載の画像処理装置。
【請求項５】
前記エッジ選択手段は、前記結合判定手段で結合不可と判定された場合、または前記結合手段で前記第3の領域が生成された場合に、次の注目エッジを選択することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項６】
前記エッジの特徴量は、ノード間の相違度を示すことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項７】
前記エッジの特徴量は、色空間でのノード間距離を示すことを特徴とする請求項6に記載の画像処理装置。
【請求項８】
前記エッジの特徴量は、ノード間の類似度を示すことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項９】
前記設定手段は、前記注目エッジの特徴量、前記第1の領域のエッジの最大特徴量、前記第2の領域のエッジの最大特徴量のうちの最大の値を、前記第3の領域のエッジの最大特徴量に設定することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項１０】
さらに、前記選択手段による全エッジの選択が終了した後、所定サイズ以下である領域を周囲の領域と統合する小領域統合手段を有することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項１１】
エッジ分類手段、エッジ選択手段、結合判定手段、結合手段および設定手段を有し、画像の各画素をノードとし、ノード間の特徴量を示す重みを持つエッジからなるグラフを用いて該画像の領域分割を行う画像処理装置における画像処理方法であって、
前記エッジ分類手段が、前記グラフ内のエッジをその特徴量が対応する特徴量範囲に分類し、
前記エッジ選択手段が、対応する特徴量が小さい特徴量範囲順に、該特徴量範囲内のエッジを順次選択し、
前記結合判定手段が、前記エッジ選択手段で選択された注目エッジの両端のノードがそれぞれ属する第1および第2の領域に対し、各領域内のエッジの最大特徴量と、領域間のエッジの最小特徴量に基づいて、前記第1の領域と前記第2の領域との結合の可否を判定し、
前記結合手段が、前記結合判定手段で結合可と判定された場合に、前記第1の領域と前記第2の領域を結合して第3の領域を生成し、
前記設定手段が、前記注目エッジの特徴量、前記第1の領域のエッジの最大特徴量、前記第2の領域のエッジの最大特徴量のうちの最大の値に基づいて、前記第3の領域のエッジの最大特徴量を設定する
ことを特徴とする画像処理方法。
【請求項１２】
コンピュータ装置で実行されることにより、該コンピュータ装置を請求項1乃至10のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をグラフベースで領域分割する技術に関する。
【背景技術】
【０００２】
画像を色や模様、明るさなど属性が同じになるように複数の領域に分割する技術として、領域分割手法が用いられる。これら分割された領域はその後、分割領域単位で符号化処理、領域の認識や識別が行えるため、画素レベルで画像を処理するのに比べて処理量を削減することができる。近年、ソフトウェアによって制御される組み込み機器において画像処理を行うケースは増えてきており、領域分割後の領域単位での処理を行うことで、組み込み機器でも高解像度の画像に対して複雑な処理が行うことができるようになると考えられる。
【０００３】
従来より、画像の領域分割に関して様々な手法が提案されている。まず、画素をクラスタリングすることで画像を領域に分ける手法として、非特許文献1、2、3などが挙げられる。
【０００４】
非特許文献1は、mode-seekingと呼ばれるノンパラメトリックな特徴空間の探索手法を示し、画像中の画素を所定の特徴空間に投影し、入力点群について、その分布密度の極大位置を発見する手法(Mean-shift法)である。入力点群を、発見された複数の極大位置群と結びつけることで画素をクラスタリングする。この手法は繰り返し処理による収束演算に基づく手法であり、全体の処理量も大きい。
【０００５】
非特許文献2は、上記非特許文献1と同様にmode-seekingに基づく画素のクラスタリング手法を示すが、特徴空間をカーネル密度推定が大きくなるように移動させる手法である。この手法は収束演算でないため、上記Mean-shift法に比べて処理量は少ないが、処理オーダーがO(n^2)で全体の処理量は多い。
【０００６】
非特許文献3では、まず初期位置であるクラスタセンターを画像中のエッジと重ならないように分散して配置させる。次にクラスタセンターをシードとして画素をk-mean法に基づいてクラスタリングし領域単位に分ける。この手法は繰り返し処理があるものの演算量は上記の手法に比べ小さい。しかしながら各クラスタセンター間でk-mean法を行わなければならないため、クラスタリングには画像全体のデータを保持する必要があり、大きなメモリを確保することが難しい組み込み用途では実装が困難である。
【０００７】
上記クラスタリングによる領域分割技術に対し、画素をノードとし、隣接画素間をノードを繋ぐエッジとし、画像をグラフとして扱って領域分割するグラフベース領域分割手法として、非特許文献4や5がある。
【０００８】
非特許文献4は、ノード間の類似性を表す親和度を特徴量としたエッジをノード間に設定し、カットするエッジを特定することによって領域分割する。このカットを求めるには、親和度を表現する行列の固有値問題を解く必要があり、多くの計算量が必要となる。
【０００９】
非特許文献5は、上記非特許文献4と同様に画素をノードとして隣接画素間をエッジとして繋ぐ。エッジは画素間の色等の相違度を特徴量として重み付けられる。全てのエッジ特徴量を算出後、相違度の大きさ順にソートし、ソート順に各エッジの両端のノードつまり画素が同じ領域に属するか否かを判定する。同じ領域と判定された画素同士は同じ領域として結合する。全てのエッジに対して同様の判定処理を行い、全てのエッジの両端の画素の結合判定処理が終わった時点で、属性が同じ複数の領域に分割される。この手法は上述した手法と比べて演算量自体が小さく高速に処理可能であり、かつ高精度という特徴がある。
【００１０】
非特許文献5による領域分割を適用した画像処理方法が特許文献1に記載されている。上述したように非特許文献5の技術ではソート処理を特徴としているが、分割領域の形状はソート順に大きく依存しており、照明条件などによっても形状が大きく変わる。これに対し特許文献1では、時系列情報に基づき、形状変形が時系列で大きく変化しないように領域分割を行うための手法が提案されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2010-140201号公報
【非特許文献】
【００１２】
【非特許文献１】Dorin Comaniciu,Peter Meer,"Mean Shift:A Robust Approach toward Feature Space Analysis"。IEEE Trans.Pattern Analysis Machine Intelligence.,Vol.24,No.5,603-619,2002
【非特許文献２】Radhakrishna Achanta,Appu Shaji,Kevin Smith,Aurelien Lucchi,Pascal Fua,and Sabine Susstrunk,"SLIC Superpixels"。EPFL Technical Report No.149300,June 2010.
【非特許文献３】Andrea Vedaldi and Stefano Soatto,"Quick Shift and Kernel Methods for Mode Seeking"。in Proceedings of the European Conference on Computer Vision(ECCV),2008.
【非特許文献４】Jianbo Shi, and Jitendra Malik"Normalized Cuts and Image Segmentation"。IEEE Trans.PAMI,vol.22,no.8,August 2000.
【非特許文献５】Pedro F.Felzenszwalb and Daniel P.Huttenlocher,"Efficient Graph-Based Image Segmentation。"International Journal of Computer Vision,Volume 59,Number 2,September 2004
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記非特許文献5に記載された領域分割処理では、全てのエッジ特徴量をソートし、該ソート順に各エッジの両端のノードが同じ領域に属するか否かを判定して、同じ領域に属すると判定された場合にこれらを結合していく。このソート処理によって、領域内で最大の特徴量であるエッジを探索するための処理を削減することができるが、ソートの処理量は対象画像で生成するエッジ数に依存する。非特許文献5では処理対象画像において、注目画素の周囲8方向の画素とのエッジが作成されることから、全エッジ数をソートするには相応の時間を要する。
【００１４】
一般にソート処理は逐次処理として行う場合が多く、ハードウェア化によるソート処理の高速化も容易とは言いがたい。このことから、組み込み機器などで高解像度画像を画像処理する場合、領域分割におけるソート処理がボトルネックになってくるのは明白である。
【００１５】
本発明は上記問題に鑑み、画像の各画素をノードとし、ノード間の特徴量を示す重みを持つエッジからなるグラフにおいて、以下のような領域分割を行う画像処理装置および画像処理方法を提供することを目的とする。すなわち、エッジの特徴量に応じたソート後に領域分割する場合と同等の分割精度を保ちつつ、該ソートにかかる負荷を軽減した領域分割を行う。
【課題を解決するための手段】
【００１６】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。すなわち、画像の各画素をノードとし、ノード間の特徴量を示すエッジを含むグラフを用いて該画像の領域分割を行う画像処理装置であって、前記グラフ内のエッジをその特徴量が対応する特徴量範囲に分類するエッジ分類手段と、対応する特徴量が小さい特徴量範囲順に、該特徴量範囲内のエッジを順次選択するエッジ選択手段と、前記エッジ選択手段で選択された注目エッジの両端のノードがそれぞれ属する第1および第2の領域に対し、各領域内のエッジの最大特徴量と、領域間のエッジの最小特徴量に基づいて、前記第1の領域と前記第2の領域との結合の可否を判定する結合判定手段と、前記結合判定手段で結合可と判定された場合に、前記第1の領域と前記第2の領域を結合して第3の領域を生成する結合手段と、前記注目エッジの特徴量、前記第1の領域のエッジの最大特徴量、前記第2の領域のエッジの最大特徴量のうちの最大の値に基づいて、前記第3の領域のエッジの最大特徴量を設定する設定手段と、を有することを特徴とする。
【発明の効果】
【００１７】
本発明は、画像の各画素をノードとし、ノード間の特徴量を示す重みを持つエッジからなるグラフにおいて、エッジの特徴量に応じたソートを伴う領域分割と同等の分割精度を保ちつつ、該ソートにかかる負荷を軽減した領域分割が可能となる。
【図面の簡単な説明】
【００１８】
【図１】第1実施形態における領域分割処理を示すフローチャート、
【図２】第1実施形態に係るデジタルカメラのシステム構成を示すブロック図、
【図３】第1実施形態に係るパーソナルコンピュータのシステム構成を示すブロック図、
【図４】第1実施形態におけるエッジのビン分類処理を示すフローチャート、
【図５】第1実施形態における領域内最大特徴量の設定処理を示すフローチャート、
【図６】従来の領域分割処理を示すフローチャート、
【図７】第1実施形態における領域結合の推移を示す図、
【図８】第1実施形態による領域分割結果の具体例を示す図、
【図９】図8の各分割結果における分割領域数を示す図、
【図１０】第1実施形態で発生する、ビン数が少ないことに起因する領域分割の不具合を示す図、
【図１１】第2実施形態におけるエッジのビン分類方法を示すフローチャート、である。
【発明を実施するための形態】
【００１９】
以下、本発明実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関わる本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２０】
本発明は、例えばデジタルカメラによる撮影画像を入力として、該撮像画像を領域分割する画像処理装置に関するものである。このような画像処理装置の機能は、例えばデジタルカメラで撮像した画像を保持するパーソナルコンピュータ、あるいはデジタルカメラ本体に搭載することが可能である。
【００２１】
＜第1実施形態＞
●従来の領域分割処理
本実施形態は、上記非特許文献5に記載された領域分割処理に対し、分割精度を維持しつつ、エッジ特徴量のソート処理を簡易化したものである。したがって、非特許文献5に記載の技術がベースとなるため、ここでまず、その領域分割アルゴリズムについて詳細に説明する。
【００２２】
非特許文献5に記載された各記号は、以下のように定義されている。まず、画像を無向グラフG=(V,E)(Vは頂点集合、Eは頂点の対を表わす枝の集合)として定義する。このとき、v∈Vは画像中の画素に対応するノードを示し、(vi,vj)∈Eは隣接する画素に対応するノード間をつなぐエッジとして表現する。また、エッジの重みはノード間の相違度を表す特徴量w((vi,vj))として表現される。特徴量w((vi,vj))は非特許文献5ではRGB色空間でのユークリッド距離として定義されているが、これに限るものではない。分割領域をCとすると、グラフノードVを分割するセグメンテーションSは、C∈Sとして定義される。
【００２３】
ここで、領域内C∈Vの最小全域木をMST(C,E)として、領域内最大のエッジ特徴量Int(C)は以下の式(1)で定義される。
【００２４】
Int(C)＝max w(e)      ・・・(1)
(ただし、e∈MST(C,E))
また、異なる2つの領域C1,C2∈V間のノードを繋ぐエッジのうち、最小となるエッジ特徴量Dif(C1,C2)は、以下の式(2)で定義される。
【００２５】
Dif(C1,C2)＝min w((vi,vj))      ・・・(2)
(ただし、vi∈C1，vj∈C2，(vi,vj)∈E)
これら式(1),(2)を用いてセグメンテーションを行うための基準を、以下の式(3)として定義する。
【００２６】
┌
D(C1,C2)＝│true if Dif(C1,C2)＞MInt(C1,C2)
│false otherwise                        ・・・(3)
└
式(3)において、trueは2つの領域を分離することを表し、falseは2つの領域を結合することを表す。また、MInt(C1,C2)は、以下の式(4)で表わされる。
【００２７】
MInt(C1,C2)＝min(Int(C1)+τ(C1),Int(C2)+τ(C2))      ・・・(4)
ここで、τ(C)は2つの異なる領域の結合しやすさを制御する閾値として機能する関数(閾値関数)であり、非特許文献1では以下の式(5)のように定義している。なお式(5)において、kはパラメータ、|C|は領域内Cの大きさを示すノード数としている。
【００２８】
τ(C)＝k/|C|      ・・・(5)
(5)式の定義により、領域Cが小さい場合にはτ(C)の値は大きく、すなわち領域Cは結合しやすくなり、領域Cが大きい場合にはτ(C)が小さく、すなわち領域Cは結合しにくくなる。
【００２９】
以上のように、式(3)はすなわち領域の結合判定式であり、2つの領域C1,C2に対し、Dif(C1,C2)とMInt(C1,C2)との比較結果に応じて、該2領域の結合の可否を判定する。以下、領域間で最小となるエッジ特徴量を示すDif(C1,C2)を領域間最小特徴量と称し、各領域で最大のエッジ特徴量のうちの小さい方の特徴量を示すMInt(C1,C2)を領域内最大特徴量と称する。すなわち式(3)では、領域間最小特徴量Dif(C1,C2)が領域内最大特徴量MInt(C1,C2)以下であれば結合を行い、領域間最小特徴量Dif(C1,C2)が領域内最大特徴量MInt(C1,C2)を超えると結合を行わない。
【００３０】
図6に、上記非特許文献5における領域分割アルゴリズムのフローチャートを示す。
【００３１】
まずS601では画像の平滑化を行う。例えば、画像にガウスフィルタを適用し、ノイズ除去することで平滑化が行われる。S602では、各画素をノードとして隣接ノード間のエッジグラフを作成する。ここで初期状態では画像内の領域はノード単位であるため、領域内におけるノード間の最大特徴量を示すInt(C)の値は0となる。S603では、S602で作成したエッジをノード間の相違度が小さい順にソートする。S604では、ソートされたエッジにおいて、未処理かつ相違度が最も小さいエッジw(e)を選択する。S605では、選択されたエッジの両端につながっているノードが属する2つの領域C1,C2を結合するか否かを、上記式(3)を用いて判定する。結合すると判定された場合はS606に進み、結合しないと判定された場合はS607を介してS604に戻り、次のエッジの処理に進む。
【００３２】
S606では、2つの領域C1,C2を結合して領域C3とし、その際に、結合された領域C3内の最大特徴量Int(C3)の値をw(e)に更新する。S607では、S602で作成した全てのエッジに対して結合判定が行われたかを判定し、全てのエッジが処理されるまで、S604〜606の処理を繰り返す。全てのエッジが処理されたらS608に進む。S608では、S607までの領域分割処理の後、画像内のノイズや細かい模様等によってできる微小な領域を統合する処理が行われる。これを小領域統合と呼ぶ。具体的には、S607までの領域分割によってできる全ての領域のサイズを調べ、所定サイズ以下である領域を周囲の領域と結合させる。この小領域統合によって得られた領域が、最終的な領域分割結果となる。
【００３３】
以上説明したように非特許文献5では、図6に示す処理によって、画像を複数領域に分割している。
【００３４】
非特許文献5における領域分割手法の特徴の一つとして、エッジのソート順に基づく処理が挙げられる。具体的にはS604において、ソート順にエッジw(e)を選択し、エッジの両端につながっているノードが属する2つの領域C1,C2を結合する場合、結合された領域C3内の最大特徴量Int(C3)をw(e)で置き換えている。これは、S603でエッジを相違度が小さい順にソートし、その後S604で未処理かつ相違度が小さい順にエッジを選択していることが前提である。すなわち、現在選択しているエッジw(e)が、該エッジにつながる2つの領域内の最大特徴量Int(C1),Int(C2)よりも必ず大きいことを利用したものである。これにより、S605で選択したエッジが接続されている両端の領域を結合するか否かを判定する際には毎回、2つの領域C1,C2内の最大特徴量Int(C1)およびInt(C2)を探索する処理を削減することができる。
【００３５】
しかしながら、ソートの処理量は対象画像で生成するエッジ数に依存する。例えば、対象画像サイズがVGA(640×480)である場合、非特許文献5では注目画素の周囲8方向に隣接する画素とのエッジを作成することから、約1,228,800(640×480×4)本ものエッジをソートする必要がある。一般に、データ数nに対してクイックソートを行う場合、平均計算時間はO(nlogn)となり、最長の計算時間はO(n^2)となる。したがって、上記エッジ数をクイックソートするための時間を100MHzの周波数を想定して見積もると、平均で約75ms、最長時間にいたっては約15sも必要となる。
【００３６】
そこで本実施形態では、画像内のエッジをその特徴量に応じた複数ビンに分類して概ねソートを行うことで、領域分割精度を維持しつつ、ソート処理の負荷を軽減する。
【００３７】
●装置構成
図2に、本実施形態に係る画像処理装置の機能を備えたデジタルカメラ201のシステム構成を示す。同図において、各構成要素はバス202を介して相互接続されており、駆動回路203のもと、撮像処理、撮像画像の保存、外部出力等の各種処理を行う。
【００３８】
撮像光学部204は撮影用レンズ等で構成され、撮像対象(被写体)の光学情報を集光する。なお、図示していないが、撮像光学部204における撮影時の光の明るさに応じて露光量を調整するための絞り機構や、夜間や暗所での撮影用フラッシュ等の構成をさらに備えることも可能である。光学センサ部205はCCDやCMOS等の受光素子アレイおよび駆動回路で構成され、撮像光学部204で集光した光学情報をその光強度に応じた電気信号に変換する。映像信号処理部206は、光学センサ部205から出力された、映像を示す電気信号をデジタル化してデジタル画像を生成する。本実施形態における領域分割処理は例えば、映像信号処理部206において実行される。
【００３９】
生成されたデジタル画像は、バス202経由で内部メモリ207もしくはメモリI/F208経由で外部メモリ209に転送される。外部インターフェース(I/F)210はUSB等のシリアル出力端子を備え、パーソナルコンピュータ(PC)等の外部機器に対し、内部メモリ207もしくは外部メモリ209に格納されている画像データを転送する。
【００４０】
デジタルカメラ201はまた、ユーザーインターフェース212として表示部213とユーザ入力操作部214を備えている。表示部213は例えば液晶画面からなり、ファインダとしての機能も兼ねるとともに、内部メモリ207または外部メモリ209から読み出した画像を表示出力したり、撮像条件等の設定を行うための操作画面を提示したりする。
【００４１】
駆動回路203は例えばCPUであり、ROM215に格納されているプログラムコードにしたがって所定の処理動作を実行することにより、当該機器全体の動作をコントロールし、その処理の際のシステム変数や環境変数をRAM216に一時的に書き込む。
【００４２】
図3は、本実施形態に係る画像処理装置の機能を実現する、PC301の構成を示すブロック図である。同図において、302はシステム全体の制御を司るCPUであり、303はブートプログラムやBIOSを記憶しているROM、304はCPU302のワークエリアとして利用されるRAMである。305はOS、領域分割情報を作成するためのアプリケーション、ならびに、様々なデータを格納するためのハードディスクドライブ(HDD)である。306はキーボード、307はマウスであり、ユーザーインターフェースとして機能する。308は内部にビデオメモリ及び表示コントローラを内蔵する表示制御部であり、309は表示制御部308からの映像信号を受信し、表示するための表示装置である。310は各種外部デバイスと通信するインターフェースである。本システムにおける各種データは、バス311を介してやり取りされる。
【００４３】
●第1実施形態の領域分割処理
本実施形態における領域分割処理について、図1に示すフローチャートを用いて説明する。この処理は、例えば図2に示す駆動回路203がROM215からロードしたプログラムコードを実行することによって実現される。具体的には、撮像光学部204で撮影した映像信号に基づいて映像信号処理部206で生成されたデジタル画像を読み込むことで、領域分割処理が開始される。また、領域分割処理が回路化されて映像信号処理部206に組み込まれている場合には、映像信号処理部206において直接領域分割処理が行われる。該処理によって得られた領域分割データは、内部メモリ207ないしはメモリI/F208を経由して外部メモリ209に出力しても良いし、表示部213に分割結果として出力しても良い。また、領域分割結果を、駆動回路203や映像信号処理部206にて他の画像処理に用いても良い。
【００４４】
また、図1のフローチャートに示す処理を、図3に示す構成において動作させても良い。例えば、図3に示すPC301に電源が投入されると、CPU302はROM303に格納されたブートプログラムを実行する。その後、HDD305に格納されたOSをRAM304にロードさせ、本実施形態に関する領域分割情報を作成するアプリケーションを起動することで、PC301を画像処理装置として機能させても良い。領域分割結果は表示制御部308を経由して表示装置309に表示させても良いし、HDD305に保持しても良い。
【００４５】
以下、図1のフローチャートについて、詳細に説明する。なお以下では、エッジ両端のノードの相違度等を示す特徴量(エッジ重み)を、エッジ特徴量として記載する。
【００４６】
まずS101では、処理対象として入力された画像に対し、ガウスフィルタを適用してノイズ除去を行うことで平滑化する。そしてS102では、各画素をノードとしてノード間のエッジグラフを作成する。ここで、初期状態では画像内の領域はノード単位であるため、領域内におけるノード間の最大特徴量Int(Cany)の値は0となる。
【００４７】
S103では、S102で作成したグラフ内の全エッジを、その重みすなわちエッジ特徴量に応じて複数の特徴量範囲(ビン)に分類することで、エッジの概ねソートとする。エッジ特徴量として取りうる範囲を0〜R-1、ビンの数をBとし、ビン0からビンB-1まで順次、値の小さなエッジを保持するとする。なお、各ビンが保持するエッジ特徴量の範囲は等幅であり、すなわちビン毎にエッジ特徴量の範囲がR/Bの間隔で割り当てられる。
【００４８】
この場合、各ビンへの分類は図4のフローチャートに示すように行われる。すなわち、S401で、各エッジをその特徴量の大きさに応じてS402〜S406のそれぞれに対応したビンに分類する。例えば、注目するエッジの特徴量が0〜R/B-1の範囲内であれば、該エッジはS402でビン0に分類される。同様に、エッジの特徴量がR/B-1〜2*R/B-1の範囲内であれば該エッジはS403でビン1に分類される。このように、多段階のエッジ特徴量に応じた分類がなされ、最大ではエッジ特徴量が(B-1)*R/B〜R-1の範囲内でS406でビンB-1に分類される。なお、図4においてはS404〜S405間における複数ステップの記載が省略されている。このようにS103では、入力画像におけるエッジ毎に、その特徴量の値に対応したビンへの保持を行う。なお、各ビンにおいて、保持されているエッジは順不同である。
【００４９】
次にS104で、処理対象となる注目エッジw(e)を選択する。このエッジ選択はループにより全エッジの選択が終了するまで繰り返される。その際の選択順としては、対応する特徴量が小さい特徴量範囲順に、該特徴量範囲内の未処理のエッジから順次選択が行われる。すなわち、まずビン0内でエッジを選択し、ビン0の全エッジが選択されたら、次にビン1内のエッジを選択していき、ループ終了時には全ビン内でのエッジが注目エッジとして選択されたことになる。
【００５０】
そしてS105では、選択された注目エッジw(e)の両端につながっているノードがそれぞれ属する第1の領域C1と第2の領域C2についての結合の可否を判定する。この結合判定には、上記従来例で示した式(3)を用いる。なお、ここで式(3)による結合判定を行うことから、本実施形態では上記従来例で式(1),(2)に示した定義等についても同様に適用する。
【００５１】
S105で領域C1,C2の結合不可と判定された場合は、S107へ進んでS102で作成した全てのエッジが選択されたか否かを判定し、未選択のエッジがあればS104で次の注目エッジを選択する。一方、S105で領域C1,C2の結合可と判定された場合、S106で第1の領域C1と第2の領域C2を結合して第3の領域C3を生成する。その際に、結合された領域C3内の最大特徴量Int(C3)を、図5に示すフローチャートに従って設定する。まずS501で、現在選択しているw(e)が、結合対象となる各領域C1,C2の最大特徴量Int(C1),Int(C2)のいずれよりも大きい場合には、S503でInt(C3)=w(e)に更新する。そうでない場合はS502でInt(C1)とInt(C2)を比較し、Int(C1)の方が大きい場合はS504でInt(C3)=Int(C1)として更新し、そうでない場合はS505でInt(C3)=Int(C2)として更新する。すなわちS106では、領域C1,C2の結合によって生成された領域C3のInt(C3)として、w(e),Int(C1),Int(C2)のうち最も大きい値を設定する。
【００５２】
そしてS107では、S102で作成した全てのエッジについて、結合判定および結合処理を行ったか否かを判定する。すなわち、全てのエッジを注目エッジとした処理が終了するまでS104〜S106を繰り返し、全てのエッジを注目エッジとした処理が終了したらS108に進む。S108では、画像内のノイズや細かい模様等によってできる微小な領域を統合する小領域結合を行う。具体的には、S107までの領域分割によってできる全ての領域のサイズを調べ、所定サイズ以下である領域を周囲の領域と結合させる。この小領域統合によって得られた領域が、最終的な領域分割結果となる。
【００５３】
上述したように本実施形態における領域分割処理においては、まず、エッジに対するソートの処理時間を短縮するために、ソート処理の簡易化を行っている。ソート処理の簡易化とはすなわち、S103におけるビン分類によってデータが概ねソートされた状態にすることを示している。
【００５４】
上記非特許文献5に記載された領域分割の手法(以下、従来例)では、エッジの正確なソートを行う必要があった。エッジの正確なソート処理を行う場合、ソート処理に要する時間(処理時間)は画素間のエッジ数に比例するため、画像サイズが大きくなればそれに伴ってエッジ数が増加し、処理時間が増大してしまう。そこで本実施形態によってソート処理を簡易化することで、処理時間を短縮することができる。上記図4に示した各エッジをビンに分類する処理に係る処理時間オーダーは、エッジ数nに対してO(n)となり、従来例によるソート処理のコストO(nlogn)に比べて格段に小さい。
【００５５】
本実施形態にける領域分割手法の特徴は、ソート処理の簡易化に合わせて、領域内最大特徴量Int(C3)を更新することである。S103のビン分類によるソート処理の簡易化だけでは、各ビン内のデータはソートされていないため、従来例と同様に図6のS606で領域内最大特徴量Int(C3)＝w(e)で更新を行うと、領域分割精度が劣化してしまう。ここで上記特許文献1にも記載されているように、従来例の手法による領域分割結果はソート順に敏感に反応して変動するため、ソートが正確になされていることが前提となる。したがって、ビン内ではソートがなされていない本実施形態では、S606のように選択中のエッジw(e)の両端ノードが属する領域C1,C2を結合した領域C3内の最大特徴量Int(C3)を、単純にw(e)で置き換えることは適切でない。そのため本実施形態では、上記図5の方法によって、Int(C3)をw(e),Int(C1),Int(C2)のうち最も大きいものに更新することで、領域分割精度の劣化が抑制される。
【００５６】
●第1実施形態の領域分割処理の特徴
ここで、本実施形態における領域分割処理の特徴について具体的に説明する。上述したように本実施形態では、あるノードが属する領域Cについて、隣接する他ノードの領域との結合によって成長させることを式(3)で結合不可と判定されるまで繰り返すことで、最終的な分割領域を決定する。図7は、あるノードが属する領域Cに注目し、該領域Cに対する上記式(3)による結合判定と、結合による成長度合の推移の具体例を示す図である。上述したように式(3)では、領域C1,C2での領域間最小特徴量Dif(C1,C2)と領域内最大特徴量MInt(C1,C2)との比較結果に応じて、該2領域の結合の可否を判定する。なおここでは、領域Cが結合により成長を続ける場合を考えるため、以下では領域内最大特徴量MInt(C1,C2)を、領域C内での最大特徴量MInt(C)＝Int(C)+τ(C)として考える。また、領域Cと結合対象領域との間における領域間最小特徴量についても、以下ではDif(C)と表記する。
【００５７】
図7の縦軸は、結合判定の対象領域に対する評価値(領域間最小特徴量および領域内最大特徴量)を示し、横軸は、結合による領域の成長度合を表している。なお横軸において領域の成長度合は画素数として示され、横軸右方向に進むほど領域サイズが大きいことを示す。
【００５８】
図7(a)に示すグラフ701は、ソート処理を正確に行った後に、結合処理を行った第1の場合、すなわち従来例に記載された領域分割処理を示している。同図において、曲線702は領域間最小特徴量Dif(C)を表わしており、エッジは正確にソートされているので、領域Cが成長するにつれて領域間最小特徴量Dif(C)は大きくなり、すなわち単調増加のグラフとなっている。曲線703は領域内最大特徴量MInt(C)を表している。曲線703は、領域Cが小さいうちは式(5)に示す初期パラメータkに依存したτ(C)が支配的であり、領域Cが大きくなるにつれてτ(C)の値に依存して下がっていく。しかしτ(C)の値が十分に小さくなった後、例えば成長度合705付近でInt(C)の影響が支配的になって増加に転じ、それ以降は曲線702に沿って推移する。グラフ701の例では、成長度合704において曲線702の値が曲線703の値を越えるため、この時点で上記式(3)がtrue判定となり、領域Cの成長が止まって分割領域として確定される。
【００５９】
図7(b)に示すグラフ706は、図1の処理によってエッジを値ごとにビンに分類した後に結合処理を行うが、その際に結合後領域内の最大特徴量Int(C)の更新を、本実施形態を適用せずに行った第2の場合を表わしている。第2の場合ではすなわち、結合後領域内の最大特徴量Int(C)を、図5の処理に従わず、従来例に記載されたように現在選択されているエッジの特徴量w(e)に更新している。
【００６０】
グラフ706において曲線707は、図7(a)の曲線702と同様に領域間最小特徴量Dif(C)を示している。この場合、ビン内のエッジは正確にソートされておらず順不同であるため、曲線707は上記曲線702とは異なり、単調増加のグラフとはならない。また曲線708は、図7(a)の曲線703と同様に領域内最大特徴量MInt(C)を表している。曲線708は、領域Cが小さいうちは、初期値に依存したτ(C)が支配的で、領域が大きくなるにつれτ(C)の値に依存し下がっていく。しかしτ(C)の値が十分に小さくなった後、例えば成長度合705の付近でInt(C)の影響が支配的になって増加に転じる。この曲線708における曲線703との違いは、結合対象として選択・評価されるエッジが正確にソートされていないため、曲線707の形状に依存して曲線708も推移していることである。図7(a)のグラフ701のようにソートが正確になされている場合には、曲線702が曲線703を初めて越えた成長度合704の時点で、領域分割終了(確定)となる。図7(b)のグラフ706のようにエッジを値ごとにビン分類した後に結合処理を行うものの、本実施形態を適用せずに最大特徴量の更新を行った場合には、グラフ701の成長度合704よりも前段階の成長度合709で、曲線707が曲線708を越える。これにより、第2の場合では上記第1の場合に比べて、領域が十分に成長する前に、すなわち小さい領域のままで分割が確定し、過分割の状態が発生する。
【００６１】
図7(c)に示すグラフ710は、本実施形態を完全に適用した第3の場合を示している。第3の場合ではすなわち、図1の処理によってエッジを値ごとにビンに分類した後に結合処理を行い、結合後領域内の最大特徴量Int(C)の更新を図5に示すように、結合対象であった各領域の最大特徴量に応じて行う。
【００６２】
グラフ710における曲線707は、図7(b)と同様に領域間最小特徴量Dif(C)を示す。また図中点線で、図7(b)の曲線708を示す。また曲線711は、第3の場合に特有の領域内最大特徴量MInt(C)を示す。グラフ710でもグラフ706と同様に、成長度合705付近より前ではτ(C)の影響が支配的であるため、曲線708とほぼ同様の曲線で領域内最大特徴量は推移する。一方、成長度合705付近より後ではInt(C)の影響が支配的になるため、図5で示した処理によって結合後領域内の最大特徴量Int(C)を更新することで、領域内最大特徴量MInt(C)は曲線711のように推移する。これは、エッジが正確にソートされていない場合の結合処理において、図5の更新処理によってInt(C)が最大を維持し続けるためである。これにより第3の場合では、図7(b)のような過分割状態の発生を防ぎ、図7(a)における成長度合704に近い成長度合712での分割確定となり、分割精度が第1の場合と同程度に維持される。
【００６３】
なお、本実施形態ではInt(C)が最大を維持するように制御する例を示したが、本発明はこの例に限定されない。例えばInt(C)として最大から2番目の値を適用する方法や、最大の値から所定の演算を行って算出された値を適用する方法等、最大に準ずる値を適用しても構わない。
【００６４】
●領域分割の具体例
図8に、従来例による領域分割結果および本実施形態による領域分割結果の具体例を示す。801は領域分割処理対象となる画像(入力画像)である。802は上記第1の場合に相当する、従来例による領域分割処理結果、すなわち、図6に示すソート処理に基づく領域分割結果を示す画像である。803および804は上記第2の場合に相当する、ビンの数をそれぞれ128個および1024個として概ねソートした後、本実施形態が図5で提案する更新処理を適用せずに領域分割を行った結果を示す画像である。ビンの数が少ない画像803の方が各領域が小さくなり、過分割状態になっていることが分かる。これは、ビン内に存在するエッジの範囲が大きく、かつビン内でエッジが順不同に扱われていることに起因する。805は上記第3の場合に相当する、ビンの数を128個として概ねソートした後、本実施形態が図5で提案する更新処理を適用して領域分割を行った結果を示す。
【００６５】
ここで図9に、図8の各図における分割領域数をまとめる。画像802に示す従来例のソートによる分割領域数は424個であり、画像805に示す本実施形態による分割領域数は377個であるから、これらはほぼ同程度の領域分割数であることが分かる。これに対し、画像803,804に示す本実施形態の一部のみを適用した分割領域数は、128ビンで1155個、1024ビンで742個であり、本実施形態を完全適用した画像805に比べて領域数が著しく増加している。すなわち画像803,804では、画像805に比して過分割状態となっている。
【００６６】
以上説明したように本実施形態によれば、領域分割処理においてエッジを複数のビンに分類することでソート処理を簡易化して処理負荷を削減しつつ、領域分割精度を維持することが可能となる。
【００６７】
＜第2実施形態＞
以下、本発明に係る第2実施形態について説明する。上述した第1実施形態の手法では、ビン数が少ないことに起因して後述するような不具合が発生するが、第2実施形態ではこの不具合を解決する方法を示す。具体的には、第1実施形態での複数ビンへのエッジ分類においては、各ビンに対し、対応するエッジ特徴量の範囲が等幅で割り当てられている例を示した。第2実施形態ではこの各ビンに割り当てられるエッジ特徴量の範囲幅を可変とすることを特徴とする。
【００６８】
なお、第2実施形態における画像処理装置の構成は第1実施形態と同様であるため、説明を省略する。
【００６９】
●少ないビン数による不具合
まず、ビン数が少ないことに起因する不具合について、図10を用いて説明する。図10(a)は、空と海が写った入力画像1101である。空と海の各領域は平坦な色であるためエッジの変化が小さいが、空領域と海領域の境界部分のエッジは各領域のエッジよりも大きい。しかしながら、空や海は撮影条件によって互いが良く似た色として撮影されることがある。ここでは空と海の色が非常に似ているものとし、したがって各領域内のエッジと、領域境界部分でのエッジとの差は小さいものとなる。
【００７０】
図10(b)に、入力画像1101に対する、従来例の手法すなわちエッジの正確なソート処理による領域分割(ノード結合)に伴う領域の成長の様子を示す。ノードすなわち画素の結合処理はエッジの小さいところから順に行われるため、空と海それぞれの領域内で領域が成長する。例えば、結合処理を進めるにつれ、領域1102は海の部分内で領域1103へと成長する。これは、海領域と空領域の境界部分では各領域内よりもエッジが大きいため、境界部分のエッジについての結合処理は最後に行われるためである。海領域と空領域のそれぞれで領域が成長すると、最後に領域境界部分のエッジが評価される。この時、各領域は十分に大きくなっているため、領域内最大特徴量MInt(C1,C2)を決定する閾値関数τ(C1),τ(C2)の値が十分小さくなっている。したがって、MInt(C1,C2)＝min(Int(C1),Int(C2))がいずれかの領域内での最大エッジ特徴量のほぼそのものを示すと考えられる。したがって、各領域内のエッジと、領域境界部分でのエッジとで少しでも特徴量の差があれば、上記式(3)においてDif(C1,C2)＞MInt(C1,C2)となるためtrue判定となり、そこで領域分割がなされる。すなわち、空領域と海領域は適切に分割される。
【００７１】
図10(c)は、入力画像1101に対し、第1実施形態の手法すなわち複数ビンを用いた概ねソート処理による領域分割(ノード結合)に伴う領域の成長の様子を示す。エッジをビンに分類する場合、入力画像1101における空領域内または海領域内のエッジと、領域境界部分のエッジとの差が小さいと、これらのエッジが同一ビンに割り当てられることがある。さらに、ビン数が少ないほど、各ビンに対するエッジの範囲が広がるため、本来分割されるべきであるエッジが同じビンに割り当てられる可能性は高くなる。図10(c)には、領域境界部分のエッジと各領域内のエッジとが同じビンに割り当てられた場合の、領域の成長の様子が示されている。この場合、まだ領域が小さい段階で、境界部分のエッジが評価される可能性が高くなる。例えば、ノード結合により領域1104が領域1105に成長する過程で、評価対象が境界部分のエッジに到達した場合、領域が小さいので閾値関数τ(C)の値も大きい。したがって、領域内最大特徴量MInt(C1,C2)が領域間最小特徴量Dif(C1,C2)を上回るため、上記式(3)がfalse判定となり、境界部分のエッジで領域分割せずに成長が継続する。すなわち、空領域と海領域が適切に分割されないという不具合が発生する。
【００７２】
上述したように、第1実施形態で説明したエッジをビンに分類する方法においては、分割されるべきエッジが同一ビンに割り当てられることから領域分割の不具合が発生しうる。この不具合は、特にビン数が少ない場合に発生しやすくなる。なお、以上はエッジの小さい部分による領域成長の例を示したが、エッジの大きい部分についても同様に、割り当てられるビンの違いから領域分割の不具合が生じうる。しかしながら、エッジの大きい部分では領域のサイズが小さくても結合処理において閾値関数τ(C)の影響を受けにくいため、割り当てられるビンの違いの影響は、エッジの小さい部分が受ける影響よりも小さいと言える。
【００７３】
第2実施形態では、このように第1実施形態の領域分割手法において発生する不具合を、ビン数を増やすことなく解決する。すなわち、特徴量の小さいエッジを保持するビンについては狭い特徴量範囲を割り当て、特徴量の大きいエッジを保持するビンについては広い特徴量範囲を割り当てる。各ビンに対する特徴量範囲の割り当てをこのように制御することで、入力画像1101における空領域内または海領域内のエッジと、領域境界部分のエッジとが同一ビンに割り当てられる可能性が低くなるため、上記不具合が解消され、良好な分割が実現される。
【００７４】
●第2実施形態の領域分割処理
以下、第2実施形態における領域分割処理について、詳細に説明する。この処理は、第1実施形態で図1に示した処理とほぼ同様であるが、S103のビン分類処理の詳細が異なる。すなわち、第1実施形態で図4のフローチャートに示した等間隔でのビン分類処理が、第2実施形態では図11のフローチャートに示すように分類範囲を変動させる。ここでも、エッジ特徴量として取りうる範囲を0〜R-1、ビンの数をBとし、ビン0からビンB-1まで順次、値の小さなエッジを保持するが、その保持範囲の幅が異なる。図11の例では、予め、bin[0]〜bin[B-1]として各ビンに分類されるのエッジ特徴量の範囲を設定しておくが、bin[0]からbin[B-1]へ順次、設定範囲が広くなるようにする。
【００７５】
図11では、まずS1101で、各エッジをその特徴量の大きさに応じてS1102〜S1106のそれぞれに対応したビンに分類する。例えば、注目するエッジの特徴量が0〜bin[0]-1の範囲内であれば、該エッジはS1102でビン0に分類される。同様に、エッジの特徴量がbin[0]〜bin[1]-1の範囲内であれば該エッジはS1103でビン1に分類される。このように、多段階のエッジ特徴量に応じた分類がなされ、最大ではエッジ特徴量がbin[B-2]〜bin[B-1]-1の範囲内でS1106でビンB-1に分類される。なお、図11においても図4と同様に、S1104〜S1105間における複数ステップの記載が省略されている。なお第2実施形態においても、各ビン内に保持されているエッジは順不同である。
【００７６】
このように第2実施形態におけるビン分類処理では、bin[0]〜bin[B-1]を変数とすることで、各ビンへのエッジ特徴量の割り当て範囲を任意に設定することができる。
【００７７】
以上説明したように第2実施形態によれば、ビン数を増やさずに、特徴量の小さいエッジを保持するビンほど、割り当てる特徴量範囲の幅が狭くなるように制御する。これにより、分割されるべき領域内のエッジと領域境界部分のエッジとが同一ビンに割り当てられてしまうことを抑制し、良好な領域分割結果が得られる。
【００７８】
なお、上述した第1および第2実施形態では図4や図11に示すフローチャートに従ってビン分類を行う例を示したが、本発明のビン分類はこの例に限定されない。他の分類方法として例えば、ルックアップテーブル(LUT)を用いた高速化を図ることが考えられる。すなわち、エッジの値からLUTのテーブル番号を計算することで、LUTから分類先のビン番号を取得する。
【００７９】
＜他の実施形態＞
上記各実施形態では、ソートを簡易化する方法としてビン分類を行う例を示したが、本発明はこの例に限らず、エッジを複数の特徴量範囲に分類して概ねソートされた状態が得られれば、どのような簡易ソート方法を適用しても良い。
【００８０】
また、上記各実施形態ではエッジ特徴量として色空間上のノード間距離を適用する例を示したが、エッジ特徴量としてはテクスチャ量等、他の特徴量を用いても構わない。またエッジ特徴量としてノード間の相違度による重みを適用する例を示したが、これがノード間の類似度を利用する場合であっても、相違度を利用する場合とは本質的には同等である。すなわち、エッジの類似度として領域間が類似する度合いを示す値を用いることになるため、上記各実施形態で示したエッジ特徴量の評価順序や評価式の不等号の向き等を逆にすることで対応可能である。
【００８１】
また上記各実施形態では非特許文献5と同様に、エッジを注目画素とその隣接8画素とを結ぶものとして説明したが、本発明はこの例に限定されない。例えば、エッジが任意の画素間で作成されたものであっても、本発明で示したように概ねソートされた順序での評価を行うことで、過分割の発生を低減させて領域分割の精度を保つことができる。
【図１】
2014211718.tif 000003
【図２】
2014211718.tif 000004
【図３】
2014211718.tif 000005
【図４】
2014211718.tif 000006
【図５】
2014211718.tif 000007
【図６】
2014211718.tif 000008
【図７】
2014211718.tif 000009
【図９】
2014211718.tif 000010
【図１０】
2014211718.tif 000011
【図１１】
2014211718.tif 000012
【図８】
2014211718.tif 000013