説明

非線形勾配補償を使用してデータを処理する方法及びシステム

局部的な勾配を補償する非線形方法を使用して、画像又は他のデータを処理するシステム及び装置が、記載されている。1つの実施では、メディアンフィルタのような非線形フィルタを使用して、画像又は他のデータセット中のサンプル値の勾配を1つ以上の方向で推定する。推定勾配値を使用して、対象のサンプルのうちの少なくとも幾つかの値を補償して、勾配の影響を取り除く。次に、対象のサンプル中にターゲットが存在するかどうかを決定するために、又は他の目的のために、補償された値が処理され得る。

【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本出願は、2009年10月29日に出願された米国の正規の特許出願(U.S. Non-Provisional Patent Application)第12/608,374号に対して優先権を主張している。
【0002】
政府の権利
本発明は、国防総省との契約番号HQ0147−09−D−0001のもとで米国政府の支援を受けて作成された。米国政府は、本発明に一定の権利を有する。
【0003】
技術分野
以下の記載は、全体的に、データ処理技術及びシステムに関する。より具体的には、以下の記載は、画像又は他のデータ中のターゲットを識別する、画質を高める、並びに/或いはさもなければ、画像又は他のデータセット内に含まれているデータを処理するために使用され得るディジタル処理技術に関する。
【背景技術】
【0004】
写真又は他の形式のディジタルデータ中のターゲットを識別するために、多くの色々なフィルタリング及び他の処理技術が使用されている。このような技術は、商用と、軍用と、産業用と、他の設定とにおいて広く展開されている。例えば、軍用の設定では、ディジタル画像を処理して、ディジタルデータセット内に示されているパターン、対象のオブジェクト、並びに/或いは、他の実際の又は可能性のあるターゲットの存在を識別することができる。画像処理技術によって、視覚的に検出するのが困難であったかもしれないターゲットを早く検出することができる。更に、航空宇宙及び海洋環境(例えば、水中の物体を検出すること)を含む、他の商用又は軍用の設定と、製造及び他の産業用の設定、即ち、販売用の及び個人的な写真撮影と、多くの他の設定とにおいても、ターゲット認識技術が使用され得る。
【0005】
一般的に言って、オブジェクトの識別に効果的であって、比較的に速く、計算効率がよい、ターゲット検出技術が望ましい。幾つかの応用では、背景画像における階調度(gradient)の存在、及び/又は、比較的に密な空間内における複数のターゲットの存在のために、ターゲットの検出に大きな課題があり得る。例えば、画像又は他のデータセットの小さな部分であっても、背景における階調度がかなりのコントラストを生成することがあり、特に、このようなコントラストがターゲットのコントラストと同じ程度である場合、及び/又は階調度が時間と共に急速に変化する場合に、ターゲットの検出が複雑になり得る。
【0006】
勾配のあるコントラストは、従来の線形フィルタ(例えば、平均化フィルタ(averaging filter))を使用して対処できることが多い。しかしながら、処理された画像内に他のオブジェクトが存在する場合に、平均化フィルタは結果を誤ることが多い。例えば、背景画像に比べて、ターゲットが明るいために検出された場合に、処理された画像中に別の明るいオブジェクトが存在すると、平均化フィルタに望ましくない偏りが生じる。つまり、別のターゲット又は他のクラッタからの異常に高い又は低い値は、平均化フィルタの均衡を失わせるので、フィルタの出力を歪めて、望ましい結果から遠ざける場合がある。
【0007】
ある特定のタイプの非線形フィルタ(例えば、フィルタにかけられた値のうちの真ん中の順位(又はランクオーダ)を単に識別するメディアンフィルタ)は、メディアン関数(median function)の性質によって、中心から離れたデータ値の影響を弱めることができる。メディアンフィルタは、メディアン関数の性質によって、大きい又は小さい大きさの雑音の影響を弱めるのに効果的であり得る。しかしながら、従来のメディアンフィルタは、他の幾つかのタイプのフィルタよりも、データのある特定の変化、例えば勾配のある背景(sloping background)に対して、高い感度を有することができる。
【0008】
平均値とメディアンとの両者に基づく関数を、様々なデータ補償技術で補って、結果を改善することができるが、従来、このような技術は、計算が大変であるので、実時間(又はほぼ実時間)の応用、或いは計算資源の利用が限られている応用では、実用性が制限される。
【0009】
従って、効果的で更に計算処理上扱いやすいデータ処理システム及び技術を生成することが望ましい。このようなシステム及び技術が、処理されたデータ内に存在する、勾配のある背景及び/又はクラッタ(clutter)を有するデータセット中のターゲットでさえも、他のターゲットから確実に識別することが、一層望ましい。添付の図面及びこの背景技術のセクションと併せて、次の詳細な説明と請求項とから、これらの特徴及び特性と他の望ましい特徴及び特性とが明らかになるであろう。
【発明の概要】
【0010】
非線形のランクオーダフィルタ(rank order filter)を使用して、画像又は他のサンプルデータを処理する様々なシステムと、装置と、方法が記載されている。1つの実施では、画像又は他のデータセットは幾つかのサンプル(例えば、画素)を有し、各サンプルは、関連付けられた強度、輝度、大きさ、及び/又は他のサンプル値を有している。メディアンフィルタ又は他のランクオーダフィルタのような非線形フィルタを使用して、サンプル値の勾配(又は傾斜)を1つ以上の方向において推定する。推定勾配値を使用して、対象のサンプルのうちの少なくとも幾つかの値を補償して、任意の勾配のある背景画像又は他の値の影響を取り除く。次に、補償された値を処理して、対象のサンプル中にターゲットが存在するかどうかを決定し得る。
【0011】
幾つかの実施形態は、各画素が画素値に関連付けられている、複数の画素を有する画像中のターゲットを自動的に識別する、コンピュータ、プログラムド論理アレイ、及び/又は他のディジタル処理論理によって実施可能な方法を提供する。この例では、方法は、画像中の複数の画素から成るサブセットを選択して、第1のランクオーダフィルタを使用して、サブセット中の画素のうちの少なくとも幾つかの画素の画素値に基づいて、画像の第1の方向における画素値の第1の勾配を決定して、第2のランクオーダフィルタを使用して、サブセット中の画素のうちの少なくとも幾つかの画素の画素値に基づいて、画像の第2の方向における画素値の第2の勾配を決定して、第1の勾配と第2の勾配とを使用して、ディジタル処理論理において、複数の画素のうちの少なくとも幾つかの画素の値を補償して、複数の補償された値を生成して、ディジタル処理論理によって、補償された値を処理して、複数の画素のうちの少なくとも幾つかの画素中にターゲットが存在するかどうかを決定して、ターゲットが存在するかどうかを示すディジタル処理論理からの出力を提供することを含む。
【0012】
別の例示的な実施形態では、ディジタルコンピュータ、プログラムド論理アレイ、及び/又は他のディジタル処理論理によって実行可能な方法は、各サンプルがサンプル値に関連付けられている、複数のサンプルを有するデータセット中のターゲットを自動的に識別する。この例示的な方法は、ランクオーダフィルタを用いて、データセット中のサンプルのうちの幾つかのサンプルのサンプル値に基づいて、第1の勾配を決定して、ディジタル処理論理において、第1の勾配を使用して、複数のサンプルのうちの少なくとも幾つかのサンプルのサンプル値を補償して、複数の補償された値を生成して、ディジタル処理論理を用いて、補償された値を処理することによって、複数のサンプルのうちの少なくとも幾つかのサンプル中に、ターゲットが存在するかどうかを決定することを含む。
【0013】
更に他の実施形態は、各サンプルが1つのサンプル値を有する、複数のサンプルを含むデータを処理するシステムに関する。例示的なシステムは、データ含む少なくとも1つのデータセットを受信するように構成されている取得モジュールと、処理モジュールと、出力モジュールとを具備している。第1と第2のランクオーダフィルタを具備する処理モジュールは、第1のランクオーダフィルタを使用して、データセット中のサンプルのうちの少なくとも幾つかのサンプルのサンプル値に基づいて、データセットの第1の方向における第1の勾配を決定して、第2のランクオーダフィルタを使用して、画像中のサンプルのうちの少なくとも幾つかのサンプル値に基づいて、データセットの第2の方向における第2の勾配を決定して、第1と第2の勾配を使用して、複数のサンプルのうちの少なくとも幾つかのサンプルの値を補償して、複数の補償された値を生成して、補償された値に基づいて、サンプルのうちの少なくとも幾つかのサンプル中にターゲットが存在するかどうかを決定するように構成されている。出力モジュールは、ターゲットが存在するかどうか示す出力を提供するように構成されている。
【0014】
幾つかの代わりの実施形態を生成する多くの異なるやり方において、様々な実施が改善又は変更され得る。様々な他の実施形態と、態様と、他の特徴について、更に詳しく以下で説明する。
【0015】
例示的な実施形態について、図面と併せて以下で説明する。図面において、同じ参照番号は同じ要素を示している。
【図面の簡単な説明】
【0016】
【図1】画像データを処理する例示的なシステムの図である。
【図2】画像データ中のターゲットを検出する例示的なシステムの概念図である。
【図3】画像データに非線形フィルタをかけて、非線形フィルタの結果に基づいて画像データを補償する例示的なプロセスのブロック図である。
【図4】メディアン又は他の順位値を決定する例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0017】
次の詳細な説明は、本質的に単なる例示であって、本発明又は本出願と本発明の使用とを制限することは意図されていない。更に、上述の背景技術又は後述の詳細な説明に提示されている何らかの理論によって、本発明を制限することは意図されていない。
【0018】
様々な実施形態は、オブジェクト、パターン、又は他のターゲットの検出を改善するために、画像又は他のデータセット中の平坦な背景を線形に取り除くシステム及び技術を提供している。例えば、比較的に低い信号対雑音比(signal-to-noise, SNR)のデータセット中のターゲットを識別するのに、このような技術は有益であり得る。比較的に低いSNRのデータセットは、階調のある背景を含む、及び/又は検出可能なサイズと大きさを有する他のオブジェクトを近くに有する、画像を含んでいる。概して、測定窓内の他のオブジェクトに対する感度を下げるために、非線形(例えば、メディアン又は他のランクオーダ)のフィルタリング技術を使用して、1つ以上の異なる方向における勾配成分を推定する。成分の勾配を使用して、線形の重ね合せを使って、観測されたサンプル値を補償してもよい。測定された勾配の影響に対して、ある特定の対象サンプルの値を補償することによって、閾値の検出のための適切なゼロベースを提供でき、及び/又は、他の有益な結果を得ることができる。これらの概念と他の概念について更に詳しくここで説明する。
【0019】
ここに記載されている様々なシステム及び技術は、幾つかの設定で使用され得る。便宜上、軍用の設定でオブジェクトを識別するのに使用されるような、ターゲットの認識と画像処理の応用とに、重点が置かれ得る。しかしながら、オブジェクトの認識、画質の向上、背景の平滑化、又は他の処理を使用する、任意の軍用の、商用の、産業用の、個人的な、又は他の設定において、同等のシステムと技術が適用され得る。更に、ここに記載されている個々のパラメータ(例えば、数値、定数値、画素の窓のサイズと形状、及び/又はその他同様のもののうちの1つ以上)は、単なる例である。他の実施及び実施形態は、異なるが、同等の、値、アルゴリズム、及び/又は他のパラメータの幾つかを希望の通りに使用してもよい。
【0020】
ここで、図面を参照すると、図1に関して、データ103を処理する例示的なシステム100は、取得モジュール112と、処理モジュール114と、出力モジュール120とを適切に含んでいる。図1に示されている特定の例において、データセット103は、画像105のようなディジタル画像に関連付けられた画素値を表わしている。ディジタル画像は、ディスプレイ122又は他の場所で提示され得る。しかしながら、ディジタル画像以外の色々なタイプのサンプルデータに適した任意の種類のデータの収集、処理、及び/又は出力の特徴を使用する同等の実施形態を生成できるであろう。同等のものとして、任意のやり方で集められて処理され得る時系列データ(例えば、通信、レーダ、又は他の無線周波数(radio frequency, RF)信号)のサンプルを処理するために、ここに記載されている様々なシステムと技術とを使用できるであろう。
【0021】
処理モジュール114は、ここに記載されているデータを処理できる任意のハードウェア、ソフトウェア、ファームウェア、及び/又はこれらの組み合せである。様々な実施形態では、処理モジュール114は、ソフトウェア又はファームウェアで実施される。このソフトウェア又はファームウェアは、任意の従来のメモリ118又は大容量記憶装置に記憶され、任意の従来のプロセッサ116において実行され得る。そのために、処理モジュール114は、この例では、任意のフォーマットでソフトウェアを実行する汎用コンピューティングハードウェアに基づくパーソナルコンピュータ、ワークステーション、又はその他同様のものを使用して実施され得る。他の実施形態では、処理モジュール114は、特別に設計された処理部、データ記憶装置、及び/又は他の回路、例えば、航空宇宙、海上、戦場、又は他の要求の厳しい環境に配備するために設計された任意の種類のハードウェアで実施される。様々な実施形態では、処理モジュール114の特定の特徴は、部分的に又は全体的に、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)又は他の構成可能なゲートアレイ(configurable gate array, CGA)、特定用途向け集積回路(application specific integrated circuit, ASIC)、プログラムドアレイ論理(programmed array logic, PAL)、並びに/或いはその他同様のもののような、プログラマブル論理デバイスを使用して実施される。幾つかの同等の実施形態は、任意の種類のハードウェア、ソフトウェア、ファームウェア、及び/又は他のディジタル処理論理を使用して希望の通りに設計及び実施され得る。
【0022】
データ取得モジュール112は、任意の源からデータを受信でき且つ受信したデータを画像処理モジュール114に提供できる、任意のハードウェア、ソフトウェア、又はその組み合わせである。様々な実施形態では、取得モジュール112は、カメラ110又は他の源から、ディジタル又はアナログ画像を受信する。同等の実施形態では、任意の源、例えば、任意の種類のRF受信機、データ収集システム、及び/又はその他同様のものから、データを受信してもよい。他の実施形態では、データ取得モジュール112は、単に入力論理を表わす。入力論理は、別のコンピュータシステム又は他の源から処理モジュール114にデータセット103を手動操作により又は自動的にアップロード又はさもなければ提供することを可能にする。更に、モジュール112は、受信データを、処理モジュール114によって使用可能なフォーマットにするのに役立つ、任意のアナログ対ディジタル変換、フォーマット変換、又は他の操作を行い得る。様々な実施形態では、取得モジュール112は、処理モジュール114と同じメモリ118に存在する及び/又は同じプロセッサ116で実行される、ソフトウェアプロセス又はルーチンであるが、他の実施形態では、2台以上の異なるプロセッサ又はコンピューティングシステム間で、データの取得と処理の機能を分けてもよい。
【0023】
出力モジュール120は、処理モジュール114からの任意の出力を提供できる任意のハードウェア、ソフトウェア、又はその組み合わせである。例えば、出力モジュール120は、メモリ118又は大容量記憶装置内に存在し且つ処理モジュール114と同じプロセッサ116において実行されるソフトウェア又はファームウェアの命令を使用して実施され得る。その代わりに、出力モジュール120は、画像処理モジュール114から分かれたハードウェア(例えば、別のコンピューティングシステム)で実施されてもよい。
【0024】
様々な実施形態(例えば、図1に示されている例)において、出力モジュール120は、任意の種類のディスプレイ122上に画像105を表示できる表示発生器であり得る。このような画像105は、画像105内に含まれているオブジェクト102を識別するパイロット、兵士、ドライバ、オペレータ、及び/又は他の観察者に対して提示され得る。より完全に後述で説明されるように、様々な実施形態は、オブジェクト102が観察者により見易くなるように、画像105の画質を高め得る。他の実施形態は、画像105中のオブジェクト102を太字で示す(boldface)こと、オブジェクト102の近くにインジケータを置くこと、及び/又はその他同様のことによって、オブジェクト102を自動的に検出して強調し得る。出力モジュール120の更に他の実施形態では、ディスプレイ122上に画像105を必ずしも表示することなく、画像105内でオブジェクト102が検出される、可聴式、触知式、及び/又は他の表示を提供し得る。出力モジュール120の更に他の実施形態は、検出されたオブジェクト102に関する情報を別のコンピュータプロセス又はシステムに単に送信するか、或いは何らかの他の動作を希望の通りに行ない得る。
【0025】
幾つかの実施形態では、画像105は、オブジェクト、パターン、及び/又は何らかの他のターゲット102の検出に使用される特定の画像を表わす。幾つかの実施形態では、このような画像105は、従来のディジタル写真の画像のようにフォーマットされ得る。更に又は代わりに、他の実施形態では、画像105は、赤外線、紫外線、又は他の不可視スペクトルの放射線を取り込み得る。従来のターゲット検出システムでは、例えば、画像105は、幾つかのモノクロームタイプの画素から構成され得る。各モノクロームタイプの画素は、画像の特定の部分において、検出された赤外線、可視、紫外線、及び/又は他の放射線の強度を表す。可能性のある多くのターゲットは、赤外線スペクトルで検出可能な熱エネルギを放射する傾向があるので、赤外線画像は、このようなターゲットをよく示し得る。このような画像では、画像の背景雑音からターゲット信号を抽出できる場合と、何らかの他のターゲットの画像又は画像中に存在し得る他のクラッタから、ターゲット信号を区別できる場合とにおいて、検出可能なオブジェクトに対応する画素は、一般に、周囲の画素よりも大きな強度値を有する。
【0026】
データセット103は、システム100内で処理できるサンプルデータの任意のグループ又は集まりである。幾つかの実施形態では、データセット103は、画像データ、例えば、画像105を生成するのに使用される他の何らかのデータを表す。例示的な画像処理の実施形態では、データセット103は、幾つかの画素を有する画像を表わす1つ以上のビットマップタイプのディジタル画像又は他のディジタル画像から生成され得る。この意味で、画素は、幾つかの属性値(attribute value)によって特徴付けられ得る画像又はピクチャのディスクリートコンポーネントサンプルである。従来のモノクローム画像では、各画素は、例えば、画像の中のその部分における光の強度を表わす輝度値によって表わされ得る。カラー画像は、画素の色を表わすクロマ値(chroma value)と、輝度値(luminance value)とによって表される画素を有し得る。モノクローム画像とカラー画像の画素は、任意のフォーマットの画像を作成するために他の何らかのやり方で表わされることもある。多くの実施形態は、画素の輝度又は他の品質を表わすデータセット103を処理するが、他の実施形態は、画像の画素値に加えて、又は画像の画素値の代わりに、他のタイプのデータを処理し得る。1つ以上の取得されたデータセット103に含まれているデータは、何らかの目的のために適宜に処理され得る。ほんの幾つかの例を提供すると、データセット103中のデータは、表示画像105の画質を高める、データ内に表わされたオブジェクト又は他のターゲット102を識別する、及び/又は希望の通りに他のタスクを行なうために処理され得る。
【0027】
幾つかの実施形態では、1つ以上のデータセット103から直接に画像105が生成され得るが、全ての実施形態において、このデータセット103が、事実に忠実な、レンダリング可能な画像を表わす必要はない。これに対して、データセット103は、サンプルデータを集めたものを表わし得る。これを処理して、ターゲットを識別する又は他のタスクを希望の通りに行なうことができる。そのため、処理に使われているデータセット103は、必ずしも画像105を生成するために使用されない。別の(しかしながら、同等の)データセット103は、幾つかのサンプル値を含み得る。サンプル値は、RF信号、任意の環境又は産業上の条件(例えば、温度、圧力、湿度、又は他の条件)の測定値、時系列データ、並びに/或いは希望の通りの他の何らかのタイプのデータのような任意の種類のデータを表わす。更に、幾つかの実施形態では、複数のデータセット103に対するデータ処理を任意のやり方で行ない得る。例えば、異なるデータセット103からのデータサンプルは、希望の通りに相互に結合され得る。
【0028】
幾つかの実施形態では、データ内の実際の又は可能性のあるターゲット102の存在を識別するために、データセット103を処理してもよい。このような「ターゲット」は、実際の又は可能性のある対象オブジェクト、パターン、及び/又はデータセット103内で検出される他の何らかのターゲットを表わし得る。幾つかの実施形態では、一般に、赤外線又は可視の画像中の目立って明るい画素の強度を検出することによって、ターゲット102が識別される。
【0029】
例示的な実施形態では、幾つかの「窓」104、又はデータセット103中の値のサブセットを検討することによって、ターゲット102を識別する。例えば、窓104は、画像105中の隣接する又は他の部分の画素値を表わすデータセット103中のデータ値を参照し得る。各窓104の個々のサイズは、実施形態ごとに異なる。一般に、望ましい検出可能な範囲において任意のターゲットオブジェクト102のサイズを調節するように、窓104のサイズを合わせるのが望ましい。様々な実施形態では、処理モジュール114は、窓104のエリア106内にターゲット102が存在するかどうかを決定しようとする。このような実施形態では、窓104が、検出可能なエリア106の少なくとも2倍(程度)の大きさであるように、窓104を設計して、その結果、適切な範囲においてターゲットのオブジェクト102を検出するのに十分なデータサンプルを含むように、窓104を設計することが望ましいかもしれない。
【0030】
図1に示されている例示的な実施形態では、画像105は、対象となっている現在の窓104を有している。対象となっている現在の窓104は、合計で49個の対象画素候補に対して7×7グリッドの画素を含み、真ん中の9画素は、検出可能なエリア106として識別されている。この例では、窓104内に含まれている画素の値を検討することによって、エリア106内にターゲット102が存在するかどうかを識別することが望ましい。他の実施形態では、特定のサイズの窓104及び/又はエリア106を、上方又は下方に希望の通りに調整してもよい。同様に、窓104及び/又はエリア106の形状を(例えば、希望の通りに長方形、円形、又は他の形状に)調整してもよい。既に記載したように、同等の窓104とエリア106を容易に形成して、画像の画素以外の他のタイプのデータに希望の通りに適用してもよい。
【0031】
図1は、窓104内のサンプル値が、水平方向と垂直方向との両者にわたって勾配のある階調度を表していることを示している。即ち、この例では、図1に表されているように、画像105中に示されている画素強度は、下から上へ、及び左から右へ、増す傾向がある。図1は、エリア106内に存在するターゲット102を示している。更に、図1は、窓104内の他の明るい画素として「クラッタポイント」108を示している。既に記載したように、画素強度の平均値を決定して、次に、中心画素からこの平均値を減算することによって、窓104の全体にわたる勾配のある背景を少なくとも部分的に補償することができる。しかしながら、ターゲット102及び/又はクラッタポイント108が平均値の計算に含まれている場合は、この計算の結果はずれるであろう。ターゲット102とクラッタポイント108との両者は、他のセルよりもかなり大きな強度を有しているので、これらの大きな値が、平均強度を過度に偏らせて、背景画像の平均強度よりもかなり高くする傾向がある。その代りに、順位(例えば、メディアン)の強度が決定されている場合は、中心からかなり外れている値(例えば、ターゲット102及び/又はクラッタポイント108から生じる強度値)が値の順位に及ぼす影響は僅かだけであるので、強度の中心値により近い結果が得られる可能性が高い。しかしながら、従来のランクオーダ関数は、雑音分布における空間的に変化するバイアスに関係なく、望ましい順位(例えば、サンプル値の下半分からサンプル値の上半分を従来のメディアンにおいて分ける数)を選択するだけであるので、ランクオーダフィルタは、存在する背景雑音の実際の量を正確に予測する可能性がより低い。従って、幾つかの応用では、一般に、単純なメディアンフィルタを画素強度値にかけた結果は、勾配する背景の推定値を十分に正確に与えていない。
【0032】
ここで図2を参照すると、1つ以上の異なる方向(例えば、水平方向と垂直方向)における勾配を推定して、次に、これらの推定値に対する補正値を、データセット103から得た実際の強度値に重ね合わせる(superimpose)ことによって、勾配のある背景のかなりより正確な推定値を得ることができる。更に、後述でより十分に説明するように、メディアンフィルタ又は他のランクオーダフィルタのような、非線形フィルタリング技術を使用して、勾配を非常に正確に推定することができる。任意の種類のハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせのような、任意の種類のディジタル処理論理において、図2に示されている全体的な機能が実施され得る。例えば、任意の処理又はコンピューティングプラットフォームで実行されるソフトウェアを使用して、構成可能なゲートアレイ又は同様のプログラマブル論理を使用して、1つ以上のASICを使用して、これらの技術の任意の組み合わせを使用して、及び/又は、他の何らかのやり方で、システム200のうちの一部又は全てが実施され得る。
【0033】
1つの実施形態では、画像データを処理する例示的なシステム200は、画像105中の画素のサブセット104を選択して、第1の方向(フィルタ202)及び/又は第2の方向(フィルタ204)において非線形フィルタを使用してサブセット内の画素値の勾配を推定して、推定勾配値を使用して対象の画素206ののうちの幾つかを(例えば、加算器208によって)補償するために、複数のモジュールを適切に含んでいる。補償された画素値を処理して、対象の画素の中にターゲット102が存在するかどうかを希望の通りに決定できる。図2に示されている機能とモジュールの各々は、組み合わせても、補足しても、又はさもなければ、示されている例から修正してもよい。
【0034】
図2は、フィルタ202と204とを使用して、2つの異なる方向において背景勾配を推定する例示的な実施形態を示している。幾つかの実施では、異なる数のフィルタを適用してもよい。勾配の方向が事前に分かっている場合は、例えば、勾配の方向に適用される1つの勾配フィルタ(例えば、フィルタ202)で十分であり得る。同様に、データセット103の中のある特定のタイプのデータは、一次元であるか、及び/又はさもなければ、1つのフィルタに適しているかもしれない。逆に、他の実施では、取り込まれたデータの追加の次元に適応させるために、及び/又は他の何らかの目的のために、第3のフィルタ、第4のフィルタ、及び/又は他の追加のフィルタを重複して適用してもよい。更に、1つのフィルタ202を連続的に何回か適用してもよい(例えば、図2に示されている複数のフィルタの実施形態と同等の結果を得るために、データが1つのフィルタ202に複数回連続してかけられる場合がある)。従って、同等の実施形態は、任意のやり方で希望の通りに使用される幾つかのフィルタ202、204を有し得る。
【0035】
図2に示されているように、窓104の中の勾配値を推定スケールファクタ係数に分解するために、非線形フィルタ202、204にかける。推定スケールファクタ係数を漸増的に適用して、線形技術を使用して、勾配のある背景画像の影響を補償することができる。各非線形フィルタ202、204は、異なる方向における画素値の勾配を推定する。様々な実施形態では、例えば、1つのフィルタ202は、水平方向における画素値を推定でき、他方で、フィルタ204は、垂直方向における勾配を推定する。他の実施形態では、データセットの代わりの対角線、及び/又は、他の何らかの座標系とパラメータを使用してもよい。一般的に言って、2つ以上の方向で勾配を検討すると、検討されている方向の何れにも平行していない勾配について、より正確な結果が得られる。従って、多くの実施形態では、直交(又は、ほぼ直交)方向にフィルタ202、204を適用することが望ましいかもしれないが、他の実施形態では、任意の異なるパラメータ又は設定を使用することができ、或いは冗長又は他のタイプの追加の処理を使って、非直交性を補ってもよい。
【0036】
既に記載したように、非線形フィルタ202、204は、順序付きリスト中の位置に基づいて望ましい値を識別する、メディアンタイプ又は他のランクオーダのフィルタリングを実施し得る。ランクオーダフィルタの例はメディアン関数を含み得るが、同等の実施形態では、中心以外のランク又はランクの組み合わせ(例えば、ランクを付けられた2つ以上の値の平均又は他の組み合わせ)を求めることができ、これは「メディアン」の古典的な定義に正確に対応していないかもしれない。大きな大きさのクラッタの影響(例えば、図1のクラッタポイント108の影響)を弱めるときに、ランクオーダフィルタは非常に効果的であり得る。更に、後述するように、ランクオーダフィルタで使用される特定の値を予め処理して、結果の精度と信頼性とを高めることができる。
【0037】
フィルタ202と204の各々は、任意の種類のフィルタ又は他の非線形フィルタ、例えば、メディアン関数に基づく任意の種類のフィルタであり得る。「ランクオーダフィルタ」の例は、任意の種類の従来のランクオーダフィルタを含むが、これに制限されない。任意の種類の従来のランクオーダフィルタは、任意の種類のメディアン、重み付きメディアン、及び/又は、他のメディアンベースの関数を希望の通りに含み、更に、順位の処理と組み合わせて、平均値に基づく関数を取り入れたハイブリッドフィルタを含み得る。幾つかの実施形態では、例えば、順位を付けられたサンプルのうちのある特定の範囲のサンプルを線形に平均するハイブリッドフィルタが有益であり得る。このようなハイブリッドフィルタで使用される「範囲」は、所定の部分(例えば25−50%程度)、統計的に有意な部分(例えば、メディアン/平均値の1−3の標準偏差内の値)、2つ以上の個々のランク(例えば、特に、偶数の値が検討されるときに、中央の2つのランク)、及び/又は、希望の通りの他の何らかの範囲によって定められる、ランクを付けられた値の中央の部分を含み得る。他の範囲は、他の値を有していてもよく、又は、他の何らかのやり方で決定してもよい。例えば、入力雑音が入力サンプルの最下位ビットほど著しく大きくない場合に、及び/又は、量子化雑音が比較的に大きい場合に、このようなハイブリッドフィルタは有益であり得る。幾つかの同等の実施形態では、多くの異なるタイプのメディアンフィルタが使用され得る。
【0038】
フィルタ202、204は、同じフィルタである必要はない。幾つかの実施形態では、フィルタ202及び204は、2つの異なる方向における値を単に調整する類似のフィルタである。実際には、幾つかの実施形態では、ハードウェア資源を節約するために、又は他の何らかの理由で、同じハードウェア又は他の処理論理を使用して、フィルタ202と204を実施してもよい。しかしながら、特に、処理速度が重要である場合は、他の実施形態では、メディアン勾配203と205の並行処理を促進するために、複数のフィルタ202、204を実施する異なる組の処理論理を使用する。しかしながら、様々なフィルタが同じである必要はなく、ある特定の実施では、異なる方向において、僅かに(又は、かなり)異なるフィルタ202、204を希望の通りに使用してもよい。任意の種類のハードウェア又は処理論理において、フィルタ202、204が実施され得る。幾つかの実施形態では、他の特徴の処理モジュール114を実施するディジタル処理のハードウェア及び/又はソフトウェアと通信する、共通又は個別の構成可能なゲートアレイにおいて、フィルタ202及び/又は204が希望の通りに実施される。
【0039】
図2は、不具合な画素、及び/又は他の何らかの理由で除去され得る他の望ましくないサンプル値の影響を区別しない、フィルタ202、204を示している。画像処理の応用では、このような望ましくない値は、例えば、「機能しない画素」、「ブリンカ(blinker)」、望ましくない高い雑音レベルを有する画素、及び/又は希望の通りに働かない他の画素を表わす値を含み得る。補償及び/又はフィルタリングから除去され得る他の望ましくない値は、(ターゲットの画像を含み得る)中央の値、コーナの値、又は窓104の周辺における他の値、並びに/或いは窓104の中の他の何らかの値を希望の通りに含んでもよい。図2は、これらの望ましくない値が、フィルタ202、204に与えられたマスク207において識別されることを示しているが、同等の実施形態では、更に又はその代わりに、後処理210のような他の何らかのやり方で、このような値を除去してもよい。値の除去についての更なる詳細は、図3に関連して後述する。
【0040】
フィルタ202、204から(それぞれ)出力された推定勾配値203、205を使用して、窓104の中のサンプル値のうちの幾つか又は全てを任意のやり方で補償してもよい。幾つかの実施形態では、対象のサンプル値の上に推定勾配値203、205を線形に重ねることによって、この補償が行なわれ得る。図2に示されている実施形態では、例えば、加算を行なう合流点(summing junction)208によって示されているように、対象のサンプルの値から、2つの推定勾配203、205を減算するだけである。図2に示されているように、窓104の中のデータサンプルに関連付けられているサンプル値のうちの幾つか又は全てから、推定勾配203、205を減算してもよい。幾つかの実施形態では、検出エリア106に関連付けられている値206のみを十分に補償する必要があるので、これらの値のみを検出機能214で使用する。他の実施形態では、改善された画像の明瞭性のために又は他の何らかの目的のために、窓104の中の他の値を更に補償してもよい。
【0041】
図2は、幾つかの実施形態において提供され得る後処理の特徴210を示している。例えば、後処理は、例えば、追加の線形及び/又は非線形フィルタを適用すること、或いは希望され得る任意の追加の処理を行なうことを含み得る。幾つかの実施形態では、後処理210は、処理されたデータから、雑音バイアス又は他の悪影響を受けたサンプルを識別することを含み得る。例えば、処理されたデータの中で、クラッタオブジェクト108又は他の雑音バイアスが識別された場合に、任意のやり方でバイアスを修正できる。例えば、(図2の加算を行なう合流点212によって示されている)何らかの種類の検出と補償とを通して、或いは、除去される任意のバイアスサンプル値に対してフィルタ202、204(又は、類似のフィルタ)によって行なわれるフィルタリングを繰り返すことによって、結果が修正され得る。更に、閾値でフィルタにかける又はその他同様のことを使って検出するのが困難であり得るクラッタの任意の残留効果を低減するために、任意の除去されたサンプルに隣接しているサンプルを希望の通りに除去してもよい。マスク207を使用して又は他の何らかのやり方で、バイアス値を除去してもよい。
【0042】
他のタイプの後処理210は、サンプル窓114の任意の背景雑音(例えば、勾配の影響を取り除いた後に残っているDC雑音)の数値を求める別の処理を含み得る。(例えば、補償208によって)勾配の影響を取り除いた後で、補償されたサンプルを希望の通りに処理して、補償された値の、平均、モード、順位(例えば、メディアン)、ハイブリッドの平均/メディアン、又は他の推定値を決定してもよい。その結果、この推定値は、任意の局所的な勾配の影響を取り除いた後に窓114の中に存在する背景雑音の推定値を表わすことができる。順位値を決定するために使用され得る技術の一例を、図4に関連して後で説明するが、他の実施形態では、他の順位又は他のフィルタを希望の通りに使用してもよい。様々な実施形態では、フィルタにかけられた背景推定値を決定するために、フィルタ202、204で使用されているのと同じフィルタの1つ以上を使用できるが、他の実施形態では、別の論理又は完全に異なるフィルタを使用してもよい。更に、画像105の解像度を高める、ターゲットの検出を改善する、及び/又はその他同様のことのような任意の目的のために、背景雑音のフィルタにかけられた推定値を使用してもよい。例示的な実施形態では、補償されたサンプル値のうちの幾つか又は全てから、推定の/フィルタにかけられた背景値を減算して、閾値でフィルタにかけること又は他のターゲット検出技術の効果を希望の通りに一層改善し得る。
【0043】
幾つかの実施形態では、他のタイプの後処理は、窓114のエッジ(又は、他の適切な領域)の周りのサンプル値を推定することを含むことができる。多くの従来の空間フィルタは、処理中に境界のサンプルを失うことが分かっているが、背景雑音レベル及び/又は勾配のある背景の推定値を使用して、背景値を推定することができる。背景値を使用して、画像中のエッジ及び/又はコーナの画素の値、或いは希望の通りの他のサンプル値を埋めることができる。幾つかの代わりの実施形態では、多くの他のタイプの後処理が行なわれ得る。更に別の実施形態では、図2に示されている後処理を部分的に又は全体的に除去してもよい。
【0044】
検出エリア106の中のターゲット102の存在を自動的に検出する実施形態では、別の処理機能214がこのような検出を行ない得る。機能214で受信された補償された値から、何らかの背景の階調度の影響は既に取り除かれているので、ターゲットの検出は、単に、補償された値を適切な閾値213と比較することを含み得る。即ち、背景の階調度の影響が取り除かれた後で、対象の値が十分に高い強度を維持している場合は、その値がターゲット102を表わしている可能性が高い。適切な出力215を提供して、ターゲット102の存在及び/又は不存在を希望の通りに示し得る。適切な出力215は、視覚、聴覚、及び/又は触覚のフィードバックを希望の通りに生成する信号を含み得る。他の実施形態では、別の処理ルーチン又はモジュール(例えば、図1における出力モジュール120)に単に電子的に知らせて、別のモジュールがその結果を処理できるようにしてもよい。既に記載したように、他の実施形態では、画像又は他のデータの中のターゲットを必ずしも自動的に検出する又は強調表示せずに、ターゲット102の強調の改善又はさもなければ表示の改善のために、システム200で処理された情報を単に使用して、出力画像の画質を高め得る。
【0045】
図3は、図2に取り入れられているフィルタリング及び補償機能の1つの例示的な実施形態を示している。図3に示されている例は、7×7の窓104の垂直方向における勾配を推定する技術を示している。この特徴を使用して、上述のフィルタ202及び/又は204の何れかのようなランクオーダフィルタを実施することができる。しかしながら、図3に取り入れられている概念は、異なる形状又は寸法の窓104に等しく適用可能であり、水平方向において(例えば、図2の他方のフィルタ202/204に対して)十分に等しく適用され得る。既に記載したように、図3に示されているフィルタリング技術を、画素データに加えて、他のタイプのデータに同等に適用できる。
【0046】
図3に示されているように、窓104の中の様々な画素(又は、他のサンプル)の各々は、関連付けられた値305を有している。関連付けられた値305は、論理的に行305A−Gに配置されていることが示されている。(水平方向における勾配を処理する実施形態は、行ではなく、列の値305を単に検討する。列の値305は、値305を概念上90度回転させたものに似ている)。図3における各行305A−Gは、窓104の中の一行のサンプルに関連付けられた複数の値を含んでいる。任意の適切なやり方でこれらの値を予め処理してフィルタにかけて、窓104の一方の側部から他方の側部への値の勾配を推定してもよい。この例では、行305Aから行305Gに向かって強度が増す場合に、勾配は正(positive)であると一般に考えられる。他の実施形態では、同等の結果を有する他の符号規約を希望の通りに使用してもよい。
【0047】
ある特定の値305を希望の通りに除去してもよい。例えば、中央の行305Dの値を除去して、後の処理のために、偶数の行305A−Gを生成する、及び/又は窓104の中の検出エリア106から値を除去してもよい。検出エリア106は、ターゲット102が存在する場合に、著しく高い強度を含んでいるかもしれず、エリア302D内の他の値を同様に希望の通りに除去して、検出エリア106からのサンプルを検討することを回避してもよい。更に、他の何らかの値、例えば、不具合なサンプルに対応する任意の値を除去してもよい。例えば、値302Bに対応する画素が、「明滅している」、「動かない」、「機能しない」、又はさもなければ、不具合であることが分かった場合に、値302Bを更なる分析から除去することが望ましいかもしれない。幾つかの実施形態では、除去されるべきある特定の値の位置を示すために、マスク302をかけてもよい。このマスク302は、不具合のために除去される任意の画素又は他のサンプル(例えば、上述の例における値302B)、処置又はアルゴリズムによる検討により除去される任意の値(例えば、値302A及び/又は302D)、並びに/或いは希望の通りに除去される他の何らかの値を含み得る。更に、幾つかの実施形態で適用され得る(後述でより十分に説明される)対称性のために、不具合な又はさもなければ除去されたサンプルと共に処理されたであろう他の値を除去することが望ましいかもしれない。例えば、何らかの理由、即ち、偶数の値を維持して、以下で計算される様々なサンプル値に対する適切な重み付けを維持するという理由で、値302Bが除去された場合に、更に、値302Cを除去することが望ましいかもしれない。他の実施形態では、コーナのサンプル、即ち、クラッタ又は他の望ましくない値に対応することが分かっているサンプルからの値、或いは次の分析を使用して、除去されたサンプルと対にされたであろう任意のサンプルの値を除去してもよい。
【0048】
マスクされる又はさもなければ除去されるサンプルは、任意のやり方で処理され得る。幾つかの実施形態では、処理論理において、サンプルが更なる処理に適しているか又は適していないかを示すビット又は他のフラグを使用して、不具合な又はさもなければ除去されるサンプルを識別することができる。その代わりに、そのサンプル値を使用して後の処理をすることを禁止するラベル(例えば、「非数(Not a Number, NAN)」)又は他の識別子を与えてもよい。これは、除去されるサンプルと共に処理されたであろう任意のサンプルを自動的に除去する効果を有する。即ち、幾つかの実施形態において、処理論理が、マスクをかけられた値302Bに関わる全ての計算を他の値と組み合わせて単に無視できるならば、302Cのような特定の値を別個に識別又は除去する必要がないかもしれない。ここでも、サンプル値は任意のやり方で除去され得る。
【0049】
値305のうちの幾つか又は全ては、グループ化されるか、或いはさもなければ、任意のやり方で他の値305と組み合わされ得る。図3の例では、値305の多くは、推定される勾配の方向において窓104の中心から等距離にある他の値と対にされる。例えば、垂直方向の勾配を計算するときに、値307Aと307Gとを互いに対にすることができる。その理由は、これらの値は、中央の行305Dから等距離にあり、互いから垂直方向に変位しているからである。同様に、値309Bと309Fとを対にすることができ、値311Cと311Eとを対にすることができる。この例によると、任意の論理的なやり方で、対にすることが行なわれ得る。図3の実施形態では、単に、2つの変位値における差を計算して、窓104の中の変位部分にわたる値の変化を決定することによって、値を対にしている。例えば、差ブロック304Aは、行305Cの中の値と行305Eの中の値とを比較できることを表している。同様に、差ブロック306Bは、行305Bの中の値と行305Fの中の値との比較を表している。ブロック306Cは、305Aの中の値と305Gの中の値との比較を表している。従って、この例では、分析される各画素値305と、窓104の中の対応する変位画素に関連付けられた別の画素値305とが、対にされる。
【0050】
他の実施形態では、上述の例示的な技術と異なる他の何らかのやり方で、サンプル値をグループ化してもよい。幾つかの実施形態では、3つ以上のサンプル値を組み合わせてもよい。更に、選択されて組み合わせられた特定のサンプル値を、何らかのやり方で組み合わせてもよい。例えば、中心線から等距離のサンプルの対を選択するのではなく、他の実施形態では、サンプル間の一貫した距離を維持する、互い違いに配置されたサンプル値を組み合わせてもよい。例えば、行305Aの値を行305Eの値と共に処理することができ、一方で、行305Bの値を行305Fの値と共に処理して、行305Cの値を行305Gの値と共に処理する。この方式は、サンプル間の一貫した距離を維持して、それによって、その後の正規化の必要を軽減するであろう。他の方式では、幾つかのサンプル値の任意の組み合わせを含むオーバーラップした(又は、オーバーラップしていない)グループ化を使用してもよい。更に、このようなグループを、他のグループと比較するか、又は希望の通りに処理してもよい。図3に示されているオフセットした画素は、互いに整列しているが、異なる実施形態では、対象の方向において変位しているが、互いに正確に整列していない値、又は互い違いに配置された値のグループ化について検討してもよい。更に、窓114内のサンプルの全てを処理すること、又は、定められた方向の勾配の1つの推定においてのみ、定められたサンプルを数えることは、必ずしも必要ではない。従って、多くの一連の同等の実施形態の全体で、幾つかのサンプル値をグループ化する多くの異なる代わりの技術が生成され得る。
【0051】
更に、組み合わされた値間の差を、(例えば、機能ブロック304A−Cを使用して)概念的に又は論理的にスケーリングして、比較値の異なるサンプル数を調整して、それによって様々な計算値を正規化してもよい。例えば、機能304Cからの異なる結果を、この例では6によって除算して、行305Aと305Gとの間における6サンプルの距離を反映する。304Bからの結果を4によって除算して、行305Bと305Fとの間の4サンプルの距離を反映する。304Aからの結果を2によって分割して、行305Cと305Eとの間の2サンプルの距離を反映する。従って、結果として得られたスケーリングされた値308は、サンプルごとに正規化されたサンプル値の変化の様々な測定を反映しているので、対象の方向における1サンプル当たりの平均勾配を表す。画像データを表わすデータセットについて、例えば、スケーリングされた値308は各々、対象の方向における1画素当たりの強度の平均的な変化を表わし得る。以下で更に十分に説明されているように、これらの正規化された値は、互いに比較され、フィルタにかけられ、及び/又はさもなければ、希望の通りに処理され得る。更に、幾つかの実施形態では、スケーリング又は他の正規化は必要ないかもしれない。例えば、サンプル値を、互い違いに配置された他のサンプル値と比較して(又はさもなければ、処理して)、処理された値の全てが等距離を反映している場合は、更なる正規化は必要ないかもしれない。
【0052】
効果的な実施形態において使用される実際の計算は、図3に示されるものと異なり得る。例えば、実際には、異なる値を公倍数(例えば、図3の例では、12又は24)にスケーリングして、結果として得られたスケーリングされた値の各々を同じ値によって除算できるようにするのが、より容易であるかもしれない。このために、行305Cと305Eとの差を12によって乗算して、行305Bと305Fとの差を6によって乗算して、305Aと305Gとの差を4によって乗算して、次に、得られた結果の各々を、24である共通の値によって除算することによって、機能304A−Cにおける異なる値を「スケーリングすること」と同等のことを行うことができる。実際には、これは、図3に示されている除算器よりも、ディジタル論理(例えば、CGA、ASIC、又はディジタルソフトウェア)においてはるかに実施し易く、より効率的な計算をもたらし得る。従って、幾つか同等の効果的な実施では、図3に示されている論理プロセスを変更してもよい。
【0053】
従って、勾配推定値308は、対象の方向における勾配測定値の様々なサンプルを表わす。これらのサンプルを希望の通りに更に処理してもよい。図3の例では、推定値308は、正規化された勾配の17個のサンプルを含む。これは、各組が7個の対にされた異なる値から成る3つの組から、障害サンプル302Bに対応する値313Aと、窓104の中の検出エリア106からの値302Dに対応する3つの値313Bとを除去したものに相当する。その代わりに、様々な同等の実施形態では、異なる値313A、313B、及び/又はその他同様のものを、更なる処理から単に除去することによって、値305に適用されたマスク302を、処理された値に適用してもよい。即ち、障害のある又はさもなければ望ましくない画素からのデータが、任意の処理段階から除去され得る。
【0054】
従って、非線形フィルタ310を適宜に使用して、残りの勾配推定値308の各々を処理することができる。図3に示されている実施形態では、非線形フィルタ310は、勾配推定値308の順位(例えば、メディアン)値312を抽出するだけである。得られた様々なサンプルの順位の結果の中に、極端な値(例えば、クラッタポイント108から得られた値)がある可能性は低い(即ち、任意の極端な値は、順位の計算に含まれないアウトライアになる傾向がある)ので、この非線形フィルタ310は、極端な値の影響を適切に妨げる。この例におけるサンプル308の各々は、複数の値305に基づいて計算された平均勾配値を表すので、処理された値308から得られたメディアン値312は、フィルタ310が値305自体を単に処理した場合よりもはるかに正確である可能性が高い。従って、図3の処理方式300は、勾配のある背景及び/又は窓104の中のクラッタポイント108の悪影響を適切に軽減又除去する。
【0055】
結果として得られた勾配推定値312を使用して、窓104の中のサンプル値を希望の通りに補償することができる。図3に示されている実施形態では、推定勾配を適切な値315によってスケーリングすることができ、結果として得られたスケールファクタ314を、対応するサンプルの値に加算することができる。この例では、勾配推定値312は、中央の行305Dから計算されたサンプル当たりの平均勾配を表わすので、中央の行305Dから遠く離れている値は、中央の行305Dにより近い値よりも、スケーリング量がより大きくなる。従って、図3に示されている値315は、サンプルが中央の行305Dよりも大きいか又は小さいかを示す符号を有する、サンプルが中央の列305Dよりも大きい又は小さいサンプルの数に基づく係数によって、勾配推定値312を乗算する。(例えば、より大きな垂直値からより小さな垂直値を減算する)機能304A−Cで使用されている符号規約に基づいて、図3に示されている値315が決定されるが、異なるスケーリング値及び/又は符号規約を使って、同等の実施形態を希望の通りに生成できるであろう。
【0056】
スケーリングされた値は、全ての値305に対して必ずしも計算されない。幾つかの実施形態では、窓104の中の検出エリア106に対応する値302Dのみについて、スケーリングされた値を決定してもよい。従って、幾つかの実施形態では、関連するスケールファクタ314を計算するために、スケーリングファクタ315のサブセット317のみが必要であり得る。
【0057】
対象の関連する画素のスケールファクタ314Aは、画素に関連付けられている値305から希望の通りに単純に減算され得る。様々な実施形態では、線形フィルタに通常関連付けられている重ね合せの特性を使用して、(他の方向の勾配に対応する)複数のスケールファクタ314A−Bを加算(又は、減算)できることに留意すべきである。即ち、推定されてスケーリングされた勾配は、その特定のサンプルに対して適宜に減算され、補償された値316は観測値305を反映し得る。従って、ターゲット102の存在を検出するために、画像105の画質を高めるために、及び/又は他の目的のために、補償された値316が使用され得る。
【0058】
図4は、データサンプルの入力リストから順位値を決定する例示的なプロセス400を示している。プロセス400は、非常に効率化が図られる数の論理ゲートを使用して、ハードウェアで容易に実施できる技術か、或いはソフトウェア又はファームウェアで希望する通りに効率的に実行できる技術について説明している。図4に説明されている特定の技術400は、フィルタリング又は画像処理に関連する勾配値又は他の結果を計算することに必ずしも制限されず、それとは対照的に、順位値が望ましい何らかの応用において、プロセス400を使用できる。逆に、プロセス400が、スケーリングされた値308及び/又は値305(図3)から勾配推定値を計算する非常に効率的なやり方を提供する一方で、上述の非線形フィルタ202、204、及び/又はプロセス300の他の実施形態は、プロセス400以外の技術を使用して希望の通りに実施してもよい。従って、プロセス400は、勾配フィルタ202及び/又は204の幾つかの実施において使用され得る順位値を計算する技術の一例を示している。更に、(例えば、後処理210における)補償されたサンプル値から背景/雑音のメディアン値を決定する画像処理に関連して、又は他の目的のために、プロセス400を使用することができる。ここに記載されている画像処理技術の他の実施形態では、プロセス400以外の、順位値を計算する他の何らかの技術を使用してもよく、プロセス400は、ここに明確に記載されている画像処理及びフィルタリング技術よりも広範に応用される。一般に、図4に示されているプロセス400は、符号付きの値ではなく、オフセットしたサンプル値と共に使用され得る。図4に示されている例と異なり得る他の実施形態において、符号付きの値又は他の値を処理する同様の技術が生成され得る。
【0059】
図4に示されているように、1つ以上の順位値を適切に決定するプロセス400の一例は、概略的なステップ、即ち、更なる処理のために依然として「有効(in play)」であるサンプルを識別するために、サンプルの各々を初期設定するステップ(機能402)と、望ましい値の望ましい順位を識別するステップ(機能404)とを含んでいる。より十分に後述するように、望ましいサンプルを識別するために、サンプル中のビットの各々に対してビット分析ルーチンを繰り返す(機能406−420)。幾つかの実施形態では、繰り返される段階406−420を同時に実行するために容易にパイプライン型にして、比較的に効率的なハードウェア又はソフトウェアによる実施を行なってもよい。即ち、並列のハードウェア、ソフトウェア、及び/又は他の論理を使用して、ループ406−420の様々な反復を少なくとも部分的に同時に実行して、比較的に素早く結果を得られるようにしてもよい。
【0060】
プロセス400は、ある特定の値を初期設定することによって開始する。例えば、機能402は、「有効」として処理されるサンプル値を最初に識別する。この意味で「有効」は、サンプルが望ましいランクよりも高いか又は低いかについてまだ決定されていないことを反映しているだけであるので、このサンプル値に対する更なる処理が必要であるもしれない。様々な実施形態において、「有効」のサンプルは、意図的に除去される任意のサンプルを除去できる。例えば、欠陥のある画素に関連付けられたサンプル値が最早「有効」ではないと単に示すことによって、窓104の中の欠陥のある画素から得たサンプルを容易に除去できる。同様に、マスク302又はその他同様のものにより除去される他の値(例えば、図3の値313)を、「無効」として最初に識別して、更なる処理からこれらの値を希望の通りに除去することができる。サンプルに関連付けられたビット又は他のフラグを単に適宜に設定する(又は、クリアする)ことによって、サンプルは「有効」として示され得る。
【0061】
更に、初期設定は、望ましい値の順位を決定すること(機能404)を含み得る。様々な実施形態では、望ましい値の順位は、単に、順序付きリストの中の中央のメディアン値(例えば、サンプルを17個含むリストの中の8番目のサンプル)である。これは、処理されるサンプルの数を単に数える(処理から除去される任意の値、例えば、マスク302によって除去される何らかの「機能しない画素」又は他の値を、適宜に無視する)ことによって、容易に決定できる。処理されるこのサンプルの数は、最初に有効であるサンプルの数に希望の通りに対応し得る。幾つかの実施では、偶数のサンプルが存在する場合に、(例えば、クラッタポイント又はその他同様のものによって生成された任意の上向きバイアスを調整するために)メディアンの順位は2つの中央値のうちの小さい方であると最初に仮定され得る。その代わりに、大きい方の値が使用される場合もあり、或いは、2つの中央値を平均する又はさもなければ希望の通りに処理する場合もある。幾つかの代わりの実施形態では、得ようとしている順位の表示を使用してもよい。即ち、プロセス400は、メディアン値の計算に制限されず、望ましい何らかのランクを識別するために使用され得る。更に、望ましい各ランクが、1組の関連する「有効」フラグを有していて、順位レジスタに関連付けられている場合に、プロセス400を使用して、複数のランク値を同時に識別してもよい。
【0062】
サンプル値を表わすために使用されるディジタルビットの各々に対して、機能406−420を適切に繰り返す。サンプルが16ビットの値によって表わされる場合に、例えば、機能406−420を含むループは、各ビットに1回ずつ、16回繰り返され得る。任意の特定の反復中に検討されるビットを、「アクティブなビット」と称する。他の実施形態では、単に、最上位のビット(例えば、最上位の8ビット)に対して、又は他の何らかのやり方で、プロセスを実行し得る。
【0063】
ループ406−420の各反復の最初に、有効であり且つ第1の値に等しいアクティブなビット値を有するサンプル数を数える(機能406)。図4に示されている例では、「第1の値」はロジックロー(「0」)の値であるが、対象のビットと、ロジックハイ(「1」)の値とを比較する他の実施形態が同等に生成され得る。このような場合に、値のリストの反対側から、ランクの意味が特定され得る。及び/又は、更に、他の修正も行なわれ得る。
【0064】
次に、この総数406と望ましい順位とを比較して、望ましいサンプルにおけるアクティブなビットの値を決定する(機能408)。第1の値に等しいアクティブなビットを有する有効サンプルの数が、望ましい順位の数を超えている場合は、望ましいサンプルにおけるアクティブなビットの値は、第1の値に等しくしければならない(機能410)。逆に、第1の値に等しいアクティブなビットを有する有効サンプルの数が、望ましい順位の数よりも少ない場合は、望ましいサンプルにおけるアクティブなビットの値は、第1の値の逆、即ち、図4に示されている「1」でなければならない(機能414)。
【0065】
更に、望ましい値のアクティブなビットと異なるアクティブなビットを有するサンプルは、最早有効ではないとして特定される(機能412、416)。例えば、望ましいサンプルのアクティブなビットは「0」であると決定されているので、図4に示されている機能412では、「1」に等しいアクティブなビットを有するサンプルは、最早有効ではないと扱うことができる。同様に、望ましいサンプルは「1」に等しいアクティブなビットを有すると決定された後で、図4に示されている機能416は、「0」に等しいアクティブなビットを有する任意のサンプルの「有効」の設定を変更する。従って、ループ408−420の次の反復は、最早有効ではないとフラグを立てられたサンプルについて検討する必要がないので、計算を速める。
【0066】
更に、図4に示されている実施形態では、機能416において「無効」に変えられた任意のサンプルを補うために、望ましい値の順位を調整してもよい(機能418)。この調整は、依然として有効であるサンプル内の望ましい値の位置を反映する。図4は、機能404で決定された順位値を調整する機能418を示しており、一方で、同等の実施形態では、比較408と調整機能418における順位を表わすのに異なる変数を使用して、最初に決定された順位を後の処理のために取っておくことができるようしてもよい。様々な実施形態では、例えば、失効とされた各サンプル値が、望ましいランクよりも高い又は低いと見なされるか否かを追跡するために、追加のビット又は他のフラグを追加する場合がある。このような実施形態では、この追加のフラグによって、機能418における順位を調整する必要が無くなり得る。
【0067】
幾つかの同等の実施形態では、図4に示されている個々の論理値を直ぐに切り換えても、又はさもなければ、論理的に調整してもよい。例えば、幾つかの実施形態は、機能408に示されている「大なり(greater-than)」の比較を「小なり(less than)」の比較に直してもよい。この場合に、図示されているように、機能414と416ではなく、機能410と412とに関連して、調整機能418が行なわれ得る。多くの異なる論理的に同等なものが、希望の通りに生成され得る。
【0068】
望ましいビットを全て処理した(機能420)後で、望ましい値が希望の通りに出力され得る(機能422)。幾つかの実施では、プログラミング関数、ルーチン、又は他の手順から返された引き数として、望ましい値が出力され得る。その代わりに、他の実施では、望ましい値がラッチされ得るか、又はさもなければ、有線ディジタル論理回路(例えば、CGA、ASIC、等)から出力され得る。他の実施形態は、希望の通りに、任意の種類のハードウェア、ソフトウェア、ファームウェア、及び/又は他の論理を使用する任意のフォーマットで、出力値を提供し得る。
【0069】
一般的に言って、任意のコンピューティング環境で実行されるコンピューティングハードウェア、ファームウェア、及び/又はソフトウェアによって、システム200と、プロセス300、400とにおける様々なステップの各々が行なわれ得る。例示的な実施形態では、これらのプロセスのうちの幾つか又は全ては、(取得モジュール112及び/又は出力モジュール120と共に、或いは単独で実行される)処理モジュール114に関連付けられているソフトウェア命令で実施され、これは、メモリ118又は他の何らかの大容量記憶装置に記憶され、且つプロセッサ116上で実行され得る。他の実施形態は、希望に応じて、専用の処理ハードウェア、ファームウェア、及び/又他の手段、例えば、希望に応じて、任意の種類の共通ゲートアレイ、ASIC、或いは他のプログラムド又はプログラマブルディジタル論理において実施され得る。例えば、図2−4に記載されている技術は、例えば、幾つかの実施形態においてCGA構造を使用して、非常に効率的に実施され得る。特に、CGA構造が、利用されているルックアップテーブルの容量を有する場合は、図4に示されているランクオーダフィルタは、CGA構造で非常に効率的に実施され得る。
【0070】
従って、データを処理する様々なシステム及び技術が記載されている。既に記載したように、最初に、画質の向上、ターゲット/オブジェクトの認識、信号処理、フィルタリング、及び/又は適宜に他の恩恵のために、軍用、産業用、商用、私用、又は他の設定において、これらの技術とシステムは様々に適用され得る。ここに記載されている様々な例から、幾つかの修正と拡張ができるであろう。例えば、一次の変更を計算するためにここに記載されている分解と他の概念とを、二次、三次、又はより高い次数の変更にも容易に適用できるであろう。
【0071】
ここで使用されているように、「例示的」という用語は、本明細書において“例、事例、または実例としての役割を果たす”ことを意味している。「例示的な」実施形態は、文字通りに複製されるモデルを意図しているのではなく、むしろ、他の実施形態を生成するために任意のやり方で修正又は変更され得る実施形態の事例を提供する例を意図している。「例示的」としてここに記載されている実施は、他の実施よりも好ましい又は有利であるとして必ずしも解釈されない。
【0072】
上述の詳細な説明は、本発明の様々な実施形態を実施するための便利な指針を当業者に提供しているが、上述の個々の実施形態は、単に例であって、本発明の範囲、適用性、又は構成を制限することを意図していないことが分かるであろう。本発明の範囲と、本発明と法律上同等のものから逸脱することなく記載されている要素の機能と構成を、様々に変更してもよい。

