IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コグネックス・コーポレイションの特許一覧

特開2023-36793オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置
<>
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図1
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図2
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図3
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図4A
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図4B
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図5A
  • 特開-オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023036793
(43)【公開日】2023-03-14
(54)【発明の名称】オブジェクトの特徴を予測するためにレンジデータを使用するための方法及び装置
(51)【国際特許分類】
   G06T 7/521 20170101AFI20230307BHJP
   G01B 11/02 20060101ALI20230307BHJP
   G01B 11/00 20060101ALI20230307BHJP
【FI】
G06T7/521
G01B11/02 Z
G01B11/00 B
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022204893
(22)【出願日】2022-12-21
(62)【分割の表示】P 2021024687の分割
【原出願日】2021-02-18
(31)【優先権主張番号】16/796,726
(32)【優先日】2020-02-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100119378
【弁理士】
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】ガオ,チェン
(72)【発明者】
【氏名】バチェルダー,アイヴァン
(57)【要約】      (修正有)
【課題】オブジェクトが完全に距離検知デバイスの視野内に入る前に、オブジェクトの高さ情報を予測する方法及び装置及び記憶媒体を提供する。
【解決手段】距離検知測定により距離測定モデルを決定する方法は、第1の時点で、オブジェクトが部分的にのみ視野内にある第1の位置にあるときに、第1の距離データを決定し、その後の第2の時点で、オブジェクトが部分的にのみ視野内にある第2の異なる位置にあるときに、第2の距離データを決定し、第1の距離データと第2の距離データに基づいて、オブジェクトに対して視野内のオブジェクトの物理的パラメータをモデル化する距離測定モデルを決定し、第1の距離データ、第2の距離データ及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定し、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定する。
【選択図】図4B
【特許請求の範囲】
【請求項1】
コンピュータ化された方法であって:
当該方法は、第1の時点にて、距離検知デバイスによって決定された第1の距離データにアクセスすることを含み、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置では部分的にのみ視野内にあり;
当該方法は、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスすることをさらに含み、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置では部分的にのみ視野内にあり;
当該方法は、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定することをさらに含み、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されていて;
当該方法は、第1の距離データ、第2の距離データ及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定することをさらに含み;かつ
当該方法は、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定することをさらに含む;
コンピュータ化された前記方法。
【請求項2】
オブジェクトの物理的パラメータは、オブジェクトの面積、オブジェクトの高さ、又はこれらの組み合わせを含む、請求項1に記載のコンピュータ化された方法。
【請求項3】
さらに、第3の距離データに基づいて、距離検知デバイスに関連する撮像デバイスのレンズの焦点調整を表すデータを決定することを含む、請求項1に記載のコンピュータ化された方法。
【請求項4】
さらに、焦点調整を表すデータに基づいて、レンズの焦点を変更する1以上の信号を送信することを含む、請求項3に記載のコンピュータ化された方法。
【請求項5】
さらに、レンズの焦点を変更する1以上の信号を送信した後でオブジェクトの画像をキャプチャすることを含む、請求項4に記載のコンピュータ化された方法。
【請求項6】
さらに、第3の距離データに基づいて、距離検知デバイスに関連する撮像デバイスの照明モジュールの輝度調整を表すデータを決定することを含む、請求項1に記載のコンピュータ化された方法。
【請求項7】
さらに、オブジェクトの運動パラメータを表すデータにアクセスすること;及び
第1の距離データ、第2の距離データ、距離測定モデル、及び運動パラメータに基づいて第3の距離データを決定することを含む;
請求項1に記載のコンピュータ化された方法。
【請求項8】
運動パラメータは、オブジェクトが距離検知デバイスの視野を通過するときのオブジェクトの速度を含む、請求項7に記載のコンピュータ化された方法。
【請求項9】
運動パラメータは、オブジェクトが距離検知デバイスの視野を通過するときのオブジェクトの加速度を含む、請求項8に記載のコンピュータ化された方法。
【請求項10】
第3の距離データを決定することは、第1の距離データ、第2の距離データ、距離測定モデル、及びオブジェクトの速度に基づいて、第3の距離データを決定することを含む、請求項8に記載のコンピュータ化された方法。
【請求項11】
距離検知デバイスは、飛行時間型センサを含み、第1の距離データと第2の距離データにアクセスすることは、第1の距離データと第2の距離データにアクセスすることは、飛行時間型センサから第1の飛行時間測定値と第2の飛行時間測定値を受信することを含む、請求項1に記載のコンピュータ化された方法。
【請求項12】
第1の距離データ、第2の距離データ、及び距離測定モデルに基づいて第3の距離データを決定することは:
距離測定モデルを使用して、第1の距離データに基づいて距離検知デバイスの視野内のオブジェクトの第1の面積の第1のオブジェクト面積推定値を決定すること;及び
距離測定モデルを使用して、第1のオブジェクト面積推定値と第2の距離データに基づいて距離検知デバイスの視野内のオブジェクトの第2の面積の第2のオブジェクト面積推定値を決定すること;
を含む、請求項1に記載のコンピュータ化された方法。
【請求項13】
距離測定モデルは、カルマンフィルタである、請求項12に記載のコンピュータ化された方法。
【請求項14】
さらに、第2のオブジェクト面積推定値に基づいて、オブジェクトの高さ推定値を決定することを含む、請求項12に記載のコンピュータ化された方法。
【請求項15】
オブジェクトの高さ推定値を決定することは、パラメータ推定アルゴリズムを使用して、第2のオブジェクト面積推定値に基づいて高さ推定値を決定することを含む、請求項14に記載のコンピュータ化された方法。
【請求項16】
パラメータ推定アルゴリズムは、期待値最大化(EM)アルゴリズム、最大事後確率(MAP)アルゴリズム、又はこれらの組み合わせである、請求項15に記載のコンピュータ化された方法。
【請求項17】
メモリと通信するプロセッサを含む装置であって、プロセッサはメモリに格納された命令を実行し、その結果:
プロセッサは、第1の時点で、距離検知デバイスによって決定された第1の距離データにアクセスするよう構成され、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置では部分的にのみ視野内にあり;
プロセッサはさらに、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスするよう構成され、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置では部分的にのみ視野内にあり;
プロセッサはさらに、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定するよう構成され、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されており;
プロセッサはさらに、第1の距離データ、第2の距離データ及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定するよう構成され;かつ
プロセッサはさらに、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定するよう構成されている;
前記装置。
【請求項18】
さらに、プロセッサはメモリに格納された命令を実行し、その結果:
プロセッサはさらに、オブジェクトの運動パラメータを表すデータにアクセスするよう構成されており;かつ
プロセッサはさらに、第1の距離データ、第2の距離データ、距離測定モデル及び運動パラメータに基づいて、第3の距離データを決定することを含むように構成されている;
請求項17に記載の装置。
【請求項19】
プロセッサ実行可能命令を格納する少なくとも1つの非一時的なコンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令が少なくとも1台のコンピュータハードウェアプロセッサによって実行されると:
前記コンピュータハードウェアプロセッサは、第1の時点で、距離検知デバイスによって決定された第1の距離データにアクセスする動作を実行し、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置では部分的にのみ視野内にあり;
前記コンピュータハードウェアプロセッサは、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスする動作をさらに実行し、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置では部分的にのみ視野内にあり;
前記コンピュータハードウェアプロセッサは、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定する動作をさらに実行し、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されており;
前記コンピュータハードウェアプロセッサは、第1の距離データ、第2の距離データ及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定する動作をさらに実行し;かつ
前記コンピュータハードウェアプロセッサは、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定する動作をさらに実行する;
前記コンピュータ可読記憶媒体。
【請求項20】
さらに、プロセッサ実行可能命令によって:
前記コンピュータハードウェアプロセッサは、オブジェクトの運動パラメータを表すデータにアクセスする動作をさらに実行し;かつ
前記コンピュータハードウェアプロセッサは、第1の距離データ、第2の距離データ、距離測定モデル及び運動パラメータに基づいて、第3の距離データを決定する動作をさらに実行する;
請求項19に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の技術は、概略、レンジデータを使用して、オブジェクトの高さを予測することを含む、オブジェクトの特徴を予測するための方法及び装置に関する。
【背景技術】
【0002】
ビジョンシステムは、オブジェクトの測定、オブジェクトの検査、オブジェクトの整列及び/又はコード(例えばバーコード)の復号などのタスクを実行するために広範囲の用途で使用できる。そのようなシステムはしばしば、被写体若しくはオブジェクトの画像を取得する画像センサ、及び取得した画像を処理する1台以上のプロセッサ(例えばオンボード上及び/又は画像センサと相互接続)を含んでいる。画像情報は、それぞれ種々の色及び/又は強度を有する画像ピクセルのアレイとして提供できる。ビジョンシステムは、処理された画像に基づいて所望の出力を生成するように構成できる。例えばバーコードリーダーの場合、撮像デバイスは1以上のバーコードを含み得るオブジェクトを撮像することができる。次に、システムは画像を処理してバーコードを識別し、それをシステムはバーコード復号プロセスを使用して復号できる。
【発明の概要】
【0003】
本明細書に記載された技術は、いくつかの実施形態では、移動するオブジェクトの特徴を、そのような特徴が既存の技術を用いて決定できる前に予測するためのレンジデータを測定するために、飛行時間型センサなどの距離検知デバイスを使用することに関する。いくつかの実施形態では、この技術は距離データを使用して移動するオブジェクトの高さを予測し、レンズアセンブリの焦点を合わせて、撮像デバイス(レンズを通してシーンを見る)が移動するオブジェクトを、画像に基づいてオブジェクトの特徴を処理できるほどに十分な焦点で撮像できるようにする。例えば飛行時間型センサは、オブジェクトが完全に飛行時間型センサの視野内にある場合しかオブジェクトまでの距離を正確に測定できない可能性があるのに対し、この技術オブジェクトが完全に飛行時間型センサの視野内に入るかなり前に、オブジェクトまでの距離を予測することができる。この技術によりマシンビジョンシステムは、オブジェクトの物理的特性(例えばオブジェクトの寸法、オブジェクトの面積、オブジェクト間の間隔など)、オブジェクト上のバーコード、オブジェクトの検査及び/又は同種の特徴を処理することができる。
【0004】
いくつかの実施形態は、コンピュータ化された方法に関する。この方法は、第1の時点で、距離検知デバイスによって決定された第1の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置で部分的にのみ視野内にあることを含む。この方法は、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置で部分的にのみ視野内にあることを含む。この方法は、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定し、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されていることを含む。この方法は、第1の距離データ、第2の距離データ、及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定することを含む。この方法は、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定することを含む。
【0005】
いくつかの実施形態は、装置に関する。この装置は、メモリと通信するプロセッサを含む。プロセッサはメモリに格納された命令を実行し、その結果プロセッサは、第1の時点で、距離検知デバイスによって決定された第1の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置で部分的にのみ視野内にあるように構成されている。プロセッサはメモリに格納された命令を実行し、その結果プロセッサは、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置で部分的にのみ視野内にあるように構成されている。プロセッサはメモリに格納された命令を実行し、その結果プロセッサは、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定し、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されている。プロセッサはメモリに格納された命令を実行し、その結果プロセッサは、第1の距離データ、第2の距離データ、及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定するように構成されている。プロセッサはメモリに格納された命令を実行し、その結果プロセッサは、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定するように構成されている。
【0006】
いくつかの実施形態は、少なくとも1つの非一時的なコンピュータ可読記憶媒体に関する。非一時的なコンピュータ可読記憶媒体はプロセッサ実行可能命令を格納しており、少なくとも1台のコンピュータハードウェアプロセッサによって実行されると、少なくとも1台のコンピュータハードウェアプロセッサは、第1の時点で、距離検知デバイスによって決定された第1の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第1の位置にあるオブジェクトを用いて第1の距離データを決定しており、オブジェクトは第1の位置で部分的にのみ視野内にある。非一時的なコンピュータ可読記憶媒体はプロセッサ実行可能命令を格納しており、少なくとも1台のコンピュータハードウェアプロセッサによって実行されると、少なくとも1台のコンピュータハードウェアプロセッサは、第1の時点の後で生じる第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスし、ここで、距離検知デバイスは、距離検知デバイスの視野内の第2の位置にあるオブジェクトを用いて第2の距離データを決定しており、第1の位置は第2の位置とは異なり、オブジェクトは第2の位置で部分的にのみ視野内にある。非一時的なコンピュータ可読記憶媒体はプロセッサ実行可能命令を格納しており、少なくとも1台のコンピュータハードウェアプロセッサによって実行されると、少なくとも1台のコンピュータハードウェアプロセッサは、第1の距離データと第2の距離データに基づいてオブジェクトに対して距離測定モデルを決定し、ここで、距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータを経時的にモデル化するように構成されている。非一時的なコンピュータ可読記憶媒体はプロセッサ実行可能命令を格納しており、少なくとも1台のコンピュータハードウェアプロセッサによって実行されると、少なくとも1台のコンピュータハードウェアプロセッサは、第1の距離データ、第2の距離データ、及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す第3の距離データを決定する。非一時的なコンピュータ可読記憶媒体はプロセッサ実行可能命令を格納しており、少なくとも1台のコンピュータハードウェアプロセッサによって実行されると、少なくとも1台のコンピュータハードウェアプロセッサは、第3の距離データに基づいて、オブジェクトの高さを表すデータを決定する。
【0007】
以上、開示の主題の特徴をややおおまかに述べたのは、以下に続く詳細な説明においてそれらがより良く理解されるように、また本発明の技術への寄与がより適切に評価されるようにするためである。言うまでもなく開示された主題の追加の特徴があり、それらは以下に説明されるとともに、本明細書に付属する特許請求の範囲の主題をなす。本明細書で使用される表現及び用語は、説明を目的とするものであり、限定的なものと見なされるべきではないことを理解されたい。
【0008】
添付の図面は、縮尺通りに描かれることを意図したものではない。図面では、種々の図に示されている同一又はほぼ同一の各構成要素は同じ参照符号で表されている。見やすさのため、各図面にはすべての構成要素が表示されているわけではない。
【図面の簡単な説明】
【0009】
図1】本明細書に記載の技術のいくつかの実施形態による、オブジェクトがコンベヤベルト上を画像検知デバイスの視野に向かって移動する例示的なマシンビジョンシステムの用途を示す図である。
図2】本明細書に記載の技術のいくつかの実施形態による、図1のオブジェクトがさらに移動して、オブジェクトが部分的に画像検知デバイスの視野内にあることを示す図である。
図3】本明細書に記載の技術のいくつかの実施形態による、図1のオブジェクトがさらに移動して、オブジェクトが図2と比較してより多く画像検知デバイスの視野内にあることを示す図である。
図4A】本明細書に記載の技術のいくつかの実施形態による、レンジ測定を使用して距離測定モデルを決定及び更新するための例示的な方法を示す図である。
図4B】本明細書に記載の技術のいくつかの実施形態による、距離検知測定を使用して距離測定モデルを決定及び更新するための例示的な方法を示す図である。
図5A】本明細書に記載の技術のいくつかの実施形態による、距離測定及びパラメータ推定値を使用して距離測定モデルを決定及び更新するための例示的な方法を示す図である。
図5B】本明細書に記載の技術のいくつかの実施形態による、距離測定及びパラメータ推定値を使用して距離測定モデルを決定及び更新するための例示的な詳細な方法を示す図である。
【発明を実施するための形態】
【0010】
上記のように、本明細書に記載の技術は、様々なマシンビジョンの用途でオブジェクトの特徴を予測するために使用することができる。この技術は、例えばコンベヤベースの用途、仕分け用途、及び/又は同種のものを含む、物流マシンビジョンの用途に使用できる。いくつかの物流用途は、深い被写界深度と小さいアパチャーを有する固定焦点レンズを使用する。アパチャーが小さい結果として、限られた光しかレンズを通過できないので画像が十分照明されない可能性がある。代替として、固定焦点レンズの代わりにオートフォーカス技術を使用することもできる。オートフォーカス技術では被写界深度の浅いレンズを使用できるため、より多くの光をキャプチャでき、それによって画質を向上させることができる。1~3ミリ秒で焦点を変えることができる液体レンズなどの高速焦点レンズが利用可能である。飛行時間型センサなどの距離検知デバイスを使用してオブジェクトの高さを検出でき、それによってレンズのオートフォーカスを駆動できる。例えば飛行時間型センサは3~5KHzの速度で動作できる。
【0011】
オートフォーカス技術は画質を改善することができるが、本発明者らは、そのような技術は、撮像デバイスがオブジェクトの十分な数の高品質画像をキャプチャすることを可能にするのに十分な速さで焦点を合わせることができない可能性があることを発見及び理解した。例えば高速物流用途では、毎分600~800フィート(又は毎秒10~13.5フィート)など非常に高速でオブジェクトを移動するコンベヤベルトを使用できる。したがって、オブジェクトは撮像デバイスの視野内に1秒未満、場合によっては100~500ミリ秒未満しか存在しないことがある。撮像センサは通常、50~60Hzで動作するが、これは各画像に対して約15~20ミリ秒である。高速物流用途の場合、撮像デバイスは、撮像センサの視野内にあるオブジェクトのいくつかの有用な画像しかキャプチャできない場合がある(例えばオブジェクトの完全なバーコードの1~2枚の画像)。この問題は画像センサにより近い高いオブジェクトではさらに悪化する可能性があり、それはオブジェクトの十分な画像をキャプチャする機会をさらに制限する可能性がある(例えば高いオブジェクトに対して視野はより多く制限されるため、オブジェクトが視野内にある時間は低いオブジェクトよりも短い)。システムは、距離検知デバイスによってさらに制限され得る。例えば飛行時間型センサは高速で動作できるが(例えば飛行時間型センサは50~60Hzの撮像デバイスの各画像キャプチャ間で10~20回の飛行時間の読み取り値を取得できる)、飛行時間型センサはオブジェクト全体が飛行時間型センサの視野内にある場合にのみ正確な高さ測定値を提供できる。したがって、飛行時間型センサを画像センサに隣接して又はその近傍に配置したシステムなど、多くのマシンビジョンシステムでは、飛行時間型センサは通常、オートフォーカス用途を駆動するのに十分速い高さ測定を提供しない。
【0012】
したがって、本発明者らは、既存のマシンビジョンシステムでこれらの及び他の問題に対処するために高速のオブジェクト高さ検出を提供することが望ましいことを認識及び理解した。例えば高速のオブジェクト高さ検出を使用して、オブジェクト(又はオブジェクトの関連部分)が撮像デバイスの視野内に移動する前及び/又は瞬間にレンズアセンブリの焦点を合わせることができ、その結果、撮像デバイスは、オブジェクトが撮像デバイスの視野内にあるときにオブジェクトの画像をキャプチャするための最大時間を持つ。本発明者らは、オブジェクト全体が距離検知デバイスの視野内に入る前に、移動するオブジェクトの高さを予測する技術を開発した。そのような技術は、マシンビジョンシステムが単一のパッケージ内に撮像デバイスと距離検知デバイスの両方を含むことを可能にし、それでもなおマシンビジョンシステムが以前の距離検知デバイスで可能であったよりも速くレンズアセンブリのオートフォーカスを可能にする。例えば距離測定デバイスが、オブジェクトが完全に視野に入るまでにオブジェクトが距離測定デバイスの視野に入るときにオブジェクトのN個の画像を取得する場合、本発明の技術はオブジェクトパラメータを50%早く(例えば1/2×N個少ない取得)推定することができる。そのような技術は追加的に又は代替的に、さもないと不完全なデータを用いて達成できるよりも高い精度を提供できる。この技術は、例えば少数のノイズの多い距離測定(例えばオブジェクトがシステムの視野内に完全に入る前に行う少数のノイズの多い距離測定)でオートフォーカスを実行でき、これは前に可能であったよりもはるかに速いコンベヤ速度でオートフォーカスを実行できるようにする。
【0013】
以下の説明では、開示された主題を完全に理解するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作し得る環境などに関して、多くの具体的な詳細が示されている。加えて、以下に提供される例は例示的なものであり、開示された主題の範囲内にある他のシステム及び方法が存在することが想定されていることが理解されよう。
【0014】
図1は、本明細書に記載の技術のいくつかの実施形態による、オブジェクト102がコンベヤベルト104上を画像検知デバイス108の視野S106に向かって移動する、例示的なマシンビジョンシステム用途を示す図100である。この例では、オブジェクト102は高さH110を有し、オブジェクト102はコンベヤベルト104上を方向112に移動している。画像検知デバイス108は、コンベヤベルト104から距離D114にある。図2は、本明細書に記載の技術のいくつかの実施形態による、図1のオブジェクト102が方向112に沿ってさらに移動して、オブジェクト102が部分的に画像検知デバイス108の視野S106内にあることを示す図である。図2に示されているように、オブジェクト102の上面の部分Sk1 200は、視野S106内にある。図3は、本明細書に記載の技術のいくつかの実施形態による、図1のオブジェクト102が方向112に沿ってさらに移動して、オブジェクト102が図1と比較してさらに画像検知デバイス108の視野S106内にあることを示す図である。図3に示されているように、オブジェクト102の上面の部分Sk2 300は、視野S106内にある。部分Sk2 300は、図2の部分Sk1 200よりも大きい。
【0015】
図1図3は、1つのオブジェクト102を示しているが、多くのオブジェクトがコンベヤベルト上を移動することがあり、それらのオブジェクトは形状、間隔及び/又は同種のものが均一ではない可能性があることを理解されたい。したがって、物流業務でのコード復号(例えばパッケージがコンベヤラインを通過するときにパッケージのバーコードを追跡する)など、多くのビジョンシステム用途では、数、高さ、長さ、全体の寸法、及びオブジェクト間の隙間が大きく変動する可能性がある。
【0016】
くつかの実施形態では、距離検知デバイスは、距離情報を予測する内蔵シングルポイント又はマルチポイント飛行時間型センサなどの飛行時間型センサである。飛行時間型センサはレーザビーム又は光パルス(例えば赤外光パルス)などのビームを放射するように構成されたエミッタと、反射したビームを受信するように構成されたレシーバを含んでいてもよい。飛行時間型センサは、放射ビームと反射ビームの間に位相シフトがあるようにビームの強度を高周波で変調することができる。飛行時間型センサは、エミッタでの位相とレシーバでの位相を比較することによって位相シフトの程度を測定する回路を含んでいてもよい。
【0017】
距離検知デバイス108は、図示されていないが撮像デバイスの近傍に配置することができ、例えば撮像デバイスと単一のパッケージに組み込み、及び/又は撮像装置の近傍に取り付ける(例えば撮像デバイスの組立レンズに取り付ける)ことができる。例示的な構成は、本出願の譲受人であるコグネックスコーポレーションによって提供される高輝度内蔵照明(HPIT)などの飛行時間型センサ及び/又は照明装置と統合された撮像デバイスを含んでいてもよい。別の例示的な構成は、撮像デバイスと、撮像デバイスとは異なる場所に取り付けられた飛行時間型センサとを含んでいてもよい。そのような例では、撮像デバイスと飛行時間型センサはコンベヤに垂直な光軸など1以上の構成制約を伴って、同じ高さに、撮像デバイスからコンベヤベルトの上流に飛行時間型センサを用いて取り付けることができ、飛行時間型センサはオブジェクトが撮像デバイス及び/又は他のシステム構成制約に到達する前に測定を実行できるようにする。いくつかの実施形態では、撮像デバイスは1以上の内部プロセッサ(例えばFPGA、DSP、ARMプロセッサ及び/又は同種のもの)、及びそれがスタンドアローンユニットとして機能することを可能にする他のコンポーネントを含むことができ、それによって所望の出力データ(例えば復号されたコード情報)を在庫追跡コンピュータシステムや物流用途などの下流プロセスに提供する。いくつかの実施形態では、マシンビジョンシステムは、マシンビジョンシステム処理機能を提供するように構成された外部処理機能、例えばパーソナルコンピュータ、ラップトップ及び/又は同種のものを含んでいてもよい。
【0018】
いくつかの実施形態では、マシンビジョンシステムは、画像ベースのコードリーダーであり得る。リーダーは、画像センサと光学系を備えた撮像デバイスと、画像センサによって取得された画像内のコード(例えばバーコード)を見出して復号するように配置されたビジョンシステムプロセッサとを含んでいてもよい。距離検知デバイス108は撮像デバイスと統合することができ、画像センサの視野内のオブジェクト102について本明細書で(例えば図4A~5Bと関連して)記載するように距離情報を予測する。飛行時間型センサは、ビジョンシステムプロセッサ及び/又はイメージャ制御装置の少なくとも1つと作動的に接続できる。
【0019】
いくつかの実施形態では、撮像デバイスは、レンズアセンブリを含み、及び/又はレンズアセンブリと光通信することができる。レンズ構成の選択は、発光/照明、視野、焦点距離、カメラ軸と撮像面との相対角度、及び/又は撮像面の詳細の寸法など、様々な要因によって決めることができる。いくつかの例では、レンズのコスト及び/又はビジョンシステムを取り付けるために利用可能なスペースもレンズの選択を決める要因となり得る。特定のビジョンシステム用途において望ましいことがある例示的なレンズ構成は、自動焦点(オートフォーカス)アセンブリである。例として、オートフォーカスレンズは、いわゆる液体レンズアセンブリによって簡易に実現できる。
【0020】
液体レンズを使用すると、レンズに手動で触れたり調整したりする必要がなくなるため、ビジョンシステムの設置、セットアップ、及びメンテナンスを簡素化できる。他のオートフォーカス機構と比較して、液体レンズは応答時間が速い場合がある。液体レンズは、オブジェクト間(表面間)で読み取り距離が変化する用途や、異なる寸法/高さのオブジェクト(例えば配送箱など)を載せて動いているコンベヤをスキャンするなど、あるオブジェクトから別のオブジェクトの読み取りに切り替わる場合にも使用できる。高さオブジェクト。図1図3に示す例は、コンベヤベルト型マシンビジョンの用途を示しているが、多くの異なるビジョンシステム用途において撮像のために迅速に焦点を合わせることが望ましい場合があり、したがって本明細書に記載の技術は、そのような例示的な実施形態に限定されないことを理解されたい。
【0021】
液体レンズは様々な方法で実装できる。1つの例示的な液体レンズの実施形態は水と油を使用し、本質的に印加電圧を使用して油をレンズに成形することができる。周囲のレンズによりレンズを通過する電圧を変化させることにより、油・水インターフェースの曲率が変化し、それがまたレンズの焦点距離の変化につながる。別の例示的な液体レンズの実施形態は、液体リザーバを覆う可動膜を使用して、その焦点距離を変化させることである。ボビンは圧力をかけて膜の形状を変え、それによってレンズの焦点を変化させることができる。入力電流を変えたり、ボビンをあらかじめ設定されたレンジ内で動かすことができる。電流レベルを変えて、液体レンズの焦点距離を変化させることができる。
【0022】
本明細書に記載するように、距離検知デバイスからのレンジ/距離情報は、視野内及び視野の前の特定の寸法/形状のオブジェクトに基づいて、実行時動作中に可変(例えば液体)レンズをオートフォーカスするように処理することができる。オブジェクトは完全に飛行時間型センサの視野内にある。例えば予測された距離情報を使用して、オブジェクトが撮像デバイスの視野内に部分的及び/又は完全に入る前に、撮像デバイスのレンズの焦点距離を設定することができる。いくつかの実施形態では、システムは、距離測定デバイスが撮像センサよりも高速であるように構成されている。例えば50Hzの画像センサは4KHzの飛行時間型センサと一緒に使用できる。
【0023】
図4Aは、本明細書に記載の技術のいくつかの実施形態による、レンジ測定を使用して距離測定モデルを決定及び更新するための例示的な方法400を示す図である。マシンビジョンシステムは方法400を実行して、オブジェクトが完全に距離検知デバイスの視野内に入る前に、オブジェクトの特徴(例えば高さ、面積など)を予測することができる。例えば図2及び図3を参照すると、方法400を使用して、オブジェクト102が距離検知デバイス108の視野S内に完全に入る前に、オブジェクト102の高さH110を予測することができる。ステップ402で、機械ビジョンシステムは、特徴測定モデル、例えば距離測定モデルを決定する。これはオブジェクトが距離検知デバイスの視野に入るときに、距離検知デバイスのオブジェクトまでの距離測定値を経時的にモデル化して、オブジェクトが完全に視野内に入る前にオブジェクトの高さを予測するものである。本明細書に記載するように、マシンビジョンシステムは、所定のパラメータに基づいて、及び/又はオブジェクトが視野に入り始めるときのオブジェクトの初期距離測定値に基づいて、距離測定モデルを決定することができる。
【0024】
マシンビジョンシステムは、経時的に距離データを取得し続け、それに応じて距離測定モデルを更新する。ステップ404で、マシンビジョンシステムは、新しい距離測定データを取得及び/又は処理する。ステップ406で、マシンビジョンシステムは、ステップ404で取得された距離測定データに基づいて距離測定モデルの状態406を更新する。この方法は、ステップ404に戻り、新しい距離測定データを処理及び/又は取得する。この方法は、距離測定モデルが距離測定データに十分収斂するまで、ステップ404及び406を実行する。例えば、本明細書にさらに記載するように、マシンビジョンシステムは、距離測定モデル及び/又はステップ406で決定されたオブジェクトの高さの推定値が所定の閾値未満であるとき、距離測定モデルは飛行時間型測定データに収斂すると決定できる。
【0025】
図4Bは、本明細書に記載の技術のいくつかの実施形態による、距離検知測定を使用して距離測定モデルを決定及び更新するための例示的な詳細な方法450を示す図である。ステップ452で、マシンビジョンシステムは、第1の時点で距離検知デバイス(例えば飛行時間型センサ)によって決定された第1の距離データにアクセスする。距離検知デバイスは、一部分しか距離検知デバイスの視野内にない第1の位置にあるオブジェクトを用いて第1の距離をキャプチャ及び/又は決定した。例えば図2を参照すると、距離検知デバイス108は、Sk1 200によって示されているように、一部だけ視野S106内にあるオブジェクト102との第1の距離データをキャプチャした。
【0026】
ステップ454で、マシンビジョンシステムは、第1の時点に続く第2の時点で、距離検知デバイスによって決定された第2の距離データにアクセスする。距離検知デバイスは、オブジェクトが距離検知デバイスの視野内に一部分しかない第2の位置で第2の距離データをキャプチャ及び/又は決定した。距離データはオブジェクトの移動に伴って経時的に決定されるので、第1の距離データに関連付けられた第1の位置は、第2の距離データに関連付けられた第2の位置とは異なる。例えば図3を参照すると、距離検知デバイス108は、Sk2 300によって示されているように、視野S106内に部分的にのみあるオブジェクト102を用いて第2の距離データをキャプチャした。図2と比較すると、オブジェクト102は図2図3の両方で部分的にのみ視野S106内にあるが、オブジェクト102は図3図2により大きく視野S106内にある(したがってSk2 300はSk1 200よりも大きい)。
【0027】
本明細書に記載するように、距離検知デバイスは、マシンビジョンタスクを実行するための内部及び/又は外部処理ハードウェア及び関連ソフトウェアも含むマシンビジョンシステムの一部である飛行時間型センサであることができる。ステップ452及び454を参照すると、第1の距離データと第2の距離データへのアクセスは、飛行時間型センサから第1の飛行時間測定値と第2の飛行時間測定値を受信する処理ハードウェア(例えば撮像デバイスの一部である)を含んでいてもよい。別の例として、処理ハードウェアは、飛行時間型センサと共有されているメモリから飛行時間測定値にアクセスできる。
【0028】
ステップ456で、マシンビジョンシステムは、第1の距離データと第2の距離データに基づいて、オブジェクトの距離測定モデルを決定する。彼距離測定モデルは、距離検知デバイスの視野内のオブジェクトの物理的パラメータ、例えばオブジェクトの高さ、オブジェクトの表面積及び/又は同種のものを経時的にモデル化するように構成されている。ステップ458で、マシンビジョンシステムは、以前の距離データ(例えば第1の実行のための第1の距離データと第2の距離データ)及び距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す距離データを決定する。
【0029】
ステップ460で、マシンビジョンシステムは、距離測定モデルが距離測定データに収斂するかどうかを決定する。いくつかの実施形態では、マシンビジョンシステムは、距離測定モデルの変化が所定の閾値を下回ることを決定することができる。いくつかの実施形態では、マシンビジョンシステムは、距離測定データと推定されたオブジェクトの高さとの間の変化(例えばステップ458で決定されたデータ)が所定の閾値未満であることを決定することができる。例えば式1及び式2に関連してさらに記載するように、オブジェクトの高さは、観測行列の一部であるパラメータとしてモデル化することができ、観測行列は反復ごとに更新できる。もし、所定数の反復の後で、予測された高さが観測に近ければ(例えば閾値以内)場合、システムは、現在の反復で使用されているモデルが十分であり、観測行列を使用してオブジェクトの高さを決定できる(例えば距離測定モデルがこの状態で安定している)と決定できる。もしマシンビジョンシステムが、距離測定モデルが距離測定データに収斂しないと決定したら、方法450はステップ462に進み、1以上の追加の距離測定で距離測定モデルを更新して、ステップ458に戻る。
【0030】
マシンビジョンシステムが、距離測定モデルが距離測定データに収斂すると決定したら、方法450はステップ464に進み、マシンビジョンシステムは、ステップ458で決定された距離データに基づいて、オブジェクトの高さを表すデータを決定する。例えばマシンビジョンシステムはステップ458からの最後に決定されたデータを、オブジェクトの高さを表すものとして使用することができる。
【0031】
本明細書に記載するように、マシンビジョンシステムは、オブジェクトの高さを表すデータを使用して、マシンビジョンシステムの様々なタスクを実行することができる。例えばマシンビジョンシステムは、距離データに基づいて、距離検知デバイスに関連付けられた撮像デバイスのレンズのための焦点調整を表すデータを決定できる。マシンビジョンシステムは、焦点調整を表すデータに基づいて、レンズの焦点を変更するための1以上の信号を送信することができる。いくつかの実施形態では、マシンビジョンシステムは焦点調整を使用して、液体レンズの焦点を変更する。マシンビジョンシステムは、レンズの焦点を変更するための1以上の信号を送信した後で、オブジェクトの画像をキャプチャできる。いくつかの実施形態では、マシンビジョンシステムは、レンズの焦点を変更するための1以上の信号を送信した後で、オブジェクトの画像をキャプチャする前に、所定の時間待機するように構成できる。いくつかの実施形態では、システムは液体レンズアセンブリから焦点調整が完了したことを示すフィードバックデータを受信することができ、マシンビジョンシステムは、フィードバックデータの受信に応答して画像をキャプチャすることができる。
【0032】
いくつかの実施形態では、マシンビジョンシステムは、推定距離データに基づいて、撮像デバイスの照明モジュールの輝度調整を表すデータを決定することができる。例えば距離データが低いオブジェクトを示す場合、マシンビジョンシステムは、距離データがより高いオブジェクトを示している場合に比べて、照明モジュールにより高い輝度の設定を使用するように構成することができる。したがって、マシンビジョンシステムは、撮像デバイスから遠いオブジェクトには明るい照明を使用し、撮像デバイスに近いオブジェクトにはより穏やかな照明を使用するように構成できる。本発明の技術は、いくつかの実施形態では、オブジェクトの照明を調整するために撮像デバイスの露光時間を調整して(例えば照明モジュールを調整せずに)画像の輝度を調整することができる。例えばシステムはカメラに近いオブジェクトの露光時間を短縮できる。
【0033】
いくつかの実施形態では、マシンビジョンシステムは、マシンビジョン用途の少なくとも1つの制約を表すデータにアクセスすることができる。例えばマシンビジョンシステムは、飛行時間型センサの視野を通る箱の動きに関連付けられたオブジェクトの運動パラメータを表すデータにアクセスできる。マシンビジョンシステムは、運動パラメータを表すデータを使用して距離データを決定することができる。例えば図4Bを参照すると、ステップ458で、マシンビジョンシステムは、第1の距離データ、第2の距離データ、距離測定モデル、及び1以上の運動パラメータに基づいて距離データを決定することができる。いくつかの実施形態では、運動パラメータは、オブジェクトが距離検知デバイスの視野を通って移動するときのオブジェクトの速度及び/又はオブジェクトの加速度を含む。例えばマシンビジョンシステムは、第1の距離データ、第2の距離データ、距離測定モデル、及びオブジェクトの速度に基づいて距離データを決定できる。
【0034】
いくつかの実施形態では、マシンビジョンシステムは、カルマンフィルタを使用して、オブジェクトが距離検知デバイスの視野に入るときのオブジェクトまでの距離をモデル化することができる。例えばマシンビジョンシステムは、カルマンフィルタを使用して、オブジェクトの面積を経時的に推定できる。図4Bのステップ458を参照すると、例えばマシンビジョンシステムは、距離測定モデルを使用して、取得された(例えばステップ452、454及び/又は462で取得された)距離データに基づいてオブジェクトの面積の推定値を決定することができる。例えばマシンビジョンシステムは、第1の距離データに基づいて、(距離検知デバイスの視野内に部分的にのみある)オブジェクトの第1のオブジェクト面積推定値を決定することができる。マシンビジョンシステムは、カルマンフィルタを使用して後続のオブジェクト面積推定値を決定することができる。例えばマシンビジョンシステムは、距離測定モデルを使用して、第1のオブジェクト面積推定値に基づいて、(依然として距離検知デバイスの視野内にある)オブジェクトの第2のオブジェクト面積推定値を決定することができる。マシンビジョンシステムは、第2のオブジェクト面積推定値に基づいて、オブジェクトの高さ推定値を決定できる。
【0035】
マシンビジョンシステムは、1以上の方程式を使用して状態(例えば視野内のオブジェクトの面積)を測定し、及び/又は距離検知デバイスの測定値の更新を実行する(例えばオブジェクトまでの推定距離を更新する)ように構成できる。以下の式1の例を使用して、状態の更新を実行できる。
=SK-1+SΔ+w (式1)
ここで、
は、現在の時点kにおける距離検知デバイスの視野内のオブジェクトの上面の面積であり、
k-1は、前の時点k-1での距離検知デバイスの視野内のオブジェクトの上面の面積であり、
Δは、間の差であるSとSK-1の差であり、
は、システムノイズ、ランダム変動、及び/又は測定ノイズ/不正確さのモデルである。
【0036】
式1に示すように、状態は距離検知デバイスの視野内のオブジェクトの面積であることができる。状態は、マシンビジョンシステムのパラメータに基づいてモデル化できる。例えばオブジェクトが(コンベヤベルト上などを)ほぼ一定の速度で移動し、飛行時間型センサのフレームレートが十分に高い場合、状態の更新は、オブジェクト面積が単位時間あたり一定である一次関数でモデル化できる。いくつかの実施形態では、最初の2回のオブジェクトの面積の測定値は、箱寸法レンジ、コンベヤベルト幅、オブジェクトの移動速度、及び/又は同種のもののマシンビジョン用途仕様に基づいて決定された初期値であってよい。オブジェクトの面積の初期測定値は正確である必要はないことを理解されたい。例えばwを使用して、コンベヤベルトの一定ではない速度など物理的世界からのノイズをモデル化できる。w(及び例えば以下のv)の値は、システムノイズと観測共分散行列の観点でモデル化することができる。パラメータwは、用途に基づいて(例えばコンベヤ速度の予想される変化、TOF読み取りの精度などに基づいて)初期値を割り当てることができる。初期値は必ずしも正確であるとは限らないが、カルマンフィルタを使用して反復ごとに更新して精度を改善することができる。第3の状態(及びそれ以降)からは、リアルタイム距離測定を使用してモデルからオブジェクトの面積及び/又は高さが取得及び決定でき、モデルは新しい距離測定ごとに更新することができる。
【0037】
式2は、距離測定を実行するための例示的な方程式を示している。
TOF=-(h/S)S+d+v (式2)
ここで、
TOFは、時点kにおける飛行時間測定値であり、
hは、オブジェクトの高さであり、
Sは、飛行時間型センサの視野であり、
は、現在の時点kにおける距離検知デバイスの視野内のオブジェクトの上面の面積であり、
dは、飛行時間型センサとコンベヤベルトの間の距離であり、
は、距離測定における観測ノイズ(例えばTOF読み取りの不正確さに起因するノイズ)のモデルである。
【0038】
式2を参照すると、飛行時間型センサの読み取り値は、オブジェクトの高さhと距離dの加重平均に基づいて決定できる。
【0039】
式1及び式2は単に例解を旨として提供されており、特定のマシンビジョンの用途に他のモデルを使用できることを理解されたい。例えばオブジェクトの移動が加速度に規定されているか、オブジェクトの面積は変化するか、及び/又は他の変数に応じて、他のフォーマットのカルマンフィルタモデルを使用することができる。飛行時間型センサの測定値は、オブジェクトが飛行時間型センサの視野内に入るにつれて、経時的に(例えばコンベヤベルトまでの距離の測定からオブジェクトの上部までの距離の測定まで)徐々に減少できる。モデルによって決定された推定箱面積は、これに対応して飛行時間測定に反比例するように経時的に徐々に増加でき、したがって推定箱面積は経時的に増加する。
【0040】
いくつかの実施形態では、マシンビジョンシステムは、パラメータ推定技術(例えば期待値最大化(EM)、最大事後確率(MAP)など)を使用して、モデルのパラメータを更新することができる。例えば例示的な式2に示されているように、オブジェクトの高さは、観測行列の一部であり得る。反復ごとにパラメータ推定アルゴリズムを使用して、箱の高さを更新できる。図5Aは、本明細書に記載の技術のいくつかの実施形態による、距離測定及びパラメータ推定を使用して距離測定モデルを決定及び更新するための例示的な方法500を示す図である。ステップ502で、マシンビジョンシステムは、本明細書に記載の技術を使用して距離測定モデルを決定する。システムがステップ504で新しい距離観測値を取得するたびに、システムはステップ506でモデル(例えばカルマンフィルタ)を使用して距離測定モデルの状態を更新し、ステップ508でマシンビジョンシステムはパラメータ推定を使用してシステム観測行列を更新する。
【0041】
図5Bは、本明細書に記載の技術のいくつかの実施形態による、距離測定及びパラメータ推定を使用して距離測定モデルを決定及び更新するための例示的な詳細な方法550を示す図である。ステップ552で、マシンビジョンシステムは第1の時点で、(例えば図2に示されているように)距離検知デバイスの視野内に部分的にのみある第1の位置にあるオブジェクトを用いて決定された第1の距離データにアクセスする。ステップ554で、マシンビジョンシステムは続く第2の時点で、(例えば図3に示されているように)依然として距離検知デバイスの視野内に部分的にしか存在しない第2の位置にあるオブジェクトを用いて決定された第2の距離データにアクセスする。ステップ556で、マシンビジョンシステムは、第1の距離データと第2の距離データに基づいてオブジェクトの距離測定モデルを決定する。
【0042】
ステップ558で、マシンビジョンシステムは、以前の距離データ(例えば第1の実行のための第1の距離データと第2の距離データ)と距離測定モデルに基づいて、オブジェクトが完全に距離検知デバイスの視野内に入る前にオブジェクトまでの推定距離を表す距離データを決定する。ステップ560で、マシンビジョンシステムは、距離測定モデルが距離測定データに収斂するかどうかを決定する。マシンビジョンシステムが、距離測定モデルが距離測定データに収斂しないと決定した場合、方法550はステップ562に進み、パラメータ推定を使用して(例えばEM、MAP、及び/又は別のパラメータ推定技術を使用して)パラメータを更新する。この方法はステップ564に進み、1以上の追加の距離測定値で距離測定モデルを更新して、ステップ558に戻る。
【0043】
マシンビジョンシステムが、距離測定モデルが距離測定データに収斂すると決定した場合、方法550はステップ560からステップ564に進み、マシンビジョンシステムは、ステップ558で決定された距離データに基づいて、オブジェクトの高さを表すデータを決定する。例えばマシンビジョンシステムは、ステップ558からの最後に決定されたデータを、オブジェクトの高さを表すものとして使用することができる。
【0044】
本明細書に記載するように、飛行時間型センサの測定値は、オブジェクトが飛行時間型センサの視野内に入るにつれて、徐々に(例えばコンベヤベルトまでの距離の測定からオブジェクトの上部までの距離の測定まで)減少できる。距離測定モデルを使用して決定された推定箱面積は、これに対応して飛行時間測定に反比例するように経時的に徐々に増加でき、したがって推定箱面積は経時的に増加する。いくつかの実施形態では、パラメータ推定を使用することにより、飛行時間測定値と箱面積測定値との間の関係を微調整することができる。
【0045】
距離検知デバイスによって生成された予測された距離情報は、マシンビジョンシステムの他の側面を実行するためにも使用することができる。いくつかの実施形態では、マシンビジョンシステムは、予測された距離情報を使用してビジョンシステムによるオブジェクトの画像取得を自動的にトリガができる。例えば、システムがオブジェクトの距離の変化(例えば支持するベース/コンベヤベルトからの高さの変化)を決定したとき、システムは画像キャプチャをトリガできる。いくつかの実施形態では、マシンビジョンシステムは、予測された距離情報を使用して、オブジェクト(例えば箱)の寸法決定を実行することができる。較正中にマシンビジョンシステムは、コンベヤベルトとビジョンシステムの間の距離D114を測定して情報を保存できる。実行時にマシンビジョンシステムはオブジェクトが完全に画像内に入る前に画像をキャプチャして、オブジェクトまでの距離を予測し、及び/又は画像/視野の中心にあるオブジェクトまでの距離を測定できる。システムが矩形の形状を検出したら、予測及び/又は測定された距離に基づいて(及び画像センサ寸法、レンズ焦点距離などイメージャの既知の光学的特性)に基づいて当該矩形の寸法を決定することができる。図1図3に示されているように、オブジェクト102の高さ110は、本質的に撮像デバイスのコンベヤベルト104からの高さと、撮像デバイスとオブジェクト102の間の予測及び/又は測定された最短距離との差を表すことができる。いくつかの実施形態では、撮像デバイスは飛行時間型センサに固定して取り付けられているので、撮像デバイスとオブジェクト102との間の高さは距離D114によって表すことができる。
【0046】
いくつかの実施形態では、マシンビジョンシステムを使用して、オブジェクトの欠陥を検出及び分析することができる。例えばマシンビジョンシステムが本明細書に記載するように(例えば矩形の)上面を検出した後で、マシンビジョンシステムは上面の形状からの逸脱を測定して破損したオブジェクト(例えば損傷した箱)を検出できる。いくつかの実施形態では、システムは、関心のある領域(RoI)の検出を実行することができる。例えばカメラベースのコードリーダーの視野は、マルチポイント(例えばn×1又はn×m)の飛行時間型センサアレイの検知された面積に映すことができる。センサレイは、3D高さマップを測定してコードの復号のために関心のある領域を狭くすることができる。画像のどの部分にオブジェクトが存在するかを決定すると、シンボル候補特徴を全体の取得画像における狭められた関心のある領域から検索できるので復号時間を短縮できる。
【0047】
いくつかの実施形態では、マシンビジョンシステムは、視野内のオブジェクト間のギャップを検出することができ、それはシンボルコードを適切な撮像オブジェクトに関連付けるのを助けることができる。例えば同時に1以上のオブジェクトが視野内に進入し、及び/又は視野内に存在する可能性がある物流用途において、飛行時間型測定はオブジェクトのエッジを特定し、どのシンボルが視野内の各オブジェクトと関連しているか決定するのを助けることができる。
【0048】
いくつかの実施形態では、マシンビジョンシステムは、飛行時間型センサによって予測及び/又は測定された距離を使用して、意図しない読み取りを防ぐためにビジョンシステムの読み取りレンジを制限することができる。例えばオブジェクトまでの距離が定義されたレンジ内にある場合、マシンビジョンシステムは(a)画像をキャプチャし、(b)シンボル復号プロセスを開始し、(c)復号されたデータを後続処理のために送信する。
【0049】
本明細書に記載した原理に従って動作する技術は、任意の適当な方法で実施できる。例えば実施形態はハードウェア、ソフトウェア、又はそれらの組み合わせを使用して実装することができる。ソフトウェアに実装された場合、ソフトウェアコードは、単一のコンピュータで提供されるか複数のコンピュータに分散されるかにかかわらず、任意の適当なプロセッサ又はプロセッサの集合で実行できる。そのようなプロセッサは集積回路として実装されてよく、これは集積回路コンポーネント内の1以上のプロセッサを備え、CPUチップ、GPUチップ、FPGAチップ、マイクロプロセッサ、マイクロコントローラ、又はコプロセッサなどの名前で呼ばれる方式で知られている市販の集積回路コンポーネントを含む。代替として、プロセッサは、ASICなどのカスタム回路、又はプログラマブル論理デバイスを構成することから生じるセミカスタム回路に実装されてよい。さらに別の代替案として、プロセッサは、市販されているか、セミカスタムであるか、又はカスタムであるかにかかわらず、より大きい回路又は半導体デバイスの一部であることができる。特殊な例として、いくつかの市販のマイクロプロセッサは複数のコアを有し、それらのコアの1つ又はサブセットがプロセッサを構成できるようになっている。しかしながらプロセッサは、任意の適当な形式の回路を使用して実装されてよい。
【0050】
さらに、コンピュータは、ラックマウント型コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータなどのいくつかの形態のいずれかで具体化されてよいことが理解されるべきである。さらに、コンピュータは、一般にコンピュータとは見なされないが、携帯情報端末(PDA)、スマートフォン、又は他の適当な携帯若しくは固定電子デバイスを含む適当な処理能力を備えたデバイスに埋め込まれてよい。
【0051】
また、コンピュータは、1以上の入力デバイス及び出力デバイスを備えてよい。これらのデバイスは、とりわけユーザインターフェースを提示するために使用できる。ユーザインターフェースを提供するために使用できる出力装置の例は、出力及びスピーカーを視覚的に提示するためのプリンタ若しくはディスプレイ画面、又は出力の可聴提示のための他の音声生成デバイスを含む。ユーザインターフェースに使用できる入力デバイスの例は、、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットを含む。別の例として、コンピュータは、音声認識又は他の可聴形式で入力情報を受け取ることができる。図示の実施形態では、入力/出力デバイスは、コンピューティングデバイスから物理的に分離されたものとして例示されている。しかしながら、いくつかの実施形態では、入力及び/又は出力デバイスは、プロセッサ又はコンピューティングデバイスの他の要素と同じユニットに物理的に統合されてよい。例えばキーボードはタッチスクリーン上のソフトキーボードとして実装されてよい。代替として、入力/出力デバイスは、コンピューティングデバイスから完全に切り離され、無線接続を介して機能的に統合されてよい。
【0052】
そのようなコンピュータは、ローカルエリアネットワーク、又はエンタープライズネットワーク若しくはインターネットなどのワイドエリアネットワークを含む、任意の適当な形態の1以上のネットワークによって相互接続されてよい。そのようなネットワークは、任意の適当な技術に基づくことができ、任意の適当なプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、又は光ファイバーネットワークを含んでいてもよい。
【0053】
また、本明細書で概説された様々な方法又はプロセスは、多様なオペレーティングシステム又はプラットフォームのいずれか1つを使用する1台以上のプロセッサで実行可能なソフトウェアとしてコード化されてよい。代替として、そのようなソフトウェアは、いくつかの適当なプログラミング言語及び/又はプログラミング又はスクリプトツールのいずれかを使用して記述されてよく、また、フレームワーク若しくは仮想マシン上で実行される実行可能機械語コード又は中間コードとしてコンパイルされてよい。
【0054】
この点に関して、本発明は、コンピュータ可読記憶媒体(又は複数のコンピュータ可読媒体)(例えばコンピュータメモリ、1以上のフロッピーディスク、コンパクトディスク(CD)、光ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ又は他の半導体デバイスの回路構成、又は他の有形のコンピュータ記憶媒体)として具体化されてよく、これは1以上のプログラムでコード化され、このプログラムが1台以上のコンピュータ又は他のプロセッサで実行されると、上述した本発明の様々な実施形態を実装する方法を実行する。前述の例から明らかなように、コンピュータ可読記憶媒体は、情報を非一時的な形式でコンピュータ実行可能命令を提供するのに十分な時間保持し得る。そのようなコンピュータ可読記憶媒体又は複数の媒体は可搬式であることができ、上述したように本出願の様々な態様を実装するために、それらの媒体に格納された1以上のプログラムを1台以上の異なるコンピュータ又は他のプロセッサにロードできる。本明細書中で使用される「コンピュータ可読記憶媒体」という用語は、製造(即ち製造品)又は機械であると見なすことができるコンピュータ可読媒体のみを包含する。代替として、又は追加的に、本発明は、伝搬信号などのコンピュータ可読記憶媒体以外のコンピュータ可読媒体として具体化されてよい。
【0055】
本明細書で「コード」、「プログラム」又は「ソフトウェア」という用語は一般的な意味で使用され、上述したようにコンピュータ又は他のプロセッサをプログラムして本出願の様々な態様を実装するために使用できる任意のタイプのコンピュータコード又はコンピュータ実行可能命令のセットを指す。さらに、この実施形態の1態様によれば、実行時に本出願の方法を実行する1以上のコンピュータプログラムは、本出願の様々な態様を実装するために単一のコンピュータ又はプロセッサ上に存在する必要はなく、モジュール方式で多数のコンピュータ又はプロセッサに分散されてよい。
【0056】
コンピュータ実行可能命令は、1台以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュールなど多くの形式であってよい。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象的なデータタイプを実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能は、様々な実施形態において所望されるように組み合わせたり分散させたりしてよい。
【0057】
また、データ構造は、任意の適当な形式でコンピュータ可読媒体に格納することができる。説明を簡単にするために、データ構造は、データ構造内の場所によって関係付けられたフィールドを持つものとして示されることがある。そのような関係は、同様にフィールドに対するストレージを、フィールド間の関係を伝達するコンピュータ可読媒体内の場所に割り当てることによって達成できる。しかしながら、任意の適当な機構を使用して、データ要素間の関係を確立するポインタ、タグ、又は他の機構の使用を含む、データ構造のフィールド内の情報間の関係を確立することができる。
【0058】
本出願の様々な態様は、単独で、組み合わせて、又は上述した実施形態で具体的に論じられていない様々な構成で使用することができ、したがってその応用においては、上記の説明に記され又は図面に示された構成要素の詳細及び配置に限定されるものではない。例えばある実施形態に記載された態様は、他の実施形態に記載された態様と任意のやり方で組み合わせることができる。
【0059】
また、本発明は、一例が提供されている方法として具体化することができる。方法の一部として実行される動作は、任意の適当な方法で命令することができる。したがって実施形態は、例示的な実施形態において連続的な一連の動作として示されているとしても、説明されたのとは異なる順序で動作が実行されるように構成されることがあり、これはいくつかの動作を同時に実効することを含んでよい。
【0060】
本明細書及び特許請求の範囲で使用される不定冠詞「a」及び「an」は、反対のことが明示されない限り、「少なくとも1つ」を意味すると理解されるべきである。
【0061】
本明細書及び特許請求の範囲で使用される「及び/又は」という句は、そのように結合された要素の「いずれか一方又は両方」、即ちある場合には結合的に存在し、他の場合には分離的に存在する要素を意味すると理解されるべきである。「及び/又は」でリストされた複数の要素は、同様に、即ちそのように結合された要素の「1つ以上」と解釈すべきである。「及び/又は」節によって具体的に特定された要素以外の要素が任意選択で、具体的に特定された要素に関係があるか関係がないかにかかわらず存在してよい。したがって、非限定的な例として、「A及び/又はB」への参照は、「含む」など上限のない言語と組み合わせて使用される場合には、ある実施形態ではAのみ(任意選択でB以外の要素を含む)、別の実施形態ではBのみ(任意選択でA以外の要素を含む)、さらに別の実施形態ではAとBの両方(任意選択で他の要素を含む)を参照できる等である。
【0062】
本明細書及び特許請求の範囲で1以上の要素のリストを参照する場合に使用される「少なくとも1つ」という句は、要素のリストに挙げられた1以上の要素から選択された少なくとも1つの要素を意味するものとして理解されるべきであるが、必ずしも要素のリストに具体的に挙げられた少なくとも1つの個々の要素を含むとは限らず、要素のリストに含まれる要素の組み合わせを排除するものではない。この定義はまた、「少なくとも1つ」という句が参照する要素のリスト内で具体的に特定された要素以外の要素が任意選択で、具体的に特定された要素に関係があるか関係がないかにかかわらず存在してよい。したがって、非限定的な例として、「A及びBの少なくとも1つ」(又は同等に「A又はBの少なくとも1つ」、又は同等に「A及び/又はBの少なくとも1つ」)は、ある実施形態では少なくとも1つのAを参照でき、任意選択で2つ以上のAを含み、Bは存在せず(及び任意選択でB以外の要素を含む)、別の実施形態では少なくとも1つのBを参照でき、任意選択で2つ以上のBを含み、Aは存在せず(及び任意選択でA以外の要素を含む)、さらに別の実施形態では少なくとも1つのAを参照でき、任意選択で2つ以上のAを含み、且つ、少なくとも1つBを参照でき、任意選択で2つ以上のBを含む(及び任意選択で他の要素を含む)等である。
【0063】
特許請求の範囲でクレーム要素を変化させるために「第1」、「第2」、「第3」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位若しくは順位、又は方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を(序数詞の使用を除いて)同じ名前を持つ別の要素と区別するためのラベルとしてのみ使用される。
【0064】
また、本明細書で使用される語法及び用語は説明を目的とするものであり、限定するもの見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される事項、及びそれらの同等物、並びに追加事項を網羅することを意味する。
図1
図2
図3
図4A
図4B
図5A
図5B
【外国語明細書】