(57)【要約】      （修正有）【課題】構成要素の特徴を視覚的に識別する特徴検出システムを提供する。【解決手段】特徴検出システムは、異なる角度又は視点から特徴の画像をキャプチャする少なくとも２つのカメラを含む。これらの画像から、システムは画像の構成要素の３Ｄ点群を生成する。点群上に特徴の境界を直接投影する代わりに、３Ｄ点群における所定の幾何学的形状を識別する。システムは次に、特徴の境界の画素位置を、点群における識別された幾何学的形状上に投影する。こうすることで、製造プロセスを実施するために次にロボットによって使用されうる特徴の３Ｄ座標が作成される。【選択図】図１
2017123147.tif 000002
【特許請求の範囲】
【請求項１】
第１の電磁センサと、
前記第１の電磁センサとの固定された空間関係に配置された第２の電磁センサと、
プロセッサと、
メモリに保存された検出ロジックと
を備え、
前記プロセッサによって実行された時に、前記メモリに保存された検出ロジックが、
前記第１の電磁センサ及び前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ点群を生成し、
前記３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別し、
前記第１の電磁センサ及び前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、
前記境界画素に対応する前記特徴の３Ｄ位置を識別するために、前記識別された幾何学的形状上に前記境界画素の位置を投影する
ように動作可能である、
特徴検出システム。
【請求項２】
前記３Ｄ点群において前記所定の幾何学的形状を識別することが、
前記３Ｄ点群において前記所定の幾何学的形状の複数のインスタンスを識別することと、
前記所定の幾何学的形状の前記インスタンスを、前記第１の電磁センサと前記第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
前記特徴を含むモデル形状と一致する前記所定の幾何学的形状のインスタンスを識別することによって、前記識別された幾何学的形状を選択することと
を含む、請求項１に記載の特徴検出システム。
【請求項３】
前記第１の電磁センサと前記第２の電磁センサはそれぞれ可視光カメラであり、前記特徴検出システムが更に、
ランダムドットパターンを放射するように構成されたレーザーを備え、
前記可視光カメラによってキャプチャされた画像は、前記ランダムドットパターンの少なくとも一部を含む、請求項１に記載の特徴検出システム。
【請求項４】
前記境界画素が、前記可視光カメラのうちの１つによりキャプチャされた第１の画像を使用して識別され、前記第１の画像は、前記レーザーが動作を停止している時にキャプチャされる、請求項３に記載の特徴検出システム。
【請求項５】
前記境界画素を識別することが、
前記第１の画像においてエッジ検出を実施することを含み、
前記境界画素が、２Ｄ画像面上に位置している、請求項４に記載の特徴検出システム。
【請求項６】
前記３Ｄ点群を生成することが、
前記第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、前記第２の電磁センサによってキャプチャされた第２の画像における前記オブジェクトの位置と比較することによって、前記オブジェクトと、前記第１の電磁センサ及び前記第２の電磁センサとの間の距離を示す視差マップを生成することと、
前記視差マップに基づいて前記３Ｄ点群を生成することとを含む、請求項１に記載の特徴検出システム。
【請求項７】
前記検出ロジックが、
前記特徴の前記３Ｄ位置を前記特徴の予測される幾何学的形状に適合させるように構成され、前記３Ｄ位置のうちの幾つかは、外れ値として識別され無視される、請求項１に記載の特徴検出システム。
【請求項８】
第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ点群を生成することであって、前記第１の電磁センサは、前記第２の電磁センサとの固定された空間関係に配置されている、生成することと、
前記３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別することと、
前記第１の電磁センサと前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
前記境界画素に対応する前記特徴の３Ｄ位置を識別するために、前記識別された幾何学的形状上に前記境界画素の位置を投影することと
を含む方法。     
【請求項９】
前記３Ｄ点群において前記所定の幾何学的形状を識別することが、
前記３Ｄ点群において前記所定の幾何学的形状の複数のインスタンスを識別することと、
前記所定の幾何学的形状の前記インスタンスを、前記第１の電磁センサと前記第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
前記特徴を含むモデル形状と一致する前記所定の幾何学的形状のインスタンスを識別することによって、前記識別された幾何学的形状を選択することと
を含む、請求項８に記載の方法。
【請求項１０】
前記第１の電磁センサと前記第２の電磁センサはそれぞれ可視光カメラであり、
前記方法が更に、ランダムドットパターンを放射するレーザーを起動することを含み、前記可視光カメラによってキャプチャされた画像が、前記ランダムドットパターンの少なくとも一部を含む、請求項８に記載の方法。
【請求項１１】
面適合技法を使用して、前記識別された幾何学的形状に対応する係数を決定することであって、前記係数は自由空間における面を表す、決定することを更に含み、
前記識別された幾何学的形状に前記境界画素の前記位置を投影することが、前記係数によって定義される前記面に前記境界画素の前記位置を投影することとを含む、請求項１０に記載の方法。
【請求項１２】
前記境界画素を識別することが、
第３の画像においてエッジ検出を実施することを含み、
前記境界画素は２Ｄ画像面に位置している、
請求項８に記載の方法。
【請求項１３】
前記３Ｄ点群を生成することが、
前記第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、前記第２の電磁センサによってキャプチャされた第２の画像における前記オブジェクトの位置と比較することによって、前記オブジェクトと、前記第１の電磁センサ及び前記第２の電磁センサとの間の距離を示す視差マップを生成することと、
前記視差マップに基づいて前記３Ｄ点群を生成することと
を含む、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は特徴検出に関し、更に具体的には、特徴のエッジ又は境界に対応する３Ｄ点を識別する前に、３Ｄ点群において所定の幾何学的形状を識別することに関する。
【０００２】
特徴検出により、製造プロセスを自動化することが可能になりうる。ロボットは、構成要素の特徴を識別する視覚的検出システムを含みうる。例えば、ボルトを検出することによって、ロボットが２つの構成要素を互いに留めるためにボルト上にナットを取り付けることができる。製造プロセスを実施するのにロボットを使用することには、幾つかの利点がありうる。例えば、ロボットは人間が行かれない密閉された又は過密なエリアに適合することが可能でありうる。更に、ロボットは人間にとっては危険なエリアで働くことができる。したがって、特徴検出を実施するために視覚的検出システムを使用することで、人間が実施するのは不可能な、あるいは非常に困難なプロセスをロボットが実施することが可能になりうる。
【発明の概要】
【０００３】
本明細書の一態様は、第１の電磁センサと、第１の電磁センサとの固定された空間関係に配置された第２の電磁センサと、メモリに保存された検出ロジックとを含む特徴検出システムである。検出ロジックは、プロセッサによって実行された時に、第１の電磁センサ及び第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ点群を生成し、３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別するように動作可能である。検出ロジックは更に、第１の電磁センサ及び第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、境界画素に対応する特徴の３Ｄ位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影するように構成されている。
【０００４】
一態様では、上記の組み合わせにおいて、３Ｄ点群において所定の幾何学的形状を識別することが、３Ｄ点群において所定の幾何学的形状の複数のインスタンスを識別することと、所定の幾何学的形状のインスタンスを、第１の電磁センサと第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、特徴を含むモデル形状と一致する所定に幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することとを含む。
【０００５】
一態様では、上記いずれかの実施例との組み合わせにおいて、第１の電磁センサと第２の電磁センサはそれぞれ可視光カメラであり、特徴検出システムは更に、ランダムドットパターンを放射するように構成されたレーザーを含み、可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む。
【０００６】
一態様では、上記いずれかの実施例との組み合わせにおいて、境界画素が、可視光カメラのうちの１つによりキャプチャされた第１の画像を使用して識別され、第１の画像は、レーザーが動作を停止している時にキャプチャされる。
【０００７】
一態様では、上記いずれかの実施例との組み合わせにおいて、境界画素を識別することが、第１の画像においてエッジ検出を実施することを含み、境界画素は２Ｄ画像面上に位置している。
【０００８】
一態様では、上記いずれかの実施例との組み合わせにおいて、３Ｄ点群を生成することが、第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、第２の電磁センサによってキャプチャされた第２の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第１の電磁センサ及び第２の電磁マップとの間の距離を提示する視差マップを生成することと、視差マップに基づいて３Ｄ点群を生成することとを含む。
【０００９】
一態様では、上記いずれかの実施例との組み合わせにおいて、検出ロジックが、特徴の３Ｄ位置を特徴の予測される幾何学的形状に適合させるように構成され、３Ｄ位置のうちの幾つかは、外れ値として識別され無視される。
【００１０】
更に、本明細書の態様は、上述した特徴検出システムの先行の配置又は構成の全ての代替例、変形例、及び修正例を含む。
【００１１】
本明細書に記載される別の態様は、第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ点群を生成することを含む方法であり、第１の電磁センサは、第２の電磁センサとの固定された空間関係に配置されている。本方法は、３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別することと、第１の電磁センサと前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することとを含む。本方法は、境界画素に対応する特徴の３Ｄ位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することを含む。
【００１２】
一態様では、上記方法との組み合わせにおいて、３Ｄ点群において所定の幾何学的形状を識別することが、３Ｄ点群において所定の幾何学的形状の複数のインスタンスを識別することと、所定の幾何学的形状のインスタンスを、第１の電磁センサと第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することとを含む。
【００１３】
一態様では、上記いずれかの方法例との組み合わせにおいて、第１の電磁センサと第２の電磁センサはそれぞれ可視光カメラであり、本方法は、ランダムドットパターンを放射するレーザーを起動することを更に含み、可視光カメラによってキャプチャされた画像が、ランダムドットパターンの少なくとも一部を含む。
【００１４】
一態様では、上記いずれかの方法例との組み合わせにおいて、本方法は、面適合技法を使用して、識別された幾何学的形状に対応する係数を決定することを含み、係数は自由空間における面を表しており、識別された幾何学的形状に境界画素の位置を投影することが、係数によって定義される面に境界画素の位置を投影することとを含む。
【００１５】
一態様では、上記いずれかの方法例との組み合わせにおいて、境界画素を識別することが、第３の画像においてエッジ検出を実施することを含み、境界画素は、２Ｄ画像面に位置している。
【００１６】
一態様では、上記いずれかの方法例との組み合わせにおいて、３Ｄ点群を生成することが、第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、第２の電磁センサによってキャプチャされた第２の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第１の電磁センサ及び前記第２の電磁マップとの間の距離を提示する視差マップを生成することと、視差マップに基づいて３Ｄ点群を生成することとを含む。
【００１７】
更に、本明細書の態様は、上述した方法の先行の配置又は構成の全ての代替例、変形例、及び修正例を含む。
【００１８】
本明細書に記載される別の態様は、特徴を検出するためのコンピュータ可読記憶媒体である。コンピュータ可読記憶媒体は、第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、３Ｄ点群を生成するために、一又は複数のコンピュータプロセッサによって実行可能なコンピュータ可読プログラムコードを含み、第１の電磁センサは、第２の電磁センサとの固定された空間関係に配置される。プログラムコードは、３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別し、第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて境界画素を識別するための実行可能であり、境界画素は特徴のエッジに対応する。プログラムコードは、識別された幾何学的形状上に境界画素の位置を投影して、境界画素に対応する特徴の３Ｄ位置を識別するように実行可能である。
【図面の簡単な説明】
【００１９】
【図１】特徴検出システムのブロック図である。
【図２】構成要素の特徴を識別するために、特徴検出システムを使用するところを示す図である。
【図３】ランダムドットパターンで特徴を照らしているところを示す図である。
【図４】構成要素の特徴を視覚的に検出するためのフロー図である。
【図５】立体カメラによってキャプチャされた画像から生成された視差マップを示す図である。
【図６】Ａ及びＢは、視差マップから生成された３Ｄ点群を示す図である。
【図７】３Ｄ点群において所定の幾何学的形状を識別しているところを示す図である。
【図８】特徴を含む構成要素の設計モデルを示す図である。
【図９】特徴の３Ｄ座標を識別しているところを示す図である。
【発明を実施するための形態】
【００２０】
理解しやすくするため、各図面に共通する同一のエレメントを指定する際に、可能であれば、同一の参照番号が使用されている。一態様に開示されたエレメントは、特に列挙することなく、他の態様に有利に用いられうる。
【００２１】
本明細書の態様では、構成要素の特徴を視覚的に識別するために特徴検出システムを使用する。本明細書に記載には孔又は開孔の特定の実施例を示したが、他の特徴には、特定のエッジ、ファスナ（例：ボルト又はナット）、刻み目等が含まれうる。特徴検出システムは、異なる角度又は視点から特徴の画像をキャプチャする少なくとも２台のカメラを含む。これらの画像から、システムは、画像においてキャプチャされた構成要素を表す３Ｄ点群を生成する。しかしながら、３Ｄ点群のノイズのために特徴の検出が困難になる場合がある。
【００２２】
特徴の境界を点群上に直接投影する代わりに、本明細書の態様では、特徴の境界を３Ｄ空間の点にマッピングする前に３Ｄ点群において所定の幾何学的形状が識別される。例えば、面適合技法を使用して、３Ｄ点群において異なる面形状が識別されうる。３Ｄ点群において面を識別することによって、特徴検出システムは、３Ｄ点群におけるノイズの大部分を除去する。エッジ検出技法を使用して、システムは２Ｄ画像面において特徴の境界を検出する。言い換えれば、特徴検出システムは、カメラによってキャプチャされた画像のうちの１つにおいて、特徴の境界を画定する画素を決定する。システムは、面適合を実施することによって識別された面のうちの１つの面上のこれらの画素位置に投影する。そうすることで、製造プロセスを実施するために次にロボットによって使用されうる特徴の３Ｄ座標が作成される。
【００２３】
図１は、装着具１０５、レーザー１１５、及びコンピュータシステム１２０を含む特徴検出システム１００のブロック図である。装置具１０５は、左側のカメラ１１０Ａと右側のカメラ１１０Ｂとを含む。カメラ１１０は、特徴検出システム１００が移動したとしてもカメラ１１０との空間関係が固定されたままであるように、装着具１０５に取り付けられる。例えば、特徴検出システム１００は、製造プロセスを実施するためにある環境において移動するロボットに取り付けられうる。ロボットが移動すると、装着具１０５によってカメラ１１０の互いに対する空間関係が固定されたままになる。しかしながら、他の態様では、特徴検出システム１００は、本明細書に記載された機能を実施するために、可視光カメラを１台のみ、又は２台を超える可視光カメラを使用しうる。例えば、特徴検出システム１００は、レーザープロジェクタ、飛行時間カメラ、又はライダースキャナーと組み合わせて使用される可視光カメラを１台のみ含みうる。言い換えれば、特徴検出システム１００は、固定された空間関係にある２つの電磁センサ（例えば可視光カメラ、レーザープロジェクタ、飛行時間カメラ、又はライダースキャナー）を含む。
【００２４】
一態様では、レーザー１１５も装着具１０５に取り付けられているが、これは必須ではない。別の態様では、レーザー１１５は、システム１００の他の構成要素にレーザー１１５を取り付ける別の装着具を有しうる。カメラ１１０の視覚エリア内にある一又は複数の構成要素上にランダムドットパターンを投影するために、レーザー１１５が使用されうる。多くの製造環境では、構成要素の表面にテクスチャがない場合がある。以下に記載するように、ランダムドットパターンにより、これらの表面にテクスチャが付与され得、このテクスチャはその後１つの画像の領域を別の画像の領域と照合しやすくするために使用されうる。
【００２５】
コンピュータシステム１２０は、プロセッサ１２５とメモリ１３０とを含む。プロセッサ１２５は、各々複数の処理コアを含みうる任意の数の処理エレメントを表している。メモリ１３０は、特徴検出システム１００に位置づけされる、又はその他の場所に配置される揮発性又は不揮発性メモリであってよい。例えば、メモリ１３０は、システム１００に配置されたメインメモリ、及びクラウド環境又はリモートサーバーの格納スペースを含みうる。
【００２６】
メモリ１３０は、画像において（例えば「所望の特徴」又は「探している特徴」とも称される）特徴を検出するために、カメラ１１０によってキャプチャされた画像を処理するためのソフトウェアアプリケーション又はソフトウェアアプリケーションのパッケージソフトを表す検出ロジック１３５を含む。本明細書の態様では、構成要素の孔又は開孔の識別が記載されているが、本明細書に記載された技法はまた、構成要素のファスナ、エッジ、又は刻み目等の他の特徴を識別するのにも使用されうる。更に、特徴検出システム１００は、検出ロジック１３５に属する幾つかの又は全ての機能を実施するためのハードウェアコンポーネントを含みうる。
【００２７】
図２は、構成要素の特徴２１５を識別するために特徴検出システム１００を使用している図である。一態様では、図２は、特徴２１５を識別するために特徴検出システム１００が使用される製造環境２００を示す。システム１００は、環境２００を移動させるための推進システムを含むロボットに装着されうる。
【００２８】
環境２００は、ファスナを使用して外板２１０に取り付けられているブラケット２０５を含む。一態様では、外板２１０は、航空機本体に支持を提供する。そうするために、ファスナは、外板２１０とブラケット２０５を通って延在するボルトを含みうる。異なる構成要素を互いに連結させるために、ナット２２０がボルトに取り付けられる。本明細書の実施例において、システム１００によって識別される特徴２１５は、ブラケット２０５の孔又は開孔である。図示していないが、ボルトのねじ込み部が露出するようにボルトを外板２１０の他方の側へ押し出しうるように、外板２１０を通って孔が延在しうる。自由空間において特徴２１５の位置を識別することによって、ロボット（図示せず）が、ボルトが開孔に挿入された後にナット２２０を取り付けることができる。特徴検出システム１００は孔の位置を識別するが、別の実施例では、特徴検出システム１００は、ボルトが開孔に押し通された後でボルトを検出しうる。更に別の実施例では、特徴検出システム１００は、ナット２２０を特徴として識別し得、これにより構成要素を分解するためにロボットがナット２２０を取り外しうる。
【００２９】
これはシステム１００の側面図であるため、カメラ１１０Ａのみが図２に示されているが、カメラ１１０が装着具１０５に取り付けられている。この実施例では、レーザー１１５が装着具１０５に取り付けられる。しかしながら、他の態様では、レーザー１１５は異なる装着具を使用して特徴検出システム１００に取り付けられうる。一般に、特徴検出システム１００は、レーザー１１５によって放射されたランダムドットパターンが当たる領域がカメラ１１０の視野内になるように、レーザー１１５を位置調整する。つまり、レーザー１１５が起動された時に、カメラ１１０は、レーザー１１５によって放射されたドットパターンを含む画像をキャプチャする。特に３Ｄ空間において特徴２１５の位置を識別するために、カメラ１１０Ａが特徴２１５の真上にある必要はない。本明細書に図示したように、カメラ１１０Ａは、カメラ１１０Ａによってキャプチャされた画像において開孔が楕円形に見えるように、特徴２１５に対して角度をつけて配置される。
【００３０】
図３に、レーザー（図示せず）を使用してランダムドットパターン３０５で特徴２１５を照らしている図を示す。この実施例では、ドットパターン３０５は、特徴２１５と２つのナット２２０をカバーする。ドットパターン３０５は、パターン３０５内の構成要素と表面にテクスチャを付与する。例えば、ブラケット２０５の構成要素と、外板２１０は平滑でテクスチャがない場合がある。ドットパターン３０５でこれら表面を照らすことで、カメラ１１０によって検出されうるテクスチャが模倣される。
【００３１】
図３の装着具１０５の上面図では、装着具１０５はカメラ１１０との間にわずかな曲がりを含む。必須ではないが、装着具１０５が曲がることによって、カメラ１１０の視覚領域の重なりが大きくなる。特徴がカメラ１１０に近い環境３００においては、装着具１０５が曲がることによって、視覚領域が重なりやすくなりうる。この実施例では、両方のカメラ１１０によってキャプチャされた画像には、ナット２２０と特徴２１５が含まれる。以下に説明するように、これら共通の特徴をキャプチャすることにより、特徴検出システム１００が自由空間（すなわち３Ｄ空間）において特徴２１５の位置を識別することが可能になる。
【００３２】
図４は、構成要素の特徴を視覚的に検出する方法４００のフロー図である。明確にするために、方法４００におけるブロックの多くが、図５〜９と並行して説明される。ブロック４０５において、特徴検出システムは、探している特徴をカバーするランダムドットパターンを生成するためにレーザーを起動させる。例えば、特徴検出システムは、特徴があるはずの大まかな位置までシステムを移動させるロボットに取り付けられうる。しかしながら、製造許容誤差のために、ロボットには特徴の正確な位置がわからない場合がある。図２及び３に示す実施例では、ロボットはブラケット２０５のどこに特徴２１５、すなわち孔があるか大まかに（数インチ内）に知りうる。この特徴の位置の大まかな推定では、孔を通って突出しているボルトにナットを取り付ける等の機械プロセスを実施するには不十分でありうる。代わりにロボットは、特徴検出システムを使って、特徴の正確な３Ｄ位置を識別する。
【００３３】
ブロック４１０において、レーザーがカメラの視覚エリアの少なくとも一部を照らしている間に、左右のカメラが画像をキャプチャする。一態様では、カメラはフィルタを使用し、このフィルタにより、レーザー（例：赤色の波長）によって放射された光のみが通過することが可能になる一方で、他の色（例：青と緑）の光が画像においてキャプチャされることが防止される。図３に示すように、各カメラ１１０は、ドットパターン３０５内の構成要素の画像をキャプチャする。カメラ１１０の位置及び角度が異なるため、２つの画像において特徴２１５及びナット２２０の位置、及びブラケット２０５と外板２１０の表面が異なる。一態様では、２つの画像のいずれにおいても、少なくとも特徴２１５がキャプチャされている。しかしながら、他の態様では、カメラは両方の画像においてナット２２０等の他の属性又は特性をキャプチャし得、これにより以下に記載されるステップの精度が改善されうる。
【００３４】
ブロック４１５において、特徴検出システムはレーザーの動作を停止し、フラッシュを起動する。ブロック４２０において、フラッシュを使用して構成要素が照らされた時に、特徴検出システムにおけるカメラのうちの１つが非レーザー画像（すなわち、レーザーがオフの時に撮影された画像）をキャプチャする。カメラの視覚エリアに十分な光がある場合、フラッシュは必要でない場合がある。一態様では、２つのレーザー画像がブロック４１０においてキャプチャされた時と同じ位置にカメラがある時に、非レーザー画像がキャプチャされる。例えば、非レーザー画像をキャプチャするのに左側のカメラが使用される場合、この画像は、オブジェクトがレーザーによって照らされていないことを除いては、ブロック４１０において左側のカメラによってキャプチャされたレーザー画像と同じオブジェクト及び構成要素を含む。
【００３５】
ブロック４２５において、特徴検出システムは、両方のレーザー画像を修正する。レーザー画像を修正するために使用されるパラメータは、カメラが較正される時に生成されうる。一態様では、画像の修正により、カメラによって導入された効果でありうる画像周辺近くの膨張が除去される。修正されると、画像の周辺で湾曲しているように見える直線が、修正画像では直線に見え、構成要素の実際の形状がより良く表される。更に、修正画像では画像は、両方の画像を通る水平線が同じ特徴を通るように垂直方向に位置調整され、これにより、以下に記載するように視差マップを生成する時に、特徴を照合しやすくなる。
【００３６】
ブロック４３０において、検出ロジックは修正されたレーザー画像を使用して視差マップを生成する。一般に、視差マップとは、視差マップとカメラの異なる位置間の距離を示す画像の合成物である。本明細書の態様は、視差マップを生成するための任意の特定の技法又はアルゴリズムに限定されない。一実施例では、検出ロジックは、２つの画像における同じオブジェクトの位置の変化を決定することによって、視差マップを生成する。例えば、右側のカメラによってキャプチャされた画像におけるナットの位置は、左側のカメラによってキャプチャされた画像における同じナットの位置から１０画素だけ離れている場合がある。一般に、２つの画像におけるオブジェクトの位置の変化が大きいほど、オブジェクトはカメラに近い。逆に、オブジェクトの位置の変化が小さいほど、オブジェクトはカメラから遠く離れている。ドットパターンを放射することによって表面にテクスチャを加えることで、検出ロジックがオブジェクトの位置のシフトを識別しやすくなり、従って視差マップを生成しやすくなりうる。
【００３７】
図５に、補正レーザー画像で、キャプチャされた画像から生成された視差マップ５００を示す。具体的には、視差マップ５００はグレースケールを使用して、マップ５００における各点（又は画素）の、特徴検出システムのカメラまでの距離を示す。色の薄いところはカメラにより近い領域を表すが、濃い領域はカメラからより離れている。マップ５００の幾つかの部分は、マップのその位置におけるオブジェクトとカメラとの間の距離が決定できないことを示すためにブランクでありうる。例えば、レーザーによって放射されたドットパターンが画像のこれらの部分に当たらなかった可能性（その部分が影の中にあった可能性）があり、その場合、検出ロジックが２つのレーザー画像を比較することを可能にするテクスチャがなかったということである。
【００３８】
方法４００に戻り、ブロック４３５において、検出ロジックは、視差マップから３Ｄ点群を生成する。言い換えると、検出ロジックは、２Ｄ視差マップを、レーザー画像によってキャプチャされた構成要素を表す３Ｄ点群に変換する。このために、検出ロジックは、視差マップにおける各画素を３Ｄ点に変換しうる。この変換を実施するために使用されうる様々な技法及びアルゴリズムはここでは詳細に記載しない。更に、２つの可視光カメラによってキャプチャされた画像を使用する代わりに、一態様においては、３Ｄ点群は、例えばレーザープロジェクタ、飛行時間カメラ、又はライダースキャナー等の異なる種類の電磁センサによってキャプチャされたデータから生成される。
【００３９】
図６Ａ及び６Ｂに、視差マップから生成された３Ｄ点群を示す。具体的には、図６Ａは、図５における視差マップ５００から生成された３Ｄ点群の平面図６００であり、図６Ｂは、同じ３Ｄ点群の側面図６５０である。図示したように、３Ｄ点群は、３Ｄ空間において複数の個々の点を使用して、カメラによってキャプチャされた構成要素の形状と深さを表す。参考として、３Ｄ点群において孔の左側と右側に２つのナット２２０が見えうる。
【００４０】
方法４００に戻り、ブロック４４０において、検出ロジックは、３Ｄ点群において一又は複数の所定の幾何学的形状を識別する。一態様では、検出ロジックは、面適合を実施して、３Ｄ点群における異なる面を識別する。つまり、検出ロジックは、群における異なる点を評価して、面を形成する点のグループを識別する。面が見つかると、検出ロジックは、３Ｄ空間において面を画定する面係数を決定する。更に、一態様では、検出ロジックは、面に対して垂直の方向も決定する。例えば、検出ロジックは、係数を使用して面の垂直方向を決定しうる。
【００４１】
図７に、３Ｄ点群において識別された面を示す。図示したように、面適合の実施の結果、３つの分離した面：面７０５、７１０、及び７１５が識別されている。面７０５及び７１０は、直角を形成する図２のブラケット２０５の２つの面に対応する。一方で面７１５は、ブラケット２０５の下に延在する図２の外板２１０の一部に対応する。ナット２２０に対応する３Ｄ点群における点は面を形成しないため、これらの点は無視されうる。
【００４２】
検出ロジックは、面７０５、７１０及び７１５を３Ｄ点群における点に適合させる。こうすれば、モデル７００は、実際の構成要素の形状及び構成をより正確に表しうる。以下に記載するように、面の係数が識別されたら、検出ロジックはこれらの係数を使用して、特徴の３Ｄ点を識別するのに使用されうる面を画定する。
【００４３】
面適合を具体的に説明したが、方法４００は上記に限定されない。例えば、異なる所定の幾何学的形状を代わりに使用して、３Ｄ点群における表面を識別することができる。例えば、検出ロジックは、円筒又は半球を所定の形状として使用しうる。それにも関わらず、３Ｄ点群においてある形状が見つかると、検出ロジックは、識別された各形状の自由空間における形状の位置と方位を画定するパラメータを生成する。
【００４４】
方法４００に戻り、ブロック４４５において、検出ロジックは、識別された幾何学的形状を、探している特徴を有するシステムの所定の設計モデルにおける対応する形状と照合する。言い換えれば、検出ロジックが３Ｄ点群における形状（すなわち、図７に示す点群における面）を識別した時点で、検出ロジックは、これらの面を構成要素の所定モデルにおける面と照合する。
【００４５】
図８に、画像にキャプチャされた構成要素の所定モデル８００を示す。図示したように、モデル８００はモデル面８０５、８１０、及び８１５を含む。これらの面は、部品又は製品（例えば飛行機の胴体）を設計する時に使用される設計モデルの一部であってよい。例えば、モデル８００は、面８０５、８１０、及び８１５の所望の寸法を画定する飛行機のコンピュータ援用製図（ＣＡＤ）であってよい。モデル８００は、製品における異なる構成要素間の空間関係、例えばブラケットと飛行機の外板との関係も画定しうる。
【００４６】
図７に示すモデル７００を生成するために使用される画像をキャプチャする場合、カメラの様々な異なる位置及び配向のため、面８０５、８１０、及び８１５の配向、形状、及びサイズが面７０５、７１０、及び７１５とは異なる場合がある。それにも関わらず、検出ロジックは面同士の類似点を使って、モデル７００の面をモデル８００の面と照合しうる。言い換えれば、検出ロジックは、面７０５と８０５が両方ともブラケット２０５の垂直表面に対応し、面７１０と８１０が両方ともブラケット２０５の水平表面に対応し、面７１５と８１５が両方とも、ブラケット２０５の下に延在する外板２１０の表面に対応することを決定しうる。
【００４７】
ブロック４４０において識別された面を、構成要素の所定モデルの面と照合することによって、検出ロジックは、探している特徴を含む面を識別しうる。言い換えると、検出ロジックは、モデル７００の面７０５、７１０、及び７１５のうちのどれが孔を含むかを決定しうる。例えば、プログラマーがすでに検出ロジックに、モデル面８１０が所望の特徴を含むことを通知してある場合がある。従って、モデル面８１０をモデル７００の面７１０と照合した後、その時点で検出ロジックには、面７１０が検出ロジックが探していた特徴を含む面であることがわかる。
【００４８】
方法４００に戻り、ブロック４５０において、検出ロジックは非レーザー画像を修正する。一態様において、検出ロジックは、ブロック４２５において使用されたのと同じパラメータを使用して、レーザーが動作を停止している時にキャプチャされた画像を修正する。
【００４９】
ブロック４５５において、検出ロジックは、エッジ検出を使用して修正された非レーザー画像において特徴の境界を検出する。３Ｄ点群は、画像及びカメラにおいてキャプチャされたオブジェクト間の距離を識別するのに良いが、点群は、特定の特徴の境界又はエッジ、すなわち孔の外周を識別するのにはあまり良くない場合がある。このため、方法４００は非レーザー画像とエッジ検出アルゴリズムを使用して、特徴の境界を識別する。
【００５０】
一般に、エッジ検出方法は、特徴の境界に対応する非レーザー画像内の画素を識別するものである。この実施例では、検出ロジックは、ブラケット２０５の孔の外周を画定する画素の一部又は全てを識別する。一態様では、検出ロジックは、２Ｄ画像面において、（本明細書においてｕ、ｖ座標と称される）画素の座標位置に従って画素を識別する。この画素と、画像における画素の座標のリストが次に、特徴検出システムに保存されうる。本明細書に記載される態様は、任意の特定の種類のエッジ検出方法に限定されない。その代わりに、特徴の一又は複数のエッジに対応する画素を識別するいずれかの方法が使用されうる。
【００５１】
ブロック４６０において、検出ロジックは、特徴の境界を画定する非レーザー画像における画素位置に対応する３Ｄ点を決定する。つまり、ブロック４５５を実施した後、検出ロジックには、特徴の境界を画定する画素の位置がわかっているが、検出ロジックには３Ｄ空間における特徴の境界の位置がわからない。言い換えれば、検出ロジックには、２Ｄ画像面において特徴の境界がどこにあるかがわかっているが、自由空間においてはそうではない。
【００５２】
一態様では、検出ロジックは、画像面の境界の位置を３Ｄ空間に投影する。しかしながら、これらの位置の３Ｄ点群への投影ではノイズが発生する場合があり、予測不能な結果につながりかねない。その代りに、検出ロジックは、ブロック４４０において識別された面のうちの１つの上に境界の画素位置を投影しうる。
【００５３】
方程式１は、画像面の画素位置に、空間における３Ｄ位置を投影するのに使用される方程式を表す。
2017123147.tif 000003
【００５４】
方程式１において、ｆｘ及びｆｙはｘ及びｙ方向のレンズの焦点距離であり、ｃｘ及びｃｙはｘ及びｙ方向のレンズの光学軸であり、値ｒｘｘは、カメラの正規化座標と、定義されたカメラの外部座標との間の変換マトリクスを定義する。これらの値は、カメラの製造によって得られうる、あるいは、カメラの較正中に決定されうる。値ｕ及びｖは、画像面における画素位置であり、Ｘ、Ｙ、及びＺは、３Ｄ空間における対応する画素位置を定義する。一般に、方程式１は、投影方程式と称される。
【００５５】
更に、方程式２は、３Ｄ空間において面を定義する方程式である。
2017123147.tif 000004
【００５６】
値ａ、ｂ、ｃ、及びｄは面の係数であり、Ｘ、Ｙ、及びＺは面上の任意の点を表す。上述したように、３Ｄ点群における面の係数はブロック４４０において決定される。そこで、３Ｄ点群において様々な所定の幾何学的形状（例えば面）を識別するために、面適合が使用される。そして検出ロジックにより、その後方程式２で使用されうるこれら各面の面係数が導き出される。具体的には、検出ロジックは、方法４００のブロック４４５において識別された面である、探している特徴を含む面の係数を使用する。図７及び８に示すように、特徴（例：孔）を含む面は、面７１０である。このため、検出ロジックは、面７１０の面係数を、方程式２の値ａ、ｂ、ｃ、及びｄとして使用する。
【００５７】
方程式１を方程式２と比較することによってわかるように、方程式はいずれも［Ｘ、Ｙ、Ｚ、１］によって定義される同じベクトルを共有する。このため、これらの方程式を結合させて、方程式３が生成されうる。
2017123147.tif 000005
【００５８】
方程式３は、４つの変数（Ｘ、Ｙ、Ｚ、及びｓ）を有する４つの方程式システムを表すものである。解法を使用して、検出ロジックは、画像面における画素に対応する（変数Ｘ、Ｙ、及びＺによって定義される）面の３Ｄ点を識別しうる。一態様では、面係数ａ、ｂ、ｃ、及びｄは、探している特徴（すなわち、図７の面７１０）を含む面に対応するため、画素位置を面７１０の３Ｄ点に投影するために方程式３が使用されうる。検出ロジックは、方程式３を使用して、方法４００のブロック４５５において検出された特徴の境界を画定する画素位置に対応する面７１０の３Ｄ点を識別する。３Ｄ座標を識別するために、検出ロジックは特徴の境界における特定の画素位置を方程式３の値ｕ及びｖとして使用し、次に４つの方程式を解いて、Ｘ、Ｙ、Ｚ、及びｓ（すなわちスカラー値）を識別する。ブロック４４５において識別された境界における各画素位置に対してこのプロセスを繰り返すことによって、検出ロジックは面７１０の特徴の境界の３Ｄ座標を識別する。
【００５９】
図９に、境界の画素位置に対応する３Ｄ座標を示す。具体的には、チャート９００における一連の点９０５は、図７に示す面７１０の３Ｄ座標である。各点９０５は、ブロック４５５においてエッジ検出を行っている時に識別された画素位置のうちの１つに対応する。図からわかるように、エッジ検出により、孔の外周に沿った全ての画素位置が識別される、あるいは、孔の境界にある画素位置のみが識別される必要はない。例えば、検出ロジックは、非レーザー画像がキャプチャされる角度、特徴検出システムによって使用されるフラッシュの輝度により、又は特徴の一部が閉鎖されている場合に、特徴の境界全部を検出しうる。更に、検出システムは、破片、引っかき傷、又はその他画像においてエッジに見える画素領域のために、境界にはない点を検出しうる。
【００６０】
方法４００に戻り、ブロック４６５において、検出ロジックは、特徴適合技法を使用して特徴の座標を決定する。図９において、検出ロジックは、所望の特徴に対応する３Ｄ座標を識別するために、円適合技法を実施する。例えば、プログラマーには特徴、すなわち孔が円状の境界（すなわち予期される幾何学的形状）を有することがわかっている。このため、プログラマーは検出ロジックに、孔の境界の３Ｄ座標を識別するために円適合技法を使うように指示する。円適合技法により、３Ｄ点に対応する点９０５が評価され、予期される形状、この実施例では円に対応する点が識別される。
【００６１】
ここで、３Ｄ点９０５を評価することによって、円適合技法により円９１０が識別される。その際、円適合技法は、エッジ検出プロセスの間に検出された外れ値又は誤りのある３Ｄ点を識別し、無視しうる。チャート９００で示すように、点９０５のうちの幾つか（特にチャートの左下の点）は、円９１０内に適合しない。これらのドットは、影、又は非レーザー画像を撮影している時に使用された不適切な角度の結果でありうる。それにも関わらず、これらの外れ値があったとしても、図９には、検出ロジックが特徴の外周、すなわち円の予期される幾何学的形状を識別しうることが示されている。
【００６２】
円９１０が識別されたら、検出ロジックは、円９１０に沿った３Ｄ位置を特徴の境界として指定する。つなり、検出ロジックは、円９１０に沿った一又は複数の３Ｄ点を、自由空間における特徴の位置、すなわち孔の外周として決定する。これらの３Ｄ点は次に、ロボットによって、孔を通して配置されたボルトの位置を正確に決定するために使用されうる。例えば、検出ロジックは、（ブロック４４０において識別された）面に対して垂直の方向、及び円９１０に沿った３Ｄ位置を使用して、自由空間において特徴を通して挿入されるボルトの先端の位置を正確に予測しうる。この位置を使用して、ロボットは、製造プロセスにおいて２つ以上の構成要素を互いに連結させるために、ボルトの先端にファスナ（例：ナット）を配置しうる。
【００６３】
円適合技法を上述したが、検出ロジックは、特定の特徴の形状により異なる技法を使用しうる。例えば、特徴がボルトである場合、検出ロジックはブロック４６５において、ボルトの３Ｄ境界を識別するために円筒を使用しうる。特徴がナットである場合、検出ロジックは、ナットの単一の境界又は複数の境界を識別するために、六角形又は正方形を予期される形状として使用しうる。
【００６４】
つまり、本明細書に記載される態様は、立体カメラ（例えばレーザー画像）によってキャプチャされた２つの画像を使用して、自由空間において特徴を識別するために使用されうる。このため、検出ロジックは、２つの画像から生成された３Ｄ点群において所定の幾何学的形状を識別する。例えば、３Ｄ点群において異なる面を識別するために、面適合が使用されうる。３Ｄ点群において面を識別することによって、特徴検出システムは、３Ｄ空間において特徴の位置を識別するために３Ｄ点群を直接使用しなくてもよくなる。本システムは、エッジ検出を使用して、カメラのうちの１つによってキャプチャされた画像（例：非レーザー画像）において特徴の境界を検出する。すなわち、特徴検出システムは、特徴の境界を画定する画像の画素を決定する。本システムは次に、面適合を実施することによって、識別された面のうちの１つの面上にこれらの画素位置を投影する。そうすることで、次に製造プロセスを実施するためにロボットによって使用されうる特徴の３Ｄ座標が生成される。
【００６５】
様々な態様の記載は、例示を目的として提示されているものであり、網羅的であること、または開示された態様に限定されることは意図されていない。当業者には、記載した態様の範囲及び精神から逸脱することなく、多数の修正形態及び変形形態が明らかになるであろう。本書で使用される用語は、市場において見られる技術の諸態様、実際的な施用、もしくは技術的改良の原理を最も良く説明するため、または本明細書で開示する諸態様を他の当業者に理解せしめるために、選択されたものである。
【００６６】
前の段落において、本開示で提示される諸態様が参照される。しかし、本開示の範囲は、記載される具体的な諸態様に限定されない。代わりに、検討される諸態様の実装及び実施のため、種々の諸態様に関連しているかどうかに関わらず、以下の特徴及び要素の任意の組み合わせが検討される。さらに、本明細書で開示される諸態様によって他の可能な解決法または先行技術と比べた利点が達成可能であるかもしれないが、具体的な利点が所与の態様によって達成されるかどうかは、本開示の範囲を限定するものではない。したがって、先の態様、特徴、及び利点は単なる例示であり、添付の特許請求の範囲で明示されていない限り、特許請求の範囲の要素であると考えたり、または特許請求の範囲を限定すると考えるべきではない。
【００６７】
諸態様は、専らハードウェアである態様、専らソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）である態様、またはソフトウェアとハードウェアの態様を組み合わせた態様の形式をとり得る。本書では、それらは全て「回路」、「モジュール」または「システム」と広く称され得る。
【００６８】
諸態様とは、システム、方法、及び／またはコンピュータプログラム製品であり得る。コンピュータプログラム製品は、本書に記載の諸態様をハードウェア及びソフトウェアを含むプロセッサに実行させるコンピュータ可読プログラム命令を内に有する、コンピュータ可読記憶媒体（単数または複数）を含み得る。
【００６９】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持及び記憶することが可能な、有形の装置であることができる。コンピュータ可読記憶媒体は、限定しないが例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストには、ポータブルコンピュータ用ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭ  またはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、持ち運び可能なコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリースティック、フロッピーディスク、パンチカードまたは記録された命令を有する溝内の隆起構造といった機械的にエンコードされた装置、及びこれらの任意の適切な組み合わせ、が含まれる。コンピュータ可読記憶媒体とは、本明細書で使用される場合、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を通って伝播する電磁波（例えば光ファイバーケーブルを通過する光パルス）、または電線を通って伝送される電気信号といった、一過性信号それ自体と解釈されるべきではない。
【００７０】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からハードウェア及びソフトウェアを含む各コンピュータデバイス／処理デバイスに対して、または、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び／もしくはワイヤレスネットワークといったネットワークを経由して外部のコンピュータもしくは外部記憶装置に対して、ダウンロード可能である。ネットワークは、銅の伝送ケーブル、光伝送ファイバー、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び／またはエッジサーバを含み得る。各コンピュータデバイス／処理デバイスのネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピュータデバイス／処理デバイス内のコンピュータ可読記憶媒体内に保存するために、該コンピュータ可読プログラム命令を転送する。
【００７１】
様々な態様の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、スモールトーク、Ｃ＋＋などといったオブジェクト指向プログラミング言語、及び、プログラミング言語「Ｃ」または同様のプログラミング言語といった従来型の手続き型プログラミング言語を含む、１以上のプログラミング言語の任意の組み合わせによって書かれたソースコードもしくはオブジェクトコードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上且つ部分的にリモートコンピュータ上で、または完全にリモートのコンピュータもしくはサーバ上で、実行され得る。後者の場合、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るか、または、（例えば、インターネットサービスプロバイダを利用してインターネットを介して）外部のコンピュータへの接続がなされてもよい。いくつかの態様では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本開示の諸態様を実行する目的で該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
【００７２】
方法、装置（システム）、及びコンピュータプログラム製品のフロー図及び／またはブロック図を参照して、本明細書で諸態様が記載される。フロー図及び／またはブロック図の各ブロック、並びにフロー図及び／またはブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実行可能であることは、理解されよう。
【００７３】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行を行う命令が、フロー図及び／またはブロック図の一または複数のブロック内で特定されている機能／動作を実装するための手段を生成するように、汎用コンピュータ、特殊用途コンピュータ、または、機器を作製するための他のプログラマブルデータ処理装置のプロセッサに、提供され得る。これらのコンピュータ可読プログラム命令は、コンピュータに命令可能なコンピュータ可読記憶媒体内、プログラム可能なデータ処理装置内、及び／または特有の方法で機能する他の装置内にもまた、記憶され得る。それによって、命令が記憶されているコンピュータ可読記憶媒体には、該フロー図及び／またはブロック図の単数もしくは複数のブロックで特定されている機能／動作の態様を実装する命令を含む製品が含まれる。
【００７４】
コンピュータ可読プログラム命令はまた、一連の動作ステップをコンピュータ上、他のプログラム可能な装置上、またはコンピュータに実装されるプロセスを生み出す他の装置上で実行させるために、コンピュータ、他のプログラム可能なデータ処理装置、または他の装置にもロードされうる。これによって、コンピュータ上、他のプログラム可能な装置上、または他の装置上で実行される命令は、該フロー図及び／またはブロック図の単数もしくは複数のブロックで特定されている機能／動作を実装する。
【００７５】
図面のフロー図及びブロック図は、本明細書に開示された様々な態様によるシステム、方法及びコンピュータプログラム製品の可能な実装態様のアーキテクチャ、機能性、及び操作を示すものである。その際、フロー図及びブロック図の各ブロックは、特定の一又は複数の論理機能を実装する一又は複数の実行可能な命令を含む命令のモジュール、セグメント、又は部分を表し得る。いくつかの代替的な実施態様では、ブロックに記載された機能は図面に記載された順序を逸脱して現われてよい。例えば、場合によっては、連続して示されている２つのブロックはほぼ同時に実行されてもよく、または、含まれる機能によってはブロックは逆順に実行されてもよい。ブロック図及び／またはフロー図の各ブロック、並びにブロック図及び／またはフロー図のブロックの組み合わせは、特定機能または動作を行う特殊用途のハードウェアベースのシステムによって実装可能であるか、または特殊用途のハードウェア及びコンピュータ命令の組み合わせによって実行可能であることもまた、留意されるであろう。
【００７６】
更に、本開示は下記の条項による実施形態を含む。
【００７７】
条項１．第１の電磁センサと、
第１の電磁センサとの固定された空間関係に配置された第２の電磁センサと、
プロセッサと、
メモリに保存された検出ロジックと
を備え、
プロセッサによって実行された時に、メモリに保存された検出ロジックが、
第１の電磁センサ及び第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ  点群を生成し、
３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別し、
第１の電磁センサ及び前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別し、
境界画素に対応する特徴の３Ｄ位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影する
ように動作可能である、
特徴検出システム。
【００７８】
条項２．３Ｄ点群において所定の幾何学的形状を識別することが、
３Ｄ点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第１の電磁センサと第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を含む、条項１に記載の特徴検出システム。
【００７９】
条項３．第１の電磁センサと第２の電磁センサはそれぞれ可視光カメラであり、特徴検出システムが更に、
ランダムドットパターンを放射するように構成されたレーザーを備え、
可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む、条項１に記載の特徴検出システム。
【００８０】
条項４．境界画素が、可視光カメラのうちの１つによりキャプチャされた第１の画像を使用して識別され、第１の画像は、レーザーが動作を停止している時にキャプチャされる、条項３に記載の特徴検出システム。
【００８１】
条項５．境界画素を識別することが、
第１の画像においてエッジ検出を実施することを含み、
境界画素が、２Ｄ画像面上に位置している、条項４に記載の特徴検出システム。
【００８２】
条項６．３Ｄ点群を生成することが、
第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、第２の電磁センサによってキャプチャされた第２の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第１の電磁センサ及び第２の電磁センサとの間の距離を示す視差マップを生成することと、
視差マップに基づいて３Ｄ点群を生成することとを含む、条項１に記載の特徴検出システム。
【００８３】
条項７．検出ロジックが、
特徴の３Ｄ位置を特徴の予測される幾何学的形状に適合させるように構成され、３Ｄ位置のうちの幾つかは、外れ値として識別され無視される、条項１に記載の特徴検出システム。
【００８４】
条項８．第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ点群を生成することであって、第１の電磁センサは、第２の電磁センサとの固定された空間関係に配置されている、生成することと、
３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別することと、
第１の電磁センサと第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
境界画素に対応する特徴の３Ｄ位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することと
を含む方法。       
【００８５】
条項９．３Ｄ点群において所定の幾何学的形状を識別することが、
３Ｄ点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第１の電磁センサと第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を含む、条項８に記載の方法。
【００８６】
条項１０．第１の電磁センサと第２の電磁センサはそれぞれ可視光カメラであり、
方法が更に、ランダムドットパターンを放射するレーザーを起動することを含み、可視光カメラによってキャプチャされた画像が、ランダムドットパターンの少なくとも一部を含む、条項８に記載の方法。
【００８７】
条項１１．面適合技法を使用して、識別された幾何学的形状に対応する係数を決定することであって、係数は自由空間における面を表す、決定することを更に含み、
識別された幾何学的形状に境界画素の位置を投影することが、係数によって定義される面に境界画素の位置を投影することとを含む、条項１０に記載の方法。
【００８８】
条項１２．境界画素を識別することが、
第３の画像においてエッジ検出を実施すること
を含み、
境界画素は２Ｄ画像面に位置している、条項８に記載の方法。
【００８９】
条項１３．３Ｄ点群を生成することが、
第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、第２の電磁センサによってキャプチャされた第２の画像におけるオブジェクトの位置と比較することによって、オブジェクトと、第１の電磁センサ及び第２の電磁センサとの間の距離を示す視差マップを生成することと、
視差マップに基づいて３Ｄ点群を生成することと
を含む、条項８に記載の方法。
【００９０】
条項１４．特徴を検出するためのコンピュータ可読記憶媒体であって、
一又は複数のコンピュータプロセッサによって、
第１の電磁センサ及び第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて３Ｄ  点群を生成することであって、第１の電磁センサが第２の電磁センサとの固定された空間関係に配置される、生成することと、
３Ｄ点群において少なくとも１つの所定の幾何学的形状を識別することと、
第１の電磁センサ及び前記第２の電磁センサのうちの少なくとも１つによってキャプチャされたデータに基づいて、特徴のエッジに対応する境界画素を識別することと、
境界画素に対応する特徴の３Ｄ位置を識別するために、識別された幾何学的形状上に境界画素の位置を投影することと
を実行可能なコンピュータ可読プログラムコードを含む、コンピュータ可読記憶媒体。
【００９１】
条項１５．３Ｄ点群において所定の幾何学的形状を識別することが、コンピュータ可読プログラムコードに
３Ｄ点群において所定の幾何学的形状の複数のインスタンスを識別することと、
所定の幾何学的形状のインスタンスを、第１の電磁センサと第２の電磁センサの少なくとも１つの視覚領域内で、構成要素の設計モデルのモデル形状と照合することと、
特徴を含むモデル形状と一致する所定の幾何学的形状のインスタンスを識別することによって、識別された幾何学的形状を選択することと
を実行させることを含む、条項１４に記載のコンピュータ可読記憶媒体。
【００９２】
条項１６．第１の電磁センサと第２の電磁センサがそれぞれ可視光カメラであり、記憶媒体が更にコンピュータ可読プログラムコードに、
ランダムドットパターンを放射するレーザーを起動すること
を実行させることを含み、可視光カメラによってキャプチャされた画像は、ランダムドットパターンの少なくとも一部を含む、条項１４に記載のコンピュータ可読記憶媒体。
【００９３】
条項１７．境界画素が、可視光カメラのうちの１つによってキャプチャされた第１の画像を使用して識別され、第１の画像は、レーザーが動作を停止している時にキャプチャされる、条項１６に記載のコンピュータ可読記憶媒体。
【００９４】
条項１８．コンピュータ可読プログラムコードに、
面適合技法を使用して、識別された幾何学的形状に対応する係数を決定すること
を実行させることを更に含み、
識別された幾何学的形状の境界画素の位置を投影することが、境界画素の位置を係数によって定義された面に投影することを含む、条項１４に記載のコンピュータ可読記憶媒体。
【００９５】
条項１９．境界画素を識別することがコンピュータ可読プログラムコードに、
第３の画像においてエッジ検出を実施すること
を含み、境界画素は２Ｄ画像面に位置している、条項１４に記載のコンピュータ可読記憶媒体。
【００９６】
条項２０．３Ｄ点群を生成することがコンピュータ可読プログラムコードに、
第１の電磁センサによってキャプチャされた第１の画像におけるオブジェクトの位置を、第２の電磁センサによってキャプチャされた第２の画像におけるオブジェクトの位置と比較することによって、第１の電磁マップ及び第２の電磁マップとオブジェクトとの間の距離を示す視差マップを生成することと、
視差マップに基づいて３Ｄ点群を生成することと
を実行させることを含む、条項１４に記載のコンピュータ可読記憶媒体。
【００９７】
前記は本発明の諸態様を対象としているが、本発明の他の、及びさらなる態様は、その基本的な範囲及び以下の特許請求の範囲によって決定されるその範囲を逸脱することなく、考案され得る。
【図１】
2017123147.tif 000006
【図２】
2017123147.tif 000007
【図３】
2017123147.tif 000008
【図４】
2017123147.tif 000009
【図５】
2017123147.tif 000010
【図６】
2017123147.tif 000011
【図７】
2017123147.tif 000012
【図８】
2017123147.tif 000013
【図９】
2017123147.tif 000014
【外国語明細書】
2017123147000001.pdf
2017123147000002.pdf
2017123147000003.pdf
2017123147000004.pdf