【特許請求の範囲】
【請求項1】
各画素が画素値に関連付けられている、複数の画素を有する画像中のターゲットを自動的に識別するディジタル処理論理によって実行可能な方法であって、
前記画像中の前記複数の画素から成るサブセットを選択するステップと、
前記ディジタル処理論理で実施される第1のランクオーダフィルタを使用して、前記サブセット中の前記画素のうちの少なくとも幾つかの画素の画素値に基づいて、前記画像の第1の方向における画素値の第1の勾配を決定するステップと、
前記ディジタル処理論理によって実施される第2のランクオーダフィルタを使用して、前記サブセット中の前記画素のうちの少なくとも幾つかの画素の画素値に基づいて、前記画像の第2の方向における画素値の第2の勾配を決定するステップと、
前記ディジタル処理論理において、前記第1の勾配と前記第2の勾配とを使用して、前記複数の画素のうちの少なくとも幾つかの画素の前記値を補償して、複数の補償された値を生成するステップと、
前記ディジタル処理論理によって、前記補償された値を処理して、前記複数の画素のうちの少なくとも1つ画素中に、前記ターゲットが存在するかどうかを決定するステップと、
前記ターゲットが存在するかどうかを示す出力を前記ディジタル処理論理から提供するステップと、
を含む方法。
【請求項2】
前記第1のメディアン勾配を決定するステップは、
前記画素のうちの前記少なくとも幾つかの画素の各々を対にして、複数の画素対を生成するステップを含み、
前記画素のうちの前記少なくとも幾つか画素の中の各第1の画素は、前記画素のうちの前記少なくとも幾つかの画素の中の別の画素と対にされ、
前記別の画素は、前記第1の画素から前記第1の方向において変位している、請求項1の方法。
【請求項3】
前記第1のメディアン勾配を決定するステップは、
前記画素対の各々に対して、前記第1の画素に関連付けられている画素値と、前記別の画素に関連付けられている画素値との差を計算するステップを含む、請求項2の方法。
【請求項4】
前記第1のメディアン勾配を決定するステップは、
前記画素対の各々に対して、前記計算された差をスケーリングするステップを更に含む、請求項3の方法。
【請求項5】
前記第1のメディアン勾配を決定するステップは、
前記画素対の各々に対して、前記画像中の前記第1の画素と前記別の画素との間の距離に基づく値を使用して、前記計算された差をスケーリングして、画素毎の平均勾配を表す勾配推定値を決定するステップを更に含む、請求項3の方法。
【請求項6】
前記第1の勾配を決定するステップは、
前記ディジタル処理論理によって、前記画素対の各々に対して計算された前記勾配推定値の順位値を決定するステップを含む、請求項5の方法。
【請求項7】
前記ディジタル処理論理において、前記勾配推定値の各々は、第1の値又は逆の値の何れかを有するディジタルビットの数によって表され、
前記勾配推定値の順位値を決定するステップは、
勾配推定値の合計数に基づいて、前記勾配の望ましい順位を決定するステップと、
前記ディジタルビットのうちの各アクティブなビットに対して、
有効であり且つ前記第1の値に等しい前記アクティブなビットの値を有する、勾配推定値の数を数えて、
総数が前記望ましい順位以上である場合は、前記順位値の次のビットとして前記第1の値を提供して、前記逆の値に等しい前記アクティブなビットの値を有する前記勾配推定値の各々を、最早有効でないとみなし、
総数が前記望ましい順位未満である場合は、前記順位値の次のビットとして前記逆の値を提供して、前記第1の値に等しい前記アクティブなビットの値を有する前記勾配推定値の各々を、最早有効でないとみなして、前記勾配の前記望ましい順位を調整して、最早有効でない前記勾配推定値を補うステップと、
を含む、請求項6の方法。
【請求項8】
前記第1の勾配を決定するステップは、
前記画素のうちの前記少なくとも幾つかの画素の各々をグループ化して、画素の第1のグループを生成するステップを含み、
前記画素のうちの前記少なくとも幾つかの画素中の各第1の画素は、前記画素のうちの前記少なくとも幾つかの画素中の別の画素とグループ化され、
前記別の画素は、前記第1の画素から前記第1の方向において変位しており、
前記第2の勾配を決定するステップは、
前記画素のうちの前記少なくとも幾つかの画素の各々をグループ化して、第2の複数の画素グループを生成するステップを含み、
前記画素のうちの前記少なくとも幾つかの画素中の各第1の画素は、前記画素のうちの前記少なくとも幾つかの画素中の第2の画素とグループ化され、
前記第2の画素は、前記第1の画素から前記第2の方向において変位している、請求項1の方法。
【請求項9】
前記第1の勾配を決定するステップは、
第1と第2の画素対の各々に対して、
前記画素値間の差を計算して、
前記第1の画素と前記別の画素との間の距離に基づく値を使用して、前記計算された差をスケーリングして、画素毎の平均勾配を表す勾配推定値を決定するステップ、
を含む、請求項8の方法。
【請求項10】
前記第1の勾配を決定するステップは、
前記第1のランクオーダフィルタによって、前記第1の画素対の各々に対して計算された前記勾配推定値の全てから、前記第1の方向におけるメディアン勾配を決定するステップを含み、
前記第2の勾配を決定するステップは、
前記第2のランクオーダフィルタによって、前記第2の画素対の各々に対して計算された前記勾配推定値の全てから、前記第2の方向におけるメディアン勾配を決定するステップを含む、請求項9の方法。
【請求項11】
前記補償するステップは、
前記サブセット中の前記画素の各々に対する前記画素値について、前記第1の勾配の影響と第2の勾配の影響とを重ね合わせるステップと、
前記補償された画素値から背景値の推定値を決定するステップと、
前記背景値に基づいて、前記複数の画素のうちの前記少なくとも1つの画素を更に補償するステップと、
を含む、請求項1の方法。
【請求項12】
前記補償するステップは、
前記画素のうちの前記少なくとも幾つかの画素中の各画素に対して、前記画素に関連付けられている前記画素値から、前記第1の勾配と前記第2の勾配とを減算するステップを含む、請求項1の方法。
【請求項13】
前記サブセット中の前記画素のうちの前記少なくとも幾つかの画素を選択して、任意の望ましくない画素を除去するステップを更に含む、請求項1の方法。
【請求項14】
各サンプルがサンプル値に関連付けられている、複数のサンプルを有するデータセット中のターゲットを自動的に識別するディジタル処理論理によって実行可能な方法であって、
前記データセット中の前記複数のサンプルから成るサブセットを選択するステップと、
前記ディジタル処理論理を用いて、ランクオーダフィルタを使用して、前記サブセット中の前記サンプルのうちの少なくとも幾つかのサンプルのサンプル値に基づいて、第1の勾配を決定するステップと、
前記ディジタル処理論理を用いて、前記第1の勾配を使用して、前記サブセット中の前記複数のサンプルのうちの少なくとも幾つかのサンプルの前記サンプル値を補償して、複数の補償された値を生成するステップと、
前記ディジタル処理論理を用いて、前記補償された値を処理することによって、前記複数のサンプルのうちの少なくとも1つのサンプル中に、前記ターゲットが存在するかどうかを決定するステップと、
を含む、方法。
【請求項15】
前記第1の勾配は、第1の方向において決定され、
前記方法は、
前記ディジタル処理論理を用いて、第2のランクオーダフィルタを使用して、前記データセット中の前記サンプルのうちの少なくとも幾つかのサンプルのサンプル値に基づいて、前記データセットの第2の方向における第2の勾配を決定するステップを更に含む、請求項14の方法。
【請求項16】
前記第1の勾配を決定するステップと、前記第2の勾配を決定するステップとの各々は、
前記データセット中の2つのサンプルの前記値の差に基づいて、各々、複数の勾配推定値を計算するステップを含み、
前記ディジタル処理論理において、前記勾配推定値の各々は、各々が第1の値又は逆の値の何れかを有するディジタルビットの数によって表わされる、請求項15の方法。
【請求項17】
前記第1の勾配を決定するステップと、前記第2の勾配を決定するステップとの各々は、
勾配推定値の合計数に基づいて、前記勾配の順位を決定するステップと、
前記ディジタルビット中の各アクティブなビットに対して、
有効であり且つ前記第1の値に等しい前記アクティブなビットの値を有する、勾配推定値の数を数えるステップと、
総数が前記順位以上である場合は、前記勾配の次のビットとして前記第1の値を提供して、前記逆の値に等しい前記アクティブなビットの値を有する前記勾配推定値の各々を、最早有効でないとみなし、
総数が前記順位未満である場合は、前記勾配の次のビットとして前記逆の値を提供して、前記第1の値に等しい前記アクティブなビットの値を有する前記勾配推定値の各々を、最早有効でないとみなして、前記勾配の前記順位を調整して、最早有効でない前記勾配推定値を補うステップと、
を含む、請求項16の方法。
【請求項18】
各サンプルがサンプル値を有する、複数のサンプルを含むデータを処理する、コンピュータを利用したシステムであって、
前記コンピュータを利用したシステムは、
前記データを含む少なくとも1つのデータセットを受信するように構成されている取得モジュールと、
第1のランクオーダフィルタと第2のランクオーダフィルタとを含む処理モジュールと、
ここで、前記処理モジュールは、
前記複数のサンプルのサブセットを選択し、
第1のランクオーダフィルタを使用して、前記サブセット中の前記サンプルのうちの少なくとも幾つかのサンプルから成るサンプル値に基づいて、前記サブセットの前記第1の方向における第1の勾配を決定し、
第2のランクオーダフィルタを使用して、前記サブセット中の前記サンプルのうちの少なくとも幾つかのサンプルのサンプル値に基づいて、前記サブセットの前記第2の方向における第2の勾配を決定し、
前記第1の勾配と前記第2の勾配とを使用して、前記サブセット中の前記複数のサンプルのうちの少なくとも幾つかのサンプルの前記値を補償して、複数の補償された値を生成し、
前記サンプルのうちの少なくとも1つサンプル中に、ターゲットが存在するかどうかを、前記補償された値に基づいて決定するように構成されている、
前記ターゲットが存在するかどうかを示す出力を提供するように構成されている出力モジュールと、
を具備する、コンピュータを利用したシステム。
【請求項19】
前記処理モジュールは、
複数の勾配推定値を計算することによって、前記第1の勾配と前記第2の勾配とを決定するように更に構成されていて、
前記複数の勾配推定値の各々は、前記画像中の2つのサンプルの前記サンプル値の差に基づいている、請求項18のシステム。
【請求項20】
前記処理モジュールは、前記サンプルのうちの前記少なくとも幾つかのサンプルを選択して、機能を果たさない任意のサンプルを除去するように更に構成されている、請求項18のシステム。
【請求項21】
前記第1のランクオーダフィルタと前記第2のランクオーダフィルタとのうちの少なくとも一方は、構成可能なゲートアレイにおいて実施される、請求項18のシステム。
【請求項22】
前記第1のランクオーダフィルタと前記第2のランクオーダフィルタのうちの少なくとも一方は、メディアンフィルタを含む、請求項18のシステム。
【請求項23】
前記第1の勾配と前記第2の勾配とを、前記サブセット中の前記サンプルの各々に対する前記値に重ね合わせることによって、前記値を補償するように構成されている、請求項18のシステム。
【請求項24】
前記処理モジュールは、
前記第1の勾配と前記第2の勾配とを前記画素値に重ね合わせた後で、背景レベルを推定して、次に、前記画素のうちの前記少なくとも幾つかの画素の各々に対する前記画素値から前記推定背景レベルを減算することによって、前記値を補償するように更に構成されている、請求項23のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2013−509641(P2013−509641A)
【公表日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2012−536801(P2012−536801)
【出願日】平成22年6月25日(2010.6.25)
【国際出願番号】PCT/US2010/040071
【国際公開番号】WO2011/053394
【国際公開日】平成23年5月5日(2011.5.5)
【出願人】(503455363)レイセオン カンパニー (244)
【Fターム(参考)】