(57)【要約】【課題】高速計算が可能な連結領域ラベリング装置を提供する。【解決手段】２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ部1と、前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析部2と、前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新部と、を備えるものとして連結領域ラベリング装置10を提供する。【選択図】図１
2019016112.tif 000002
【特許請求の範囲】
【請求項１】
２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ部と、
前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析部と、
前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新部と、を備えることを特徴とする連結領域ラベリング装置。
【請求項２】
前記局所マージ部は、
２値画像を分割した各ブロック内で画素にラベル付与して第１ブロックラベルマップとする初期化部と、
前記第１ブロックラベルマップの各々においてブロック内で所定方向に隣接し且つ２値属性が共通の画素の一方にもう一方のラベルを更新して割り当てて第２ブロックラベルマップを得るスキャン部と、
前記第２ブロックラベルマップの各々において行方向及び列方向でのラベル統合を行うことによりラベルを更新して第３ブロックラベルマップを得る粗統合部と、
前記第３ブロックラベルマップの各々にユニオンファインド法を適用してラベルを更新して、前記各ブロックで完成したラベルマップとしての第４ブロックラベルマップを得る局所ユニオンファインド部と、を備え
前記第４ブロックラベルマップの各々を統合して前記２値画像の全体配置となしたものとして前記第１ラベルマップを得る統合部と、を備えることを特徴とする請求項１に記載の連結領域ラベリング装置。
【請求項３】
前記初期化部は、各ブロック内での画素位置に応じたラベル付与により前記第１ラベルマップを得ることを特徴とする請求項２に記載の連結領域ラベリング装置。
【請求項４】
前記初期化部は、各ブロック内でのラスタスキャン順の画素位置に応じたラベル付与により前記第１ラベルマップを得ることを特徴とする請求項３に記載の連結領域ラベリング装置。
【請求項５】
前記スキャン部は、前記第１ブロックラベルマップの各々において行方向に隣接し且つ２値属性が共通の画素の一方にもう一方のラベルを更新して割り当て、且つ、前記第１ブロックラベルマップの各々において列方向に隣接し且つ２値属性が共通の画素の一方にもう一方のラベルを更新して割り当てることにより前記第２ブロックマップを得ることを特徴とする請求項２ないし４のいずれかに記載の連結領域ラベリング装置。
【請求項６】
前記粗統合部は、ルート探索の際の経路を片方向の行方向と片方向の列方向とに限定したルート探索を行うことにより、前記第３ラベルマップを得ることを特徴とする請求項２ないし５のいずれかに記載の連結領域ラベリング装置。
【請求項７】
前記境界分析部は、前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象としてユニオンファインド法を適用することで前記第２ラベルマップを得ることを特徴とする請求項１ないし６のいずれかに記載の連結領域ラベリング装置。
【請求項８】
前記境界分析部は、前記分割したブロックの境界にある部分を１つ以上の行方向境界領域及び列方向境界領域に分けたうえでユニオンファインド法を適用することを特徴とする請求項７に記載の連結領域ラベリング装置。
【請求項９】
前記更新部は前記第２ラベルマップの全体にユニオンファインド法を適用することにより前記第３ラベルマップを得ることを特徴とする請求項１ないし８のいずれかに記載の連結領域ラベリング装置。
【請求項１０】
コンピュータを、連結領域ラベリング装置であって、
２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ部と、
前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析部と、
前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新部と、を備える連結領域ラベリング装置として機能させることを特徴とするプログラム。
【請求項１１】
２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ段階と、
前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析段階と、
前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新段階と、を備えることを特徴とする連結領域ラベリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速計算が可能な連結領域ラベリング装置、方法及びプログラムに関する。
【背景技術】
【０００２】
連結領域ラベリング（Connected Components Labeling; 以下、CCLと略記する）は、２次元あるいは３次元グリッドにおいて与えられた２値データに対して、当該２値データが共通しており互いに隣接しているもの同士が共通の領域に属するものとして、領域に固有IDを割り当てるタスクであり、コンピュータグラフィックス分野を含め広範に応用されている。CCLの手法は例えば以下のように、各種のものが提案されている。
【０００３】
非特許文献１では、並列処理が可能なマルチパスの手法として、Label Equivalence法（以下、LE法と略記する）を提案している。非特許文献２は、CCLのGPU（グラフィック処理装置）へ最適化された実装として、Union Find法（以下、UF法と略記する）の２次元ブロックにおける並列処理を提案している。非特許文献３では、２次元ブロックに代えて直線ベースでのUF法の並列処理を提案している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Hawick, Kenneth A., Arno Leist, and Daniel P. Playne. "Parallel graph component labelling with GPUs and CUDA." Parallel Computing 36.12 (2010): 655-678.
【非特許文献２】Oliveira, V. M. A., and R. A. Lotufo. "A study on connected components labeling algorithms using GPUs." SIBGRAPI. Vol. 3. 2010.
【非特許文献３】Yonehara, Kensaku, and Kunio Aizawa. "A line-based connected component labeling algorithm using GPUs." Computing and Networking (CANDAR), 2015 Third International Symposium on. IEEE, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のようなCCLの各手法は、高速化に関して改善の余地を残すものであった。非特許文献１の手法は繰り返し処理を伴い、各回の処理を行うためにGPUが読み込むカーネル関数は小さいもので済むものの、繰り返し回数が多くなってしまい、高速化が十分ではないという課題があった。非特許文献２や３の手法では、繰り返しは存在しないか、存在したとしても少ない回数であるものの、カーネル関数が大きくなってしい、高速化が十分ではないという課題があった。
【０００６】
上記の従来技術の課題に鑑み、本発明は、高速計算が可能な連結領域ラベリング装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は連結領域ラベリング装置であって、２値画像を分割した各ブロック内で画素にラベル付与して第１ブロックとする初期化部と、前記第１ブロックの各々においてブロック内で所定方向に隣接し且つ２値属性が共通の画素の一方にもう一方のラベルを更新して割り当てて第２ブロックを得るスキャン部と、前記第２ブロックの各々において行方向及び列方向でのラベル統合を行うことによりラベルを更新して第３ブロックを得る粗統合部と、前記第３ブロックの各々にユニオンファインド法を適用してラベルを更新して第４ブロックを得る局所ユニオンファインド部と、を備え、前記第４ブロックの各々を統合して前記２値画像の全体配置となしたものに基づいて、前記２値画像の連結領域ラベリング結果を得ることを特徴とする。また、本発明は、連結領域ラベリング方法であって、２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ段階と、前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析段階と、前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新段階と、を備えることを特徴とする。さらに、本発明は、コンピュータを、連結領域ラベリング装置であって、２値画像を分割した各ブロックにおいて連結領域ラベリングを行い、各ブロックで完成したラベルマップを得たうえで各ラベルマップを前記２値画像の全体におけるものとして統合した第１ラベルマップを得る局所マージ部と、前記第１ラベルマップにおいて、前記分割したブロックの境界にある部分を対象として連結領域ラベリングを行うことで第２ラベルマップを得る境界分析部と、前記第２ラベルマップの全体を対象として連結領域ラベリングを行うことで前記２値画像の全体に対する連結領域ラベリング結果としての第３ラベルマップを得る更新部と、を備える連結領域ラベリング装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、連結領域ラベリングの計算を高速に実施することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る連結領域ラベリング装置の機能ブロック図である。
【図２】主に初期化部から局所ユニオンファインド部までの処理に関して模式例を示す図である。
【図３】スキャン部の処理に関して模式例を示す図である。
【図４】主に統合部以降の処理に関して模式例を示す図である。
【図５】本発明による高速化の例を示す図である。
【発明を実施するための形態】
【００１０】
図１は、一実施形態に係る連結領域ラベリング装置10（以下、CCL装置とする）の機能ブロック図である。図示する通りCCL装置10は、初期化部11、スキャン部12、粗統合部13、局所ユニオンファインド部14（以下、局所UF部とする）及び統合部15を備える局所マージ部1、境界分析部2並びに更新部3を備え、2値画像を読み込んでこの順番で各部における処理を行うことにより2値画像の連結領域ラベリング結果を出力する。各部1〜3の処理の概略は以下の通りである。なお、以下では「２値画像」として説明するが、本発明における「２値画像」はいわゆるマスク画像をも含むものである。
【００１１】
局所マージ部1は、CCL処理対象となる2値画像を所定サイズのブロックに分割したうえで、当該ブロックごとにCCLを実施し、ブロックごとにCCLが完了した状態のラベルマップを得たうえで、各ブロックとしてのラベルマップを統合して当初の2値画像の全体におけるラベルマップへと変換したものとしての第１ラベルマップを境界分析部2へと出力する。ここで、局所マージ部1において各ブロックごとにCCLを実施することで各ブロック単位ではCCLが完了した状態のものが得られることとなるが、当初の2値画像の全体ではCCLは完了した状態にはないため、境界分析部2以降の処理をさらに継続することによって第１ラベルマップをさらに更新していくことにより、2値画像全体でのCCLが完了した状態のラベルマップが得られることとなる。
【００１２】
本発明においては特に、局所マージ部1でのブロック単位のCCLの最終結果を得る局所UF部14での処理に先立って、高速計算が可能なスキャン部12及び粗統合部13においてCCLの最終結果には至ってないものの最終結果にある程度近い状態のラベルマップを得ておくようにし、当該状態のラベルマップを局所UF部14において処理することで高速にブロック単位での最終的なラベルマップを得るようにすることができる。また、境界分析部2では２値画像全体に対応する第１ラベルマップにおいてブロック境界の部分のみを対象としてCCL処理を行なうことで、高速に第１ラベルマップを第２ラベルマップへと更新することができる。さらに、更新部3では既に２値画像の全体におけるCCLの最終結果にある程度近い状態にある第２ラベルマップを対象としてCCL処理を行なうことで、高速に２値画像の全体に対するCCL結果としての第３ラベルマップを得ることができる。
【００１３】
以下、各部1〜3の詳細を説明する。図２〜４は当該説明のための、処理されるデータや処理内容に関する模式例をそれぞれ示すものであり、以下の説明において適宜、参照する。なお、図２は主に初期化部11から局所UF部14までの処理に関して、図３はスキャン部12の処理に関して、図４は主に統合部15以降の処理に関して、模式例を示す図である。まず、局所マージ部1は上記概略説明した処理を行なうために、その各部11〜15が以下のような処理を行なう。
【００１４】
初期化部11は、CCL処理対象となる所定サイズ縦N×横Mの2値画像を読み込み、まず、当該2値画像を所定サイズの第１ブロックに分割する。例えば、縦にn分割、横にm分割することで縦N/n×横M/mのサイズとなった各第１ブロックをn×m個得る。初期化部11はさらに、各第１ブロックにおける画素にラベルを付与したうえで、当該ラベル付与された各第１ブロックラベルマップをスキャン部12へと出力する。当該ラベル付与は、各第１ブロックラベルマップ内において異なる画素には異なるラベルが付与されるように、所定方式で行うことができる。例えば、各第１ブロック内の画素に関してラスタスキャン順で一意の数値ラベルを付与してよい。当該ラスタスキャン順のラベル付与は、各画素位置(i,j)に関してその位置(i,j)から所定規則でただちに算出されるものとして、高速な付与が可能である。
【００１５】
図２の例では[1]に２値画像P0の例として、縦16×横16の画像の例が各画素をセル領域として表現することにより示されており、ここでグレー色のセルは２値属性の一方（例えば前景）である画素であり、白色のセルは２値属性のもう一方（例えば背景）である画素を意味している。[1]では初期化部11が当該２値画像P0を縦、横共に2分割して合計4個の第１ブロックラベルマップB1,B2,B3,B4を得た例が示されている。さらに、図２の例では[2]に、第１ブロックラベルマップの一つであるブロックラベルマップB1に関して、初期化部11が各画素位置のラスタスキャン順の数値ラベルを付与することで、ラベル付与された第一ブロックラベルマップB11を得たことが示されている。その他の第１ブロックB3〜B4に関しても同様に、ラベル付与された第１ブロックB13〜B14（不図示）が得られることとなる。以下、図２及び図３の説明では４分割された４個の第１ブロックラベルマップB1,B2,B3,B4のうち１個の第１ブロックラベルマップB1に関して継続して実施される処理を説明するが、その他の第１ブロックラベルマップについても同様の処理が行われる。
【００１６】
なお、当該ブロックラベルマップ単位での各部11〜14の処理は、GPUを用いて並列処理が可能である。
【００１７】
スキャン部12は、各第１ブロックラベルマップ内で所定方向に隣接し且つ２値属性が共通の画素の一方にもう一方のラベルを更新して割り当てて各第２ブロックラベルマップを得たうえで、粗統合部13へと出力する。具体的には、次のような行スキャン及び列スキャンにより逐次的にラベル更新を行う。まず、第１ブロックラベルマップの各行に関して、行方向（ラスタスキャン方向）のスキャンを行い、各画素から見てその右隣りの画素の２値属性（前景・背景のいずれに該当するか）が自身と共通であれば、当該右隣りの画素のラベルを自身のラベルで上書きして更新するという処理を行う。さらに継続して同様に、第１ブロックの各列に関して全く同様に、列方向（ラスタスキャン方向）のスキャンを行い、各画素から見てその下隣りの画素の２値属性（前景・背景のいずれに該当するか）が自身と共通であれば、当該下隣りの画素のラベルを自身のラベルで上書きして更新するという処理を行う。
【００１８】
図３の[2-1]では当該スキャンの模式例として、図２の第１ブロックラベルマップB11の１行目領域B1R10に当該行スキャンを行うことで、１行目領領域のラベルがその下に示す領域B1R11のように更新されることが示されている。当該更新処理は[2-2]に示すように、更新前の領域B1R10を行方向に１個だけずらして２行並べて、２値属性が同じであるものが並んでいれば矢印に示すように対応ラベルを上書きすることで実現することができる。このような行スキャンが第１ブロックの各行について実施された後、同様の列スキャンが第１ブロックラベルマップの各列について実施される。図３の[2-3]では第１ブロックB11に関して全て（8回）の行スキャンが実施された後の状態の１列目領域B1C10に関して、列スキャンが実施されることでその左に示す領域B1C11のように更新されることが示されている。当該更新も[2-4]に示すように、更新前の領域B1C10を列方向に１個だけずらして２行並べて、２値属性が同じであるものが並んでいれば矢印に示すように対応ラベルを上書きすることで実現することができる。
【００１９】
図２の[3]には、以上のようなスキャン部12による処理を[2]に示す第１ブロックラベルマップB11に適用して得られる第２ブロックラベルマップB12が示されている。なお、第２ブロックラベルマップB12内の矢印やラベル数値に付与した下線は、スキャン部12以降の説明のためのものである。
【００２０】
粗統合部13では、各第２ブロックラベルマップに対して行方向及び列方向でのラベル統合を行うことによりラベルを更新して得られる各第３ブロックラベルマップを、局所UF部14へと出力する。
【００２１】
粗統合部13では具体的には、第２ブロックラベルマップ内の各位置（各画素のセル[i](i=0, 1, 2, ...)）に関して継続的に、以下の処理（１）及び（２）を実施することにより、第２ブロックラベルマップを更新した第３ブロックラベルマップを得る。
（１）各セル[i]に関して、自身と連結関係にあるセルであって、ルートとなっているセルを探索する。（２）当該セル[i]のラベルを、上記探索されたルートとなっているセルのラベルによって上書きする。
【００２２】
なお、上記の（１）において連結関係とは自身のセル[i]と当該探索対象となるセルとの間に、所定方向の経路上において２値属性が共通の一連の連結したセルがあることをいう。すなわち、自身のセル[i]から当該探索対象となるセルへと向かって、隣接関係にある上下左右（4-connectivity）のうちの左又は上（2-connectivity）のいずれかのセルを順次経由して移動する経路を考えた際に、当該移動経路上に現れる全てのセルの２値属性が自身のセル[i]の２値属性と同じとなるような経路が存在する場合、連結関係がある。また、上記の（１）においてルートとなっているセルとは、当該セルに現時点において付与されているラベルが初期化部11で付与されたラベル（ラスタスキャン順に対応するラベル）と同じである（変わっていない）セルのことをいう。なお、上記の（１）において、当該セル[i]自身がルートであり、且つ、自身よりもラベルの値が小さいルートへの接続関係が存在しない場合は、ラベルの上書きを行う必要はない。また、連結関係にあるルートのセルが２個以上ある場合には、値が最も小さいルートのラベルで上書きするようにすればよい。
【００２３】
図２の例では[3]に示す第２ブロックラベルマップB12に対して粗統合部13の処理により[4]に示す第３ブロックラベルマップB13が得られることが示されている。なお、図２の[3]の第２ブロックラベルマップB12の中に描かれている矢印（白色）は、ルート探索方向としての左又は上（2-connectivity）によるルート探索経路の模式例となっている。粗統合部13の計算はルートへの探索を左又は上（2-connectivity）のいずれかのセルを順次経由して移動する経路に限定するため高速に計算可能であり、且つ、当該第３ブロックラベルマップB13に例示されるようにブロック単位でのCCLの最終結果にある程度近い状態を得ることができる。従って、次の局所UF部4による計算を高速に行うことができるようになる。
【００２４】
局所UF部14では、非特許文献２でも利用されている既存技術であるUF法を各第３ブロックに適用して得られる各第４ブロックラベルマップを、統合部15へと出力する。UF法は、「ルート」として存在している画素のラベルによって、当該ルートとして存在している画素と連結関係にある画素のラベルを上書きするものである。
【００２５】
局所UF部14では具体的には、前述の粗統合部13における処理と概ね同様に、第３ブロックラベルマップ内の各位置（各画素のセル[i](i=0, 1, 2, ...)）に関して継続的に、以下の処理（１'）及び（２'）を実施することにより、第３ブロックラベルマップを更新した第４ブロックラベルマップを得る。前述の通り、当該得られる第４ブロックラベルマップは、ブロック単位で見ればCCL処理が完了した状態にあるものとなる。
（１'）各セル[i]に関して、自身と連結関係にあるセルであって、ルートとなっているセルを探索する。（２'）当該セル[i]のラベルを、上記探索されたルートとなっているセルのラベルによって上書きする。
【００２６】
ただし、局所UF部14における上記（１'）の処理では、前述の粗統合部13の（１）の処理におけるのと異なり、ルートを探索するための隣接関係として上下左右（4-connectivity）の全部を用いるようにする。また、粗統合部13における処理と同様に、連結関係にあってルートとなっているセルが２つ以上ある場合は、ラベルの値が最も小さいもののラベルで上書きするようにする。さらに、粗統合部13における処理と同様に、セル[i]自身がルートであっても、連結関係にあるより小さいラベルのルートが存在する場合は、当該ルートであるセル[i]のラベルを自身よりも値の小さいルートのラベルで上書きする。
【００２７】
本発明においては特に前述の通り、高速に実施可能なスキャン部12及び粗統合部13によって局所UF部14の適用対象となる第３ブロックラベルマップが既に、ルート探索等に関して高速に処理可能な状態となっているので、従来手法と比べて局所UF部14によるUF法の処理が高速実施可能になるという効果がある。なお、局所UF部14における処理それ自体は、前掲の非特許文献２などでも利用されているのと同様のUF法である。また、粗統合部13の処理は、既存のUF法においてルート探索の経路を左又は上（2-connectivity）すなわち、行方向の片方向及び列方向の片方向に限定したものに相当する。
【００２８】
統合部15では、第４ブロックラベルマップの各々を統合することにより、当初の２値画像（初期化部11に入力された2値画像）の全体配置の状態へと戻し、当該全体配置内での区別されたラベルを更新付与したものとして得た第１ラベルマップを、境界分析部2へと出力する。
【００２９】
統合部15では具体的には、次のようにしてラベルを更新付与する。すなわち、統合対象となる第４ブロックラベルマップは、それぞれラベル値がいずれかのルートとなっているセルのラベル値であり、且つ、ブロック単位でのCCL結果の領域IDに相当するものとして得られているので、当該ルートとしてのラベル値を、ブロック単位でのローカルな値から２値画像の全体配置におけるグローバルな値へと変換すればよい。なお、当該グローバルな値は、２値画像の全体に対して初期化部11で初期化を行うことで得られる、画像全体でのラスタスキャン順の値とすればよい。
【００３０】
例えば図４の[1]では、図２の[1]に示す当初の2値画像P0に対応するものとして第１ラベルマップL1が示されている。ブロックラベルマップB15〜B45は当初の第１ブロックラベルマップB1〜B4にそれぞれ対応するものである。また、例えばブロックラベルマップB15は、図３に示すブロックラベルマップB13に局所UF部14の処理を行なってブロック単位でCCLが完了した状態となった後、さらに統合部15によって２値画像全体での区別を行うためにラベルが更新された状態に対応するものである。また、ブロックラベルマップB15〜B45はラベル値が前述の通りグローバルな値に変換されたものとなっている。
【００３１】
境界分析部2では第１ラベルマップにおいて、統合された際のブロック境界に相当する箇所を対象としてUF法を適用してラベルを更新することで得た第２ラベルマップを、更新部3へと出力する。UF法に関しては局所UF部14で説明したのと同様の手法、すなわち、非特許文献２などでも利用されている既存手法を適用すればよい。
【００３２】
ただし、本発明の境界分析部2では特に、UF法の適用対象を第１ラベルマップにおけるブロック境界に限定することで、高速にUF法を実行可能とすると共に、後段側の更新部3での入力としての第２ラベルマップを、最終的な連結領域ラベリング結果を得るまでの計算収束が少ない回数で完了するような状態として用意しておくことができるという効果がある。
【００３３】
境界分析部2では具体的には、初期化部11においてサイズN×Mの２値画像を横n個×縦m個にブロック分割したのであれば、当該横方向にn-1個だけ形成されるサイズ2×Mの領域と、当該縦方向にm-1個だけ形成されるサイズN×2の領域と、をUF法の処理対象とすればよい。当該複数の処理対象はGPUにより並列処理可能である。すなわち、横方向に並ぶn-1個の列方向領域を並列処理した後、縦方向に並ぶm-1個の行方向領域を並列処理することが可能である。この逆順でもよい。あるいは、当該境界を含むようなその他の任意の処理単位で並列処理を行なうようにしてもよい。例えば、サイズ2×Mの領域とサイズN×2の領域とをさらにそれぞれ縦方向にm分割、縦方向にn分割したサイズ2×(M/m)の領域とサイズ(N/n)×2の領域とを並列処理可能なUF法での処理対象としてもよい。以上の例では境界をまたぐ2セルを処理対象としたが、2セルよりも多く境界をまたぐセルを取るようにしてもよい。
【００３４】
一例として、図４の[5]の第１ラベルマップL1に関しては、横方向の1個のサイズ2×16の境界領域R1と、縦方向の1個のサイズ16×2の境界領域C1と、が境界分析部2によるUF法の適用対象とすることができ、例えば領域R1にUF法を適用した後、さらに領域C1にUF法が適用されるといった処理が行われる。これよりも細かく分割した領域で並列に処理してもよい。図４の[5-2]には境界領域C1にUF法を適用する模式例が示されている。
【００３５】
更新部3は、第２ラベルマップに対して上記の境界分析部2で得られた結果を反映することにより、最終結果としての２値画像のラベリング結果である第３ラベルマップを得る。
【００３６】
更新部3では具体的には、第２ラベルマップの全体に対して局所UF部14や境界分析部2におけるのと同様のUF法を適用することで、第３ラベルマップを得ることができる。
【００３７】
図５は本発明による高速化の効果の例を示す図であり、[1]ではグラフとして、[2]では表として、対比手法としての従来手法のLE法（非特許文献１）、UF法（非特許文献２）、LINE UF法（非特許文献３）に対してOptimized UF法（本発明によるもの）が高速化を達成していることが見て取れる。
【００３８】
以下、本発明における説明上の補足事項を述べる。
【００３９】
（１）本発明は、コンピュータを連結領域ラベリング装置10として機能させるプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが連結領域ラベリング装置10の各部の機能に対応する命令を実行することとなる。また、当該コンピュータはさらに、CPUよりも並列処理を高速実施可能なGPU（グラフィック処理装置）を備え、CPUに代えて連結領域ラベリング装置10の全部又は任意の一部分の機能を当該GPUにおいてプログラム（カーネル関数）を読み込んで実行するようにしてもよい。
【００４０】
なお、以上の説明よりも明らかなように、連結領域ラベリング装置10の各部の処理はGPUによって並列で実施することが可能である。当該並列実施する際は、処理の完了が同期するようにしてもよい。
【符号の説明】
【００４１】
10…連結領域ラベリング装置、1…局所マージ部、11…初期化部、12…スキャン部、13…粗統合部、14…局所UF部、15…統合部、2…境界分析部、3…更新部
【図１】
2019016112.tif 000003
【図２】
2019016112.tif 000004
【図３】
2019016112.tif 000005
【図４】
2019016112.tif 000006
【図５】
2019016112.tif 000007