(57)【特許請求の範囲】
【請求項１】
入力された画像を構成する画素を複数の代表点にクラスタリングすることで、前記画像を複数の領域に分割する分割手段と、
前記代表点に基づいて、前記代表点の関係を表すグラフを生成する生成手段と、
前記生成手段で生成するグラフを構成するエッジが、前記領域の隣接関係を表しているエッジであるか否かを判定する判定手段と、
前記領域の隣接関係を表していると判定されたエッジで接続される２つの領域の代表点の特徴量の類似度を計算し、所定の閾値と比較により前記類似度が高い場合は前記エッジで接続される２つの領域を統合する統合手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記生成手段は、前記代表点の初期配置を基準に、前記グラフを生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記統合手段による統合後の領域の特徴量に基づいて、前記統合後の領域のカテゴリを識別する識別手段を更に備える
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記複数の代表点を作成する作成手段を更に備える
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記複数の代表点はそれぞれ、固定の代表点である
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記代表点は、色空間と座標空間の情報を有していて、
前記生成手段は、前記代表点の前記座標空間の情報に基づいて、前記グラフを生成することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記生成手段は、前記複数の代表点の内、注目代表点の所定の範囲に存在する代表点を抽出して、繋ぐことで、前記グラフを生成する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
入力された画像を構成する画素を複数の代表点にクラスタリングすることで、前記画像を複数の領域に分割する分割工程と、
前記代表点に基づいて、前記代表点の関係を表すグラフを生成する生成工程と、
前記生成工程で生成するグラフを構成するエッジが、前記領域の隣接関係を表しているエッジであるか否かを判定する判定工程と、
前記領域の隣接関係を表していると判定されたエッジで接続される２つの領域の代表点の特徴量の類似度を計算し、所定の閾値と比較により前記類似度が高い場合は前記エッジで接続される２つの領域を統合する統合工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の画像処理装置の各手段として機能させるための、または請求項８に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像を処理する画像処理技術に関するものである。
【背景技術】
【０００２】
画像を色や模様、明るさ等の属性が同じになるように複数の領域に分割する技術として領域分割（Ｓｅｇｍｅｎｔａｔｉｏｎ）手法が用いられる。これら分割された領域は、その後、領域単位で符号化処理、領域の認識が行えるため画素レベルで画像を処理する場合に比べ処理量を削減することができる。近年、組込機器で高解像度の画像に対して画像処理を行うケースは増えてきており、領域分割後の領域単位で画像を処理することで、組込機器でも高解像度の画像に対してリアルタイムで複雑な処理ができるようになると考えられる。
【０００３】
リアルタイムな領域分割処理を実現するためにいくつかの手法が提案されている。その中で、色空間（Ｒ，Ｇ，Ｂ）と座標空間（Ｘ，Ｙ）の５次元の情報を用いて画素データをクラスタリングすることで画像を領域に分ける手法として、非特許文献１がある。非特許文献１の手法は、Ｓｉｍｐｌｅ  Ｌｉｎｅａｒ  Ｉｔｅｒａｔｉｖｅ  Ｃｌｕｓｔｅｒｉｎｇ（ＳＬＩＣ）と呼ばれる。はじめにクラスタの中心となる代表点を画像中に格子状に配置する。ＳＬＩＣ手法での代表点は色空間（Ｒ，Ｇ，Ｂ）と座標空間（Ｘ，Ｙ）の５次元の情報を有している。代表点は、シードやクラスタ中心（ｃｌｕｓｔｅｒ  ｃｅｎｔｒｏｉｄ）とも呼ばれる。ＳＬＩＣ手法におけるクラスタリングはｋ−ｍｅａｎｓ法をベースとしており、画像を構成する各画素を格子状に配置した代表点にクラスタリングする。ＳＬＩＣ手法の特徴は、代表点にクラスタリングする座標空間を所定範囲に限定している点である。代表点にクラスタリングされた画素の集合が分割領域となる。この分割領域をＳｕｐｅｒｐｉｘｅｌと呼ぶ。この手法は、繰り返し処理があるものの画像サイズに比例した少ない演算量で処理できる特徴を有している。
【０００４】
また、非特許文献１の手法をＧＰＵで実装し高速化を実現したものに、非特許文献２がある。非特許文献２では、ＧＰＵで高速処理を実現するために階層クラスタリング方式（Ｈｉｅｒａｒｃｈｉｃａｌ  ｃｌｕｓｔｅｒｉｎｇ  ｓｃｈｅｍｅ）を使用している。これにより、高解像度画像のリアルタイムな領域分割処理を実現している。
【０００５】
一方、Ｓｕｐｅｒｐｉｘｅｌ統合（領域統合）に基づく領域分割を行う方法として非特許文献３がある。非特許文献３では、グラフベースでＳｕｐｅｒｐｉｘｅｌを生成する。そして、Ｓｕｐｅｒｐｉｘｅｌに対してＡｄａｂｏｏｓｔで生成した識別器を用いてＳｕｐｅｒｐｉｘｅｌに領域ラベルを付けて統合している。この統合処理は、複数のＳｕｐｅｒｐｉｘｅｌを結合し新しい１つのＳｕｐｅｒｐｉｘｅｌに置換する処理である。例えば、識別器により車載カメラで撮影した画像を空、地面そして垂直物の３つの領域に分割することができる。これは意味的領域分割（Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ）と呼ばれ、各領域に意味を持たせる処理である。
【０００６】
非特許文献３ではグラフベースの処理でＳｕｐｅｒｐｉｘｅｌ生成を行っており、後段ではそのグラフを利用してＳｕｐｅｒｐｉｘｅｌの統合を行っている。一方、非特許文献１に示すクラスタリング方式で生成したＳｕｐｅｒｐｉｘｅｌをグラフベースで統合するためには、統合処理の前にＳｕｐｅｒｐｉｘｅｌの隣接関係を表すグラフを作成する必要がある。
【０００７】
このグラフ作成処理について、図１０を用いて説明する。図１０（ａ）は、クラスタリング方式で生成したＳｕｐｅｒｐｉｘｅｌのラベルマップ８０１を示している。ラベルマップ８０１は入力画像の各画素に対応するラベル値を管理しており、ラベル値はクラスタリングによって作成されたＳｕｐｅｒｐｉｘｅｌのインデックスである。例えば、Ｓｕｐｅｒｐｉｘｅｌ８０２はクラスタリングによってインデックス「２」が付けられ、ラベルマップ８０１上ではＳｕｐｅｒｐｉｘｅｌ８０２の領域内のラベル値として「２」が付けられる。図１０（ａ）では、Ｓｕｐｅｒｐｉｘｅｌは９個あり、０から８のラベル値が割り振られている。
【０００８】
グラフ作成処理では、ラベルマップ８０１を読み込んでＳｕｐｅｒｐｉｘｅｌの隣接関係を調べ、図１０（ｂ）のような隣接グラフを作成する。ラベル値が「０」の領域に隣接する領域はラベル値が「１」と「３」の領域である。ラベルマップ８０１からこの隣接関係を取得するために、ラベル値の境界部分を検出し、境界部分のラベル値のセットをリスト化した隣接リスト（ａｄｊａｃｅｎｃｙ  ｌｉｓｔ）を生成する。ラベル値のセットは、例えば、「０」と「１」、「０」と「３」である。ラベル値のセットは複数取得されるので重複するラベル値のセットは除外した上で、隣接リストを作成する。図１０（ｂ）の隣接グラフに対しては、図１０（ｃ）に示すような隣接リストが作成される。以上の処理によって、代表点８０３及び８０４とそれを繋ぐエッジ８０５の情報を取得する。
【０００９】
次に、シンプルなＳｕｐｅｒｐｉｘｅｌの統合の例を説明する。図１０（ｃ）の隣接リストを元にエッジの両端のＳｕｐｅｒｐｉｘｅｌの特徴量を調べて類似している場合は結合する処理を行う。特徴量は、Ｓｕｐｅｒｐｉｘｅｌに属する画素の色平均やヒストグラム等の情報を用いる。また、類似度は、色平均の差、ヒストグラムインターセクションの値で判定することができる。図１０（ｄ）は、Ｓｕｐｅｒｐｉｘｅｌを結合した後のラベルマップである。ラベル値が「０」、「１」、及び「３」のＳｕｐｅｒｐｉｘｅｌは、ラベル値が「０」のＳｕｐｅｒｐｉｘｅｌに統合される。また、ラベル値が「２」、「５」、及び「８」のＳｕｐｅｒｐｉｘｅｌは、ラベル値が「２」のＳｕｐｅｒｐｉｘｅｌに統合される。更に、ラベル値が「４」、「６」、及び「７」のＳｕｐｅｒｐｉｘｅｌは、ラベル値が「４」のＳｕｐｅｒｐｉｘｅｌに統合される。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】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.
【非特許文献３】岩根, 吉田, "superpixel統合に基づく領域分割を用いた車載カメラの景観認識", 日本ファジーシステムシンポジウム, 2011 Iwane, Yoshida, “Landscape recognition of in-vehicle camera views based on graph-based segmentation”, 27th Fuzzy System Symposium, 2011
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来のグラフ作成処理は、領域の隣接関係を調べるためにラベルマップをラスタスキャン等で読み込んで領域間の境界を検出し、その検出した領域間の境界からラベル値のセットを抽出し、重複なく隣接リストを作成する処理が必要である。この処理は、ラベルマップの読出や順次検出されるラベル値のセットが隣接リストで既に存在しているかどうかを検索するために、隣接リストが格納されているメモリに対してランダムアクセスすることが必要で高速化が困難である。
【００１２】
本発明は上記の課題を解決するためになされたものであり、トータルスループットを向上することができる画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
入力された画像を構成する画素を複数の代表点にクラスタリングすることで、前記画像を複数の領域に分割する分割手段と、
前記代表点に基づいて、前記代表点の関係を表すグラフを生成する生成手段と、
前記生成手段で生成するグラフを構成するエッジが、前記領域の隣接関係を表しているエッジであるか否かを判定する判定手段と、
前記領域の隣接関係を表していると判定されたエッジで接続される２つの領域の代表点の特徴量の類似度を計算し、所定の閾値と比較により前記類似度が高い場合は前記エッジで接続される２つの領域を統合する統合手段と
を備える。
【発明の効果】
【００１４】
本発明によれば、トータルスループットを向上することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１の画像処理装置の構成図である。
【図２】実施形態１のＳｕｐｅｒｐｉｘｅｌ生成処理を示すフローチャートである。
【図３】実施形態１の代表点の初期配置と隣接／近隣グラフの説明図である。
【図４】千鳥配置のグラフの説明図である。
【図５】実施形態２の画像処理装置の構成図である。
【図６】実施形態２のＴｒｕｅエッジとその検出方法の説明図である。
【図７】実施形態３の画像処理装置のハードウェア構成を示す図である。
【図８】実施形態３の領域分割処理を示すフローチャートである。
【図９】実施形態４の代表点の隣接グラフ作成の説明図である。
【図１０】Ｓｕｐｅｒｐｉｘｅｌを表すラベルマップとＳｕｐｅｒｐｉｘｅｌの隣接グラフの説明図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１７】
＜実施形態１＞
本実施形態では、領域分割装置として機能する画像処理装置を用いて意味的領域分割を行う例を説明する。
【００１８】
図１は実施形態１の画像処理装置の構成図である。
【００１９】
画像入力部１０１は、光学系デバイス、光電変換デバイス及びセンサを制御するドライバ回路、ＡＤコンバータ、各種画像補正を司る信号処理回路、フレームバッファ等の構成要素により構成される。画像入力部１０１の機能は、入力光を画像化し画像データを出力することである。本実施形態で扱う画像データは、可視光線を画像化したＲＧＢのカラー画像とする。他にも輝度を表すグレイ画像や、不可視光線の紫外線領域、赤外線領域等を捉えた画像も利用できる。入力画像の種類やフォーマットは、これに限定されるものではない。
【００２０】
Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、画像入力部１０１で入力した画像と代表点初期化部１０９で作成する代表点を使用して、Ｓｕｐｅｒｐｉｘｅｌを生成する。Ｓｕｐｅｒｐｉｘｅｌは、例えば、非特許文献１に記載のＳＬＩＣ手法で生成する。
【００２１】
ここで、ＳＬＩＣ手法によるＳｕｐｅｒｐｉｘｅｌ生成処理について、図２のフローチャートを用いて説明する。この図２の処理は、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２と代表点初期化部１０９とが連携して処理を実行する。但し、図２の処理は、コンピュータのＣＰＵによって、ＲＯＭに記憶されているプログラムを読み出し実行することで実現することもできる。
【００２２】
まず、Ｓ２０１で、代表点初期化部１０９は、代表点初期化を行う。ここで、代表点は、色空間（Ｒ，Ｇ，Ｂ）と座標空間（Ｘ，Ｙ）の５次元の情報を有する。Ｓ２０１では、代表点初期化部１０９は、図３（ａ）に示すように、画像３０１に代表点３０２を縦と横に間隔Ｓで格子状に配置し、座標空間（Ｘ，Ｙ）を初期化する。そして、代表点初期化部１０９は、配置された座標に対応する画像３０１の画素値で色空間（Ｒ，Ｇ，Ｂ）を初期化する。画像３０１の画素値は、画像入力部１０１で入力した画像を参照して取得する。そして、代表点初期化部１０９で初期化された代表点３０２は、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２に入力される。図３（ａ）では、代表点３０２を含む１２個の代表点が作成している。
【００２３】
次に、Ｓ２０２で、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、入力した画像を構成する画素のクラスタリングを行う。このクラスタリングでは、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、代表点を中心に所定範囲の領域の画素との距離Ｄｓを計算する。例えば、非特許文献１では、ＣＩＥＬＡＢ色空間が使われているが、ここでは、ＲＧＢ色空間で説明する。ｋ番目の代表点の色空間（Ｒ，Ｇ，Ｂ）は（ｒk，ｇk，ｂk）、座標空間（Ｘ，Ｙ）は、（ｘk，ｙk）とする。ｋは間隔Ｓで配置した代表点の数をＫとした時、０からＫ−１の値をとる。ｉ番目の画素の色空間（Ｒ，Ｇ，Ｂ）は（ｒi，ｇi，ｂi）、座標空間（Ｘ，Ｙ）は（ｘi，ｙi）とする。ｉは画像３０１内の画素位置を表すインデックスである。距離Ｄsの計算式を式１に示す。
【００２４】
【数１】
0006546385.tif 000002
【００２５】
式１のｍは係数であり、係数ｍを間隔Ｓで除算した値を色空間に加算する座標空間のユークリッド距離に乗じる重みのパラメータとする。式１でインデックスが１からＫ番目の代表点において、それらに対応する画素と距離計算を行い、各画素において距離が最も近い代表点を選択する。選択された代表点のインデックスをラベル値としてラベルマップを出力する。Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、出力したラベルマップをラベルマップ保持部１０７に格納する。
【００２６】
次に、Ｓ２０３で、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、代表点の更新を行う。代表点の更新では、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、各代表点に属する画素から色平均と重心座標を計算する。Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、更新した代表点を代表点保持部１０３に格納する。代表点が有する色空間（Ｒ，Ｇ，Ｂ）には各Ｓｕｐｅｒｐｉｘｅｌに属する画素の色平均、そして、座標空間（Ｘ，Ｙ）には各Ｓｕｐｅｒｐｉｘｅｌに属する画素の集合の重心座標が格納される。
【００２７】
次に、Ｓ２０４で、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、クラスタリングが収束しているか否かを判定する。この判定は、更新前の代表点と更新後の代表点とのユークリッド距離が所定の閾値以下であるか否かで判定する。ここで、代表点間のユークリッド距離は、座標空間の情報から計算する。ここで、本実施形態の収束判定の距離計算は、他に色空間のユークリッド距離のみ計算してもよいし、座標空間と色空間を合わせたユークリッド距離で計算してもよい。また、距離計算は、ユークリッド距離に限定されず、マンハッタン距離で計算してもよい。また、収束判定に距離を使うことに限定されず、繰り返し回数を３回や１０回等の固定回数にする方法でも構わない。これは固定回数の繰り返しで十分な収束が見込めると判定できる場合に実施できる。
【００２８】
判定の結果、クラスタリングが収束していない場合（Ｓ２０４でＮＯ）、Ｓ２０２に戻り、クラスタリングから繰り返す。この繰り返し時にＳ２０２で使用する代表点は代表点保持部１０３に格納されている情報を使用する。一方、判定の結果、クラスタリングが収束している場合（Ｓ２０４でＹＥＳ）、Ｓｕｐｅｒｐｉｘｅｌ生成を終了する。
【００２９】
次に、隣接グラフ生成部１０４について説明する。隣接グラフ生成部１０４は、Ｓｕｐｅｒｐｉｘｅｌ統合部１０５で使用する隣接グラフを生成する。ここで生成する隣接グラフは、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２の代表点の初期配置を基準に生成する。代表点の初期配置の情報は、代表点初期化部１０９から取得する。本実施形態では、代表点の初期配置は図３（ａ）で示したように格子状に配置し、間隔Ｓによって代表点の個数が決定される。代表点の初期配置の情報は、横方向に配置された代表点の数、縦方向に配置された代表点の数である。
【００３０】
隣接グラフ生成部１０４は、代表点の初期配置の情報から、図３（ｂ）のように代表点３１０の４近傍の代表点に対してエッジ３１１を生成する。図３（ｂ）では１２個の代表点から１７本のエッジを生成している場合を示している。エッジは図１０（ｃ）で示したような隣接リストとして表現される。本実施形態では、図３（ｂ）に示す隣接グラフで説明するが、他に図３（ｃ）あるいは図３（ｄ）に示すような隣接グラフを作成してもよい。図３（ｃ）はエッジ３２０のような斜め方向のエッジを追加した、注目代表点とその８近傍の代表点を接続する隣接グラフである。また、図３（ｄ）は注目代表点に隣接している代表点だけでなく横方向に１つ先の代表点と接続するグラフである。図３（ｄ）の隣接グラフは、近傍グラフ（ｎｅｉｇｈｂｏｒｈｏｏｄ  ｇｒａｐｈ）と呼ばれ、近傍グラフを生成する場合、隣接グラフ生成部１０４は、近傍グラフ生成部として機能することになる。例えば、代表点３３０の１つ先の代表点と接続するエッジは、エッジ３３１とエッジ３３２である。
【００３１】
隣接グラフ生成部１０４では、代表点の初期配置から生成できるので、隣接関係を調べてエッジを作成する処理を省略することができる。隣接グラフ生成部１０４は、生成したエッジの情報をＳｕｐｅｒｐｉｘｅｌ統合部１０５に送信する。
【００３２】
Ｓｕｐｅｒｐｉｘｅｌ統合部１０５は、隣接グラフ生成部１０４からエッジの情報を受信し、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２で代表点保持部１０３に格納した代表点の情報を用いて統合処理を行う。統合処理は、受信したエッジの両端に属するＳｕｐｅｒｐｉｘｅｌの類似度を計算し、類似度が高い場合はＳｕｐｅｒｐｉｘｅｌを結合し、類似度が低い場合は結合しない処理を行う。結合する場合は、結合した新しいＳｕｐｅｒｐｉｘｅｌに置換する。類似度の計算の簡単な例は、代表点の情報に含まれるＳｕｐｅｒｐｉｘｅｌの色平均を用いた計算である。エッジの両端のＳｕｐｅｒｐｉｘｅｌに属する画素の色平均を取得し、２つの色平均のユークリッド距離を計算し、これを類似度とみなす。そして、このユークリッド距離が閾値以下である場合は類似度が高いと判定し、閾値を超える場合は類似度が低いと判定する。本実施形態では、類似度に色平均のユークリッド距離を用いて説明するが、他の類似度を使っても構わない。例えば、Ｓｕｐｅｒｐｉｘｅｌに含まれる画素の色でヒストグラムを作成し、ヒストグラムインターセクションを計算し、これを類似度としてもよい。類似度の定義は、これらに限定されるものではない。
【００３３】
以上の統合処理を、Ｓｕｐｅｒｐｉｘｅｌ統合部１０５は、全エッジに対して行う。Ｓｕｐｅｒｐｉｘｅｌ統合部１０５は、統合処理によって得られる情報を、ラベルマップ保持部１０７で保持するラベルマップで管理されるラベル値を新しい統合後のラベル値に変換するためのラベル変換テーブルとして表現する。Ｓｕｐｅｒｐｉｘｅｌ統合部１０５は、作成したラベル変換テーブルを識別部１０６に送信する。
【００３４】
識別部１０６は、識別の前処理として領域別特徴量を抽出する。領域別特徴量とは、Ｓｕｐｅｒｐｉｘｅｌ毎に得られる特徴量であり、面積、モーメント、ヒストグラム等が典型的な特徴量である。特徴量は、画像入力部１０１からの入力画像とラベルマップ保持部１０７で保持するラベルマップ、Ｓｕｐｅｒｐｉｘｅｌ統合部１０５のラベル変換テーブルによって算出される。ラベルマップ保持部１０７で保持するラベルマップで管理されるラベル値は、統合前のラベル値であるため、ラベル変換テーブルを使って統合後のラベル値に変換する。そして、識別部１０６は、入力画像と対応するラベル値を元にＳｕｐｅｒｐｉｘｅｌ毎に領域別特徴量を算出する。
【００３５】
次に、識別部１０６は、領域別特徴量に対してカテゴリを判別する。カテゴリは、例えば、空や自然等の意味を有するものでＳｕｐｅｒｐｉｘｅｌ毎にどのカテゴリに近いか尤度を算出して判別する。ここでの判別方法は、Ｓｕｐｅｒｐｉｘｅｌの色の青さが閾値を超えたら空にする等のルールを複数組み合わせて判定するルールベースの方法であってもよい。また、機械学習をベースとしたＳｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ（ＳＶＭ）等の方法で処理対象の領域別特徴量に対するカテゴリを判別してもよい。ルールベースの場合、閾値やその他パラメータを識別パラメータ保持部１０８に保持しておき、識別部１０６で識別パラメータ保持部１０８から適宜読み出して、領域別特徴量に対するカテゴリを判別する。また、機械学習をベースとする場合は機械学習によって得られた複数のパラメータを識別パラメータ保持部１０８に保持しておき、識別部１０６で識別パラメータ保持部１０８から適宜読み出して、領域別特徴量に対するカテゴリを判別する。尚、領域別特徴量や判別方法は、これらに限定されるものではない。
【００３６】
本実施形態では、代表点初期化部１０９で初期化した代表点の情報を隣接グラフ生成部１０４に渡しているが、画像サイズや代表点を配置する間隔Ｓを固定する場合も考えられる。その場合は、代表点初期化部１０９から隣接グラフ生成部１０４に初期化した代表点の情報を渡す必要はないので、代表点初期化部１０９の入力無しに隣接グラフ生成部１０４はエッジの情報を生成するようにしてもよい。
【００３７】
また、本実施形態では、代表点の初期配置を図３（ａ）のように格子状に配置した例を挙げているが、これに限定されない。例えば、図４（ａ）に示すように、画像４０１の中に代表点４０２を千鳥状に配置し、注目代表点から斜めのエッジ４０３で構成される４方向のエッジで隣接グラフを定義してもよい。また、図４（ｂ）に示すように、更に、横方向のエッジ４１０を追加して、代表点に対して６方向のエッジで隣接グラフを定義してもよい。このように、本実施形態の特徴の１つは、代表点の初期配置を基準に隣接グラフを定義してＳｕｐｅｒｐｉｘｅｌの隣接関係または近隣関係を表す隣接グラフまたは近傍グラフを用いてＳｕｐｅｒｐｉｘｅｌ統合等の処理に利用することである。ここで、隣接グラフまたは近傍グラフは本実施形態で説明するものだけに限定するものではなく、同様の効果を発揮することができる隣接グラフまたは近傍グラフであれば、どのようなものでも良い。
【００３８】
以上説明したように、本実施形態によれば、隣接グラフ作成のためにラベルマップを読み込んでＳｕｐｅｒｐｉｘｅｌの隣接関係を表すエッジの隣接リストを重複なく作成する処理を実行することなく、隣接グラフの作成に関する処理を省略／簡略することができる。これにより、トータルスループットを向上することができる。
【００３９】
ここで、非特許文献１、２に示す手法では代表点は初期配置からの移動範囲が狭い。そのため、本実施形態のように、代表点の配置に基づいてグラフを作成しても、ほとんどの場合において、隣接または近傍関係を維持できる。
【００４０】
＜実施形態２＞
実施形態１では、Ｓｕｐｅｒｐｉｘｅｌの隣接関係または近隣関係を代表点の初期配置を基準に隣接グラフまたは近隣グラフを定義して利用する方法を説明している。これに対して、実施形態２では、隣接グラフで示される隣接関係が正しいか否かをラベルマップを使って判定して利用する構成について説明する。つまり、実施形態２では、隣接グラフとして生成したグラフを構成するエッジが隣接関係を表しているか否かを判定する。
【００４１】
図５は実施形態２の画像処理装置の構成図である。実施形態１の図１の画像処理装置との違いは、Ｔｒｕｅエッジ判定部５０９を追加している点と、Ｔｒｕｅエッジ判定部５０９の出力を受けて処理を実行する隣接グラフ生成部５０４が存在する点である。尚、図５において、実施形態１の図１と同一の構成要素については、同一の参照番号を付加し、その詳細説明は省略する。
【００４２】
画像入力部１０１からの入力画像によって、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２は、Ｓｕｐｅｒｐｉｘｅｌを生成する。Ｓｕｐｅｒｐｉｘｅｌ生成部１０２が出力するラベルマップは、Ｔｒｕｅエッジ判定部５０９に送信される。
【００４３】
まず、Ｔｒｕｅエッジ判定部５０９で検出されるＴｒｕｅエッジについて説明する。代表点の初期配置を基準に作成するエッジはＳｕｐｅｒｐｉｘｅｌ生成によって隣接関係が崩れる場合がある。図６（ａ）は三角形のオブジェクト６０２が存在する入力画像６０１を領域分割するために代表点を格子状に配置して４方向の代表点をエッジで接続したグラフである。図６（ｂ）はＳｕｐｅｒｐｉｘｅｌ生成部１０２で処理した領域分割後の模式図である。６１１はＳｕｐｅｒｐｉｘｅｌの境界である。エッジ６１２は領域分割後も正しい隣接関係を表しているので、これをＴｒｕｅエッジと定義する。一方、エッジ６１３は代表点６１５のＳｕｐｅｒｐｉｘｅｌと代表点６１６のＳｕｐｅｒｐｉｘｅｌを繋ぐエッジを表しているが、代表点６１４のＳｕｐｅｒｐｉｘｅｌによって分断されている。これをＦａｌｓｅエッジと定義する。Ｔｒｕｅエッジ判定部５０９は、代表点の初期配置を基準に作成したエッジが、領域分割後の各エッジを判定して、Ｔｒｕｅエッジを検出する処理を行う。
【００４４】
本実施形態で扱う４方向のエッジでは、Ｔｒｕｅエッジを判定するためにラベルマップをラスタスキャンして、図６（ｃ）の位置６２１、６２２、及び６２３のラベル値を参照する。Ｓｕｐｅｒｐｉｘｅｌの横方向の隣接関係を調べる例として、エッジ６１２がＴｒｕｅエッジで、エッジ６１３がＦａｌｓｅエッジであることを判定する処理を説明する。Ｓｕｐｅｒｐｉｘｅｌが横方向に隣接しているか調べるために位置６２１と位置６２３のラベル値を使用する。エッジ６１２の両端のＳｕｐｅｒｐｉｘｅｌ６１７及び６１８のように隣接している場合は、位置６２１及び６２３のラベル値は、Ｓｕｐｅｒｐｉｘｅｌ６１７及び６１８のラベル値とそれぞれ一致する条件がラスタスキャンをする中で１回以上発生する。１回以上この条件が発生する場合、エッジ６１２はＴｒｕｅエッジと判定される。一方、エッジ６１３の両端のＳｕｐｅｒｐｉｘｅｌ６１９及び６２０のように隣接していない場合は、位置６２１及び６２３のラベル値は、Ｓｕｐｅｒｐｉｘｅｌ６１９及び６２０のラベル値とそれぞれ一致する条件がラスタスキャンをする中で発生しない。この条件が発生しない場合、エッジ６１３はＦａｌｓｅエッジと判定される。以上の処理によって横方向の隣接関係を調べることができる。
【００４５】
同様に、位置６２１のラベル値と位置６２２のラベル値を参照し、縦方向に隣接するラベル値であるか否かを判定する。ここでは、横方向、縦方向の隣接関係の判定を別々に説明しているが、これらはラベルマップの１度のラスタスキャンで一緒に処理して構わない。
【００４６】
Ｔｒｕｅエッジ判定部５０９で使用したラベルマップは、ラベルマップ保持部１０７に送信される。また、Ｔｒｕｅエッジ判定部５０９で判定されたＴｒｕｅエッジの情報は隣接グラフ生成部５０４に送信される。隣接グラフ生成部５０４では、基本的には、実施形態１の図１の隣接グラフ生成部１０４の処理と同様の処理を行う。異なる部分は、送信されてきたＴｒｕｅエッジの情報を元に生成したエッジからＴｒｕｅエッジのみを選択してＳｕｐｅｒｐｉｘｅｌ統合部１０５に送信する処理になるところである。
【００４７】
次に、Ｓｕｐｅｒｐｉｘｅｌ統合部１０５は、実施形態１と同様に、送られたエッジの両端のＳｕｐｅｒｐｉｘｅｌの特徴量を調べて統合処理を行う。Ｓｕｐｅｒｐｉｘｅｌ統合部１０５に送られるエッジはＴｒｕｅエッジのみである。識別部１０６以降の処理は実施形態１で説明した通りである。
【００４８】
以上、本実施形態では、Ｔｒｕｅエッジ判定部５０９でＴｒｕｅエッジを検出し、隣接グラフ生成部５０４で、Ｔｒｕｅエッジのみを選択してＳｕｐｅｒｐｉｘｅｌ統合部１０５で統合する。ここで、本実施形態では、格子配置の４方向グラフのラベル値の参照位置を説明しているが、これに限定されない。例えば、図４（ａ）の千鳥配置の４方向グラフ、図４（ｂ）の千鳥配置の６方向グラフ、図３（ｃ）の格子配置の８方向グラフに対して図６（ｄ）に示すラベル値の参照位置で隣接関係を判定してもよい。
【００４９】
また、本実施形態では、Ｔｒｕｅエッジ判定部５０９でＴｒｕｅエッジを検出して、その情報を隣接グラフ生成部５０４に渡しているが、これに限定されない。例えば、Ｆａｌｓｅエッジを検出してＦａｌｓｅエッジの情報を隣接グラフ生成部５０４に渡してＴｒｕｅエッジのみを選択する処理にしてもよい。
【００５０】
以上説明したように、本実施形態によれば、実施形態１で説明した効果に加えて、隣接グラフで示される隣接関係が正しいか否かを判定することで、より精度の高い隣接グラフを生成することができる。
【００５１】
＜実施形態３＞
実施形態１及び実施形態２では、専用のハードウェアで、Ｓｕｐｅｒｐｉｘｅｌを生成するための領域分割処理を実現する構成について説明しているが、これに限定されない。例えば、パーソナルコンピュータ等で実現される情報処理装置のＣＰＵが実行するプログラムによるソフトウェア処理においても同様の速度向上の効果がある。
【００５２】
図７は実施形態１及び２における画像処理機能を実現可能な情報処理装置１００１のハードウェア構成を示す図である。１００２はＣＰＵであり、装置全体の制御を司る。１００３はＲＯＭであり、ブートプログラムやＢＩＯＳ等の各種プログラムを記憶している。１００４はＲＡＭであり、ＣＰＵ１００２のワークエリア及び一時待避領域として利用される。１００５はハードディスクドライブ（ＨＤＤ）でああり、ＯＳ、領域分割情報を作成するためのアプリケーション、ならびに、様々なデータを格納する。
【００５３】
１００６はキーボードであり、１００７はマウスであり、これらは情報処理装置１００１へ各種入力を行うためのユーザインターフェースとして機能する。１００８は表示制御部であり、内部にビデオメモリ及び表示コントローラを内蔵し、画像等の表示を制御する。１００９は表示装置であり、表示制御部１００８からの画像信号を受信して、表示する。１０１０はインタフェース（Ｉ／Ｆ）であり、各種外部デバイスと接続して、情報処理装置１００１と外部デバイスとの通信を実現する。情報処理装置１００１を構成する各種構成要素は、バス１０１１を介して相互に接続されて、互いにデータを送受信する。
【００５４】
次に、情報処理装置１００１において動作するソフトウェアによって実現される処理について、図８のフローチャートを用いて説明する。
【００５５】
図８（ａ）は実施形態１の処理をソフトウェアで実行する場合のフローチャートである。この処理は、ＣＰＵ１００２がＲＯＭ１００３に記憶されているプログラムを読み出し、ＲＡＭ１００４上で実行することで実現される。
【００５６】
Ｓ９０１で、ＣＰＵ１００２は、代表点を初期化する。代表点の初期化は、実施形態１で示したように色空間、座標空間の初期化を行う。次に、ステップ９０２で、ＣＰＵ１００２は、Ｓｕｐｅｒｐｉｘｅｌを生成する。Ｓ９０２においても実施形態１で示したように、代表点に画素をクラスタリングする処理を行う。
【００５７】
次に、ステップ９０３で、ＣＰＵ１００２は、隣接グラフを生成する。従来は、Ｓ９０２のＳｕｐｅｒｐｉｘｅｌの生成によって得られるラベルマップを読み込んで隣接グラフを作成していたが、本実施形態では、Ｓ９０１の初期化された代表点の初期配置を基準に隣接グラフを作成する。隣接グラフの作成方法は実施形態１で示した通りである。また、Ｓ９０３で作成する隣接グラフは、代表点の初期配置を基準にした隣接グラフに限定されず、実施形態１の図３（ｄ）のような近傍グラフでも構わない。
【００５８】
次に、Ｓ９０４で、ＣＰＵ１００２は、作成した隣接グラフを基準に、Ｓｕｐｅｒｐｉｘｅｌを統合する。次に、Ｓ９０５で、ＣＰＵ１００２は、統合したＳｕｐｅｒｐｉｘｅｌに対して識別処理を行い、カテゴリを識別する。このように、本実施形態でも、隣接グラフまたは近傍グラフを作成する処理を大幅に省略することができるので高速化が実現できる。
【００５９】
図８（ｂ）は実施形態２の処理をソフトウェアで実行する場合のフローチャートである。この処理は、ＣＰＵ１００２がＲＯＭ１００３に記憶されているプログラムを読み出し、ＲＡＭ１００４上で実行することで実現される。また、図８（ｂ）に示す処理は、図８（ａ）に示す処理に対して、Ｔｒｕｅエッジの判定（Ｓ９１０）を、Ｓ９０３とＳ９０４の間に追加したものである。そのため、ここでは、Ｓ９１０のＴｒｕｅエッジの判定以外の処理の詳細については省略する。
【００６０】
Ｓ９０１〜Ｓ９０３の処理を経て、Ｓ９１０で、ＣＰＵ１００２は、ラベルマップを読み、Ｓ９０３で生成したエッジの中から正しい隣接関係を表すエッジであるＴｒｕｅエッジを判定する。そして、Ｓ９０４で、ＣＰＵ１００２は、その判定結果に基づいて、Ｓｕｐｅｒｐｉｘｅｌを統合する。図８（ｂ）においては、Ｔｒｕｅエッジを判定する処理が必要になるが、従来のように、隣接関係を表すエッジを重複なく隣接リストを作成する処理を省略できるので、従来よりも高速化できる。また、Ｓ９１０における判定は、Ｔｒｕｅエッジの代わりに、Ｆａｌｓｅエッジを判定するようにしてもよく、その場合は、Ｓ９０３で、Ｆａｌｓｅエッジを除いてＴｒｕｅエッジを検出する。
【００６１】
以上説明したように、本実施形態によれば、実施形態１及び実施形態２と同様の効果を、ソフトウェアによっても実現することができる。
【００６２】
＜実施形態４＞
実施形態１及び実施形態２では、代表点の初期配置を用いて近隣または隣接関係を表す近隣または隣接グラフを用いてＳｕｐｅｒｐｉｘｅｌの統合を行う構成を説明しているが、代表点の初期配置を基準とすることに限定するものではない。
【００６３】
例えば、Ｓｕｐｅｒｐｉｘｅｌ生成部１０２で生成された代表点の座標空間の情報を基準にグラフを生成することもできる。図９（ａ）はＳｕｐｅｒｐｉｘｅｌ生成部１０２による領域分割後の代表点の配置を示す図である。代表点の座標空間の情報を基準にグラフを生成するために、注目代表点の所定の範囲内に存在する代表点を抽出してエッジを作成する。例えば、代表点７０２から所定の範囲を示す矩形範囲７０１内に存在する代表点７０３、７０４、及び７０５を抽出する。そして、図９（ｂ）に示すように、抽出した代表点７０３、７０４、及び７０５と代表点７０２とを繋ぐエッジ７２１、７２２、７及び２３を作成する。この処理を全ての代表点について行って得られる代表点の隣接グラフが図９（ｂ）である。尚、この隣接グラフは、実施形態２で説明したように、Ｓｕｐｅｒｐｉｘｅｌの正確な隣接関係は表してないので、図９（ｂ）の隣接グラフを実施形態２と同様にＴｒｕｅエッジを検出し使用しても構わない。
【００６４】
また、実施形態１乃至実施形態３では、非特許文献１のＳＬＩＣ手法に基づいて説明したがはこれに限定されるものではない。例えば、代表点を定義して画素をクラスタリングする領域分割手法であれば、実施形態１乃至３と同様の効果を得ることができる。
【００６５】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００６６】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００６７】
１０１：画像入力部、１０２：Ｓｕｐｅｒｐｉｘｅｌ生成部、１０３：代表点保持部、１０４：隣接グラフ生成部、１０５：Ｓｕｐｅｒｐｉｘｅｌ統合部、１０６：識別部、１０７：ラベルマップ保持部、１０８：識別パラメータ保持部、１０９：代表点初期化部、５０９：Ｔｒｕｅエッジ判定部、５０４：隣接グラフ生成部
【図１】
0006546385.tif 000003
【図２】
0006546385.tif 000004
【図３】
0006546385.tif 000005
【図４】
0006546385.tif 000006
【図５】
0006546385.tif 000007
【図６】
0006546385.tif 000008
【図７】
0006546385.tif 000009
【図８】
0006546385.tif 000010
【図９】
0006546385.tif 000011
【図１０】
0006546385.tif 000012