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

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

▶ ボルデ, インク.の特許一覧

特表2024-533483移動物体の光学検査システム及び方法
<>
  • 特表-移動物体の光学検査システム及び方法 図1
  • 特表-移動物体の光学検査システム及び方法 図2
  • 特表-移動物体の光学検査システム及び方法 図3
  • 特表-移動物体の光学検査システム及び方法 図4
  • 特表-移動物体の光学検査システム及び方法 図5
  • 特表-移動物体の光学検査システム及び方法 図6A
  • 特表-移動物体の光学検査システム及び方法 図6B
  • 特表-移動物体の光学検査システム及び方法 図7A
  • 特表-移動物体の光学検査システム及び方法 図7B
  • 特表-移動物体の光学検査システム及び方法 図8A
  • 特表-移動物体の光学検査システム及び方法 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】移動物体の光学検査システム及び方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240905BHJP
   G01N 21/89 20060101ALI20240905BHJP
【FI】
G06T7/00 610
G06T7/00 350B
G01N21/89 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024516363
(86)(22)【出願日】2022-09-09
(85)【翻訳文提出日】2024-05-09
(86)【国際出願番号】 US2022043105
(87)【国際公開番号】W WO2023039189
(87)【国際公開日】2023-03-16
(31)【優先権主張番号】63/243,371
(32)【優先日】2021-09-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/682,756
(32)【優先日】2022-02-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】524094387
【氏名又は名称】ボルデ, インク.
【氏名又は名称原語表記】BORDE, INC.
(74)【代理人】
【識別番号】100107364
【弁理士】
【氏名又は名称】斉藤 達也
(72)【発明者】
【氏名】ブラゴハイン,サミトラ
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA02
2G051AA04
2G051AB02
2G051CA03
2G051CA04
2G051CA07
2G051EC01
5L096BA03
5L096CA05
5L096DA02
5L096EA03
5L096EA35
5L096FA18
5L096FA69
5L096FA77
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
本開示は、移動物体の光学検査システム及び方法のための技術を提供する。幾つかの実施形態では、光学検査システムは、動いている物体の画像を取得するように構成された第1及び第2の画像キャプチャ装置と、第1及び第2の第1段階ストレージシステムと、第1及び第2の第2段階プロセッサと、第2段階ストレージシステムと、第3段階プロセッサと、第3段階ストレージシステムとを含む。幾つかの実施形態では、光学検査システムは、第1及び第2の画像キャプチャ装置と、第1及び第2の揮発性メモリシステムと、第1及び第2の第2段階プロセッサと、第3の第2段階プロセッサと、第3段階ストレージシステムとを含む。第1及び第2の第2段階プロセッサは、画像キャプチャ装置からの画像を解析するように構成されてよい。第3段階プロセッサ又は第3の第2段階プロセッサは、プロセッサ及び/又はストレージシステムからの情報を処理してレポートを生成するように構成されてよい。
【特許請求の範囲】
【請求項1】
動いている物体の画像を取得するように構成された第1の画像キャプチャ装置と、
前記第1の画像キャプチャ装置と結合されて、前記第1の画像キャプチャ装置からの画像を記憶するように構成された第1の第1段階ストレージシステムと、
前記第1の第1段階ストレージシステムと結合されて、前記第1の画像キャプチャ装置からの前記画像を解析するように構成された第1の第2段階プロセッサと、
動いている前記物体の画像を取得するように構成された第2の画像キャプチャ装置と、
前記第2の画像キャプチャ装置と結合されて、前記第2の画像キャプチャ装置からの画像を記憶するように構成された第2の第1段階ストレージシステムと、
前記第2の第1段階ストレージシステムと結合されて、前記第2の画像キャプチャ装置からの前記画像を解析するように構成された第2の第2段階プロセッサと、
前記第1及び第2の第2段階プロセッサと結合されて、前記第1及び第2の第2段階プロセッサからの画像及び情報を記憶するように構成された第2段階ストレージシステムと、
前記第2段階ストレージシステムと結合されて、前記第1及び第2の第2段階プロセッサ及び前記第2段階ストレージシステムからの情報を処理してレポートを生成するように構成された第3段階プロセッサと、
前記第3段階プロセッサと結合されて、前記第3段階プロセッサからの画像及び情報を記憶するように構成された第3段階ストレージシステムと、
を含む光学検査システム。
【請求項2】
前記第1の画像キャプチャ装置は更に、前記物体の第1の側から画像を取得するように構成されており、前記第2の画像キャプチャ装置は更に、前記物体の第2の側から画像を取得するように構成されている、請求項1に記載の光学検査システム。
【請求項3】
前記第1及び前記第2の第1段階ストレージシステムは、ソリッドステートドライブ(SSD)又は他のタイプの低遅延永続メモリである、請求項1に記載の光学検査システム。
【請求項4】
前記第1及び前記第2の第1段階ストレージシステムとそれぞれ結合されている第1及び第2の第1段階プロセッサを更に含み、前記第1及び前記第2の画像キャプチャ装置からの前記画像は、前記第1及び前記第2の第1段階プロセッサにより、サイズ縮小され、圧縮はされない、即ち、非圧縮状態に保たれる、請求項3に記載の光学検査システム。
【請求項5】
前記第1及び前記第2の第2段階プロセッサは、グラフィックス処理ユニット(GPU)又はフィールドプログラマブルゲートアレイ(FPGA)である、請求項1に記載の光学検査システム。
【請求項6】
前記第1及び前記第2の第2段階プロセッサは、前記第1及び第2の画像キャプチャ装置からの前記画像を、人工知能モデルを使用して解析するように構成されている、請求項1に記載の光学検査システム。
【請求項7】
前記第1及び前記第2の第2段階プロセッサは、前記人工知能モデルを使用して前記画像を解析して、前記画像に境界ボックスを追加し、前記画像を所定のクラスに従ってクラス分けする、請求項6に記載の光学検査システム。
【請求項8】
前記人工知能モデルは、フォトグラメトリを使用して生成された合成データを使用してトレーニングされる、請求項6に記載の光学検査システム。
【請求項9】
前記レポート内の情報が手動で修正されて修正済みレポートが生成され、前記修正済みレポートは、能動的学習を用いて前記人工知能モデルを再トレーニングすることに使用される、請求項6に記載の光学検査システム。
【請求項10】
前記第2段階ストレージシステムは、書き込み最適化疑似データベース、又は埋め込み可能キー値ストアデータベースを含む、請求項1に記載の光学検査システム。
【請求項11】
前記第3段階プロセッサは、中央処理ユニット(CPU)又はフィールドプログラマブルゲートアレイ(FPGA)である、請求項1に記載の光学検査システム。
【請求項12】
前記第3段階ストレージシステムは、DRAMシステム、SSDシステム、又は他のタイプの永続メモリシステムを含む、請求項1に記載の光学検査システム。
【請求項13】
前記第3段階ストレージシステムはリレーショナルデータベースを含む、請求項1に記載の光学検査システム。
【請求項14】
動いている物体の画像を取得するように構成された第1の画像キャプチャ装置と、
前記第1の画像キャプチャ装置と結合されて、前記第1の画像キャプチャ装置からの画像を記憶するように構成された第1の揮発性メモリシステムと、
前記第1の揮発性メモリシステムと結合されて、前記第1の画像キャプチャ装置からの前記画像を解析するように構成された第1の第2段階プロセッサと、
動いている前記物体の画像を取得するように構成された第2の画像キャプチャ装置と、
前記第2の画像キャプチャ装置と結合されて、前記第2の画像キャプチャ装置からの画像を記憶するように構成された第2の揮発性メモリシステムと、
前記第2の揮発性メモリシステムと結合されて、前記第2の画像キャプチャ装置からの前記画像を解析するように構成された第2の第2段階プロセッサと、
前記第1及び第2の第2段階プロセッサと結合されて、前記第1及び第2の第2段階プロセッサからの情報を処理するように構成された第3の第2段階プロセッサと、
前記第3の第2段階プロセッサと結合されて、前記第3の第2段階プロセッサからの画像及び情報を記憶するように構成された第3段階ストレージシステムと、
を含み、
前記第3の第2段階プロセッサは、前記第3段階ストレージシステムに記憶されている画像及び情報を使用してレポートを生成するように構成されている、
光学検査システム。
【請求項15】
前記第1の画像キャプチャ装置は更に、前記物体の第1の側から画像を取得するように構成されており、前記第2の画像キャプチャ装置は更に、前記物体の第2の側から画像を取得するように構成されている、請求項14に記載の光学検査システム。
【請求項16】
前記第1及び前記第2の揮発性メモリシステムとそれぞれ結合されている第1及び第2の第1段階プロセッサを更に含み、前記第1及び前記第2の画像キャプチャ装置からの前記画像は、前記第1及び前記第2の第1段階プロセッサにより、サイズ縮小され、圧縮はされない、請求項15に記載の光学検査システム。
【請求項17】
前記第1及び前記第2の揮発性メモリシステムはDRAMシステム又はSRAMシステムである、請求項14に記載の光学検査システム。
【請求項18】
前記第1及び前記第2の第2段階プロセッサは、グラフィックス処理ユニット(GPU)又はフィールドプログラマブルゲートアレイ(FPGA)である、請求項14に記載の光学検査システム。
【請求項19】
前記第1及び前記第2の第2段階プロセッサは、前記第1及び第2の画像キャプチャ装置からの前記画像を、人工知能モデルを使用して解析するように構成されている、請求項14に記載の光学検査システム。
【請求項20】
前記第1及び前記第2の第2段階プロセッサは、前記人工知能モデルを使用して前記画像を解析して、前記画像に境界ボックスを追加し、前記画像を所定のクラスに従ってクラス分けする、請求項19に記載の光学検査システム。
【請求項21】
前記人工知能モデルは、フォトグラメトリを使用して生成された合成データを使用してトレーニングされる、請求項19に記載の光学検査システム。
【請求項22】
前記レポート内の情報が手動で修正されて修正済みレポートが生成され、前記修正済みレポートは、能動的学習を用いて前記人工知能モデルを再トレーニングすることに使用される、請求項19に記載の光学検査システム。
【請求項23】
前記第3の第2段階プロセッサは、中央処理ユニット(CPU)又はフィールドプログラマブルゲートアレイ(FPGA)である、請求項14に記載の光学検査システム。
【請求項24】
前記第3段階ストレージシステムは、DRAMシステム、SSDシステム、又は他のタイプの永続メモリシステムを含む、請求項14に記載の光学検査システム。
【請求項25】
前記第3の第2段階プロセッサと結合されて、前記物体に欠陥があることを前記第3の第2段階プロセッサが示したときに前記物体を排出又は除去するように構成されたイジェクタ又はロボットアームを更に含む、請求項14に記載の光学検査システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、あらゆる目的のために参照により本明細書に含まれている、2021年9月13日に出願された米国特許仮出願第63/243,371号、件名「移動物体の光学検査システム及び方法(Optical Inspection Systems and Methods for Moving Objects)」、並びに、2022年2月28日に出願された米国特許非仮出願第17/682,756号、件名「移動物体の光学検査システム及び方法(Optical Inspection Systems and Methods for Moving Objects)」の利益を主張するものである。
【背景技術】
【0002】
光学検査システムは、1台以上のカメラを使用して物体の画像を取得、処理、及び解析して物体からデータを抽出することにより、数値的情報又は象徴的情報を生成することが可能である。光学検査システムは様々な用途で使用可能であり、そのような用途として、生産(製造)工程をサポートする品質管理(QC)又は品質保証(QA)、並びにリサイクルのための物体の検査及び分別が挙げられる。場合によっては、光学検査システムは、取得画像の解析に人工知能、コンピュータビジョン、及び/又は機械学習を使用することが可能である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、上記従来の技術における課題を解決するためになされたものである。
【課題を解決するための手段】
【0004】
本開示は、移動物体の光学検査システム及び方法のための技術を提供する。幾つかの実施形態では、光学検査システムは、動いている物体の画像を取得するように構成された第1の画像キャプチャ装置と、第1の画像キャプチャ装置と結合されて、第1の画像キャプチャ装置からの画像を記憶するように構成された第1の第1段階ストレージシステムと、第1の第1段階ストレージシステムと結合されて、第1の画像キャプチャ装置からの画像を解析するように構成された第1の第2段階プロセッサと、動いているその物体の画像を取得するように構成された第2の画像キャプチャ装置と、第2の画像キャプチャ装置と結合されて、第2の画像キャプチャ装置からの画像を記憶するように構成された第2の第1段階ストレージシステムと、第2の第1段階ストレージシステムと結合されて、第2の画像キャプチャ装置からの画像を解析するように構成された第2の第2段階プロセッサと、第1及び第2の第2段階プロセッサと結合されて、第1及び第2の第2段階プロセッサからの画像及び情報を記憶するように構成された第2段階ストレージシステムと、第2段階ストレージシステムと結合されて、第2段階プロセッサ及び第2段階ストレージシステムからの情報を処理してレポートを生成するように構成された第3段階プロセッサと、第3段階プロセッサと結合されて、第3段階プロセッサからの画像及び情報を記憶するように構成された第3段階ストレージシステムと、を含む。
【0005】
幾つかの実施形態では、光学検査システムは、動いている物体の画像を取得するように構成された第1の画像キャプチャ装置と、第1の画像キャプチャ装置と結合されて、第1の画像キャプチャ装置からの画像を記憶するように構成された第1の揮発性メモリシステムと、第1の揮発性メモリシステムと結合されて、第1の画像キャプチャ装置からの画像を解析するように構成された第1の第2段階プロセッサと、動いているその物体の画像を取得するように構成された第2の画像キャプチャ装置と、第2の画像キャプチャ装置と結合されて、第2の画像キャプチャ装置からの画像を記憶するように構成された第2の揮発性メモリシステムと、第2の揮発性メモリシステムと結合されて、第2の画像キャプチャ装置からの画像を解析するように構成された第2の第2段階プロセッサと、第1及び第2の第2段階プロセッサと結合されて、第1及び第2の第2段階プロセッサからの情報を処理するように構成された第3の第2段階プロセッサと、第3の第2段階プロセッサと結合されて、第3の第2段階プロセッサからの画像及び情報を記憶するように構成された第3段階ストレージシステムと、を含み、第3の第2段階プロセッサは、第3段階ストレージシステムに記憶されている画像及び情報を使用してレポートを生成するように構成されている。
【図面の簡単な説明】
【0006】
図1】幾つかの実施形態による、光学検査システムの一例を示す。
図2】幾つかの実施形態による、光学検査システムの一例を示す。
図3】幾つかの実施形態による、光学検査システムの一例を示す。
図4】幾つかの実施形態による、光学検査システムの一例を示す。
図5】幾つかの実施形態による、光学検査システムの一例を示す。
図6A】幾つかの実施形態による、多数の様々な角度から取得された画像からフォトグラメトリで作成された、物体(この例ではアーモンド)の3Dモデルの一例を示す。
図6B】幾つかの実施形態による、様々な角度からの様々な物体(この例ではアーモンド)の合成画像を示す。
図7A】幾つかの実施形態による、物体(この例ではアーモンド)の検査、解析、及び/又はグレード付けのためのAIモデルのトレーニングの一例を示しており、トレーニングの反復数(又はステップ数)(x軸)に対してAIモデルの平均平均適合率(mAP)(y軸)をプロットしたチャートを示している。
図7B】幾つかの実施形態による、光学検査システムで取得された、物体(この例ではアーモンド)の実画像の一例を示す。
図8A】乃至
図8B】幾つかの実施形態による、カメラのペアからの画像を処理することの一例を示しており、一方のカメラは、物体の一方の側の画像を取得するように配置されており、ペアの他方のカメラは、物体の他方の側の画像を取得するように配置されている。
【発明を実施するための形態】
【0007】
本明細書では、移動物体、自由落下物体、及び/又は高速移動物体(「高速移動物体」)を検査する光学検査システム及び方法について説明する。
【0008】
「高速移動物体」は、約1m/秒より速く、又は約1m/秒~約10m/秒、又は約2m/秒~約6m/秒、又は約0.1m/秒~約10m/秒の速度で移動できる。本明細書に記載の光学検査システムにより、時間間隔当たり多数の物体(例えば、高速移動物体)の検査が可能になる。例えば、本明細書に記載の光学検査システムにより、検査が可能になるのは、約18ms~約20msより短い時間帯で1個の物体、又は約18ms~約20msより短い時間帯で約10個の物体、又は約18ms~約20msより短い時間帯で最大約100個の物体、又は約1時間当たり最大約40,000ポンドの物体、又は約1時間当たり約20メートルトンの物体、又は約1秒当たり約5000個の物体である。本明細書に記載の光学検査システムは様々な用途で適用可能であり、そのような用途として、食品(例えば、ナッツ)、廃棄物及び/又はリサイクル可能物、マイニング及びミネラル、並びに医薬製品及び栄養補助食品の識別及び/又は分別が挙げられ、これらに限定されない。場合によっては、光学検査システムは、例えば、光学検査システムの一構成要素から出力された結果(例えば、クラス、又はグレード)に基づいて物体を異なる場所に物体を送る機構(例えば、イジェクタやロボットアーム)を使用して物体の分別を行うことも可能である。
【0009】
本明細書に記載の光学検査システム及び方法は、(高速移動)物体の画像を取得し、任意選択で画像を前処理し、画像を解析して物体のクラス決定、カテゴリ分け、及び/又はグレード付けを行い、解析から生成された画像及び/又は情報を保存し、任意選択で、解析から生成された情報に基づいてレポートを生成することが可能である。本明細書に記載の光学検査システム及び方法で使用可能な分類(又はクラス、又はカテゴリ、又はグレード)の幾つかの例は、品質(例えば、欠陥のある、欠陥のない)、カテゴリ(例えば、タイプA、タイプB)、サイズ(例えば、小さい、大きい)、形状(例えば、丸い、四角い)、色(例えば、白い、黒い、均一である、不均一である)、又は他の任意の、物体の視覚的特徴に関連するものである。
【0010】
場合によっては、本明細書に記載の光学検査システム及び方法は、画像の取得にデジタルカメラを使用する。場合によっては、取得画像は、インメモリとソリッドステートドライブ(SSD)とによるハイブリッドストレージシステムを使用して記憶され、このストレージシステムは、本発明のシステムが画像の取得及び解析を高速で実施することを可能にする。場合によっては、解析は、人工知能(AI)(例えば、AIベースの物体検出)を使用して行われる。グレード付けに関して記録すること及び/又はレポートを書くことも、実施された解析及び/又はグレード付けに基づいて、本明細書に記載の光学検査システム及び方法によって行われてよい。解析及び/又はグレード付けは、画像内の各物体の周囲に境界ボックスを追加することと、画像内又は画像セット内の各物体のクラス及び/又はグレードを決定することと、を含んでよい。
【0011】
場合によっては、本明細書に記載の光学検査システム及び方法は、画像(及び任意選択の画像データ)をメモリ(ストレージシステム)に書き込むためにオフロードすることと、処理(例えば、解析及び/又はグレード付け)のためにグラフィックス処理ユニット(GPU)、中央処理ユニット(CPU)、及び/又はフィールドプログラマブルゲートアレイ(FPGA)にオフロードすることと、を含む。そのようなシステムは、リアルタイムの物体解析(例えば、物体のクラス分け及び/又はグレード付けを約18ms未満又は約20ms未満で行うこと)に遅れないように十分高速であることが可能である。
【0012】
場合によっては、本明細書に記載の光学検査システム及び方法は、高速移動物体の両面の3Dグレード付けを含む。
【0013】
場合によっては、本明細書に記載の光学検査システム及び方法は、AI生成(又は画像キャプチャ、又は解析、又は画像処理)の自動化された開始及び停止を含む。例えば、AI生成(又は画像キャプチャ、又は解析、又は画像処理)の開始及び/又は停止のトリガが与えられてよい。
【0014】
場合によっては、AI物体検出は常にオンであり、外部のトリガ又はセンサを使用しない。「ポーリング期間」は、画像をキャプチャすること、及び/又はキャプチャ画像を解析することのインスタンス間の期間である。例えば、(AI処理を使用する)本システムは、1台以上のカメラから頻繁にキャプチャされる画像の中の(高速移動)物体を(例えば、高速「ポーリング期間」(例えば、約20ms)で)検査することが可能である。ある期間(例えば「スローダウンウィンドウ」、例えば約1分)にわたるキャプチャ画像の中で物体が検出されない場合には、「ポーリング期間」を長くしてよい(例えば、2倍又は4倍にしてよい。或いは約20msから約40msに増やしてよい)。この処理は、所定の最長「ポーリング期間」(例えば、約1000ms)に達するまで続いてよく、その後、本システムは、約1000ms(1秒)おきにポーリングを続けてよい。「ポーリング期間」に単一の(高速移動)物体が検出された場合、本システムは、(高速移動)物体の画像のキャプチャ及び/又は解析を再開できるように、(例えば、約20msの)標準「ポーリング期間」まで自動的に加速してよい。場合によっては、「ポーリング期間」が所定の最長閾値(例えば、約100ms、又は約500ms、又は約1000ms)に達した後にAIレポート生成が一時停止されてよく、その後、(高速移動)物体が検出されたら、AIは画像のキャプチャ及び/又は解析を再開してよく、AIレポート生成も再開されてよい。
【0015】
場合によっては、本明細書に記載の光学検査システム及び方法のAI物体検出は又、外部センサからの情報(信号、又はトリガ)を使用して、画像のキャプチャ、画像の解析、及び/又はAIレポートの生成をいつ行うかを決定する。例えば、運動センサ及び/又は光電センサを、上述の方法と一緒に相補的に使用してよく、その場合は、センサからの入力、並びにAIエンジンからの物体検出を使用して、「ポーリング期間」、画像のキャプチャ及び/又は解析、及び/又はAIレポートの生成をいつ行うかが精緻化される。
【0016】
本明細書に記載の光学検査システム及び方法は、(例えば、単一装置内で構成要素が並列接続されている)2台以上(例えば、2~10台、又は6台)の画像キャプチャ装置、プロセッサ、及び/又はストレージ装置を含む複数の論理検査ラインの形で使用されてよい。複数の検査ラインを有するそのようなシステムでは、各ラインがそれぞれのカメラ、照明、及び/又はマウント用キットでそれぞれにレポート生成及びグレード付けを行ってよく、それらのカメラ、照明、及び/又はマウント用キットは全て、情報(例えば、キャプチャ画像、処理画像、及び/又は画像に関する情報)を論理的にグループ分け及び/又は解析することが可能な単一装置に接続されている。例えば、各論理検査ラインは、それぞれが画像のキャプチャ(取得)及び処理を行ってよく、2つ以上の論理検査ラインがプロセッサ(例えば、FPGA、CPU、及び/又はGPU)及びストレージシステム(例えば、DRAM及び/又はSSD)を共用してよい。そのようなシステムは、システムの総コストを減らせるという点で有利であることが可能であり、所与の時間間隔当たりでより多くの物体の検査を可能にできる。例えば、物体の複数のラインを、単位時間当たりの物体数がより多い1つのラインに合流させるプロセスでは、複数の検査ライン(例えば、各ラインがそれぞれのカメラ、照明、及び/又はマウント用キットでそれぞれにレポート生成及びグレード付けを行う複数の検査ライン)が(合流前の)物体の複数のラインに対して配置されることで、それらの物体の全てが検査されることを可能にできる。これは、単位時間当たりにより多くの物体がシステムを通過する合流ラインに1つの光学検査システムが設置される場合には不可能なことであろう。
【0017】
本明細書に記載の光学検査システム及び方法は、自由落下する(例えば、排出シュートから落ちる)(高速移動)物体の検査、又は水平コンベヤベルト上の物体の検査を行うように構成されてよい。例えば、カメラは、自由落下中の物体の画像をキャプチャするために(例えば、ほぼ水平方向を向いて)配置されてよく、或いは、コンベヤベルトに載って移動する物体の画像をキャプチャするために(例えば、ほぼ下向きに)配置されてよい。物体の自由落下ライン(又はストリーム)が複数ある場合には、物体の複数の自由落下ラインのそれぞれに対して論理検査ラインがあってよく、各ラインは、上述のようにプロセッサ及び/又はストレージシステムを共用する。同様に、物体が複数のコンベヤベルトに載って移動するライン(又は(又はストリーム)が複数ある場合には、物体のその複数のラインのそれぞれに対して論理検査ラインがあってよく、各ラインは、上述のようにプロセッサ及び/又はストレージシステムを共用する。
【0018】
場合によっては、AIモデルは深層学習モデルを含む。場合によっては、AIモデルは、COCO(common objects in context)データセットに関して事前にトレーニングされた、物体の検出及び追跡のアーキテクチャ及びモデルのファミリのうちの1つ以上を含んでよい。場合によっては、AIモデルは、深層学習物体検出モデル(例えば、高速領域ベースの畳み込みニューラルネットワーク(Fast R-CNN)又はFaster R-CNN)や回帰ベースの物体検出器(例えば、シングルショット検出器やYOLO(一度見るだけで良い(You only Look Once)))を含む。
【0019】
図1は、物体(例えば、高速移動物体)の品質検査用の光学検査システムの一例1000を示しており、これは、第1の画像キャプチャ装置(又は第1の画像キャプチャ装置セット)1010a及び第2の画像キャプチャ装置(又は第2の画像キャプチャ装置セット)1010b、ストレージシステム1020、並びにプロセッサ1030を含む。物体(例えば、高速移動物体)の画像は、画像キャプチャ装置(のセット)1010a及び1010b(例えば、デジタルカメラ又はCCDカメラ)で取得される。取得画像は、(例えば、DRAM、永続メモリ、及び/又はSSDを含む)ストレージシステム1020に送られて保存されるか、プロセッサ1030(例えば、グラフィックス処理ユニット(GPU)、中央処理ユニット(CPU)、及び/又はフィールドプログラマブルゲートアレイ(FPGA))に送られて処理される。ストレージシステム1020及びプロセッサ1030は、画像の解析、画像の保存、画像のグレード付け、グレード付け結果及びグレード付けされた画像の保存、及び/又は解析結果のレポート生成に使用されてよい。
【0020】
例えば、場合によっては、画像キャプチャ装置(のセット)1010a及び1010bからの画像は、画像の前処理を実施するために、プロセッサ1030(又は別のプロセッサ(図示せず))に送られる。前処理は、画像のトリミング、及び/又は画像のサイズ縮小を含んでよい。場合によっては、前処理後に、前処理画像がストレージシステム1020に記憶される。場合によっては、記憶後に、プロセッサ1030は、記憶されている前処理画像を更に解析し(及び任意選択で、記憶されている前処理画像に基づいて物体のグレードを決定し)、この更に解析された画像(及び任意選択で、物体のグレード又は品質情報)はストレージシステム1020に記憶される。プロセッサ1030は、AIを使用して画像を解析する。解析は、画像内の物体の周囲に境界ボックスを追加すること、画像内の物体をクラス分けすること、及び/又は画像内の物体をグレード付けすることを含んでよい。
【0021】
画像キャプチャ装置からは、非圧縮の高解像度データがキャプチャされる場合がある。その場合は、記憶スペース及び処理時間を節約するために、キャプチャ画像のサイズを縮小してよく(これは、例えば、レターボックス等のアプローチを用いること、又は、2448×784画素の画像を(例えば、JPEGフォーマットに)圧縮せずに640×224画素の画像に縮小することによって行われる)、サイズ縮小画像は永続ストレージシステムに記憶される。このアプローチは、時間のかかる(例えば、JPEGへの)画像圧縮を避けること、並びに高価なメモリの必要量を減らすことに役立ちうる。場合によっては、AIエンジンは、完全非圧縮の(例えば、2448×784画素の)画像を解析してよい。しかしながら、場合によっては、そうすることでAI処理時間が長くなり、システムの処理速度が低下する可能性がある。そこで、場合によっては、システムの性能を高めるために、サイズ縮小画像(例えば、640×224画素の画像)がストレージシステムから読み出されて、AI処理エンジンで解析される。場合によっては、サイズ縮小画像がAIエンジンで解析されて、対応する境界ボックスを有する、検出された物体のリストが生成された後、後処理段階で画像が圧縮されて記憶される。後処理段階では、画像及び/又はデータが(例えば、メタデータを含む)表形式のレポートフォーマットに変換されてよく、これにより、画像が解析結果(例えば、グレード付けレポート)とともに(例えば、操作者に対して)表示されることが可能になる。
【0022】
別の例では、場合によっては、画像キャプチャ装置(のセット)1010a及び1010bからの画像は、プロセッサ1030に送られて画像の前処理が実施され、その後、プロセッサ1030は、前処理画像を解析し(及び任意選択で、記憶されている前処理画像に基づいて物体のグレードを決定し)、解析された画像(及び任意選択で、物体のグレード又は品質情報)はストレージシステム1020に記憶される。
【0023】
場合によっては、ストレージシステム1020に記憶されている情報から1つ以上のレポートが生成されてよい。
【0024】
図2及び3は、物体(例えば、高速移動物体)の品質検査のための光学検査システムの例2000及び3000を示す。図1のシステム1000の構成要素の幾つかは、図2及び3のシステム2000及び3000の構成要素の幾つかと同一又は同様である。
【0025】
図2は、物体(例えば、高速移動物体)の品質検査のための光学検査システムの例2000を示しており、これは、第1段階2001、第2段階2002、及び第3段階2003を有する。光学検査システム2000は、(図1に示したような)第1の画像キャプチャ装置(又は第1の画像キャプチャ装置セット)1010a及び第2の画像キャプチャ装置(又は第2の画像キャプチャ装置セット)1010bと、2つの第1段階ストレージシステム(又は装置)2022a及び2022b(例えば、DRAM、永続メモリ、及び/又はSSD)と、2つの第1段階プロセッサ2032a及び2032b(例えば、CPU、CPUのコア、又はFPGA)と、2つの第2段階プロセッサ2034a及び2034b(例えば、GPU及び/又はFPGA)と、第2段階ストレージシステム2024(例えば、DRAM、永続メモリ、SSD、及び/又は書き込み最適化疑似データベース)と、第3段階プロセッサ2030(例えば、CPU又はFPGA)と、第3段階ストレージシステム2026(例えば、DRAM、永続メモリ、SSD、及び/又はリレーショナルデータベース)と、を含む。
【0026】
光学検査システム2000の第1段階では、並びに、対応する、システム2000の使用方法の第1段階では、画像が、画像キャプチャ装置1010a及び1010bによってキャプチャされ、第1段階ストレージシステム2022a及び2022bに記憶される。第1段階2001では、画像は、第1段階プロセッサ2032a及び2032bにより前処理(例えば、トリミング、サイズ縮小)される。第2段階では、第2段階プロセッサ2034a及び2034bが前処理画像を解析して、画像に関する情報(例えば、境界ボックスのサイズ及び位置、物体のクラス、及び/又は物体のグレード)を生成する。その後、第2段階プロセッサ2034a及び2034bからの画像及び/又は情報は、第2段階ストレージシステム2024により保存される。第3の段階2003では、(解析結果から生成されて)保存された画像及び情報が、第3段階プロセッサ2030により更に処理されて、例えば、データが表形式に変換され、(例えば、画像、境界ボックス、及び物体のカテゴリ又はグレードに関する情報を有する)レポートが生成され、且つ/又は、表形式データがデータベースに保存される。そして第3段階プロセッサ2030からの情報は、第3段階ストレージシステム2024に保存されてよい。場合によっては、画像はグレード付けされてよく(例えば、米国農務省(USDA)のグレード付けが行われてよく)、且つ/又は、プロセッサ(例えば、第3段階プロセッサ2030、又は任意選択の第4段階の第4段階プロセッサ(図示せず))によりレポートが生成されてよい。
【0027】
図2のプロセッサ2032a~b、2034a~b、及び/又は2030は、別々のCPU、別々のFPGA、又は1つ以上の共用CPUの別々のコアであってよい。場合によっては、第1段階プロセッサ2032a及び2032bは、1つのCPUの各コアであり、そのCPUの他の1つ以上のコアも、システム内の他の1つ以上のプロセッサで使用される。例えば、プロセッサ2032a、2032b、及び2030は全て、同じ共用CPUのコアを含んでよい。場合によっては、プロセッサ2030は、第3段階のアクションを実施する幾つかのコアと、第4段階のアクションを実施する他のコアと、を有するCPUである。異なるコア(又はコアのグループ)が異なる段階の専用である、複数のコアを有する1つのCPU(又は複数のコアを有する2つ以上のCPU)を使用することにより、異なる段階のアクションが並行して行われることが可能になって、システムの速度(例えば、画像の取得、前処理、解析、記憶、グレード付け、及び/又はレポート生成が行われる速度)を高めることが可能である。例えば、第1のデータセット(又はレポート)が第4段階で処理されている場合、これと並行して、第2のデータセット(又はレポート)が第3段階で処理されることが可能であり、第4段階での第1のデータセットの処理によって、第3段階での第2のデータセットの処理が妨げられることはない。場合によっては、プロセッサ2032a~b、2034a~b、及び/又は2030はFPGAであってよい。場合によっては、第4段階プロセッサ(図示せず)がFPGAであり、これは(やはりFPGAであってよい)第3段階プロセッサとは別のFPGAである。
【0028】
図3は、物体(例えば、高速移動物体)の品質検査のための光学検査システムの例3000を示しており、光学検査システム3000は、(図1に示したような)第1の画像キャプチャ装置(又は第1の画像キャプチャ装置セット)1010a及び第2の画像キャプチャ装置(又は第2の画像キャプチャ装置セット)1010bと、2つの第1段階揮発性メモリシステム(又は装置)3022a及び3022b(例えば、DRAM及び/又はSRAM)と、2つの第1段階プロセッサ3032a及び3032b(例えば、CPU、CPUのコア、又はFPGA)と、2つの第2段階プロセッサ(例えば、GPU及び/又はFPGA)3034a及び3034bと、追加の第2段階プロセッサ3030(例えば、CPU又はFPGA)と、ストレージシステム3024(例えば、DRAM、永続メモリ、SSD、及び/又はリージョナルデータベース)と、を含む。
【0029】
システム3000の第1段階3001では、並びに、対応する、システム3000の使用方法の第1段階3001では、画像が、画像キャプチャ装置1010a及び1010bによってキャプチャされ、取得画像は、2つの第1段階揮発性メモリシステム(又は装置)3022a及び3022bに記憶される。第1段階3001では、画像は、第1段階プロセッサ3032a及び3032bにより前処理(例えば、トリミング、サイズ縮小)される。第2段階3002では、画像は、第2段階プロセッサ3034a及び3034bにより解析される(例えば、境界ボックスを追加される、並びに物体がクラス分け及び/又はグレード付けされる)。(解析結果から生成された)第2段階プロセッサ3034a及び3034bからの処理画像及び情報は、その後、追加の第2段階プロセッサ3030により、更に処理される。第3段階では、更に処理された画像(及びその画像に関する情報(例えば、グレード))が、第3段階ストレージシステム2024により保存される。場合によっては、画像はグレード付けされてよく(例えば、米国農務省(USDA)のグレード付けが行われてよく)、且つ/又は、任意選択の第4段階で、プロセッサ(例えば、第2段階プロセッサ3030、又は第4段階プロセッサ(図示せず))によりレポートが生成されてよい。
【0030】
図3のプロセッサ3032a~b、3034a~b、及び/又は3030は、別々のCPU、別々のFPGA、又は1つ以上の共用CPUの別々のコアであってよい。場合によっては、第1段階プロセッサ3032a及び3032bは、1つのCPUの各コアであり、そのCPUの他の1つ以上のコアも、システム内の他の1つ以上のプロセッサで使用される。例えば、プロセッサ3032a、3032b、及び3030は全て、同じ共用CPUのコアを含んでよい。場合によっては、プロセッサ3030は、第3段階のアクションを実施する幾つかのコアと、第4段階のアクションを実施する他のコアと、を有するCPUである。異なるコア(又はコアのグループ)が異なる段階の専用である、複数のコアを有する1つのCPU(又は複数のコアを有する2つ以上のCPU)を使用することにより、異なる段階のアクションが並行して行われることが可能になって、システムの速度(例えば、画像の取得、前処理、解析、記憶、グレード付け、及び/又はレポート生成が行われる速度)を高めることが可能である。例えば、第1のデータセット(又はレポート)が第4段階で処理されている場合、これと並行して、第2のデータセット(又はレポート)が第3段階で処理されることが可能であり、第4段階での第1のデータセットの処理によって、第3段階での第2のデータセットの処理が妨げられることはない。場合によっては、プロセッサ3032a~b、3034a~b、及び/又は3030はFPGAであってよい。場合によっては、第4段階プロセッサ(図示せず)がFPGAであり、これは(やはりFPGAであってよい)第3段階プロセッサとは別のFPGAである。
【0031】
図1~3では、第1の画像キャプチャ装置1010aは、単一の画像キャプチャ装置、又は画像キャプチャ装置のセットであってよく、第2の画像キャプチャ装置1010bは、単一の画像キャプチャ装置、又は画像キャプチャ装置のセットであってよい。場合によっては、画像キャプチャ装置(のセット)1010a及び1010bは、(例えば、物体の両面の画像をキャプチャするために)互いに向かい合って配置されている。場合によっては、本明細書に記載の光学検査システムは、画像キャプチャ装置1010a及び1010bのペアを1つ以上有してよく、各ペアの装置は互いに向かい合って配置されている。1つ以上の運動センサが第1及び第2の画像キャプチャ装置1010a及び1010bと通信していてよく、これは、例えば、運動センサが物体を検出したときに装置が物体の画像をキャプチャ(取得)することをトリガするためである。第1及び第2の画像キャプチャ装置は、それぞれの前を高速移動物体が移動したときにリアルタイム画像をキャプチャすることが可能である。本明細書に記載の光学検査システムには、他の画像キャプチャ装置及び/又は運動センサも含まれてよい。画像キャプチャ装置の様々な構成が可能であり、例えば、2~10ペア、又は3ペア、又は6ペアのカメラ(例えば、各ペアは、物体の正面及び背面の両方の画像を取得するように構成されている)の構成や、カメラが片側にのみ配置された構成が可能である。
【0032】
図1~3では、ストレージシステム1020、2022a~b、2024、2026、及び/又は3024は、ブロックキャッシュ用の動的ランダムアクセスメモリ(DRAM)システム、永続メモリシステム(3D XPoint等)、及び/又は、データ(例えば、カメラからのローフォーマットデータ、画像、及び/又は前処理画像)を記憶するための4層セル又は3層セルのソリッドステートドライブ(SSD)システムを含んでよい。ストレージシステム1020、2022a~b、2024、2026、3022a~b、及び/又は3024は、(書き込みが頻繁に行われても)高書き込みスループット及び長寿命であるように構成されてよい。ストレージシステム1020、2022a~b、2024、2026、3022a~b、及び/又は3024は、カメラからのデータを全て記憶してよく、或いは、(例えば、前処理されたデータのみ、欠陥のある物体に対応するデータのみ、のように)データを選択的に記憶してよい。ストレージシステム1020、2022a~b、2024、2026、3022a~b、及び/又は3024は、ローデータ、サイズ縮小データ、及び/又は圧縮データを記憶してよい。記憶されるデータは、ホットデータ(即ち、取得されてからリアルタイム又は近リアルタイムで解析されるデータ)、コールドデータ(即ち、記憶されてから、リアルタイム又は近リアルタイムではない、より遅いタイミングでアクセスされるデータ、及び/又は、将来の監査に使用可能な、ローフォーマットデータから選択されたデータ)であってよい。場合によっては、本明細書に記載のシステム及び方法は、(例えば、ホットデータ及びコールドデータを有する)層構造のストレージを利用してよい。例えば、取得されて前処理(例えば、サイズ変更)されたデータは、第2段階での使用に備えて、(例えば、十分な寿命及び書き込みスループットを有する)永続メモリに記憶されてよい。そして、第2段階の出力は、圧縮されてコールドストレージシステム(例えば、4層SSD)に記憶されてよい(それらは必要な性能を程々のコストで提供する)。場合によっては、インメモリ処理を用いるシステムにおいて、データを永続メモリ又はSSDに記憶する前にDRAM記憶層が利用されてよい。
【0033】
図1~3では、プロセッサ1030、2030、2032a~b、2034a~b、3030、3032a~b、及び/又は3034a~bは、2つの動作モード、即ち、データコレクションモード(Data Collection Mode)及びプロダクションモード(Production Mode)を可能にするように構成されてよい。データコレクションモードでは、全ての画像が永続メモリシステム及びSSDシステムにキャプチャされ、プロダクションモードでは、一部の画像(例えば、選択された、重大な欠陥のある物体の画像)だけがキャプチャされる。他の動作モードも可能であり、例えば、画像のサブセットが永続メモリシステム及びSSDシステムにキャプチャされるモードが可能である。プロセッサ1030、2030、2032a~b、2034a~b、3030、3032a~b、及び/又は3034a~bは又、1つ以上の画像キャプチャ装置から(例えば、第1及び第2の画像キャプチャ装置の1つ又は複数のセットから)キャプチャ画像を受け取るように、且つ/又は、画像の前処理、及び/又は画像の解析、及び/又は画像に基づくレポートの生成を行うように構成されてよい。
【0034】
図1~3では、プロセッサ1030、2030、2032a~b、2034a~b、3030、3032a~b、及び/又は3034a~bは、受け取ったキャプチャ画像を処理(又は前処理)するように構成されてよい。例えば、プロセッサ1030、2032a~b、2034a~b、3032a~b、及び/又は3034a~bは、キャプチャ画像ごとに、画像の前処理(例えば、画像のサイズ変更(又はサイズ縮小))、及び/又は、画像の処理(例えば、特徴抽出)を実施して、キャプチャ画像内の少なくとも1つの高速移動物体を識別してよい。プロセッサは又、キャプチャ画像のうちの、1つ以上の物体(例えば、高速移動物体)の画像を含む少なくとも一部分(「サブ画像」と呼ぶ)を選択(又はトリミング)する、キャプチャ画像の前処理を行ってよい。
【0035】
図1~3では、プロセッサ1030、2030、2032a~b、2034a~b、3030、3032a~b、及び/又は3034a~bは、プロセッサによって識別されたサブ画像のグループ分けを、各グループの画像が同じ高速移動物体を含むように実施するように構成されてよい。例えば、第1のグループのサブ画像が、第1の透視図にある第1の高速移動物体の、第1の画像キャプチャ装置からの第1の画像と、第2の透視図にある同じ第1の高速移動物体の、第2の画像キャプチャ装置からの第2の画像と、を含んでよい(但し、第1の透視図は、少なくとも一部分又は全体が第2の透視図と異なる)。場合によっては、識別されたサブ画像のグループ分けは、とりわけ、識別された各サブ画像のタイムスタンプ比較、識別されたサブ画像の中の識別された各高速移動物体の外形及び/又はサイズ、識別されたサブ画像の中の識別された高速移動物体の向き、識別されたサブ画像の中の識別された高速移動物体の位置、識別されたサブ画像の中の(識別された高速移動物体以外の)他の物体及び/又は特徴の位置、及び/又は、識別されたサブ画像の中の識別された高速移動物体の(又はそれに関係する)表面テクスチャ/粗度、色、サイズ、形状、及び/又は他の特徴に基づいて行われてよい。
【0036】
場合によっては、プロセッサは更に、各グループのサブ画像のうちの識別されたサブ画像ごとに、識別されたサブ画像の中の識別された高速移動物体に欠陥があればこれを識別し、且つ/又は、識別されたサブ画像の中の識別された高速移動物体ごとに欠陥スコアを生成するように構成されてよい。場合によっては、プロセッサは、同じ高速移動物体を表している、サブ画像のグループごとに、最終欠陥スコアを生成するように構成されてよい。場合によっては、プロセッサは、識別された高速移動物体ごとに、1つ以上の閾値スコアに基づいて、高速移動物体の欠陥の最終的なクラス分け及び/又はカテゴリ分けを行うように構成されてよい。例えば、場合によっては、画像内の各物体が、特定のタイプ(又はクラス)に属するものとして、物体のクラス分けの信頼度の尺度である信頼スコアとともに検出(又はクラス分け)される。場合によっては、信頼スコアが最高であるクラス分けタイプだけが選択される。2台以上のカメラを使用して物体を2つ以上の角度から画像化する場合には、異なるカメラアングルからの画像の物体のタイプ(又はクラス)が比較され、最悪のグレード(又はクラス)のものが選択される。別の例では、最終欠陥スコアが第1閾値スコアを超えた場合に、識別された高速移動物体が、大きな欠陥のある高速移動物体としてクラス分けされてよい。同様に、最終欠陥スコアが第1閾値スコアを超えないが第2閾値スコアを越えた場合に、識別された高速移動物体が、小さな欠陥のある高速移動物体としてクラス分けされてよい。高速移動物体の更なる(又は他の)クラス分けが行われてよく、例えば、追加の検出(又はクラス分け)処理を含めることによって行われてよい。
【0037】
場合によっては、上述の処理のうちの1つ以上の処理が、部分的又は全体的に、能動的学習フレームワークを含む人工知能(AI)エンジン、モデル、及び/又はシステムにより実施されてよい(例えば、新しいデータ点に所望出力のラベルを付けるためにシステムが操作者(又は他の何らかの情報源)にインタラクティブにクエリすることが可能な場合)。場合によっては、AIエンジン/システムのトレーニングは、実トレーニングデータ及び合成(又はシミュレーション)トレーニングデータを生成及び/又は適用することを含んでよい。そのような合成(又はシミュレーション)トレーニングデータの生成は、実トレーニングデータのより小さいセットに基づいてよく、又は由来してよい。
【0038】
場合によっては、本明細書に記載の光学検査システム及び方法のプロセッサは、画像の処理、グループ分け、スコア付け、及び/又はクラス分け/カテゴリ分けの前、途中、及び/又は後に、以下の処理のうちの1つ以上の処理を実施するように構成されてよい。プロセッサは、キャプチャ画像、識別されたサブ画像、及び/又は識別されたサブ画像の1つ以上のサブ部分(例えば、識別された高速移動物体、識別されたサブ画像の中の他の物体、周囲状況、識別された高速移動物体上の影になっている部分、及び/又は、識別された高速移動物体上の照明された部分)の解析を実施して、画像のキャプチャ中に使用される照明条件を調節する必要があるかどうかを評価するように構成されてよい。プロセッサは、その解析結果に基づいて照明条件を調節するように構成されてよく、照明条件の調節は、1つ以上の光源の強度を高めること、及び/又は、1つ以上の光源の色、周波数、及び/又は波長を変更することを含んでよい。プロセッサは、キャプチャ画像、識別されたサブ画像、及び/又は識別されたサブ画像の1つ以上のサブ部分を編集するように構成されてよい。編集は、画像の輝度、コントラスト、色相、色、及び/又は鮮明度の調節を含んでよく、これは、例えば、物体の画像処理、グループ分け、及び/又はスコア付け、及び/又はクラス分け、及び/又はカテゴリ分けを改善することを支援するために行われる。
【0039】
識別されたサブ画像の1つ以上のサブ部分の上述の解析、照明条件の調節、及び/又は、キャプチャ画像、識別されたサブ画像、及び/又は識別されたサブ画像のサブ部分の編集は、部分的又は全体的に、能動的学習フレームワークを含むAIエンジン/システムにより実施されてよい。
【0040】
図4は、図2のシステム2000と同様の光学検査システムの一例4000を示す。図4のシステムは、6台(以上)の画像キャプチャ装置(「カメラ1」~「カメラN」)を含み、それらは、第1段階で画像をキャプチャし、そのキャプチャ画像を2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)に送る。カメラは、一定の時間間隔で、又は同期トリガ(例えば、運動センサ等の外部センサ、プログラマブルロジックコントローラ(PLC)、又は操作者からのトリガを使用する同期トリガ)に基づいて画像をキャプチャするように構成されている。画像は、第1段階プロセッサ(「P1」~「PN」)によって前処理(例えば、トリミング及び/又はサイズ縮小)されてよい。第1段階プロセッサは、図2のシステムに関して述べたように、スタンドアロンプロセッサ、CPUである第3段階プロセッサのコア、又はFPGAであってよい。図4に示した例では、各カメラ(1~N)にプロセッサが結合されている。別の実施形態では、第1段階プロセッサはカメラより少なくてよく、2台以上のカメラからの画像が第1段階プロセッサによって前処理されてよい。例えば、1台、又は2台、又は3台、又は4台、又は5台、又は6台のカメラからの画像が第1段階プロセッサによって前処理されてよい。例えば、1台、又は2台、又は3台、又は4台、又は5台、又は6台、又は10台、又は20台、又は1~20台、又は1~10台の画像キャプチャ装置があってよく(例えば、図4の「カメラ1」~「カメラN」)、1台、又は2台、又は3台、又は4台、又は5台、又は6台、又は10台、又は20台、又は1~20台、又は1~10台の第1段階プロセッサがあってよい(例えば、図4の「P1」~「PN」)。場合によっては、必要な処理時間を短くするために、画像は第1段階プロセッサによって圧縮されず(即ち、非圧縮状態に保たれ)、これは、(例えば、リアルタイム又は近リアルタイムの動作を実現するために)システムが画像取得の速度に遅れないことに役立ちうる。
【0041】
場合によっては、光学検査システム4000の第1段階(「段階1 画像取得」)において、画像は、取得された後、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)に送られる前に、第1段階ストレージシステム又は装置(「S1」~「SN」)(例えば、高耐久性SSD又は他のタイプの低遅延永続メモリ)に記憶される。場合によっては、第1段階ストレージシステム又は装置(「S1」~「SN」)は、第1段階の全ての画像キャプチャ装置と結合されていて、第2段階プロセッサと結合されている単一装置である。又、場合によっては、「S1」~「SN」は複数の第1段階ストレージシステム又は装置であってよく、第1段階ストレージシステム又は装置(「S1」~「SN」)は、1台以上の画像キャプチャ装置と結合されている。例えば、各画像キャプチャ装置(「カメラ1」~「カメラN」)は、別個の第1段階ストレージシステム又は装置と結合されてよい。別の例では、3台の画像キャプチャ装置(「カメラ1」~「カメラ3」)は、第1の第1段階ストレージシステム又は装置、並びに第1の第2段階プロセッサ(「GPU#1又はFPGA」)と結合されてよく、3台の画像キャプチャ装置(「カメラ4」~「カメラ6」)は、第2の第1段階ストレージシステム又は装置、並びに第2の第2段階プロセッサ(「GPU#2又はFPGA」)と結合されてよい。
【0042】
カメラのサブセット(例えば、カメラ#1~#3)からの画像は、第1の第1段階ストレージシステム又は装置(例えば、「P1」~「P3」が1つのメモリ装置である場合)に送られてよく、カメラの別のサブセット(例えば、カメラ#4~#6)からの画像は、第2の第1段階ストレージシステム又は装置(例えば、「P4」~「P6」が1つのメモリ装置である場合)に送られてよい。この例では6台のカメラが示されているが、別の例では、6台より多い又は少ないカメラが使用されてもよい。例えば、「カメラN」は、2つの第2段階プロセッサ(GPU#1及び#2、又はFPGA)のいずれか一方と結合されてよく、又は、別の第2段階プロセッサ(図示せず)と結合されてよい。場合によっては、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)は、カメラからの画像の保存に使用される第1及び第2の第1段階ストレージシステム又は装置と結合されてよい。
【0043】
光学検査システム4000の第2段階(「段階2 近リアルタイム検査」)では、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)は、AIモデルを使用してキャプチャ画像を解析する。3台のカメラからの画像が、光学検査システム4000の各第2段階プロセッサによって処理される。又、場合によっては、3台より多い又は少ない(例えば、1~10台の)カメラからの画像が、各第2段階プロセッサによって処理されてよい。例えば、AIモデルを使用して、各カメラからの各画像の中の物体を検出し、各画像の中の各物体に対して境界ボックスを追加(又は境界ボックスを適用、又は境界ボックスを描画、又は境界ボックスのサイズ及び位置を決定)してよい。そしてAIモデルは、各画像の中の物体ごとに品質(又はクラス、又はカテゴリ)を示す又は決定する出力を行ってよい。例えば、AIモデルを使用して、物体に欠陥があるか(即ち、物体が「不良」又は「エラー」カテゴリにクラス分けされるか)、欠陥がないか(即ち、物体が「良」又は「エラー無し」カテゴリにクラス分けされるか)を決定してよい。場合によっては、欠陥のある物体(又はアイテム)がある画像だけが圧縮されて、第2段階ストレージシステム又は装置(「書き込み最適化疑似データベース又はキー値ストア」)(例えば、DRAM、SSD、又は他の永続メモリ)に保存される。第2段階ストレージシステム(「書き込み最適化疑似データベース又はキー値ストア」)は、書き込み最適化疑似データベース(例えば、埋め込み可能キー値ストア)であってよい。場合によっては、第2段階ストレージシステム又は装置(「書き込み最適化疑似データベース又はキー値ストア」)は、画像が非常に迅速に保存されることを可能にするように構成されており、それによって、第2段階での画像保存は、リアルタイム(又は近リアルタイム)で(例えば、画像取得の速度に遅れないように)行われることが可能である。場合によっては、保存の時間及びスペースを節約するために、欠陥のある物体がない画像(即ち、良カテゴリにクラス分けされた物体だけがある画像)は、第2段階ストレージシステム又は装置(「書き込み最適化疑似データベース又はキー値ストア」)に保存されなくてよい。エラーカテゴリの画像は、顧客(又は操作者)が品質測定基準(又はQA、又はQC)として使用してよく、或いは、(本システムが能動的学習を採用する場合の)更なるAIトレーニングに使用されてよい。第2段階プロセッサは又、(例えば、全てのカメラから、又は主要なカメラだけから(例えば、物体の一方の側に位置するカメラだけから))取得された画像の枚数を算出し、その枚数をリアルタイム又は近リアルタイムでレポートに表示してよい。そのような枚数は、例えば、QA、QC、及び他のタイプの(例えば、電子メール経由の)追跡及びアラートに使用されてよい。
【0044】
光学検査システム4000の第2段階には、欠陥のある物体(又は不良としてクラス分けされた物体)を排出又は除去する任意選択のイジェクタ又はロボット(例えば、ロボットアーム)があってもよい。例えば、イジェクタは、欠陥のある物体(又はアイテム)を生産ライン(又は選別ライン)から排出するように構成されたエアジェット(又はエアストリーム)を含んでよい。第2段階で行われた解析及びグレード付けの結果が、(上述のように)欠陥のある物体を識別することに使用されてよく、それにより、欠陥のある物体を生産ライン(又は選別ライン)からリアルタイムで排出するための信号(「アクショントリガ」)がイジェクタに送られてよい。ロボットは、欠陥のある物体(又はアイテム)を処理ラインから除去するように構成されたロボットアーム(例えば、メカニカルアーム)であってよい。このように、本明細書に記載のシステム及び方法は、物体(例えば、高速移動物体、自由落下物体、又はコンベヤベルト上の物体)を検査すること、並びに、欠陥のある物体を生産ライン(又は選別ライン)からリアルタイムで排出又は除去することを可能にする。
【0045】
光学検査システム4000の第3段階(「段階3 レポート生成」)では、第3段階プロセッサ(図4の第3段階の「CPU又はFPGA」)(例えば、CPU又はFPGA)が、第2段階ストレージシステム(「書き込み最適化疑似データベース又はキー値ストア」)に保存されている(第2段階での解析結果から生成された)画像及び情報を更に解析してよい。例えば、第3段階プロセッサ(「CPU又はFPGA」)は、保存されている画像の全て又はサブセットについて各物体の境界ボックスを読み取り、その情報を、リレーショナルデータベースを含む第3段階ストレージシステム又は装置に保存してよい。そして、画像及び対応する情報(例えば、境界ボックス及び/又はカテゴリ)を有するレポートが、第3段階プロセッサ(「CPU又はFPGA」)を使用して(例えば、SQLインタフェースを使用して)生成されてよい。
【0046】
光学検査システム4000の第4段階(「段階4 3Dグレード付け」)では、第4段階プロセッサ(図4の第4段階の「CPU又はFPGA」)(例えば、CPU又はFPGA)を使用して、3Dグレード付け及び/又はUSDAグレード付けが行われてよい。第4段階プロセッサ(「CPU又はFPGA」)(例えば、CPU、CPUの1つ以上のコア、又はFPGA)は、(例えば、物体の2つ以上の面を示している)全てのカメラからのデータを、(第3段階及び第4段階の両方で使用されてよい)リレーショナルデータベースから収集し、その後、リレーショナルデータベースに再書き込みしてよい。場合によっては、第3段階プロセッサと第4段階プロセッサは同じプロセッサであってよい。場合によっては、カメラは、物体(又はアイテム)(例えば、自由落下物体)の両面の画像をキャプチャするために、ペアで配置されている。各ペアのカメラは合わせ鏡状であってよく、一方のカメラはプライマリカメラとして指定されてよく、ペアの他方のカメラはセカンダリカメラとして指定されてよい。セカンダリカメラからの各画像は左右反転画像であってよい(即ち、左側にあった境界ボックスが右側に見えることになる)。左右反転後、セカンダリカメラからの画像の右端の境界ボックスが、プライマリカメラからの画像の右端の境界ボックスと重なり合ったとすれば、それは、境界ボックス内の物体が同じ物体の両面であることを示している。そのような場合、第4段階のグレード付けにおいては、1つのグレードだけがその物体に割り当てられる(例えば、最も深刻な(又は良くない、又は欠陥のある)グレード又はカテゴリが採用される)。第4段階では、境界ボックス及び/又は境界ボックス内の物体のサイズも特定可能であり(例えば、画素サイズから実サイズ(例えば、ミリメートル単位)へのマッピングに基づいて特定可能であり)、各物体のサイズが特定可能である。USDAグレード付けは、物体の重量に基づいて行われてよい。場合によっては、バッチ内の全ての物体が同じ密度を有するという仮定が用いられるため、第4段階で特定されたサイズが、USDA重量グレード付けを決定する際に代用として使用可能である。場合によっては、それによってUSDAレポートが生成されてよい。
【0047】
光学検査システム4000の第2、第3、及び第4段階で生成されたレポートは、操作者が読むことが可能である。そして、場合によっては、操作者は、(例えば、能動的学習を用いるシステムにおいて)生成されたレポートに基づいて、より多くのトレーニングデータを追加することにより、AIモデルを改善することが可能である。例えば、操作者は、画像内の物体を手動でクラス分けして、その情報をAIモデルに与えることにより、AIモデルを更にトレーニングすることが可能である。場合によっては、生成されたレポートは、(例えば、アマゾンウェブサービス(Amazon Web Services)、マイクロソフトアジュール(Microsoft Azure)、又は私有のデータセンタを使用して)クラウドにアーカイブされ、操作者が改訂したクラス分けに基づいて(例えば、自律型機械学習フレームワークを使用して)自動AIトレーニングが開始される。そして、新しくトレーニングされたAIモデルが自動的にデプロイされてよい。そのようなシステムは、有利なことに、データサイエンスの専門知識がない操作者でもAIをトレーニングすることを可能にできる。
【0048】
図5は、図3のシステム3000と同様の光学検査システムの一例5000を示す。図5のシステムは、6台(以上)のカメラを含み、それらは、第1段階で画像をキャプチャし、そのキャプチャ画像を2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)に送る。カメラは、一定の時間間隔で、又は(例えば、外部センサを使用する)同期トリガに基づいて画像をキャプチャするように構成されている。画像は、第1段階プロセッサ(「P1」~「PN」)によってサイズ縮小されてよい。第1段階プロセッサは、図3のシステムに関して述べたように、スタンドアロンプロセッサ、CPUである第3段階プロセッサのコア、又はFPGAであってよい。図5に示した例では、各カメラ(1~N)にプロセッサが結合されている。別の実施形態では、第1段階プロセッサはカメラより少なくてよく、2台以上のカメラからの画像が第1段階プロセッサによって前処理されてよい。例えば、1台、又は2台、又は3台、又は4台、又は5台、又は6台のカメラからの画像が第1段階プロセッサによって前処理されてよい。例えば、1台、又は2台、又は3台、又は4台、又は5台、又は6台、又は10台、又は20台、又は1~20台、又は1~10台の画像キャプチャ装置があってよく(例えば、図4の「カメラ1」~「カメラN」)、1台、又は2台、又は3台、又は4台、又は5台、又は6台、又は10台、又は20台、又は1~20台、又は1~10台の第1段階プロセッサがあってよい(例えば、図5の「P1」~「PN」)。場合によっては、必要な処理時間を短くするために、画像は圧縮されず、即ち、非圧縮状態に保たれ、これは、システムが画像取得の速度に遅れないことに役立ちうる。
【0049】
場合によっては、光学検査システム5000の第1段階(「段階1 画像取得」)において、画像は、取得された後、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)に送られる前に、揮発性メモリ(「V1」~「VN」)(例えば、DRAM又はSRAM)に記憶される。場合によっては、揮発性メモリ(「V1」~「VN」)は、第1段階の全ての画像キャプチャ装置と結合されていて、全ての第2段階プロセッサと結合されている単一の揮発性メモリシステム又は装置である。又、場合によっては、「V1」~「VN」は複数の揮発性メモリシステム又は装置であってよく、各揮発性メモリシステム又は装置は、1台以上の画像キャプチャ装置と結合されている。例えば、各画像キャプチャ装置(「カメラ1」~「カメラN」)は、別個の揮発性メモリシステム又は装置と結合されてよい。別の例では、3台の画像キャプチャ装置(「カメラ1」~「カメラ3」)は、第1の揮発性メモリシステム又は装置、並びに第1の第2段階プロセッサ(「GPU#1又はFPGA」)と結合されてよく、3台の画像キャプチャ装置(「カメラ4」~「カメラ6」)は、第2の揮発性メモリシステム又は装置、並びに第2の第2段階プロセッサ(「GPU#2又はFPGA」)と結合されてよい。
【0050】
カメラのサブセット(例えば、カメラ#1~#3)からの画像は、第1の揮発性メモリシステム又は装置(例えば、「V1」~「V3」が1つの揮発性メモリ装置である場合)に送られてよく、カメラの別のサブセット(例えば、カメラ#4~#6)からの画像は、第2の揮発性メモリシステム又は装置(例えば、「V4」~「V6」が1つの揮発性メモリ装置である場合)に送られてよい。2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)は、カメラからの画像の保存に使用される第1及び第2の揮発性メモリシステム又は装置と結合されてよい。3台のカメラからの画像が、光学検査システム5000の各第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)によって処理される。又、場合によっては、3台より多い又は少ない(例えば、1~10台の)カメラからの画像が、各第2段階プロセッサによって処理されてよい。例えば、「カメラN」は、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)のいずれか一方と結合されてよく、又は、別の第2段階プロセッサ(図示せず)と結合されてよい。
【0051】
光学検査システム5000の第2段階(「段階2 インメモリ処理」)では、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)は、AIモデルを使用してキャプチャ画像を解析する。例えば、AIモデルを使用して、各カメラからの各画像の中の物体を検出し、各画像の中の各物体に対して境界ボックスを追加(又は境界ボックスを適用、又は境界ボックスを描画、又は境界ボックスのサイズ及び位置を決定)してよい。そしてAIモデルは、各画像の中の物体ごとに品質(又はクラス、又はカテゴリ)を示す又は決定する出力を行ってよい。例えば、AIモデルを使用して、物体に欠陥があるか(即ち、物体が「不良」又は「エラー」カテゴリにクラス分けされるか)、欠陥がないか(即ち、物体が「良」又は「エラー無し」カテゴリにクラス分けされるか)を決定してよい。エラーカテゴリの画像は、顧客(又は操作者)が品質測定基準(又はQA、又はQC)として使用してよく、或いは、(本システムが能動的学習を採用する場合の)更なるAIトレーニングに使用されてよい。第2段階プロセッサは又、(例えば、全てのカメラから、又は(例えば、物体の一方の側に位置する)主要なカメラだけから)取得された画像の枚数を算出し、その枚数を(例えば、レポートに、又はコンピューティング装置のディスプレイに)リアルタイム又は近リアルタイムで表示してよい。そのような枚数は、例えば、QA、QC、及び他のタイプの追跡及び電子メールアラートに使用されてよい。
【0052】
光学検査システム5000の第2段階では又、追加の第2段階プロセッサ(「3Dグレード付けCPU又はFPGA」)(例えば、CPU又はFPGA)を使用して、3Dグレード付け及び/又はUSDAグレード付けが行われてよく、これにより、2つの第2段階プロセッサ(「GPU#1又はFPGA」及び「GPU#2又はFPGA」)からの(解析結果から生成された)画像及び情報が更に解析される。場合によっては、カメラは、物体(又はアイテム)(例えば、自由落下物体)の両面の画像をキャプチャするために、ペアで配置されている。各ペアのカメラは合わせ鏡状であってよく、一方のカメラはプライマリカメラとして指定されてよく、ペアの他方のカメラはセカンダリカメラとして指定されてよい。セカンダリカメラからの各画像は左右反転画像であってよい(即ち、左側にあった境界ボックスが右側に見えることになる)。左右反転後、セカンダリカメラからの画像の右端の境界ボックスが、プライマリカメラからの画像の右端の境界ボックスと重なり合ったとすれば、それは、境界ボックス内の物体が同じ物体の両面であることを示している。そのような場合、第2段階のグレード付けにおいては、1つのグレードだけがその物体に割り当てられる(例えば、最も深刻なカテゴリが採用される)。第2段階では、境界ボックスのサイズも特定可能であり(例えば、画素サイズから実サイズ(例えば、ミリメートル単位)へのマッピングに基づいて特定可能であり)、各物体のサイズが特定可能である。USDAグレード付けは、物体の重量に基づいて行われてよい。場合によっては、バッチ内の全ての物体が同じ密度を有するという仮定が用いられるため、第2段階で特定されたサイズが、USDA重量グレード付けを決定する際に代用として使用可能である。場合によっては、それによってUSDAレポートが生成されてよい。
【0053】
光学検査システム5000の第2段階には、欠陥のある物体(又は不良としてクラス分けされた物体)を排出又は除去する任意選択のイジェクタ又はロボット(例えば、ロボットアーム)があってもよい。例えば、イジェクタは、欠陥のある物体(又はアイテム)を生産ライン(又は選別ライン)から排出するように構成されたエアジェット(又はエアストリーム)を含んでよい。第2段階で行われた解析及びグレード付けの結果が、(上述のように)欠陥のある物体を識別することに使用されてよく、それにより、追加の第2段階プロセッサ(「3Dグレード付けCPU又はFPGA」)が、欠陥のある物体を生産ライン(又は選別ライン)からリアルタイムで排出するための信号(「アクショントリガ」)がイジェクタに送ってよい。このように、本明細書に記載のシステム及び方法は、物体(例えば、高速移動物体、自由落下物体、又はコンベヤベルト上の物体)を検査すること、並びに、欠陥のある物体を生産ライン(又は選別ライン)からリアルタイムで排出又は除去することを可能にする。ロボットは、欠陥のある物体(又はアイテム)を処理ラインから除去するように構成されたロボットアーム(例えば、メカニカルアーム)であってよく、又はそのようなロボットアームを含んでよい。
【0054】
場合によっては、第2段階で実施される動作の1つ、幾つか、又は全てが低遅延動作である。
【0055】
光学検査システム5000の第3段階(「段階3 永続処理」)では、追加の第2段階プロセッサ(「3Dグレード付けCPU又はFPGA」)からの画像及び/又は情報が、第3段階ストレージシステム又は装置(「書き込み最適化又はインメモリデータベース」)(例えば、DRAM、SSD、又は他の永続メモリ)に保存されてよい。例えば、追加の第2段階プロセッサ(「3Dグレード付けCPU又はFPGA」)からの画像及び/又は情報が、書き込み最適化又はインメモリデータベースに保存されてよい。
【0056】
場合によっては、第2段階でAIモデルを使用して画像が処理された後、それらの画像も第2段階で保存される。場合によっては、画像は、第2段階において、表形式構造を持たずに保存される(例えば、SQLクエリで処理できる構造を持たずに保存される)。場合によっては、第2段階で保存されるデータは、表形式構造を持たず、(例えば、Microsoft Excel、又はサードパーティ顧客データベースを使用する)データベースとインタフェースすることができず、且つ/又は、レポートに変換されることができない。場合によっては、第3段階のプロセッサは、(例えば、境界ボックスを含む)構造化されていない画像及び/又はデータを、第2段階書き込み最適化疑似データベースから取得し、それらの画像、画像のメタデータ、及び/又は関連データを表形式で記憶し、それによって、データの可視化、又はデータ生成、又はエンドユーザ操作者の消費に備えての画像及び/又はデータ及び/又はメタデータの保存が可能になりうる。
【0057】
場合によっては、光学検査システム5000では、欠陥のある物体(又はアイテム)がある画像だけが、(インメモリストレージシステム(例えば、SSD、又は他のタイプの永続メモリ)であってよい)第3段階ストレージシステム又は装置(「書き込み最適化又はインメモリデータベース」)に保存される。場合によっては、第2段階及び/又は第3段階ストレージシステム又は装置(「書き込み最適化又はインメモリデータベース」)は、画像及び/又はメタデータが非常に迅速に保存されることを可能にするように構成されており、それによって、第2段階での画像保存、及び/又は第3段階でのメタデータ保存は、リアルタイム(又は近リアルタイム)で(即ち、画像取得の速度に遅れないように)行われることが可能である。場合によっては、保存の時間及びスペースを節約するために、欠陥のある物体がない画像(良カテゴリにクラス分けされた物体だけがある画像)は、第2段階及び/又は第3段階ストレージシステム又は装置(「書き込み最適化又はインメモリデータベース」)に保存されなくてよい。場合によっては、画像の取得、処理、解析、及び保存に必要な処理時間を短くするために、画像は圧縮されない(即ち、非圧縮状態に保たれる)。
【0058】
光学検査システム5000の第2及び/又は第3段階では、レポート等の出力が生成されてもよい。レポートとしては、例えば、QCレポートがあってよく、これは、ユーザインタフェースに表示されるか、プラントデータベース(例えば、SAP、マイクロソフトアクセス(Microsoft Access)、又はプリンタ(Printer))に書き込まれる。第3段階で生成されるレポートは、操作者が読むことが可能である。そして、本明細書に記載のように、場合によっては、操作者は、能動的学習を用いて生成されたレポートに基づいて、より多くのトレーニングデータを追加することにより、AIモデルを改善することが可能である。
【0059】
場合によっては、システム4000及び/又は5000の第1及び第2段階、又は第1、第2、及び第3段階、又は第1、第2、第3、及び第4段階は、画像に対するそれぞれの機能をリアルタイム又は近リアルタイムで、約18ms未満、又は約19ms未満、又は約20ms未満、又は約30ms未満の時間以内に実施することが可能である。例えば、自由落下物体は、本明細書に記載のシステムを約18ms~約19msで通過しうる。従って、リアルタイムで検査、グレード付け、及び/又は排出を行うシステム、及び/又はリアルタイムで動作するロボットシステムは、画像の取得、画像の解析、物体の品質の特定結果の出力、物体に関する画像及び/又は情報の保存、及び/又はクラス分け及び/又はグレード付けのレポート出力を約18ms~約19ms未満で行うことが可能であることになる。
【0060】
AIモデルのトレーニング
【0061】
場合によっては、本明細書に記載のシステム及び方法で使用されるAIモデルは、合成データを使用してトレーニングされる。場合によっては、合成データは、1)代表的な物体を収集し、2)それらの代表的な物体の、様々な角度からの画像を取得し、3)各画像をマスキング及び/又はトリミングし、4)それらの画像の3Dモデルをフォトグラメトリで作成し、5)それらの3Dモデルからトレーニングデータ画像のセットを作成することによって得られる。
【0062】
場合によっては、10~500個、20~100個、又は50~60個の代表的な物体が収集され、これらから合成データが生成される。代表的な物体は、システムが使用する様々な分類(又はクラス、又はカテゴリ、又はグレード)のそれぞれからの複数(例えば、約10個、又は約20個、又は10~30個、又は10~50個、又は10~100個)の物体を含んでよい。分類(又はクラス、又はカテゴリ、又はグレード)の幾つかの例は、品質(例えば、欠陥のある、欠陥のない)、カテゴリ(例えば、タイプA、タイプB)、サイズ(例えば、小さい、大きい)、形状(例えば、丸い、四角い)、及び色(例えば、白い、黒い、均一である、不均一である)に関連するものである。
【0063】
様々な角度からの画像はデジタルカメラで取得されてよく、場合によっては、本明細書に記載の実際の光学検査システムで使用されるものと同じカメラで取得されてよい。場合によっては、画像は、物体の軸の周囲360度を網羅する約20個(又は約10個、又は約50個、又は約10個~約100個)の異なる角度から取得される。場合によっては、第1の画像セットが、物体の第1の軸の周囲360度を網羅する約20個(又は約10個、又は約50個、又は約10個~約50個)の異なる角度から取得され、第2の画像セットが、物体の第2の軸の周囲360度を網羅する約20個(又は約10個、又は約50個、又は約10個~約50個)の異なる角度から取得される。第1の軸は第2の軸に垂直であってよく、或いは、第1の軸及び第2の軸は、それらの間に角度を有してよく、例えば、45度の角度、又は0度~90度の角度を有してよい。場合によっては、第1の画像セットが、物体を取り巻く第1のループにある約20個(又は約10個、又は約50個、又は約10個~約50個)の異なる角度から取得され(即ち、これは、カメラが物体とほぼ同じ高さにある場合である)、第2の画像セットが、物体の上方に位置する第2のループにある約20個(又は約10個、又は約50個、又は約10個~約50個)の異なる角度から取得される(即ち、これは、カメラが物体の上方にあって、上方の様々な角度から物体の画像をキャプチャするように方向付けられている場合である)。
【0064】
場合によっては、トレーニングデータ用画像を生成するために、実際の光学検査システムで使用されるものと同じ背景条件及び照明条件が使用される。例えば、光学検査システムによる実データ収集及びAIモデル推論の間の照明の色(又は波長)が昼白色であれば、合成データ作成中は同じ昼白色のLED照明を使用することが望ましい。場合によっては、物体の片面又は両面に使用される実際の照明条件(例えば、反射光、物体を照らしている複数の照明)をシミュレートするために、2つ以上の照明(複数の照明)が使用される。
【0065】
場合によっては、その後、画像は、マスキング及び/又はトリミングされて、背景の一部又は全部が除去される。例えば、画像をマスキング及び/又はトリミングするために画像編集プログラム(例えば、アドビフォトショップ(登録商標)(Adobe photoshop))が使用されてよい。場合によっては、背景の一部(又は全部)が除去されて、画像内の疑わしい物体が残される。マスキング及び/又はトリミングにより、次のステップで作成される3Dモデルの品質を向上させることが可能である。
【0066】
場合によっては、その後、様々な角度からの物体の画像から各物体の3Dモデルが、フォトグラメトリで(例えば、アギソフトメタシェイプ(Agisoft Metashape)ソフトウェアを使用して)作成される。フォトグラメトリは、様々な角度で取得された一連の画像から仮想3Dモデルを作成できるツールである。
【0067】
3Dモデルが作成された後、トレーニングデータ用の合成画像が3Dモデルから作成されてよい(これは、例えば、3Dソフトウェアを使用して、且つ/又はビデオゲーム用に開発された3Dソフトウェアを使用して、且つ/又はブレンダ(Blender)ソフトウェアを使用して行われる)。例えば、物体の3Dモデルを使用して、約100個、約500個、又は約50個~約1000個の合成画像が各3Dモデルから作成されてよい。合成画像は、動作中の実際の光学検査システムで取得される画像に見られるような、多数の異なる角度からの物体の画像でありうる。
【0068】
図6Aは、多数の様々な角度から取得された画像からフォトグラメトリで作成された、物体(この例ではアーモンド)の3Dモデルの一例を示す。そしてこの3Dモデルを使用して、様々な角度からの物体の合成画像が作成された。図6Bは、フォトグラメトリで生成された3Dモデルから、3Dゲーミングソフトウェア(例えば、ブレンダ(Blender)又はユニティ(Unity))を使用して生成された、様々な角度からの様々な物体(この例ではアーモンド)の合成画像を示す。そして、COCOツールを使用して、これらの合成画像から(3Dゲーミングソフトウェアから)AIトレーニングデータが作成されてよい。作成されたAIトレーニングデータは、AIトレーニングモジュールが理解できる、画像に対応するラベル及び境界ボックス情報を含んでよく、これにより、注釈付けに費やされる数十人日を節約できる。
【0069】
場合によっては、本明細書に記載のシステム及び方法で使用されるAIモデルは、(例えば、上述のように生成された)合成データを使用してトレーニングされる。AIモデルのトレーニングは、1)合成データを使用してAIモデルをトレーニングし、2)本明細書に記載の光学検査システムを使用して(例えば、実際の動作時に)実データを収集し、幾らかの追加出力データを手動でクラス分けし、3)その手動でクラス分けされた追加出力データを使用して(即ち、能動的学習を用いて)AIモデルを強化することによって行われてよい。
【0070】
図7Aは、物体(この例ではアーモンド)の検査、解析、及び/又はグレード付けを行うための、AIモデル由来のトレーニングデータの一例を示す。図7Aは、トレーニングの反復数(又はステップ数)(x軸)に対してAIモデルの平均平均適合率(mAP)(y軸)をプロットしたチャートを示す。このAIモデルは、(図7Aに示すように)約300~350回の反復(又はステップ)の後に0.928mAPのスコアを達成する。一連の解析済み物体の平均をとったときに、mAPが高いほど正確に、AIモデルが物体を検出できることになる。例えば、mAP@[0.5:0.95]は、ユニオン交差(intersection over union)(IoU)スコア(IoUスコアについては後で詳述)が0.5~0.95の場合の一連の解析済み物体の平均スコア適合率を示す。
【0071】
合成データを使用してAIモデルがトレーニングされた後、能動的学習を用いてAIモデルの再トレーニング及び/又は妥当性検査を行うための追加画像セットが実際のシステムにより生成されてよい。この追加で収集された画像は手動でクラス分け(及び/又は注釈付け)されてよく、この手動でクラス分けされた追加画像を使用して、AIモデルを再トレーニングして適合率を(例えば、90%超まで、又は約95%まで)高めることが可能である。場合によっては、全部で約10,000個~約100,000個(又は約50,000個)のトレーニング画像があってよく、それらのトレーニング画像のうちの約10%(又は約5%~約20%)が、能動的学習で使用されるために、又はAIモデルの妥当性検査及び/又は再トレーニングを行うために手動で注釈付けされたトレーニング画像である。
【0072】
図7Bは、本明細書に記載のように、実際の光学検査システムで取得された、物体(この例ではアーモンド)の実画像の一例を示す。図7Bの各画像は、合成データだけを使用してトレーニングされたモデルの出力の妥当性検査又は訂正を行うために操作者が手動で注釈付けしたものである。この方式の利点として、合成データを使用してトレーニングされたAIモデルは、境界ボックス及び(例えば、物体のクラス、グレード、又はタイプを示す)ラベルを描画することが可能である。これにより、時間のかかる、境界ボックスの手動描画が不要になり、この段階で必要とされるのは、ラベルの妥当性検査又はラベルの誤りの訂正だけである(例えば、合成データだけを使用してトレーニングされたAIモデルに由来する誤りの約30%~40%がラベルの誤りである)。この能動的学習プロセスは何らかの手動の注釈付けに確かに依存しているが、このプロセスの一部(例えば、境界ボックス描画及び初期ラベル付け)は既に済んでいるので、本方法を用い、合成データを活用してAIモデルをトレーニングすることに必要な合計人時は、一連のトレーニング画像を生成するための完全に手動の注釈付けプロセスの場合の合計人時に比べてかなり少なくなる。本明細書に記載のAIモデルをトレーニングすることに合成データを使用することにより、全てのトレーニング画像のクラス分けを手動で決定する場合に比べてかなりの時間を節約できる。例えば、20,000~50,000個のトレーニング画像を手動でクラス分けするための注釈付け作業には20~30人日かかりうるが、(例えば、上述の方法を用いて生成された)合成データを使用して、クラス分けされたトレーニング画像を生成する場合は所要リソースをかなり少なくできる(例えば、約3~約10人日、又は約3~約5人日、又は約5人日、又は約10人日かかりうる)。
【0073】
本明細書に記載の光学検査システムは、AIモデルを使用して画像を解析し、画像内の物体のクラス分け及び/又はグレード付けの情報を含むレポートを生成することが可能である。場合によっては、能動的学習(又は漸次的学習)を用いてAIモデルの再トレーニングが行われ、この場合は、レポート内の情報が(例えば、操作者によって)手動で修正され、修正されたデータがAIモデルに送られて、AIモデルの再トレーニングが行われる。レポート内の情報を手動で修正することは、例えば、情報を再編成すること、及び/又は、画像又は物体に関連付けられた1つ以上のラベルを変更することのために行われてよい。場合によっては、そのような能動的学習方法は、ストレージシステム及び/又はプロセッサがクラウドにあるシステムにおいて実施される。例えば、修正された情報は、クラウドにあるストレージシステムに保存されてよく、クラウドにあるプロセッサがAIモデルを再トレーニングするように構成されてよく、その再トレーニングされたAIモデルが光学検査システムの1つ以上のプロセッサに与えられて、画像の解析に使用されてよい。
【0074】
向かい合うカメラのペアからの画像の処理
【0075】
図8A及び8Bは、カメラのペアからの画像を処理することの一例を示しており、一方のカメラは、物体の一方の側の画像を取得するように配置されており、ペアの他方のカメラは、物体の他方の側の画像を取得するように配置されている。このプロセスは、本明細書に記載の光学検査システム及び方法において、例えば、図1~5のシステムに関して説明されたように用いられてよい。図8Aは、(物体の第1の側からの画像をキャプチャするように方向付けられた)第1のカメラ(「カメラ#1」)からの画像を示しており、3つの物体が識別されて境界ボックスに包囲されている。図8Aは又、(物体の第1の側の反対側の第2の側からの画像をキャプチャするように方向付けられた)第2のカメラ(「カメラ#2」)からの画像を示しており、3つの物体が識別されて境界ボックスに包囲されている。一例では、検出された物体の一方の側が「良」のクラス又はグレードであり、他方の側が欠陥のあるクラス又はグレードである。従って、(第1のカメラからの)物体の正面の画像と(第2のカメラからの)物体の背面の画像とが互いに関連付けられてよく、これらのうちの一方の側に欠陥があれば、物体は欠陥があるものとしてグレード付けされてよい。異なる2つの画像にある検出された物体を互いに関連付けるために、図8A(「カメラ#2:境界ボックスが再構築されている」)に示されるように、第2の側からの画像の境界ボックスの鏡像が取得されてよい。
【0076】
図8Aは、第2のカメラから取得された画像が鏡像化された(即ち、水平方向に反転された)例を示している。第2のカメラからの画像の境界ボックスが(図8Aに示されたように)鏡像反転された後、第1のカメラからの画像と、第2のカメラからの画像の鏡像とが重ね合わされてよく、第1及び第2(又はプライマリ及びセカンダリ)の両方のカメラ画像において境界ボックス同士をペアにする(関連付ける)ためにアルゴリズム(例えば、ハンガリアンアルゴリズム(クーン・ムンクレス(Kuhn-Munkres)アルゴリズムとも呼ばれる))が適用されてよい。このアルゴリズムは、どの画像ペアが同じ物体の2つの側を表しているかを特定することが可能である。画像同士がペアにされた(関連付けられた)後、最終的なグレードが各物体に割り当てられてよい。
【0077】
図8Bは、第2のカメラからの画像から鏡像が取得されて、第1のカメラからの画像と重ね合わされた後に、物体の境界ボックスがどのように重なり合いうるかについて、幾つかの例を示している。アルゴリズムは、ユニオン交差(IoU)値を算出してよい。IoU値が高いこと(例えば、0より大きいこと、或いは0.5より大きいこと)は、境界ボックスが別の境界ボックスと重なり合っている度合いが高いことを示しており、これは、それらの境界ボックスが同じ物体を包囲している可能性が高いことを示している。IoU値が低いこと(例えば、0.5より小さいこと、或いはほぼ0であること)は、境界ボックスが別の境界ボックスと重なり合っている度合いが低いことを示しており、これは、それらの境界ボックスが同じ物体を包囲している可能性が低いことを示している。この、IoUに基づく方式の利点は、画像処理が不要であること、並びに、比較的シンプルなIoU算出アルゴリズムで正確な結果が得られることである。同様のIoU方式が、自律走行車によって検出される物体に用いられているが、自動運転車が遭遇する状況では境界ボックスが、異なるタイムスタンプにおける同じ物体のものであることとは異なり、本明細書に記載の、向かい合うカメラを有する光学検査システムの場合には、各境界ボックスペアの物体の外観が異なる可能性がある。これは、解析されている画像が、同じ物体の両側から取得されているためである。従って、IoU方式は、本発明のシステム及び方法に比類なく適している。これは、境界ボックス領域の高度な画像処理を用いて類似性を比較する他の方式では、同じ物体の異なる面を検出する際に信頼性が低い場合があるためである。
【0078】
クラウドストレージ
【0079】
場合によっては、本明細書に記載のシステムの1つ以上から既に生成されたレポート及び/又はデータは、クラウドにあるストレージシステムに自動的にアーカイブされる。例えば、1人の顧客(又は操作者、又は所有者)のシステムからの全てのレポート及びデータ(例えば、画像、境界ボックス位置、及び/又はグレード)が、クラウドストレージ(例えば、マイクロソフトのクラウドストレージシステム、又はアマゾンウェブサービス)に一元的に保管されてよい。場合によっては、操作者が、クラウドにあるレポート及び/又はデータにアクセスして、関連する品質グレード付け又は検査指標を取得してよい。そのようなシステム及び方法を用いることで、操作者は、データサイエンスのスキル、或いは他のソフトウェア(例えば、ジュパイター(Jupyter))の知識が全くなくても、(例えば、QCに関する)操作者にとって有用な情報を得ることができる。場合によっては、操作者は、自分の領域の知識を用いて、レポート内のグレード及び/又はクラウド内のデータを精査して(迅速且つ容易に)追加、削除、及び/又は編集することが可能である。場合によっては、能動的学習に使用される更新されたレポート及び/又はデータ(これは、例えば、操作者によって追加、削除、又は編集された、改訂されたグレード及び/又は他のラベル情報を含む)が自動的に一元化クラウドデータベースに保管されてよい。そしてその新しい情報が、顧客(又は操作者、又は所有者)のシステムの1つ以上に対する新しいAIモデルトレーニングをトリガすることが可能である。又、クラウドにアーカイブされているデータを使用して、(例えば、数時間、数日、数か月、又は数年の)時間に対する履歴トレンドを示すことが可能である。場合によっては、クラウドにあるレポート及び/又はデータから集計レポートが作成されてよく、例えば、複数の光学検査システム(及び/又はライン、及び/又は設備)からのデータをまとめた集計レポート、或いは、(例えば、システム、場所等で)フィルタリングされたデータを含む集計レポートが作成されてよい。
【0080】
光学検査方法
【0081】
本開示全体にわたって、移動物体用の光学検査システムに関するシステム及び方法について述べている。本明細書に記載の光学検査システム(例えば、図1~5に示したシステム)は、移動物体の光学検査の方法を実施することに使用されてよい。
【0082】
幾つかの実施形態では、移動物体の光学検査の方法は以下のステップを含む。例えば、以下の方法は、図1、2、及び/又は4に示したシステムを使用して実施されてよい。第1の画像キャプチャ装置が、動いている物体の画像を取得してよい。第1の画像キャプチャ装置と結合された第1の第1段階ストレージシステムが、第1の画像キャプチャ装置からの画像を記憶してよい。第1の第1段階ストレージシステムと結合された第1の第2段階プロセッサが、第1の画像キャプチャ装置からの画像を解析してよい。第2の画像キャプチャ装置が、その動いている物体の画像を取得してよい。第2の画像キャプチャ装置と結合された第2の第1段階ストレージシステムが、第2の画像キャプチャ装置からの画像を記憶してよい。第2の第1段階ストレージシステムと結合された第2の第2段階プロセッサが、第2の画像キャプチャ装置からの画像を解析してよい。第1及び第2の第2段階プロセッサと結合された第2段階ストレージシステムが、第1及び第2の第2段階プロセッサからの画像及び/又は情報を記憶してよい。第2段階ストレージシステムと結合された第3段階プロセッサが、第2段階プロセッサ及び第2段階ストレージシステムからの情報を処理してレポートを生成してよい。第3段階プロセッサと結合された第3段階ストレージシステムが、第3段階プロセッサからの画像及び情報を記憶してよい。
【0083】
幾つかの実施形態では、移動物体の光学検査の方法は以下のステップを含む。例えば、以下の方法は、図1、3、及び/又は5に示したシステムを使用して実施されてよい。第1の画像キャプチャ装置が、動いている物体の画像を取得してよい。第1の画像キャプチャ装置と結合された第1の揮発性メモリシステムが、第1の画像キャプチャ装置からの画像を記憶してよい。第1の揮発性メモリシステムと結合された第1の第2段階プロセッサが、第1の画像キャプチャ装置からの画像を解析してよい。第2の画像キャプチャ装置が、その動いている物体の画像を取得してよい。第2の画像キャプチャ装置と結合された第2の揮発性メモリシステムが、第2の画像キャプチャ装置からの画像を記憶してよい。第2の揮発性メモリシステムと結合された第2の第2段階プロセッサが、第2の画像キャプチャ装置からの画像を解析してよい。第1及び第2の第2段階プロセッサと結合された第3の第2段階プロセッサが、第1及び第2の第2段階プロセッサからの情報を処理してよい。第3の第2段階プロセッサと結合された第3段階ストレージシステムが、第3の第2段階プロセッサからの画像及び情報を記憶してよい。第3の第2段階プロセッサは、第3段階ストレージシステムに記憶されている画像及び情報を使用してレポートを生成してよい。
【0084】
本明細書に記載の光学検査システムの実施形態及び構成要素(例えば、図1~5に示したシステムに関連する実施形態及び構成要素)は、上述の、移動物体の光学検査の方法のうちの1つ以上を実施することに使用されてよい。
【0085】
本開示の発明の実施形態を詳細に参照してきた。又、本開示の発明の1つ以上の実施例を添付図面に示してきた。本明細書に記載の実施形態及び実施例のそれぞれを示してきたのは、本発明の技術を限定するためではなく説明するためである。更に、本発明の特定の実施形態を詳細に説明してきたが、当然のことながら、当業者であれば、上述の内容が理解されれば、それらの実施形態の変更、変形、及び均等物が容易に考案されよう。例えば、1つの実施形態に関して図示又は説明された特徴が別の実施形態で使用されて、更なる実施形態が得られることがあってよい。本発明対象は、添付の特許請求項及びそれらの均等物の範囲内にあるそのような修正形態及び変形形態を全て包含するものとする。当業者であれば、添付の特許請求項においてより具体的に記載されている本発明の範囲から逸脱しない限り、本発明のそれら及び他の修正形態及び変形形態を実施されよう。更に、当業者であれば理解されるように、上述の説明はあくまで例であり、本発明の限定を意図するものではない。
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図8A
図8B
【国際調査報告】