形態学的マクロセルを用いる画像処理システム
画像取得装置と記憶装置一式と計算区画と制御システムとを含む、形態学的マクロセルを用いる画像処理システム。計算区画は形態学的マクロセル(50)をk個有し、各該マクロセルは、並列なブランチ(f,g)に組織された基本形態学的セル一式(51,52,61,62)を含み、個々の該セル(51,52,61,62)は、線形構造要素の使用に基づく基本的な浸食、膨張、または恒等の関数を行い、当該各セルの機能と構造要素のサイズとは動的にプログラム可能であり、基本形態学的セルからの並列な流れは出力において演算論理機構(70)により結合される。複数の行と複数の列とを並行に処理するためにデータを並列化するための少なくとも1つのシステムは、一つの語をp個の並列なデータ流れに分解し、かつ、p個の形態学的マクロセルの入力につながっている。基本形態学的セル(51,52,61,62)と形態学的マクロセル(50)はデータの有用性の機能として、処理を選択的に停止し、後にパイプライン上のデータを失わずに処理を再開するための制御システムと通信可能な制御機構を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は形態学的マクロセルを用いる画像処理システムに関する。
【0002】
本発明は、特に、数理形態学の理論、特に、浸食(erosion)と膨張(dilatation)との操作に基づき、大型サイズ(例えば、3〜256画素)の線形構造要素(elements structurants lineaires)の高速処理のために非線形画像処理技術を用いることを目的とする。
【0003】
本発明は、より具体的には、文字、数字、記号からなる反復パターンを有する物体を検出するためのシステムに関する。
【背景技術】
【0004】
浸食と膨張の基本原理は「最小値」および「最大値」の操作に依存している。これは、被分析画像のある特徴を強調するために、該画像の全ての部位を原点が通るように動かされる既知の幾何学の構造要素と該画像とを比較する。
【0005】
構造要素(B)の中心は、ある近隣位置(un voisinage donne)の関数として「最小値」または「最大値」が保存される値を決定する。
【0006】
構造要素(B)による画像 f(x)の浸食は、以下の式で定義される。
εB(f(x))=inf{(f(x−y)),y∈B} (1)
【0007】
f(x−y)は、構造要素を画像上で平行移動させることを表す。構造要素Bを動かすたびに、構造要素Bの領域においてとられる最小値をf(x)へ割り当ててゆく。
【0008】
画像の膨張は、浸食と対になったものである。膨張は次のように定義される。
βB(f(x))=sup{(f(x−y)),y∈B} (2)
【0009】
構造要素Bを動かすたびに、構造要素Bの領域においてとられる最大値をf(x)へ割り当ててゆく。
【0010】
合成変換は、基本変換を結合させ、つなげることで作成される。減算、上限(supremum)、下限(infimum)などの操作により、非常に多くの種類の処理操作を実行することができる。
【0011】
勾配(gradient)は、元の画像と、浸食または膨張された画像とに減算を適用することにより作成される。オープン関数(ouverture)は、元の画像を膨張させた後、この結果を浸食させることで行われる。クローズ関数(fermeture)は、この双対する変換として定義されている。
【0012】
より高度な変換を用いて逐次交互フィルタ(filtres alternes sequentiels)が構成される。この変換の仕組みは、オープン関数とクローズ関数とを交互につなげるとともにBのサイズを大きくしていくというものである。
【0013】
「トップハット(chapeau haut de forme)」 と呼ばれる合成変換は、2通りで定義される。すなわち、クローズトップハットまたはブラックトップハット(BTH)関数(“black top hat”ou“close top hat”)と、オープントップハットまたはホワイトトップハット(WTH)関数(“white top hat”ou“open top hat”)である。WTHは元の画像とオープン関数の結果との差に等しい。これは、画像においてある閾値より明るい物体を保持する。BTHは元の画像とクローズ関数の結果との差に等しい。これは、画像においてある閾値より暗い物体を保持する。
【発明の概要】
【発明が解決しようとする課題】
【0014】
本発明は、特に、映像信号の流れなどの画像の流れにおけるデータの処理を最適化し、画像処理の適合を容易にすることを目的とする。
【0015】
線形構造要素を用いると、個々の行および列(ligne/colonne)が他の行および列とは独立に処理されるので、画像の行および列(lignes/colonnes)の次元で並列化(parallelisme)を適用することができる。
【0016】
本発明の実施は、構造要素のサイズに関係なく実行時間が一定の処理に基づいているという点で有利である。
【課題を解決するための手段】
【0017】
したがって、本発明は、形態学的マクロセルを用いる画像処理システムにおいて、
・bビットにコード化されたm行とn列の行列(m,n,bは整数)を含むグレースケールのデジタル画像を作成するための画像取得装置と、
・記憶装置一式と、
・処理実行中において、計算ユニットとデータパスとが個々の処理の間で再構成可能である、画像処理を行うための動的再構成可能な計算区画と、
・該画像取得装置と該記憶装置一式との間でデータを移動させ、該計算区画へのp個の並列なデータの流れ(pは整数)を制御し、該データを該計算区画で要求された関数として専用アドレスと共に送るための、制御システムと
を含み、
該計算区画は、
・1より大きい整数k個の形態学的マクロセルであって、個々の該形態学的マクロセルが、整数e個の段階を有するb個の並列なブランチで組織された基本形態学的セル一式を含み、個々の該形態学的セルが、線形構造要素の使用に基づく基本的な浸食、膨張、または恒等(identite)の関数を行い、個々の形態学的セルの機能と構造要素のサイズとが動的にプログラム可能であり、これらの基本形態学的セルからの並列な流れが、出力において演算論理機構により結合されている、形態学的マクロセルと、
・複数の行および複数の列のそれぞれを並行に処理するためにデータを並列化するための少なくとも1つのシステムであって、各システムが、2つのバッファモジュールと、1つの語をp個の並列なデータの流れに分解するためにs個の一連の同期段階(etages synchrones)を通してパイプライン化され、形態学的マクロセルのp個の入力へつなげられた、デマルチプレクサーとを含むシステムと、
・k個の形態学的マクロセルの出力の整数z個の並列な流れから画像を再構築するための、少なくとも一つのシステムであって、各システムが、2つのバッファモジュールと、s′個の一連の段階を通してパイプライン化され、該形態学的マクロセルの同期の出力とつなげられたマルチプレクサーとを含むシステムと
を含み、
該基本形態学的セルと該形態学的マクロセルとには、データの有用性の機能として、処理の実行を選択的に停止し、その後、パイプライン上のデータを失うことなく処理を再開するための、上記制御システムとの通信が可能な制御機構が与えられていることを特徴とする、形態学的マクロセルを用いる画像処理システムから構成されている。
【0018】
本発明のシステムは、整数f個のデータ並列化システムと、fxpの並列なデータの流れに対する処理を可能とするための画像再構築システムとを含んでいると有利である。
【0019】
形態学的マクロセルは、複数の段階を有する複数のブランチを通してパイプライン化され、これらの出力が演算論理機構によって結合されていることが好ましい。
【0020】
主な実施形態において、個々の形態学的セルは、第一および第二パスにおいて異なる方向への処理を行うための第一および第二処理ユニットを含み、第一処理ユニットと第二処理ユニットとの間にはバッファモジュールが存在する。
【0021】
これらの第一および第二処理ユニットのそれぞれは、伝搬ユニットと、エッジ効果および専用処理を行うユニットと、遅延回線とを有することが好ましい。
【0022】
形態学的マクロセルは、クローズ、オープン、オープントップハット、クローズトップハット、および/または勾配、のタイプの再合成演算子を再構成により定義するために、浸食、膨張、および/または恒等、の関数を提供する形態学的セルが2個つながったブランチを少なくとも2つと、演算論理機構とを含む。
【0023】
このように、フィルタ処理(filtrage)、画像改良、輪郭抽出、オブジェクト検出などの処理のための合成演算子を作成するために、浸食および膨張の関数に加えて、恒等関数と演算論理機構とが与えられていることが好ましい。
【0024】
本発明は、特に、形態学的マクロセルを用い、かつ、勾配、非線形フィルタ、逐次交互フィルタ、コントラスト修正などの画像処理操作を行うための、演算論理機構と結合した少なくとも二つの形態学的マクロセルを含む、上述のような画像処理システムの利用に関する。
【0025】
本発明は、さらに、文字、数字、記号などから構成される連続パターンを有するオブジェクトを検出するためのシステムにおいて、形態学的マクロセルと第一画像処理モジュールと第二画像処理モジュールとを用いる再構成可能な画像処理システムを含むことを特徴とするシステムに関する。
【0026】
主な実施形態において、第一画像処理モジュールは、第一オープン/クローズモジュールと、第二オープン/クローズモジュールと、閾値との比較を行うための演算論理機構と、交差(intersection)モジュールと、行オープンモジュールとを含む。
【0027】
第二画像処理モジュールはオープン/クローズモジュールを含む。
【発明の効果】
【0028】
本発明のシステムは、特に、ナンバープレートの検出へ適用することができる。
【0029】
本発明のその他の特徴および利点は、以下に添付の図を参照に記載した実施形態により明らかになる。
【図面の簡単な説明】
【0030】
【図1】本発明の画像処理システムのブロック図である。
【図2】2つのパスにおいて処理を行う形態学的セルの構造を表すブロック図である。
【図3】図2で示した形態学的セルの第一処理パスを構成する部分の構造を表すブロック図である。
【図4】図2で示した形態学的セルの電子工学的構造である。
【図5】形態学的マクロセル(MCM)の一般的な構造である。
【図6】膨張、浸食、オープンまたはクローズの演算子の機能を行う形態学的マクロセルの電子工学的構造である。
【図7】勾配、オープン、クローズ、クローズトップハット、またはオープントップハットの合成演算子の機能を行う形態学的セルの構造である。
【図8】オープントップハット演算子の機能を行う形態学的マクロセルの電子工学的構造である。
【図9】並列化された画素についての行のアドレス指定(adressage)の仕組みを表す図である。
【図10】画素ベクトルの行/列変換の仕組みを表す図である。
【図11】行/列変換システムの構造を表す図である。
【図12】画素ベクトルの列/行変換の仕組みを表す図である。
【図13】画素の列/行変換システムの構造を表す図である。
【図14】図13で示した構造において利用することのできる、3つの段階を有するマルチプレクサーの例である。
【図15】ソース画像の例である。
【図16】行/列並列化バッファの段階での出力における画像の例である。
【図17】計算された画像の例である。
【図18】列/行並列化の後に再構築された画像の例である。
【図19】2つのパスにおいて一定時間における、線形の処理(traitement lineaire)による、サイズが3の膨張の結果を表す。
【図20】本発明の画像処理システムの構造とナンバープレート検出処理を受ける画像の例とを用いてナンバープレートを検出する方法における種々のステップを表すブロック図である。
【図21】図20で示した本発明の方法を用いて、画像を処理した後に得られる画像の例である。
【図22】図21で示した検出領域の拡大図である。
【図23】ナンバープレート検出の処理を受ける画像の例である。
【図24】図23で示した画像に対してオープン関数と閾値関数とを水平方向に実行した画像に相当する処理画像である。
【図25】図23で示した画像に対してクローズ関数と閾値関数とを水平方向に実行した画像に相当する処理画像である。
【図26】図24で示した処理画像と図25で示した処理画像との交差に相当する処理画像である。
【図27】図26で示した画像に対して水平方向の浸食および水平方向の膨張を行った後の画像に相当する処理画像である。
【図28】図27で示した画像に対して垂直方向の浸食および垂直方向の膨張を行った後の画像に相当する処理画像であり、白い領域はナンバープレートの位置を示す。
【図29】ナンバープレート位置検出システムの構成を表したブロック図である。
【図30】画像処理システムをナンバープレート検出に適用した例を表すブロック図である。
【発明を実施するための形態】
【0031】
図1は、本発明の画像処理システムの主要な構成部分である、検出器(capteur)または画像取得モジュール1と、静的領域に位置する制御システム2と、動的再構成可能領域に位置する計算区画3と、記憶装置4,5と、通信システム6とを、ブロック図式で表したものである。
【0032】
画像取得モジュール1は、bビットにコード化されたm行とn列の行列(b,m,nは整数)を含むグレースケールのデジタル画像を作成する。
【0033】
制御システム2は、画像取得システム1から記憶装置4,5へ、または直接的に計算区画へ、データを転送する。これと同時に、制御システム2は計算区画3への流れを制御し、要求された関数としてデータを専用アドレスとともに送る。計算区画3は制御システムからきたデータの流れを供給されるが、アドレス指定の機能を有している必要はない。しかし、計算区画3には、制御システムがいつでもデータの流れを中断し、その後、データを失うことなく処理を再開することを可能にするために、関連するクロックを凍結するための機構が備え付けられていることが必要不可欠である。
【0034】
したがって、図2の構造はマイクロプロセッサーの構造とは異なり、記憶装置からのデータが計算ユニットへ入り、記憶装置に返される前に該計算ユニットにおいて処理が行われるという、シストリックな(systolique)構造に近い。
【0035】
個々の計算ユニットは、処理操作(処理タイプ、構造要素サイズ、画像サイズ、演算論理機構の機能)の間で構造を変えることが可能である。さらに、画像に対して異なる処理操作を適用するために、複数のデータパスを作成することも可能である。
【0036】
演算子を供給する並列化システムによって、線形構造要素を用いて一度に2つ以上の行に対する処理を行うことが可能である。
【0037】
図2〜4を参照にして以下に説明されているのは、計算区画3の基本的な構成部分を構成し、中心にそろえた(centre)構造要素と、プログラム可能な要素サイズと、引数化できる画像サイズとを用いて線形の(lineaire)膨張または浸食を行うことが可能である形態学的セルである。
【0038】
図2は、演算子を構成する形態学的セルの内部構造を表す。
【0039】
図2の形態学的セルは第一および第二ユニット10,20を含み、これらは2つの処理パスを実行する。
【0040】
第一および第二ユニット10,20はそれぞれ、3つの主要な構成部分、すなわち、
伝搬ユニット11および21と、
エッジ効果と専用の処理を行うためのユニット12および22と、
遅延回線13および23と、を含む。
【0041】
ユニット10,20は、さらに、最大値検出のコンパレータ回路14,24を含む。
【0042】
ユニット10,20の間にはバッファモジュール30が存在する。
【0043】
第一ユニット10または第二ユニット20における処理パスは三段階で進行する。
【0044】
第一段階では、伝搬ユニット11,21がエッジ効果を取り扱えるように専用の処理ユニット12,22の出力が計算される。第二段階では、伝搬ユニット11,21が画素を、画素値と構造要素サイズと専用処理ユニット12,22からの出力との関数として伝搬する。最後の段階では、回路14,24において、伝搬の結果と遅延回線13,23に保存されたソース画素とが比較され、両者のうち大きい方が保持される。
【0045】
図3は、第一パスを実行する第一ユニット10の実施形態100についてより詳細に表したものである。
【0046】
図3に示すユニット100は画素入力を有し、この入力は、エッジ効果と専用処理を行うためのユニットの入力回路110と、伝搬ユニットの入力回路113につなげられたレジスタ101と、遅延回線103とにつなげられている。
【0047】
レジスタ105は、構造要素の半分のサイズに相当する値Nbseを保存する。
【0048】
レジスタ106は、計算行(une ligne de calcul)において処理される列の数に相当する値NbColumnsを保存する。
【0049】
レジスタ106の出力は、第一に、回路110へとつなげられ、第二に、遅延レジスタ109および論理ゲート112を経由して回路113へつなげられている、最終行の出力(une sortie de fin de ligne)を有するカウンタ107の入力へとつなげられている。
【0050】
レジスタ105の出力は、カウンタ108の入力につなげられており、該カウンタの出力は論理ゲート116の入力につなげられており、この論理ゲート116のもう一つの入力はコンパレータ回路115の出力につなげられている。論理ゲート116の出力は、回路113にもつなげられている。
【0051】
エッジ効果と専用の処理を行うためのユニットは、該ユニットの出力において、エッジ効果の専用処理の結果に相当する値Tを保存するレジスタ102を有する。
【0052】
伝搬ユニットは値Gを保存するレジスタ114を有し、この値Gはコンパレータ115の入力と、最大値を決定するためのコンパレータ104の入力とに供給される。
【0053】
遅延回線103の出力は、レジスタ104のもう一つの入力とつなげられたレジスタ117につなげられており、レジスタ104の出力はレジスタ118を経由して画素出力につなげられている。
【0054】
レジスタ101と102の出力はコンパレータ111の入力につなげられており、コンパレータ111の出力は回路110につなげられている。
【0055】
カウンタ108のリセット入力は論理ゲート112の入力と論理ゲート116の出力とにつなげられている。
【0056】
ユニット100は、さらに、バッファ回路のアドレス・ゼネレータ(un generateur d′adresse)119を含む。
【0057】
1つの画素を処理するには3クロックサイクル(cycles d′horloges)を要するが、このパイプライン構造は1サイクルあたり1つの画素を処理することが可能である。
【0058】
Tの値は第一サイクルで計算される。その後、この値は伝搬ユニットへ送られる。Gの値は第二サイクルで計算される。1サイクルあたり1つの画素、という速さを保証するためには、第一サイクルで生成したTの値に相当する入力画素を注意して扱わなければならない。このため、Gには、(レジスタ101により)1サイクル遅延して入力画素値が供給される。第三サイクルでは、レジスタ114の出力Gと、遅延回線103につなげられたレジスタ117の出力とでより大きい方を、計算により求められる。Gを計算するためには2つの先行するサイクルを考慮に入れなければならないので、遅延回線103はNbSe+2のサイズを有していなければならない。
【0059】
第二パスを行うユニットは前述のユニット100とほとんど同一である。異なる点は、行の全ての画素に対して専用ユニットによる計算が行われる点と、アドレス・ゼネレータ119が、WriteアドレスではなくバッファReadアドレスを生成する点である。
【0060】
大型かつ形成可能な遅延を可能とするデータ構造を有するためにはデュアルポート記憶装置を用いることができる。
【0061】
入力画素Writeアドレスは演算子初期化段階の間、ゼロにあり、Readアドレスはレジスタの値Nbseで表されるアドレスである。各クロックサイクルにおいて、アドレス間には常に異なるNbse+1の値が存在するように、アドレスが増やされる。Nbse+2の遅延を課すパイプライン動作の制約条件を満たすために、記憶装置の出力には追加のレジスタが存在する。このレジスタは、より高い操作頻度を保証するために記憶装置の中に含められる。
【0062】
目標は、全体的にパイプライン化されたデータの流れの演算子を作成することである。複数の処理パスは同時に実行される必要がある。
【0063】
2つのユニット10,20は、ある時間において同じ行を処理することができない。これは、行が両方向に処理されるからである。第一パスは行を左から右に処理し、第二パスは第一パスの結果を使用するが、行を右から左にスキャンする。行の処理の途中でパイプラインを停止させないためには、新しい行が演算子に到着するたびに交換される2つの記憶装置からなるバッファ30を使用することが必要である(これは「ピンポン」モードとして知られている)。
【0064】
したがって、ある時間において第一パスユニット10が「n」行を処理しているとき、第二パスユニット20は「n−1」行を処理している。バッファ30の(第一パスの)Writeアドレスとバッファ30の(第二パスの)Readアドレスとは、それぞれユニット10,20のアドレス・ゼネレータにより管理される。
【0065】
図4は、基本形態学的セル演算子の完全な構造を表す。この実施例においては次の信号が用いられている。
・入力:
・「Nbse」:構造要素の半分のサイズ
・「start」:1にあるとき、処理の開始を表す。
・「Pixelin」:処理される画素
・「Dilate/erode」:膨張か浸食が行われるかどうかを表す。
図中には示されていないが、「enable」入力は、この信号がゼロにあるときに処理の凍結を可能にする。
・出力:
・「Pixready」:1になるとき、pixelout出力が有効であることを表す。
・「Lineready」:第一行が処理されたことを表す。
・「newline」:個々の新しい行が処理されるたびに1へ行く。
・「pixelout」:処理された画素。
【0066】
図4において、画素入力および画素出力の回路は、それぞれ参照番号15および25であり、ユニット10および20の遅延回線は、それぞれ参照番号13および23である。
【0067】
本発明によると、計算区画は、上述のような複数の基本形態学的セル(CM)を含み、したがって、基本的な浸食、膨張、および恒等の形態学的セルから形態学的な勾配演算子、オープン演算子、クローズ演算子、クローズトップハット演算子、オープントップハット演算子などの合成演算子を生成することができる、複数の形態学的マクロセル(MCM)を用いている。
【0068】
図5は、複数の形態学的セル段階51,52を有する第一ブランチfと、これと並列に並び複数の形態学的セル段階61,62を有する第二ブランチgとを有する形態学的マクロセル50の構造図を表す。
【0069】
形態学的セル51,52、または61,62は、パイプライン化されている。
【0070】
特に、形態学的セル51,52,61,62のそれぞれを形態学的マクロセルにより置換することで、前述の演算子よりも複雑な演算子からなる新たな形態学的マクロセルを作成することができる。より複雑な演算子は、常に、複数の基本的な演算子を「end to end」で置くことにより比較的構築が単純な構造として作成される。
【0071】
図5の構造において、形態学的セル51,52,61,62は線形構造要素を用いて浸食と膨張と恒等との関数を実行する。
【0072】
特に、同じ段階にある全ての形態学的セルおよび形態学的マクロセル(例えば、51と61のセル、または52と62のセル)は、例えば演算論理機構70における、結果の結合を可能とするためにパイプライン処理に同じ遅延時間を有していなければならない。
【0073】
個々の形態学的セル51,52,61,62の機能と構造要素のサイズとは動的にプログラム可能であり、ブランチf,gの基本形態学的セル51,52,61,62からくる並列な流れは、出力において演算論理機構70により再結合されている。
【0074】
基本形態学的セル51,52,61,62と形態学的マクロセル50とは、データの有用性の機能として、処理を選択的に停止し、その後パイプライン上のデータを失うことなく処理を再開するための、制御システムとの通信が可能な制御機構を有する。
【0075】
図6は、オープン演算子を生成する形態学的マクロセル150の電子工学的構造を表す。
【0076】
この図6のような場合、第一段階の形態学的セル151,161は浸食を行い、第二段階の形態学的セル152,162は膨張を行う。ここで、クローズ演算子を生成する形態学的マクロセルの電子工学的構造は、上記の構造と似ているが、この場合は第一段階の形態学的セル151,161が膨張を行い、第二段階の形態学的セル152,162が浸食を行う。
【0077】
図7は、トップハット演算子を生成する形態学的マクロセル250の一般的な構造を表す。
【0078】
この図7のような場合、第一ブランチfは、浸食の後に膨張を行うか、または膨張の後に浸食を行うか、によりオープンまたはクローズの関数を実行する形態学的セル251,252を含む。
【0079】
第二ブランチは恒等を行う形態学的セル253,254を含む。
【0080】
形態学的マクロセル250の出力の部位には減算器270が存在する。
【0081】
したがって、形態学的マクロセル250は、画像、実際には(セル251と252の)オープンまたはクローズ関数、を入力流れとして取得し、セル252からの出力流れと、恒等関数を表すセル253および254からの出力流れとの減算を行う。
【0082】
このマクロセルは、オープントップハット関数またはクローズトップハット関数を実行する。処理の順番、すなわち、セル251と252のつながり方は、減算方向に関係する(もし、セル251が浸食を行い、セル252が膨張を行うならば、これはオープン関数を表し、セル252の出力は恒等セル254の出力から減算されなければならない)。
【0083】
図8は、トップハット演算子の形態学的マクロセル250の電子工学的構造を表す。
【0084】
構成部分「Mempix」はセル253,254の役割を担い、特定個数の段階(ここでは2段階)を有する恒等演算子を構成している。構成部分「Mempix」は、このように、様々な長さの形態学的マクロセルにおいてとても容易に用いられる。
【0085】
以下、複数の行および複数の列をそれぞれ並列処理するためのデータの並列化システムについて、より詳しく説明する。
【0086】
線形構造要素を用いることにより並列計算が比較的単純になる。画像の各行が他の行とは独立であることにより、複数の行を同時に処理することが可能である。この並列化は、各クロックパルスにおけるソース画像の流れが複数の画素により形成されていさえすれば成し遂げられる。
【0087】
一般的に画素ベクトルは行ベクトルである。したがって、行を処理する状況において列ベクトルを得るためには画素について変換が行われる必要がある。もしソース画素ベクトルが列ベクトルであるならば、列の処理を行うためにこれが行ベクトルに変換されなければならない。
【0088】
画素の行ベクトルについて列の処理を行っている場合、映像流れの送信を管理するシステムは、図9に示すように、列のアドレス指定(addressing)よりもむしろ行のアドレス指定を行うことができるとみなされる。(画素の列ベクトルについて行を処理している場合は、列のアドレス指定が用いられていなければならない。)この図9において、画素 P1,P2は既に送信された画素ベクトルを表し、画素P3は送信されている画素ベクトルを表し、残りの画素は送信される予定の画素ベクトルを表す。このタイプのアドレス指定におけるアドレスの値は、各クロックパルスのたびに1行サイズ分ずつ増やされる。このタイプの処理では行/列および列/行変換が必要とされずに済む。
【0089】
シストリックな構造を有する本発明の構造に適合するためには、流れにおいて行/列および列/行の変換が行われなければならない。
【0090】
図9の例では、3行と20列を有しているが、これらの数は、当然、異なっていてもよい。
【0091】
図10〜18では、サイズが4の画素行ベクトルについて考察されており、したがって、行の処理において一度に4行の計算が行われる。
【0092】
図10に、この仕組みを示す。第一段階において、処理される画素がバッファ31に充填される。記憶装置には連続的に充填される、すなわち、第一記憶装置が満杯になると処理が次の記憶装置へと進む。4つの記憶装置が満杯になると、この操作はバッファ32へと続けられ、これと同時に、各クロックパルスにおいて1行あたり1つの画素がバッファ31から復元される。一旦この処理が初期化されると、1行ごとに4つの画素が書き込まれ、1列ごとに4つの画素が読み込まれ、4つの形態学的マクロセルMCM1,MCM2,MCM3,MCM4へと送信される。
【0093】
図11は、例として、32ビットで4画素のソース行ベクトルにおける画素の行/列変換システムの構成を表す。
【0094】
回路303はアドレス・ゼネレータを構成しており、バッファ301および302と、マルチプレクサー304とにつなげられた記憶装置を選択する。
【0095】
図11に示す例の構成は、バッファ301および302を構成する、1行のサイズを有する8つの記憶装置から成る。個々の記憶装置は、2つのポート、すなわち、32ビットの入力ポートと8ビットの出力ポートとを有する。8つの記憶装置へ連続的に充填するために、個々の記憶装置に対して「chipselect」入力が独立に命令されている。画素は4つの記憶装置のまとまり(paquet)から読み込まれ、画素の列ベクトルが復元される。
【0096】
アドレスは連続的に増やされ、これらのアドレスの値は記憶装置をいつ選択するか、および、マルチプレクサー304をどのように構成するかを示している。
【0097】
したがって、マルチプレクサー304の出力は、一度に4行の処理を行う4つの同一な形態学的マクロセルMCM1,MCM2,MCM3,MCM4へ直接供給される。しかし、元のデータを再構築するためには類似した構造が必要とされる(まだ流れの中にある)。
【0098】
図12は、バッファ131,132および画素ベクトルの列/行変換を表す。
【0099】
列/行変換は、異なる行からの画素が受け取られ、元画像を送信したシステムへ行の画素が送り返される、ということを除けば行/列変換と類似している。図12は、この変換の一般的な原理を表している。ここでは、4つの画素の入力列ベクトルと4つの画素の出力行ベクトルとについて考えられている。
【0100】
列/行変換では、前述の変換と同様に、どの時間においてもバッファ131または132に入ってくる4つの画素とバッファ132または131を去ってゆく4つの画素とが存在する。
【0101】
図13に、この構造を示す。形態学的マクロセルMCM1,MCM2,MCM3,MCM4からの4画素はバッファ311または312の各行へ書き込まれる。4つの画素は、バッファ312または311の各記憶装置へ、順番に読み込まれる。各行に4つの画素が書き込まれる必要があるため、処理された画素の書き込みを行う「chip select」入力は、4つの記憶装置のまとまりを命令する(上記参照)。アドレスは連続的に増やされ、外へ出てゆく画素のための記憶装置は、8x32ビットから32ビットへ変換するマルチプレクサー314により選択される。
【0102】
回路313は、アドレス・ゼネレータおよび記憶装置選択器の回路である。
【0103】
特に、マルチプレクサー314のようなマルチプレクサーは、各段階で命令を遅延させ、システムが正確に機能することを保証するために、図14に示すように、各段階で基本マルチプレクサー401〜407につなげられたレジスタ411〜417を有する三段階のパイプラインの形で作成されることができる。
【0104】
このように、図14において、第一段階は出力がレジスタ411〜414につなげられたマルチプレクサー401〜404を含み、第二段階は出力がレジスタ415,416につなげられたマルチプレクサー405,406を含み、第三段階は出力がレジスタ417につなげられたマルチプレクサー407を含む。
【0105】
レジスタ421は、第一段階に対する第二段階のための遅延を生成し、レジスタ422,423は、第一段階に対する第三段階のための二重の遅延を作成する。
【0106】
図15〜18は、本発明の並列化システムを用いた操作の特徴的な例を表す。
【0107】
図15は、m行n列(本図の例においては8行8列)のソース画像41およびbビットの画素ベクトル(本図の例においては4ビットのA0,B0,C0,D0)を表す。
【0108】
図16は、行/列並列化の後の、並列化バッファの出力における画像42を表す。
【0109】
4つの画素A0,A1,A2,A3は4つの形態学的マクロセルMCM0,MCM1,MCM2,MCM3へ並列に送られる。
【0110】
図17は、4つの形態学的マクロセルMCM0,MCM1,MCM2,MCM3からきた、並列な4つの画素A0′,A1′,A2′,A3′を有する計算画像43を表す。
【0111】
図18は、図17の計算画像に基づく列/行並列化の後、再構築された計算画像44を表す。
【0112】
このように、画像の行は独立に処理される。各クロックサイクルにおいてソース画像41の4つの画素を利用できる(図15)。この並列化システムは、並列化を用いて複数の行と列とを一度に処理する。画素は、行ベクトルの形(例えば、{A0,A1,A2,A3})で送信される。この後、これらの4つの画素は、回路中に存在する4つの形態学的マクロセルによりデータの流れとして処理される(図16)。画素をソース画像のように再構築するために、形態学的マクロセルからの出力において逆の変換が行われる(図17,18)。
【0113】
図2で示した、バッファ30と、画像の画素を2つのパスで処理するための2つの関数ユニット10,20とを含む形態学的セル50のような基本形態学的セルにおいて実行される、最適化された一定時間の処理(le traitement a temps constant optimise)についてより詳しく説明するために、サイズが3の線形構造要素による膨張を例にとり、第一計算パスと、この後の第二計算パスとの計算結果を図19に示す。
【0114】
2つのほぼ同一のパスにおいて実行される、ここで用いられているウィンドウのサイズに関する一定時間の線形の処理(traitement lineaire)において、スキャンは、第一パスでは前向きに(左から右へ)、第二パスではこの逆向きに行われる。それぞれのパスは、構造要素のサイズおよび行のサイズの関数として、画素の伝搬とエッジ効果とを処理する。それぞれのパスは、エッジ効果をどう処理するかという点において異なる。第一パスは行の最後においてエッジ効果を処理し、第二パスはエッジ効果を行へ連続的に伝搬する。
【0115】
計算は以下の様式で行われる。
・次の条件式による、入力画素のn画素(N=2n+1は、構造要素のサイズを表す)への伝搬の値g(x)の計算。
【0116】
【数1】
【0117】
ここで、kは伝搬指数である。
【0118】
エッジ効果の処理は、この次の、同じ行への伝搬において画素の保存を考慮に入れることを可能とする。伝搬の間に値が「忘れられる」可能性があるため、値は後に再注入されることが考慮されなければならない。
【0119】
パスの出力画素値は次のように計算される。
s(x) = max(g(x),f(x−n))
【0120】
図19の例ではN=3であり、したがって、オフセットおよび伝搬のサイズはn=1の画素のサイズによるものである(上記式参照)。
【0121】
特に、処理を中心にそろえるためには、第二パスが第一パスとは逆の向きに(画素を逆方向に伝搬できるように)行われる必要がある。
【0122】
これら2つのパスは、専用の処理のユニットにおいて完全に等価ではないため、2つのパスそれぞれにおいてサイズの異なるnを用いて中心のそろわない(non centres)線形構造要素による処理操作を構築することはできない。
【0123】
K行とL列からなる画像についての複雑性(complexite)は、最小値/最大値の数の言葉で表すと、2.K.Lである。
【0124】
このように、この複雑性は構造要素のサイズとは無関係である。
【0125】
長方形のウィンドウに関する処理において、今度は、画像の列に対して第二の処理操作を行う必要がある。長方形の構造要素は2つの直交する線形構造要素に分解することができる。
【0126】
例えば、本発明の処理システムにおいては一秒間に2500を超える画像が、並列化されたトップハット演算子により処理される。この処理時間は構造要素のサイズに無関係であり、このことにより、システムが完全に予測可能なものとなる。
【0127】
本発明の画像処理システムは、映像の調査や、特に、ナンバープレートなどの文字や数字や記号からなる繰り返しパターンを有する物体の検出に適用することができる。
【0128】
本発明の画像処理システムをある解像度を有する文字情報の検出に適用する場合、処理には線形構造要素のみを使用する。
【0129】
反復パターン(文字、数字、記号)により生成される信号は周期性を示す。この信号の周期的な特徴を探し出し、識別することにより比較的大きな画像におけるこれらの記号を有するナンバープレートの位置が検出される。
【0130】
図21に表した例において、左側にあるのは処理される画像Iであり、自動車の正面図である。また、右側にあるのは処理の結果である画像Jであり、元画像におけるナンバープレートのみが現われている。
【0131】
図20は、ナンバープレート検出に適用した本発明の画像処理プロセスの一般的な構造である。
【0132】
入力信号は並列に2つの処理ブランチへ入り、このうち一つのブランチは、行オープンモジュール81と、この次の、値aの閾値モジュール83とを含み、もう一つのブランチは、行クローズモジュール82と、この次の、値bの閾値モジュール84とを含む。
【0133】
閾値モジュール83,84の出力は、交差モジュール85へ、さらに、行オープンモジュール86へ、さらに、列オープンモジュール87へと供給される。
【0134】
全ての画像サイズについての処理を可能とするために、上記の様々な形態学的モジュールは、適宜設定可能な引数を有している。選択される構造要素のサイズは画像の解像度の関数である。画像が大きければ大きい程、ナンバープレートを表すための画素が多くなる。
【0135】
図22は、図21のナンバープレートを拡大したものである。黒と白の画素が交互にあることにより画像IにおけるナンバープレートJの識別が可能となる。
【0136】
さらに、仮周期(pseudo−periode)To,Tfはある解像度における反復パターンの長さとして定義される。
【0137】
第一段階では、図23のような元画像に対して「To」の仮周期のサイズと線形構造要素(SE)とを用いてオープン関数を実行することにより、画像から白い領域を除去することが必要である(図24)。この操作には画像の暗い値を伝搬する効果がある。したがって、ナンバープレートからは白い領域が部分的に除去されている。したがって、文字同士はもはや見分けがつかなくなる。この後、元画像に対して、サイズ「Tf」を用いてクローズ関数を実行する必要がある(図25)。この操作には画像の明るい値を伝搬する効果がある。
【0138】
ここに示した例においては、構造要素SEのサイズは仮周期ToおよびTfの長さによって決定され、近似的に15のサイズに等しいが、この例の元画像がVGAサイズ(640×480画素)であり、高さの低い文字による困難を避けるために、サイズを30として用いる。
【0139】
第二の段階では個々の流れが二値化される。オープン関数を実行された流れについては、文字の画素値aより小さい値を有する画素が1に設定される。クローズ関数を実行された流れについては、文字の周辺領域の画素値bより大きい値を有する画素が1に設定される。この後、これらの2つの流れの交差が計算され、図26に示す画像が得られる。
【0140】
ここで、図26には小さな白い不適切な領域が存在する。この領域は、長さの短い領域に対する行オープン関数と、高さの低い領域に対する列オープン関数とを実行することで除去される。これらの関数は、浸食に用いる構造要素よりも大きな構造要素を膨張に用いて実行される。実際、画像から有用な情報を得るのは浸食であり、関心のある領域の標準サイズを保存するのは膨張である。より大きな膨張を用いることで、関心のある領域が正しく確実に網羅される。
【0141】
図27の画像は、水平方向に、サイズが60の浸食を実行した後、サイズが80の膨張を実行することにより得られる。特に、この操作は問題としている該領域を退化させうる。したがって、この退化を修正し、残存する不適切な領域を除去するために上記と同じ処理を垂直方向に行う必要がある。この結果得られた画像(図28)は、適切な領域が正しく網羅されたことを表している。
【0142】
また、閾値は設定変更が可能である。このため、コントラスト改善などの前処理を行うことで閾値の調整を単純にすることができる。
【0143】
閾値は反復的に調整可能である。処理が高速であるため、画像中のナンバープレートが見つかるまで複数の異なる閾値を試行してみることが可能である。路傍レーダーのように観察位置が変わらなければ、ナンバープレートはある解像度において大抵いつも同じ領域を有する。
【0144】
さらに、重要なこととして、最適化された一定時間の浸食/膨張アルゴリズムを用いるには画像を90°回転させる必要があるため、垂直方向のオープン関数を実行する必要がある。
【0145】
この構成においては、上記のようなオープン/クローズ関数のための形態学的マクロセル181,182と、閾値化(seuillage)および流れの交差を行う計算ユニット185とが用いられている。
【0146】
交差の後、行オープン関数と列オープン関数とが計算される。列オープン関数の計算は、全ての画像を処理し終わった時にのみ可能である。したがって、この処理では直接つなげられることができない。それゆえ、この処理は2つの段階に分割される。
・第一段階:画像の行の処理
(オープン/クローズ、閾値化、交差、オープン)
・第二段階:画像の列の処理
(オープン)。
【0147】
第二段階を始めることは、第一段階の処理が完了したことを前提とする。これは、この構成の資源が共用できることを意味する。したがって、再び第一段階の最後の行オープン関数を用い、データパスを修正して第二段階の列オープン関数を行うことが可能である。この修正が可能なのは、形態学的マクロセルの全ての引数(構造要素サイズ、画像サイズ、処理のタイプ等)がレジスタに保存されているからである。第一段階の最後において、データパスは修正され、レジスタには新しい値(変更した画像サイズ、なぜなら、画像は90°または270°回転されているため)が読み込まれる。
【0148】
図29は、上述のシステムの構成を表す。ここで、映像流れの送受信を行うシステムによる管理の下、データパスを修正するためのマルチプレクサー188が存在する。第一段階の最後において、マルチプレクサー188とレジスタとには、列処理の新しい引数が読み込まれる。処理は、この新しい配置において再開され、処理の最終画像が得られる。
【0149】
このように、第一段階において行オープン関数を実行し、第二段階において列オープン関数を実行できる形態学的マクロセル187を含む形態学的マクロセルは、処理の途中における引数とデータパスとの修正が可能であるため、この処理の構造は再構成可能なものである。
【0150】
図30は、ナンバープレート検出システムの機能図の例を表す。
【0151】
処理される画像は、イーサネット(Ethernet)ネットワークなどのネットワーク201を経由して送信される。
【0152】
処理器202は受信した画像を記憶装置204に保存する。
【0153】
直接メモリアクセスユニット205,206は、元画像を送信し、ハードウェア処理区画203により処理された画像を受信するように、処理器202によって設定されている。1つの処理が完了すると、結果の観察のためにイーサネットネットワーク201を経由して画像が送信される。
【0154】
処理器202の記憶装置はこの記憶装置の母線が他の部品と共有されているため、処理される画像を全てのクロックサイクルにおいて送信することができない。当該ナンバープレート検出構成においては、いつでも処理を凍結することができるため、この問題を難なく扱うことができる。
【0155】
操作周波数としては、例えば、50MHzとすれば356×356の1つの画像を15msで処理することが可能である。
【技術分野】
【0001】
本発明は形態学的マクロセルを用いる画像処理システムに関する。
【0002】
本発明は、特に、数理形態学の理論、特に、浸食(erosion)と膨張(dilatation)との操作に基づき、大型サイズ(例えば、3〜256画素)の線形構造要素(elements structurants lineaires)の高速処理のために非線形画像処理技術を用いることを目的とする。
【0003】
本発明は、より具体的には、文字、数字、記号からなる反復パターンを有する物体を検出するためのシステムに関する。
【背景技術】
【0004】
浸食と膨張の基本原理は「最小値」および「最大値」の操作に依存している。これは、被分析画像のある特徴を強調するために、該画像の全ての部位を原点が通るように動かされる既知の幾何学の構造要素と該画像とを比較する。
【0005】
構造要素(B)の中心は、ある近隣位置(un voisinage donne)の関数として「最小値」または「最大値」が保存される値を決定する。
【0006】
構造要素(B)による画像 f(x)の浸食は、以下の式で定義される。
εB(f(x))=inf{(f(x−y)),y∈B} (1)
【0007】
f(x−y)は、構造要素を画像上で平行移動させることを表す。構造要素Bを動かすたびに、構造要素Bの領域においてとられる最小値をf(x)へ割り当ててゆく。
【0008】
画像の膨張は、浸食と対になったものである。膨張は次のように定義される。
βB(f(x))=sup{(f(x−y)),y∈B} (2)
【0009】
構造要素Bを動かすたびに、構造要素Bの領域においてとられる最大値をf(x)へ割り当ててゆく。
【0010】
合成変換は、基本変換を結合させ、つなげることで作成される。減算、上限(supremum)、下限(infimum)などの操作により、非常に多くの種類の処理操作を実行することができる。
【0011】
勾配(gradient)は、元の画像と、浸食または膨張された画像とに減算を適用することにより作成される。オープン関数(ouverture)は、元の画像を膨張させた後、この結果を浸食させることで行われる。クローズ関数(fermeture)は、この双対する変換として定義されている。
【0012】
より高度な変換を用いて逐次交互フィルタ(filtres alternes sequentiels)が構成される。この変換の仕組みは、オープン関数とクローズ関数とを交互につなげるとともにBのサイズを大きくしていくというものである。
【0013】
「トップハット(chapeau haut de forme)」 と呼ばれる合成変換は、2通りで定義される。すなわち、クローズトップハットまたはブラックトップハット(BTH)関数(“black top hat”ou“close top hat”)と、オープントップハットまたはホワイトトップハット(WTH)関数(“white top hat”ou“open top hat”)である。WTHは元の画像とオープン関数の結果との差に等しい。これは、画像においてある閾値より明るい物体を保持する。BTHは元の画像とクローズ関数の結果との差に等しい。これは、画像においてある閾値より暗い物体を保持する。
【発明の概要】
【発明が解決しようとする課題】
【0014】
本発明は、特に、映像信号の流れなどの画像の流れにおけるデータの処理を最適化し、画像処理の適合を容易にすることを目的とする。
【0015】
線形構造要素を用いると、個々の行および列(ligne/colonne)が他の行および列とは独立に処理されるので、画像の行および列(lignes/colonnes)の次元で並列化(parallelisme)を適用することができる。
【0016】
本発明の実施は、構造要素のサイズに関係なく実行時間が一定の処理に基づいているという点で有利である。
【課題を解決するための手段】
【0017】
したがって、本発明は、形態学的マクロセルを用いる画像処理システムにおいて、
・bビットにコード化されたm行とn列の行列(m,n,bは整数)を含むグレースケールのデジタル画像を作成するための画像取得装置と、
・記憶装置一式と、
・処理実行中において、計算ユニットとデータパスとが個々の処理の間で再構成可能である、画像処理を行うための動的再構成可能な計算区画と、
・該画像取得装置と該記憶装置一式との間でデータを移動させ、該計算区画へのp個の並列なデータの流れ(pは整数)を制御し、該データを該計算区画で要求された関数として専用アドレスと共に送るための、制御システムと
を含み、
該計算区画は、
・1より大きい整数k個の形態学的マクロセルであって、個々の該形態学的マクロセルが、整数e個の段階を有するb個の並列なブランチで組織された基本形態学的セル一式を含み、個々の該形態学的セルが、線形構造要素の使用に基づく基本的な浸食、膨張、または恒等(identite)の関数を行い、個々の形態学的セルの機能と構造要素のサイズとが動的にプログラム可能であり、これらの基本形態学的セルからの並列な流れが、出力において演算論理機構により結合されている、形態学的マクロセルと、
・複数の行および複数の列のそれぞれを並行に処理するためにデータを並列化するための少なくとも1つのシステムであって、各システムが、2つのバッファモジュールと、1つの語をp個の並列なデータの流れに分解するためにs個の一連の同期段階(etages synchrones)を通してパイプライン化され、形態学的マクロセルのp個の入力へつなげられた、デマルチプレクサーとを含むシステムと、
・k個の形態学的マクロセルの出力の整数z個の並列な流れから画像を再構築するための、少なくとも一つのシステムであって、各システムが、2つのバッファモジュールと、s′個の一連の段階を通してパイプライン化され、該形態学的マクロセルの同期の出力とつなげられたマルチプレクサーとを含むシステムと
を含み、
該基本形態学的セルと該形態学的マクロセルとには、データの有用性の機能として、処理の実行を選択的に停止し、その後、パイプライン上のデータを失うことなく処理を再開するための、上記制御システムとの通信が可能な制御機構が与えられていることを特徴とする、形態学的マクロセルを用いる画像処理システムから構成されている。
【0018】
本発明のシステムは、整数f個のデータ並列化システムと、fxpの並列なデータの流れに対する処理を可能とするための画像再構築システムとを含んでいると有利である。
【0019】
形態学的マクロセルは、複数の段階を有する複数のブランチを通してパイプライン化され、これらの出力が演算論理機構によって結合されていることが好ましい。
【0020】
主な実施形態において、個々の形態学的セルは、第一および第二パスにおいて異なる方向への処理を行うための第一および第二処理ユニットを含み、第一処理ユニットと第二処理ユニットとの間にはバッファモジュールが存在する。
【0021】
これらの第一および第二処理ユニットのそれぞれは、伝搬ユニットと、エッジ効果および専用処理を行うユニットと、遅延回線とを有することが好ましい。
【0022】
形態学的マクロセルは、クローズ、オープン、オープントップハット、クローズトップハット、および/または勾配、のタイプの再合成演算子を再構成により定義するために、浸食、膨張、および/または恒等、の関数を提供する形態学的セルが2個つながったブランチを少なくとも2つと、演算論理機構とを含む。
【0023】
このように、フィルタ処理(filtrage)、画像改良、輪郭抽出、オブジェクト検出などの処理のための合成演算子を作成するために、浸食および膨張の関数に加えて、恒等関数と演算論理機構とが与えられていることが好ましい。
【0024】
本発明は、特に、形態学的マクロセルを用い、かつ、勾配、非線形フィルタ、逐次交互フィルタ、コントラスト修正などの画像処理操作を行うための、演算論理機構と結合した少なくとも二つの形態学的マクロセルを含む、上述のような画像処理システムの利用に関する。
【0025】
本発明は、さらに、文字、数字、記号などから構成される連続パターンを有するオブジェクトを検出するためのシステムにおいて、形態学的マクロセルと第一画像処理モジュールと第二画像処理モジュールとを用いる再構成可能な画像処理システムを含むことを特徴とするシステムに関する。
【0026】
主な実施形態において、第一画像処理モジュールは、第一オープン/クローズモジュールと、第二オープン/クローズモジュールと、閾値との比較を行うための演算論理機構と、交差(intersection)モジュールと、行オープンモジュールとを含む。
【0027】
第二画像処理モジュールはオープン/クローズモジュールを含む。
【発明の効果】
【0028】
本発明のシステムは、特に、ナンバープレートの検出へ適用することができる。
【0029】
本発明のその他の特徴および利点は、以下に添付の図を参照に記載した実施形態により明らかになる。
【図面の簡単な説明】
【0030】
【図1】本発明の画像処理システムのブロック図である。
【図2】2つのパスにおいて処理を行う形態学的セルの構造を表すブロック図である。
【図3】図2で示した形態学的セルの第一処理パスを構成する部分の構造を表すブロック図である。
【図4】図2で示した形態学的セルの電子工学的構造である。
【図5】形態学的マクロセル(MCM)の一般的な構造である。
【図6】膨張、浸食、オープンまたはクローズの演算子の機能を行う形態学的マクロセルの電子工学的構造である。
【図7】勾配、オープン、クローズ、クローズトップハット、またはオープントップハットの合成演算子の機能を行う形態学的セルの構造である。
【図8】オープントップハット演算子の機能を行う形態学的マクロセルの電子工学的構造である。
【図9】並列化された画素についての行のアドレス指定(adressage)の仕組みを表す図である。
【図10】画素ベクトルの行/列変換の仕組みを表す図である。
【図11】行/列変換システムの構造を表す図である。
【図12】画素ベクトルの列/行変換の仕組みを表す図である。
【図13】画素の列/行変換システムの構造を表す図である。
【図14】図13で示した構造において利用することのできる、3つの段階を有するマルチプレクサーの例である。
【図15】ソース画像の例である。
【図16】行/列並列化バッファの段階での出力における画像の例である。
【図17】計算された画像の例である。
【図18】列/行並列化の後に再構築された画像の例である。
【図19】2つのパスにおいて一定時間における、線形の処理(traitement lineaire)による、サイズが3の膨張の結果を表す。
【図20】本発明の画像処理システムの構造とナンバープレート検出処理を受ける画像の例とを用いてナンバープレートを検出する方法における種々のステップを表すブロック図である。
【図21】図20で示した本発明の方法を用いて、画像を処理した後に得られる画像の例である。
【図22】図21で示した検出領域の拡大図である。
【図23】ナンバープレート検出の処理を受ける画像の例である。
【図24】図23で示した画像に対してオープン関数と閾値関数とを水平方向に実行した画像に相当する処理画像である。
【図25】図23で示した画像に対してクローズ関数と閾値関数とを水平方向に実行した画像に相当する処理画像である。
【図26】図24で示した処理画像と図25で示した処理画像との交差に相当する処理画像である。
【図27】図26で示した画像に対して水平方向の浸食および水平方向の膨張を行った後の画像に相当する処理画像である。
【図28】図27で示した画像に対して垂直方向の浸食および垂直方向の膨張を行った後の画像に相当する処理画像であり、白い領域はナンバープレートの位置を示す。
【図29】ナンバープレート位置検出システムの構成を表したブロック図である。
【図30】画像処理システムをナンバープレート検出に適用した例を表すブロック図である。
【発明を実施するための形態】
【0031】
図1は、本発明の画像処理システムの主要な構成部分である、検出器(capteur)または画像取得モジュール1と、静的領域に位置する制御システム2と、動的再構成可能領域に位置する計算区画3と、記憶装置4,5と、通信システム6とを、ブロック図式で表したものである。
【0032】
画像取得モジュール1は、bビットにコード化されたm行とn列の行列(b,m,nは整数)を含むグレースケールのデジタル画像を作成する。
【0033】
制御システム2は、画像取得システム1から記憶装置4,5へ、または直接的に計算区画へ、データを転送する。これと同時に、制御システム2は計算区画3への流れを制御し、要求された関数としてデータを専用アドレスとともに送る。計算区画3は制御システムからきたデータの流れを供給されるが、アドレス指定の機能を有している必要はない。しかし、計算区画3には、制御システムがいつでもデータの流れを中断し、その後、データを失うことなく処理を再開することを可能にするために、関連するクロックを凍結するための機構が備え付けられていることが必要不可欠である。
【0034】
したがって、図2の構造はマイクロプロセッサーの構造とは異なり、記憶装置からのデータが計算ユニットへ入り、記憶装置に返される前に該計算ユニットにおいて処理が行われるという、シストリックな(systolique)構造に近い。
【0035】
個々の計算ユニットは、処理操作(処理タイプ、構造要素サイズ、画像サイズ、演算論理機構の機能)の間で構造を変えることが可能である。さらに、画像に対して異なる処理操作を適用するために、複数のデータパスを作成することも可能である。
【0036】
演算子を供給する並列化システムによって、線形構造要素を用いて一度に2つ以上の行に対する処理を行うことが可能である。
【0037】
図2〜4を参照にして以下に説明されているのは、計算区画3の基本的な構成部分を構成し、中心にそろえた(centre)構造要素と、プログラム可能な要素サイズと、引数化できる画像サイズとを用いて線形の(lineaire)膨張または浸食を行うことが可能である形態学的セルである。
【0038】
図2は、演算子を構成する形態学的セルの内部構造を表す。
【0039】
図2の形態学的セルは第一および第二ユニット10,20を含み、これらは2つの処理パスを実行する。
【0040】
第一および第二ユニット10,20はそれぞれ、3つの主要な構成部分、すなわち、
伝搬ユニット11および21と、
エッジ効果と専用の処理を行うためのユニット12および22と、
遅延回線13および23と、を含む。
【0041】
ユニット10,20は、さらに、最大値検出のコンパレータ回路14,24を含む。
【0042】
ユニット10,20の間にはバッファモジュール30が存在する。
【0043】
第一ユニット10または第二ユニット20における処理パスは三段階で進行する。
【0044】
第一段階では、伝搬ユニット11,21がエッジ効果を取り扱えるように専用の処理ユニット12,22の出力が計算される。第二段階では、伝搬ユニット11,21が画素を、画素値と構造要素サイズと専用処理ユニット12,22からの出力との関数として伝搬する。最後の段階では、回路14,24において、伝搬の結果と遅延回線13,23に保存されたソース画素とが比較され、両者のうち大きい方が保持される。
【0045】
図3は、第一パスを実行する第一ユニット10の実施形態100についてより詳細に表したものである。
【0046】
図3に示すユニット100は画素入力を有し、この入力は、エッジ効果と専用処理を行うためのユニットの入力回路110と、伝搬ユニットの入力回路113につなげられたレジスタ101と、遅延回線103とにつなげられている。
【0047】
レジスタ105は、構造要素の半分のサイズに相当する値Nbseを保存する。
【0048】
レジスタ106は、計算行(une ligne de calcul)において処理される列の数に相当する値NbColumnsを保存する。
【0049】
レジスタ106の出力は、第一に、回路110へとつなげられ、第二に、遅延レジスタ109および論理ゲート112を経由して回路113へつなげられている、最終行の出力(une sortie de fin de ligne)を有するカウンタ107の入力へとつなげられている。
【0050】
レジスタ105の出力は、カウンタ108の入力につなげられており、該カウンタの出力は論理ゲート116の入力につなげられており、この論理ゲート116のもう一つの入力はコンパレータ回路115の出力につなげられている。論理ゲート116の出力は、回路113にもつなげられている。
【0051】
エッジ効果と専用の処理を行うためのユニットは、該ユニットの出力において、エッジ効果の専用処理の結果に相当する値Tを保存するレジスタ102を有する。
【0052】
伝搬ユニットは値Gを保存するレジスタ114を有し、この値Gはコンパレータ115の入力と、最大値を決定するためのコンパレータ104の入力とに供給される。
【0053】
遅延回線103の出力は、レジスタ104のもう一つの入力とつなげられたレジスタ117につなげられており、レジスタ104の出力はレジスタ118を経由して画素出力につなげられている。
【0054】
レジスタ101と102の出力はコンパレータ111の入力につなげられており、コンパレータ111の出力は回路110につなげられている。
【0055】
カウンタ108のリセット入力は論理ゲート112の入力と論理ゲート116の出力とにつなげられている。
【0056】
ユニット100は、さらに、バッファ回路のアドレス・ゼネレータ(un generateur d′adresse)119を含む。
【0057】
1つの画素を処理するには3クロックサイクル(cycles d′horloges)を要するが、このパイプライン構造は1サイクルあたり1つの画素を処理することが可能である。
【0058】
Tの値は第一サイクルで計算される。その後、この値は伝搬ユニットへ送られる。Gの値は第二サイクルで計算される。1サイクルあたり1つの画素、という速さを保証するためには、第一サイクルで生成したTの値に相当する入力画素を注意して扱わなければならない。このため、Gには、(レジスタ101により)1サイクル遅延して入力画素値が供給される。第三サイクルでは、レジスタ114の出力Gと、遅延回線103につなげられたレジスタ117の出力とでより大きい方を、計算により求められる。Gを計算するためには2つの先行するサイクルを考慮に入れなければならないので、遅延回線103はNbSe+2のサイズを有していなければならない。
【0059】
第二パスを行うユニットは前述のユニット100とほとんど同一である。異なる点は、行の全ての画素に対して専用ユニットによる計算が行われる点と、アドレス・ゼネレータ119が、WriteアドレスではなくバッファReadアドレスを生成する点である。
【0060】
大型かつ形成可能な遅延を可能とするデータ構造を有するためにはデュアルポート記憶装置を用いることができる。
【0061】
入力画素Writeアドレスは演算子初期化段階の間、ゼロにあり、Readアドレスはレジスタの値Nbseで表されるアドレスである。各クロックサイクルにおいて、アドレス間には常に異なるNbse+1の値が存在するように、アドレスが増やされる。Nbse+2の遅延を課すパイプライン動作の制約条件を満たすために、記憶装置の出力には追加のレジスタが存在する。このレジスタは、より高い操作頻度を保証するために記憶装置の中に含められる。
【0062】
目標は、全体的にパイプライン化されたデータの流れの演算子を作成することである。複数の処理パスは同時に実行される必要がある。
【0063】
2つのユニット10,20は、ある時間において同じ行を処理することができない。これは、行が両方向に処理されるからである。第一パスは行を左から右に処理し、第二パスは第一パスの結果を使用するが、行を右から左にスキャンする。行の処理の途中でパイプラインを停止させないためには、新しい行が演算子に到着するたびに交換される2つの記憶装置からなるバッファ30を使用することが必要である(これは「ピンポン」モードとして知られている)。
【0064】
したがって、ある時間において第一パスユニット10が「n」行を処理しているとき、第二パスユニット20は「n−1」行を処理している。バッファ30の(第一パスの)Writeアドレスとバッファ30の(第二パスの)Readアドレスとは、それぞれユニット10,20のアドレス・ゼネレータにより管理される。
【0065】
図4は、基本形態学的セル演算子の完全な構造を表す。この実施例においては次の信号が用いられている。
・入力:
・「Nbse」:構造要素の半分のサイズ
・「start」:1にあるとき、処理の開始を表す。
・「Pixelin」:処理される画素
・「Dilate/erode」:膨張か浸食が行われるかどうかを表す。
図中には示されていないが、「enable」入力は、この信号がゼロにあるときに処理の凍結を可能にする。
・出力:
・「Pixready」:1になるとき、pixelout出力が有効であることを表す。
・「Lineready」:第一行が処理されたことを表す。
・「newline」:個々の新しい行が処理されるたびに1へ行く。
・「pixelout」:処理された画素。
【0066】
図4において、画素入力および画素出力の回路は、それぞれ参照番号15および25であり、ユニット10および20の遅延回線は、それぞれ参照番号13および23である。
【0067】
本発明によると、計算区画は、上述のような複数の基本形態学的セル(CM)を含み、したがって、基本的な浸食、膨張、および恒等の形態学的セルから形態学的な勾配演算子、オープン演算子、クローズ演算子、クローズトップハット演算子、オープントップハット演算子などの合成演算子を生成することができる、複数の形態学的マクロセル(MCM)を用いている。
【0068】
図5は、複数の形態学的セル段階51,52を有する第一ブランチfと、これと並列に並び複数の形態学的セル段階61,62を有する第二ブランチgとを有する形態学的マクロセル50の構造図を表す。
【0069】
形態学的セル51,52、または61,62は、パイプライン化されている。
【0070】
特に、形態学的セル51,52,61,62のそれぞれを形態学的マクロセルにより置換することで、前述の演算子よりも複雑な演算子からなる新たな形態学的マクロセルを作成することができる。より複雑な演算子は、常に、複数の基本的な演算子を「end to end」で置くことにより比較的構築が単純な構造として作成される。
【0071】
図5の構造において、形態学的セル51,52,61,62は線形構造要素を用いて浸食と膨張と恒等との関数を実行する。
【0072】
特に、同じ段階にある全ての形態学的セルおよび形態学的マクロセル(例えば、51と61のセル、または52と62のセル)は、例えば演算論理機構70における、結果の結合を可能とするためにパイプライン処理に同じ遅延時間を有していなければならない。
【0073】
個々の形態学的セル51,52,61,62の機能と構造要素のサイズとは動的にプログラム可能であり、ブランチf,gの基本形態学的セル51,52,61,62からくる並列な流れは、出力において演算論理機構70により再結合されている。
【0074】
基本形態学的セル51,52,61,62と形態学的マクロセル50とは、データの有用性の機能として、処理を選択的に停止し、その後パイプライン上のデータを失うことなく処理を再開するための、制御システムとの通信が可能な制御機構を有する。
【0075】
図6は、オープン演算子を生成する形態学的マクロセル150の電子工学的構造を表す。
【0076】
この図6のような場合、第一段階の形態学的セル151,161は浸食を行い、第二段階の形態学的セル152,162は膨張を行う。ここで、クローズ演算子を生成する形態学的マクロセルの電子工学的構造は、上記の構造と似ているが、この場合は第一段階の形態学的セル151,161が膨張を行い、第二段階の形態学的セル152,162が浸食を行う。
【0077】
図7は、トップハット演算子を生成する形態学的マクロセル250の一般的な構造を表す。
【0078】
この図7のような場合、第一ブランチfは、浸食の後に膨張を行うか、または膨張の後に浸食を行うか、によりオープンまたはクローズの関数を実行する形態学的セル251,252を含む。
【0079】
第二ブランチは恒等を行う形態学的セル253,254を含む。
【0080】
形態学的マクロセル250の出力の部位には減算器270が存在する。
【0081】
したがって、形態学的マクロセル250は、画像、実際には(セル251と252の)オープンまたはクローズ関数、を入力流れとして取得し、セル252からの出力流れと、恒等関数を表すセル253および254からの出力流れとの減算を行う。
【0082】
このマクロセルは、オープントップハット関数またはクローズトップハット関数を実行する。処理の順番、すなわち、セル251と252のつながり方は、減算方向に関係する(もし、セル251が浸食を行い、セル252が膨張を行うならば、これはオープン関数を表し、セル252の出力は恒等セル254の出力から減算されなければならない)。
【0083】
図8は、トップハット演算子の形態学的マクロセル250の電子工学的構造を表す。
【0084】
構成部分「Mempix」はセル253,254の役割を担い、特定個数の段階(ここでは2段階)を有する恒等演算子を構成している。構成部分「Mempix」は、このように、様々な長さの形態学的マクロセルにおいてとても容易に用いられる。
【0085】
以下、複数の行および複数の列をそれぞれ並列処理するためのデータの並列化システムについて、より詳しく説明する。
【0086】
線形構造要素を用いることにより並列計算が比較的単純になる。画像の各行が他の行とは独立であることにより、複数の行を同時に処理することが可能である。この並列化は、各クロックパルスにおけるソース画像の流れが複数の画素により形成されていさえすれば成し遂げられる。
【0087】
一般的に画素ベクトルは行ベクトルである。したがって、行を処理する状況において列ベクトルを得るためには画素について変換が行われる必要がある。もしソース画素ベクトルが列ベクトルであるならば、列の処理を行うためにこれが行ベクトルに変換されなければならない。
【0088】
画素の行ベクトルについて列の処理を行っている場合、映像流れの送信を管理するシステムは、図9に示すように、列のアドレス指定(addressing)よりもむしろ行のアドレス指定を行うことができるとみなされる。(画素の列ベクトルについて行を処理している場合は、列のアドレス指定が用いられていなければならない。)この図9において、画素 P1,P2は既に送信された画素ベクトルを表し、画素P3は送信されている画素ベクトルを表し、残りの画素は送信される予定の画素ベクトルを表す。このタイプのアドレス指定におけるアドレスの値は、各クロックパルスのたびに1行サイズ分ずつ増やされる。このタイプの処理では行/列および列/行変換が必要とされずに済む。
【0089】
シストリックな構造を有する本発明の構造に適合するためには、流れにおいて行/列および列/行の変換が行われなければならない。
【0090】
図9の例では、3行と20列を有しているが、これらの数は、当然、異なっていてもよい。
【0091】
図10〜18では、サイズが4の画素行ベクトルについて考察されており、したがって、行の処理において一度に4行の計算が行われる。
【0092】
図10に、この仕組みを示す。第一段階において、処理される画素がバッファ31に充填される。記憶装置には連続的に充填される、すなわち、第一記憶装置が満杯になると処理が次の記憶装置へと進む。4つの記憶装置が満杯になると、この操作はバッファ32へと続けられ、これと同時に、各クロックパルスにおいて1行あたり1つの画素がバッファ31から復元される。一旦この処理が初期化されると、1行ごとに4つの画素が書き込まれ、1列ごとに4つの画素が読み込まれ、4つの形態学的マクロセルMCM1,MCM2,MCM3,MCM4へと送信される。
【0093】
図11は、例として、32ビットで4画素のソース行ベクトルにおける画素の行/列変換システムの構成を表す。
【0094】
回路303はアドレス・ゼネレータを構成しており、バッファ301および302と、マルチプレクサー304とにつなげられた記憶装置を選択する。
【0095】
図11に示す例の構成は、バッファ301および302を構成する、1行のサイズを有する8つの記憶装置から成る。個々の記憶装置は、2つのポート、すなわち、32ビットの入力ポートと8ビットの出力ポートとを有する。8つの記憶装置へ連続的に充填するために、個々の記憶装置に対して「chipselect」入力が独立に命令されている。画素は4つの記憶装置のまとまり(paquet)から読み込まれ、画素の列ベクトルが復元される。
【0096】
アドレスは連続的に増やされ、これらのアドレスの値は記憶装置をいつ選択するか、および、マルチプレクサー304をどのように構成するかを示している。
【0097】
したがって、マルチプレクサー304の出力は、一度に4行の処理を行う4つの同一な形態学的マクロセルMCM1,MCM2,MCM3,MCM4へ直接供給される。しかし、元のデータを再構築するためには類似した構造が必要とされる(まだ流れの中にある)。
【0098】
図12は、バッファ131,132および画素ベクトルの列/行変換を表す。
【0099】
列/行変換は、異なる行からの画素が受け取られ、元画像を送信したシステムへ行の画素が送り返される、ということを除けば行/列変換と類似している。図12は、この変換の一般的な原理を表している。ここでは、4つの画素の入力列ベクトルと4つの画素の出力行ベクトルとについて考えられている。
【0100】
列/行変換では、前述の変換と同様に、どの時間においてもバッファ131または132に入ってくる4つの画素とバッファ132または131を去ってゆく4つの画素とが存在する。
【0101】
図13に、この構造を示す。形態学的マクロセルMCM1,MCM2,MCM3,MCM4からの4画素はバッファ311または312の各行へ書き込まれる。4つの画素は、バッファ312または311の各記憶装置へ、順番に読み込まれる。各行に4つの画素が書き込まれる必要があるため、処理された画素の書き込みを行う「chip select」入力は、4つの記憶装置のまとまりを命令する(上記参照)。アドレスは連続的に増やされ、外へ出てゆく画素のための記憶装置は、8x32ビットから32ビットへ変換するマルチプレクサー314により選択される。
【0102】
回路313は、アドレス・ゼネレータおよび記憶装置選択器の回路である。
【0103】
特に、マルチプレクサー314のようなマルチプレクサーは、各段階で命令を遅延させ、システムが正確に機能することを保証するために、図14に示すように、各段階で基本マルチプレクサー401〜407につなげられたレジスタ411〜417を有する三段階のパイプラインの形で作成されることができる。
【0104】
このように、図14において、第一段階は出力がレジスタ411〜414につなげられたマルチプレクサー401〜404を含み、第二段階は出力がレジスタ415,416につなげられたマルチプレクサー405,406を含み、第三段階は出力がレジスタ417につなげられたマルチプレクサー407を含む。
【0105】
レジスタ421は、第一段階に対する第二段階のための遅延を生成し、レジスタ422,423は、第一段階に対する第三段階のための二重の遅延を作成する。
【0106】
図15〜18は、本発明の並列化システムを用いた操作の特徴的な例を表す。
【0107】
図15は、m行n列(本図の例においては8行8列)のソース画像41およびbビットの画素ベクトル(本図の例においては4ビットのA0,B0,C0,D0)を表す。
【0108】
図16は、行/列並列化の後の、並列化バッファの出力における画像42を表す。
【0109】
4つの画素A0,A1,A2,A3は4つの形態学的マクロセルMCM0,MCM1,MCM2,MCM3へ並列に送られる。
【0110】
図17は、4つの形態学的マクロセルMCM0,MCM1,MCM2,MCM3からきた、並列な4つの画素A0′,A1′,A2′,A3′を有する計算画像43を表す。
【0111】
図18は、図17の計算画像に基づく列/行並列化の後、再構築された計算画像44を表す。
【0112】
このように、画像の行は独立に処理される。各クロックサイクルにおいてソース画像41の4つの画素を利用できる(図15)。この並列化システムは、並列化を用いて複数の行と列とを一度に処理する。画素は、行ベクトルの形(例えば、{A0,A1,A2,A3})で送信される。この後、これらの4つの画素は、回路中に存在する4つの形態学的マクロセルによりデータの流れとして処理される(図16)。画素をソース画像のように再構築するために、形態学的マクロセルからの出力において逆の変換が行われる(図17,18)。
【0113】
図2で示した、バッファ30と、画像の画素を2つのパスで処理するための2つの関数ユニット10,20とを含む形態学的セル50のような基本形態学的セルにおいて実行される、最適化された一定時間の処理(le traitement a temps constant optimise)についてより詳しく説明するために、サイズが3の線形構造要素による膨張を例にとり、第一計算パスと、この後の第二計算パスとの計算結果を図19に示す。
【0114】
2つのほぼ同一のパスにおいて実行される、ここで用いられているウィンドウのサイズに関する一定時間の線形の処理(traitement lineaire)において、スキャンは、第一パスでは前向きに(左から右へ)、第二パスではこの逆向きに行われる。それぞれのパスは、構造要素のサイズおよび行のサイズの関数として、画素の伝搬とエッジ効果とを処理する。それぞれのパスは、エッジ効果をどう処理するかという点において異なる。第一パスは行の最後においてエッジ効果を処理し、第二パスはエッジ効果を行へ連続的に伝搬する。
【0115】
計算は以下の様式で行われる。
・次の条件式による、入力画素のn画素(N=2n+1は、構造要素のサイズを表す)への伝搬の値g(x)の計算。
【0116】
【数1】
【0117】
ここで、kは伝搬指数である。
【0118】
エッジ効果の処理は、この次の、同じ行への伝搬において画素の保存を考慮に入れることを可能とする。伝搬の間に値が「忘れられる」可能性があるため、値は後に再注入されることが考慮されなければならない。
【0119】
パスの出力画素値は次のように計算される。
s(x) = max(g(x),f(x−n))
【0120】
図19の例ではN=3であり、したがって、オフセットおよび伝搬のサイズはn=1の画素のサイズによるものである(上記式参照)。
【0121】
特に、処理を中心にそろえるためには、第二パスが第一パスとは逆の向きに(画素を逆方向に伝搬できるように)行われる必要がある。
【0122】
これら2つのパスは、専用の処理のユニットにおいて完全に等価ではないため、2つのパスそれぞれにおいてサイズの異なるnを用いて中心のそろわない(non centres)線形構造要素による処理操作を構築することはできない。
【0123】
K行とL列からなる画像についての複雑性(complexite)は、最小値/最大値の数の言葉で表すと、2.K.Lである。
【0124】
このように、この複雑性は構造要素のサイズとは無関係である。
【0125】
長方形のウィンドウに関する処理において、今度は、画像の列に対して第二の処理操作を行う必要がある。長方形の構造要素は2つの直交する線形構造要素に分解することができる。
【0126】
例えば、本発明の処理システムにおいては一秒間に2500を超える画像が、並列化されたトップハット演算子により処理される。この処理時間は構造要素のサイズに無関係であり、このことにより、システムが完全に予測可能なものとなる。
【0127】
本発明の画像処理システムは、映像の調査や、特に、ナンバープレートなどの文字や数字や記号からなる繰り返しパターンを有する物体の検出に適用することができる。
【0128】
本発明の画像処理システムをある解像度を有する文字情報の検出に適用する場合、処理には線形構造要素のみを使用する。
【0129】
反復パターン(文字、数字、記号)により生成される信号は周期性を示す。この信号の周期的な特徴を探し出し、識別することにより比較的大きな画像におけるこれらの記号を有するナンバープレートの位置が検出される。
【0130】
図21に表した例において、左側にあるのは処理される画像Iであり、自動車の正面図である。また、右側にあるのは処理の結果である画像Jであり、元画像におけるナンバープレートのみが現われている。
【0131】
図20は、ナンバープレート検出に適用した本発明の画像処理プロセスの一般的な構造である。
【0132】
入力信号は並列に2つの処理ブランチへ入り、このうち一つのブランチは、行オープンモジュール81と、この次の、値aの閾値モジュール83とを含み、もう一つのブランチは、行クローズモジュール82と、この次の、値bの閾値モジュール84とを含む。
【0133】
閾値モジュール83,84の出力は、交差モジュール85へ、さらに、行オープンモジュール86へ、さらに、列オープンモジュール87へと供給される。
【0134】
全ての画像サイズについての処理を可能とするために、上記の様々な形態学的モジュールは、適宜設定可能な引数を有している。選択される構造要素のサイズは画像の解像度の関数である。画像が大きければ大きい程、ナンバープレートを表すための画素が多くなる。
【0135】
図22は、図21のナンバープレートを拡大したものである。黒と白の画素が交互にあることにより画像IにおけるナンバープレートJの識別が可能となる。
【0136】
さらに、仮周期(pseudo−periode)To,Tfはある解像度における反復パターンの長さとして定義される。
【0137】
第一段階では、図23のような元画像に対して「To」の仮周期のサイズと線形構造要素(SE)とを用いてオープン関数を実行することにより、画像から白い領域を除去することが必要である(図24)。この操作には画像の暗い値を伝搬する効果がある。したがって、ナンバープレートからは白い領域が部分的に除去されている。したがって、文字同士はもはや見分けがつかなくなる。この後、元画像に対して、サイズ「Tf」を用いてクローズ関数を実行する必要がある(図25)。この操作には画像の明るい値を伝搬する効果がある。
【0138】
ここに示した例においては、構造要素SEのサイズは仮周期ToおよびTfの長さによって決定され、近似的に15のサイズに等しいが、この例の元画像がVGAサイズ(640×480画素)であり、高さの低い文字による困難を避けるために、サイズを30として用いる。
【0139】
第二の段階では個々の流れが二値化される。オープン関数を実行された流れについては、文字の画素値aより小さい値を有する画素が1に設定される。クローズ関数を実行された流れについては、文字の周辺領域の画素値bより大きい値を有する画素が1に設定される。この後、これらの2つの流れの交差が計算され、図26に示す画像が得られる。
【0140】
ここで、図26には小さな白い不適切な領域が存在する。この領域は、長さの短い領域に対する行オープン関数と、高さの低い領域に対する列オープン関数とを実行することで除去される。これらの関数は、浸食に用いる構造要素よりも大きな構造要素を膨張に用いて実行される。実際、画像から有用な情報を得るのは浸食であり、関心のある領域の標準サイズを保存するのは膨張である。より大きな膨張を用いることで、関心のある領域が正しく確実に網羅される。
【0141】
図27の画像は、水平方向に、サイズが60の浸食を実行した後、サイズが80の膨張を実行することにより得られる。特に、この操作は問題としている該領域を退化させうる。したがって、この退化を修正し、残存する不適切な領域を除去するために上記と同じ処理を垂直方向に行う必要がある。この結果得られた画像(図28)は、適切な領域が正しく網羅されたことを表している。
【0142】
また、閾値は設定変更が可能である。このため、コントラスト改善などの前処理を行うことで閾値の調整を単純にすることができる。
【0143】
閾値は反復的に調整可能である。処理が高速であるため、画像中のナンバープレートが見つかるまで複数の異なる閾値を試行してみることが可能である。路傍レーダーのように観察位置が変わらなければ、ナンバープレートはある解像度において大抵いつも同じ領域を有する。
【0144】
さらに、重要なこととして、最適化された一定時間の浸食/膨張アルゴリズムを用いるには画像を90°回転させる必要があるため、垂直方向のオープン関数を実行する必要がある。
【0145】
この構成においては、上記のようなオープン/クローズ関数のための形態学的マクロセル181,182と、閾値化(seuillage)および流れの交差を行う計算ユニット185とが用いられている。
【0146】
交差の後、行オープン関数と列オープン関数とが計算される。列オープン関数の計算は、全ての画像を処理し終わった時にのみ可能である。したがって、この処理では直接つなげられることができない。それゆえ、この処理は2つの段階に分割される。
・第一段階:画像の行の処理
(オープン/クローズ、閾値化、交差、オープン)
・第二段階:画像の列の処理
(オープン)。
【0147】
第二段階を始めることは、第一段階の処理が完了したことを前提とする。これは、この構成の資源が共用できることを意味する。したがって、再び第一段階の最後の行オープン関数を用い、データパスを修正して第二段階の列オープン関数を行うことが可能である。この修正が可能なのは、形態学的マクロセルの全ての引数(構造要素サイズ、画像サイズ、処理のタイプ等)がレジスタに保存されているからである。第一段階の最後において、データパスは修正され、レジスタには新しい値(変更した画像サイズ、なぜなら、画像は90°または270°回転されているため)が読み込まれる。
【0148】
図29は、上述のシステムの構成を表す。ここで、映像流れの送受信を行うシステムによる管理の下、データパスを修正するためのマルチプレクサー188が存在する。第一段階の最後において、マルチプレクサー188とレジスタとには、列処理の新しい引数が読み込まれる。処理は、この新しい配置において再開され、処理の最終画像が得られる。
【0149】
このように、第一段階において行オープン関数を実行し、第二段階において列オープン関数を実行できる形態学的マクロセル187を含む形態学的マクロセルは、処理の途中における引数とデータパスとの修正が可能であるため、この処理の構造は再構成可能なものである。
【0150】
図30は、ナンバープレート検出システムの機能図の例を表す。
【0151】
処理される画像は、イーサネット(Ethernet)ネットワークなどのネットワーク201を経由して送信される。
【0152】
処理器202は受信した画像を記憶装置204に保存する。
【0153】
直接メモリアクセスユニット205,206は、元画像を送信し、ハードウェア処理区画203により処理された画像を受信するように、処理器202によって設定されている。1つの処理が完了すると、結果の観察のためにイーサネットネットワーク201を経由して画像が送信される。
【0154】
処理器202の記憶装置はこの記憶装置の母線が他の部品と共有されているため、処理される画像を全てのクロックサイクルにおいて送信することができない。当該ナンバープレート検出構成においては、いつでも処理を凍結することができるため、この問題を難なく扱うことができる。
【0155】
操作周波数としては、例えば、50MHzとすれば356×356の1つの画像を15msで処理することが可能である。
【特許請求の範囲】
【請求項1】
形態学的マクロセルを用いる画像処理システムにおいて、
bビットにコード化されたm行とn列の行列(m,n,bは整数)を含むグレースケールのデジタル画像を作成するための、画像取得装置(1)と、
記憶装置(4,5)と、
処理実行中において、個々の処理の間で計算ユニットとデータパスとが再構成可能である、画像処理を行うための動的再構成可能な計算区画(3)と、
前記画像取得装置(1)と前記記憶装置(4,5)との間でデータを移動させ、前記計算区画(3)へ向かうデータのp個の並列な流れ(pは整数)の制御を行い、該データを該区画で要求された関数として専用アドレスと共に送るための、制御システム(2)と
を含み、
前記計算区画(3)は、
1より大きい整数k個の形態学的マクロセル(50)であって、個々の該マクロセル(50)が、e個の段階(eは整数)を有するb個の並列なブランチで組織された基本形態学的セル(51,52,61,62)を含み、個々の該セル(51,52,61,62)が、線形構造要素の使用に基づく基本的な浸食、膨張、または恒等の関数を行い、個々の形態学的セルの機能性と、該構造要素の大きさとが動的にプログラム可能であり、これらの基本形態学的セルからの並列な流れが、出力において演算論理機構により結合される、形態学的マクロセル(50)と、
複数の行および複数の列のそれぞれを並行に処理するためにデータを並列化するための少なくとも1つのシステムであって、各システムが、2つのバッファモジュール(301,302、および311,312)と、1つの語をp個の並列データ流れに分解するためにs個の一連の同期段階を通してパイプライン化され、形態学的マクロセル(MCM1,MCM2,MCM3,MCM4)のp個の入力へつなげられた、デマルチプレクサー(304,314)とを含むシステムと、
k個の形態学的マクロセルの出力の整数z個の並列な流れから画像を再構築するための少なくとも一つのシステムであって、各システムが、2つのバッファモジュールと、s′個の一連の段階を通してパイプライン化され、該形態学的マクロセルの同期の出力へつなげられたマルチプレクサーとを含むシステムと
を含み、
前記基本形態学的セル(51,52,61,62)と該形態学的マクロセル(50)とには、データの有用性の機能として、処理の実行を選択的に停止し、その後、パイプライン上のデータを失うことなく処理を再開するための、前記制御システムとの通信が可能な制御機構が与えられていることを特徴とする、形態学的マクロセルを用いる画像処理システム。
【請求項2】
請求項1に記載のシステムにおいて、整数f個のデータ並列化システムと、データのf×pの並列な流れに対する処理を可能とするための画像再構築システムとを含むことを特徴とするシステム。
【請求項3】
請求項1または2に記載のシステムにおいて、複数の上記形態学的マクロセル(50)が、複数の段階を有する複数のブランチを通してパイプライン化されており、前記マクロセルの複数の出力が演算論理機構によって結合されていることを特徴とするシステム。
【請求項4】
請求項1〜3のいずれかに記載のシステムにおいて、個々の上記形態学的セルが、第一および第二パスにおいて異なる方向への処理を行うための第一および第二処理ユニット(10,20)を含み、該第一処理ユニットと該第二処理ユニットとの間にバッファモジュールが存在することを特徴とするシステム。
【請求項5】
請求項4に記載のシステムにおいて、前記第一および第二処理ユニット(10,20)のそれぞれが、伝搬ユニット(11,21)と、エッジ効果および専用処理を行うユニット(12,22)と、遅延回線(13,23)とを含むことを特徴とするシステム。
【請求項6】
請求項1〜5のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(150)が、浸食を行う形態学的セルと、これに続く、膨張を行う形態学的セルとを含み、オープン演算子を定義することを特徴とするシステム。
【請求項7】
請求項1〜6のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセルが、膨張を行う形態学的セルと、これに続いて、浸食を行う形態学的セルとを含み、クローズ演算子を定義することを特徴とするシステム。
【請求項8】
請求項1〜7のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(250)が、恒等関数を行う形態学的セル(253,254)を含むことを特徴とするシステム。
【請求項9】
請求項6〜8のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(250)が、トップハットのオープン演算子またはトップハットのクローズ演算子を作成するために、浸食および膨張を実行するための第一および第二形態学的セル(251,252)と、恒等関数を実行するための第三および第四形態学的セル(253,254)と、減算器(270)とを含むことを特徴とするシステム。
【請求項10】
勾配、非線形フィルタ、逐次交互フィルタ、コントラスト修正演算子などの画像処理操作を行うための、演算論理機構と結合した少なくとも2つのつなげられた形態学的マクロセルを有する、請求項6〜9のいずれかに記載のシステムの、使用。
【請求項11】
文字、数字、記号からなる反復パターンを有する物体の検出のためのシステムにおいて、第一画像処理モジュール(180)と、第二画像処理モジュール(187)との形態学的マクロセルを用いる、請求項1〜9のいずれかに記載の再構成可能の画像処理システムを含むことを特徴とする、文字、数字、記号からなる反復パターンを有する物体の検出のためのシステム。
【請求項12】
請求項11に記載のシステムにおいて、第一画像処理モジュールが、第一オープン/クローズモジュール(181)と、第二オープン/クローズモジュール(182)と、閾値による比較を行うための演算論理機構と、交差モジュール(185)と、行オープンモジュール(187)とを含むことを特徴とするシステム。
【請求項13】
請求項11に記載のシステムにおいて、第二画像処理モジュールがオープン/クローズモジュール(187)を有することを特徴とするシステム。
【請求項14】
請求項11〜13のいずれかに記載のシステムにおいて、ナンバープレートの検出に適用されることを特徴とするシステム。
【請求項1】
形態学的マクロセルを用いる画像処理システムにおいて、
bビットにコード化されたm行とn列の行列(m,n,bは整数)を含むグレースケールのデジタル画像を作成するための、画像取得装置(1)と、
記憶装置(4,5)と、
処理実行中において、個々の処理の間で計算ユニットとデータパスとが再構成可能である、画像処理を行うための動的再構成可能な計算区画(3)と、
前記画像取得装置(1)と前記記憶装置(4,5)との間でデータを移動させ、前記計算区画(3)へ向かうデータのp個の並列な流れ(pは整数)の制御を行い、該データを該区画で要求された関数として専用アドレスと共に送るための、制御システム(2)と
を含み、
前記計算区画(3)は、
1より大きい整数k個の形態学的マクロセル(50)であって、個々の該マクロセル(50)が、e個の段階(eは整数)を有するb個の並列なブランチで組織された基本形態学的セル(51,52,61,62)を含み、個々の該セル(51,52,61,62)が、線形構造要素の使用に基づく基本的な浸食、膨張、または恒等の関数を行い、個々の形態学的セルの機能性と、該構造要素の大きさとが動的にプログラム可能であり、これらの基本形態学的セルからの並列な流れが、出力において演算論理機構により結合される、形態学的マクロセル(50)と、
複数の行および複数の列のそれぞれを並行に処理するためにデータを並列化するための少なくとも1つのシステムであって、各システムが、2つのバッファモジュール(301,302、および311,312)と、1つの語をp個の並列データ流れに分解するためにs個の一連の同期段階を通してパイプライン化され、形態学的マクロセル(MCM1,MCM2,MCM3,MCM4)のp個の入力へつなげられた、デマルチプレクサー(304,314)とを含むシステムと、
k個の形態学的マクロセルの出力の整数z個の並列な流れから画像を再構築するための少なくとも一つのシステムであって、各システムが、2つのバッファモジュールと、s′個の一連の段階を通してパイプライン化され、該形態学的マクロセルの同期の出力へつなげられたマルチプレクサーとを含むシステムと
を含み、
前記基本形態学的セル(51,52,61,62)と該形態学的マクロセル(50)とには、データの有用性の機能として、処理の実行を選択的に停止し、その後、パイプライン上のデータを失うことなく処理を再開するための、前記制御システムとの通信が可能な制御機構が与えられていることを特徴とする、形態学的マクロセルを用いる画像処理システム。
【請求項2】
請求項1に記載のシステムにおいて、整数f個のデータ並列化システムと、データのf×pの並列な流れに対する処理を可能とするための画像再構築システムとを含むことを特徴とするシステム。
【請求項3】
請求項1または2に記載のシステムにおいて、複数の上記形態学的マクロセル(50)が、複数の段階を有する複数のブランチを通してパイプライン化されており、前記マクロセルの複数の出力が演算論理機構によって結合されていることを特徴とするシステム。
【請求項4】
請求項1〜3のいずれかに記載のシステムにおいて、個々の上記形態学的セルが、第一および第二パスにおいて異なる方向への処理を行うための第一および第二処理ユニット(10,20)を含み、該第一処理ユニットと該第二処理ユニットとの間にバッファモジュールが存在することを特徴とするシステム。
【請求項5】
請求項4に記載のシステムにおいて、前記第一および第二処理ユニット(10,20)のそれぞれが、伝搬ユニット(11,21)と、エッジ効果および専用処理を行うユニット(12,22)と、遅延回線(13,23)とを含むことを特徴とするシステム。
【請求項6】
請求項1〜5のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(150)が、浸食を行う形態学的セルと、これに続く、膨張を行う形態学的セルとを含み、オープン演算子を定義することを特徴とするシステム。
【請求項7】
請求項1〜6のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセルが、膨張を行う形態学的セルと、これに続いて、浸食を行う形態学的セルとを含み、クローズ演算子を定義することを特徴とするシステム。
【請求項8】
請求項1〜7のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(250)が、恒等関数を行う形態学的セル(253,254)を含むことを特徴とするシステム。
【請求項9】
請求項6〜8のいずれかに記載のシステムにおいて、少なくとも1つの形態学的マクロセル(250)が、トップハットのオープン演算子またはトップハットのクローズ演算子を作成するために、浸食および膨張を実行するための第一および第二形態学的セル(251,252)と、恒等関数を実行するための第三および第四形態学的セル(253,254)と、減算器(270)とを含むことを特徴とするシステム。
【請求項10】
勾配、非線形フィルタ、逐次交互フィルタ、コントラスト修正演算子などの画像処理操作を行うための、演算論理機構と結合した少なくとも2つのつなげられた形態学的マクロセルを有する、請求項6〜9のいずれかに記載のシステムの、使用。
【請求項11】
文字、数字、記号からなる反復パターンを有する物体の検出のためのシステムにおいて、第一画像処理モジュール(180)と、第二画像処理モジュール(187)との形態学的マクロセルを用いる、請求項1〜9のいずれかに記載の再構成可能の画像処理システムを含むことを特徴とする、文字、数字、記号からなる反復パターンを有する物体の検出のためのシステム。
【請求項12】
請求項11に記載のシステムにおいて、第一画像処理モジュールが、第一オープン/クローズモジュール(181)と、第二オープン/クローズモジュール(182)と、閾値による比較を行うための演算論理機構と、交差モジュール(185)と、行オープンモジュール(187)とを含むことを特徴とするシステム。
【請求項13】
請求項11に記載のシステムにおいて、第二画像処理モジュールがオープン/クローズモジュール(187)を有することを特徴とするシステム。
【請求項14】
請求項11〜13のいずれかに記載のシステムにおいて、ナンバープレートの検出に適用されることを特徴とするシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【公表番号】特表2010−511240(P2010−511240A)
【公表日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2009−538754(P2009−538754)
【出願日】平成19年11月27日(2007.11.27)
【国際出願番号】PCT/FR2007/052404
【国際公開番号】WO2008/065302
【国際公開日】平成20年6月5日(2008.6.5)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
2.ETHERNET
【出願人】(508197561)
【氏名又は名称原語表記】COMMISSARIAT A L’ENERGIE ATOMIQUE
【Fターム(参考)】
【公表日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願日】平成19年11月27日(2007.11.27)
【国際出願番号】PCT/FR2007/052404
【国際公開番号】WO2008/065302
【国際公開日】平成20年6月5日(2008.6.5)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
2.ETHERNET
【出願人】(508197561)
【氏名又は名称原語表記】COMMISSARIAT A L’ENERGIE ATOMIQUE
【Fターム(参考)】
[ Back to top ]