JP6463101B2 - 領域分割装置及び方法 - Google Patents

領域分割装置及び方法 Download PDF

Info

Publication number
JP6463101B2
JP6463101B2 JP2014243376A JP2014243376A JP6463101B2 JP 6463101 B2 JP6463101 B2 JP 6463101B2 JP 2014243376 A JP2014243376 A JP 2014243376A JP 2014243376 A JP2014243376 A JP 2014243376A JP 6463101 B2 JP6463101 B2 JP 6463101B2
Authority
JP
Japan
Prior art keywords
representative data
clustering
data
dead
image
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.)
Active
Application number
JP2014243376A
Other languages
English (en)
Other versions
JP2016105253A (ja
Inventor
賀保 橋口
賀保 橋口
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014243376A priority Critical patent/JP6463101B2/ja
Priority to US14/951,693 priority patent/US9679388B2/en
Publication of JP2016105253A publication Critical patent/JP2016105253A/ja
Application granted granted Critical
Publication of JP6463101B2 publication Critical patent/JP6463101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Description

本発明は、画像の領域分割装置及び方法に関する。
画像をそれぞれの領域の色や模様、明るさなどの属性が同じになるように複数の領域に分割する技術として領域分割(Segmentation)手法が用いられる。これら分割された領域はその後、領域単位で各種画像処理が行えるため、画素単位で画像を処理する場合に比べ演算量を削減することができる。
領域分割の処理を高速化するためにいくつかの手法が提案されている。その中で、色情報(l,a,b)と座標(X,Y)の5次元の情報を用いて画素データをクラスタリングすることで画像を複数の領域に分ける手法が非特許文献1に記載されている。非特許文献1の手法はSimple Linear Iterative Clustering(SLIC)と呼ばれる。はじめにクラスターの中心となる代表データを画像中に格子状に配置する。SLIC手法での代表データは色情報(l,a,b)と座標(X,Y)の5次元の情報を持つ。なお、代表データはシードやクラスター中心(cluster centroid)とも呼ばれる。SLIC手法はクラスタリングの1つであるk-means法をベースにしており、格子状に配置した代表データに画素データをクラスタリングする。そしてクラスタリングされた画素データの5次元の情報を用いて各代表データを更新し、再度クラスタリングする。SLIC手法ではこのようなクラスタリングと代表データの更新を1回以上繰り返して領域分割結果を得る。SLIC手法とk-means法の違いは、代表データにクラスタリングする画素データの範囲を所定の範囲に限定している点にある。クラスタリングにより得られた領域をスーパーピクセル(Superpixel)と呼ぶ。
また、非特許文献1の手法をGraphic Processing Unit(GPU)で高速化することが非特許文献2に記載されている。非特許文献2ではGPUで高速処理を実現するために階層クラスタリング方式(Hierarchical clustering scheme)が提案されており、高解像度画像の高速な領域分割処理を実現している。
また、非特許文献3には、代表データの初期化方法を工夫してk-means処理を高速化することが記載されている。非特許文献3では複数枚の類似する画像を順番に処理する場合、1枚目の画像は通常通り処理し、2枚目以降は前の画像で得られた代表データを使用することで繰り返し回数を減らして高速化することが提案されている。
R. Achanta, A. Shaji, K. Smith, A. Lucchi, P. Fua, and S. Ssstrunk, "SLIC Superpixels," tech. rep., EPFL, EPFL, 2010. C.Y. Ren and I. Reid. gSLIC: a real-time implementation of SLIC superpixel segmentation. University of Oxford, Department of Engineering, Technical Report, 2011. T. Maruyama, "Real-time K-Means Clustering for Color Images on Reconfigurable Hardware", International Conference on Pattern Recognition, pp.816-819,2006
しかしながら、非特許文献3のような高速化の方法を動画像に適用した場合、カメラを動かしたり、シーンチェンジしたり、画像に大きな変化が生じると代表データに画素データが1つもクラスタリングされない現象が起こる。この現象はデッドクラスタ(Dead Cluster)、Dead centroidあるいはEmpty Clusterなどと呼ばれている(以下、本明細書ではデッドクラスタと呼ぶ)。デッドクラスタが発生すると領域数が減少し、領域分割の精度が劣化してしまう。
本発明は、上記の課題に鑑みてなされたものであり、デッドクラスタの発生による、クラスタリングに使用可能な代表データの減少を抑え、領域分割の精度劣化を低減することを目的とする。
上記の目的を達成するための本発明の一態様による領域分割装置は以下の構成を備える。すなわち、
画像を、画素データのクラスタリングにより複数の領域に分割する領域分割装置であって、
前記画像を構成する各画素を、その画素データに基づいて複数の代表データのいずれかへクラスタリングするクラスタリング手段と、
前記クラスタリング手段によるクラスタリングの結果として各代表データに帰属した画素データに基づいて、前記複数の代表データを次のクラスタリングのために更新する更新手段と、
前記クラスタリング手段によるクラスタリングにより生じたデッドクラスタに対応する代表データを、デッドクラスタの状態を解消するために変更する変更手段と、を備える。
本発明によれば、デッドクラスタの発生による、領域分割に使用可能な代表データの減少を抑え、領域分割の精度劣化を低減することができる。
実施形態に係る領域分割装置の機能構成例を示すブロック図。 実施形態に係る領域分割処理を示すフローチャート。 実施形態に係る代表データの初期配置と領域分割を説明する図。 全ての代表データを補正する処理(変形例1)を示すフローチャート。 一部又は全ての代表データを補正する処理(変形例2)のフローチャート。 変形例3に係る部分領域を説明する図。 変形例3に係る部分領域の補正処理を示すフローチャート。 デッドクラスタの発生過程を説明する図。 フレーム画像間での補正処理(変形例4)を示すフローチャート。 領域分割装置を実現する情報処理装置の構成例を示すブロック図。
以下、添付の図面を参照しながら本発明の好適な実施形態のいくつかについて詳細に説明する。
図1は本実施形態による領域分割装置の機能構成を示すブロック図であり、図2は本実施形態による領域分割処理を示すフローチャートである。図1において、画像入力部101は光学系デバイス、光電変換デバイス及びセンサーを制御するドライバー回路/ADコンバーター/各種画像補正を司る信号処理回路/フレームバッファ等により構成される。画像入力部101の機能は入力光を画像化し画像データを出力することである。本実施形態で扱う画像データは可視光線を画像化したRGBのカラー画像とする。他にも輝度を表したグレイ画像や、不可視光線の紫外線領域、赤外線領域などを捉えた画像も利用できる。入力画像の種類やフォーマットは本発明を限定するものではない。また、本実施形態では、画像入力部101として撮像を行う構成を例示したが、格納装置から処理対象となる画像データ(例えば動画)を読み出す構成であってもよい。
スーパーピクセル生成部110は画像入力部101で得られた画像を画素データに基づくクラスタリングによって複数の領域に分割(領域分割処理)しスーパーピクセルを生成する。本実施形態では、非特許文献2で用いられているSLICをベースにしたスーパーピクセル生成を用いた例を説明する。また、本実施形態では画像特徴として画素データの色情報(R,G,B)を用いた例を説明する。
画像入力部101から動画像がフレーム毎に入力され、スーパーピクセル生成部110で処理された結果(領域分割の結果)が結果保持部102に出力され、保持される。スーパーピクセル生成部110では、クラスタリング処理部113が画素データを代表データにクラスタリングする。クラスタリングは代表データ初期化部111により設定された代表データを初期値として1回以上繰り返される。代表データはその繰り返しの中で代表データ更新部114により更新され、代表データ保持部112に保持される。2フレーム目以降は前のフレームの画像を領域分割して得られた代表データを引き継いでクラスタリング処理が行われる。
以下、図2のフローチャートを参照して、本実施形態による領域分割処理を詳細に説明する。まず、ステップS201で、スーパーピクセル生成部110は、フレーム画像を順次に処理するためのループを開始する。次にステップS202で、代表データ初期化部111は、クラスタリング処理部113が用いる代表データの初期値を設定する。本実施形態では、代表データは色情報(R,G,B)と座標(X,Y)の5次元の情報を持つ。フレーム画像を順次に処理するループの初回では、代表データ初期化部111が代表データの初期化を行う。ループの2回目以降(2フレーム目以降)では、代表データ初期化部111は、直前のフレームにより得られた代表データを引き継ぐ。
代表データの座標(X,Y)の初期配置の一例を図3(a)に示す。図3(a)において、301は画像を表し、丸い点は各代表データの画像301における位置、Sは代表データの間隔を表す。代表データ302は画像の左上を原点として、XとYがそれぞれS/2、S/2の位置となる。そして代表データ302を起点として間隔Sで格子状に配置される様に各代表データの座標(X,Y)が設定される。また、色情報(R,G,B)には代表データが配置された座標に対応する画像301の画素値が設定される。以上の処理で初期化した代表データは代表データ保持部112に保存する。なお、図3(a)では12個の代表データが設定されるが、代表データの数はこれに限られるものではない。
ステップS203において、クラスタリング処理部113は繰り返し回数を設定し、繰り返し計算のループを開始する(S203〜S214)。繰り返し計算のループにおいて、クラスタリング処理部113は、画像を構成する各画素を、その画素データに基づいて複数の代表データのいずれかへクラスタリングする(ステップS204〜S207)。また、繰り返し計算のループにおいて、代表データ更新部114は、クラスタリングの結果として各代表データに帰属した画素データに基づいて、複数の代表データを次のクラスタリングのために更新する(ステップS208〜S213)。繰り返し回数には1以上の値が設定される。繰り返し回数を2以上とすることにより、クラスタリング処理部113によるクラスタリングと代表データ更新部114による代表データの更新が、1つの画像について複数回実行されることになる。
ステップS204では、クラスタリング処理部113は、入力データをクラスタリング処理するループを開始する。入力データは処理対象となっているフレーム画像から得られる画素データである。クラスタリング処理部113は、画像の左上からラスタ順に走査してS205からステップS206の処理を繰り返すことにより、全ての入力データをクラスタリングする。
ステップS205において、クラスタリング処理部113は、画素データと対応する代表データとの距離Dsを計算する。画素データと代表データの対応関係を図3(b)に示す。311は画像データで、丸い点は代表データ、321はクラスタリング処理の対象となっている画素データを表す。画素データは周囲の3×3個の代表データと対応付けられている。例えば、画素データ321は代表データ312から320の9つの代表データと対応付けられる。ステップS205における距離計算は、各画素データとその周囲の3×3個の代表データとの間で行われる。距離Dsの計算式の例を数1に示す。
Figure 0006463101
数1において、rk,gk,bkはk番目の代表点の色情報(R,G,B)、xk,ykはk番目の代表点の座標(X,Y)である。kは間隔Sで配置した代表点の総数をKとした時、0からK−1の値をとる。また、ri,gi,biはi番目の画素の色情報(R,G,B)、xi,yiはi番目の画素の座標(X,Y)である。iは画像301内の画素位置を表すインデックスである。数1のmは色空間上の距離drgbと座標空間上の距離dxyを足し合わせる際の重みを表すパラメータである。
ステップS206において、クラスタリング処理部113は、入力データ(画素iの画素データ)を最近傍の代表データに帰属させる。より具体的には、クラスタリング処理部113は、画素iの画素データと周囲の3×3個の代表データとの距離Dsの中から最も距離が小さい代表データを選択し、画素iの画素データを選択された代表データに帰属させる。なお、クラスタリング処理部113は、画像301に配置された代表データに図3(c)に示すようなインデックス割り振り、画素データごとに選択された代表データのインデックスをラベル値として図3(d)に示すようなラベルマップを生成する。クラスタリング処理部113は、生成したラベルマップを結果保持部102に送り、領域分割結果として保持させる。
ステップS207では、全ての入力データについてクラスタリング処理を実行したかを判定する。全ての入力データについてクラスタリング処理を実行済みであれば、処理はステップS208に進み、入力データをクラスタリング処理するループ(ステップS204〜S207の処理)を終了する。クラスタリング処理が実行されていない入力データ(画素データ)が存在する場合は、処理はステップS204に戻り、次の入力データについてクラスタリング処理を開始する。
次に代表データ更新部114の処理を説明する。ステップS208では、代表データの更新のループ(ステップS208〜S213)が開始される。代表データの更新のループでは、代表データが一つずつ選択され、選択された代表データについて以下の処理が実行される。まず、ステップS209において、代表データ更新部114は、選択された代表データにおいてデッドクラスタが発生したかどうかを判定する。デッドクラスタが発生したことはその代表データに帰属した画素データの数で判定できる。帰属した画素データの数がゼロの場合はデッドクラスタが発生したことを表す。
選択された代表データにデッドクラスタが発生していない場合は、処理はステップS210に進む。ステップS210において、代表データ更新部114は、選択された代表データに帰属した画素データの色情報(R,G,B)と座標情報(X,Y)に基づいて、その代表データの更新値を得る。本実施形態では、代表データ更新部114は、代表データに帰属した画素データから色情報(R,G,B)と座標情報(X,Y)の累積値を計算し画素データの数で除算することによりそれぞれの平均値を求める。代表データ更新部114は、こうして得られた色情報(R,G,B)と座標情報(X,Y)の平均値を、色情報(R,G,B)と座標情報(X,Y)の更新値とする。ステップS212位おいて、代表データ更新部114は、ステップS210で得られた代表データ(更新値)を代表データ保持部112に保存する。
一方、デッドクラスタが検出された場合は、処理はステップS209からステップS211に進む。代表データ更新部114は、クラスタリング処理部113によるクラスタリングにより生じたデッドクラスタに対応する代表データを、デッドクラスタの状態を解消するために変更する。なお、以下では、このようなデッドクラスタの状態を解消するための代表データの変更を、ステップS210における代表データの更新と明瞭に区別するために、補正と称することにする。本実施形態では、ステップS211において、代表データ更新部114は、デッドクラスタとなった代表データを補正する。デッドクラスタとなった代表データには帰属する画素データが存在しないため、同じフレームの画像を処理する限りはデッドクラスタのままであり、実質的に代表データの数が減少してしまう。そこで、本実施形態では、クラスタリングにより生じたデッドクラスタに対応する代表データを、帰属する画素データが存在する代表データになるように、現在処理中のフレーム画像の画素データに基づいて補正する。
この補正処理には、種々の手法が考えられる。本実施形態では、複数の代表データに対して予め設定されている複数の特定位置のうち、補正の対象となった代表データの位置に対応する特定位置の画素データを用いて、補正の対象となった代表データを補正する。たとえば、予め設定されている複数の特定位置として、ステップS201〜S215の処理を順次に入力されるフレーム画像について実行する際に、ステップS202で最初のフレーム画像についてクラスタリングのために設定された初期位置が用いられる。すなわち、代表データ更新部114は、
・代表データの初期配置(最初のフレーム画像について、ステップS202で代表データを得るのに用いた配置)を代表データのX、Yに代入し、
・現在処理中の画像データ(フレーム画像)から、上記初期配置の位置の画素データの色情報を取得して、代表データのR、G、Bに代入する、
ことにより代表データを補正する。デッドクラスタの詳細は後述する。次にステップS212に進み、代表データ保持部112に補正した代表データを保存する。
ステップS213では、全ての代表データについて上述の更新処理が実行されたかが判定される。全ての代表データについて更新処理が実行された場合は、処理はステップS204に進み、代表データ更新のループ(ステップS208〜S213)を終了する。他方、更新処理が未実行の代表データが存在する場合は、処理はステップS209に戻り、代表データ更新部114は、次の代表データについて、ステップS209〜211による上述の更新処理を開始する。
ステップS214では、繰り返し計算のループ(ステップS203〜S214)の実行回数が所定の繰り返し回数を超えたかどうかを判定する。繰り返し計算のループの実行が所定の繰り返し回数を超えた場合は、繰り返し計算を終了する。すなわち、現在クラスタリング処理の対象となっているフレーム画像について処理を終了し、次のフレーム画像についてクラスタリング処理を実行するべく処理をステップS215へ進める。他方、繰り返し計算のループの実行が所定の繰り返し回数以下の場合には、処理はステップS204に戻り、次の繰り返し計算を開始する。次の繰り返し計算では更新された代表データ(ステップS212で保存された代表データ)を使ってステップS204からS213の処理が実行される。所定の繰り返し計算が終了したらステップS215に進む。この時、結果保持部102に保存されているラベルマップがフレーム画像の領域分割結果である。
ステップS215において、スーパーピクセル生成部110はフレーム画像の入力が終わったかどうか判定する。成立する場合は、フレーム画像のループを終了する。成立しない場合はステップS202に戻り次のフレーム画像の処理を開始する。ステップS202では代表データの初期値を設定する。ループの2回目以降であるので、代表データ初期化部111は、1フレーム前のクラスタリング処理のための繰り返し計算(S203〜S214)における最後のループで更新された代表データを引き継いで設定する。そして引き継いだ代表データを初期値として、ステップS203からステップS215の処理が行われる。
次に、デッドクラスタの詳細について、図8を参照して説明する。ここではデッドクラスタの発生する状況とその対策方法について説明する。デッドクラスタは画像全体もしくは一部で大きな変化が起こると発生する。ここでは部分的に起こるデッドクラスタを例に説明する。例えば、フレーム画像間における部分的な変化は、撮影中のエリアを人や車などの物体が横切る様な状況により生じる。具体的に、白い壁を背景とする撮影エリアを黒い物体が通過した例について説明する。
図8(a)は一面に白い壁が写っているフレーム画像801を領域分割した結果である。802に示す丸い点は代表データである。フレーム画像801の領域分割が終わった時の各代表データの色情報は白色である。次に黒い物体811がフレーム画像810に写った時のフレーム画像810を領域分割した結果を図8(b)に示す。代表データ812が代表データ802を引き継いだ場合、代表データ812は白色であり周囲の黒色の画素とは数1に示した距離Dsが遠くなり、帰属する画素データが存在しないデッドクラスタになる。したがって、代表データ812に対してステップS211において補正処理が施される。その結果、黒い物体の領域に存在する黒色の画素データは座標距離の近い代表データ812にクラスタリングされる。領域分割の結果、代表データ812の色情報は黒色になる。
次にフレーム画像820の821の位置に黒い物体811が移動したフレーム画像820で領域分割した結果を図8(c)に示す。このようなフレーム画像820に対してクラスタリング処理すると白色の画素データと黒色の代表データ822は距離が遠くなり、黒色の代表データ822には画素データが1つも帰属せずデッドクラスタとなる。したがって、代表データ822に対してステップS211において補正処理が施され、デッドクラスタの状態が解消される。
本実施形態ではデッドクラスタが発生した場合に、対応する代表データを初期配置の位置の画素データで補正する。たとえば、デッドクラスタとなった黒色の代表データ822を、初期配置の位置とその位置の画素の画素値に補正することにより、次の繰り返し処理でデッドクラスタを解消させている。図8(c)に示すフレーム画像820においてデッドクラスタを補正してクラスタリング処理した結果を図8(d)に示す。代表データ822が初期配置の位置に対応する画素値(白色)に補正されたことにより、複数の画素データが帰属するようになり、代表データ832によって領域が作られる。また、補正により代表データの位置が初期配置の位置となるため、図8(d)に示すように代表データの分布が偏ることなくデッドクラスタを解消することができる。
以上のように、本実施形態によれば、クラスタリング処理により代表データがデッドクラスタになった場合に、代表データを補正することにより次のクラスタリング処理でデッドクラスタを解消することができる。これによりデッドクラスタの発生が抑制でき、領域分割の精度劣化を最小化することができる。
なお、上記実施形態では、スーパーピクセルの生成にSLICをベースにした手法で説明したが本発明はこれに限定されるものではない。本発明は代表データを用いてクラスタリングして領域分割した際にデッドクラスタが発生するものであれば適用することができる。また、上記実施形態では、画素データが持つ画像特徴として色情報(R,G,B)を用いた例を説明したが本発明はこれに限定されるものではない。たとえば、画像特徴はCIELAB(l,a,b)やYCC(Y,Cb,Cr)のような色空間を使用しても構わない。
また、上記実施形態では、代表データの初期化で格子状に代表データを配置する方法を説明したが、本発明はこれに限定されるものではない。例えば、代表データを千鳥状に配置したり所定の範囲でランダムに配置したり、その他の任意の位置に配置したりしても構わない。また非特許文献1のSLIC方式では格子状に配置する際に被写体のエッジを検出してエッジの値が低い位置に数画素ずらして配置する方法が示されているが、この方法を利用して代表データの初期配置を決定するようにしても構わない。
また、上記実施形態では、デッドクラスタとなった代表データの補正のために、その代表データの特定位置として初期配置を利用したが、これに限られるものではない。たとえば、デッドクラスタとなった代表データのその時の座標を使用してもよい。また、初期配置が所定の範囲でランダムに配置されている場合は、初期位置をメモリに保持しておく必要がある。補正する時に再度初期配置の位置を算出することが難しいためである。なお、デッドクラスタの補正に際しては、各代表データに対して予め設定されている特定範囲(例えば、初期範囲)のうち、変更の対象となった代表データの位置に対応する特定範囲においてランダムに選択された画素データを用いてもよい。あるいは、デッドクラスタの補正に際して格子状や千鳥状の複数種類の配置位置から選択して初期配置として用いるようにしてもよい。
また、上記実施形態では、デッドクラスタが発生した際の補正方法に初期配置の位置の画素データを用いる方法を説明したが本発明はこれに限定されるものではない。例えば、初期配置の位置の注目する画素データとその4近傍または8近傍の画素データとで平均値を求めて補正してもよい。また、代表データ更新部114では画像データを参照してデッドクラスタを補正しているが、代表データの初期配置を基にデッドクラスタとなった代表データの近隣の代表データを参照してデッドクラスタを補正するようにしてもよい。この場合、たとえば、近隣の代表データの平均値を求めたり補間したりしてデッドクラスタの代表データを補正すればよい。近隣の代表データとは例えば、4近傍、8近傍又は任意の近隣の代表データがある。
また、上記実施形態では、ステップS203〜S214の繰り返しのたびに、結果保持部102にラベルマップを出力する(ステップS206)が、本発明はもちろんこれに限定されるものではない。例えば、ステップS203で設定された繰り返し回数から最後の繰り返し処理のループがわかるので、最終ループでのみクラスタリング処理部113が結果保持部102にラベルマップを出力するようにしてもよい。また、結果保持部102に出力される情報は、ラベルマップに代えて代表データの情報を出力しても構わないし、ラベルマップと代表データの両方の情報を出力しても構わない。
さらに、上記実施形態では、ステップS203のループに所定の回数を設定する方法を説明したが本発明はこれに限定されるものではない。例えば、代表データの値が収束したかどうかで繰り返し計算の終了を判定するようにしてもよい。収束は、たとえば、更新又は補正の前後の代表データの間のユークリッド距離またはマンハッタン距離を求め、その値が所定の閾値を下回ったかどうかで判定することができる。収束したと判定された場合には、ステップS203〜S214による繰り返し計算のループを終了し、収束していなければステップS204に戻って繰り返し計算を継続する。また、繰り返し計算の終了の判定として、デッドクラスタが発生していないことを利用してもよい。この場合、デッドクラスタが発生しなかったら繰り返し計算を終了し、デッドクラスタが発生していればステップS204に戻って繰り返し計算する。以上のように繰り返しは固定回数でもよいし、収束条件に基づく可変回の繰り返し処理でもよい。
<変形例1>
上記実施形態では、クラスタリング処理部によるクラスタリングの実行のたびに複数の代表データのそれぞれについてデッドクラスタか否かを判定し、デッドクラスタとなった代表データについて補正を行う方法を説明した。しかしながら本発明はこれに限定されるものではない。例えば、デッドクラスタとなった代表データの数が所定の閾値を超えた場合に全ての代表データを補正し、閾値以下の場合には全ての代表データを補正しないようにしてもよい。図4に変形例1による処理を説明するためのフローチャートを示す。なお、図2のフローチャートに示される処理と同様の処理には同一の参照番号が付与されている。
各画素データについてクラスタリング処理を終えると、処理はステップS207からステップS401へ進む。ステップS401において、代表データ更新部114は、デッドクラスタとなった代表データの数を計数する。次にステップS402において、代表データ更新部114は、ステップS401で計数したデッドクラスタの数が所定の閾値を超えたかどうかを判定する。デッドクラスタの数が所定の閾値を越えた場合、処理はステップS403に進み、代表データ更新部114は全ての代表データを補正する。本例では、ステップS211等で説明した方法により各代表データを初期化する。そして処理はステップS405に進み、代表データ更新部114は初期化した代表データを代表データ保持部112に保存する。
ステップS401で計数したデッドクラスタの数が所定の閾値以下の場合は、処理はステップS402からステップS404に進む。ステップS404において、代表データ更新部114は各代表データを更新する。この処理はステップS210と同様である。次にステップS405に進み、代表データ更新部114は更新された代表データを代表データ保持部112に保存する。
<変形例2>
また、図2に示したようなデッドクラスタとなった代表データごとに補正する処理と、図4に示したような代表データを一括して補正する処理を組み合わせてもよい。すなわち、代表データ更新部114は、デッドクラスタの数が閾値を越えた場合に複数の代表データの全てを変更し、デッドクラスタの数が閾値以下の場合にはデッドクラスタと判定された代表データを変更するようにしてもよい。そのような処理の一例について図5のフローチャートを参照して説明する。なお、図5において、図2のフローチャートに示される処理と同様の処理には同一の参照番号が付与されている。また、ステップS501〜S503は、図4のステップS401〜S403と同様の処理である。
ステップS501において、代表データ更新部114は、デッドクラスタとなった代表データの数を計数する。次にステップS502において、代表データ更新部114は、ステップS501で計数したデッドクラスタの数が所定の閾値を超えたかどうかを判定する。デッドクラスタの数が所定の閾値を超える場合は、処理はステップS503に進み、代表データ更新部114は全ての代表データを初期化する処理を行う。そしてステップS504に進み、初期化した代表データを代表データ保持部112に保存する。他方、デッドクラスタの数が所定の閾値以下の場合は、処理はステップS208に進む。ステップS208〜S213では、図2に関して上述したように、デッドクラスタではない代表データを更新処理し、デッドクラスタの代表データを補正処理し、更新処理または補正処理により更新された代表データを代表データ保持部112に保存する。
<変形例3>
変形例1では、処理対象の画像の全体についてデッドクラスタの数を計数し、代表データの一括した補正を行ったが、これに限られるものではない。たとえば、図6に示すように部分領域を設定し、部分領域ごとにデッドクラスタの数を集計し、部分的に代表データを補正するようにしてもよい。すなわち、代表データ更新部114は、部分領域に属するデッドクラスタの数が閾値を超える場合に、その部分領域に属する代表データを補正する。ここで、部分領域に属する代表データの補正においては、その部分領域に属する全ての代表データが補正される。なお、変形例2と同様に、デッドクラスタの数が閾値以下の部分領域については、デッドクラスタとなった代表データのみが補正されるような構成が追加されてもよい。601は画像データを示し、点線は部分領域を示す。図6(a)は等間隔に部分領域を設定した例であり、部分領域602が等間隔に横方向に3つ、縦方向に3つ並べられている。なお、部分領域の設定は図6(b)の部分領域603、部分領域604のように互いに重複させても構わない。
図7は部分領域ごとの補正のフローチャートである。図7において、図2のフローチャートに示される処理と同様の処理には同一の参照番号が付与されている。ステップS701では、部分領域毎にデッドクラスタとなった代表データの数を計数する。ステップS702では部分領域を補正するループが開始される。ステップS703において、代表データ更新部114は、複数の部分領域のうちの一つについてデッドクラスタの数が所定の閾値を超えたかどうかを判定する。部分領域内のデッドクラスタの数が所定の閾値を超えた場合は、処理はステップS704に進み、代表データ更新部114は、対象となっている部分領域の代表データを初期化する。そして、ステップS705において、代表データ更新部114は、初期化した代表データを代表データ保持部112に保存する。
一方、ステップS703において、部分領域内のデッドクラスタの数が所定の閾値を超えた場合は、処理はステップS706に進む。ステップS706において、代表データ更新部114は、ステップS210で説明したような方法で部分領域に含まれる代表データを更新する。ステップS707において、代表データ更新部114は、ステップS706で更新された代表データを代表データ保持部112に保存する。ステップS708では部分領域の補正のループの終了が判定される。設定された全ての部分領域について上記処理(代表データの更新、補正)が終了した場合は、処理はステップS214に進み、未処理の部分領域があれば処理はステップS703に戻る。
以上、変形例1〜3のように、補正の対象とする代表データはデッドクラスタの発生した代表データに限らず、全ての代表データまたは一部の代表データを選択して補正の対象としてもよい。
<変形例4>
図2、図4、図5、図7を用いてデッドクラスタの補正方法について説明したが、何れもデッドクラスタとなった代表データを補正するタイミングは繰り返し計算のループの中であった。すなわち、画像について、クラスタリングと代表データの更新を複数回実行し、それらの実行のたびにデッドクラスタに対応する代表データを補正するようにしていた。しかしながら、代表データを補正するタイミングは繰り返し計算のループの中でなくてもよい。例えば、各フレーム画像の処理の最後で補正しても構わない。すなわち、代表データ更新部114は、複数回のクラスタリングと代表データの更新の繰り返しが完了した後に、デッドクラスタに対応する代表データを変更するようにしもよい。図9は図2の処理をベースに、各フレーム画像の処理の最後で代表データを補正する例を示す。図2のフローチャートとはステップS208より後のフローが異なる。
ステップS901では全ての代表データを更新し、代表データ保持部112に保存する。この処理は、図2のステップS210,S212と同様である。ステップS902において、クラスタリング処理部113は、たとえば繰り返し回数が所定回数になったか否か、あるいはクラスタリング処理の結果として所定の収束条件が満たされたか否かに基づいて、繰り返し計算のループの終了を判定する。繰り返し計算のループが終了したと判定されると、処理はステップS903に進み、未終了と判定されると処理はステップS204に戻る。図2で説明した処理とは異なり、デッドクラスタの判定と補正は画像データの繰り返し計算のループの中では行わず、次のステップS903からステップS907の処理で行われる。すなわち、クラスタリング処理部113によるクラスタリングと代表データ更新部114による代表データの更新を含む繰り返しループの複数回の実行が完了した後に、デッドクラスタに対応する代表データの補正が実行される。
ステップS903では、デッドクラスタに対処するために代表データのループを開始する。このループにおいて、複数の代表データの一つ一つについてステップS904〜S906の処理が実行される。まず、ステップS904において、代表データ更新部114は、複数の代表データのうちの一つである選択された代表データについてデッドクラスタの判定を行う。選択された代表データがデッドクラスタであれば処理はステップS905に進み、そうでなければ処理はステップS907に進む。
ステップS905において、代表データ更新部114は、デッドクラスタと判定された代表データを補正する。この処理はステップS211と同様である。そしてステップS906において、代表データ更新部114は、補正された代表データを代表データ保持部112に保存する。
<他の実施形態>
上記実施形態及び各変形例では、図1に示される機能構成が専用のハードウェアで実現されてもよいし、CPUが所定のプログラムを実行することにより、すなわちCPUによるソフトウェア処理により実現されてもよい。ソフトウェア処理により実現される場合は、たとえば図10に示されるような情報処理装置を用いることができる。
図10は本発明に係る領域分割方法が実施可能な機能を備えた、情報処理装置としてのコンピュータ装置1001の構成例を示すブロック図である。1002はCPUであり、装置全体の制御を司る。1003はROM(読み出し専用メモリ)であり、ブートプログラムやBIOSを記憶している。1004はRAM(読み書き可能なメモリ)であり、CPU1002のワークエリアとして利用される。1005はハードディスクドライブ(HDD)であり、OS、領域分割情報を作成するためのアプリケーション、ならびに、様々なデータを格納する。1006はキーボード、1007はマウスであり、ユーザーインターフェースとして機能する。1008は表示制御部であり、内部にビデオメモリ及び表示コントローラを内蔵し、表示装置1009を表示駆動する。1009は表示装置であり、表示制御部1008からの映像信号を受信し、表示する。1010は各種外部デバイスと通信するインターフェースである。以上の構成は、バス1011に接続され、相互にデータを通信することが可能となっている。
このようなコンピュータ装置1001において、たとえば図2のフローチャートに示される処理をCPU1002に実行させるプログラムがRAM1004にロードされ、CPU1002により実行される。入力画像データはRAM1004またはHDD1005に格納され、処理される。或いは、インターフェース1010を介して不図示のカメラから入力した入力画像データがRAM1004に格納され、処理される。代表データ初期化部111、クラスタリング処理部113、代表データ更新部114で行われる各処理はCPU1002により実行される。結果保持部102はRAM1004またはHDD1005により実現される。また、代表データ保持部112は、RAM1004や不図示のCPU内のローカルメモリにより実現される。但し、代表データの数が多い場合のためにHDD1005を使用するようにしても構わない。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101:画像入力部、102:結果保持部、110:スーパーピクセル生成部、111:代表データ初期化部、112:代表データ保持部、113:クラスタリング処理部、114:代表データ更新部

Claims (16)

  1. 画像を、画素データのクラスタリングにより複数の領域に分割する領域分割装置であって、
    前記画像を構成する各画素を、その画素データに基づいて複数の代表データのいずれかへクラスタリングするクラスタリング手段と、
    前記クラスタリング手段によるクラスタリングの結果として各代表データに帰属した画素データに基づいて、前記複数の代表データを次のクラスタリングのために更新する更新手段と、
    前記クラスタリング手段によるクラスタリングにより生じたデッドクラスタに対応する代表データを、デッドクラスタの状態を解消するために変更する変更手段と、を備えることを特徴とする領域分割装置。
  2. 前記画像について、前記クラスタリング手段によるクラスタリングと前記更新手段による代表データの更新を複数回実行し、
    前記変更手段は、前記クラスタリング手段によるクラスタリングの実行のたびに、デッドクラスタに対応する代表データを変更することを特徴とする請求項1に記載の領域分割装置。
  3. 前記変更手段は、前記複数の代表データのそれぞれについてデッドクラスタか否かを判定し、デッドクラスタと判定された代表データを変更することを特徴とする請求項1または2に記載の領域分割装置。
  4. 前記変更手段は、デッドクラスタの数が閾値を越えた場合に前記複数の代表データの全てを変更し、デッドクラスタの数が前記閾値以下の場合には全ての代表データについて変更を行わないことを特徴とする請求項1または2に記載の領域分割装置。
  5. 前記変更手段は、デッドクラスタの数が閾値を越えた場合に前記複数の代表データの全てを変更し、デッドクラスタの数が前記閾値以下の場合にはデッドクラスタと判定された代表データを変更することを特徴とする請求項1または2に記載の領域分割装置。
  6. 前記変更手段は、前記画像に複数の部分領域を設定し、該部分領域に属するデッドクラスタの数が閾値を超える場合に該部分領域に属する全ての代表データを変更することを特徴とする請求項1または2に記載の領域分割装置。
  7. 前記変更手段は、デッドクラスタの数が閾値以下となる部分領域において、デッドクラスタと判定された代表データを変更することを特徴とする請求項6に記載の領域分割装置。
  8. 前記画像について、前記クラスタリング手段によるクラスタリングと前記更新手段による代表データの更新を複数回実行し、
    前記変更手段は、前記複数回の実行が完了した後に、デッドクラスタに対応する代表データを変更することを特徴とする請求項1に記載の領域分割装置。
  9. 前記変更手段は、変更の対象となった代表データを、前記画像を構成する画素の画素データを用いて変更することを特徴とする請求項1乃至8のいずれか1項に記載の領域分割装置。
  10. 前記変更手段は、複数の代表データに対して予め設定されている複数の特定位置のうち、変更の対象となった代表データの位置に対応する特定位置の画素データを用いて、前記変更の対象となった代表データを変更することを特徴とする請求項9に記載の領域分割装置。
  11. 前記変更手段は、複数の代表データに対して予め設定されている複数の特定位置のうち、変更の対象となった代表データの位置とその周囲の代表データの位置に対応する特定位置の画素データを用いて、前記変更の対象となった代表データを変更することを特徴とする請求項9に記載の領域分割装置。
  12. 前記クラスタリングは、順次に入力される複数の画像について実行され、
    新たな画像のクラスタリングに際しては、その前の画像のクラスタリングの後に前記更新手段が更新した代表データが引き継がれ、
    前記複数の特定位置は、前記複数の画像のうちの最初の画像についてクラスタリングを実行する際に設定された初期位置であることを特徴とする請求項10または11に記載の領域分割装置。
  13. 前記変更手段は、複数の代表データに対して予め設定されている複数の特定範囲のうち、変更の対象となった代表データの位置に対応する特定範囲においてランダムに選択された画素データを用いて前記変更の対象となった代表データを変更することを特徴とする請求項9に記載の領域分割装置。
  14. 前記変更手段は、変更の対象となった代表データを、その周囲の代表データに基づいて変更することを特徴とする請求項1乃至8のいずれか1項に記載の領域分割装置。
  15. 画像を、画素データのクラスタリングにより複数の領域に分割する領域分割装置による領域分割方法であって、
    前記画像を構成する各画素を、その画素データに基づいて複数の代表データのいずれかへクラスタリングするクラスタリング工程と、
    前記クラスタリング工程におけるクラスタリングの結果として各代表データに帰属した画素データに基づいて、前記複数の代表データを次のクラスタリングのために更新する更新工程と、
    前記クラスタリング工程におけるクラスタリングにより生じたデッドクラスタに対応する代表データを、デッドクラスタの状態を解消するために変更する変更工程と、を有することを特徴とする領域分割方法。
  16. 請求項1乃至14のいずれか1項に記載の領域分割装置の各手段としてコンピュータを機能させるためのプログラム。
JP2014243376A 2014-12-01 2014-12-01 領域分割装置及び方法 Active JP6463101B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014243376A JP6463101B2 (ja) 2014-12-01 2014-12-01 領域分割装置及び方法
US14/951,693 US9679388B2 (en) 2014-12-01 2015-11-25 Region segmentation apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014243376A JP6463101B2 (ja) 2014-12-01 2014-12-01 領域分割装置及び方法

Publications (2)

Publication Number Publication Date
JP2016105253A JP2016105253A (ja) 2016-06-09
JP6463101B2 true JP6463101B2 (ja) 2019-01-30

Family

ID=56079481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014243376A Active JP6463101B2 (ja) 2014-12-01 2014-12-01 領域分割装置及び方法

Country Status (2)

Country Link
US (1) US9679388B2 (ja)
JP (1) JP6463101B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6472279B2 (ja) * 2015-03-09 2019-02-20 キヤノン株式会社 画像処理装置及び画像処理方法
CN106558053B (zh) * 2015-09-25 2019-06-21 株式会社理光 对象分割方法和对象分割装置
US20170178078A1 (en) * 2015-12-17 2017-06-22 Scoutahead.com, LLC System and method for matching candidates and employers
JP6815741B2 (ja) * 2016-03-30 2021-01-20 キヤノン株式会社 画像処理装置および画像処理方法
RU2635900C1 (ru) * 2016-07-07 2017-11-16 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для кластеризации областей карты цифрового изображения
JP6851163B2 (ja) * 2016-09-23 2021-03-31 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
GB201617444D0 (en) 2016-10-14 2016-11-30 Fujitsu Ltd Processing digital image to remove unwanted portion
CN106548483B (zh) * 2016-10-27 2019-04-19 西北工业大学 一种基于三维超像素分割的材料晶粒边缘提取方法
CN108664976B (zh) * 2018-04-25 2022-06-03 安徽大学 一种基于超像素的模糊谱聚类脑肿瘤图像自动分割方法
US20230245319A1 (en) * 2020-05-21 2023-08-03 Sony Group Corporation Image processing apparatus, image processing method, learning device, learning method, and program
KR102571528B1 (ko) * 2021-11-29 2023-08-28 국방과학연구소 다시점 영상 스티칭을 위한 색 보정 방법, 영상 합성 방법, 영상 처리 장치, 저장 매체 및 컴퓨터 프로그램

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3394650B2 (ja) * 1996-05-30 2003-04-07 沖電気工業株式会社 文字領域抽出方法およびナンバープレート検出装置
US6567936B1 (en) * 2000-02-08 2003-05-20 Microsoft Corporation Data clustering using error-tolerant frequent item sets
WO2011152821A1 (en) * 2010-06-01 2011-12-08 Hewlett-Packard Development Company, L.P. Clustering images
US8918288B2 (en) * 2011-10-14 2014-12-23 Precision Energy Services, Inc. Clustering process for analyzing pressure gradient data
JP5878924B2 (ja) * 2011-11-17 2016-03-08 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像処理装置、撮像装置および画像処理方法
JP6271937B2 (ja) * 2013-10-09 2018-01-31 キヤノン株式会社 画像処理方法及び装置、プログラム
US9401026B2 (en) * 2014-03-12 2016-07-26 Nokia Technologies Oy Method and apparatus for image segmentation algorithm

Also Published As

Publication number Publication date
US20160155237A1 (en) 2016-06-02
US9679388B2 (en) 2017-06-13
JP2016105253A (ja) 2016-06-09

Similar Documents

Publication Publication Date Title
JP6463101B2 (ja) 領域分割装置及び方法
KR102281017B1 (ko) 이미지 처리를 위한 신경망 모델 훈련 방법, 장치 및 저장 매체
JP6157138B2 (ja) 画像処理装置
JP6088792B2 (ja) 画像検出装置及び制御プログラム並びに画像検出方法
CN110517304B (zh) 生成深度图的方法、装置、电子设备和存储介质
US9792695B2 (en) Image processing apparatus, image processing method, image processing system, and non-transitory computer readable medium
JP5836831B2 (ja) 画像修正装置及びそのプログラム
CN111695554B (zh) 一种文本矫正的方法、装置、电子设备和存储介质
US20140294301A1 (en) Image processing apparatus and image processing method
US9519974B2 (en) Image processing apparatus and image processing method
JP7114431B2 (ja) 画像処理方法、画像処理装置およびプログラム
JP6249173B2 (ja) 画像処理方法、及び画像処理装置
JP5067882B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2018129029A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP6472279B2 (ja) 画像処理装置及び画像処理方法
CN112243119B (zh) 一种白平衡处理方法、装置、电子设备及存储介质
JP6546385B2 (ja) 画像処理装置及びその制御方法、プログラム
US11625816B2 (en) Learning device, image generation device, learning method, image generation method, and program
GB2589478A (en) Segmenting irregular shapes in images using deep region growing
JP2008113292A (ja) 動き推定方法,装置,そのプログラムおよびその記録媒体
JPWO2013161840A1 (ja) 画像処理方法、及び画像処理装置
JP7106144B2 (ja) 画像解析装置
JP6711031B2 (ja) 画像処理装置、画像処理方法、画像処理システムおよびプログラム
JP2016001404A (ja) 画像処理方法、画像処理装置およびコンピュータプログラム
JP6919433B2 (ja) 画像処理装置、画像処理方法、画像処理システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181228

R151 Written notification of patent or utility model registration

Ref document number: 6463101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151