(57)【特許請求の範囲】
【請求項１】
探索パターン（７１１）を含む画像（７１０）を受信し、スケーリングファクタに従って前記受信された画像（７１０）をスケールするよう構成された、画像スケーラ（７０２）と、
前記受信されかつスケールされた画像の複数のコピー（７１０'〜７１０'''''''''）を含む一覧画像（７１２）を生成するよう構成された画像生成部（７０４）であって、各コピーは異なるスケーリングファクタによってスケールされており、前記生成は、前記一覧画像（７１２）を形成するために、前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）を編集すること、及び前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）を前記一覧画像（７１２）の画像行列内に配置することを含み、前記画像生成部（７０４）は、前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）について、前記一覧画像（７１２）内の前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）間のギャップ、及び前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）と前記一覧画像（７１２）の1つ以上の境界とのギャップを考慮しながら、前記一覧画像（７１２）内のそれぞれの位置を計算することを含む、画像生成部（７０４）と、
並列アーキテクチャを有するＦＰＧＡ上に実装され、所定パターンと前記一覧画像（７１２）内の前記受信され又はスケールされた画像の複数のコピー（７１０'〜７１０'''''''''）とを比較し、前記探索パターンと前記所定パターンとの一致度が最大になる、前記一覧画像内の位置に関する情報を出力するよう構成されたパターンファインダ（７０６）であって、前記位置は前記受信されかつスケールされた画像のそれぞれのコピー（７１０'〜７１０'''''''''）に関連しており、前記パターンファインダ（７０６）は、関与する全てのスケールされた画像のコピーを一括して単一ステップで探索する、パターンファインダ（７０６）と、
を含む２Ｄ画像分析装置（７００）。
【請求項２】
請求項１に記載の２Ｄ画像分析装置（７００）において、スケールされた画像の各コピー（７１０'〜７１０'''''''''）は、個々のスケーリングファクタにしたがって、前記一覧画像（７１２）内のそれぞれの位置に割り当てられている、２Ｄ画像分析装置。
【請求項３】
請求項１又は２に記載の２Ｄ画像分析装置（７００）において、前記それぞれの位置は、前記一覧画像（７１２）における前記スケールされた画像のコピー（７１０'〜７１０'''''''''）間のギャップ、前記スケールされた画像のコピー（７１０'〜７１０'''''''''）の前記一覧画像（７１２）における1つ以上の境界とのギャップ及び／又は他の所定の条件を考慮する、アルゴリズムによって計算可能である、２Ｄ画像分析装置。
【請求項４】
請求項１〜３のいずれか１項に記載の２Ｄ画像分析装置（７００）において、前記パターンファインダ（７０６）は１つ以上の特徴を変換するための特徴変換部と分類部とを有し、前記分類部は前記一覧画像（７１２）におけるパターンを分類するか、又は前記特徴変換部によって特徴空間へと変換された前記一覧画像（７１２）における１つのパターンを分類するよう構成されている、２Ｄ画像分析装置。
【請求項５】
請求項４に記載の２Ｄ画像分析装置（７００）において、前記特徴変換部は特徴を抽出するよう構成され、その特徴変換は、ハフアルゴリズム、センサスアルゴリズム、勾配アルゴリズム、ヒストグラムベースのアルゴリズム、及び／又は相関ベースのアルゴリズムに基づいている、２Ｄ画像分析装置。
【請求項６】
請求項４又は５に記載の２Ｄ画像分析装置（７００）において、前記分類部は、前記一覧画像（７１２）のセンサス変換済みバージョンに基づいて、前記一覧画像（７１２）の特徴空間へと変換されたバージョンに基づいて、又は前記一覧画像（７１２）のグラデーション画像へと変換されたバージョンに基づいて、分類を実行するよう構成されている、２Ｄ画像分析装置。
【請求項７】
請求項６に記載の２Ｄ画像分析装置（７００）において、前記パターンファインダ（７０６）は、前記一覧画像（７１２）の前記センサス変換済みバージョン、又は前記一覧画像（７１２）の前記特徴空間へ変換されたバージョン、又は前記一覧画像（７１２）の前記グラデーション画像へと変換されたバージョン、における１つ以上の極大値を識別するよう構成され、前記極大値の各位置は、前記受信されかつスケールされた画像のそれぞれのコピー（７１０'〜７１０'''''''''）において識別されるべき前記所定パターンの各位置を示している、２Ｄ画像分析装置。
【請求項８】
請求項６又は７に記載の２Ｄ画像分析装置（７００）において、前記パターンファインダ（７０６）は、合計フィルタ及び／又は最大値フィルタを有し、そのフィルタは、前記受信されかつスケールされた画像のそれぞれのコピー（７１０’〜７１０’’’’’’’’’）における識別された前記所定パターンの位置を平滑化し、及び/又は分類された前記一覧画像（７１２）における極大値の位置を平滑化しかつ修正するよう構成されている、２Ｄ画像分析装置。
【請求項９】
請求項４乃至８のいずれか１項に記載の２Ｄ画像分析装置（７００）において、前記パターンファインダ（７０６）は、前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）について、平均化に基づいて前記極大値の位置を決定するために前記特徴変換と分類とを実行し、前記極大値の位置は、前記受信されかつスケールされた画像のそれぞれのコピー（７１０'〜７１０'''''''''）における前記識別された所定パターンの位置を示している、２Ｄ画像分析装置。
【請求項１０】
請求項４乃至９のいずれか１項に記載の２Ｄ画像分析装置（７００）において、前記識別された所定パターンの位置は顔の参照点、眼又は一般的な探索オブジェクトに関係している、２Ｄ画像分析装置。
【請求項１１】
請求項１乃至１０のいずれか１項に記載の２Ｄ画像分析装置（７００）において、前記２Ｄ画像分析装置（７００）は、選択的適応型データプロセッサを有する処理ユニットに接続されており、前記プロセッサは複数セットの値を受信し、各セットがそれぞれのサンプルに割り当てられ、前記プロセッサはフィルタプロセッサを含み、
前記フィルタプロセッサは、受信された前記セットに基づき、かつ妥当でないセットが妥当なセットによって置き換えられる方法で、妥当なセットを出力するよう構成されている、２Ｄ画像分析装置。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の２Ｄ画像分析装置（７００）において、前記２Ｄ画像分析装置（７００）は、３Ｄ画像分析装置（４００）を有する処理ユニットに接続されており、前記３Ｄ画像分析装置は第１画像（７１０）に基づいて決定された画像データの少なくとも１つの第１セットと、前記第１画像（７１０）又は追加画像（７１０）に基づいて決定された画像データの追加セットとを受信するよう構成され、前記第１画像（７１０）は第１視覚から第１画像平面への３次元オブジェクトのパターンを表示しており、前記追加セットは前記３次元オブジェクトの１点と前記第１画像平面との間の相対関係を示す相対情報を含み、
前記３Ｄ画像分析装置は
前記第１セットと前記追加画像（７１０）に基づいて決定された前記追加セットとに基づいて３次元空間内での前記パターンの位置を計算するよう構成されるか、又は前記第１セットと、前記第１画像（７１０）における２つの特性的特徴の相互間の統計的に評価された関係とに基づいて前記３次元空間内での前記パターンの位置を計算するよう構成された位置計算部と、
１画像毎に２つの可能な３Ｄ視線ベクトルを計算し、これら２つの可能な３Ｄ視線ベクトルから、前記パターンが前記３次元空間において位置合わせされる３Ｄ視線ベクトルを決定するよう構成されるアライメント計算部であって、前記計算と決定とは前記第１セットと前記追加セットとに基づき、かつ計算されるべき前記パターンの位置とに基づいて行われる、アライメント計算部と、
を含む２Ｄ画像分析装置。
【請求項１３】
請求項９に記載の２Ｄ画像分析装置（７００）を含む２Ｄ画像分析システムであって、
前記２Ｄ画像分析装置（７００）は、第１カメラのための第１ハフ経路と前記第１ハフ経路結果の後処理のための処理ユニットとを含む、瞳孔の収集及び／又はトラッキングのための前記画像分析システムに接続されており、前記第１ハフ経路は以下の特徴を持つハフプロセッサを含み、
前処理部（１０２）であって、それぞれ１つの画像（７１０）を含む複数のサンプル（１１２ａ，１１２ｂ，１１２ｃ）を受信し、個々の前記サンプル（１１２ａ，１１２ｂ，１１２ｃ）の画像（７１０）を回転及び／又は反転させ、個々の前記サンプル（１１２ａ，１１２ｂ，１１２ｃ）のために個々の前記サンプル（１１２ａ，１１２ｂ，１１２ｃ）の画像（７１０）の複数のバージョン（１１２ａ，１１２ａ'，１１２ａ''，１１２ａ'''）を出力するよう構成された前処理部（１０２）と、
ハフ変換ユニット（１０４）であって、前記複数のバージョン（１１２ａ，１１２ａ'，１１２ａ''，１１２ａ'''）に基づいて、前記複数のサンプル（１１２ａ，１１２ｂ，１１２ｃ）内の所定の探索パターンを収集するよう構成され、このハフ変換ユニット（１０４）の特性は前記探索パターンに依存して調節可能である、ハフ変換ユニット（１０４）と、
を備え、前記処理ユニットは収集された前記パターンを分析し、かつ１セットの幾何学的パラメータを出力するためのユニットを有し、前記幾何学的パラメータは各サンプルについて前記パターンの位置及び／又は幾何学的形状を表している、
２Ｄ画像分析システム。
【請求項１４】
請求項９に記載の２Ｄ画像分析装置（７００）と、眼の無反応を検出するよう構成された評価ユニットとを含む、２Ｄ画像分析システム。
【請求項１５】
探索パターンを含む受信された画像（７１０）をスケーリングファクタに従ってスケールするステップと、
受信されかつスケールされた前記画像の複数のコピー（７１０'〜７１０'''''''''）を含む一覧画像（７１２）を生成するステップであって、各コピーは異なるスケーリングファクタによってスケールされており、前記生成するステップは、前記一覧画像（７１２）を形成するために、前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）を編集すること、及び前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）を前記一覧画像（７１２）の画像行列内に配置することを含み、前記生成するステップは、前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）について、前記一覧画像（７１２）内の前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）間のギャップ、及び前記受信されかつスケールされた画像のコピー（７１０'〜７１０'''''''''）と前記一覧画像（７１２）の1つ以上の境界とのギャップを考慮しながら、前記一覧画像（７１２）内のそれぞれの位置を計算することを含む、ステップと、
並列アーキテクチャを有するＦＰＧＡ上に実装されたパターンファインダ（７０６）によって、所定パターンと前記一覧画像（７１２）内の複数の受信されかつスケールされた前記画像（７１０'〜７１０'''''''''）の複数のパターンとを比較し、前記探索パターンと前記所定パターンとの一致度が最大になる、前記一覧画像内の位置に関する情報を出力するステップであって、前記位置は前記受信されかつスケールされた画像のそれぞれのコピー（７１０'〜７１０'''''''''）に関連しており、前記パターンファインダ（７０６）は、関与する全てのスケールされた画像のコピーを一括して単一ステップで探索する、ステップと、
を含む２Ｄ画像（７１０）を分析する方法。
【請求項１６】
ＦＰＧＡ上で作動するとき、請求項１５に従う方法の実行のためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、２Ｄ画像分析装置及びその対応する方法に関する。
【背景技術】
【０００２】
多くのデジタル画像処理の場合、初期画像の複数のスケール済みバージョンがパターン認識に用いられる。そのようなパターン認識のための実例は、特定のモデルサイズについてトレーニングされた、例えばビオラ−ジョーンズ（Viola-Jones）に従う分類部（Klassifikatoer）である。
【０００３】
探索パターンがカメラシステムに対してどの程度の距離を持つかに依存して、より大きな又はより小さな表示が発生する。分類部のモデルサイズが固定されているので、分類部のモデルサイズとの最適な一致度をスケーリング段階の１つの中で取得するために、記録された画像の複数のスケーリング段階の中での探索が必要となる。それらのスケーリング段階は通常は昇順又は降順（画像ピラミッド参照）で探索される。このシーケンシャルな処理は、特に並列アーキテクチャ（例えばＦＰＧＡ）に対して非常に不十分な適性しか持ち得ない。
【０００４】
したがって、改良された概念についての必要性が生じる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ドイツ特許ＤＥ１０２００４０４６６１７Ａ１
【特許文献２】ドイツ特許ＤＥ１０２００５０４７１６０Ｂ４
【非特許文献】
【０００６】
【非特許文献１】Steffen Markert: gaze direction determination of the human eye in real time（学位論文）
【非特許文献２】Andrew T. Duchowski: Eye Tracking Methodology: Theory and Practice
【非特許文献３】Johannes Katzmann: A real time implementation for the ellipsis Hough transformation (学位論文)
【非特許文献４】Christian Holland-Nell: Implementation of a pupil detection algorithm based on the Hough transformation for circles (学位論文)
【非特許文献５】Christian Kueblbeck, Andreas Ernst: Face detection and tracking in video sequences using the modified census transformation
【非特許文献６】Paul Viola, Michael Jones: Robust Real-time Object Detection
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、効率的でかつ信頼性のあるパターン認識を可能とすることである。
【課題を解決するための手段】
【０００８】
この目的は、独立請求項によって達成される。さらなる実施形態は従属請求項で定義される。
【０００９】
本発明の実施形態は、画像スケーラ、画像生成部、及びパターンファインダを持つ２Ｄ画像分析装置を創造することである。画像スケーラは、探索パターンを持つ画像を受信し、その受信された画像をスケーリングファクタに従ってスケールするよう構成されている。画像生成部は、前記受信されかつスケールされた画像の複数のコピーを含む一覧画像(Uebersichtsbild)を生成するよう構成され、各コピーは異なるスケーリングファクタによってスケールされている。パターンファインダは、所定パターンと前記一覧画像内の受信されかつスケールされた複数の画像とを比較し、前記探索パターンと所定パターンとの一致度が最大になるような位置に関する情報を出力するよう構成され、その位置は前記受信されかつスケールされた画像のそれぞれのコピーに関連している。
【００１０】
つまり、本発明の要旨は、特定パターンの認識度(Erkennbarkeit)は画像サイズに応じて変化する、という事実である。ここで、特に、異なるスケーリング段階のシーケンシャルな処理が非常に非効率的であり得るということが現実化した。したがって、本発明の実施形態は、パターンファインダを有する画像分析装置を創造することであり、そのパターンファインダは、探索パターンが含まれた画像を異なるスケーリング段階で含む一覧画像に対して適用される。これら異なるスケーリング段階が上述のように一覧画像に配置されていることにより、ただ１つのステップにおいて、関与している複数の又は全てのスケーリング段階を一度に探索することが可能になる（しかも、従来のように、パターン認識が１つずつ複数のスケーリング段階に適用されることはない）。これは、パターン認識が一覧画像に対してのみ実行される方法により実現される。一覧画像が探索パターンと最大の一致度を有する点で、一方ではどのスケーリング段階がこの一致度を提供したか（一覧画像内でのそのスケールされた画像の位置）、他方ではどの位置（画像におけるｘ，ｙ座標）にそのスケーリング段階が存在していたか（スケーリングファクタによって修正された、一覧画像におけるスケール済み画像内の位置）が明確になる。よって、要するに、一覧画像におけるパターン認識を実行するだけで、特にＦＰＧＡのような並列アーキテクチャにおいて、探索パターンがより効率的に収集され得るという利点をもたらす。スケーリングの知識によって、絶対画像(Absolutebild)においてもまた、探索パターンの位置が計算可能である。
【００１１】
したがって、さらなる実施形態によれば、各スケール済み画像は、それぞれのスケーリングファクタに従って、一覧画像内のそれぞれの位置に割り当てられる。それにより、それぞれの位置は、一覧画像におけるスケール済み画像間のギャップ、一覧画像におけるスケール済み画像の1つ以上の境界とのギャップ及び又は他の所定の条件を考慮する、アルゴリズムによって計算され得る。
【００１２】
さらなる実施形態によれば、この準備された一覧画像に対してパターンファインダが適用され、一覧画像のセンサス変換済みバージョン、ハフ特徴空間へと変換された一覧画像のバージョン、グラデーション画像に変換された一覧画像のバージョン、又は一般的に特徴空間に変換された一覧画像のバージョン、における1つ以上の極大値を識別するよう構成され、その場合、極大値の位置は、受信されスケールされた画像のそれぞれのコピーにおける識別された所定パターンの位置を示している。
【００１３】
さらなる実施形態によれば、パターンファインダは分類部と後処理部とを含む。分類部は、特徴空間へと変換された一覧画像に適用され、画像コンテンツが探索パターンと一致して存在するような位置において高い値(極大値)を提供する。その分類については、従来技術に従う(例えばViola-Jonesに従う)通常の方法を参考にしてもよい。
【００１４】
分類された一覧画像は、次に、それに応じた後処理部を受ける。このため、分類された一覧画像は、最初に局所合計フィルタ（lokalen Summenfilter)を用いて平滑化され、また、極大値の位置も局所的に修正される。これと並行して、極大値フィルタが使用され、合計フィルタを介して、極大値を修正するためにあるスコアが取得される（殆どの場合、そのスコアは分類の結果であり、つまり画像コンテンツと探索パターンとの一致度である)。その結果が、スコアと局所的に修正された極大値とを持つ、分類された一覧画像である。前述の実施形態に対応して、一覧画像における極大値の各位置に対して、対応するスケーリング段階が割り当てられる(それらのスケーリング段階が上下に間隔を空けて配置され、かつ一覧画像の複数の境界に対して間隔を空けて配置されているような場合を除く)。スケーリング段階内の正にどこに最大値があるかに依存して、この位置は、対応するスケーリング段階のスケーリングファクタに関する対応位置を修正することによって、オリジナル画像へと再転換され得る。よって、一覧画像における各位置に対して、オリジナル座標における絶対位置が割り当てられる（それらのスケーリング段階が一列に間隔を空けて配置され、かつ一覧画像の複数の境界に対して間隔を空けて配置されているような場合を除く)。1つの最大値が１つのスケーリング段階内で抽出されていた場合、この位置は、隣接するスケーリング段階の対応する極大値を考慮して再度修正されることもでき、また、隣接するスケーリング段階を介した平均化も行われ得る。
【００１５】
さらなる実施形態は、２Ｄ画像分析装置の正確な実装に関係しており、実施形態の第１グループによれば、組込型プロセッサ又はプログラム可能な論理ユニット又は特定用途向けユニット（ＡＳＩＣ）として設計されうるか、又は実施形態の第２グループによれば、コンピュータ上で作動する方法（コンピュータプログラム）として実現される。
【００１６】
一実施形態は、以下のステップを含む２Ｄ画像を分析する方法を含む。即ち、探索パターンを含む受信された画像を、スケーリングファクタに従ってスケールするステップと、前記受信されかつスケールされた画像の複数のコピーを含む一覧画像を生成するステップとを含み、全てのグループ化は異なるスケーリングファクタによってスケールされている。次のステップとして、一覧画像の特徴空間（例えばハフ特徴空間）への変換が行われ、次に所定パターン（例えば眼など）との一致度を決定するための分類が行われる。次に、一覧画像内の受信されかつスケールされた複数の画像において最大値が探索され、探索パターンと所定パターンとの間の一致度が最大となるような位置に関する情報が出力される。その位置は受信されかつスケールされた画像のそれぞれのコピーに関係している。その位置は、必要であれば、局所合計フィルタ及び極大値フィルタの組合せによって修正され、かつ隣接するスケーリング段階を介して平均化され得る。
【００１７】
さらなる実施形態によれば、２Ｄ画像分析装置は２Ｄ画像分析システムと結合されることができ、その画像分析システムは、所定パターン及び特に瞳孔（又は一般的に眼領域又はユーザーの眼）を監視し、かつこれに対するステータスを決定する評価ユニットを有する。それ故、例えば瞬時的な居眠りに起因してもはや開かれない眼のような、眼の反応がないことの検出が特に可能になる。
【００１８】
さらなる実施形態によれば、２Ｄ画像分析装置は、選択的適応型データプロセッサを含む追加の処理ユニットに接続されることができ、そのデータプロセッサは複数のデータセットを画像分析装置と交換し、これらデータセットを処理するよう構成されている。その場合、データセットは、妥当なデータセットだけが伝送され、一方でデータセットの妥当でない部分は妥当な部分と置き換えられるという方法で処理される。
【００１９】
さらなる実施形態によれば、２Ｄ画像分析装置は３Ｄ画像分析装置に接続されてもよく、その３Ｄ画像分析装置は、画像データの少なくとも１つのセットと追加的情報との組合せに基づいて空間内のオブジェクトのアライメント（例えば視点）を決定する。この３Ｄ画像分析装置は２つの主たるユニット、すなわち３次元空間内のパターンの位置を決定する位置計算部と、このパターンを正確に通過する軸を決定するアライメント計算部とを含む。
【００２０】
さらなる実施形態によれば、２Ｄ画像分析装置はハフプロセッサに接続されてもよく、そのハフプロセッサは以下の２つのサブユニットに分割される。すなわち、前処理部は、それぞれに画像を含む複数のサンプルを受信し、それぞれのサンプルの画像を回転及び／又は反転させ、それぞれのサンプルの各サンプルについて画像の複数のバージョンを出力するよう構成されている。ハフ変換ユニットは、前記複数のバージョンに基づいて複数のサンプルにおける所定の探索パターンを収集するよう構成され、前記探索パターンに依存した特性は、ハフ変換ユニットにおいて調整可能である。ハフ結果の後処理のための処理ユニットは、収集されたパターンを分析し、各サンプルについてパターンの位置及び／又は幾何学形状（ジオメトリ）を表す幾何学的パラメータのセットを出力するよう構成されている。
【００２１】
以下に、本発明の実施形態について添付の図面に基づいて説明する。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に従う２Ｄ画像分析装置の概略ブロック図である。
【図２ａ】本発明の一実施形態に従う、前処理部とハフ変換ユニットとを有するハフプロセッサの概略ブロック図を示す。
【図２ｂ】一実施形態に従う、前処理部の概略ブロック図を示す。
【図２ｃ】直線（部分）の検出用のハフコアの概略図を示す。
【図３ａ】一実施形態に従うハフ変換ユニットの可能な実装例の概略ブロック図を示す。
【図３ｂ】一実施形態に従う減速行列の単一セルを示す。
【図４ａ】一実施形態に従うハフ変換ユニットの他の実装例の概略ブロック図を示す。
【図４ｂ】一実施形態に従うハフ変換ユニットの他の実装例の概略ブロック図を示す。
【図４ｃ】一実施形態に従うハフ変換ユニットの他の実装例の概略ブロック図を示す。
【図４ｄ】一実施形態に従うハフ変換ユニットの他の実装例の概略ブロック図を示す。
【図５ａ】２つの画像処理部と１つの後処理ユニットとを有し、画像処理部の各々が１つのハフプロセッサを含む、一実施形態に従うステレオカメラ組立体の概略図を示す。
【図５ｂ】図５ａのユニットにより可能な視点検出の説明と、モノスコピックの場合の視点検出の説明のための眼の例示的な図である。
【図６】追加的な実施形態及び／又は態様を説明するための更なる図である。
【図７ａ】さらに追加的な実施形態及び／又は態様を説明するための更なる図である。
【図７ｂ】オリジナル画像と縮小画像とを示す図である。
【図７ｃ】センサス変換後の画像と分類後の擬似カラー画像とを示す図である。
【図８ａ】光学システムの概略図である。
【図８ｂ】光学システムの概略図である。
【図８ｃ】光学システムの概略図である。
【図８ｄ】光学システムの概略図である。
【図８ｅ】光学システムの概略図である。
【図９ａ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｂ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｃ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｄ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｅ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｆ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｇ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｈ】ハフ変換ユニットの背景知識を説明する図である。
【図９ｉ】ハフ変換ユニットの背景知識を説明する図である。
【発明を実施するための形態】
【００２３】
以下に本発明の実施形態について、図を用いて詳細に説明する。同一の構成要素には同一の参照符号が用いられ、その説明は相互に適用可能であり、及び／又は変更可能であることに注目すべきである。
【００２４】
図１は、画像スケーラ７０２と画像生成部７０２とパターンファインダ７０６とを有する２Ｄ画像分析装置７００を示す。画像スケーラ７０２は、探索パターン７１１を含む画像７１０（図７ｂ参照）を受信するよう構成されている。画像スケーラ７０２において、受信された画像７１０は異なるスケーリングファクタによってスケールされる。例えば、次のように縮小が行われ得る。この縮小の間、画像７１０に基づいて、受信されかつスケールされた画像の複数のコピー７１０'，７１０''，７１０'''〜７１０'''''''''が発生するが、その場合、スケーリング段階の数は限定されない点に注意すべきである。このスケールされた複数の画像７１０'〜７１０'''''''''は画像生成部７０４によって一覧画像７１２へと組み合わされ、一覧画像７１２は受信されかつスケールされた画像の複数のコピー７１０'〜７１０'''''''''を含む。一覧画像内のスケールされた画像のそれぞれの位置は、一覧画像におけるスケール済み画像間のギャップ、スケール済み画像の一覧画像における1つ以上の境界に対するギャップ、及び又は他の所定の条件を考慮する、アルゴリズムによって計算され得る。この一覧画像７１２において、パターンファインダ７０６により、探索パターン７１１が検出され得る。
【００２５】
パターン認識を複数のスケーリング段階に対して１つずつ適用することに代えて、パターン認識は一覧画像に対して一度だけ適用される。この場合、それぞれのスケーリング段階は一覧画像内の位置情報として「符号化」される。個別のスケーリング段階のこの種の処理は、ＦＰＧＡアーキテクチャにおいて特に有利である。なぜならここで、個別のスケーリング段階の１つずつのシーケンシャルな処理は、比較的複雑になる恐れがあるからである。スケールされた種々の画像は、記憶装置に個々に格納され、別個に処理され、次にその結果が一緒に集められなければならないであろう。一覧画像は一度に生成され、次に１ステップで処理され得る。このようにして、並列ＦＰＧＡアーキテクチャが最適に利用され得る。
【００２６】
他の実施形態によれば、この一覧画像７１０を特徴画像７１０ａへと変換することも可能であろうし、その場合、典型的にはセンサス変換が使用される。このセンサス変換済み画像７１０ａに基づいて、擬似カラー画像７１０ｂ（図７ｃ参照）を検出するために、分類を行うことも考えられる。
【００２７】
任意選択的ではあるが、他の実施形態によれば、追加的に後処理ユニット（図示せず）が２Ｄ画像分析装置（図５ａ参照）に設けられ得る。後処理ユニットは、分類された一覧画像における極大値の位置を修正するために、局所合計フィルタ及び最大値フィルタの組合せの適用を可能とする。任意選択的に、スケーリング段階の１つにおいて隣接するスケーリング段階から対応する最大値を用いて発見された最大値の位置の平均化を行っても良い。その場合、一覧画像内において隣接するスケーリング段階にわたりかつそれを超える範囲の平均化が行われる。
【００２８】
この２Ｄ画像分析装置の他の実施携帯又は変形例は図７ａに関して説明される。
【００２９】
図２ａは、前処理部１０２とハフ変換ユニット１０４とを有するハフプロセッサ１００を示す。前処理部１０２は、第１信号処理ステージを構成し、ハフ変換ユニット１０４に対して情報的に接続されている。ハフ変換ユニット１０４は遅延フィルタ１０６を有し、その遅延フィルタ１０６は、少なくとも１つの、しかし好ましくは複数の遅延要素１０８ａ，１０８ｂ，１０８ｃ，１１０ａ，１１０ｂ，１１０ｃを含み得る。遅延フィルタ１０６の遅延要素１０８ａ〜１０８ｃ及び１１０ａ〜１１０ｃは、典型的にはコラム（列）１０８及び１１０とライン（行）ａ〜ｃにおける行列として配置され、相互に信号接続されている。図１の実施形態によれば、遅延要素１０８ａ〜１０８ｃ及び／又は１１０ａ〜１１０ｃの少なくとも１つは、調節可能な遅延時間を有しており、ここでは「＋／−」の符号を用いて示されている。遅延要素１０８ａ〜１０８ｃ及び１１０ａ〜１１０ｃを活性化するため、及び／又はそれらを制御するため、別の制御ロジック及び／又は制御レジスタ（図示せず）が設けられてもよい。この制御ロジックは、個々の遅延要素１０８ａ〜１０８ｃ及び／又は１１０ａ〜１１０ｃの遅延時間を、任意選択的な切換え可能要素１０９ａ〜１０９ｃ及び／又は１１１ａ〜１１１ｃを介して制御し、それら切換え可能要素は、例えばマルチプレクサ及びバイパスを含み得る。ハフ変換ユニット１０４は、個々の遅延要素１０８ａ〜１０８ｃ及び１１０ａ〜１１０ｃの初期コンフィグレーションのための追加的なコンフィグレーションレジスタ（図示せず）を備えてもよい。
【００３０】
前処理部１０２の目的は、個々のサンプル１１２ａ，１１２ｂ，１１２ｃを、それらがハフ変換ユニット１０４によって効率的に処理され得るような方法で処理することである。この目的のために、前処理部１０２は、画像データ及び／又は複数のサンプル１１２ａ，１１２ｂ，１１２ｃを受信し、例えば回転形式及び／又は反転形式のような前処理を実行して、ハフ変換ユニット１０４に対して複数のバージョン（１１２ａ及び１１２ａ'を参照）を出力する。その出力は、ハフ変換ユニット１０４が単一のハフコア１０６を有する場合には直列的に発生可能であり、又は、複数のハフコアが準備された場合には並列的にも発生可能である。つまり、この実装例によれば、画像のｎ個のバージョンが、完全に並列的、準並列的（即ち、一部分だけ並列的）又は直列的に出力されかつ処理されることになる。探索パターン又はハフコアコンフィグレーションを有する複数の類似パターン（上昇又は下降する直線）を検出するという目的を果たす、前処理部１０２内の前処理について、以下に第１サンプル１１２ａを用いて説明する。
【００３１】
このサンプルは、例えば約９０°回転されて、回転済みバージョン１１２ａ'が取得されてもよい。このような回転の手順は参照符号１１４で示す。その場合、回転は約９０°で行うことができるが、更に約１８０°もしくは約２７０°、又は一般的に約３６０°／ｎでも行うことができる。その場合、下流側のハフ変換（ハフ変換ユニット１０４参照）に依存して、９０°回転だけを実行することが非常に効率的となり得ることに留意されたい。これらのサブ態様については、図２を参照して説明する。更にまた、画像１１２ａは反転されて、反転済みバージョン１１２ａ''が取得されてもよい。このような反転の手順は、参照符号１１６で示す。この反転１１６は、メモリの後方読み出しに対応する。反転済みバージョン１１２ａ''に基づき、又は回転済みバージョン１１２ａ'に基づき、手順１１４又は１１６を実行することで、第４のバージョンが回転かつ反転されたバージョン１１２ａ'''として取得されてもよい。反転１１６に基づいて、後述するような同じハフコアコンフィグレーションを有する２つの類似パターン（例えば右方向に開口された半円及び左方向に開口された半円）が検出される。
【００３２】
ハフ変換ユニット１０４は、前処理部１０２により提供されたバージョン１１２ａ若しくは１１２ａ'（又は１１２ａ''若しくは１１２ａ'''）の中で、所定の探索パターン、例えば楕円又は楕円のセグメント、円又は円のセグメント、直線又は直線のセグメントなどを検出するよう構成されている。このため、所定の探索パターンに対応してフィルタ装置が構成される。それぞれのコンフィグレーションに依存して、遅延要素１０８ａ〜１０８ｃ又は１１０ａ〜１１０ｃの幾つかが活性化され、又は迂回される。そのため、検査されるべき画像１１２ａ又は１１２ａ'のフィルムストリップを変換ユニット１０４へと適用する際に、遅延要素１０８ａ〜１０８ｃによって幾つかのピクセルが選択的に遅延され、このことは中間格納に対応し、他のピクセルは直接的に次のコラム１１０へと送られる。この手順に起因して、曲線的又は傾斜した幾何学形状は「直線化」される。ロードされた画像データ１１２ａ又は１１２ａ'に依存し、及び／又は、より正確には画像１１２ａ又は１１２ａ'の適用された線の画像構造に依存して、コラム１０８又は１１０の１つにおいて高いコラム合計(Spaltensumme)が発生する一方で、他のコラムにおけるコラム合計はより低くなる。コラム合計はコラム合計出力１０８ｘ又は１１０ｘを介して出力される。その場合、ここでは任意選択的に、各コラム１０８又は１１０のコラム合計を達成する加算要素（図示せず）が設けられてもよい。コラム合計のうちの１つの最大値を用いて、探索画像構造又は探索画像構造のセグメントの存在、又は少なくとも探索構造との関連する一致度の存在が推定され得る。つまり、処理ステップ毎に、フィルムストリップがピクセル毎又はコラム１０８若しくは１１０毎に更に動かされ、その結果、開始ヒストグラムによる各処理ステップを用いて、探索構造の１つが検出されるか否か、又は、探索構造の存在確率が対応するように高いか否か、が認識可能となる。換言すれば、コラム１０８又は１１０のそれぞれのコラム合計が閾値を超えたということは、探索画像構造のセグメントを検出したことを示し、その場合、各コラム１０８又は１１０は、探索パターン又は探索パターンの特性（例えば直線の角度又は円の半径）に関連していることを意味する。ここで注意すべきは、それぞれの構造について、それぞれのコラム１１０のそれぞれの遅延要素１１０ａ，１１０ｂ，１１０ｃが決定的であるだけでなく、特に、後続の遅延要素１１０ａ，１１０ｂ，１１０ｃとの組合せにおける先行の遅延要素１０８ａ，１０８ｂ，１０８ｃも決定的ということである。現状技術に対応して、そのような構造又は遅延要素の活性化もしくは迂回は、先験的に予め決定されている。
【００３３】
可変遅延要素１０８ａ〜１０８ｃ又は１１０ａ〜１１０ｃ（遅延要素）を介して、探索特性（例えば半径又は傾きが動作中に調節され得る。個々のコラム１０８と１１０とは互いに接続されているので、遅延要素１０８ａ〜１０８ｃ又は１１０ａ〜１１０ｃの１つの遅延時間を調節している間に、フィルタ１０６の全体的なフィルタ特性の変化が発生する。ハフ変換ユニット１０４のフィルタ１０６のフィルタ特性の柔軟な調節により、変換コア１０６をそのランタイム期間中に調節可能であり、それにより、例えば小さな瞳孔及び大きな瞳孔についての例えば動的な画像コンテンツを、同じハフコア１０６を用いて収集及び追跡計測し得る。図３ｃには、遅延時間がどのように調節され得るかに関する正確な実装例について言及されている。ハフプロセッサ１００又は変換ユニット１０４が高い柔軟性を持ち得るようにするため、好ましくは全ての遅延要素１０８ａ，１０８ｂ，１０８ｃ，１１０ａ，１１０ｂ及び／又は１１０ｃ（又はこれら要素の少なくとも１つ）が、可変又は離散的に切換え可能な遅延時間を用いて実行され、その結果、動作中に、検出されるべき異なるパターン間で、又は検出されるべきパターンの異なる特性間で切換え可能となる。
【００３４】
更なる実施形態によれば、図示されたハフコア１０４のサイズは（動作中又は事前に）設定可能であり、そのため、追加的なハフセルが活性化又は不活性化され得る。
【００３５】
更なる実施形態によれば、変換ユニット１０４は、変換ユニット１０４を調節するための手段、又はより正確には、個々の遅延要素１０８ａ〜１０８ｃ及び１１０ａ〜１１０ｃを調節するための手段、例えばコントローラ（図示せず）へと接続されることができる。
そのコントローラは、例えば下流側の処理ユニット内に配置されてもよく、パターンが認識されない場合、又はその認識が十分でない場合（画像コンテンツと探索パターンとの一致度が低い場合）に、フィルタ１０６の遅延特性を調整するよう構成されてもよい。このコントローラに関しては、図５ａを参照しながら説明する。
【００３６】
上述した実施形態の長所は、それらが容易かつ柔軟に実現でき、特にＦＰＧＡ（プログラム可能ゲートアレイ）上に実装できるということである。その背景には、上述した並列ハフ変換が、回帰なしで進行すること、及び言わば完全に並列化されていることがある。従って、更なる実施形態は、少なくともハフ変換ユニット１０４及び／又は前処理部１０２を有するＦＰＧＡに関する。上述のデバイスをＦＰＧＡ、例えばＸＩＬＩＮＸ  Ｓｐａｒｔａｎ  ３Ａ  ＤＳＰに実装することで、例えば６４０×４８０の解像度を有する６０ＦＰＳの非常に高いフレームレートが、９６ＭＨｚの周波数を使用して達成され得る。なぜなら、複数のコラム１０８と１１０とを有する上述した構造１０４により、並列処理又はいわゆる並列ハフ変換が可能となるからである。
【００３７】
図２ａ及び図２ｂは、フレーム１１２ａ，１１２ｂ，１１２ｃを有するビデオデータストリーム１１２の前処理を行う前処理部１０２を示す。その前処理部１０２は、サンプル１１２を、二値エッジ画像として、又はグラデーション画像としても受信し、それに基づいて回転１１４又は反転１１６を実行して、４個のバージョン１１２ａ，１１２ａ'，１１２ａ''，１１２ａ'''を得るよう構成されている。その背景として、典型的に、ハフ変換ユニットによって実行されるような並列ハフ変換は、画像１１２ａの２個又は４個の個別に前処理され例えば約９０°シフトされたバージョンに基づいていることが挙げられる。図２ｂに示すように、初めに（１１２ａから１１２ａ'へ）９０°の回転が行われ、その後、２つのバージョン１１２ａと１１２ａ'とが水平に（１１２ａから１１２ａ''へ、及び１１２ａ'から１１２ａ'''へ）反転される。反転１１６及び／又は回転１１４を実行するために、前処理部は、対応する実施形態において、受信された画像データ１１２を蓄積する役割を担う内部又は外部のストレージを有する。
【００３８】
前処理部１０２の回転１１４及び／又は反転１１６の処理は、下流側のハフ変換と、並列ハフコアの数（並列化の程度）と、それらのコンフィグレーションとに依存し、その様子は特に図２ｃを参照しながら説明する。ここで、前処理部１０２は、以下の３つの場合の１つに対応した下流側のハフ変換ユニット１０４の並列化の程度に応じて、前処理済みのビデオストリームを出力１２６を介して出力するよう構成されてもよい。
【００３９】
１００％並列化：４つのビデオデータストリームの同時出力、即ち、非回転かつ非反転の１つのバージョン１１２ａと、約９０°回転された１つのバージョン１１２ａ’と、それぞれ反転されたバージョン１１２ａ''及び１１２ａ'''の出力。
【００４０】
５０％並列化：２つのビデオデータストリームの出力、即ち、第１ステップで非回転バージョン１１２ａと約９０°回転バージョン１１２ａ'とを出力し、第２ステップでそれぞれに反転されたバージョン１１２ａ''と１１２ａ'''とを出力。
【００４１】
２５％並列化：１つのビデオデータストリームの個別出力、即ち、非回転バージョン１１２ａと、約９０°回転バージョン１１２ａ'と、反転バージョン１１２ａ''と、反転されかつ回転されたバージョン１１２ａ'''とのシーケンシャルな出力。
【００４２】
上述のバージョンに対して代替的に、第１バージョンに基づいて、回転だけによる３個の更なるバージョン、即ち例えば約９０°、１８０°及び２７０°の回転によるバージョンが達成されることも想定可能であろうし、ハフ変換はこれらバージョンに基づいて実行される。
【００４３】
更なる実施形態によれば、前処理部１０２は、例えばアップサンプリングのような更なる画像処理ステップを実行するよう構成されてもよい。加えて、前処理部がグラデーション画像を生成することも可能であろう。グラデーション画像の生成が画像の前処理の一部となるような場合には、グレー値画像（初期画像）がＦＰＧＡにおいて回転されることも可能であろう。
【００４４】
図２ｃは、例えば２個の並列３１×３１ハフコアのための２個のハフコアコンフィグレーション１２８及び１３０を示し、それらは直線又は直線部分を認識するよう構成されている。更に、どの角度セグメントにおいて検出が可能かを示すため、単位円１３２が適用されている。ここでの注意は、ハフコアコンフィグレーション１２８及び１３０は、白点が遅延要素を示していると、それぞれ理解されるべきことである。ハフコアコンフィグレーション１２８は、いわゆるタイプ１のハフコアに相当し、ハフコアコンフィグレーション１２０は、いわゆるタイプ２のハフコアに相当する。２つのハフコアコンフィグレーション１２８と１３０とを比較すれば分かるように、一方は他方の逆を構成している。第１のハフコアコンフィグレーション１２８を用いて、３π／４とπ／２の間のセグメント１における直線が検出され得る。他方、３π／２と５π／４の間のセグメント（セグメント２）における直線はハフコアコンフィグレーション１３０によって検出可能である。更なるセグメントにおける検出を有効化するため、上述したように、ハフコアコンフィグレーション１２８及び１３０がそれぞれの画像の回転されたバージョンに対して適用される。結果的に、ハフコアコンフィグレーション１２８によってπ／４とゼロの間のセグメント１ｒが、ハフコアコンフィグレーション１３０によってπと３π／４の間のセグメント２ｒが収集され得る。
【００４５】
代替的に、ただ１つのハフコア（例えばタイプ１のハフコア）だけを使用する場合、上述の直線アライメントのバージョンを収集するために、画像の回転を約９０°で一回、約１８０°で一回、２７０°で一回行うことが有益であり得る。他方、柔軟性に起因して、ハフコアのコンフィグレーションの期間中に、単一のハフコアタイプが使用されることができ、ハフコアが動作中にリコンフィグレーションされ、又は、それに関連して、ハフコアが逆のタイプに対応するような方法で個々の遅延要素がスイッチオン又はオフされ得る。つまり、換言すれば、（５０％並列化操作における）前処理部１０２と単一のハフコア及び単一の画像回転を有する構成可能なハフ変換ユニット１０４とを使用する場合に、全体的な機能を表現することができ、そうでない場合では、２つの並列ハフコアによってカバーされ得る。このように、それぞれのハフコアコンフィグレーション又はハフコアタイプの選択は、前処理部１０２によって実行される前処理に依存することが明らかとなる。
【００４６】
図３ａは、ｍ個のコラム１０８，１１０，１３８，１４０，１４１，１４３とｎ個のラインａ，ｂ，ｃ，ｄ，ｅ，ｆとを有し、ｍ×ｎ個のセルが形成されている、ハフコア１０４を示す。このフィルタのコラム１０８，１１０，１３８，１４０，１４１，１４３は、探索構造の特異な特性、例えば特異なカーブ又は直線セグメントの特異な傾きを表す。
【００４７】
各セルは、遅延時間に関して調節可能な１つの遅延要素を含み、この実施形態においては、バイパスを有する個別に切換え可能な遅延要素が設けられるという事実により、調節機能が実現される。以下に図３ｂを参照しながら、全てのセルの構造を代表例として説明する。図３ｂのセル（１０８ａ）は、遅延要素１４２と、例えばマルチプレクサのような遠隔制御可能なスイッチ１４４と、バイパス１４６とを含む。遠隔制御可能なスイッチ１４４によって、ライン信号は遅延要素１４２を介して伝送され得るか、又は遅延無しで交点１４８へと導かれ得る。交点１４８は、一方ではコラム（例えば１０８）のための合計要素(Summenelement)１５０に接続されており、他方では、この交点１４８を介して次のセル（例えば１１０ａ）が接続されている。
【００４８】
マルチプレクサ１４４は、いわゆるコンフィグレーションレジスタ１６０（図３ａ参照）を介して構成される。ここで注意すべきは、この参照符号１６０が、マルチプレクサ１４４に直接的に連結されているコンフィグレーションレジスタ１６０の一部分に関連しているだけということである。コンフィグレーションレジスタ１６０の構成要素は、マルチプレクサ１４４を制御するよう構成されており、第１情報入力１６０ａを介して、例えばＦＰＧＡ内部ＢＲＡＭ１６３に記憶されているコンフィグレーション行列に由来するコンフィグレーション情報を受信する。このコンフィグレーション情報はコラム毎のビットストリングであってもよく、複数（変換期間中を含む）の構成された遅延セル（１４２＋１４４）のコンフィグレーションに関係する。従って、コンフィグレーション情報は出力１６０ｂを介して更に伝送され得る。リコンフィグレーションは動作中のどの時点においても不可能であるため、コンフィグレーションレジスタ１６０又はコンフィグレーションレジスタ１６０のセルは、追加の信号入力１６０ｃを介していわゆる有効化信号を受信し、その信号によりリコンフィグレーションが開始される。この背景には、ハフコアのリコンフィグレーションが、遅延要素の個数又は特にコラムのサイズに依存する所定の時間を必要とするという事実がある。その場合、各コラム要素に対してクロックサイクルが関連付けられ、ＢＲＡＭ１６３又はコンフィグレーション論理部１６０に起因して、少数のクロックサイクルの待ち時間が発生する。リコンフィグレーションのための全体の待ち時間は、ビデオベースの画像処理にとっては典型的には無視できる。この実施形態において、ＣＭＯＳセンサで記録されたビデオデータストリームは、水平及び垂直のブランキングを有すると想定される。その場合、水平ブランキング又は水平ブランキング時間をリコンフィグレーションのために使用できる。そのため、ＦＰＧＡ内に実装されたハフコア構造のサイズが、ハフコアコンフィグレーションのための最大サイズを予め決定することになる。例えば、小さなコンフィグレーションが使用される場合、これらは垂直方向に中心合わせされ、ハフコア構造のコラム１に対して水平方向に位置合わせされる。ハフコア構造の使用されていない要素は、活性化された遅延要素によって全て占められる。
【００４９】
個々の遅延要素（１４２＋１４４）を用いてこのような方法で処理されたデータストリームの評価は、コラム毎に行われる。そのため、コラム毎に合計されて、合計の極大値が検出され、この値が認識された探索構造を表現している。コラム１０８，１１０，１３８，１４０，１４１及び１４３毎の合計はある値を決定する役割を担い、その値はそれぞれのコラムに割り当てられた構造の特性の１つについて、探索構造との一致度を表すものである。コラム合計の極大値を決定するために、コラム１０８，１１０，１３８，１４０，１４１又は１４３毎に、いわゆる比較部１０８ｖ，１１０ｖ，１３８ｖ，１４０ｖ，１４１ｖ又は１４３ｖが設けられ、それぞれの合計要素１５０へと接続されている。任意ではあるが、異なるコラム１０８，１１０，１３８，１４０，１４１又は１４３の個々の比較部１０８ｖ，１１０ｖ，１３８ｖ，１４０ｖ，１４１ｖ，１４３ｖの間に、追加の遅延要素１５３が設けられてもよく、前記比較部は隣接するコラムのコラム合計同士を比較する。詳細には、フィルタを通過する間に、探索パターンの特性に対して最高の一致度を有するコラム１０８，１１０，１３８又は１４０が常にフィルタから選出される。コラム合計の極大値を検出している間に、探索構造の存在が推定され得る。つまり、比較の結果が、その中で極大値が認識され、又は探索構造の特性が発見されたコラム番号（可能であればコラム合計＝一致度を含む）であり、例えばコラム１３８である。好ましくは、その結果はいわゆる多次元ハフ空間を含み、その多次元ハフ空間は、探索構造の全ての関連するパラメータ、例えばパターンの種類（例えば直線又は半円）、パターンの一致度、構造の特性（曲線セグメントについてはカーブの強度又は直線セグメントについては傾き及び長さ）、及び探索パターンの位置や向き(Orientierung)などを含む。換言すれば、ハフ空間内の各点について、対応する構造のグレー値が画像セグメント内に追加されることを意味する。結果として、最大値（複数）が形成され、それらによってハフ空間内の探索構造が容易に位置決めされ、画像セグメントへと戻され得る。
【００５０】
図３ｂのハフコアセルは、任意選択的なパイプライン遅延要素１６２（パイプライン遅延）を有することができ、この要素１６２は例えばセルの出力に配置されて、遅延要素１４２による遅延信号とバイパス１４６による非遅延信号とを遅延させるよう構成されている。
【００５１】
図１を参照しながら示したように、そのようなセルはまた、可変性を有する１つの遅延要素、又は切換え及び迂回される複数の遅延要素を含むことができ、その結果、遅延時間が複数段階において調節可能となり得る。図３ｂに示すハフコアセルの構成を超える更なる構成も、代替的に想定可能であろう。
【００５２】
以下に、上述したデバイスの画像処理システム１０００内への適用例を、図５ａを参照しながら説明する。図５ａは、前処理部１０２とハフ変換ユニット１０４とを含む、ＦＰＧＡ構成の画像プロセッサ１０ａを示す。画像プロセッサ１０ａ内には、前処理部１０２の前に入力ステージ１２が更に設けられてもよく、入力ステージ１２は、カメラ１４ａからの画像データ又は画像サンプルを受信するよう構成されている。このため、入力ステージ１２は、例えば画像取り込みインターフェイス１２ａと、セグメンテーション及びエッジ検出部１２ｂと、カメラ制御手段１２ｃとを含み得る。カメラ制御手段１２ｃは、画像インターフェイス１２ａ及びカメラ１４ａに接続されており、照明時間及び／又は強度のようなファクタを制御する役割を担う。
【００５３】
画像プロセッサ１０ａは、いわゆるハフ特徴抽出部１６を更に備え、このハフ特徴抽出部１６は、ハフ変換ユニット１０４により出力されかつパターン認識についての全ての関連情報を含む多次元ハフ空間を分析し、その分析結果に基づいて、全てのハフ特徴のコンパイルを出力するよう構成されている。詳しくは、ハフ特徴空間の平滑化、即ちローカルフィルタを用いた空間的平滑化又はハフ空間の間引き(Ausduennung)（パターン認識と無関係な情報の拒絶）がここで行われる。その間引きは、パターンの種類及び構造の特性を考慮して、ハフ確率空間内の非最大値が削除されるように実行される。更にまた、その間引きのために閾値を定義することもでき、それにより、例えば最小もしくは最大のカーブ、又は最小もしくは最大の傾きなどのような、例えば最小限又は最大限に許容され得る構造の特性を予め決定できるようになる。閾値ベースの拒絶により、ハフ確率空間におけるノイズ抑制も可能になる。
【００５４】
オリジナル画像セグメント内の残りの全ての点のパラメータの分析的な再変換は、例えば以下のハフ特徴からもたらされる。即ち、曲線的構造について、位置（ｘ及びｙ座標）、出現確率、どの方向に円弧が開口しているかを示す半径及び角度が伝送され得る。直線については、位置（ｘ及びｙ座標）、出現確率、直線の傾きを示す角度、及び代表的な直線セグメントの長さのようなパラメータが決定され得る。この間引きされたハフ空間は、ハフ特徴抽出部１６により、又は全体的には画像プロセッサ１０ａにより出力され、後処理ユニット１８における処理へと送られる。
【００５５】
後処理ユニットは、例えば組込型プロセッサとして実現されてもよく、そのアプリケーションに応じて、以下に例示的に説明するような異なるサブユニットを含んでもよい。後処理ユニット１８は、ハフ特徴ポスト幾何学形状変換部２０２を含み得る。この幾何学形状変換部２０２は、ハフ特徴抽出部により出力された１つ以上の所定の探索パターンを分析し、幾何学形状を説明するパラメータを出力するよう構成されている。つまり、幾何学形状変換部２０２は、例えば、検出されたハフ特徴に基づいて、例えば楕円（瞳孔）又は円についての第１直径、第２直径、中点のシフト及び位置などの、幾何学パラメータを出力するよう構成されてもよい。好ましい一実施形態によれば、幾何学形状変換部２０２は、３〜４個のハフ特徴（例えば曲線）によって瞳孔を検出しかつ選択する役割を担う。よって、例えば探索構造又はハフ特徴との一致度、ハフ特徴又は検出されるべき所定のパターンのカーブ、ハフ特徴の位置及び向きなどの基準が含まれている。選択されたハフ特徴の組合せがアレンジされ、その場合、第１に、取得されたハフ特徴の合計に従うアレンジメントが行われ、第２に、探索構造との一致度に従うアレンジメントが行われる。そのアレンジメントの後で、この点におけるハフ特徴の組合せが選択され、そこから、カメラ画像内の瞳孔を最も近似して表す楕円がフィットされる。
【００５６】
更に、後処理ユニット１８は任意選択的なコントローラ２０４を含み、そのコントローラ２０４は、画像プロセッサ１０ａ（制御チャネル２０６参照）に対し、又はより詳細にはハフ変換ユニット１０４に対して制御信号を返すよう形成されており、その制御信号に基づいて、フィルタ１０６のフィルタ特性が調節可能となる。フィルタコア１０６の動的な調節のために、コントローラ２０４は、典型的には幾何学形状変換部２０２と接続されて、認識された幾何学形状の幾何学パラメータを分析し、更に、幾何学形状のより正確な認識が可能となるような方法で、定義された境界内でハフコアをトラッキングする。この手順は連続的な手順であり、例えば、最後のハフコアコンフィグレーション（最後に使用されたハフコアのサイズ）から出発して、認識２０２が不十分な結果を提供すると直ちにトラッキングされる。このように、上述した瞳孔又は楕円の検出の実例に対し、コントローラは、例えば記録されるべきオブジェクトとカメラ１４ａとの間の距離に依存する楕円サイズを、対象となる人がカメラ１４ａに近づく場合に調節できる。このとき、フィルタ特性の制御は、最後の調節と楕円の幾何学パラメータとに基づいて行われる。
【００５７】
更なる実施形態によれば、後処理ユニット１８は選択的適応型データ処理部３００を有してもよい。そのデータ処理部の目的は、データ列内の孤立値(Ausreisser)及び外れ値(Aussetzer)を後処理して、例えばデータ列の平滑化を実行することである。従って、選択的適応型データ処理部３００は、幾何学形状変換部２０２により出力される値の複数のセットを受信するよう構成されており、その場合、各セットがそれぞれのサンプルに割り当てられる。データ処理部３００のフィルタ処理部は、複数のセットに基づいて次のように値の選択を実行するが、その方法は、妥当でないセットのデータ値（例えば孤立値又は外れ値）が、内部的に決定されたデータ値（交換値）によって交換され、残りのセットのデータ値は交換されずに更に使用される。より詳細には、（孤立値又は外れ値を含まない）妥当なセットのデータ値は伝送され、（孤立値又は外れ値を含む）妥当でないセットのデータ値は、妥当なセットのデータ値、例えば先行するデータ値又は複数の以前のデータ値の平均値、によって交換される。そのため、伝送された値と恐らく交換値とから結果として得られるデータ列は、連続的に平滑化されたものとなる。つまり、（例えば決定された楕円中点座標の）データ列の適応型時間平滑化は、例えば指数平滑法の原理に従って行われ、その場合、（例えば瞳孔検出中の誤った検出による）平滑化されるべきデータ列の孤立値及び外れ値が、平滑化済みデータの変動をもたらすことがない。詳細には、データ処理部は、新たに受信されたセットのデータ値が下記のような基準の範囲内に当てはまらない場合、そのセットのデータ値にわたって平滑化を実行してもよい。
−  セットの追加的な値の１つにより定量化される、探索構造との関連する一致度によれば、それがデータ列の外れ値となる。
−  例えば現実のオブジェクトのサイズが以前のオブジェクトから余りに強く外れている場合など、関連するサイズパラメータ又は幾何学パラメータによれば、それが外れ値となる。
−  現実のデータ値（例えば現実の位置の値）が閾値の間にない場合、現実のデータ値と以前のデータ値に基づいて決定されていた閾値との比較に従えば、それが外れ値となる。これを説明する実例は、例えば、オブジェクトの現実の位置座標（セットのデータ値）が選択的適応型データ処理部により事前に決定された位置座標から余りに強く外れている場合である。
【００５８】
上述の基準の１つが満たされた場合は、次に、現実の値を平滑化するために、以前の値が出力されるか又は少なくとも考慮される。平滑化期間中の遅延をできるだけ小さくする目的で、任意ではあるが、現実の値は過去の値よりも強く評価される。つまり、指数平滑化を適用する場合、現実の値が以下の式によって決定され得る。
現実に平滑化された値＝現実の値×平滑化係数＋最後の平滑化された値×（１−平滑化係数）
【００５９】
平滑化係数は、定義された境界内で、平滑化されるべきデータの傾向に対して動的に調節され、例えば比較的一定した値動向の低減、又は、上昇もしくは降下する値動向の増強が行われる。平滑化されるべき幾何学パラメータ（楕円パラメータ）に関して長期的に大きな急上昇が発生した場合、データ処理部と、平滑化された値動向は、この新たな値に対して順応する。一般的に、選択的適応型データ処理部３００はまた、例えば初期化の期間中にパラメータによって構成され得る。その場合、これらのパラメータを介して、平滑化の挙動、例えば外れ値の最大期間又は最大平滑化ファクタなどが決定される。
【００６０】
このように、選択的適応型データ処理部３００、又は全体的には後処理ユニット１８は、認識されるべきパターンの位置及び幾何学形状の高度な正確性を有する妥当な値を出力してもよい。このため、後処理ユニットはインターフェイス１８ａを有し、任意ではあるが、このインターフェイスを介して外部の制御コマンドを受信することもできる。より多くのデータ列が平滑化されるべき場合には、各データ列について別個の選択的適応型データ処理部を使用するか、又は、データ値のセット毎に異なるデータ列が処理できるような方法で選択的適応型データ処理部を調節することも想定し得る。
【００６１】
以下に、選択的適応型データ処理部３００の上述した特徴を、具体的な実施形態を用いて全体的に説明する。データ処理部３００は、例えば２つ以上の入力と１つの出力とを有してもよい。（データ値を受信する）入力の１つは、処理されるべきデータ列のために設けられている。出力は、選択されたデータに基づく平滑化された列である。その選択のために、更なる入力（データ値のより正確な査定のために追加的な値が受信される）が考慮されるか、及び／又はデータ列そのものがより正確に査定される。データ処理部３００内での処理の間に、データ列の変化が生じ、その場合、データ列内における孤立値の扱いと外れ値の扱いとが区別される。
【００６２】
孤立値：選択の間に、孤立値は（処理されるべきデータ列内で）アレンジされ、他の（内部的に決定された）値によって交換される。
【００６３】
外れ値：処理されるべきデータ列の品質の査定のために、１つ以上の更なる入力信号（追加的な値）が考慮される。その査定は１つ以上の閾値を用いて行われ、その場合、データは「高い」及び「低い」品質に分類される。低い品質を持つデータは外れ値と査定されて、他の（内部的に決定された）値によって交換される。
【００６４】
次のステップでは、例えばデータ列の平滑化（例えば時間列の指数平滑化）が行われる。その平滑化のために、外れ値及び孤立値の調節済みのデータ列が考慮される。その平滑化は、可変（適応型）の係数により行われてもよい。平滑化係数は、処理されるべきデータのレベル差に対して調節される。
【００６５】
更なる実施形態によれば、後処理ユニット１８は、例えば３Ｄ画像分析部４００としての画像分析部を含み得る。３Ｄ画像分析部４００の場合、後処理ユニット１８とともに、画像処理部１０ｂ及びカメラ１４ｂからなる更なる画像収集ユニットを備え得る。このように、２つのカメラ１４ａ及び１４ｂと、画像処理部１０ａ及び１０ｂとは、１つのステレオカメラ機構を確立し、その場合、好ましくは画像処理部１０ｂは画像処理部１０ａと同一である。
【００６６】
３Ｄ画像分析部４００は、第１画像（カメラ１４ａ参照）に基づいて決定された少なくとも１セットの画像データを受信し、かつ、第２画像（カメラ１４ｂ参照）に基づいて決定された第２セットの画像データを受信するよう構成され、その場合、第１及び第２の画像が１つのパターンを異なる視覚から表現しており、さらに３Ｄ画像分析部４００は、これら画像に基づいて１つの視点又は３Ｄ視線ベクトル(3D-Blick vektor)を計算するよう構成されている。このため、３Ｄ画像分析部４００は位置計算部４０４とアライメント計算部４０８とを含む。位置計算部４０４は、第１のセット、第２のセット、及び、視覚同士の間又は第１カメラ１４ａと第２カメラ１４ｂとの間の幾何学的関係に基づいて、３次元空間内におけるパターンの位置を計算するよう構成されている。アライメント計算部４０８は、３Ｄ視線ベクトル、例えば視線方向を計算するよう構成されており、認識されたパターンはその視線ベクトルに従って３次元空間内で位置合わせされ、視線ベクトルの計算は、第１のセット、第２のセット及び計算された位置（位置計算部４０４参照）に基づいて行われる。
【００６７】
このため、例えばコンフィグレーションファイル内に、位置パラメータ、光学的パラメータ（カメラ１４ａ，１４ｂ参照）など全てのモデルパラメータを記憶した、いわゆる３Ｄカメラシステムモデルが考慮されてもよい。
【００６８】
以下に、瞳孔認識の実例に基づいて、３Ｄ画像分析部４００の全体的な機能について説明する。３Ｄ画像分析部４００内に記憶又はロードされたモデルは、カメラユニットに関するデータ、即ちカメラセンサ（例えばピクセルサイズ、センササイズ及び解像度）及び使用される対物レンズに関するデータ（例えば焦点距離及び対物レンズ歪み）と、認識されるべきオブジェクトのデータ又は特性（例えば眼の特性）と、更なる関連オブジェクトに関するデータ（例えばシステム１０００を入力デバイスとして使用する場合のディスプレイ）とを含む。
【００６９】
３Ｄ位置計算部４０４は、眼の位置又は瞳孔中点を、２個又は複数のカメラ画像（１４ａ，１４ｂ参照）に基づいて三角形分割により計算する。このため、位置計算部４０４には、画像処理部１０ａ及び１０ｂ、幾何学的変換部２０２及び選択的適応型データ処理部３００の処理の連鎖を介して、２個のカメラ画像（１４ａ，１４ｂ参照）内の１つの点の２Ｄ座標が提供される。提供された２Ｄ座標から、両方のカメラ１０ａ及び１０ｂについて、３Ｄ点をセンサ上の２Ｄ点として表現した光線が、３Ｄカメラモデルを用いて特に光学的パラメータを考慮して、計算される。互いの距離が最短となる２つの直線の点（理想的な場合には直線同士の交点）が、探索される３Ｄ点の位置であると推定される。この３Ｄ位置は、モデルパラメータに関連して提供された２Ｄ座標の精度を記述している誤差尺度と一緒に、インターフェイス１８ａを介して結果として出力されるか、又は、視線方向計算部４０８へと伝送される。
【００７０】
３Ｄ空間内の位置に基づいて、視線方向計算部４０８は、瞳孔の２つの楕円形状の投影からカメラセンサまでの視線方向を、校正なくかつ眼とカメラシステムとの間の距離を知ることなく決定できる。このため、視線方向計算部４０８は、画像センサの３Ｄ位置パラメータの他に、幾何学的分析部２０２により決定された楕円パラメータと、位置計算部４０４により決定された位置とを使用する。瞳孔の中点の３Ｄ位置及び画像センサの位置から、現実のカメラユニットの回転により、光軸が３Ｄの瞳孔中点を通過する仮想のカメラユニットが計算される。次に、それぞれ現実のセンサ上への瞳孔の投影から、２つの仮想の楕円がもたらされるように、仮想のセンサ上への瞳孔の投影が計算される。仮想の楕円のパラメータから、それぞれの仮想のセンサ平面に対して任意に平行な平面上の眼の２つの視点が計算され得る。４個の視点と３Ｄの瞳孔中点とにより、４個の視線方向ベクトル、つまり、カメラ毎にそれぞれ２個のベクトルが計算され得る。これら４個の可能な視線方向ベクトルのうち、常に、１つのカメラの正に１つのベクトルが、他のカメラの１つのベクトルと略同一となる。両方の同一ベクトルは眼の探索される視線方向を示し、その視線方向はインターフェイス１８ａを介して視線方向計算部４０４により出力される。
【００７１】
この３Ｄ計算の特別な長所は、３Ｄ視線方向の検出が非接触であり、３Ｄの眼の位置の決定のための校正が不要であり、その計算はカメラに対する眼の位置についての知識に依存せず、かつ瞳孔サイズに関する情報を必要としないことである。３Ｄ空間モデルを考慮しながら３Ｄの眼の位置及び３Ｄ視線方向を分析的に決定することで、３Ｄ空間内における（１を超える）任意のカメラ個数及び任意のカメラ位置が可能となる。短い待ち時間と同時に高いフレームレートにより、上述のシステム１０００のリアルタイム機能が可能となる。更に、連続的な結果間の時間差が一定となるように、いわゆる時間レジームが固定される。
【００７２】
代替的な変形例において、視線方向の決定はまた、以下に図５を参照しながら説明する方法でも実行され得る。
【００７３】
校正不要のアイトラッキング（視線計測）方法を含む、「３Ｄ画像分析部」に関する上述した説明の中で、これまでは異なる視覚からの少なくとも２個のカメラ画像が必要とされてきた。視線方向の計算に関し、カメラ画像毎に正に２つの可能な視線方向ベクトルが決定される位置が存在し、その場合、それぞれ第２のベクトルが、カメラと瞳孔中点との間の交差線における第１のベクトルの反転に対応する。他のカメラ画像から結果としてもたらされる両方のベクトルの中から、正に１つのベクトルが、第１カメラ画像から計算されたベクトルに略対応する。これらの対応するベクトルは、決定されるべき視線方向を示す。
【００７４】
１つのカメラを用いても校正不要のアイトラッキングを実行できるようにするため、現実の視線方向ベクトル（以下では「ｖｂ」と記す）が、カメラ画像から決定される２つの可能な視線方向ベクトル（以下では「ｖ１」及び「ｖ２」と記す）から選択されなければならない。
【００７５】
このプロセスを、図５ｂを参照しながら説明する。図５ｂは、瞳孔と２つの可能な視線方向ｖ１及びｖ２とを有する眼球の可視部分（緑の枠）を示す。
【００７６】
視線方向「ｖｂ」を選択するためには、複数の可能性があり、それらは現実の視線方向ベクトルを選択するために個別又は組み合わせで用いられてもよい。それらの可能性の幾つかを以下に説明する（この列挙は最終的ではない）が、ｖ１及びｖ２（図５ａ参照）は、この選択の時点で既に決定済みであると想定されている。
【００７７】
第１の可能性（虹彩の周囲の白い真皮組織は、カメラ画像内に発生し得る。（瞳孔中点から出発して無限に長い）２つのビームが定義され、１つはｖ１の方向であり、もう１つはｖ２の方向である。両方のビームは眼のカメラ画像へと投影され、そこで瞳孔中点から画像エッジへとそれぞれ延びる。強膜へ帰属するより少数のピクセルに関与するビームは、現実の視線方向ベクトルｖｂに属する。強膜のピクセルはそのグレー値が、隣接する虹彩のピクセル又は瞼のピクセルとは異なっている。捕捉された眼が属する顔がカメラから余りにそらされている場合（つまり、カメラの光軸と顔平面に対して直角に伸びるベクトルとの間の角度が大き過ぎた場合）、この方法は限界に達する。
【００７８】
第２の可能性によれば、瞳孔中点の位置の評価は、眼が開いている間に行われる。眼球の可視部分内又は眼が開いている間の瞳孔中点の位置は、現実の視線方向ベクトルの選択に使用されてもよい。そのための１つの可能性は、（瞳孔中点から出発して無限に長い）２つのビームを定義することであり、１つのビームはｖ１の方向であり、１つのビームはｖ２の方向である。両方のビームは眼のカメラ画像内へと投影され、そこで瞳孔中点から画像エッジへとそれぞれ延びる。カメラ画像内の両方のビームに沿って、瞳孔中点と眼の開口部のエッジ（図５ｂでは緑で示す）との距離がそれぞれ決定される。より短い距離を有するビームが、現実の視線方向ベクトルに帰属する。捕捉された眼が属する顔がカメラから余りにそらされている場合（つまり、カメラの光軸と顔平面に対して直角に伸びるベクトルとの間の角度が大き過ぎた場合）、この方法は限界に達する。
【００７９】
第３の可能性によれば、瞳孔中点の位置の評価は、基準瞳孔中点に対して行われ得る。眼球の可視部分内又は眼が開いている間にカメラ画像において決定された瞳孔中点の位置は、基準瞳孔中点と一緒に、現実の視線方向ベクトルを選択するために使用されてもよい。このための１つの可能性は、（瞳孔中点から出発して無限に長い）２つのビームを定義することであり、１つのビームはｖ１の方向であり、１つのビームはｖ２の方向である。両方のビームは眼のカメラ画像に投影され、そこで瞳孔中点から画像のエッジへとそれぞれ延びる。画像記録に使用されるカメラセンサ中心の方向を眼が直接的に見る場合、眼が開いている間の基準瞳孔中点は、瞳孔中点に対応する。カメラ画像内へと投影されたビームであって、その画像内で基準瞳孔中点に対する最短距離を有するビームは、現実の方向ベクトルに帰属する。基準瞳孔中点を決定するために複数の可能性があり、そのうちの幾つかを以下に説明する。
【００８０】
可能性１（アプリケーションの特異な場合）：
カメラセンサ中心の方向を眼が直接的に見る場合、基準瞳孔中点は、決定された瞳孔中点から決められる。これは、仮想のセンサ平面（視線方向計算に関する説明参照）上の瞳孔輪郭が円を特徴付ける場合に行われる。
【００８１】
可能性２（アプリケーションの一般的な場合）：
基準瞳孔中点の位置の粗い推定として、眼の開口部の表面の焦点が使用され得る。顔が横たわる平面がカメラのセンサ平面と平行でない場合、この推定方法は限界に達する。（例えば事前に実行された頭部位置の決定及びアライメントなどにより）カメラセンサ平面に対する顔面の傾きが既知であり、推定された基準瞳孔中点の位置の修正にその傾きが使用される場合、この限界は補償され得る。
【００８２】
可能性３（アプリケーションの一般的な場合）：
眼の中点の３Ｄ位置が使用可能である場合、３Ｄの眼の中点と仮想センサの中点との間の直線、及び、眼球の表面とその直線との交点が決定され得る。カメラ画像内へと変換されたこの交点の位置から、基準瞳孔中点が分かる。
【００８３】
更なる実施形態によれば、ＦＰＧＡ１０ａ及び１０ｂの代わりに、ＡＳＩＣ（特定用途向けチップ）が使用されることができ、特にそれは多数でも低コストで実現され得る。要約すれば、ハフプロセッサ１０ａ及び１０ｂの実装には依存せずに、高効率処理及び関連する低い内部クロック要件に起因して、低エネルギー消費が達成可能となると云える。
【００８４】
これらの特徴にもかかわらず、ここで使用されるハフプロセッサ又はハフプロセッサ上で実行される方法は、非常にロバストであり、失敗の影響を受けにくい。ここで注目すべきは、図１に示すハフプロセッサ１００は、例えば図５に関して示したような種々の特徴との種々の組合せの中で使用されてもよい。
【００８５】
図１に示すハフプロセッサの適用例として、例えば自動車部門における（又は一般的にセキュリティ関連の人間−機械インターフェイスのための）運転支援システムとしての、瞬間的居眠り警報システム又は疲労検出器などが挙げられる。その場合、（例えば眼のまばたきの程度の尺度としての瞳孔のカバリングなどの）眼の評価により、かつ視点及び焦点を考慮して、特異な疲労パターンが検出され得る。更に、ハフプロセッサは、入力デバイス又は技術的デバイスの入力インターフェイスに関連して使用され得る。その場合、眼の位置及び視線方向は入力パラメータとして使用される。明確な適用例として、例えば特定の焦点領域を強調しながらスクリーンコンテンツを眺めているときの、ユーザーの支援が挙げられ得る。そのような適用例は、介護の分野で、コンピュータゲームで、視線方向を含めることによる３Ｄ視覚化の最適化に関し、市場及びメディア展開に関し、又は、特殊な眼科的診断及び治療に関して、存在し得る。
【００８６】
上段でも説明したように、上述した方法の実装はプラットフォームに依存せず、その結果、上述の方法はまた、他のユニット、例えばＰＣ上でも実行できる。よって、更なる実施形態は、前処理部を使用して、それぞれが１つの画像を有する大多数のサンプルを処理するステップであって、その場合、それぞれのサンプルの画像が回転及び／又は反転され、各サンプルについてそれぞれのサンプルの画像の大多数のバージョンを出力するステップと、ハフ変換ユニットを使用して、多数のバージョンに基づいて多数のサンプル内で所定のパターンを収集するステップであって、そのハフ変換ユニットが選択された所定のパターンのセットに依存しているフィルタ特性を持つ遅延フィルタを有するステップと、を含むハフ変換の方法に関する。
【００８７】
調節可能な特性に関連する上述の説明の中では、常にフィルタ特性に言及していたが、ここでは、更なる実施形態によれば、調節可能な特性は高速２Ｄ相関に関する後処理の特性（カーブ又は歪み特性）に関連してもよいことに注意すべきである。この実装については、図４ａ〜図４ｄを参照しながら説明する。
【００８８】
図４ａは高速２Ｄ相関の処理連鎖１０００を示す。２Ｄ相関のこの処理連鎖は、少なくとも、２Ｄ曲線のための機能ブロック１１０５と、結合のための機能ブロック１１１０とを含む。２Ｄ曲線に関する手順は、図４ｂに示される。図４ｂは、テンプレートにおける例示的なコンパイルを示す。図４ｃと図４ｄとの組合せにより、この処理連鎖１０００に基づいてハフ特徴がどのように抽出されるかが自明となる。図４ｃは、楕円１１１５を認識するための、（この場合には例えば異なる傾きを有する複数の直線に関し）ｎ個のテンプレートとのピクセル毎の相関を例示的に示す。図４ｄは、ピクセル毎の相関の結果を示し、その場合、典型的にはｎ個の結果画像を介して１つの最大探索が行われる。結果として得られる各画像はピクセル毎に１つのハフ特徴を含む。以下に、このハフ処理について、全般的に説明する。
【００８９】
調節可能な特性を有する遅延フィルタを用いる構成（並列ＦＰＧＡ構造のために最適化された構成）とは対照的に、ここで説明するハフ処理は、ＰＣベースの構成を特に想定したものであるが、その処理の一部分が他の手法によって置き換え可能となり得る。
【００９０】
これまでのところ、事実として、遅延フィルタの略全てのコラムは、探索構造（例えば異なる傾きの直線セグメントなど）を表現していた。フィルタを通過することで、最高合計値を有するコラム番号が決定的となる。その場合、そのコラム番号は探索構造の特性を表し、合計値はその探索構造との一致度を示す。
【００９１】
ＰＣベースの構成に関し、遅延フィルタは高速２Ｄ相関によって置き換えられる。以前の遅延フィルタは、特定パターンの特性の位置ｎ内のサイズに従って形成されることになる。このｎ個の特性はストレージ内にテンプレートとして記憶される。次に、前処理済み画像（例えば二値エッジ画像又はグラデーション画像）が、ピクセル毎に通過する。各ピクセル位置において、それぞれ、全ての記憶されたテンプレートとすぐ下方にある画像コンテンツ（後処理特性に対応する）とが同期される（即ち、（テンプレートのサイズにおける）ピクセル位置の環境が評価される）。この手順は、デジタル画像処理における相関として言及される。つまり、各テンプレートについて、すぐ下方にある画像コンテンツとの相関値（即ち一致度）が取得される。つまり、一致度が以前の遅延フィルタからのコラム合計に対応する。ここで、（ピクセル毎に）最高相関値を有するテンプレートについての決定がなされ、そのテンプレート番号が記憶される（テンプレート番号は探索構造の特性、例えば直線セグメントの傾きを記述する）。
【００９２】
このように、ピクセル毎に、相関値とテンプレート番号とが取得される。それにより、ハフ特徴は、これまで説明した通り完全に記述され得る。
【００９３】
ここで注意すべきは、個々のテンプレートと画像コンテンツとの相関付けが、局所的領域で実行されてもよく、周波数領域で実行されてもよいことである。これは、第１に、初期画像がｎ個の全てのテンプレートとそれぞれ相関されることを意味する。Ｎ個の結果的な画像が取得される。これらの結果的な画像が（立方体状に）１つずつ重ね置かれた場合、ピクセル毎の最高相関値が（全ての平面を介して）探索されるであろう。その場合、個々の平面は、立方体における個々のテンプレートを表す。結果として、個々の画像が再度取得され、その画像はピクセル毎に１つの相関尺度及び１つのテンプレート番号−つまり、ピクセル毎に１つのハフ特徴を含む。
【００９４】
上述した態様は常に「瞳孔の認識」との関係で説明してきたが、上述した態様はまた、更なるアプリケーションにも使用可能である。ここで、例えば「瞬間的居眠りに対する警報システム」のアプリケーションについて、以下に詳細に説明する。
【００９５】
瞬間的居眠りに対する警報システムは、少なくとも画像収集ユニットと、照明ユニットと、処理ユニットと、音響的及び／又は光学的信号化ユニットとから構成される。ユーザーにより記録された画像の評価によって、そのデバイスは、ユーザーの瞬間的居眠りの開始、又は疲労もしくは注意散漫を認識でき、そのユーザーに警告することができる。
【００９６】
このシステムは、例えばＣＭＯＳ画像センサが使用され、場面が赤外線領域で照明されているという形態で展開されてもよい。この形態には、そのデバイスが環境光から独立して作動し、特にユーザーの眼を眩ませないという長所がある。処理ユニットとして組込型処理システムが使用され、そのシステムは、直下の操作システム上でソフトウェアコードを実行する。信号化ユニットは、現状では、マルチ周波数型ブザー及びＲＧＢ−ＬＥＤから構成されている。
【００９７】
記録された画像の評価は、第１処理段階において、顔及び眼の検出と眼の分析とが分類部によって実行される、という事実上の形式で行われ得る。この処理段階は、顔のアライメント、眼の位置及び瞬目反射(Lidschlussgrad)の程度についての第１の指示を提供する。
【００９８】
これに基づき、次のステップにおいて、モデルベースの眼の精密な分析が実行される。そこで使用される眼のモデルは、例えば瞳孔及び／又は虹彩の位置、瞳孔及び／又は虹彩のサイズ、瞼の記述及び眼のエッジ点などで構成され得る。その場合、各時点においてこれらの構成要素の幾つかが見つけられかつ評価されれば十分である。個々の構成要素はまた、複数の画像を介してトラッキングされることもでき、それら構成要素が全ての画像内において再度完全に探索される必要はない。
【００９９】
上述したハフ特徴は、顔の検出、眼の検出又は眼の分析もしくは眼の精密な分析を実行するために使用できる。上述した２Ｄ画像分析は、顔の検出、眼の検出もしくは眼の分析に使用できる。顔の検出もしくは眼の検出もしくは眼の分析の期間中、決定された結果値、中間値、又は値動向を平滑化するために、上述の適応型選択的データ処理部が使用されてもよい。
【０１００】
瞬目反射の程度、及び／又は眼の精密な分析結果の経時的な評価は、ユーザーの瞬間的居眠り、疲労又は注意散漫を判定するために使用され得る。加えて、３Ｄ画像分析部に関連して上述したような校正不要の視線方向決定もまた、ユーザーの瞬間的居眠り、疲労又は注意散漫の判定のための更に良好な結果を得るために使用され得る。これらの結果を安定化させるために、適応型選択的データ処理部が使用されてもよい。
【０１０１】
眼の位置の決定に係る「瞬間的居眠りの警報システム」の実施形態において説明した手順はまた、例えば顔の中の鼻の位置や鼻根の位置などの、他の任意に定義された２Ｄ位置の決定のためにも使用され得る。
【０１０２】
１つの画像からの情報の１セットと情報の追加のセットとを使用する場合、この位置は３Ｄ空間においても決定されることができ、その場合、情報の追加のセットは、追加のカメラの画像から生成されるか、又は第１のカメラ画像内のオブジェクト間の関係の評価から生成され得る。
【０１０３】
一実施形態によれば、初期画像の段階のハフプロセッサは、カメラ制御のためのユニットを含み得る。
【０１０４】
これまで幾つかの態様をデバイスに関して説明してきたが、これらの態様はまたそれぞれの方法の説明でもあることは明らかあり、その場合、デバイスのブロック又は構成要素はそれぞれの方法ステップ又は方法ステップの特徴としても理解されるべきである。同様に、これまで方法ステップの関係で、又は方法ステップとして説明された態様はまた、それぞれのデバイスのそれぞれのブロック、又は詳細もしくは特徴の説明でもある。方法ステップの幾つか又は全部は、例えばマイクロプロセッサ、プログラム可能なコンピュータの装置、又は電子スイッチとして、（ハードウェア装置を使用して）ある装置により実行されてもよい。幾つかの実施形態では、最も重要な方法ステップの幾つか又はそれ以上がそのような装置によって実行されてもよい。
【０１０５】
特定の実装要件にもよるが、本発明の実施形態は、ハードウェア又はソフトウエアにおいて構成可能である。この構成は、電子的に読み取り可能な制御信号がその中に格納され、本発明の各方法が実行されるようにプログラム可能なコンピュータシステムと協働する、例えばフレキシブルディスク，ＤＶＤ，ブルーレイディスク，ＣＤ，ＲＯＭ，ＰＲＯＭ，ＥＰＲＯＭ，ＥＥＰＲＯＭ又はフラッシュメモリ、ハードディスク、又は他のいかなる電磁的もしくは光学的ストレージなどのデジタル記憶媒体を使用して実行され得る。その場合、デジタル記憶媒体はコンピュータ読み取り可能であり得る。
【０１０６】
本発明に従う幾つかの実施形態は、上述した方法の１つを実行するようプログラム可能なコンピュータシステムと協働可能で、電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【０１０７】
一般的に、本発明の実施例は、プログラムコードを有するコンピュータプログラム製品として構成することができ、そのプログラムコードは当該コンピュータプログラム製品がコンピュータ上で作動するときに、本発明の方法の一つを実行するよう作動可能である。
【０１０８】
そのプログラムコードは、例えば機械読み取り可能なキャリアに格納されていても良い。
【０１０９】
本発明の他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムを含み、そのコンピュータプログラムは機械読み取り可能なキャリアに格納されている。
【０１１０】
換言すれば、本発明方法の一実施形態は、そのコンピュータプログラムがコンピュータ上で作動するときに、上述した方法の１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０１１１】
本発明の他の実施形態は、本明細書に記載された方法のいずれかを実行するためのコンピュータプログラムが記録されている、データキャリア（又はデジタル記憶媒体、又はコンピュータ読み取り可能な媒体）である。
【０１１２】
本発明の他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムを構成するデータストリーム又は信号列である。そのデータストリーム又は信号列は、例えばインターネットのようなデータ通信接続を介して伝送されるよう構成されても良い。
【０１１３】
他の実施形態は、上述した方法の１つを実行するように構成又は適応された、例えばコンピュータ又はプログラム可能な論理要素のような処理ユニットを含む。
【０１１４】
他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
【０１１５】
本発明に従う更なる実施形態は、上述した方法の少なくとも１つを実行するためのコンピュータプログラムを受信者へと伝送するよう設計されたデバイス又はシステムを含む。その伝送は電子的又は光学的に行われ得る。受信者はコンピュータ、モバイルデバイス、ストレージデバイス又は類似のデバイスであり得る。そのデバイス又はシステムは、例えばコンピュータプログラムの受信者への伝送のためのファイルサーバーを含み得る。
【０１１６】
幾つかの実施形態においては、（例えばプログラム可能ゲートアレイ：ＦＰＧＡのような）プログラム可能な論理要素が、上述した方法の幾つか又は全ての機能を実行するために使用されても良い。幾つかの実施形態では、プログラム可能ゲートアレイが、上述した方法の１つを実行するためにマイクロプロセッサと協働しても良い。一般的に、幾つかの実施形態に関し、それらの方法は任意のハードウェアデバイスによって実行される。これはコンピュータプロセッサ（ＣＰＵ）としてユニバーサル的に適用可能なハードウェアであってもよく、又は、例えばＡＳＩＣのように方法に関しハードウェア特定型であってもよい。
【０１１７】
以下に、上述した発明又は発明の態様について、更なる２つの観点から説明する。換言すれば以下の通りである。
【０１１８】
統合型アイトラッカー（視線計測器）
統合型アイトラッカーは、ＦＰＧＡ最適化済みアルゴリズムのコンパイルを含み、それらアルゴリズムは、カメラライブ画像から並列ハフ変換により（楕円）特徴（ハフ特徴）を抽出するのに適している。次に、抽出された特徴を評価することで、瞳孔の楕円が決定され得る。ある位置を有する複数のカメラを使用し、アライメントが互いに既知である場合、瞳孔中点の３Ｄ位置と３Ｄ視線方向及び瞳孔の直径が決定され得る。その計算には、カメラ画像内の楕円の位置と形状が考慮される。それぞれのユーザーにとってシステムの校正は必要でなく、カメラと分析される眼との間の距離の知識も必要でない。
【０１１９】
使用される画像処理アルゴリズムは、特に、ＦＰＧＡ（プログラム可能ゲートアレイ）上での処理に対して最適化されているという特徴を持つ。そのアルゴリズムは、ＦＰＧＡにおいて一定のリフレッシュレートと最小の待ち時間と最小の資源消費とを有する非常に高速の画像処理を可能にする。つまり、これらのモジュールは、時間的、待ち時間的及びセキュリティ的に厳しいアプリケーション（例えば運転支援システム）、医学診断システム（例えば視野計）、更には、人間−機械インターフェイス（例えばモバイルデバイス）などであって、小型の構造を要件とするアプリケーションを想定して設計されている。
【０１２０】
オブジェクトの技術的課題
−複数の（ライブ）カメラ画像内における３Ｄ空間内での３Ｄの眼の位置及び３Ｄ視線方向のロバストな検出、及び瞳孔サイズの検出
−非常に短い反応時間（又は処理時間）
−小型の構造
−統合された解決策による（ＰＣから独立した）自律機能
【０１２１】
現状技術
−アイトラッカーシステム
・Steffen Markert: gaze direction determination of the human eye in real time（非特許文献１及び特許文献２）
・Andrew T. Duchowski: Eye Tracking Methodology：Theory and Practice（非特許文献２）
−並列ハフ変換
・Johannes Katzmann: A real time implementation for the ellipsis Hough transformation（非特許文献３及び特許文献１）
・Christian Holland-Nell: Implementation of a pupil detection algorithm based on the Hough transformation for circles（非特許文献４及び特許文献１）
【０１２２】
現状技術の欠点
−アイトラッカーシステム
○欠点
・アイトラッカーシステムは一般的に、使用前に（複雑な）校正を必要とする。
・Ｍａｒｋｅｒｔによるシステム（特許文献２）は、校正不要であるが、以下のような所定の要件の下でしか作動しない。
１．カメラと瞳孔中点との間の距離が既知であり、ファイルされていること
２．３Ｄ瞳孔中点がカメラの光軸の範囲内にある場合にだけその方法が作動する
・全体的な処理はＰＣハードウェアに対して最適化されている。よって、それによる欠点（処理の期間中では固定の時間レジームが可能でないこと）も免れない。
・アルゴリズムが非常に高い資源消費を有するため、効率的なシステムが必要となる。
・結果が有効になるまでに長期の処理時間、よって長期の遅延時間が発生する（評価されるべき画像サイズに部分的に依存する）。
−並列ハフ変換
○欠点
・二値エッジ画像だけが伝送され得る。
・変換はある画像座標に関連する二値結果を提供するだけである（構造の位置は既知となったが、ヒット確率及び更なる構造特徴は未知である）。
・動作中に変換コアの柔軟な調節ができず、よって、動的な画像コンテンツ（例えば小さな瞳孔と大きな瞳孔などの）動的な画像コンテンツに対しては適性不十分である。
・動作中に変換コアを他の構造へとリコンフィグレーションすることは不可能である。よって、オブジェクト認識への適性は限定的である。
【０１２３】
構成
全体的なシステムは、同一の眼が表示されている２個以上のカメラ画像から、多次元ハフ特徴のリストをそれぞれ決定し、それらに基づいて瞳孔楕円の位置及び形状をそれぞれ計算する。これら２個の楕円パラメータから、また、カメラの互いの位置及びアライメントのみから、瞳孔中点の３Ｄ位置と３Ｄ視線方向及び瞳孔直径とが完全に校正不要で決定され得る。ハードウェアのプラットフォームとして、少なくとも２つの画像センサの組合せと、ＦＰＧＡ及び／又は下流側のマイクロプロセッサシステムが（ＰＣＩを強制的に必要とせずに）使用される。「ハフ処理」、「並列ハフ変換」、「ハフ特徴抽出部」、「楕円変換部へのハフ特徴」、「コアサイズ制御」、「時間的スマート平滑化フィルタ」、「３Ｄカメラシステムモデル」、「３Ｄ位置計算」及び「３Ｄ視線方向計算」は、統合型アイトラッカーの個々の機能モジュールに関係する。それらは統合型アイトラッカーの一連の画像処理ライン内に以下のように当てはまる。
【０１２４】
図６は、統合型アイトラッカーにおける個々の機能モジュールのブロック図を示す。そのブロック図は、統合型アイトラッカーの個々の処理ステージを示す。以下に、モジュールの詳細な説明を提示する。
【０１２５】
「ハフ前処理」
○機能
・「並列ハフ変換」モジュールのためのビデオストリームのアップサンプリング。特に、「並列ハフ変換」モジュールの並列化の程度に従う、変換されるべき画像の画像回転及びアップサンプリングによる。
○入力
・二値エッジ画像又はグラデーション画像
○出力
・後続のモジュールの並列化の程度に従い、入力からアップサンプリングされたピクセルデータを有する１つ以上のビデオストリーム
○詳細な説明
・並列ハフ変換は、その原理に基づき、画像コンテンツに対し、それぞれ約９０°歪まされた４つの主方向から適用され得る。
・このため、前処理の中で約９０°の画像回転が行われる。
・回転された画像と回転されていない画像とが水平方向に反転されているという事実から、（ストレージ内にファイルされた画像行列の逆読み出しにより）残りの２つの方向がカバーされる。
・モジュールの並列化の程度に従い、以下の３つの場合が出力用にもたらされる。
・・１００％並列化：４個のビデオデータストリームの同時出力。即ち、約９０°回転済み、回転なし、及びそれぞれの反転済みの同時出力。
・・５０％並列化：２個のビデオデータストリームの出力。即ち、約９０°回転済み及び回転なしの出力と、それぞれの反転済みバージョンの出力とが、シーケンシャルに行われる。
・・２５％並列化：１個のビデオデータストリームの出力。即ち、約９０°回転済み、回転なし、及びそれぞれの反転済みバージョンが、シーケンシャルに出力される。
【０１２６】
「並列ハフ変換」
○機能
・簡素なパターン（異なるサイズ及び傾きを有する直線と、異なる半径及び向きを有する曲線）と、二値エッジ又はグラデーション画像内におけるそれらの出現確率との並列認識
○入力
・並列ハフ変換のためのアップサンプリング済みのエッジ画像又はグラデーション画像（「ハフ前処理」モジュールの出力）
○出力
・探索構造の全ての関連パラメータを含む多次元ハフ空間
○詳細な説明
・ピクセルデータについての定義された「通過方向」を有し、以下の特徴によって特性付けされる、複素遅延ベースのローカルフィルタによる入力の処理。
・・遅延要素から成る可変サイズを有するフィルタコア
・・探索構造へのフィルタの適応型調節のために、動作中に遅延要素がスイッチオン及びオフされ得る
・・フィルタの各コラムは探索構造（曲線又は直線の傾き）の特定の特性を表す
・・フィルタコラムを介する合計は、各コラムによって表された構造の特性についての出現確率を提供する
・・フィルタを通過するとき、探索パターンの特性についての最高の出現確率を有するコラムが常に出力される
・各画像ピクセルについて、フィルタは、ハフ空間内の以下のような情報を含む１つの点を提供する：
・・パターンの種類（例えば直線又は半円）
・・パターンについての出現確率
・・構造の特性（カーブの強度又は直線については傾き及び長さ）
・・画像内の構造の位置及び向き
・変換結果として多次元画像がもたらされ、これは以下においてはハフ空間と称される。
【０１２７】
「ハフ特徴抽出部」
○機能
・パターン認識のための関連情報を含むハフ空間からの特徴の抽出
○入力
・多次元ハフ空間（「並列ハフ変換」モジュールの出力）
○出力
・パターン認識のための関連情報を含むハフ特徴のリスト
○詳細な説明
・ハフ特徴空間の平滑化（ローカルフィルタリングを用いた空間的修正）
・修正された「非最大抑圧」によるハフ空間の「間引き」（パターン認識と無関係な情報の抑制）
・・パターンの種類と構造の特性を考慮した、処理に無関係な点（ハフ確率空間内の「非最大」）の削除
・・以下の適切な閾値を用いたハフ空間点の更なる間引き
・・○ハフ確率空間における閾値によるノイズ抑制
・・○構造の最小及び最大の許容可能な特性のための区間の指示（例えば曲線構造については最小／最大のカーブ、又は、直線については最低／最高の傾き）
・オリジナル画像スコープの結果における全ての残りの点のパラメータの分析的な再変換は、以下のハフ特徴をもたらす。
・・次のパラメータを有する曲線構造
・・○位置（x−及びｙ−画像座標）
・・○ハフ特徴の出現確率
・・○円弧の半径
・・○円弧がどの方向に開口しているかを示す角度
・・次のパラメータを有する直線
・・○位置（x−及びｙ−画像座標）
・・○ハフ特徴の出現確率
・・○直線の傾きを示す角度
・・○表された直線セグメントの長さ
【０１２８】
「ハフ特徴を楕円変換部へ」
○機能
・画像内の瞳孔エッジ（楕円）を最高確率で記述する３〜４個のハフ特徴（曲線）の選択と楕円の決定
○入力
・カメラ画像内の全ての検出されたハフ特徴（曲線）のリスト
○出力
・瞳孔を最高確率で表している楕円のパラメータ
○詳細な説明
・全てのハフ特徴（曲線）のリストから３〜４個のハフ特徴の組合せが形成され、それらのパラメータによってハフ特徴が水平及び垂直の端点を記述し得る
・その場合、以下のような基準がハフ特徴の選択に影響を与える
・・ハフ特徴のスコア（確率）
・・ハフ特徴のカーブ
・・ハフ特徴同士の互いに対する位置及び向き
・選択されたハフ特徴の組合せは以下のようにアレンジされる
・・第１に、含まれるハフ特徴の数に従って
・・第２に、含まれるハフ特徴の組合せられた確率に従って
・アレンジングの後で、第１位のハフ特徴の組合せが選択されて、カメラ画像内の瞳孔を最も確からしく表している楕円がフィットされる。
【０１２９】
「コアサイズ制御」
○機能
・並列ハフ変換のフィルタコア（ハフコア）の、現実の楕円サイズへの動的な調節
○入力
・最後に使用されたハフコアサイズ
・対応するカメラ画像内の瞳孔を表す楕円のパラメータ
○出力
・更新されたハフコアサイズ
○詳細な説明
・「ハフ特徴を楕円変換部へ」により計算された楕円のサイズ（半軸の長さ）に依存して、端点の検出の間にハフ変換結果の精度を向上させるためにハフコアサイズがトラッキングされる。
【０１３０】
「時間的スマート平滑化フィルタ」
○機能
・指数平滑法の原理に従う（例えば決定された楕円中点座標の）データ列の適応型同時平滑化であり、その場合、平滑化されるべきデータ列内の外れ値又は極端な孤立値が平滑化されたデータの変動をもたらすことがない。
○入力
・モジュールの各活性化期間において、それぞれ、データ列の１つの値及び関連する品質基準（例えばフィットされた楕円の出現確率など）
○出力
・平滑化されたデータ列（例えば楕円中点座標）
○詳細な説明
・１セットのフィルタパラメータを介してフィルタを初期化することで、その挙動が決定され得る。
・以下のカテゴリの１つに該当しない場合、現実の入力値が平滑化に使用される。
・・関連する出現確率に対応して、それがデータ列の外れ値である場合
・・関連する楕円パラメータに対応して、それがデータ列の孤立値である場合
・・○現実の楕円サイズが以前の楕円サイズと違い過ぎる場合
・・○楕円の最後の位置に対する現実の位置の差異が大き過ぎる場合
・更に、これらの基準の１つが満たされた場合、以前に決定された値が出力される。そうでない場合には、平滑化のための現在の値が考慮される。
・平滑化の間に可能な低遅延を得るために、現在の値は過去の値よりもより強く評価される：
・・現在平滑化されている値＝現在値*平滑化係数＋最後に平滑化された値*（１−平滑化係数）
・・平滑化係数は、定義された境界内において、平滑化されるべきデータの傾向に対して動的に調節される：
・・○データ列内におけるほぼ一定の値動向を用いた低減
・・○データ列内における増加又は減少する値動向を用いた増強
・平滑化されるべき楕円パラメータに関して長期的に大きな逸脱が発生する場合、フィルタ及び平滑化された値動向が調節される。
【０１３１】
「３Ｄカメラシステムモデル」
○機能
・複数のカメラと、ユーザー（又は彼／彼女の眼）と、可能性としてスクリーンとが配置された、３Ｄ空間のモデリング
○入力
・全てのモデルのモデルパラメータ（位置パラメータ、光学的パラメータ、その他）を含むコンフィグレーションファイル
○出力
・このモデル内での計算のための統計的枠組み及び関数を提供する
○詳細な説明
・モデルの全ての構成要素の空間位置（位置及び回転角度）と、それらの幾何学的特性（例えばピクセルサイズ、センササイズ、解像度）及び光学的特性（例えば焦点距離、対物レンズ歪み）のモデリング
・モデルはこの時点で以下の構成要素を含む
・・次の構成要素を含むカメラユニット
・・○カメラセンサ
・・○対物レンズ
・・眼
・・ディスプレイ
・モデルの全ての構成要素の特性の他に、特に、以下に説明する機能、即ち（眼の位置の計算のための）「３Ｄ位置計算」と、（視線方向の計算のための）「３Ｄ視線方向計算」とが提供される。
・このモデルにより、特に（瞳孔中点及び視線方向ベクトルからなる）３Ｄの目視線（3D-Blickgerade）であって、人間の眼の生物学及び生理学に対応して修正されたものが計算され得る。
・任意ではあるが、（例えばディスプレイ上の）３Ｄモデルの他のオブジェクトのビューワの視点と、そのビューワの焦点領域もまた計算され得る。
【０１３２】
「３Ｄ位置計算」
○機能
・２個以上のカメラによって捕捉されたある点（例えば瞳孔中点）の空間位置（３Ｄ座標）の三角形分割による計算
○入力
・２つのカメラ画像内の１つの点の２Ｄ座標
○出力
・その点の３Ｄ座標
・誤差の尺度：伝送された２Ｄ座標の精度をモデルパラメータとの組合せで記述する
○詳細な説明
・伝送された２Ｄ座標から、両方のカメラについて「３Ｄカメラシステムモデル」により（特に光学的パラメータを考慮して）、３Ｄ点をセンサ上の２Ｄ点として表示した光線が計算される。
・これらの光線はこのモードの３Ｄ空間における直線として記述される。
・両方の直線同士の距離が最短となる点（理想的な場合には直線の交点）が探索３Ｄ点であると推定される。
【０１３３】
「３Ｄ視線方向計算」
○機能
・瞳孔の２個の楕円形状の投影からカメラセンサまでの視線方向を、校正なしでかつ眼とカメラシステムとの間の距離を知ることなく決定すること。
○入力
・画像センサの３Ｄ位置パラメータ
・両方の画像センサに投影された瞳孔の楕円パラメータ
・両方の画像センサ上の楕円中点の３Ｄ位置
・瞳孔中点の３Ｄ位置
○出力
・ベクトル及び角度表現における３Ｄ視線方向
○詳細な説明
・瞳孔中点の３Ｄ位置及び画像センサの位置から、現実のカメラユニットの回転により仮想のカメラユニットが計算され、その光軸は、３Ｄの瞳孔中点を通過する。
・次に、現実のセンサへの瞳孔の投影に基づいて、仮想のセンサへのそれぞれの瞳孔の投影が計算されて、いわゆる２個の仮想の楕円がもたらされる。
・仮想の楕円のパラメータから、両方のセンサについて、眼のそれぞれ２個の視点が、それぞれのセンサ平面に対して任意に平行な平行平面上において計算され得る。
・これら４個の視点と３Ｄの瞳孔中点とにより、４個の視線方向ベクトル（各カメラの結果からそれぞれ２個のベクトル）が計算され得る。
・これら４個の視線方向ベクトルのうち、あるカメラの１つのベクトルが、他のカメラの１つのベクトルと正に同一又は略同一となる。
・同一のベクトルの両方は眼の探索視線方向を示し、その視線方向が「３Ｄ視線方向計算」モジュールにより結果として提供される。
【０１３４】
４．ａ）長所
−カメラに対する眼の位置の知識から独立した、３Ｄの眼の位置、３Ｄ視線方向及び瞳孔サイズの、非接触かつ完全に校正不要の決定。
−３Ｄの眼の位置と３Ｄ視線方向との（３Ｄ空間モデルを包含することによる）分析的な決定により、３Ｄ空間内におけるカメラの任意の個数（＞２）及び任意のカメラ位置が可能となる。
−カメラに投影された瞳孔の計測と、それによる瞳孔サイズの正確な決定
−一連の処理において再帰がない完全に並列の処理に起因して、高いフレームレート（例えば１つのＸＩＬＩＮＸ  Ｓｐａｒｔａｎ  ３Ａ  ＤＳＰ  ＠  ９６ＭＨｚについて６０ＦＰＳ  ＠  ６４０ｘ４８０）及び短い待ち時間
−並列ＦＰＧＡ構造のために開発されたＦＰＧＡハードウェア及びアルゴリズムの使用
−オブジェクト認識（ここでは瞳孔楕円の特徴）のためのロバストな特徴抽出のための（上述したＦＰＧＡハードウェアのために調節された形態における）ハフ変換の使用
−ハフ変換の結果の後処理のためのアルゴリズムはＦＰＧＡにおける並列処理に最適化されている。
−固定の時間レジーム（連続的な結果間の一定の時間差）
−１チップ上に完全に集積されていることによる最小の構造空間
−低いエネルギー消費
−ＦＰＧＡからＡＳＩＣへの処理の直接的な変更の可能性→スケーリング効果の活用に起因して、多数でも非常に費用効率が良好な解決策
【０１３５】
迂回策
−（部分的な）他のアルゴリズムの使用（例えば楕円検出のための異なるオブジェクト認識方法）
【０１３６】
特許侵害に対する証明の可能性
−対応する製品が、ＦＰＧＡ及びマイクロプロセッサから構成される高速かつ完全に校正不要なアイトラッキングシステムであれば、明らかに特許侵害の可能性がある。
−ＦＰＧＡビットファイル／ネットワークリストリストのコピー／模倣による特許侵害の証明
○例えばチェックアマウントにより容易に証明できるであろう。
○更に、ビットファイルはＦＰＧＡ−ＩＤに束縛され得る→よって、ＦＰＧＡの類似ＩＤを使用する場合にのみコピーが可能となるであろう。
−ＦＰＧＡビットファイル／ネットワークリストリストの分解による特許侵害の証明
○特許侵害の示唆は、それぞれのＦＰＧＡビットファイル／ネットワークリストリストの分解により認識可能であり得る。
○完全な証明は実現困難となる可能性がある。
−プロセッサコードの「分解」による特許侵害の証明
○示唆は認識可能であるが、完全な証明は困難であろう。
【０１３７】
アプリケーション
−（ライブ）カメラ画像データストリーム内で、３Ｄの眼の位置及び３Ｄの視線方向が検出され、それらは以下のアプリケーションのために使用され得る。
○セキュリティ関連分野
・自動車分野における運転支援システムとして、（例えば瞳孔のカバー度をまばたきの尺度とする）眼の評価による、かつ視点及び焦点を考慮に入れた、例えば瞬間的居眠り警報システム又は疲労検出器
○人間−機械インターフェイス
・技術的デバイスのための入力インターフェイスとして（眼の位置及び視線方向は入力パラメータとして使用され得る）
・スクリーンコンテンツを眺めているときのユーザーの支援（例えば眺められている領域の強調）
・例えば
・・介護分野
・・コンピュータゲーム
・・頭部装着型デバイス用の視線方向サポートされた入力
・・視線方向を含めることによる３Ｄ可視化の最適化
○市場及びメディア展開
・例えば被験者の空間的視線方向及び視点を評価することによる、広告の魅力の評価
○眼科的診断（例えば対物視野計測）及び治療
【０１３８】
ＦＰＧＡ−フェイストラッカー
本発明の一態様は、自律型（ＰＣから独立した）システムに関し、特に、ＦＰＧＡ最適化されたアルゴリズムを使用し、カメラライブ画像内の顔とその（空間的）位置を検出するのに適したシステムに関する。使用されるアルゴリズムは、特に、ＦＰＧＡ（プログラム可能ゲートアレイ）上の処理に対して最適化されており、現存の方法と比較して、処理の中に再帰なしで処理が進むという特徴を有する。そのアルゴリズムは、ＦＰＧＡにおいて一定のフレームレートと最短の待ち時間と最小の資源消費とを用いて非常に高速の画像処理を可能にする。従って、これらのモジュールは、（例えば運転支援システムなど）時間的／待ち時間的／セキュリティ的に厳しいアプリケーション、又は、小型の構造体であることを要件とする（例えばモバイルデバイス用の）人間・機械インターフェイスとしてのアプリケーションに適している。更に、第２のカメラを使用することで、画像内の特定の点に対するユーザーの空間的位置が、高度な精度を持って、校正不要かつ非接触で決定され得る。
【０１３９】
オブジェクトの技術的課題
（ライブ）カメラ画像内におけるロバストでハードウェアベースの顔検出
−ステレオカメラシステムを使用した３Ｄ空間内での顔及び眼の位置の検出
−非常に短い反応時間（又は処理時間）
−小型の構造
−統合された解決策による（ＰＣから独立した）自律機能
【０１４０】
現状技術
−文献:
○Christian Kueblbeck, Andreas Ernst: Face detection and tracking in video sequences using the modified census transformation（非特許文献５）
○Paul Viola, Michael Jones: Robust Real-time Object Detection（非特許文献６）
【０１４１】
現状のフェイストラッカーシステムの欠点
−全体的な処理はＰＣシステム（より一般的：汎用目的プロセッサ）のために最適化されており、従ってその欠点から免れない（例えば処理進行中の固定の時間レジームが可能でない（実例：画像コンテンツ、例えば背景に依存して、トラッキングにより長い時間が掛かる可能性がある））。
−シーケンシャルな処理；初期画像は異なるスケーリング段階へと（最低のスケーリング段階に到達するまで）連続的に送り込まれ、顔に関する多段階分類部を用いてそれぞれ探索される。
○どれだけ多くのスケーリング段階が計算されるべきか、又は、分類部のどれだけ多くの段階が計算されるべきかに依存して、結果が利用可能となるまで処理期間が変化する。
−高いフレームレートに到達するために、効率的なシステムが必要となる（より高いクロックレート、マルチコア−システムの環境下で）。なぜなら、ＰＣハードウェアに対して最適化されたアルゴリズムは（特に組込型プロセッサシステムが用いられた場合）、非常に高い資源消費を必要とするから。
−検出された顔位置に基づいて、分類部は不正確な眼の位置しか提供しない（眼の位置−特に瞳孔中点−は分析的に決定（又は測定）されておらず、従って不正確性から免れない）。
−決定された顔と眼の位置は２Ｄ画像座標においてのみ利用可能であり、３Ｄでは利用できない。
【０１４２】
構成
全体的なシステムは、（単一の顔だけが表示されている）１つのカメラ画像から顔の位置を決定し、この位置を使用して左右の眼の瞳孔中点の位置を決定する。互いにに対する既知のアライメントを有する２つ以上のカメラが使用される場合、これら２つの点が三次元空間のために指示され得る。決定された両方の眼の位置は、「統合型アイトラッカー」を使用するシステム内で更に処理されてもよい。「並列画像スケーラ」、「並列フェイスファインダ」、「並列眼分析器」、「並列瞳孔分析器」、「時間的スマート平滑化フィルタ」、「３Ｄカメラシステムモデル」及び「３Ｄ位置計算」は、全体システム（ＦＰＧＡフェイストラッカー）の個々の機能モジュールに関係している。それらはＦＰＧＡフェイストラッカーの画像の一連の処理に以下のように関与する。
【０１４３】
図７ａは、ＦＰＧＡフェイストラッカー８００における個々の機能モジュールのブロック図を示す。機能モジュール「３Ｄカメラシステムモデル」８０２と「３Ｄ位置計算」８０４は、フェイストラッキングには必須要件であるが、ステレオカメラシステムを用いて、空間位置の決定のために両方のカメラ上の適切な点を計算する場合に（例えば両方のカメラ画像内の２Ｄの顔中点の計算の間に３Ｄの頭部位置を決定するために）使用される。ＦＰＧＡフェイストラッカーにおけるモジュール「特徴抽出（分類）」８０６は、フラウンホーファーＩＩＳ(エルランゲン、ドイツ連邦共和国)のKueblbeck/Ernstの特徴抽出及び分類に基づいており、センサス特徴に基づいて分類された調節済み変形例を使用する。
【０１４４】
ブロック図は、ＦＰＧＡフェイストラキングシステムの個々の処理ステージを示す。以下に、モジュールの詳細な説明を提示する。
【０１４５】
・「並列画像スケーラ７０２」
○機能
・初期画像のスケーリング段階の並列計算と、計算されたスケーリング段階の新たな画像行列内でのアレンジメントにより、後続の画像処理モジュールが全てのスケーリング段階を同時分析できるようする。
【０１４６】
図７ｂは、初期画像７１０（オリジナル画像）と並列画像スケーラの結果７１２（縮小画像）を示す。
○入力
・オリジナル解像度における初期画像７１０
○出力７１２
・初期画像のより多くのスケール済み変形例を、後続のフェイストラキングモジュールのために適切なアレンジメントで含む、新たな画像行列
○詳細な説明
・初期画像の異なるスケーリング段階の並列的計算により画像ピラミッドを確立する。
・以前に計算されたスケーリング段階の目標行列内における定義されたアレンジメントを保証するため、種々の基準により、それぞれのスケーリング段階の画像座標が目標行列の画像座標システムへと変換される。
・・隣接する段階内の分析結果のクロストークを抑制するため、スケーリング段階同士間の定義された最短距離
・・画像から部分的に突出している顔の分析を保証するため、目標行列のエッジへの定義された距離
【０１４７】
・「並列フェイスファインダ８０８」
○機能
・１つの行列内に合体してアレンジされた複数のスケーリング段階の分類結果から顔を検出する。並列フェイスファインダ８０８は図１のファインダに匹敵し、その場合、ファインダ７０６は一般的な機能範囲（瞳孔認識などの更なるパターンの認識）を含む。
【０１４８】
図７ｃに示すように、分類結果（右側）は並列フェイスファインダへの入力を構成する。
○入力７１２
・複数のスケーリング段階を含む分類された画像行列
○出力
・（複数の基準を考慮して）最高確率で顔が配置される位置
○詳細な説明
・分類結果を限定するためのノイズ抑制
・局所合計及び最大値フィルタ（lokalen Summen- und Maximunfilter）の組合せによる、スケーリング段階内の分類結果の空間的修正
・任意ではあるが全てのスケーリング段階にわたる顔サイズにおける、顔の最高出現確率についての向き
・選択されたスケーリング段階にわたる結果位置の空間的平均化
・・平均化に関与するスケーリング段階の選択は、以下の基準を考慮して行われる。
・・○観察されたスケーリング段階内の選択された顔の中点同士の差
・・○合計フィルタの最高結果の動的に決定された偏差
・・○分類結果なしのスケーリング段階の抑制
・「並列フェイスファインダ」の検出性能の閾値ベースの調節
【０１４９】
「並列眼分析器８１０」
○機能
・顔検出の間に、対応する顔内の眼の位置を並列に検出する（これは理想的に前面から捕捉されておらず、かつ歪んだ顔の場合に特に重要である）。
○入力
・（「並列画像スケーラ」モジュールからの）初期画像の複数のスケーリング段階を含む画像行列と、（「並列フェイスファインダ」モジュールからの）探索される顔が最高確率で配置されているそれぞれの現在の位置
○出力
・「並列フェイスファインダ」により検出された現在の顔の中の眼の位置及び関連する確率値
○詳細な説明
・ダウンスケールされた初期画像に基づき、「並列フェイスファインダ」により提供された顔領域内の眼の定義された範囲（眼の範囲）内において、各眼に対する眼の探索が以下のように行われる。
・・顔領域内の眼の経験的に決定された通常位置から眼の範囲を定義する。
・・特別に形成された相関ベースのローカルフィルタを用いて、眼の存在についての確率が眼の範囲内で決定される（この画像セグメント内の眼は、光環境を有する小さな暗い表面として簡素に記述される）
・・正確な眼の位置であって、以前に計算された確率分布における最大探索からの眼の位置の確率結果を含む
【０１５０】
「並列瞳孔分析器８１２」
○機能
・以前に決定された眼の位置に基づいて、検出された眼の中の瞳孔中点の位置を検出する（眼の位置の精度が向上することになり、それは瞳孔の測定や後続の評価にとって重要である）
○入力
・オリジナル解像度における初期画像と、（「並列眼分析器」又は「並列フェイスファインダ」からの）決定された眼の位置及び顔のサイズ
○出力
・評価された画像内の瞳孔の位置と、瞳孔が発見されたかどうかについてのステータス指示
○詳細な説明
・決定された眼の位置と顔のサイズに基づいて、処理されるべき画像部分が眼の周囲に認識される
・この画像行列内で画像コラムの最小値を含むベクトルと画像ラインの最小値を含むベクトルとが構築される。
・これらベクトルの中で（最小グレー値から）、以下に説明するように瞳孔中点が水平及び垂直方向において別々に検出される
・・それぞれのベクトルの最小値の検出（瞳孔内の位置として）
・・この最小値に基づいて、そのベクトル内で、正及び負の方向に、全てのベクトル要素の動的な範囲に比例的に関連する調節可能な閾値を超えた位置が決定される
・・両方のベクトル内のこれらの範囲の中点が一緒に、分析された画像内の瞳孔の中点を形成する。
【０１５１】
「時間的スマート平滑化フィルタ８１４」
○機能
・（例えば決定された顔座標の）データ列の適応型時間的平滑化であり、これにより、外れ値、不合理な値又は極端な孤立値が、平滑化されたデータ内で変動をもたらさなくなる。
○入力
・モジュールの各活性化期間に対し、それぞれデータ列の１つの値及び関連する品質基準（フェイストラッキングに関して：顔が発見されたフェイススコア及びダウンスケーリング段階）
○出力
・平滑化されたデータ値（例えば顔座標）
○詳細な説明
・フィルタパラメータのセットを介し、フィルタの初期化の間に、その挙動が決定され得る。
・現在の入力値は、それが以下のカテゴリの１つに当てはまらない場合、平滑化のために使用される。
・・関連するスコアによれば、それはデータ列の外れ値である。
・・関連するダウンスケーリング段階によれば、それは不合理な値（離れ過ぎであるとダウンスケーリング段階内で決定されていた値）である。
・・平滑化に使用された最後の値に対して過大な差がある場合、それは外れ値である。
・これらの基準の１つが満足された場合、以前に決定された平滑化済み値が出力される。それ以外の場合には、現在の値が平滑化のために考慮される。
・平滑化の間のできるだけ低い遅延を達成するために、現在の値が過去の値よりもより強く評価される。
・・現時点で平滑化される値＝現在値*平滑化係数＋最後の平滑化された値*（１−平滑化係数）
・・平滑化係数は、平滑化されるべきデータの傾向に対し、定義された境界内において動的に調節される
・・○データ列の比較的一定した値動向の低減
・・○データ列の増加又は減少する値動向の増強
・平滑化されるべき楕円パラメータに関して長期的に大きな逸脱が発生する場合、フィルタ及び平滑化された値動向が調整される。
【０１５２】
「３Ｄカメラシステムモデル８０４ａ」
○機能
・複数のカメラ、ユーザー（又は彼／彼女の眼）、及び可能性としてスクリーンが配置されている３Ｄ空間のモデリング
○入力
・モデルの全ての構成要素のモデルパラメータ（位置パラメータ、光学的パラメータなど）を含むコンフィグレーションファイル
○出力
・このモデル内での計算のための統計的枠組み及び関数を提供する
○詳細な説明
・モデルの全ての構成要素の空間位置（位置及び回転角度）と、それらの幾何学的特性（例えばピクセルサイズ、センササイズ、解像度）及び光学的特性（例えば焦点距離、対物レンズ歪み）のモデリング
・モデルはこの時点で以下の構成要素を含む
・・次の構成要素を含むカメラユニット
・・○カメラセンサ
・・○対物レンズ
・・眼
・・ディスプレイ
・モデルの全ての構成要素の特性の他に、特に、以下に説明する機能（眼の位置の計算のための）「３Ｄ位置計算」と、（視線方向の計算のための）「３Ｄ視線方向計算」とが提供される。
・他のアプリケーションの場合、更に以下の機能が提供される。
・・このモデルにより、特に（瞳孔中点及び視線方向ベクトルからなる）３Ｄの目線であって、人間の眼の生物学及び生理学に対応して修正されたものが計算され得る。
・・任意ではあるが、（例えばディスプレイ上の）３Ｄモデルの他のオブジェクトへのビューワの視点と、そのビューワの焦点領域もまた計算され得る。
【０１５３】
「３Ｄ位置計算８０４」
○機能
・２個以上のカメラによって捕捉されたある点（例えば瞳孔中点）の空間位置（３Ｄ座標）の計算
○入力
・２つのカメラ画像内の１つの点の２Ｄ座標
○出力
・その点の３Ｄ座標
・誤差の尺度：伝送された２Ｄ座標の精度をモデルパラメータに関連して記述する
○詳細な説明
・伝送された２Ｄ座標から、両方のカメラについて「３Ｄカメラシステムモデル」により（特に光学的パラメータを考慮して）、３Ｄ点をセンサ上の２Ｄ点として表示した光線が計算される。
・これらの光線はこのモードの３Ｄ空間における直線として記述される。
・両方の直線同士の距離が最短となる点（理想的な場合には直線の交点）が探索３Ｄ点であると推定される。
【０１５４】
長所
２Ｄ内の（ライブ）カメラ画像内における、及び３Ｄ空間での再計算による（３Ｄ空間モデルを含めることによる）３Ｄにおける、顔の位置及び眼の位置の決定
−３．で提示したアルゴリズムは、ＦＰＧＡにおいてリアルタイム可能でかつ並列の処理に対して最適化されている。
−一連の処理の中に再帰がない完全に並列の処理に起因する、高いフレームレート（ＸＩＬＩＮＸ  Ｓｐａｒｔａｎ３Ａ  ＤＳＰ  ＠４８ＭＨｚについて６０ＦＰＳ＠６４０ｘ４８０）と、短い待ち時間→非常に高速の画像処理及び最小遅延での結果の出力
−全体機能が１つの構成要素（ＦＰＧＡ）で達成できることによる最小の構造空間
−低いエネルギー消費
−固定の時間レジーム（連続的な結果間の一定の時間差）及びセキュリティ的に厳しいアプリケーションへの使用の適応性
−ＦＰＧＡからＡＳＩＣ（特定用途向け統合型回路）への処理の直接的な変更の可能性→スケーリング効果の活用に起因して、多数でも非常に費用効率が良好な解決策
【０１５５】
迂回策
−個々のサブ関数の全体的な機能のための他のアルゴリズムの使用
【０１５６】
特許侵害に対する証明の可能性
−ＦＰＧＡビットファイル／ネットワークリストリストのコピー／模倣による特許侵害の証明
○例えばチェックアマウントにより容易に証明であろう。
○更に、ビットファイルはＦＰＧＡ−ＩＤに束縛され得る→よって、ＦＰＧＡの類似ＩＤを使用する場合にのみコピーが可能となるであろう。
−ＦＰＧＡビットファイル／ネットワークリストリストの「分解」による特許侵害の証明
○特許侵害の示唆は、それぞれのＦＰＧＡビットファイル／ネットワークリストリストの分解により認識可能であり得る。
○完全な証明は実現困難となる可能性がある。
【０１５７】
アプリケーション
−ソフトウエア解決策との比較におけるアプリケーション間の長所
○自律機能（チップ上のシステム）
○ＡＳＩＣへの容易な変更の可能性
○既存のシステム／スイッチ内への空間節約的な統合
−ソフトウエア解決策の分野と類似するアプリケーション分野（（ライブ）カメラ画像データストリーム内で顔の位置及び対応する眼の位置が検出されて、以下のリストに記載するアプリケーションに使用される）。
○セキュリティアプリケーション
○セキュリティ関連分野
・例えば眼（まばたきの程度）の評価と眼及び頭部の動きの評価とによる、自動車分野における瞬間的居眠り警報システム
○人間−機械インターフェイス
・例えば技術的デバイスのための入力インターフェイスとして（頭部又は眼の位置を入力パラメータとして）
○視線計測
・例えば顔及び眼の位置を（「統合型アイトラッカー」との組合せにおける）視線方向決定のための事前段階として
○マーケティング
・例えば頭部及び眼のパラメータ（特に位置）を決定することによる、広告の魅力の評価
【０１５８】
以下に、２つのイラストを用いて、上述の態様に関する更なる背景知識について説明する。
【０１５９】
この視線方向計算のための詳細な計算の実例について、図８ａ〜図８ｅを用いて説明する。
【０１６０】
瞳孔中点の計算
上述したように、カメラレンズ８０８ａ及び８０８ｂにより画像センサ８０２ａ及び８０２ｂの上に円形の瞳孔８０６ａを描写することにより、楕円形状の瞳孔の投影がそれぞれもたらされる（図８ａ参照）。瞳孔の中心はセンサ８０２ａ及び８０２ｂの両方の上にあり、また、それぞれのカメラ画像の中では、常に楕円の中点ＥMPK1及びＥMPK2として描かれている。従って、これら２個の楕円中点ＥMPK1及びＥMPK2のステレオ後方投影（stereoskopische Rueckprojektion）に基づいて、３Ｄの瞳孔中点が対物レンズモデルによって決定され得る。その場合の任意選択的な要件は、理想的に時間同期するピクチャであり、それにより両方のカメラから取り出された描写場面が同一となり、よって、瞳孔中点が同一の位置に集められたようになる。
【０１６１】
最初に、各カメラについて、楕円中点の後方投影ビームＲＳが計算されなければならず、そのビームは、オブジェクトと光学システム（図８ａ）のそのオブジェクト側（Ｈ１）の交点との間の交差ビームに沿って延びる。
［数１］
0006268303.tif 000002
【０１６２】
この後方投影ビームは数式（Ａ１）により定義される。その式は開始点ＲＳ0及び標準化された方向ベクトル
0006268303.tif 000003
により構成され、使用される対物レンズモデル（図８ｂ）を、対物レンズの２つの主要点Ｈ1及びＨ2から、及びセンサ平面内の楕円中心ＥMPから、数式（Ａ２）及び（Ａ３）によりもたらす。このため、全ての３個の点（Ｈ1，Ｈ2，ＨMP）は、アイトラッカー配位システム(Eyetracker-Koordinatensystem)の中で使用可能でなくてはならない。
［数２］
0006268303.tif 000004
［数３］
0006268303.tif 000005
【０１６３】
主要点は、対物レンズ及びカメラのパラメータ（図８ｂ）から、次式によって直接的に計算され得る。
［数４］
0006268303.tif 000006
及び
［数５］
0006268303.tif 000007
【０１６４】
ここで、Ｋ0はカメラセンサ平面の中点であり、
0006268303.tif 000008
はカメラセンサ平面の法線ベクトルである。カメラ配位システムにおける３Ｄの楕円中心は、以前に決定された楕円中心パラメータｘm及びｙmから計算されることができ、次式により提供される。
［数６］
0006268303.tif 000009
【０１６５】
ここで、Ｐimageはカメラ画像のピクセル内の解像度であり、Ｓoffsetは画像の読出しを開始するセンサ上の位置であり、Ｓresはセンサの解像度であり、ＳPxGrはセンサのピクセルサイズである。
【０１６６】
探索される瞳孔中点は、理想的な場合、２つの後方投影ビームＲＳK1及びＲＳK2の交点である。しかし、現実的に決定されたモデルパラメータと楕円中点を用いると、最小の測定誤差の場合、３Ｄ空間内で直線の交点が得られないことがある。この場合、交差せず平行に延びてもいない２つの直線は、幾何学においてねじれの位置にある線(skew lines)と呼ばれる。後方投影の場合、ねじれの位置にある２つの線がそれぞれ瞳孔中点のごく近傍を通過することが推定され得る。従って、瞳孔中点は、２つの直線の間の半分の線上の互いに最短距離となる位置にある。
【０１６７】
ねじれの位置にある２つの線の最短距離は、それら２つの直線に対して垂直となる連結線により示される。両方の後方投影ビーム上に垂直に立つ線の方向ベクトル
0006268303.tif 000010
は、数式（Ａ４）に従って、その方向ベクトルの交差積(Kreuzprodukt)として計算され得る。
［数７］
0006268303.tif 000011
【０１６８】
後方投影ビームの間の最短の連結線の位置は、数式（Ａ５）により定義される。ＲＳK1（ｓ）、ＲＳK2（t）及び
0006268303.tif 000012
を使用することで、ある数式系がもたらされ、そこからｓ，ｔ及びｕが計算され得る。
［数８］
0006268303.tif 000013
【０１６９】
後方投影ビームの間の線の半分にある探索される瞳孔中点PMPは、ｓ及びｕのために計算された値を使用した後で、数式（Ａ６）から結果的にもたらされる。
［数９］
0006268303.tif 000014
【０１７０】
計算された瞳孔中点の正確さの指標として、追加的に、後方投影ビームの間の最短距離ｄRSが計算され得る。モデルパラメータ及び楕円パラメータがより正確であればあるほど、ｄRSは小さくなる。
［数１０］
0006268303.tif 000015
【０１７１】
計算された瞳孔中点は、アイトラッカーにより決定されるべき眼の視線を決定する２つのパラメータの１つである。更に、これは後段で説明する視線方向ベクトル
0006268303.tif 000016
の計算に必要となる。
【０１７２】
瞳孔中点を計算するこの方法の長所は、カメラから眼までの距離がシステム内にしっかりと蓄積されている必要がない点である。この点は、例えば特許文献２の特許明細書の中に記載された方法では必要とされている。
【０１７３】
視線方向ベクトルの計算
決定されるべき視線方向ベクトル
0006268303.tif 000017
は、円形の瞳孔表面の法線ベクトルに対応し、よって、３Ｄ空間で特定される瞳孔のアライメントに基づく。カメラセンサ上の瞳孔の２つの楕円形状の投影の各々について決定され得る楕円パラメータから、瞳孔の位置及びアライメントが決定され得る。これにより、２つの半軸の長さと、投影された楕円の回転角度とは、カメラ位置に対する瞳孔及び／又は視線方向のアライメントについて特徴的となる。
【０１７４】
楕円パラメータ、及び、アイトラッキングシステムの中にしっかりと蓄積されたカメラと眼の間の距離から視線方向を計算する１つの手法は、例えば特許文献２の特許明細書の中に記載されている。図８eに示すように、この手法は平行投影を想定し、その場合、センサの法線とセンサに投影された瞳孔の中点とにより定義される直線は、瞳孔中点を通過する。このために、カメラと眼との間の距離は事前に既知でなくてはならず、アイトラッキングシステムの中にしっかりと蓄積されている必要がある。
【０１７５】
実際のオブジェクトの映像の挙動を記述する、この手法で提示されたカメラの対物レンズのモデルを用いて、画像センサに対するオブジェクトの透視投影（perspektivische Projektion）が生まれる。これにより、瞳孔中点の計算が実行でき、カメラから眼までの距離は事前に既知である必要がなくなる。このことは、上述の特許明細書と比較した場合の本質的な改善点の１つを構成する。しかし、透視投影に起因して、センサ上に表示される瞳孔の楕円の形状は、平行投影とは対照的な結果をもたらす。これは、瞳孔のセンサ表面に対する傾きだけに起因するものではない。カメラの対物レンズの光軸からの瞳孔中点の偏位δも同様に、図８ｂに示すように、瞳孔投影の形状に対し、またそこから決定される楕円パラメータに対し、影響を与える。
【０１７６】
図８ｂのスケッチとは対照的に、数百ミリメートルを有する瞳孔とカメラとの間の距離は、２ｍｍから８ｍｍの間の瞳孔半径と比べて非常に大きい。従って、光軸に対する瞳孔の傾きから発生する、理想的な楕円形からの瞳孔投影のずれは、非常に小さく、省略可能である。
【０１７７】
視線方向ベクトル
0006268303.tif 000018
を計算できるようにするため、楕円パラメータに対する角度δの影響は排除されるべきであり、その結果、瞳孔投影の形状だけが瞳孔のアライメントによる影響を受ける。瞳孔中点PMPがカメラシステムの光軸内に直に存在すれば、これは常に既定となる。つまり、仮想のカメラシステムｖＫであって、その光軸が図８ｃに示すように予め計算された瞳孔中点PMPを直接的に通過するカメラシステムの、センサ上の瞳孔投影を計算することにより、角度δの影響を排除できる。
【０１７８】
そのような仮想のカメラシステム８０４ａ'（図８ｃのｖK）の位置及びアライメントは、オリジナルカメラシステム８０４ａ（図８ｂのK）のパラメータから、そのオブジェクト側の主要点Ｈ1回りの回転により計算できる。つまり、これは同時に、仮想のカメラシステム８０４ａ'のオブジェクト側の主要点ｖＨ1に対応する。従って、描写されたオブジェクトの交差ビームの方向ベクトルは、オリジナルカメラシステム内のそれらと同様に、仮想の光学システム８０８ｃ’の前と後とに存在する。視線方向ベクトルを決定するための全ての更なる計算は、アイトラッカー配位システム内で行われる。
【０１７９】
仮想のカメラｖKの標準化された法線ベクトル
0006268303.tif 000019
は、次式により取得される：
［数１１］
0006268303.tif 000020
【０１８０】
更なる手順のために、アイトラッカー配位システムのｘ軸（ｖKθ）回り、ｙ軸（ｖKφ）回り、及びｚ軸（ｖKψ）回りの回転角度を計算することが必要となる。これ角度は、ベクトル
0006268303.tif 000021
を取得するために、アイトラッカー配位システムのｚ方向の単位ベクトルが、アイトラッカー配位システムの複数の軸回りに回転されるべき角度である。軸ｖKθ、ｖKφ、及びｖKψ回りの、アイトラッカー配位システムのｘ方向の単位ベクトルの回転と、ｙ方向の単位ベクトルの回転とにより、ベクトルｖKx及び
0006268303.tif 000022
が計算でき、それらはアイトラッカー配位システムにおける仮想のセンサのｘ軸及びｙ軸を示す。
【０１８１】
仮想のカメラシステム８０４’（図８ｃ）の位置を取得するために、その位置ベクトル及び／又は座標原点ｖK0、即ち同時に画像センサの中点が、次式（Ａ９）により、それが瞳孔中点ＰMPの交差ビーム内にあるように、計算されなければならない。
［数１２］
0006268303.tif 000023
【０１８２】
この目的で必要になる、主要点の間の距離ｄ、及び主平面２とセンサ平面との間の距離ｂが、既知又は例えば試験的設定により決定される必要がある。
【０１８３】
更に、画像側の主要点の位置は、次式（Ａ１０）からもたらされる。
［数１３］
0006268303.tif 000024
【０１８４】
仮想のセンサ８０４’上の瞳孔投影を計算するために、まず、予め決定されたセンサ上のオリジナル位置における楕円のエッジ点ＲＰ3Dが必要となる。これらは、カメラ画像内の楕円Ｅのエッジ点ＲＰ2Dからもたらされ、その場合、図８ｄに対応して、Ｅaは楕円の短い半軸、Ｅｂは楕円Ｅxmの長い半軸、Ｅymは楕円の中点座標、Ｅαは楕円の回転角度である。アイトラッカー配位システム内の１つの点ＲＰ3Dの位置は、楕円ＥとセンサＳとカメラＫとのパラメータから次式（Ａ１１）〜（Ａ１４）により計算されることができ、ここで、ωは図８ｄの楕円の外周上のエッジ点ＲＰ2Dの位置を示す。
［数１４］
0006268303.tif 000025
［数１５］
0006268303.tif 000026
［数１６］
0006268303.tif 000027
［数１７］
0006268303.tif 000028
【０１８５】
瞳孔エッジ点をセンサ上の楕円エッジ点ＲＰ3Dとして表示するオリジナルカメラシステム内の１つの交差ビームＫＳの方向は、同じ瞳孔エッジ点を仮想センサ上の楕円エッジ点ＲＰ3Dとして表示する、仮想のカメラシステム内の交差ビームｖＫＳの方向と等しい。図８ｂと図８ｃ内の楕円エッジ点の交差ビームがこの態様を表している。つまり、２つのビームＫＳとｖＫＳは、次式（Ａ１５）からもたらされる同じ方向ベクトルを有する。仮想のセンサ側の交差ビームｖＫＳの位置ベクトルｖＫＳ0については、ｖＫＳ0＝ｖＨ2が常に適用可能である。
［数１８］
0006268303.tif 000029
【０１８６】
仮想の交差ビームと、仮想カメラｖＫのｘ−ｙ平面に対応する仮想のセンサ平面とは、次式（Ａ１６）において等式化され、そこで、ｓ2とｔ2とを解くことで、それらの交点が取得できる。これらにより、仮想のカメラの画像内のピクセル座標における楕円エッジ点が次式（Ａ１７）により計算され得る。
［数１９］
0006268303.tif 000030
［数２０］
0006268303.tif 000031
【０１８７】
次に、複数の仮想のエッジ点ｖＲＰ2Dから、仮想の楕円ｖＥのパラメータが、楕円フィティング、例えばFitzgibbonらによるアルゴリズムである「楕円の直接最小二乗当てはめ(Direct least square fitting of ellipses)」により計算され得る。このため、少なくとも６個の仮想のエッジ点ｖＲＰ2Dが必要となり、それらは上述した数式（Ａ１１）内で上述の経路で複数のωを使用することにより、計算され得る。
【０１８８】
このようにして決定された仮想の楕円ｖＥの形状は、瞳孔のアライメントに依存する。更に、その中点は常に仮想のセンサの中心にあり、カメラの法線
0006268303.tif 000032
に対応するセンサの法線とともに、光軸に沿って瞳孔中点ＰMPを通過して走る直線を形成する。つまり、特許文献２の特許明細書で提示された手法に基づいて、次に視線方向を計算するための要件を満足している。従って、この手法を用いると、瞳孔中点が実際のカメラシステムの光軸からずれて存在する場合、上述した仮想のカメラシステムを使用して視線方向を決定することが可能となり、そのような場合とは実際のアプリケーションにおいてほぼ当てはまる。
【０１８９】
図８ｅに示すように、予め計算された仮想の楕円ｖＥは、仮想の主平面１の中に含まれている。ｖＥの中点は仮想センサの中心にあり、つまり光軸内にあるので、３Ｄの楕円中点ｖＥ’MPは仮想の主要点１に対応する。同時に、それは仮想の主平面１における瞳孔中点ＰMPの垂直足点である。以下では、楕円ｖＥの軸比と回転角度だけが使用される。これらはｖＥのパラメータを形成し、主平面１に関して変更なしで使用可能である。なぜなら、それらが言及する２Ｄのセンサ平面のｘ軸及びｙ軸のアライメントは、３Ｄのセンサ平面に対応し、よってまた、主平面１のアライメントにも対応するからである。
【０１９０】
カメラ画像内の瞳孔８０６ａの各ピクチャは、その瞳孔の２つの異なるアライメントによりもたらされ得る。図８ｅに示すように、瞳孔の形状を評価する間に、２つの可能な直線的視線と仮想の主平面１との２つの仮想の交点ｖＳが、各カメラの結果からもたらされる。図８ｅの幾何学比に対応して、それら２つの可能な視線方向
0006268303.tif 000033
は、以下のように決定され得る。
【０１９１】
既知の瞳孔中点と楕円中点ｖＥ’MPとの間の距離Ａは、次の通りである。
［数２１］
0006268303.tif 000034
【０１９２】
そこから、ｒが次式Ａ１９を用いて決定され得る。
［数２２］
0006268303.tif 000035
【０１９３】
ｖＨ1からｖＳ1及びｖＳ2へと位置合わせされる方向ベクトル
0006268303.tif 000036
は、次式に対して同様に計算され、
［数２３］
0006268303.tif 000037
次式のｖKθ、ｖKφ、ｖKψ及びｖKαに基づいている。
［数２４］
0006268303.tif 000038
［数２５］
0006268303.tif 000039
【０１９４】
次に、両方の仮想の交点ｖＳ１とｖＳ２とが決定され、そこから、可能な視線方向
0006268303.tif 000040
が決定され得る。
［数２６］
0006268303.tif 000041
［数２７］
0006268303.tif 000042
［数２８］
0006268303.tif 000043
［数２９］
0006268303.tif 000044
【０１９５】
実際の視線方向を決定するために、カメラ１の可能な視線方向
0006268303.tif 000045
と、カメラ２の可能な視線方向
0006268303.tif 000046
とが必要となる。これら４個のベクトルのうち、各カメラのそれぞれ１つは実際の視線方向を示している。よって、これら２つの標準化されたベクトルは理想的には同一である。それらを識別するために、可能な４個の全ての組合せについて、それぞれに選択された可能な視線方向ベクトルの差が、１つのカメラのベクトルから、及び他のカメラのベクトルから形成される。最小の差を有する組合せが探索ベクトルを含む。平均化されると、これらの結果は決定されるべき視線方向ベクトル
0006268303.tif 000047
をもたらす。平均化するとき、ほぼ同時に捕捉された画像は、両方のカメラが同じ瞳孔位置と同じアライメント、よって同じ視線方向を収集したと想定されるべきである。
【０１９６】
計算された視線方向の精度の尺度として、追加的に、実際の視線方向を示す２つの平均化されたベクトル
0006268303.tif 000048
の間の角度ｗdiffが計算され得る。ｗdiffが小さければ小さいほど、それまで計算に使用されたモデルパラメータ及び楕円中点が正確であったことになる。
［数３０］
0006268303.tif 000049
【０１９７】
瞳孔の通常位置（
0006268303.tif 000050
がアイトラッカー配位システムのｚ軸に平行な位置）に対する視点θBWとΦBWとは、以下の式により計算され得る。
［数３１］
0006268303.tif 000051
及び
［数３２］
0006268303.tif 000052
【０１９８】
眼の光軸から及び／又は瞳孔の法線からの、システム上の視線方向のずれが考慮されるべき場合には、決定された視点θBWとΦBWとに対して対応する角度が加算され得る。よって、新たな視線方向ベクトルは、新たな視点θBW’とΦBW’と
0006268303.tif 000053
から、次式によって計算されるべきである。
［数３３］
0006268303.tif 000054
【０１９９】
（数式Ａ６から瞳孔中点ＰMPに加えて）視線ベクトル
0006268303.tif 000055
が既知になると、３Ｄの画像分析器によって決定されるべき目視線（ＬｏＳ）の第２パラメータが既知となる。これは以下の数式から導出され得る。
［数３４］
0006268303.tif 000056
【０２００】
上述した方法の実装は、プラットフォームに依存するものでなく、従って、上述した方法は、異なるハードウェアプラットフォーム上、例えばＰＣ上でも実行され得る。
【０２０１】
特徴抽出方法の処理のための方法の発展
本願の以下の実施形態の目的は、並列ハフ変換に基づいて、特徴抽出のためのロバストな方法を発展させることである。このために、ハフコアは修正され、特徴抽出のための方法が提示される。その方法は、変換の結果を減少させ、それらを画像ごとの少数の「特徴ベクトル」へと作り変える。その後、新たに発展された方法は、ＭＡＴＬＡＢツールボックス内に実装されて試験される。最後に、新たに発展された方法のＦＰＧＡ実装を提示する。
【０２０２】
直線及び円のための並列ハフ変換
並列ハフ変換は種々のサイズのハフコアを使用し、それらはそれぞれのアプリケーション用のコンフィグレーション行列によって構成されなければならない。そのようなコンフィグレーション行列を確立するための数学的コンテキスト及び方法を、以下に提示する。MATLAB alc_config_lines_curvatures.m は、これらの方法に言及し、異なるサイズの直線及び半円のためのコンフィグレーション行列を確立する。
【０２０３】
コンフィグレーション行列を確立するために、まず、曲線アレイを離散表示で種々のハフコアについて計算することが必要である。曲線アレイについての要件（確立規定Bildungsvorschriften)は既に発表されている。これらの確立規定を考慮すると、特に直線と半円はハフコアのコンフィグレーションに適している。視線方向の決定のためには、半円（又は曲線）用のコンフィグレーションを有するハフコアが使用される。完璧さを期す上で、ここでは直線（又は直線セグメント）用のコンフィグレーションも導出される。直線用の曲線のアレイを決定する数学的コンテキストが提示される。
【０２０４】
直線用の曲線のアレイの計算のための開始点は、次式(B1)の線形直線方程式である。
［数３５］
0006268303.tif 000057
【０２０５】
曲線のアレイは傾きｍの変化により生成され得る。このため、０°から４５°の直線の傾きは同一サイズの区間へと分割される。区間の個数はハフコアサイズに依存し、ハフコアラインの数に対応する。傾きは、０〜coreheightの制御変数Ycoreを介して調整されてもよい。
［数３６］
0006268303.tif 000058
【０２０６】
曲線のアレイの関数値は、その値が０〜core幅を有する制御変数（（Ｂ３）ではｘcoreで置換されている）の変化により計算される。
［数３７］
0006268303.tif 000059
【０２０７】
２Dプロットにおける離散表示のために、関数値は丸め操作を受けなければならない。半円用の曲線のアレイの計算は、Katzmann 2005，(非特許文献３）の３７〜３８頁に記載され、図９ｂに示されている。
【０２０８】
曲線のアレイの計算のための開始点は、座標フォーマット内の円方程式である。
［数３８］
0006268303.tif 000060
【０２０９】
ｘM＝０（円の中心がｙ軸上にある）、ｘ＝ｘcoreを使用し、曲線のアレイの関数値についてｙへと変換することにより、次式（Ｂ５）になる。
［数３９］
0006268303.tif 000061
【０２１０】
ｙM及びｒは未知であるため、置換されなければならない。このため、図９ｂから（Ｂ６）及び（Ｂ７）の数学的コンテキストが導出されてもよい。
［数４０］
0006268303.tif 000062
［数４１］
0006268303.tif 000063
【０２１１】
（Ｂ７）のｙMへの変換により、また、ｙMが常に負でなければならない（図９ｂ参照）という条件から、次式（Ｂ８）が取得される。
［数４２］
0006268303.tif 000064
【０２１２】
（Ｂ８）を（Ｂ５）に代入すると、次式（Ｂ９）がもたらされる。
［数４３］
0006268303.tif 000065
【０２１３】
図９ｂから、ハフコアはハブ中心合わせされており、円座標系のｙ軸内にあることが明らかである。変数ｘcoreは通常、０からｃｏｒｅwidth−１まで伸びており、従って、
0006268303.tif 000066
により修正されなければならない。
［数４４］
0006268303.tif 000067
【０２１４】
しかしながら、半径が欠落しているので、これは（Ｂ６）を（Ｂ７）に代入し、更なる変換により取得される。
［数４５］
0006268303.tif 000068
［数４６］
0006268303.tif 000069
［数４７］
0006268303.tif 000070
【０２１５】
曲線のアレイを生成するため、最後に、０から
0006268303.tif 000071
までの変数ｈが変更されなければならない。これは、０からｃｏｒｅhightまで変化する制御変数ｙcoreを介して行われる。
［数４８］
0006268303.tif 000072
【０２１６】
直線について上述したように、離散表示のためのｙ値は、２Ｄプロットにおいて丸め操作を受けなければならない。タイプ２のハフコアのための曲線のアレイは、次式（Ｂ１５）により容易に決定され得る。
［数４９］
0006268303.tif 000073
【０２１７】
曲線のアレイに基づき、全てのハフサイズについて、直線及び円に関するそれぞれ２個のコンフィグレーション（タイプ１及びタイプ２）が決定され得る。これらのコンフィグレーションは、その場合、曲線のアレイから直接的に決定される（Katzmann  2005：非特許文献３の３５〜３６頁参照）。コンフィグレーション行列はゼロ又は１によって占められ得る。その場合の１は、ハフコア内の使用された遅延要素を表現している。最初に、コンフィグレーション行列は、ハフコアの次元においてゼロ値を用いて初期化される。その後、以下のステップが行われる。
１）曲線のアレイの第１曲線から開始して、第１のｘインデックス番号のｙ値をテストする。ｙ値がゼロよりも大きい場合、正に同じ位置（同じｘインデックス）にある同じライン（同じｙインデックス）内でコンフィグレーション行列の要素を１で占める。
２）曲線のアレイの全ての曲線を介して、ｙ値を同じｘインデックスで修正する。第１ステップにおいてある要素が１で占められていた場合、全てのｙ値から１を差し引く。第１ステップにおいてその要素が何も占められていない場合、何もしない。
３）コンフィグレーション行列の全ての要素がアプローチされる限り、ステップ１とステップ２とをパススルーする。
【０２１８】
図９ｃにおいて、コンフィグレーションの手順が段階的に示されている。
【０２１９】
最後に、ハフコアコンフィグレーションの幾つかの特殊性について述べる。直線に関するコンフィグレーションは、ハフコアの幅に依存する直線セグメントだけを常に表している。二値エッジ画像における長い直線セグメントは、任意ではあるが、複数の検出された直線セグメントから組み立てられてもよい。直線セグメントの角度（又は傾き）の解像度は、ハフコアの高さに依存する。
【０２２０】
円に関するコンフィグレーションは、半円の頂点の周囲の円弧を常に表す。曲線のアレイの最高のｙインデックス番号（最小半径）だけが、完全な半円を表す。新たなハフコアについては発展したコンフィグレーションが使用され得る。
【０２２１】
ハフコアの修正
Holland-Nelｌ（非特許文献４）のＦＰＧＡ構成の決定的な欠点は、ハフコアの柔軟性のないコンフィグレーションである。合成に先立って遅延ラインがパラメータ化されなければならず、その後、ハードウェア構造の中に固定的に格納される（Holland-Nelｌ（非特許文献４）の４８〜４９頁）。ランタイム中の変化（例えばハフコアサイズ）は全く不可能である。新たな方法は、この点においてより柔軟になることである。新たなハフコアは、−ランタイム中であっても−ＦＰＧＡにおいて、完全に新たに構成可能となるべきである。これにより、複数の長所が生まれる。一方では、２つのハフコア（タイプ１及びタイプ２）が並列にファイルされる必要がなく、他方では、直線及び半円について異なるコンフィグレーションが使用されてもよいことである。更に、ハフコアサイズがランタイム中に柔軟に変更され得る。
【０２２２】
以前のハフコア構造は遅延とバイパスとからなり、ＦＰＧＡ合成の前に、どの経路が使用されるべきかが決定される。以下では、この構造が、マルチプレクサと、遅延要素のコンフィグレーションのための更なるレジスタ（マルチプレクサの切換え）と、パイプライン遅延とにより拡張される。コンフィグレーションレジスタはランタイムの間に修正され得る。このようにして、異なるコンフィグレーション行列がハフコア内へと組み込まれ得る。パイプライン遅延を設定することで、ＦＰＧＡにおける合成ツールは、ハフコア設計の実装の間により大きな自由度を持ち、高いクロックレートが達成できる。パイプライン遅延はＦＰＧＡ構造内の時間的に厳しい経路を突破する。図９ｄにおいて、遅延要素の新たな設計を示す。
【０２２３】
Katzmann（非特許文献３）及びHolland-Nelｌ（非特許文献４）に従う以前の実装と比較して、新たなハフコアの遅延要素はもう少し複雑に構築されている。遅延要素の柔軟なコンフィグレーションのために、追加的なレジスタが必要とされ、マルチプレクサが更なる論理資源を占領する（ＦＰＧＡ内でＬＵＴにおいて実装されなければならない）。パイプライン遅延は任意選択的である。遅延要素の修正とは別に、ハフコアの設計変更も実行されてきた。新たなハフコアは図９ｅに示されている。
【０２２４】
以前のハフコアとは対照的に、最初に、新たな表記法が実装されるべきである。図９ｅの約９０°回転された設計により、元は初期のヒストグラムの信号として言及されていた「ライン合計（Zeilensummen)」が、この図においては「コラム合計」として言及される。従って、ハフコアの各コラムは、曲線のアレイのあるカーブを表す。新たなハフコアは、更に、ランタイムの間に新たなコンフィグレーション行列による影響を受けることもあり得る。コンフィグレーション行列はＦＰＧＡ内部のＢＲＡＭ内にファイルされ、あるコンフィグレーション論理によってロードされる。これは、コンフィグレーションを、コラム毎のビットストリングとして、連結されたコンフィグレーションレジスタ内にロードする（図９ｄ参照）。ハフコアのリコンフィグレーションは、所定の時間を必要とし、コラムの長さ（又は遅延ラインの合計）に依存する。従って、各コラム要素はあるクロックサイクルを必要とし、ＢＲＡＭによる少数のタックサイクルの待ち時間とコンフィグレーション論理が追加される。リコンフィグレーションのための全体の待ち時間は不利ではあるが、ビデオベースの画像処理にとっては、それは許容され得る。通常、ＣＭＯＳセンサで記録されたビデオデータストリームは水平及び垂直のブランキングを有する。よって、リコンフィグレーションは、水平ブランキング時間において問題なく行われ得る。ＦＰＧＡ内で実装されたハフコア構造のサイズは、ハフコアコンフィグレーションの最大の可能なサイズを予め決定する。小さなコンフィグレーションが使用される場合、これらは垂直に中心合わせされ、水平方向にはハフコア構造のコラム１において位置合わせ（図９ｆ参照）される。ハフコア構造の使用されていない要素は、全て遅延によって占められる。小さなコンフィグレーションの正確なアライメントはｘ座標の修正にとって重要である（方程式（Ｂ１７）〜（Ｂ１９）を参照）。
【０２２５】
ハフコアには、前もって、構成された遅延ラインを通って二値エッジ画像が供給される。各処理ステップにより、コラム合計が全体のハフコアを介して計算されて、前のコラムの合計信号とそれぞれ比較される。あるコラムがより高い合計値を提供した場合、元のコラムの合計値が上書きされる。初期信号として、新たなハフコアはコラム合計値及び関連するコラム番号を提供する。これらの値に基づいて、後に、どの構造が発見されたのか（コラム番号により表現される）、また、どれぐらいの出現確率でこれが検出されたのか（合計値により表現される）についての記述が作成され得る。ハフコアの初期信号は、ハフ空間又はアキュムレータ空間とも称される。通常のハフ変換とは対照的に、ハフ空間は画像座標系における並列ハフ変換に対して利用可能である。これは、各画像座標について、合計値及び関連するコラム番号が出力されることを意味する。眼の画像の完全な変換のために、未回転及び回転済みの画像のタイプ１及びタイプ２のそれぞれ１つのハフコアが、送られなければならない。従って、変換の後に、コラム合計及び関連するコラム番号だけでなく、ハフコアタイプ及び初期画像（未回転又は回転済み）のアライメントも使用可能である。更に、直線及び半円について、異なるハフコアサイズ及びコンフィグレーションが使用されてもよい。その場合、上述した結果の他に、曲線タイプ及びハフコアサイズも指示され得る。要約すると、新たなハフコアサイズの結果のデータセットが以下の表に示される。並列ハフ変換に関し、各画像点について、そのようなデータセットがもたらされる。
【０２２６】
【表１】
0006268303.tif 000074
修正されたハフコア構造を用いた並列ハフ変換により初期画像の各視点についてもたらされる結果のデータセットの概説
【０２２７】
Katzmann(非特許文献３）及びHolland-Nell（非特許文献４）のハフコアの二値及び閾値ベースの出力とは対照的に、新たなハフコア構造はかなり初期的なデータを生成する。そのようなデータ量は取り扱いが困難であるので、結果的なデータ量を明確に低減させる特徴抽出の方法が提示される。
【０２２８】
タイプ２のハフコア及び画像回転
並列ハフ変換に関する実施形態について、画像回転の必要性とタイプ２のハフコアの特殊性が既に紹介された。並列ハフ変換に関し、初期画像はハフコアを４回通過しなければならない。これは、直線と半円が異なる角度位置で検出され得るようにするために必要である。タイプ１のハフコアだけが使用される場合、画像は初期位置で処理され、約９０°、１８０°及び２７０°の回転が行われなければならないであろう。タイプ２のハフコアを含むことで、約１８０°と２７０°の回転は省略される。未回転の初期画像がタイプ２のハフコアで処理される場合、これはタイプ１のハフコアを用いた約１８０°回転された初期画像の処理と対応する。それは約２７０°の回転と類似する。これはタイプ２のハフコアを用いた約９０°回転された画像の処理で置換され得る。画像回転は通常、外部ストレージによってのみ解決されるので、ＦＰＧＡ構造にとって、追加的な回転の省略は肯定的な影響を与える。適用されたハードウェアに従い、所定の帯域幅（最大限可能なデータレート）だけがＦＰＧＡとストレージ要素との間で使用可能である。タイプ２のハフコアの使用については、外部ストレージ要素の帯域幅は約９０°の回転によって占有されるだけである。Holland-Nell(非特許文献４）の従来の構成に関しては、タイプ１のハフコア及びタイプ２のハフコアをＦＰＧＡ内にファイルすることが必要とされていた。修正されたハフコア設計を用いて、ＦＰＧＡ内にハフコア構造を一度ファイルし、かつタイプ１又はタイプ２のコンフィグレーションをアップロードすることも可能になった。この新たな機能により、初期画像は単一のハフコアだけを用いかつ単一の画像回転を用いるだけで完全に変換することができる。
【０２２９】
単一のハフコアを用いた処理の間に、ハフコア内に４通りのデータレートが発生することも考慮されるべきである。６０ｆｐｓ及びＶＧＡ解像度のビデオデータストリームに関し、ピクセルデータレートは２４Ｍｈｚになる。この場合、ハフコアは９６Ｍｈｚで操作されなければならないであろうし、それはＳｐａｒｔａｎ３世代のＦＰＧＡにとって既に高いクロックレートを構成する。設計を最適化するために、ハフコア構造内のパイプライン遅延を用いて集約的に操作されなければならない。
【０２３０】
特徴抽出
特徴抽出は以前のテーブルからのデータセットに対して作動する。これらのデータセットは特徴ベクトル（Ｂ１６）内に要約され得る。その特徴ベクトルは以下ではハフ特徴として言及され得る。
［数５０］
0006268303.tif 000075
【０２３１】
特徴ベクトルはそれぞれ、検出された特徴についてのｘ座標及びｙ座標（ＭＶx及びＭＶy）と、向きＭＶ0と、カーブ強度ＭＶKSと、頻度ＭＶHと、ハフコアサイズＭＶG-1と、検出された構造の種類ＭＶAとから構成される。特徴ベクトルの各要素の詳細な意味及び値範囲は、以下の表から導出され得る。
【０２３２】
【表２】
0006268303.tif 000076
ハフ特徴ベクトルの要素、それらの意味及び値範囲
【０２３３】
【表３】
0006268303.tif 000077
画像回転及び変換に使用されるハフコアタイプに依存した向きの計算
【０２３４】
上記の表から、直線及び半円に関する両方の要素ＭＶ0及びＭＶKSが異なる意味を持つことが明らかになる。直線に関しては、向きとカーブ強度との組合せが、０°〜１８０°の角度における検出された直線セグメントの位置角度を形成する。従って、向きは角度範囲を示し、カーブ強度はこの範囲内の具体的な角度を表す。ハフコアが大きければ大きいほど（より正確には、より多数のハフコアコラムが使用可能であるほど）、角度分解能が微細となる。半円に関しては、向きは半円の位置角度又は半円のアライメントを表す。半円は、原則として、４個のアライメント内でのみ検出可能である。半円コンフィグレーションに関し、カーブ強度は半径を表す。
【０２３５】
向きＭＶ0とカーブ強度ＭＶKSの他に、更なる特別な特徴が座標（ＭＶｘとＭＶｙ）について考慮されるべきである（図９ｇ参照）。直線に関して座標は常に中点を表現すべきであり、半円又は曲線に関して座標は常に頂点を表現すべきである。この前提に基づき、ｙ座標は実装されたハフコア構造に対応して修正されてもよく、変換に使用されたコンフィグレーションのサイズに依存しない（図９ｆ参照）。ローカルフィルタと同様に、ｙ座標は垂直に中心合わせされて示される。ｘ座標について、ヒットを提供しハフコアコラムを介するコンテキストが確立されている（特徴ベクトルにおいて、ハフコアコラムは指示ＭＶKSとともに蓄積されている）。ハフコアタイプ及び画像回転に依存して、３個の異なる場合についての計算規則も提示され得る。ハフコアタイプ１について、数式（Ｂ１７）が、未回転及び回転済みの初期画像のためにそれぞれ言及される。タイプ２のハフコアが使用可能であれば、画像回転に依存して、数式（Ｂ１８）又は数式（Ｂ１９）が言及されるべきである。
［数５１］
0006268303.tif 000078
［数５２］
0006268303.tif 000079
［数５３］
0006268303.tif 000080
【０２３６】
指示「ｆｌｏｏｒ」により、分数の有理数が丸め操作される。ＦＰＧＡにおいて、これは二値小数の単純な切り捨てに対応する。向きが決定され、ハフ特徴の座標が修正された後で、現実の特徴抽出が実行され得る。
【０２３７】
特徴抽出のために、非最大抑圧操作との組合せにおいて３個の閾値が使用される。非最大抑圧の演算子は直線と半円とに関して異なる。閾値を介して、最小ＭＶKSmin及び最大カーブ強度ＭＶKSmaxが与えられ、最小頻度ＭＶHminが決定される。非最大抑圧の演算子は、サイズ３×３のローカル演算子として見ることができる（図９ｈ参照）。数式Ｂ（２３）における非最大抑圧の演算子（ｎｍｓ演算子）の条件が満足し、かつ数式（Ｂ２０）〜（Ｂ２２）に従う閾値を超えた場合、半円（又は曲線）についての有効な特徴が常にもたらされる。
［数５４］
0006268303.tif 000081
［数５５］
0006268303.tif 000082
［数５６］
0006268303.tif 000083
［数５７］
0006268303.tif 000084
【０２３８】
非最大抑圧操作に起因して、特徴ベクトルのハフ空間の中で、極大値を構成しないハフ特徴が抑制される。このようにして、探索構造に寄与せず、かつ後処理に無関係なハフ特徴が抑制される。特徴抽出は、予め有益に調節され得る３個の閾値を介してパラメータ化されるだけである。閾値の詳細な説明は、以下の表から導かれ得る。
【０２３９】
【表４】
0006268303.tif 000085
ハフ空間からハフ特徴を抽出するための３個の閾値の詳細な説明。Katzmannによる方法と比較して、パラメータは類似の関数を用いて示されている。
【０２４０】
直線に関しては、サイズ３×３の（図９h参照）非最大抑圧の演算子が同様に推定され得る。その場合、幾つかの特殊性が考慮されるべきである。曲線とは異なり、直線セグメントに関する探索構造は、二値エッジ展開に沿って連続的に発生する複数の最大値に従って検出される訳ではない。非最大抑圧は、キャニーのエッジ検出(Canny edge detection)アルゴリズムにおける方法に基づいてもよい。ハフコアタイプ及び検出された角度範囲に従い、３つのケースが区別され得る（図９iと上記の表を組合せて参照されたい）。このようなケースの区別は、回転無しの初期画像と同様に回転された初期画像に対しても有効である。なぜなら、回転された座標の再変換は、非最大抑圧の後でのみ行われるからである。どのｎｍｓ演算子が使用されるべきかは、ハフコアタイプ及び角度範囲にそれぞれ依存する。直線用のコンフィグレーションを有するハフコアにより提供される角度範囲は、角度範囲二等分線により分割される。角度範囲二等分線（又はその一部）は、ハフコアコラム（MVKShalbe)として示され得る。ハフコアサイズに依存する数学的コンテキストは方程式（Ｂ２４）により記述される。ヒット（ＭＶKS）を提供したハフコアコラムが、どの角度範囲内にハフ特徴があるかを示し、そのハフコアコラムは角度範囲二等分線と直接的に比較され得る。
［数５８］
0006268303.tif 000086
【０２４１】
ある演算子が選択された場合、それぞれのｎｍｓ演算子に関する条件は、曲線についての非最大抑圧と同様に求められ得る（方程式（Ｂ２５）〜（Ｂ２７））。全ての条件が満足され、かつ追加的に、方程式（Ｂ２０）〜（Ｂ２２）に従う閾値を超えた場合、位置ｎｍｓ2,2におけるハフ特徴が推定され得る。
【０２４２】
【表５】
0006268303.tif 000087
ハフコアタイプ及びヒットが発生した角度範囲に依存するnms-演算子の決定
［数５９］
0006268303.tif 000088
［数６０］
0006268303.tif 000089
［数６１］
0006268303.tif 000090
【０２４３】
特徴抽出の完成は、回転されたハフ特徴のｘ軸及びｙ軸の再回転を形成する。後処理のために、これらは画像座標系において再度使用可能となるべきである。回転済みの初期画像が処理される場合、再変換は、曲線タイプとは無関係に（直線か曲線かに無関係で）常に行われるべきである。数式（Ｂ２８）及び（Ｂ２９）の中に、数学的コンテキストが記述される。画像幅を用いて、回転無しの初期画像の幅が表される。
［数６２］
0006268303.tif 000091
［数６３］
0006268303.tif 000092
【０２４４】
特徴抽出により、並列ハフ変換の結果データを少数の点まで減少させることができる。これらは次に、特徴ベクトルとして後処理へと送られてもよい。
【０２４５】
上述した実施形態は、単に本発明の原理の説明を示したに過ぎない。本明細書に記載した構成及び詳細について修正及び変更が可能であることは、当業者にとって明らかである。従って、本発明は、添付した特許請求の範囲によってのみ限定されるべきであり、本明細書に実施形態の説明及び解説の目的で提示した特定の詳細によって限定されるものではない。
【図１】
0006268303.tif 000093
【図２ａ】
0006268303.tif 000094
【図２ｂ】
0006268303.tif 000095
【図２ｃ】
0006268303.tif 000096
【図３ａ】
0006268303.tif 000097
【図３ｂ】
0006268303.tif 000098
【図４ａ】
0006268303.tif 000099
【図４ｂ】
0006268303.tif 000100
【図４ｃ】
0006268303.tif 000101
【図４ｄ】
0006268303.tif 000102
【図５ａ】
0006268303.tif 000103
【図５ｂ】
0006268303.tif 000104
【図６】
0006268303.tif 000105
【図７ａ】
0006268303.tif 000106
【図７ｂ】
0006268303.tif 000107
【図７ｃ】
0006268303.tif 000108
【図８ａ】
0006268303.tif 000109
【図８ｂ】
0006268303.tif 000110
【図８ｃ】
0006268303.tif 000111
【図８ｄ】
0006268303.tif 000112
【図８ｅ】
0006268303.tif 000113
【図９ａ】
0006268303.tif 000114
【図９ｂ】
0006268303.tif 000115
【図９ｃ】
0006268303.tif 000116
【図９ｄ】
0006268303.tif 000117
【図９ｅ】
0006268303.tif 000118
【図９ｆ】
0006268303.tif 000119
【図９ｇ】
0006268303.tif 000120
【図９ｈ】
0006268303.tif 000121
【図９ｉ】
0006268303.tif 000122