(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-21
(54)【発明の名称】オフサルミックレンズの像の取得及び検査
(51)【国際特許分類】
G01M 11/00 20060101AFI20240814BHJP
G06T 7/00 20170101ALI20240814BHJP
G06V 10/82 20220101ALI20240814BHJP
G01N 21/958 20060101ALI20240814BHJP
G02C 13/00 20060101ALI20240814BHJP
【FI】
G01M11/00 L
G06T7/00 610Z
G06V10/82
G01N21/958
G02C13/00
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2024504241
(86)(22)【出願日】2022-04-13
(85)【翻訳文提出日】2024-01-23
(86)【国際出願番号】 GB2022050932
(87)【国際公開番号】W WO2023007110
(87)【国際公開日】2023-02-02
(32)【優先日】2021-07-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521013611
【氏名又は名称】クーパーヴィジョン インターナショナル リミテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100098475
【氏名又は名称】倉澤 伊知郎
(74)【代理人】
【識別番号】100130937
【氏名又は名称】山本 泰史
(74)【代理人】
【識別番号】100144451
【氏名又は名称】鈴木 博子
(72)【発明者】
【氏名】ヨシダ アレクサンドラ-フロレンティーナ
(72)【発明者】
【氏名】マッカラー カースティー
【テーマコード(参考)】
2G051
2G086
2H006
5L096
【Fターム(参考)】
2G051AA90
2G051AB02
2G051BA01
2G051BA06
2G051BC01
2G051CA04
2G051CB02
2G051EB01
2G051EB10
2G051EC01
2G086FF05
2H006DA05
5L096AA02
5L096AA06
5L096BA03
5L096CA05
5L096CA17
5L096DA02
5L096EA28
5L096EA35
5L096FA02
5L096FA04
5L096FA17
5L096FA18
5L096FA64
5L096FA67
5L096FA69
5L096GA51
5L096GA59
5L096HA11
5L096JA09
5L096JA11
5L096JA16
5L096JA22
5L096KA04
5L096KA15
(57)【要約】
オフサルミックレンズの像を取得して検査するシステム及び方法では、1つ以上のカメラを用いてオフサルミックレンズの像をドライ(乾燥)状態とウェット(湿潤)状態で取得する。これらの像を前処理し、次に人工知能ネットワーク、例えば畳み込みニューラルネットワーク(CNN)に入力し、そしてレンズ欠陥のタイプが何であるかについて分析して特徴づける。人工知能ネットワークは、像上の欠陥領域を識別し、1つには欠陥領域に基づき像の各々に関する欠陥カテゴリ又は分類を出力する。
【特許請求の範囲】
【請求項1】
オフサルミックレンズを検査して分類を前記オフサルミックレンズの像に割り当てる方法であって、
a)コンピュータシステムを用いて第1の像にアクセスするステップを含み、前記第1の像は、第1のオフサルミックレンズのレンズ縁の像又はレンズ表面の像を含み、
b)前記第1の像を前記コンピュータシステムのハードウェアプロセッサ及びメモリで実行される人工知能(AI)ネットワークで処理することによって、レンズ欠陥があるかどうかについて分析すべき前記第1の像上の一領域を特定するステップを含み、
c)前記第1の像に基づいてクラス活性度マップ(CAM)を生成して、前記CAMを欠陥領域付きで出力するステップを含み、
d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を前記CAM上の前記欠陥領域にラベル付けしてラベル付けCAMを規定するステップを含み、
e)前記第1の像の分類を前記AIネットワークで生成し、そして出力して第1の分類済み像を生じさせるステップを含み、前記分類は、少なくとも1つには前記欠陥領域に基づき、前記分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである、方法。
【請求項2】
前記オフサルミックレンズの前記第1の像は、前記オフサルミックレンズが乾燥状態で支持体上に置かれたとき、又は前記オフサルミックレンズが湿潤状態で液浴内に存在しているときに取得される、請求項1記載の方法。
【請求項3】
前記複数のレンズ表面欠陥クラスは、少なくとも2つのクラスを含む、請求項1又は2記載の方法。
【請求項4】
前記複数のレンズ表面欠陥クラスは、少なくとも3つのクラスを含み、前記少なくとも3つのクラスは、Good Lens(良品レンズ)クラス、Bubble(泡入り)クラス及びScratch(傷入り)クラスを含む、請求項3記載の方法。
【請求項5】
前記第1の像は、第1のカメラによって取得され、前記第1の像は、高さピクセル値及び幅ピクセル値を有し、前記高さピクセル値及び前記幅ピクセル値は、前記第1のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項1~4のうちいずれか一に記載の方法。
【請求項6】
前記第1の像で表示された前記第1のオフサルミックレンズは、極座標系で表示される、請求項5記載の方法。
【請求項7】
前記極座標系は、直交座標系から変換されている、請求項6記載の方法。
【請求項8】
前記第1の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有する、請求項6記載の方法。
【請求項9】
前記AIネットワークを前記ラベル付けCAMによって提供される情報に基づいて再訓練し又は微調整するステップをさらに含む、請求項1~8のうちいずれか一に記載の方法。
【請求項10】
前記AIネットワークを以下のステップ、すなわち、(1)実際のクラスラベル予測がなされる前記AIネットワークの端のところの全結合ノードを除去するステップ、(2)全結合ノードを新たに初期化されたノードで置き換えるステップ、(3)前記AIネットワーク中の初期の又は頂部の畳み込み層をフリーズさせて前記AIモデルにより学習された任意の先の堅牢な特徴量が上書きされず又は破棄されないようにするステップ、(4)全結合層のみをある1つの学習率で訓練するステップ、及び(5)前記AIネットワーク中の幾つかの又は全ての畳み込み層をアンフリーズし、そして比較的小さな学習率で同一のデータセット又は新たなデータセットを用いて追加の訓練を実施するステップのうちの少なくとも1つを実施することによって前記AIネットワークを再訓練し又は微調整するステップをさらに含む、請求項9記載の方法。
【請求項11】
前記第1の像は、レンズ縁像であり、前記方法は、第2の像に前記コンピュータシステムでアクセスするステップをさらに含み、前記第2の像は、前記第1のオフサルミックレンズのレンズ表面像である、請求項1~10のうちいずれか一に記載の方法。
【請求項12】
前記第2の像は、第2のカメラによって取得され、前記第2の像は、高さピクセル値及び幅ピクセル値を有し、前記第2の像の前記高さピクセル値と前記幅ピクセル値は、前記第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項11記載の方法。
【請求項13】
レンズ表面欠陥、レンズ縁欠陥、又は前記レンズ表面欠陥と前記レンズ縁欠陥の両方を分類して、前記レンズ表面欠陥クラス、前記レンズ縁欠陥クラス、又はこれら両方のクラスを生成するステップをさらに含む、請求項1~12のうちいずれか一に記載の方法。
【請求項14】
前記レンズを分類する前記ステップは、前記アクセスステップの実施前に実施される、請求項13記載の方法。
【請求項15】
前記CAMは、最後の畳み込み層の出力に基づいてコンピュータ計算される、請求項1~14のうちいずれか一に記載の方法。
【請求項16】
前記第1の像は、前処理後の像であり、前記CAMは、外挿され、前記前処理された第1の像上に重ね合わされる、請求項15記載の方法。
【請求項17】
オフサルミックレンズのレンズ像を分類するシステムであって、
少なくとも1つのハードウェアプロセッサと、
前記少なくとも1つのハードウェアプロセッサによって実行されると、前記少なくとも1つのハードウェアプロセッサを次のステップを実行させる命令が記憶されたメモリとを含み、前記ステップは、
a)前記メモリから第1の像にアクセスするステップを含み、前記第1の像は、第1のオフサルミックレンズのレンズ縁像又はレンズ表面像を含み、
b)前記メモリから訓練済み畳み込みニューラルネットワーク(CNN)にアクセスするステップを含み、前記訓練済みCNNは、前記オフサルミックレンズの各々が良好なレンズであるか、又は少なくとも1つのレンズ欠陥を有するかオフサルミックレンズのレンズ像について訓練されており、
c)前記第1の像に基づいてクラス活性度マップ(CAM)を生成し、前記CAMを欠陥領域付きで出力するステップを含み、
d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を前記CAM上の前記欠陥領域にラベル付けしてラベル付けCAMを規定するステップを含み、
e)前記第1の像に関する分類を生成し、そして出力するステップを含み、前記分類は、少なくとも1つには前記欠陥領域に基づき、前記分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである、システム。
【請求項18】
前記第1の像には、関心のある領域周りにバウンディングボックスがラベル付けされ、前記第1の像上の前記関心領域周りの前記バウンディングボックスは、前記ラベル付きCAMに基づいている、請求項17記載のシステム。
【請求項19】
オフサルミックレンズを検査して、分類を前記オフサルミックレンズの像に割り当てる方法であって、
a)前記第1の像をハードウェアプロセッサで実行される人工知能(AI)ネットワークで処理することによって、レンズ欠陥があるかどうかについて分析すべき前記第1の像上の一領域を特定するステップを含み、
b)前記第1の像に基づいてCAMを生成して、前記CAMを欠陥領域付きで出力するステップを含み、
c)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を前記CAM上の前記欠陥領域にラベル付けしてラベル付けCAMを規定するステップを含み、
d)前記第1の像に関する分類を前記AIネットワークで生成して出力するステップを含み、前記分類は、少なくとも1つには前記欠陥領域に基づき、前記分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つであり、
e)前記第2の像を前記ハードウェアプロセッサで実行された前記人工知能(AI)ネットワークで処理することにより、レンズ欠陥があるかどうかについて分析する領域を第2の画像上で特定するステップを含む、方法。
【請求項20】
前記AIネットワークは、クラウド(Cloud)上、前記第1の像及び前記第2の像が記憶された記憶装置を含むコンピュータシステム上、又は第1の像及び第2の像が記憶されていない記憶装置を含むコンピュータシステム上に常駐している、請求項19記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示(本発明)は、一般に、レンズ検査システム、特に、人工知能を用いてオフサルミックレンズの像を評価してこれら像を種々のレンズ欠陥カテゴリ又はクラスに従って分類するレンズ検査システムに関する。
【背景技術】
【0002】
人工知能(AI)、例えば機械学習(マシンラーニング:ML)は、検査正確度、像(画像)の特徴づけ又は分類速度、及び広範なタスク及びアプリケーションのための像解釈の向上において著しい成功を実証した。機械学習は、ほぼ全ての産業界で用いられている。機械学習は、人々の仕事量を最小限に抑えるのを助けており、と言うのは、機械は、人間の仕事の大部分を高性能で実行することができるからである。機械は、予測分析、例えば分類や回帰(数値の予測)及びインテリジェンスと動態的解釈を必要とする車の運転のようなタスクを行うことができる。
【0003】
機械学習では、データを機械に提供して機械が当該データからパターンを学習することができるようになっており、次に機械は、同様な将来の問題のソリューション(解)を予測することができる。コンピュータビジョンは、画像に関連するタスクに焦点を合わせた人工知能の一分野である。コンピュータビジョンと組み合わせた深層学習(ディープラーニング)は、画像の分類から天文学に関する科学的問題の解決や、自動運転車の構築までの範囲にわたる複雑な作業を実行することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、多くの深層学習ネットワークは、十分な精度で画像を処理したり、適切なパラメータで訓練したりすることができず、高速の大規模設定での利用を保証できない。さらに他の設定では、深層学習のルーチンは、画像内の領域を区別するのに十分な感度を備えていなかったり、特定の大規模製造オペレーションで実装するのに適したパラメータ適応がなかったりする。
【課題を解決するための手段】
【0005】
本発明の諸観点は、レンズを検査し、そして人工知能(AI)モデルを用いて1つ以上の像上に見受けられた種々の欠陥を表す欠陥クラスを出力するシステム及び方法を含む。例示の実施形態では、本発明のレンズ検査システムにより検査される各レンズ又は複数のオフサルミックレンズ又はコンタクトレンズに関するレンズ縁像及びレンズ表面像を、縁像データセット及び表面像データセットに分離するシステム及び方法が提供される。2つの互いに異なるデータセットを2つの異なるAIモデルで処理し、画像に写り込んでいる欠陥があればかかる欠陥を予測し、次に各欠陥のクラス又はタイプに基づいて欠陥を出力する。
【0006】
例示の実施形態では、コンタクトレンズの像を分析して分類するためにAIモデルとして畳み込みニューラルネットワーク(CNN)を用いる。好ましいCNNモデルは、VGG16 ネット及びVGG19 ネットモデルを含み、これらは、レンズの像に基づいてレンズ欠陥クラスを分析して分類するために再訓練されるのがよい。レンズ縁像を分析して分類するために「縁」AIモデルを用いるとともにレンズ表面像を分析して分類するために「表面」AIモデルを用いることが好ましいが、本発明の諸観点は、同一AIモデルを訓練して同一画像上にレンズ縁及びレンズ表面の両方について分析してこれらについての欠陥があるかどうかを予測することを想定している。例えば、イメージングシステムは、大きな被写界深度及び大きな口径又は大きなF値を有するのがよく、そしてレンズ縁とレンズ表面の両方に焦点が位置した状態で像を捕捉するのがよく、かくして、単一のAIモデルは、同一像内のレンズ縁欠陥、レンズ表面欠陥、又は両方の欠陥タイプを分析して予測することができる。
【0007】
本発明の別の観点は、像テンプレートに基づくいつでも入力可能な状態にある像の調製を含む。一例として、データセットが8台のカメラから撮影された画像を含む場合、カメラの距離と各カメラの焦点距離のばらつきを考慮して、8つの画像テンプレートを作成することができる。訓練用画像及び本番画像は、生の画像内のレンズ領域を特定するために用いられるテンプレートに基づいて、リサイズなどの正規化を行うことができる。幾つかの実施例では、訓練像及び本番画像は、テンプレートを使用しないでサイズ設定し直されるのがよい。
【0008】
本発明のさらに別の観点では、互いに異なる畳み込み層の中間活性度をクラス活性度マップ(CAM)として知られている像として可視化し、例えば出力する。CAM像は、モデルの最終的な出力に影響を及ぼし又はこれに貢献するためにモデルによって用いられた像の互いに異なる領域を示している。訓練中、CAMは、訓練者によって用いられるのがよく、それによりモデルの性能を評価し、そして必要ならば、モデルに対して補正を行い、例えば追加の層をロックし又はアンロックし、追加の訓練用像を使用するなどするのがよい。生成した像は、ヒートマップとして提供されるのがよく、そしてバウンディングボックスで注釈がつけられるのがよく、それにより関心領域を一層容易に伝えることができるようにする。
【0009】
本発明の他の観点は、オフサルミックレンズを検査して分類をオフサルミックレンズの像に割り当てる方法に関する。本方法は、a)コンピュータシステムを用いて第1の像にアクセスするステップを含むのがよく、第1の像は、第1のオフサルミックレンズのレンズ縁の像又はレンズ表面の像を含み、b)第1の像をコンピュータシステムのハードウェアプロセッサ及びメモリで実行される人工知能(AI)ネットワークで処理することによって、レンズ欠陥があるかどうかについて分析すべき第1の像上の一領域を特定するステップを含むのがよく、c)第1の像に基づいて第1の中間活性度像を生成して、この第1の中間活性度像を欠陥領域付きで出力するステップを含むのがよく、d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を用いて第1の中間活性度像上の欠陥領域にラベル付けしてラベル付け中間活性度像を規定するステップを含むのがよく、e)第1の像の分類をAIネットワークで生成し、そして出力して第1の分類済み像を生じさせるステップを含むのがよく、分類は、少なくとも1つには欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである。
【0010】
レンズの像の欠陥領域は、像の残りの領域とは別個のピクセル強度を備えた像上の領域によって表示できる。欠陥領域にヒートマップ及び/又はバウンディングボックスでラベル付けするのがよい。
【0011】
AIネットワーク又はモデルは、像分類のための畳み込みニューラルネットワーク(CNN)、特に、想定される像処理のための他のディープニューラルネットワークを含むVGG Net、例えばLeNet、AlexNet、GoogLeNet/Inception、及びResNet、ZFNetであるのがよい。
【0012】
オフサルミックレンズの第1の像をオフサルミックレンズが支持体上に乾燥状態で置かれているときに取得することができる。一例では、支持体は、サファイア材料で作られるのがよい。
【0013】
変形例として、オフサルミックレンズの第1の像をオフサルミックレンズが液浴、例えば、移送トレイ又はブリスターパック内に湿潤状態で置かれているときに取得してもよい。液浴は、生理食塩水であるのがよい。
【0014】
複数のレンズ表面欠陥クラスは、少なくとも2つのクラス、少なくとも3つのクラス、又はそれ以上のクラスから成ることができる。他の例では、クラスは、少なくとも8つのクラスを含むことができ、これら少なくとも8つのクラスは、良品レンズのクラスを含むのがよい。
【0015】
表面モデルの少なくとも2つのクラスは、Good Lens(良品レンズ)クラスとBad Lens(粗悪品レンズ)クラスを含むのがよい。少なくとも3つのクラスは、Good Lensクラス、Bubble(気泡入り)クラス、及びScratch(傷入り)クラスを含むのがよい。8つのクラスがレンズ欠陥を分類するために用いられる場合、これらクラスは、“Brains”(ヒトの脳に似た形態)、Bubble”、Debris”(デブリ)、Dirty sapphire”(汚れた状態のサファイア)、“Double lens”(二重レンズ)、“Good lens”(良品レンズ)“Scratch”(傷入り)、及び“Void”(ボイドあり)を含むのがよい。しかしながら、表面モデルは、8つ以上又は8つ以下の表面欠陥タイプについて訓練されるのがよい。例えば、表面モデルは、レンズなし像、つまみ状態のレンズあり像、小さすぎるレンズあり像、大きすぎるレンズあり像、及び/又は偏心度が大きすぎるレンズあり像で訓練されるのがよい。クラスの数は、上記において列挙したクラスの任意の数の組み合わせを含むことができる。
【0016】
AIネットワークにより出力される分類は、テキスト、数字、又は英数字識別子であるのがよい。
【0017】
第1の像は、第1のカメラによって取得されるのがよく、第1の像は、高さピクセル値及び幅ピクセル値を有し、高さピクセル値及び幅ピクセル値は、第1のカメラによって取得されたテンプレート像に基づいてサイズ設定される。
【0018】
第1の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有するのがよい。
【0019】
第1の像は、2つの追加の同一像を有するのがよく、第1の像及び2つの追加の同一の像は、3チャンネル像を定める。
【0020】
第1の像は、レンズ中心を有するのがよく、レンズ中心は、第1の像の左上隅に対して定められるのがよい。
【0021】
第1の像で表される第1のオフサルミックレンズは、極座標系又は直交座標系で表示できる。
【0022】
極座標系は、直交座標系から変換されるのがよい。
【0023】
第1の像は、元の像を回転させることによって作られるのがよい。
【0024】
第1の像は、元の像を旋回させることによって、元の像をわずかな量だけズームイン又はズームアウトすることによって、元の像の光強度を調整することによって、又はこれらを組み合わせることによって作られるのがよい。旋回は、90゜刻みで又は異なる角度回転量で実施されるのがよい。
【0025】
本方法は、AIネットワークをラベル付け中間活性度像によって提供される情報に基づいて再訓練し又は微調整するステップをさらに含むのがよい。
【0026】
第1の像は、レンズ縁像であるのがよく、本方法は、第2の像にコンピュータシステムでアクセスするステップをさらに含むのがよく、第2の像は、第1のオフサルミックレンズのレンズ表面像である。
【0027】
第2の像は、第2のカメラによって取得されるのがよく、第2の像は、高さピクセル値及び幅ピクセル値を有するのがよく、第2の像の高さピクセル値と幅ピクセル値は、第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される。
【0028】
第2の像は、2つの追加の同一の像を有するのがよく、第2の像及び2つの追加の同一の像は、3チャンネル(three-channel)像を定める。
【0029】
第2の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有するのがよい。
【0030】
本方法は、第2の像に基づいて第2の中間活性度像を生じさせて、第2の中間活性度像を欠陥領域付きで出力するステップをさらに含むのがよい。
【0031】
本方法は、ヒートマップ及びバウンディングボックスのうちの少なくとも1つを用いて第2の中間活性度像上の欠陥領域にラベル付けして第2のラベル付け中間活性度像を定めるステップをさらに含むのがよい。幾つかの例では、分析され又は訓練されるべき複数の像の各々について、元の像上の欠陥領域は、例えばバウンディングボックスによってラベル付けされ、又は欠陥領域の輪郭を強調することによってラベル付けされる。ラベル付けされた元の像は、訓練のため、表示のため、マーケティングなどのために使用できる。
【0032】
第2のラベル付け中間活性度像は、AIネットワークを再訓練し又は微調整するよう使用できる。
【0033】
本方法は、第2の像についての分類をAIネットワークで生成して出力するステップをさらに含むのがよく、分類は、少なくとも1つには欠陥領域に基づいており、分類は、複数のレンズ表面欠陥クラスのうちの1つである。
【0034】
複数のレンズ縁欠陥クラスは、少なくとも2つのクラス、少なくとも3つのクラス、又はそれ以上のクラスから成ることができる。他の例では、クラスは、少なくとも8つのクラスを含むことができ、これら少なくとも8つのクラスは、良品レンズのクラスを含むのがよい。
【0035】
本方法は、第1の分類された像の分類を、前処理された像、手動で検査されてグランドトゥルース(正解)として識別され、第1の分類された像を生成する元となる第1の像の元の像と比較するステップをさらに含むのがよい。複数のレンズ表面欠陥クラスのうちの1つ、複数のレンズ縁欠陥クラスのうちの1つ、又はレンズ表面欠陥クラスとレンズ縁欠陥クラスの両方で分類された第1の像の前処理像又は元の像の手動検査が行われる。
【0036】
縁モデルに関する少なくとも2つのクラスは、Good LensクラスとBad Lensクラスを含むのがよい。縁モデルに関する少なくとも3つのクラスは、Good Lensクラス、Bubbleクラス、及びScratchクラスを含むのがよい。追加のクラス、又は4つ以上の縁クラスを訓練し、縁モデルをレンズなし像、縁割れあり像、つまみ状態のレンズあり像、縁にチップのある像、小さすぎるレンズ付き像、大きすぎるレンズ付き像、及び/又は偏心度が大きすぎるレンズ付き像で訓練されるのがよい。クラスの数は、上記において列挙したクラスの任意の数の組み合わせを含むことができる。
【0037】
本発明のさらに別の観点は、オフサルミックレンズのレンズ像を分類するシステムを含む。オフサルミックレンズのレンズ像を分類するシステムは、少なくとも1つのハードウェアプロセッサと、少なくとも1つのハードウェアプロセッサによって実行されると、少なくとも1つのハードウェアプロセッサを次のステップを実行させる命令が記憶されたメモリとを含むのがよく、かかるステップは、a)メモリから第1の像にアクセスするステップを含み、第1の像は、第1のオフサルミックレンズのレンズ縁像又はレンズ表面像を含み、b)メモリから訓練済み畳み込みニューラルネットワーク(CNN)にアクセスするステップを含み、訓練済みCNNは、オフサルミックレンズの各々が良好なレンズであるか、又は少なくとも1つのレンズ欠陥を有するかオフサルミックレンズのレンズ像について訓練されており、c)第1の像に基づいて中間活性度像を生成し、この中間活性度像を欠陥領域付きで出力するステップを含み、d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を中間活性度像上の欠陥領域にラベル付けしてラベル付け中間活性度像を規定するステップを含み、e)第1の像に関する分類を生成し、そして出力し、分類は、少なくとも1つには欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである。
【0038】
中間活性度像又はCAMをCNNモデルの最後の畳み込み層の出力から取り出すことができる。中間活性度像を、中間活性度像の欠陥領域をラベル付けする前に第1の像上に重ね合わせるのがよい。一例では、中間活性度像は、最後の畳み込み層の出力として作られた最後の中間像であり、これは、クラス活性度マップ又はCAMと呼ぶ場合がある。
【0039】
本発明の別の観点は、オフサルミックレンズを検査して分類をオフサルミックレンズの像に割り当てる方法であって、a)第1の像にコンピュータシステムでアクセスするステップを含み、第1の像は、第1のオフサルミックレンズのレンズ縁像又はレンズ表面像を含み、b)第1の像をコンピュータシステムのハードウェアプロセッサ及びメモリで実行される人工知能(AI)ネットワークで処理することによって、レンズ欠陥があるかどうかについて分析すべき第1の像上の一領域を特定するステップを含み、c)第1の像に基づいてクラス活性度マップ(CAM)を生成して、CAMを欠陥領域付きで出力するステップを含み、d)CAM上の欠陥領域にヒートマップ及びバウンディングボックス(外接矩形)のうちの少なくとも一方を用いてラベル付けして、ラベル付けCAMを既定するステップを含み、e)第1の像に関する分類をAIネットワークで生成し、そして出力し、第1の分類された像を生じさせるステップを含み、分類は、少なくとも一部は欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つであることを特徴とする方法を含む。
【0040】
オフサルミックレンズの第1の像は、オフサルミックレンズが乾燥状態で支持体上に置かれたときに取得されるのがよい。
【0041】
オフサルミックレンズの第1の像は、オフサルミックレンズが湿潤状態で液浴内に存在しているときに取得されるのがよい。
【0042】
複数のレンズ表面欠陥クラスは、少なくとも2つのクラスを含むのがよい。
【0043】
複数のレンズ表面欠陥クラスは、少なくとも3つのクラスを含むのがよく、少なくとも3つのクラスは、Good Lens(良品レンズ)クラス、Bubble(気泡入り)クラス及びScratch (傷入り)クラスを含む。
【0044】
AIネットワークにより出力される分類は、テキスト、数字、又は英数字識別子であるのがよい。
【0045】
第1の像は、第1のカメラによって取得されるのがよく、第1の像は、高さピクセル値及び幅ピクセル値を有するのがよく、高さピクセル値及び幅ピクセル値は、第1のカメラによって取得されたテンプレート像に基づいてサイズ設定されるのがよい。
【0046】
第1の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有するのがよい。
【0047】
第1の像は、2つの追加の同一像を有するのがよく、第1の像及び2つの追加の同一の像は、3チャンネル像を定めるのがよい。
【0048】
第1の像は、レンズ中心を有するのがよく、レンズ中心は、第1の像の左上隅に対して定められるのがよい。
【0049】
第1の像で表示された第1のオフサルミックレンズは、極座標系で表示されるのがよい。
【0050】
極座標系は、直交座標系から変換されるのがよい。
【0051】
第1の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有するのがよい。
【0052】
第1の像は、元の像から回転後のものであるのがよい。
【0053】
第1の像は、元の像から旋回後のものであるのがよい。
【0054】
本方法は、AIネットワークをラベル付けCAMによって提供される情報に基づいて再訓練し又は微調整するステップをさらに含むのがよい。
【0055】
本方法は、AIネットワークを以下のステップ、すなわち、(1)実際のクラスラベル予測がなされるAIネットワークの端のところの全結合ノードを除去するステップ、(2)全結合ノードを新たに初期化されたノードで置き換えるステップ、(3)AIネットワーク中の初期の又は頂部の畳み込み層をフリーズさせてAIモデルにより学習された任意の先の堅牢な特徴量が上書きされず又は破棄されないようにするステップ、(4)全結合層のみをある1つの学習率で訓練するステップ、及び(5)AIネットワーク中の幾つかの又は全ての畳み込み層をアンフリーズし、そして比較的小さな学習率で同一のデータセット又は新たなデータセットを用いて追加の訓練を実施するステップのうちの少なくとも1つを実施することによって、AIネットワークを再訓練し又は微調整するステップをさらに含むのがよい。
【0056】
第1の像は、第1のオフサルミックレンズのレンズ縁像であり、コンピュータシステムによってアクセスされる第2の像は、第1のオフサルミックレンズのレンズ表面像であるのがよい。
【0057】
第2の像は、第2のカメラによって取得されるのがよく、第2の像は、高さピクセル値及び幅ピクセル値を有し、第2の像の高さピクセル値と幅ピクセル値は、第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される。
【0058】
第2の像は、2つの追加の同一像を有するのがよく、第2の像及び2つの追加の同一の像は、3チャンネル像を定める。
【0059】
第2の像は、第1の組をなすピクセル強度から反転された第2の組をなすピクセル強度を有するのがよい。
【0060】
CAMは、第1のCAMであるのがよく、CAMは、第2の像に基づいて第2のCAMを生成し、第2のCAMを欠陥領域付きで出力するステップを含むのがよい。
【0061】
本方法は、第2のCAM上の欠陥領域にヒートマップ及びバウンディングボックスのうちの少なくとも一方をラベル付けしてラベル付けCAMを規定するステップをさらに含むのがよい。
【0062】
第2のラベル付けCAMを用いてAIネットワークを再訓練し又は微調整するのがよい。
【0063】
本方法は、第2の像の分類をAIネットワークで生成して出力するステップをさらに含むのがよく、分類は、少なくとも1つには欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである。
【0064】
複数のレンズ表面欠陥クラスは、少なくとも3つのクラスを含むのがよい。
【0065】
少なくとも3つのクラスは、Good Lens(良品レンズ)クラス、Bubble(気泡入り)クラス及びScratch(傷入り)クラスを含むのがよい。
【0066】
本方法は、レンズ表面欠陥、レンズ縁欠陥、又はレンズ表面欠陥とレンズ縁欠陥の両方を分類して、レンズ表面欠陥クラス、レンズ縁欠陥クラス、又はこれら両方のクラスを生成するステップをさらに含むのがよい。
【0067】
レンズを分類するステップは、アクセスステップの実施前に実施されるのがよい。
【0068】
レンズを分類するステップは、手動で実施されるのがよい。
【0069】
第1の像には、関心のある領域周りにバウンディングボックスがラベル付けされ、第1の像上の関心領域周りのバウンディングボックスは、ラベル付き中間活性度像に基づくのがよい。
【0070】
CAMは、最後の畳み込み層の出力に基づいてコンピュータ計算されるのがよい。
【0071】
第1の像は、前処理後の像であるのがよく、CAMは、外挿されて、前処理された第1の像上に重ね合わされるのがよい。
【0072】
本発明の別の観点は、オフサルミックレンズのレンズ像を分類するシステムであって、少なくとも1つのハードウェアプロセッサと、少なくとも1つのハードウェアプロセッサによって実行されると、少なくとも1つのハードウェアプロセッサを次のステップを実行させる命令が記憶されたメモリとを含み、かかるステップは、a)メモリから第1の像にアクセスするステップを含み、第1の像は、第1のオフサルミックレンズのレンズ縁像又はレンズ表面像を含み、b)メモリから訓練済み畳み込みニューラルネットワーク(CNN)にアクセスするステップを含み、訓練済みCNNは、オフサルミックレンズの各々が良好なレンズであるか、又は少なくとも1つのレンズ欠陥を有するオフサルミックレンズのレンズ像について訓練されており、c)第1の像に基づいてクラス活性度マップ(CAM)を生成し、CAMを欠陥領域付きで出力するステップを含み、d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方をCAM上の欠陥領域にラベル付けしてラベル付けCAMを規定するステップを含み、e)第1の像に関する分類を生成し、そして出力するステップを含み、分類は、少なくとも1つには欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つである。
【0073】
本発明のさらにもう一つの観点は、オフサルミックレンズを検査して、分類をオフサルミックレンズの像に割り当てる方法であって、a)第1の像をハードウェアプロセッサで実行される人工知能(AI)ネットワークで処理することによって、レンズ欠陥があるかどうかについて分析すべき第1の像上の一領域を特定するステップを含み、b)第1の像に基づいてCAMを生成して、CAMを欠陥領域付きで出力するステップを含み、c)ヒートマップ及びバウンディングボックスのうちの少なくとも一方をCAM上の欠陥領域にラベル付けしてラベル付けCAMを規定するステップを含み、d)第1の像に関する分類をAIネットワークで生成して出力するステップを含み、分類は、少なくとも1つには欠陥領域に基づき、分類は、複数のレンズ表面欠陥クラスのうちの1つ又は複数のレンズ縁欠陥クラスのうちの1つであり、e)第2の像をハードウェアプロセッサで実行された人工知能(AI)ネットワークで処理することにより、レンズ欠陥があるかどうかについて分析する領域を第2の画像上で特定するステップを含むことを特徴とする方法である。
【0074】
AIネットワークは、クラウド(Cloud)上、第1の像及び第2の像が記憶された記憶装置を含むコンピュータシステム上、又は第1の像及び第2の像が記憶されていない記憶装置を含むコンピュータシステム上に常駐するのがよい。
【0075】
本発明の装置、システム、及び方法のこれらの特徴及び利点、ならびに他の特徴及び利点は、明細書、特許請求の範囲、及び添付の図面を参照して本発明を良好に理解した状態になると認識された状態になる。
【図面の簡単な説明】
【0076】
【
図1】本発明の諸観点によるレンズ検査システムの一構成例の略図である。
【
図2】コンピュータシステムを用いた本発明の一構成例のもう1つの略図である。
【
図3】レンズの欠陥を識別し、そして欠陥のクラス及びオプションとしてラベル付けされた中間活性度像を出力する本発明の一構成例を示すフローチャートである。
【
図4A】元の像を垂直方向に反転して2つの像を生成することによる例示の像強調を示す図である。
【
図4B】元の像を水平方向に反転させて元の像から第3の像を生成することによる例示の像強調を示す図である。
【
図5】訓練用データセット、検証用データセット、及び本番データセットを作りだすことができる元となるテンプレートを生成する本発明の一構成例を示すフローチャートである。
【
図6】レンズ表面欠陥像を前処理してコンピュータシステムのためのいつでも入力可能な像を生成する一構成例を示すフローチャートである。
【
図7】レンズ縁像を前処理してコンピュータシステムのためのいつでも入力可能な像を生成する一構成例を示すフローチャートである。
【
図8】レンズを直交座標系で示す像を示す図である。及びこの像を極座標系に変換した像を示す図である。
【
図9】レンズ縁の内側と外側の像を得るために切り出されている極座標系で表されている像を示す図である。
【
図10】第1の組をなす像強度から第2の組をなす像強度に反転された
図9の切り出し像を示す図である。
【
図11】AIネットワーク、特に畳み込みニューラルネットワーク(CNN)の略図である。
【
図12】各層の入力形状及び出力形状と一緒にCNNの「表面」モデルの概念ブロック図である。
【
図13】各層の入力形状及び出力形状と一緒に「縁」モデルの概念ブロック図である。
【
図14】事前訓練済みCNNモデルの転移訓練に用いられる例示の設定を示す図である。
【
図14A】本発明のCNNモデルの例示の転移訓練プロトコルを示すフローチャートである。
【
図15】訓練用データセットと検証用データセットの両方に関するエポックの範囲にわたって正確度がどのように変化するかを示す図である。
【
図16】訓練用データセット及び検証用データセットの訓練エポックに関する損失関数の出力を示すグラフ図である。
【
図17】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図18】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図19】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図20】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図21】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図22】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図23】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図24】広くは物理的欠陥を含むレンズ表面欠陥の8つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図25】広くは物理的欠陥を含むレンズ縁欠陥の3つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図26】広くは物理的欠陥を含むレンズ縁欠陥の3つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図27】広くは物理的欠陥を含むレンズ縁欠陥の3つの互いに異なるクラス又はカテゴリ、ならびに良好なレンズのうちの1つを表す像を示す図である。
【
図28】訓練用データセットに関する予測とグランドトゥルース(正解)に関する表形式の一覧を示す図である。
【
図29】訓練用データセットに対する本発明の表面モデルの性能メトリクスを示すために表形式で作表されたデータを示す図である。
【
図30】本発明の「縁」モデルについての訓練用データセットに関する予測とグランドトゥルースに関する表形式で示された一覧を示す図である。
【
図31】訓練用データセットに対する本発明の縁モデルの性能メトリクスを示すために表形式で作表されたデータを示す図である。
【
図32】別のCNNを用いて各層の出力形状と一緒に「縁」モデルの概念ブロックを示す図である。
【
図33】モデルに追加されたドロップアウト層を示す図である。
【
図34】
図12のモデルに追加された追加の畳み込み層を示す図であり、ドロップアウト層が追加されていない状態を示す図である。
【
図35】前処理段階のレンズ領域切り出しステップの出力の例として3つの像を示す図である。
【
図36A】
図35の3つの入力像に関して、本発明のCNNモデルの第1の畳み込みブロックの第1の畳み込み演算の64チャンネル出力の3つの互いに異なる組のうちの1つを示す図である。
【
図36B】
図35の3つの入力像に関して、本発明のCNNモデルの第1の畳み込みブロックの第1の畳み込み演算の64チャンネル出力の3つの互いに異なる組のうちの1つを示す図である。
【
図36C】
図35の3つの入力像に関して、本発明のCNNモデルの第1の畳み込みブロックの第1の畳み込み演算の64チャンネル出力の3つの互いに異なる組のうちの1つを示す図である。
【
図38】“Bubble”表面欠陥像に関する前処理された像上に重ね合わされた最終の予測クラスのCAMを示す図である。
【
図39】“Scratch”表面欠陥像に関する前処理された像上に重ね合わされた最終の予測クラスのCAMを示す図である。
【
図40A】同一の画像についての“Scratch”カテゴリに関するCAM像を示す図であるが、一訓練プロトコル下で示す図である。
【
図40B】同一の画像についての“Scratch”カテゴリに関するCAM像を示す図であるが、別の訓練プロトコル下で示す図である。
【
図41】
図41(A)は、バウンディングボックスで前処理された像上に重ね合わされた最終の予測クラスのCAMを含む前処理済み像を示し、
図41(B)は、2つのバウンディングボックス及びバウンディングボックスで前処理された像上に重ね合わされた最終の予測クラスのCAMを含む前処理済み像を示す図である。
【
図42】“Debris”を有するレンズのレンズ表面像の一例を示す図である。
【
図43】表形式で示されたレンズ検査システムの例示の出力を示す図であり、
図42のレンズ表面像に関する異なる欠陥クラスの確率を示す図である。
【発明を実施するための形態】
【0077】
添付の図面と関連して以下に説明する詳細な説明は、本発明の装置、システム、及び方法の諸観点に従って提供されたレンズ検査システムの現時点において好ましい実施形態についての説明として意図されており、本発明の装置、システム、及び方法を構成し又は利用することができる唯一の形態であることを示すものではない。本明細書は、本発明の装置、システム、及び方法の実施形態を図示の実施形態と関連して構成して用いる特徴及びステップを規定している。しかしながら、理解されるべきこととして、同一の又は均等な機能及び構造はまた、本発明の精神及び範囲に含まれることが意図されている異なる実施形態によって達成できる。本明細書における他の箇所で示すように、構成要素の同一の参照符号は、同一又は類似の構成要素又は特徴を示すことが意図されている。
【0078】
今、
図1を参照すると、レンズ検査システム100を示す略図が示され、レンズ検査システム100は、レンズの像を検査して、人工知能(AI)及び機械学習、例えば畳み込みニューラルネットワーク(CNN)を使用して欠陥のクラス又はカテゴリを出力することによって、レンズ、例えばコンタクトレンズ又は他のオフサルミックレンズを自動的に検査するために使用できる。レンズ検査システムをオフサルミックレンズのレンズ像を分類するシステムと称する場合がある。レンズ検査システム100は、レンズを乾燥状態、又は非水和状態で検査し、そしてレンズに関してこれらの乾燥状態で取得された像から欠陥のクラス又はカテゴリを出力するよう構成されるとともに、ハードウェア及びソフトウェアを備えている。例えば、レンズを雄型モールド部と雌型モールド部を有するモールドから分離することができ、次にレンズにクリーニング及び/又は水和に先立ってレンズの乾燥状態で検査することができる。他の実施例では、以下にさらに説明するように、レンズを溶液中のブリスターパッケージ内に入れた状態で、例えばレンズが湿潤状態にあるときに検査することができる。
【0079】
本発明の図示の実施形態では、レンズ検査システム100は、レンズをレンズモールドから取り出して、支持体、例えばサファイア結晶支持構造体上に置いた後に各レンズを検査する。レンズ検査システム100を通過したレンズは、レンズの像を取得することによって、例えば各レンズのレンズ縁とレンズ表面の両方を画像化し、次にレンズ検査システムのコンピュータ上に実装されたCNNを使用してこれら像を処理することによって、各レンズが検査される。レンズ検査システムは、CNNを使用してレンズの欠陥特徴(もしあれば)を特徴づけて、製造業者がレンズの破損モード、例えば、合格/不合格だけでなく、気泡(bubbles)、かき傷(scratches)、デブリなどの存在に起因した欠陥を理解するのを助け、それにより、製造業者は、高い収率を得るために製造プロセスを改良することができる。本発明のレンズ検査システムを用いて画像化して分析できるコンタクトレンズとしては、ソフトシリコーンハイドロゲルコンタクトレンズと従来のハイドロゲルコンタクトレンズの両方が挙げられる。
【0080】
レンズ検査システム100は、主要構成要素として、以下にさらに説明するように、CNNソフトウェアを実行する像取得サブシステム102及び像分析サブシステム104を含む。像取得サブシステム102は、各々が複数の像取得装置106を備えた1つ以上の検査ヘッド108を含み、像取得装置106は、任意の数の高解像度デジタルモノクロカメラ、例えばBasler Scout GigE scA1390-17gmデジタルカメラであるのがよく、十分な解像度及び処理速度を利用できる他の市販デジタルカメラを含む。各カメラ106は、焦点面に対して取り付け又は固定状態の作業距離から所望の視界を得るために固定焦点距離カメラレンズと共に使用されるのがよい。例示のカメラレンズは、Linos 35mm/1.6又は35mm/1.8レンズを含み、十分な焦点距離及びF値を有する他の市販の固定又は可変レンズが含まれる。幾つかの実施例では、レンズは、電圧が印加されると、形状が変化する光線液体を収容した小さなセルを含む液体レンズであるのがよく、かくして、レンズの焦点距離、及びかくしてレンズの被写界深度及び焦点を変化させることができる高速電子焦点合わせが可能であり、かくして、同じカメラは、レンズ縁像及びレンズ表面像を捕捉することができる。一般的にいって、レンズ縁、レンズ表面、又はレンズ縁とレンズ表面の両方の高画質像を生じさせるレンズとカメラの組み合わせであればどれも、本発明のシステムで採用することができる。
【0081】
本発明の図示のレンズ検査システム100では、像取得サブシステム102は、検査組立体又は検査ヘッド108について4つのグループを含む。各検査ヘッド108は、1つ以上の照明装置110又は光源、1つ以上の像取得装置又はカメラ106、検査されるべき各コンタクトレンズ116について1つずつ設けられた1つ以上の支持体114、及び少なくとも1つのオペレーティングコンピュータシステム118を有するのがよい。一実施形態では、レンズ検査システムの各検査ヘッド108は、照明装置110及び4つの像取得装置106を含み、これら像取得装置は、カメラであるのがよい。照明装置110は、1つ以上のカメラ106と共に作業光を放出するよう寸法決めされるとともに構造化された複数のLEDを備えた単一のハウジングを有するのがよい。変形例として、照明装置110は、別々のハウジングを具体化したものであってもよく、別々のハウジングは各々、分離されたハウジングと対をなすカメラ106に十分な光を提供するよう十分な数のLEDを備えている。照明装置110と像取得装置106の各組合せは、カメラが対をなす光源と光学的アライメント状態にあるよう配置される。換言すると、特定の光源から放出された光は、対をなすカメラのレンズに当たる。
【0082】
照明装置110のLEDは、光コントローラ122に作動的に連結されており、その結果、LEDは、光コントローラから信号、例えば電流パルスを受け取ってレンズが画像化されるべきときに活性度するようになっている。一例では、LEDは、NIR光をほぼ880nmのピーク波長で放出するのがよいが、他の周波数も想定される。図示の例では、1つの光コントローラは、2つの検査ヘッド108の照明装置110を作動的に制御するようプログラムされているのがよい。オプションとして、各照明装置は、照明装置の機能を制御するためにそれ自体のコントローラと対にされるのがよい。
【0083】
コンタクトレンズ支持体114は、レンズ検査システム100によって検査されるべき1つ以上のレンズ116を保持するような構造になっている。一例では、脱型台(図示せず)が軸線回りに回転する表面を備え、支持体114は、この台上に配置され、支持体は、レンズを画像化してこれらレンズをレンズ検査システム中にサイクル動作させるためにテーブルによって回転可能である。脱型台が回転すると、検査されるとともに、支持体114によって支持されるべきレンズ116の各々は、カメラ106と光源110の間を通って、カメラが検査されるべきレンズの像を得ることができるようにする。変形実施形態では、レンズは、各レンズがレンズ取り出し前に雄型モールド部又は雌型モールド部に依然として取り付けられた状態で検査される。かくして、脱型台が回転してレンズがカメラの下を通過しているとき、カメラは、レンズが雄型モールド部又は雌型モールド部に依然として取り付けられた状態でレンズの像を捕捉するよう構成されているのがよい。
【0084】
一例では、4つの検査ヘッド108の各々は、4つのカメラ106を有するが、他の数のカメラ及び対応の光源が想定される。4つの検査ヘッド108は、カメラユニット1(CU1)、カメラユニット2(CU2)、カメラユニット3(CU3)、及びカメラユニット4(CU4)として示されている場合がある。各カメラユニットの4つのカメラは、カメラ1(C1)、カメラ2(C2)、カメラ3(C3)、及びカメラ4(C4)として示されている場合がある。カメラ112は、互いに異なる視野に焦点を合わせるよう互い違いに配置されてもよく、その結果、検査ヘッド内のカメラ、例えばCU1のC1は、レンズのレンズ縁に焦点合わせすることができ、他方もう1つのカメラ、例えばCU1のC2は、第2のレンズのレンズ表面に焦点合わせすることができるようになっている。
【0085】
一例では、カメラユニットCU1及びCU2は、レンズプロフィールの類似のシーケンスを画像化するためのカメラを備えた状態で配置されるのがよく、カメラユニットCU3及びCU4は、レンズプロフィールの類似のシーケンスを画像化するためのカメラを備えた状態で配置されるのがよく、これにより、レンズ検査システム100は、撮像サイクルごとに8つの像の2つの組(すなわち、CU1及びCU2は、第1の組をなす8つの像を表し、CU3及びCU4は、第2の組をなす8つの像を表している)を捕捉することができる。
【0086】
図示のように、カメラユニットCU1及びCU2の各々は、4つの互いに異なるレンズのうちのカメラC1でレンズ縁像を捕捉し、カメラC2でレンズ表面像を捕捉し、カメラC3でレンズ縁像を捕捉し、カメラC4でレンズ表面像を捕捉するよう配置されている。次に、8つのレンズをカメラユニットCU1及びCU2で画像化した後、支持体上に配置されたレンズをカメラユニットCU3及びCU4に割り出し、これらカメラユニットCU3及びCU4は、カメラユニットCU1及びCU2で捕捉された同じ8つのレンズのレンズ縁像又はレンズ表面像の他の1つを撮像するよう互い違いに配置されたカメラ106を含む。かくして、カメラユニットCU3及びCU4の各々は、カメラユニットCU1及びCU2によって画像化された同じ対応の4つのレンズに関し、カメラC1でレンズ表面像を捕捉し、カメラC2でレンズ縁像を捕捉し、カメラC3でレンズ表面像を捕捉し、そしてカメラC4でレンズ縁像を捕捉するよう配置されている。2つの組をなす検査ヘッドCU1/CU2及びCU3/CU4は一緒になって、レンズ検査システム100によって検査されるべき各コンタクトレンズのレンズ縁像及びレンズ表面像を捕捉するよう構成されている。
【0087】
特定の例として、CU1のC1は、レンズ‐Aのレンズ縁像を撮像するよう構成され、CU1のC2は、レンズ‐Bのレンズ表面像を撮像するよう構成されている。脱型台を回転させて、CU1で捕捉したレンズをCU3に割り出すと、CU3のC1は、レンズ‐Aのレンズ表面像を撮像するよう構成され、CU3のC2は、レンズ‐Bのレンズ縁像を撮像するよう構成されている。かくして、カメラユニットは、レンズ検査システムによって検査されるべき各レンズが、このシステムによって取得された2つの像、レンズ縁像及びレンズ表面像を有するよう互い違いに配置されている。したがって、レンズ‐Aは、CU1のC1によって捕捉されたレンズ縁像及びCU3のC1によって捕捉されたレンズ表面像を有し、他方、レンズ‐Bは、CU1のC2によって捕捉されたレンズ表面像及びCU3のC2によって捕捉されたレンズ縁像を有する。捕捉した像をそれぞれ対応のカメラのメモリチップ上にローカルに記憶させる。次に、捕捉した像を1つ以上のコンピュータシステム118に、例えば捕捉した像のレンズ縁像及びレンズ表面像を分析して分類するための互いに異なるAIモデル、例えば互いに異なるCNNモデルを動作させることができるコンピュータのハードドライブに伝送する。幾つかの例では、捕捉した像を1つ以上の外部記憶装置、例えばコンピュータシステムの外部に位置するフラッシュドライブ、ポータブルハードドライブ、データディスクなどに伝送するのがよい。コンピュータ上でランするAIモデルが、次に、1つ以上の外部記憶装置からデータを引き出すのがよく、次に、このデータを処理するのがよく、例えば、記憶したレンズ像を検査して、これらレンズ像を1つ以上のレンズ欠陥カテゴリにより分類するのがよい。
【0088】
本発明の図示のレンズ検査システム100では、検査ヘッド108は、脱型設備を通過したレンズの電子又はデジタル像の取得を担っている。各検査ヘッド108は、4つのレンズ全てを一機械割り出し期間内でそのステーションのところで検査することができる。4つの検査ヘッド108は、レンズ検査システムを通過した全てのレンズの2つの像を取得する能力を提供する。
【0089】
4つの検査ヘッド108は、各レンズの互いに異なる部分の2つの別々のビュー、例えば、縁ビュー及び表面ビューを作り出すような構造になっている。2つのビューは、単一レンズの像に対応する。縁ビューでは、焦点面は、レンズの縁に一致し又はほぼ一致し、その結果、縁のところ又はその近くに位置する縁欠陥又は異常が検出可能である。レンズの縁について得られた像は、レンズ縁全体の1つの像である。換言すると、この像は、レンズ縁の単一の完全な像である。図示の実施形態では、レンズは、サファイア窓のような窓上に縁を下にした状態で検査される。
【0090】
表面ビューでは、又はレンズ表面の像に関し、カメラの焦点面は、レンズの縁の上方に位置するレンズと交差するよう持ち上げられ、その結果、表面欠陥が検出可能である。レンズの表面ビューは、レンズ表面の単一の完全なビューを提供する。一実施形態では、カメラのレンズとオフサルミックレンズとの間の距離は、レンズの表面全体(例えば、レンズの縁から間隔を置いて位置するレンズの部分)が単一の像を結ぶよう設定される。また、焦点深度を制限して、検査窓上に付着したデブリが表面ビュー中のシャープな焦点では見えないようにするのがよい。レンズの表面及び縁ビューを得るこの手法は、レンズ像を取得する際に単一の高被写界深度ビューを利用する検査システム(これは、像中のデブリを偶発的に捕捉する場合がある)に存在する高い誤判定率を解消することができる。本明細書において説明する検査システムの脱型設備は、余分なデブリが蓄積した場合にクリーニングステーションをさらに含むのがよい。さらに、検査システムは、イオン化空気をレンズに送ってレンズ上の汚染物の体積の恐れを減少させることができるようにする装置を含むのがよい。
【0091】
像分析サブシステム104、又は検査プラットフォームは、1つ以上のオペレーティングコンピュータ又はコンピュータシステム118を含み、これらコンピュータシステムは、コンピュータが、像取得サブシステム102のカメラ112によって取得された像を受け取り、次にAIを使用して結果を分析して出力することができるよう像取得サブシステム102と通信状態にある。データ入力を可能にするキーボード又はマウス、データ表示を可能にするモニタ、ネットワークスイッチ、モデム、電源など追加のコンピュータコンポーネントが設けられてもよい。各コンピュータシステム118は、ハードウェア、例えばプロセッサ、及びAIソフトウェア及び分析されるべき像を記憶するメモリを含むのがよい。検査プラットフォームの構成要素は、1つ以上のキャビネット内に設けられるのがよい。検査プラットフォームの構成要素は、電気通信を可能にするよう互いにワイヤード接続されるのがよい。
【0092】
例示の像分析サブシステム104は、Windows 10 Enterpriseオペレーティングシステム又はその均等例上で動作するWindowsベースのコンピュータ118を含むのがよい。各コンピュータシステム118は、大きな像データを処理するのに十分な演算速度、パワー、及びメモリを有するべきであり、かつバッチ利用が想定される連続使用を取り扱うのに十分に堅牢であるべきである。各検査ヘッド108により捕捉される像は、コンピュータ118上に常駐するCNNを使用して分析されるのがよい。一例では、各コンピュータは、少なくとも2つの異なるCNNモデル、すなわち、一方はレンズ縁像を分析するためのもの、及び他方はレンズ表面像を分析するためのものを操作することができる。CNNを操作するコンピュータシステムは、次に、レンズ像の欠陥特徴をプログラマブルロジックコントローラ126に報告し又は出力するのがよく、プログラマブルロジックコントローラ126は、ネットワーク化された監視制御・データアプリケーション(SCADA)システムと情報のやり取りをすることができ、SCADAシステムは、プロセス監視のためのコンピュータ128を含み、このことについては以下にさらに説明する。
【0093】
各コンピュータシステム118は、像データ、像に関するデータ結果を記憶し、データを照合し、SCADAシステムと通信し、像データを分析して各像に関する幾つかの分類の内で欠陥クラスを決定し、そして1つ以上のリモートコンピュータ128と通信するよう構成されている。オペレーティングコンピュータ118は、SCADAとカメラユニット106との間のインタフェースとなる。例えば、SCADAで出されたコマンドを、実行可能にカメラユニット106に送るのがよく、そして、カメラユニットによって生成された報告をSCADAに送るのがよい。例示の実施形態では、1つ以上のリモートサーバ128は、オペレーティングコンピュータ118上の像データにアクセスすることができ、そしてリモートサーバ自体のコンピューティングプラットフォーム上の像データを分析することができる。さらに別の例では、像データは、クラウド上に記憶され、そしてオペレーティングコンピュータ118及び/又は1つ以上のリモートサーバ128のいずれかが、像データをローカルで分析することができる。
【0094】
像取得システム100の追加の観点が、レパード等(Leppard et. al.)に付与された米国特許第7,256,881号明細書に記載されており、この米国特許を参照により引用し、その記載内容全体を本明細書の一部とする。レンズ検査システムにより取得された像データを分析して特徴付けるために用いられる機械学習及びAIの特定の観点について以下にさらに説明する。
【0095】
次に
図2を参照すると、本発明の諸観点に従って像データ及び機械学習を使用してコンタクトレンズの欠陥分類を自動的に検出するレンズ検査システム100を示す略図が示されている。コンピューティングデバイス又はコンピュータシステム118は、検査されるべき各レンズのレンズ縁像及びレンズ表面像データを像取得システム102から受け取ることができる。幾つかの形態では、像取得システム102は、検査されるべき各オフサルミックレンズのレンズ縁像及びレンズ表面像を取得するための複数のカメラを備えた複数の検査ヘッドを含むのがよい。幾つかの実施形態では、コンピューティングデバイス118は、自動識別システム(AIS)132の少なくとも一部分を実行してレンズ欠陥を自動的に分類することができる。一例では、コンピューティングデバイス118は、少なくとも2つの異なるAIモデル、例えば2つの畳み込みニューラルネットワーク(CNN)を実行して、レンズ縁像が良好なレンズを表しているかどうか、又は複数のレンズ縁欠陥カテゴリのうちの1つを含んでいるかどうかを2つのAIモデルのうちの第1のAIモデルを用いて判定し、そしてレンズ表面像が良好なレンズを表しているかどうか、又は複数のレンズ表面欠陥カテゴリのうちの1つを含んでいるかどうかを2つのAIモデルのうちの第2のAIモデルを用いて判定することができる。すなわち、コンピューティングデバイス上のメモリは、少なくとも1つのハードウェアプロセッサによって実行されると、データファイルにアクセスし、データファイルを分析し、データファイルの分析を実行し、及びデータファイルによって表されるオフサルミックレンズの欠陥又は状態を表す出力を提供することを含む幾つかのタスクを実行するために、少なくとも1つのハードウェアプロセッサにCNNを動作させる命令をメモリ上に又はメモリ内に記憶している。
【0096】
一例では、自動識別システム132は、像データを分析するソフトウェアドライバ及びライブラリを含む。例示のソフトウェアドライバは、転移学習と呼ばれているプロセスで変更された複数のライブラリのうちの1つをコンパイルするNVIDIA Cudaコンパイラドライバで動作するPythonインタプリタ型高級プログラミング言語とすることができる。ライブラリは、cuDNN SDKディープラーニングGPUアクセラレーションライブラリ、ディープラーニングモデルを開発して評価するためのTensorFlowオープンソースソフトウェアライブラリ、Kerasオープンソースソフトウェアライブラリ、配列及び行列データ構造を扱うためのNumPy オープンソースソフトウェアライブラリ、画像表示及び注釈、又はグラフ表示のためのmatplotlibオープンソースソフトウェアライブラリ、及びオブジェクト及び特性を識別するために画像を処理するためのOpenCVオープンソースライブラリを含むのがよい。例示の実施形態では、畳み込みニューラルネットワーク(CNN)は、レンズ縁及びレンズ表面の欠陥の複数のクラスを分類するために、視覚アプリケーション用の深層学習モデルとして用いられる。CNNモデルを使用するとともに訓練する際、一例として、像の1つの場所内の学習パターンを、像中のどこか他の場所で認識することができる。初期の畳み込み層は、小さなローカルパターン、例えば、レンズ像の縁及びテキスチャを学習することができ、他方、後の層は、初期の層によって学習された特徴で作られた大きなパターンを学習することができる。
【0097】
幾つかの実施形態では、コンピューティングシステム118は、像取得システム102から受け取った像データに関する情報を、通信ネットワーク134を介してサーバ128に伝送することができ、通信ネットワーク134は、自動識別システム133の少なくとも一部分を実行することができる。かかる実施形態では、サーバ128は、欠陥の幾つかのカテゴリ又はクラスのうちの1つであるのがよい上方、すなわち、自動識別システム133の出力を表す情報をコンピュータシステム118に戻すのがよい。
【0098】
幾つかの実施形態では、コンピューティングデバイス118及び/又はサーバ128は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、サーバコンピュータ、物理的コンピューティングデバイスによって実行される仮想機械などのような任意の適切なコンピューティングデバイス又はデバイスの組み合わせであってよい。幾つかの実施形態では、自動識別システム132,133は、汎用像分類器としてあらかじめ訓練された畳み込みニューラルネットワーク(CNN)を使用して、レンズ表面像上の欠陥を8つの考えられる欠陥のうちの1つとして分類することができ、また、レンズ縁像上の欠陥を3つの考えられる欠陥のうちの1つとして分類することができる。
【0099】
幾つかの実施形態では、
図1の像取得システム102は、像データをコンピュータデバイス118及び/又はサーバコンピュータ128に提供する像源である。幾つかの実施形態では、像取得システム102は、コンピューティングデバイス118と共にローカルに収容されるのがよい。例えば、像取得システム102は、コンピューティングデバイス118と共に組み込まれるのがよい。換言すると、コンピューティングデバイス118は、像取得システム102から像を捕捉するとともに/或いは保存するためのデバイスの一部として構成されるのがよい。もう1つの例では、像取得システム102は、ケーブル、ダイレクトワイヤレスリンクなどによってコンピューティングデバイス118に接続されるのがよい。追加的に又は代替的に、幾つかの実施形態では、像取得システム102は、コンピューティングデバイス118からローカルにかつ/或いは遠隔に配置されてもよく、像取得システム102は、像データを通信ネットワーク134経由でコンピューティングデバイス118及び/又はサーバ128に伝送することができる。
【0100】
幾つかの実施形態では、通信ネットワーク134は、任意適当な通信ネットワーク又は通信ネットワークの組み合わせであってよい。例えば、通信ネットワーク134としては、Wi-Fi ネットワーク(これは、1つ以上のワイヤレスルータ、1つ以上のスイッチなどを含むのがよい)、ピアツーピアネットワーク(例えば、Bluetoothネットワーク)、セルラーネットワーク(例えば、4Gネットワーク、任意適当な規格、例えばCDMA、GSM、LTE、LTEアドバンスト、WiMAXなどに準拠した4Gネットワークなど)、ワイヤードネットワークなどが挙げられる。幾つかの実施形態では、通信ネットワーク134は、ローカルエリアネットワーク、ワイドエリアネットワーク、パブリックネットワーク(例えば、Internet)、プライベート又はセミプライベートネットワーク(例えば、企業イントラネット)、任意の他の適当な形式のネットワーク、又はこれらネットワークの任意適当な組み合わせであってよい。
図2に示す通信リンクは各々、任意適当な通信リンク又は例えばワイヤードリンク、光ファイバリンク、Wi-Fiリンク、Bluetoothリンク、セルラーリンクなどのような通信リンクの任意適当な組み合わせであってよい。
【0101】
幾つかの実施形態では、通信ネットワーク134を提供する通信システムとしては、情報を通信ネットワーク134及び/又は任意の他の適当な通信ネットワークにより伝えるための任意適当なハードウェア、ファームウェア、及び/又はソフトウェアが挙げられる。例えば、通信システムとしては、1つ以上のトランシーバ、1つ以上の通信チップ及び/又はチップセットなどが挙げられる。より特定の例では、通信システムとしては、Wi-Fi 接続、Bluetooth接続、セルラー接続、Ethernet接続などを確立するために使用できるハードウェア、ファームウェア、及び/又はソフトウェアが挙げられる。
【0102】
次に
図3を参照すると、本発明のレンズ検査システムの一構成例を示すフローチャート200が示されている。フローチャート200は、像データを像分析サブシステムに提供するための2つの異なる入力経路を示しており、入力経路は、訓練及び検証のための像入力を提供する第1の入力経路202及び、予測のための像入力を提供するための、例えば本番画像データセットを入力するための第2の入力経路204を含む。
図3に示す互いに異なるステップの特定の観点が、
図4~
図41に示されており、かかる特定の観点についてこれらの図を参照して以下において説明する。
【0103】
上述したように、転移学習は、AIモデルアーキテクチャを例えば真の物体を検出するために問題に関して既に訓練し、そしてそのモデルを異なる問題のために再使用する技術である。異なる問題に対する再使用のための事前訓練モデルの訓練中、モデルの極めて大量の層又はブロックをフリーズするが、このことは、異なる層又はブロックの重みをロックし、その結果、それ以上の訓練が重みを変化させることができず、他方、他の層が新たなタスクを学習するためにフリーズを解除されるということを意味している。転移学習における焦点は、モデルのトップ層のほんのわずかな数の層のみを訓練することであり、その結果、再訓練された層は、これらを訓練している新たなパラメータ又は問題を非常にわずかな学習率で認識するようになっており、その結果、大きな変化が急には起こることはないようになっている。したがって、
図3は、異なるレンズ欠陥を分析して分類するようモデルを最初に訓練して検証し、次に、再訓練されたモデルを用いて生産レンズ像データセットの予測を行うためのプロセス流れ図の概観を提供している。
【0104】
図3を参照すると、AIモデル、特にCNNモデルを訓練するためのプロセスフローが示されている。このプロセスは、互いに異なるAIモデルに適用でき、例えば、CNN「縁」モデルならびにCNN「表面」モデルに適用できる。このモデルは、ステップ206で訓練用データセットをAIモデルに入力することによって訓練されるのがよい。訓練用データセットを、画像化源、例えば
図1の像取得システム102から、又は先に取得した像のデータベースから取得することができる。訓練用データセットとして使用可能に像にアクセスするステップは、像を像取得システム102により取得するステップを含んでもよく、或いは、コンピュータシステム、記憶装置、又は他の適当なデータ格納装置内に、たとえばサーバ又はクラウドに記憶されている先に取得された像にアクセスし又は違ったやり方でこれを取得するステップを含んでもよい。アクセスした像は、像取得システムにより画像化されたコンタクトレンズのレンズ縁像とレンズ表面像の両方を含むのがよい。一例では、第1のAIモデル、例えば第1のCNNモデルは、レンズ縁像データセットのみを用いて訓練され、次に、それとは別に、第2のAIモデル、例えば第2のCNNモデルをレンズ表面像データセットのみを用いて訓練する。訓練用像データセットは、レンズ表面欠陥とレンズ縁欠陥に関する異なる欠陥タイプを持つ像を含み、これについては以下にさらに説明する。単一のカメラがレンズ縁像とレンズ表面像の両方を捕捉する例では、2つの別々のモデルではなく単一のAIモデルを訓練して、レンズ表面欠陥、レンズ縁欠陥、又はこれら両方の欠陥を分析し、次に、レンズ表面欠陥クラス、レンズ縁欠陥クラス、又はこれら両方の欠陥クラスを生成するのがよい。したがって、各訓練用データセットは、レンズ表面欠陥とレンズ縁欠陥を含むレンズ縁像とレンズ表面像の両方を含む。一例では、先に取得された像のライブラリを用いて、モデルを幾つかのエポック又はステップにわたって訓練したが、これについては以下にさらに説明する。一例では、モデルアーキテクチャは、像分類のための畳み込みニューラルネットワーク(CNN)であり、具体的には、想定した像処理のための他のディープニューラルネットワークであるVGG Net、例えばLeNet、AlexNet、GoogLeNet/Inception、及びResNet、ZFNetである。
【0105】
ステップ208では、像は、モデルに対して利用可能な入力画像を得るための前処理を受ける。前処理の目的は、分類上の問題や入力のスペース又はサイズ、例えば、像の幅や高さについての複雑さを減少させることにあり、それにより、訓練及び予測の期間及び訓練に必要な像の数を減少させる。レンズ表面像の前処理及びレンズ縁像の前処理では、類似した又は異なる要件を含む場合があり、これについては以下にさらに説明する。他の例では、CNNモデルへの入力のためにデータセットにアクセスする前に、同じ入力ファイルサイズを生成するための正規化を除き、像データセットの前処理は不要である。CNNモデルは、入力像の前処理を必要としない。
【0106】
ステップ210では、データ拡張は、CNNモデルを訓練するために使用するプール中の像の総数を増大させるために像データセット中の像の少なくとも一部、好ましくは全ての像に対して行われる。データ拡張では、各実際の像、真の像、元の像に対して種々の操作を行って、人工の像を生成し、これら人工の像をデータセットに追加する。この操作としては、像の反転、回転、色及び輝度の調節、再スケーリング、ノイズ除去、センタリングを調節するためのトリミングなどが挙げられる。幾つかの例では、データ拡張を前処理済み像に対してリアルタイムで実施するのがよく、その後、これらをAIネットワークに入力する。元画像は、データセットに含まれてもよく、又はデータセットから除外されてもよい。
【0107】
図4Aは、左側の元の像及び左側像の垂直反転を実施することによって拡張された右側の像を示している。
図4Bは、左側の元の像及び左側像の水平反転を実施することによって拡張された右側の像を示している。かくして、同一の元の像から、全部で3つの像が元の像を水平に、そして垂直に反転させることによって得られる。
【0108】
ステップ212では、データ拡張から導出された像を含むデータセットからの像を、次に、CNNモデルに入力してモデルを転移学習と呼ばれるプロセスで訓練する。CNNモデルは、ローカルコンピュータ上、ネットワークコンピュータ上、リモートサーバ上、又はクラウド上に存在しているのがよく、また、App又はインターネットダッシュボードからアクセス可能であるのがよい。以下にさらに説明するように、このステップでは、モデルの低レベルのうちの幾つかをロックし、モデルを学習率で訓練し、モデルの異なる層を解凍し、モデルをさらに別の学習率で再訓練して、モデルに対する迅速かつ突然の変化を回避し、モデルの性能を評価し、そして必要に応じて訓練期間中の正確度又は他の要因に基づいて再訓練する。例えば、以下にさらに説明するように、畳み込みベースは、あらかじめ訓練された重みで事前に初期化されるのがよく、これに対し、CNNモデルの密に接続された層をランダムに初期化するのがよい。畳み込みベースの重みは、訓練中、フリーズされるのがよく、その結果、これらの値は、現行のデータセットでの訓練に影響を受けることがないようになる。
【0109】
本発明のCNNモデルは、以下にさらに説明するように3つのタイプの層を有し、これら3つのタイプの層は、畳み込み層、プーリング層、及び全結合層を含む。ステップ216の全結合層は、ネットワーク中に最後の数層を形成し、これら全結合層は、フィードフォワードニューラルネットワークと記載される場合が多い。全結合層への入力は、最後のプーリング層又は畳み込み層からの出力であり、出力は平坦化され、次に全結合層に供給される。モデルは、全結合層を通過した後、ステップ218において、活性度関数を用いて、特定のクラス又は分類中に存在する入力の確率を得る。すなわち、分析されるべき像がCNNモデルに送られると、ステップ218のところの出力は、分類、例えば“scratch ”分類又は“bubble”分類であるのがよい。CNNモデルからの分類された像、すなわちステップ218における分類された像は、CNNモデルにより分析された前処理像のバッチについて識別し、第1の分類された像、第2の分類された像、第3の分類された像などと呼ばれる場合がある。
【0110】
しかしながら、ステップ218における最終的な出力は、典型的には、かき傷又は気泡が分析された像上のどこに又はどのように見出されるかという注釈ではない。かくして、ステップ214に戻ると、本発明のレンズ検査システムにより、ユーザは、モデルの中間活性度をレビューして、全結合層が予測クラスの活性化に向けて使用される前に、モデルの種々の層が像のどの部分をどのように、又はどのように活性化したかの指標を集めることができる。これらの中間活性度からの像を利用することにより、以下にさらに説明するように、訓練者又はユーザに最適な性能が得られるようにするためにモデルをどのように良好に訓練するかについての優良な知識を与えることができる。
【0111】
プロンプトが表示されると、本発明のレンズ検査システムにより、ユーザは、モデルを実行しているコンピュータシステムを切り替え又は要求して、ステップ220でモデルの種々の層からクラス活性度マップ又は像を生成することができる。これら像は、一般的に、性質上抽象的であるが、CNNモデルの異なる層が予測クラスの活性度に重み付けした各像の互いに異なる領域を示している。クラス活性度マップ又はCAMは、モデルが欠陥の真の指標を学習して視覚フィードバックをユーザインターフェース上でユーザに与えるのに成功したかどうかを理解するために、訓練中及び製造中に使用されるのがよい。クラス活性度マップは、特定の出力クラスと関連した入力像中のあらゆる場所に対してコンピュータ計算されたスコアの2Dグリッドである。これらクラス活性度マップは、入力像が各クラスをどれほど強く活性度したか、したがって、像のどの部分がネットワークをその最終的な分類決定に導いたかを理解する上で有用であるかを示している。
【0112】
ステップ222では、システムは、像をヒートマップ又はCAMとして出力することができ、各ヒートマップは、予測されたクラスの活性度における重要度に比例してピクセルに色を割り当てる。各像の比較的輝度の高い色は、ネットワークを最終的な分類決定に導いた像の部分を表す位置を示している。代替的又は追加的に、各出力CAM画像には、ネットワークが最終的な分類決定に至った像の1つ又は複数の領域にわたって、アウトライン又はバウンディングボックス、例えば正方形、円形、又は矩形でラベル付けされるのがよい。出力CAMを用いることにより、アルゴリズムが各欠陥カテゴリ又は分類に対して正確な予測器を学習しているかどうかを評価するのを助けることができる。AIネットワークの最終的な分類又は出力が、分類として“Good Lens”を含むので、「欠陥領域」という用語は、広義には、モデルの最終的な分類に組み込まれた畳み込み層が分析した領域を意味するものと理解され、かかる欠陥領域は、物理欠陥、例えば気泡又はかき傷を含むレンズ、又は物理的欠陥のない良好なレンズを含むことができる。
【0113】
製造中、製造したレンズの像を、現在訓練したCNNモデルでプロセス204により分析することができる。ステップ230では、製造レンズを画像化し、これは、検査されるべき各レンズのレンズ縁像及びレンズ表面像を画像化するステップを含む。次にこれらの像をステップ232で前処理し、そして前処理された像は、CNNモデルへの入力像として役立つ。前処理の目的は、分類上の問題や入力のスペース、例えば、像の幅や高さについての複雑さを減少させるとともに、予測持続時間を短縮することにある。モデルに入力された像は、ステップ212においてモデルによって分析され、ステップ212は、像を処理するために畳み込み及びプーリング層を用いる。次に、これらの層からの出力を全結合層に送って、像についてのデータをステップ216において、互いに異なる欠陥クラスのうちの1つに分類する。ステップ218において、モデルは、分析された像の最終的な分類を出力し、例えば、像を良好、かき傷、気泡などと分類し、これについては以下においてさらに説明する。
【0114】
次に
図5を参照すると、表面及び縁像を作ることができる元となるテンプレートを手動で生成するプロセス240が示されている。テンプレート生成プロセス240は、像の任意の前処理208,232の実施に先立つことが望ましい。テンプレートは、複数の像取得装置又はカメラ106(
図1)によって撮像された像の潜在的なばらつきを正規化するための手段として役立つ。例えば、8台のカメラを利用してレンズ縁像を捕捉するとともに、8台のカメラを利用してレンズ表面像を捕捉する場合、カメラとレンズの支持体として用いられるサファイアとの間の距離にわずかな差が生じる場合がある。これらの差により、レンズが数ピクセル大きく見えたり小さく見えたりすることがあり、16台のカメラには一貫性がない場合がある。
【0115】
テンプレート生成プロセス240は、ステップ242において生の像で始まり、この生の像は、表面像又は縁像であるのがよい。次に、この像をステップ244において手動で切り出して関心のある領域(ROI)を強調し、像うちのあまり重要ではない周辺領域を破棄する。次に切り出された像に対して強度分析を行い、それにより、レンズのブロブ又は縁輪郭の隔離に適したしきい値を決定する。ステップ246では、像の水平中心線の強度プロフィールをプロットし、そしてステップ248では、像の垂直中心線の強度プロフィールをプロットする。
【0116】
ステップ250では、ステップ246,248のしきい値を用いて像をしきい値処理する。すなわち、レンズのブロブ又は輪郭を示すしきい値は、ステップ250でレンズのブロブを定めるよう取り出す。次に、ステップ252において、楕円をレンズの輪郭の周りに当てはめ、中心の座標、軸線の長さ、及び配向角を、例えば前処理中に読み込まれるべきテキストファイル、例えば“cvs”ファイルに書き込む。ステップ252のところで作られた像テンプレート254、及び他のカメラ106(
図1)用に開発された類似の像テンプレートを用いて像を捕捉し、テンプレート用に開発された座標を次に同一カメラによって撮影された像に適用するのがよく、それにより本発明のCNNモデルで使用可能に入力データの均一性及び一貫性を保証するのがよい。
【0117】
次に
図6を参照すると、表面像を前処理するプロセス260が示されている。前処理プロセス260を本発明のレンズ検査システムによって検査されるべき各像に適用して、分類上の問題及び入力のスペースの複雑さ減少させ、それによりCNNモデルの訓練及び予測期間、ならびに訓練に必要な像の数を減少させるのがよい。
【0118】
前処理プロセス260は、ステップ262において像内のコンタクトレンズを見つけることから始まる。本明細書で用いられる像は、訓練用像又は本番画像であるのがよく、この像は、光学補正のためにユーザにより着用可能に製造されるレンズの像として理解される。テンプレートマッチングは、元の像内の訓練用像又は本番画像のレンズ中心の存在場所を突き止めるために使用される。テンプレート像は、
図5のテンプレートプロセス240によって得られる。一例では、像の左上隅に対するレンズ中心の場所は、前処理中に得られる。
【0119】
ステップ264では、一例として、像を切り出して、各辺900ピクセルに等しい正方形像を作り、関心領域(ROI)は、この正方形の像に対して心出しされ、或いは、像を切り出して正方形の形をした像がレンズ周りの中心に位置するようにする。一例では、ROIの幅と高さの両方について900個のピクセル値をレンズの半径が450ピクセル未満であるという観察結果に基づいて経験的に選択することができる。
【0120】
次に、ステップ266において、切り出した像の各ピクセルの強度を反転させ、それにより、像を変化させて明るいシェードが暗く見え、暗いシェードが明るく見えるようにする。反転により、高強度のピクセルを選択して、モデルの次の層にキャリーオーバーするのがよく、これに対し、暗いピクセルを破棄する。本明細書において説明する分類プロセスに関する有意な情報を表す欠陥の代表的なピクセルが通常は暗いので、元の像の強度を反転させることにより、欠陥がネットワークを横切ってニューラルネットワークのより深い層に拡散するのを助ける。さらに、CNNモデルは、カラー画像を処理するようプログラムされているので、ステップ266のところでの反転像は、単一チャンネルを表しており、かかる反転像を3重に再現してRGBの色を表すようにし、これは、ステップ268のところで3チャンネル像の取得に等しい。モデルに関する色入力要件は、単一チャンネルの内容を2つの追加のチャンネルに複製することによって人為的に満たされる。前処理プロセス260は、本発明のレンズ検査システムにより分析されるべき各レンズ表面像について繰り返し実施される。
【0121】
次に
図7を参照すると、レンズ縁像を前処理するプロセス270が示されている。前処理プロセス270は、
図6のステップ262のプロセスと同様に、ステップ272で像内のレンズを見つけることから始まる。テンプレートマッチングは、元の像内の訓練用像又は本番画像のレンズ中心の存在場所を突き止めるために使用される。一例では、像の左上隅に対するレンズ中心の場所は、前処理中に得られる。
【0122】
次に、ステップ272で、レンズの像を直交座標系から極座標系に変換する。極座標は、レンズ縁を垂直方向の色勾配に境界づける領域として強調し、この垂直色勾配は、極座標ではいっそう容易に見える。縁像が縁周りの幅の狭い領域、例えば縁の内側及び外側の数ピクセルにのみ焦点を当てた状態の情報を含むので、座標系を変更することにより、レンズ縁のROIの単純な縮小が可能である。900×900ピクセルのレンズROIから、CNNモデルへの入力を900ピクセル×50ピクセルに縮小させることができる。
図8は、直交座標系280内の像及び極座標282に変換された同一の像を示している。
【0123】
ステップ276では、
図9に示すように、縁の内側と外側寄りの所定の領域を極座標像から切り出す。このステップは、保持すべき像の切り出し部分が標的像内におけるレンズの正確な位置決めに関係しているので、敏感である。テンプレート像中のレンズのサイズと標的像中のレンズのサイズの不一致により、決定された中心は、レンズの実際の中心とはわずかに異なる場合がある。すると、これにより、縁の輪郭は、切り出されたROI像中の挟み込まれた状態のレンズのプロフィールのように見え、又はこれから部分的に排除されたように見える。
【0124】
次に、ステップ278において、各ピクセルの像強度を反転させる。この反転により、
図10に示すように、単一のチャンネルを表す黒と白の像が生じる。CNNモデルは、カラー画像を処理するようにプログラムされているので、ステップ278で反転された像を、3重に再現され、それによりRGBの色を表し、これは、ステップ279において3チャンネル像を有する状態に等しい。前処理プロセス270を予測のためにCNNモデルに送られる各レンズ縁像について繰り返し実施する。
【0125】
次に
図11を参照すると、2つの畳み込み層292、2つのプーリング層294、及び全結合層(FCL)296を有する本発明の諸観点による単純化された畳み込みニューラルネットワーク290が示されている。互いに異なる層は、2つの畳み込みブロック(ブロック1とブロック2)にグループ分けされるのがよく、各ブロックは、1つの畳み込み層と1つのプーリング層を含む。本発明では、12個以上の層、例えば16層、19層、又はそれ以上の層を有するより複雑精巧なCNNモデルを利用してレンズ像を分析して、これらレンズ像を互いに異なる欠陥カテゴリで特徴付ける。
図11の単純化されたCNNモデルとは異なり、本発明のCNNモデルは、多数の畳み込みブロックを含むのがよく、各ブロックは、2つ以上の畳み込み層、例えば2つ以上の畳み込み層、3つ以上、又は4つ以上の畳み込み層を有する。本発明のCNNモデルは、互いに異なるレンズ欠陥カテゴリを分類し、そしてオプションとしてラベル付けされた中間活性度像を生成するよう訓練される。
【0126】
本発明の例示の実施形態では、選択したモデルは、
図11のCNNモデルに類似しているが、26個の層を含む畳み込みニューラルネットワーク(CNN)である。
図12は、選択したモデルの概念ブロックを示しており、この選択されたモデルは、CNNの「表面」モデルである。このモデルの第1層は、形状(900,900,3)を有する入力層を表している。かくして、モデルは、入力として900ピクセルの高さ、900ピクセルの幅、及び3つのチャンネルを含みRGB像に等しい像のみを入力として受け取る。
図6のステップ268及び
図7のステップ279を参照して上述したように、当該データセットのグレースケール像は、モデルの3チャンネル入力要件を満たすために、各像を複製して同一像を3つ生成することによって、人為的に拡張されている。
【0127】
モデルの次の21個の層は、ブロック1からブロック5までグループ分けされており、これら層は、周知のVGG19 CNNモデルから抽出されている。元のVGG19モデルは、ImageNetデータセットで事前に訓練されており、224×224×3の入力形状を有し、そして1000個の異なるクラスに関して予測確率を出力する。本発明では、事前に訓練されたVGG19 モデルのトップ層をドロップさせている(モデルが元々訓練されたものとは異なる数のクラス又はカテゴリ、及び異なる形状の入力像に対する再訓練を可能にするため)。
【0128】
これらの20(21)個の層は、概念的に、5つのブロックにグループ分けされ、各ブロックは、数個の畳み込み層と、ブロック内に位置していて最後の層であるプーリング層から成る。例えば、ブロック2は、2つの畳み込み(block2_conv1及びblock2_conv2)と1つのプーリング(block2_pool)から成っている。5つのブロックは、モデルの畳み込みベースを表している。
【0129】
畳み込みブロックの最後のところで、平坦化層(flatten_1)及び2つの密に結合された層(dense_1及びdense_2)が追加されている。平坦化層は、プールされた特徴マップ行列全体を1つの列に変換し、処理のためにニューラルネットワークに送る。平坦化層は、畳み込み層と、旧式NN層との移行を行い、旧式NN層は、密に結合された層と呼ばれており、というのは、層中の各ニューロンは、その前後の層の各ニューロンに接続されるからである。Flatten_1の入力は、512チャンネルの28×28像であり、これは、401408(512×28×28)ベクトルに変換される。
【0130】
2つの密に結合された層は、全結合層とも呼ばれている。Dense_1層は、ベクトルを256ニューロンに減少させ、dense_2層はさらに、これを8に減少させ、これは、
図17~
図24において記載されているように、モデルが分類することができるレンズ表面欠陥のクラスの数を表している。
【0131】
図13は、
図12に類似しているが、「縁」モデルの概念ブロックを示している。「縁」モデルのアーキテクチャは、「表面」モデルのアーキテクチャと同一である。ただし、入力像の形状及びクラスの数が異なっているために、各層の入力形状と出力形状は互いに異なっており、したがって、訓練可能なパラメータの数もまた、著しく異なる。注目すべきこととして「縁」モデルの2つの密に結合された層は、ベクトルを256ニューロンに減少させるdense_1層と、さらに3ニューロンまで減少させるdense_2層があり、これは、モデルが分類することができるレンズ「縁」欠陥のクラスの数を表す。
【0132】
訓練中、畳み込みニューラルネットワーク、特にVGG16及び/又はVGG19モデルであるのがよいソースモデルの畳み込みベース層又はそれ以降の層は、事前に訓練された重みで事前に初期化されるのがよい。Kerasライブラリからレンズ欠陥を分類するために使用できる他のモデルとしては、Xception、ResNet50、及びInceptionV3が挙げられる。密に結合された層は、ランダムに初期化可能である。畳み込みベースの重みは、訓練中、フリーズされるのがよく、したがって、新たなモデルが訓練されているときにアップデートされない。各CNN層は、複雑さを増すフィルタを学習する。第1の層は、基本的な特徴検出フィルタ、例えば縁、隅などを学習する。中間層は、物体の一部を検出するフィルタを学習する。例えば顔に関し、一例として、目、鼻などに反応するよう学習する場合がある。最後の層は、より高度な表現を有する。これら層は、さまざまな形、位置、カテゴリの物体全体を認識するよう学習する。
【0133】
図14は、転移訓練のために用いられる設定を示している。合計3,973枚の像がレンズ「表面」分析モデルの訓練のために用いられた。訓練を500エポック又はステップについて実施した。各エポック中、CNNモデルを異なる訓練用データセットについて繰り返し訓練することができ、又は、同一データセットで訓練することができ、その結果、CNNモデルは、データの特徴について学習し続ける。次に、訓練は、検証用セットによって検証される。検証用セットは、訓練用セットとは別のデータセットであり、このデータセットは、訓練中、モデルを検証するために用いられる。この検証プロセスは、モデルのパラメータを調整するのに役立つ情報を与えるのに役立つ。一実施形態では、それと同時に、このモデルも検証用セット中のデータについて検証される。
【0134】
訓練プロセス中、モデルは、訓練用セット中の各入力について出力を分類することになる。この分類が行われた後、損失値を計算し、そしてモデルの重みを調節するのがよい。その後、次のエポックでは、モデルは、次の訓練用セットについて再び入力を分類することになる。モデルは、検証用セットからの各入力もまた分類することになる。モデルは、訓練用セットで訓練しているデータについてこのモデルが学習したことのみに基づいて分類を行うことができる。
【0135】
検証用セットを用いる理由の1つは、モデルが訓練用セット中のデータに過剰適合していないことを確認することにある。訓練中、モデルが検証用セットで検証され、検証用データに対する結果が訓練用データに対するモデルの結果と一致する場合、モデルが過剰適合していないという高い信頼性が得られる。他方、訓練用データに関する結果が真に良好であるが、検証用データに関する結果が貧弱である場合、モデルが過剰適合している可能性が高い。
【0136】
転移学習は、問題に関して構築されたモデルが、幾つかの要因に基づいて別の問題について再使用するプロセスである。一例では、VGGネットワーク、例えばVGG16ネット及びVGG19ネットは、レンズ欠陥を分析してレンズ欠陥のタイプを分類するために訓練される。
図14Aは、本発明のCNNモデルに関する例示の転移訓練プロトコルを示すフローチャートであり、全体が320で示されている。ステップ322では、モデルを事前に訓練された畳み込みベースから構築するのがよく、畳み込み層及び高密度層は、レンズ欠陥を分析して分類するために開発されている。次に、ステップ324では、事前に訓練されたベースをロックし又はフリーズし、モデルの残りの部分、すなわち異なるニューラル層をランダムに初期化する。幾つかの例では、ほんの数層、例えば1~4個の畳み込み層を一度に初期化する。ステップ326では、モデルを学習率learn_rate1で訓練する。好ましくは、学習率は、モデルが迅速に変化し、学習解除や再学習が困難になるような速さではない。ステップ328では、モデルの第1の凍結層より上のあらゆる層がロック解除され又は解凍される。次にステップ330では、モデルを小さな学習率learn_rate2で再訓練する。ステップ330でモデルを再訓練した後、再訓練されたモデルの結果又は性能をステップ332で評価する。結果が例えば、
図15を参照して説明したような正確度、
図16を参照して説明したような損失関数、
図28を参照して説明したような予測対グランドトゥルース、及び/又は
図29を参照して説明したような精度及びリコール値などの要因からみて満足のいくものである場合、訓練は、ステップ336で停止するのがよい。再訓練されたモデルが、指摘された要因と比較して標準以下で依然として働いている場合、ステップ324から始まる訓練を繰り返すことができる。ステップがそれ以上の再訓練のために繰り返される場合、ステップ328からの層だけを変更し、モデルの層ごとのルートに向かう。性能が低下し始める点が存在する。訓練用データセット中の像の数を増やしてもモデルの性能が向上しない場合、ステップ336で再訓練を終了するのがよい。
【0137】
図15は、訓練用データセット(左側のグラフ図)と検証用データセット(右側のグラフ図)の両方に関して、訓練期間全体にわたり500エポックの正確度の変化を示している。上述したように、モデルは、検証用データセットにより検証され、検証用データセットの結果は、全体的にモデルが訓練用データセットについて与えている結果に概ね追従する。
図15は、数回の訓練の繰り返しで得られた例であるが、最終的な又は最善の正確度である必要はない。正確度は、分類モデルを評価するための1つの指標である。正確度は、モデルが正しく予測した割合のことである。正確度は、正しい予測の数を予測の総数で除算したものとして計算され、1は、完全に正確である。
【0138】
図16は、訓練用データセット(左側のグラフ図)と検証用データセット(右側のグラフ図)の訓練エポック全体にわたる損失関数の値を示すグラフ図である。損失関数の出力を用いると、機械学習アルゴリズムを最適化することができる。損失関数をモデルが、予想される結果を予測することができるという観点で行っている予測がどの程度優れているかの尺度として使用することができる。損失は、訓練と検証の間に計算され、その解釈は、モデルがこれら2つのセットでどのように良好に行っているかに基づいている。損失は、訓練用データセット又は検証用データセットにおいて各サンプルについて行われた誤差の合計である。損失値は、モデルが最適化の各反復の後にどのように貧弱に或いは良好に挙動するかを示唆している。これは、出力が0と1との間の確率値である分類モデルの性能の尺度である。クロスエントロピー損失は、予測された確率が実際のラベルから外れるにつれて増大する。かくして、実際の観察ラベルが1である場合に、例えば0.023という確率を予測することは、見通しが悪く、高い損失値を招く。完全なモデルは、対数損失が0となろう。
【0139】
図17~
図24は、本発明のAIモデル、例えばCNNモデルが検出及び出力を行うよう訓練される、互いに異なるレンズ表面欠陥タイプ、カテゴリ、又はクラスを示している。
図17から始まり、
図17の像は、“Braining”(脳の表面に似た形態を生じさせる)又は“Brain”表面欠陥パターンを示し、
図18は、“Bubble”欠陥パターンを示し、
図19は、“Debris”パターンを示し、
図20は、“Dirty sapphire”パターンを示し、これは、支持構造体114(
図1)がコンタクトレンズを支持するために用いられる結晶である。
図21は“Double lens”欠陥パターンを示し、これは、2つのレンズが同一支持体上に置かれたときのものであり、
図22は、“Good”レンズ表面像(及びかくして、物理的欠陥がゼロ又は最小限であるレンズ)を示し、
図23は、“Scratch”表面欠陥パターンを示し、
図24は、“Void”表面欠陥パターンを示している。
【0140】
テキストの代わりに、本発明のAIモデル、例えばCNNモデルが異なるレンズ表面欠陥について出力することができる欠陥クラスは、数字で又は数字を用いて指示されるのがよい。例えば、“Brains”は、“0”のような整数のクラスとして指示される場合があり、“Bubble”は、“1”のような整数のクラスとして指示される場合があり、“Debris”は、“2”のような整数のクラスとして指示される場合があり、“Dirty sapphire”は、“3”のような整数のクラスとして指示される場合があり、“Double lens”は、“4”のような整数のクラスとして指示される場合があり、“Good lens”は、“5”のような整数のクラスとして指示される場合があり、“Scratch”は、“6”のような整数のクラスとして指示される場合があり、“Void”は、“7”のような整数のクラスとして指示される場合がある。他の例では、クラスに関する数字は、様々な場合があり、指示した値とは異なる値が割り当てられる場合がある。例えば、“Scratch”は、“6”ではなく“2”という整数のクラスとして指示される場合がある。さらに他の例では、AIモデルが互いに異なるレンズ表面欠陥について出力することができる欠陥クラスは、英数字識別子、例えば、レンズ表面欠陥“Bubble”についてはLS1を用いて指示される場合がある。
【0141】
図25~
図27は、本発明のAIモデル、例えばCNNモデルの検出及び出力の訓練対象である種々のレンズ縁タイプ、カテゴリ、又はクラスを示している。
図25から始めて、
図25の像は、“Debris”縁欠陥パターンを示し、
図26は、“GoodLens”縁像(及びかくして欠陥ではない)を示し、
図27は、“Pinched”縁欠陥パターンを示している。テキストの代わりに、AIモデルが互いに異なるレンズ縁欠陥について出力することができる欠陥クラスは、数字で又は数字を用いて指示される場合がある。例えば、“Debris”は、“20”のような整数のクラスとして指示される場合があり、“GoodLens”は、“21”のような整数のクラスとして指示される場合があり、“Pinched”は、“22”のような整数のクラスとして指示される場合がある。他の例では、クラスに関する数字は様々な場合があり、指示した値とは異なる値が割り当てられる場合がある。例えば、“Debris”は、“20”ではなく“50”という整数のクラスとして指示される場合がある。さらに他の例では、AIネットワークが互いに異なるレンズ縁欠陥について出力することができる欠陥クラスは、英数字識別子、例えば、レンズ表面欠陥“Debris”についてはLE20を用いて指示される場合がある。
【0142】
一例では、訓練用データセットと検証用データセットは、像の2つのグループに分けられ、1つのグループは、レンズ表面像のみを含み、もう1つのグループは、レンズ縁像のみを含む。CNN「表面」モデルを訓練して検証するためのデータセットにはレンズ表面像のみが含まれ、CNN「縁」モデルを訓練して検証するためのデータセットにはレンズ縁像のみが含まれる。一例では、レンズ表面像データセットは、
図17~
図24に示す欠陥タイプを有する複数の像を含み、これら欠陥タイプは、“Brains”、“Bubble”、“Debris”、“Dirty sapphire”、“Double lens”、“Good lens”、“Scratch”、及び“Void”からなる8つの欠陥タイプカテゴリを含む。しかしながら、表面モデルは、8つよりも多い又は少ない表面欠陥タイプで訓練されてもよい。例えば、表面モデルは、レンズなしの像、小さすぎるレンズ、大きすぎるレンズ、及び/又は偏心度が高すぎるレンズで訓練される場合がある。
【0143】
一例では、レンズ縁像データセットは、
図25~
図27に示す欠陥タイプを有する複数の像を含み、これらは、“Debris”、“Good lens”、及び“Pinched”から成る3つの欠陥タイプカテゴリを含む。しかしながら、縁モデルは、3つよりも多い又は少ない縁欠陥タイプで訓練されてもよい。例えば、縁モデルは、レンズなしの像、小さすぎるレンズ、大きすぎるレンズ、及び/又は偏心度が高すぎるレンズで訓練される場合がある。
【0144】
図28は、訓練用データセットのための予測とグランドトゥルースに関する表形式の一覧を示している。グランドトゥルースは、右側のモデルの予測に対して、左側にラベル付けされている。グランドトゥルースとしてラベル付けされた像は、人間による検証又は検査によって確認された欠陥を表している。例えば、前処理された像や元の像は、個々に手動で検査され、次に、各像には1つ以上の欠陥分類がラベル付けされる。一例では、欠陥分類は、各画像データファイルについてファイル名の一部として保存される。元の像に関し、像について手動で識別された各欠陥タイプは、それぞれの分類フォルダに別々に保存される。2つの像タイプ、例えばレンズ縁像及びレンズ表面像は、2つの像タイプをレンズ縁欠陥タイプ及びレンズ表面欠陥タイプで分類されるのがよく、像が特定の像タイプのものであるか、特定の欠陥タイプのものであるかどうかに従って別々に保存されるのがよい。被写界深度が大きく、絞りやF値が大きい画像化システムで撮像された像で、レンズ縁とレンズ表面の両方にピントが合っている場合、同じ像を手動で評価することができ、そしてレンズ縁欠陥とレンズ表面欠陥の両方で分類できる。像のこの第3のカテゴリを異なるカテゴリのグランドトゥルースとして別途保存できる。
【0145】
これら分類するとともにカテゴリ化した像を次に像のプールに追加するのがよく、この像のプールから、訓練用、検証用、及び試験用セットを選択される。かくして、訓練、検証及び試験のために用いられる少なくとも幾つかの像、好ましくは全ての像を最初に欠陥タイプについて吟味するのがよく、そして、これら像が手動評価を受けてレンズ表面欠陥タイプ若しくはクラス、又はレンズ縁欠陥タイプ若しくはクラス、又はレンズ表面欠陥とレンズ縁欠陥タイプ若しくはクラスの両方に分類するのがよい。検証中、一例として、“Scratch ”とラベル付けされた像がフォルダから取り出され、“Bubble”分類を返すAIモデルに供給された場合、そのエラーは、すぐに判明する。
【0146】
図28の表形式で示すように、“Brain”、“Bubble”、及び“Void”表面欠陥パターンについて、モデルの予測は、手動で分類して、グランドトゥルースとみなされた前処理像と比較して100%正しい。“Debris”及び“Scratch”表面欠陥パターンに関し、モデルの予測は、優れていて100% に近い。モデルは“Good lens”の予測でも良好な結果を示している。“Dirty sapphire”及び“Double lens”欠陥パターンに関し、モデルは、それほど素晴らしいというわけではないが、
図29を参照して以下に示すように依然として良好なスコアを示している。とはいえ、モデルは、改良のために再訓練され又は微調整されるのがよく、これについては以下において説明する。
【0147】
図29は、
図28の訓練用データセットに対する表面モデルの性能メトリクスを示すための表形式で一覧表示されたデータを示している。メトリクスは、頭文字を用いて以下の定義を有する異なる測定値を示している。
a.真陽性(TP)のカウントは、クラスAに属する場合の数であり、この場合は、当該クラスに属するものとして正確に分類されたものである。
b.偽陽性(FP)のカウント‐クラスAを除く他のクラスに属する場合の数であり、これらの場合は、クラスAに属するものとして間違って分類されたものである。
c.偽陰性(FN)のカウント‐クラスAに属するが、他のクラスに属するものとして間違って分類された場合の数。
d.真陰性(TN)のカウント‐クラスAを除く他のクラスに属する場合の数であり、この場合は、クラスAとして分類されなかった。
e.正確度‐間違って分類された場合の数に対する正確に分類された場合の数であり、以下のように計算される。
i.正確度=(TP+TN)/(TP+FP+TN+FN)
f.精度‐真陽性レートであり、以下のように定義される。
i.精度=TP/(TP+FP)
ii.精度は、誤って検出された場合の数が増大するにつれて減少する。“Good Lens”クラスについて精度を最適化することは、検査基準を厳格化することに等しく、かく
g.リコール‐真陽性レートであり、以下のように定義される。
i.リコール=TP/(TP+FN)
ii.リコールは、見落とした場合の数が増大するにつれて減少する。“Good Lens”クラスについてリコールを最適化することは、生産歩留まりの増大に等しい。
【0148】
図29は、Precisions(精度)カテゴリでは0.910の評点であり、Recall(リコール)カテゴリでは0.994の評点である“Good lens ”に対するモデルの予測を示しており、これらのカテゴリの数値は、ともに優れた数値である。しかしながら、モデルがPrecision数値をさらに高い数値に高めるよう微調整された場合、これは、検査基準の厳格化及び“Good lens”の処分個数の減少につながる。
【0149】
図30は、「縁」モデルについての訓練用データセットに関する予測とグランドトゥルースに関する表形式の一覧を示している。グランドトゥルースが左側にラベル表示されているのに対し、モデルの予測が右側にラベル表示されている。グランドトゥルースとラベル表示された像は、人間による検証又は検査により確認された欠陥を表している。表形式に示されているように、“Pinched”表面欠陥パターンでは、モデルの予測は100% 正しい。また、“Good lens”の予測でも良好な結果を示し、ほぼ100%のスコアを出している。“Debris”欠陥パターンに関し、
図31を参照して以下に示すように、モデルの精度は低いものの、依然として良好なスコアを示している。とはいえ、モデルは、改良のために再訓練され又は微調整されるのがよく、これについては以下において説明する。
【0150】
図31は、
図30の訓練用データセットに関する「縁」モデルの性能メトリクスを示すために表形式でプロットされたデータを示している。メトリクスは、
図29を参照して上述した「表面」モデルのものと異なる測定値を示すために同じ頭文字を使用している。
図31は、Precisionsカテゴリでは0.92の評点であり、Recallカテゴリでは0.99の評点である“Good lens”に対するモデルの予測を示しており、これらのカテゴリの数値は、ともに優れた数値である。しかしながら、モデルがPrecision数値をさらに高い数値に高めるよう微調整された場合、これは、検査基準の厳格化及び“Good lens”の処分個数の減少につながる。
【0151】
検証用データセットに関する表面モデルの正確度は、訓練用データセットに関する正確度と比較して、最初の150エポック以降は極めて遅いペースで増大する。これは、過剰適合の兆候である可能性がある。表面モデルの過剰適合のもう1つの兆候は、2つ以上の欠陥が1つの像中に存在する場合に、1つのカテゴリにおける信頼度が高いことである。これは、ドロップアウト層を追加するとともに、訓練用データセットを増やすことによって対処できる。
【0152】
ドロップアウト技術では、訓練中に選択されたニューロンをランダムに無視する。このことは、下流側のニューロンの活性度に対するそのニューロンの寄与が、前方パス(forward pass)で時間的に除かれ、任意の重みアップデートが後方パス(backward pass)ではニューロンに適用されないことを意味する。ドロップアウトは、モデルの過剰適合を阻止するために用いられる正則化技術である。ドロップアウトは、ネットワークのニューロンの何割かをランダムにオフに切り替えるために追加される。ニューロンがオフに切り替えられると、これらニューロンへの入出力接続部もまたオフに切り替えられる。これは、モデルの学習を強化するために実施される場合がある。ドロップアウトは、畳み込み層の次に使用されるべきではない。ドロップアウトは、たいていの場合、ネットワークの高密度な層又は平坦化層の後に使用される。一例では、一度にニューロンの約10% ~50% がオフに切り替えられる。50% を超えるニューロンが一度にオフに切り替えられた場合、モデルの学習は、貧弱になる場合があり、予測は、満足のいくものではなくなる場合がある。
【0153】
図32は、
図12と類似した図であり、
図12のVGG19ネットモデルに代えてVGG16ネットモデルを用いて各層の出力形状とともに「表面」モデルの概念ブロックを示している。この表面モデルのアーキテクチャは、
図12の表面モデルに類似しているが、層の数が少ない。
図33は、
図32のモデルに追加されたドロップアウト層を示している。ドロップアウト層は、ネットワークのニューロンの何割かをランダムにオフに切り替えるために追加される場合がある。ニューロンがオフに切り替えられると、これらニューロンに対する入出力接続部もまたオフに切り替えられる。これは、モデルの学習を強化するために実施される場合がある。
【0154】
図32は、
図12と類似した図であり、
図12のVGG19 ネットモデルに代えてVGG16 ネットモデルを用いて各層の出力形状とともに「表面」モデルの概念ブロックを示している。この表面モデルのアーキテクチャは、
図12の表面モデルに類似しているが、層の数が少ない。
図33は、
図12のモデルに追加されたドロップアウト層を示している。ドロップアウト層は、ネットワークのニューロンの何割かをランダムにオフに切り替えるために追加される場合がある。ニューロンがオフに切り替えられると、これらニューロンに対する入出力接続部もまたオフに切り替えられる。これは、モデルの学習を強化するために実施される場合がある。
【0155】
種々のディープニューラルネットワークモデルを試みて訓練した。さらに、モデルをドロップアウト層付きで又はドロップアウト層なしで訓練した。
図34は、VGG19ネットモデルである
図12のモデルに用いられた出力層の前の層を示している。このモデルは、ドロップアウト層なしで訓練された。その代わりに、VGG19ネットモデルの上に、もう1つの畳み込み層が平坦化操作の前に適用された。
【0156】
一例では、CNNモデルの精度及びリコール値を向上させるため、タスクに利用可能な入出力ペアデータを適合させ、又は改良するための微調整を実施するのがよい。微調整では、CNNアーキテクチャをアップデートし、そしてこれを再訓練して、互いに異なるクラスの新たな特徴や異なる特徴を学習するのがよい。微調整は、多ステッププロセスであり、この微調整では、以下のステップ、すなわち、(1)ネットワークの端のところ(すなわち、実際のクラスラベル予測が行われる場所)の全結合ノードを除去するステップ、(2)全結合ノードを新たに初期化されたノードと置き換えるステップ、(3)ネットワーク内の初期の又はトップの畳み込み層をフリーズしてモデルによって学習された任意の先の堅牢な特徴が上書きされず又は破棄されないようにするステップ、(4)全結合層だけを一定の学習率で訓練するステップ、及び(5)ネットワーク中の畳み込み層の一部又は全てを解凍し、追加の訓練を比較的小さい学習率により同一データセット又は新たなデータセットで実施するステップのうちの1つ以上を含む。一例では、微調整は、レンズ縁モデルとレンズ表面モデルの両方に関し、良好なレンズについて精度及びリコール値を向上させるために用いられる。
【0157】
モデルが各カテゴリに対して正確な予測器を学習しているかどうかを評価するため、クラス活性度マップ(CAM)を用いるのがよい。CAMは、各クラスの出力を活性度した像領域が各欠陥カテゴリに関連していることを確認するために使用できる。CAMを用いると、訓練者は、分類をもたらす欠陥が見いだされるのが画像中のどこであるかを可視化することができる。CNNモデルが、可視化されるべき最終のステップに最も近くなるまで活性度の各ステップ後に入力像中における処理効果を可能にするので、これら中間ステップの像を操作すると、ネットワークの能力及び予測の理論的根拠に関する直感的な指標をもたらすことができる。これらの視覚的指標は、モデルを必要ならば微調整し又は調整することができるよう、訓練及び予測がどのように良好に挙動しているかについてのフィードバックを訓練者に提供する。
【0158】
中間活性度を可視化するプロセスは、CNNの1つ以上の中間畳み込み層の出力を像として生成するステップから成る。次に、これらの像を操作すると、例えば、熱活性度マップを生成することによってこれら像をどのように解釈するか、かつ/或いは、各欠陥カテゴリについて出力を活性度した像領域を示すためにアウトライン又はマークで像の幾つかの部分をどのように注釈するかについて訓練者を助けることができる。
【0159】
中間活性度及びCAMを本発明のレンズ検査システムにどのように組み込むか又は実装するかを示すため、最初に、
図35を参照されたい。“Bubble”表面欠陥の3つの例について前処理ステップから生成された3つの異なる出力がBubble 1,Bubble 2,及びBubble 3として注釈された状態で示されている。
図3のプロセスを参照して説明したように、これらの像は、CNNモデルへの入力を表しており、各像は、900×900ピクセルの形を有する。モデルのための入力は、(900,900,3)の形を有するのがよく、この場合、数字“3”は、グレースケールではなくRGB像について事前学習されたモデルに関するチャンネルの数を示している。かくして、グレーチャンネルを他の2つのチャンネルに人為的にコピーすることによって、グレースケール像をモデルのための入力として用いることができる。
【0160】
図35からの像をモデルに入力してこれら像が互いに異なる畳み込み層(例えば、
図12の“block1”又は“block2”)を通過した後、これらの層からの出力を像として見ることができる。次に、
図36A、
図36B、及び
図36Cを参照すると、
図35の3つの入力像に関する第1の畳み込みブロック(“block1”)の第1の畳み込み演算(“conv1”)の64チャンネル出力相互間の比較が示されている。第1の畳み込み演算(“conv1”)は、CNNモデル内の第1の処理段階を表している。64チャンネルの各々の出力は900×900ピクセルの像形状を有する。これらの像は、CNNモデルが訓練されている間、又は本番画像に関し、モデルがクラスカテゴリを予測している間、CNNモデルが何を見ているかを示している。像は、知見を開発者及び訓練者に提供し、かかる知見は、モデルの有効性及び歩留まりにとって極めて重大である。CAMを用いることによって、開発者及び訓練者は、モデルが画像中のどの領域を見ているかを知ることができ、それに基づいてモデルのバイアスの理由を特定することができる。かくして、モデルをCAMに基づいてマイナーチェンジし微調整することができ、その結果、モデルは、機械学習を用いて製造検査にとってより堅牢でありかつ開発可能であることができるようになっている。
【0161】
図37は、
図36A~
図36Cの3つの出力例の各々について、64チャンネルのうちの1つの拡大図又は像を示している。最初の処理段階だけで、図示のCAMに基づき、モデルは、各入力像内の欠陥を取り出すことに成功している。各入力像は、異なるカーネル又はフィルタを用いて異なる畳み込み層によって処理されるので、像の異なる領域及び観点が用いられる。特徴のうちで容易に認識可能であるものもあれば、特に後の畳み込み層ではより抽象的なものもある。これらの異なる層からの出力像を利用すると、開発者及び訓練者がモデルをプログラムして微調整するのを助けることができる。
【0162】
CAMは、特定の出力クラスと関連していて、入力像のあらゆる場所についてコンピュータ計算されたスコアの2Dグリッドである。CAMは、最後の畳み込み層によって出力された像中の各ピクセルが特定の出力クラスをどの程度強く活性度するかを示しており、したがって、CAMは、像のどの一部又は複数の部分がモデルを最終的な分類決定に導いたかを理解するのに役立つ。CAMは、例えば8つのレンズ表面分類及び3つのレンズ縁分類について生成された評価すべきクラスの各々についてコンピュータ計算されるのがよい。
図38は、気泡のあるレンズの元の入力像(左のもの)と、最後の畳み込み層の出力に基づいてコンピュータ計算された最終の予測クラスのCAM像(小さい中央のもの)を示している。CAM画像は、次に補完され、そして“Bubble”表面欠陥像(すなわち、左側の像)について前処理された像上に重ね合わされ、この“Bubble”表面欠陥像は、ヒートマップ(右側の像)として示され、ラベル付きのCAMを定めている。
図38と同様、
図39は、“Scratch”表面欠陥像について前処理された像上に重ねられた最終予測クラスのCAMを示している。AIネットワークによって生成されたヒートマップは、予測クラスの活性度における重要度に比例して、色を像の全てのピクセルに割り当てる。
【0163】
モデルを改良し又は微調整するためにCAMをどのように使用できるかについての一例として、
図39の“Scratch”表面欠陥像のCAM像を取り上げる。アルゴリズムが“Scratch”カテゴリについての予測器として縁を用いる傾向が明らかであった。これは、像中のレンズの外形又は縁周りのヒートマップによって見ることができる。この傾向は、例えば訓練用データセットを増大させて“Scratch”カテゴリの予測の正確度を向上させることによって減少させることができる。CAMを用いると、アルゴリズムが図示のように“Scratch”カテゴリについてだけでなく、幾つかのカテゴリの各々について正確な予測器を学習しているかどうかを評価することができる。
【0164】
図40A及び
図40Bは、同一の像についての、しかしながら互いに異なる訓練プロトコル下における“Scratch”カテゴリについてのCAM像を示している。“Scratch ”カテゴリに関する
図40AのCAM像は、500個の像上で訓練されたモデルであるのに対して、
図40BのCAM像は、700個の像上で訓練されたモデルで得られたものである。
図40Aと
図40Bの対照比較から分かるように、CNNモデルは、
図40Bの像上における“Scratch ”を見いだすための予測器として、レンズ縁の少ないものを用いた。同じことをクラス、カテゴリの各々について実施するのがよい。かくして、訓練用データセットを増加させることにより、例えば追加の像取得又はデータ拡張により、分類正確度を向上させることができる。
【0165】
次に
図41(A)を参照すると、レンズ表面上のかき傷の周囲にバウンディングボックス310を有する前処理された像が示されており、最終予測クラスのCAMが、関心領域の周囲にバウンディングボックス312が設けられた状態のかき傷を含む前処理された像上に重ね合わされている。ラベル付きCAMとも呼ばれるCAM上のバウンディングボックス312は、像上の関心領域に基づいて、例えばCAM像のヒートマップのプロフィールに基づいてコンピュータ計算されるのがよく、次に、かかるバウンディングボックスを生成すると、関心領域の周りの境界を定めてレビューを容易にすることができる。本実施形態では、バウンディングボックス312は、全体として正方形の形をしている。次に、CAMについて導出されたバウンディングボックス312を前処理された像上に重ね合わせるのがよく、その結果、前処理された像上の関心領域の周りのバウンディングボックス310(これは、白黒であってよい)を容易に観察することができるようになっている。すなわち、前処理された像には、関心領域周りのバウンディングボックスがラベル付けされ、前処理された像上の関心領域周りのバウンディングボックスは、ラベル付けされたCAM像に基づいている。例えば、前処理された像上のバウンディングボックスの位置及び形状は、CAM像上のバウンディングボックスの位置及び形状に基づいているのがよい。幾つかの例では、前処理された像上のバウンディングボックスとCAM像上のバウンディングボックスは、同一の形であってもよく、或いは異なる形であってもよい。例えば、前処理された像上のバウンディングボックスのサイズは、CAM像上のバウンディングボックスのサイズと比較して小さく設定されているのがよく、というのは、前処理された像にはヒートマップが何ら含まれていないからである。
【0166】
バウンディングボックスの形状は、様々であってよく、かかる形状は、互いに異なる多角形、三角形、又は不規則な形を含み、しかも像内の複数の関心領域に注釈を付けるために像ごとに複数のバウンディングボックスを含むのがよい。バウンディングボックスの形状は、欠陥のある関心領域の輪郭にマッチする必要はない。幾つかの例では、欠陥領域の実際の輪郭は、欠陥を注釈するために強調されている。幾つかの例では、分析され又は訓練されるべき複数の像の各々について、元の像上の欠陥領域は、例えばバウンディングボックスでラベル付けされ、又は欠陥領域の輪郭を強調することによってラベル付けされる。ラベル付けされた元の像、例えば前処理された像は、訓練用、表示用、マーケティング用などに使用できる。
【0167】
CAMにより、ユーザ又はプログラマは、カテゴリ化されるべき像を検査することができ、そして、像のどの部分/ピクセルがモデルの最終出力により多く貢献したかを理解することができる。これは、AIモデルの正確度を高める上で非常に有用な場合があり、というのは、一例として、CAMは、どの層が変更される必要があるか、又は、例えば、訓練用セットの像を異なる方法で前処理するかどうかを理解する上で役立つからである。ニューラルネットワークが見ている場所を可視化することが有用であり、というのは、これは、ニューラルネットワークが像の適切な部分を見ているかどうか、又はニューラルネットワークがパターンに基づいて像を分類しているかどうかを理解するのに役立つからである。
【0168】
次に
図41(B)を参照すると、レンズ表面上の領域周りにバウンディングボックス350,352を有する前処理された像が示されており、最終予測クラスのCAMが、関心領域周りにバウンディングボックス350,352を備えた前処理済み像上に重ね合わされている。本実施形態では、関心領域は、レンズを像取得中に置いたサファイアが汚れている領域である。CAM上のバウンディングボックス350,352は、像上の関心領域に基づいて、例えばCAM像のヒートマップのプロフィールに基づいてコンピュータ計算されるのがよい。コンピュータ計算されたバウンディングボックス350,352は、関心領域の周りの境界を定めることができ、それによりこれら領域のレビューを容易にすることができる。本実施形態では、第1のバウンディングボックス350は、全体として楕円形又は長円形であり、第2のバウンディングボックス352は不規則な形をしている。CAMについて導出されたバウンディングボックス350,352は、次に、前処理された像上の関心領域の周りのバウンディングボックス350,352(これは、白黒であってよい)を容易に観察することができるように前処理された像上に重ね合わされるのがよい。幾つかの例では、前処理された像上のバウンディングボックスとCAM像上のバウンディングボックスは、同一であってもよく異なっていてもよい。
【0169】
上述したように、AIネットワークにより生成されたヒートマップは、予測されたクラスの活性度における重要度に比例して全てのピクセルに色を割り当てる。ヒートマップを出力する代わりに、或いはヒートマップに加えて、欠陥領域とみなすことができる、又は欠陥領域と呼ぶことができる関心領域に対してしきい値を定めるのがよく、次に、欠陥領域を例えば
図41(A)及び
図41(B)に示すバウンディングオブジェクトで注釈を付けるのがよい。
【0170】
本明細書で用いられるCNNモデルは、多クラス単一ラベル分類器であり、
したがって、出力は、確率のベクトルから成る。すなわち、あるモデルの出力は、サイズ(1,8)の1つのベクトルを生じさせ、「表面」モデルが訓練された土台としての各クラスについては1つずつであり、別のモデルの出力は、サイズ(1,3)の1つのベクトルを生じさせ、これは、「縁」モデルが訓練された土台としての各クラスについては1つずつである。各モデルの最終結果は、各分析像で最も可能性の高いクラスのインデックスである。
【0171】
一例では、「表面」モデルの出力ベクトルは、8つの確率から成る。クラスのインデックスは、
図42に示す“Debris”を有する像の例に関し、
図43に示す順序に一致するようプログラムされるのがよい。図示のように、
図42の“Debris”を有する像に関し、モデルは、
図43に示す出力確率を生じさせる。この出力は、“Brains”である可能性が20%、“Debris”である可能性が74%、“Double Lens”である可能性が6%、それ以外のものである可能性はほとんどないと解釈できる。最終的な出力は、この場合“Debris”である最も高い可能性を備えたクラスである。オプションとして、レンズ検査システムの出力は、
図43に示す確率の表にすることができる。
【0172】
十分に訓練されたモデルが時間の経過とともに受けるデータドリフトを防止するために、モデルを像データ用の「自己符号化器」又は「畳み込み自己符号化器」を使用して訓練することができる。一例として、新たな欠陥が製造プロセスにおける変化によって発生する場合がある。モデルがこの特定形式の欠陥について訓練されていなければ、訓練されたモデルは、レンズを不合格にする理由としてこの欠陥を検出し損なう恐れがあり、したがって、新たな欠陥のあるレンズを“Good lens”と識別する場合がある。再訓練は、この状況を是正するための最終的な解決策であるといえる。
【0173】
自己符号化器は、内部表示に基づき、入力として受け取った像にできるだけ近い像を出力することができるよう、入力データの表示を学習する。かくして、この機能は、入力データの代表的な特徴を学習する。原理は、CNNモデルであるのがよく、例えばVGG16 ネット又はVGG19 ネットである予測モデルの開発のために用いられる訓練用データで自己符号化器を訓練することにある。自己符号化器が訓練用データでいったん訓練されると、出力像が入力像にどれだけ近いかについて幾つかのメトリクスを計算し、入力像と再構成像がどれほど類似しているかを確認することができる。
【0174】
さらに、製造環境では、到来するデータもまた、符号化器に送られ、上述したように確立したメトリクスを計算する。再構成された像の品質が期待値を大幅に下回る場合、これには赤のフラグが立てられ、このことは、入力の変化が生じたことを指示する場合がある。データドリフトの問題が識別された場合に再訓練を助けるため、定期的な像取得及び生産ラインからの生のデータセットを維持することは、モデルに自己符号化器を与えるよう実施されるのがよい。
【0175】
本明細書において説明したAIネットワークは、多クラス単一ラベル分類器として訓練されるとともに実装されている。すなわち、ネットワークは、説明したクラスの各々について信頼度を出力することができるが、これらネットワークは、同一の入力像中に見いだされる複数の欠陥を識別することはできない。しかしながら、AIネットワークは、多クラス多ラベル分類器として動作するよう訓練することができる。すなわち、モデルは、同一入力像中に見いだされる複数の欠陥を識別するよう訓練されるのがよく、同一像中に2つ以上の欠陥を有する場合がある。複数の欠陥の予測を達成するため、例えば“Bubble”及び“Scratch”の両方を含む像の訓練用データセット及び検証用データセットが取得されなければならず、そしてこれらを用いてAIネットワーク、例えば本発明のCNNモデル、特にVGG16、VGG19、AlexNet、Inception、及びGoogleNetを訓練して検証するために用いなければならない。訓練、検証、及び予測プロセスは、本明細書においてどこか他の場所で説明したプロセスに従うのがよい。
【0176】
上記において示唆したように、本発明のCNNモデルは、レンズを湿潤状態で、例えばレンズが生理食塩水又は他のパッケージング溶液で満たされたブリスターパック内に入っているときに、分析して分類するよう訓練されるのがよい。ブリスターパックを剥離可能なカバーで密封する前に、レンズをこれらの湿潤状態で画像化するのがよい。次に湿潤状態のレンズの画像を用いると、モデルを訓練して検証することができる。像は、同一の焦点深度の状況でカメラにより撮像されるのがよく、その結果、縁及び表面の欠陥を同一画像において検査することができるようになる。これにより、レンズ検査システムは、単一のCNNモデルを用いて動作することができる。さらに、レンズ上の特徴、ブリスター上の特徴、或いは生理食塩水バス内で浮いている特徴を識別するのを助けるため、同一レンズの像を第1の位置で撮影するのがよく、次に、これを第2の位置に回転させ又は移動させるのがよい。2つの異なる位置における同一レンズの2つの像は、互いに対して動く特徴を捕捉することができ、これら特徴は、ブリスターパック、レンズ、又は生理食塩水バスと関連したものとしてCNNモデルによってピックアップされるのがよい。オプションとして、第1のCNNモデルを用いると、像の回転前又は移動前、回転後又は移動後を分析することができ、第2のCNNモデルを用いると、像の回転後又は移動後を分析することができる。
【0177】
本明細書において提供されたレンズ検査システム及びコンポーネントを訓練する方法及び用いる方法は、本発明の範囲に含まれる。
【0178】
レンズ検査システム及びこれらのコンポーネントの限定された実施形態を本明細書において具体的に説明するとともに図示したが、多くの改造及び多くの変形は、当業者には明らかであろう。したがって、理解されるべきこととして、開示した装置、システム、及び方法の原理に従って構成されたレンズ検査システムは、本明細書において具体的に説明した形態以外の形態で具体化できる。本発明の内容は、特許請求の範囲の記載に基づいて定められる。
【手続補正書】
【提出日】2024-01-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
オフサルミックレンズを検査して分類を前記オフサルミックレンズの像に割り当てる方法であって、
a)コンピュータシステムで第1の像にアクセスするステップを含み、前記第1の像は、第1のオフサルミックレンズのレンズ縁の像を含み、前記第1の像は、焦点面のところで焦点が合った前記レンズ縁のビューを提供し、したがって、前記レンズ縁は、焦点が合った状態にあり、前記レンズ縁は、レンズ縁の単一の全体像を含むようになっており、前記第1の像中に表された前記第1のオフサルミックレンズは、極座標系で表示され、前記極座標系は、直交座標系から変換されており、
b)前記第1の像を前記コンピュータシステムのハードウェアプロセッサ及びメモリが実装された「縁」畳み込みニューラルネットワークで処理することによって、レンズの欠陥があるかどうかについて分析すべき前記第1の像上の領域を識別するステップを含み、前記「縁」畳み込みニューラルネットワークは、レンズ縁欠陥について互いに異なる欠陥タイプを有する像を含むデータセットを用いて訓練され、
c)前記第1の像に基づいてクラス活性度マップ(CAM)を生成するステップを含み、
d)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を前記CAM上の欠陥領域にラベル付けしてラベル付きCAMを規定し、しかる後、前記ラベル付きCAMを出力するステップを含み、
e)前記第1の像の分類を前記「縁」畳み込みニューラルネットワークを用いて生成し、そして該分類を出力して、第1の分類された像を生じさせるステップを含み、前記分類は、少なくとも1つには前記欠陥領域に基づいており、前記分類は、複数のレンズ縁欠陥クラスのうちの1つであり、
f)第2の像にコンピュータシステムを用いてアクセスするステップを含み、前記第2の像は、前記第1のオフサルミックレンズのレンズ表面の像を含み、前記第2の像は、前記レンズ表面の単一の全体像を提供し、前記第2の像は、前記レンズ縁の上方で前記レンズと交差する焦点面のところで焦点が合っており、したがって、前記レンズ表面は、焦点が合う状態になっており、
g)前記第2の像を前記コンピュータシステムのハードウェアプロセッサ及びメモリが実装された「表面」畳み込みニューラルネットワークで処理することによって、レンズの欠陥があるかどうかについて分析すべき前記第2の像上の領域を識別するステップを含み、前記「表面」畳み込みニューラルネットワークは、レンズ表面欠陥について互いに異なる欠陥タイプを有する像を含むデータセットを用いて訓練され、前記「表面」畳み込みニューラルネットワークは、前記「縁」畳み込みニューラルネットワークとは別のものであり、
h)前記第2の像に基づいてクラス活性度マップ(CAM)を生成するステップを含み、
i)ヒートマップ及びバウンディングボックスのうちの少なくとも一方を前記CAM上の欠陥領域にラベル付けしてラベル付きCAMを規定し、しかる後、前記ラベル付きCAMを出力するステップを含み、
j)前記第2の像の分類を「表面」畳み込みニューラルネットワークを用いて生成し、そして該分類を出力して第2の分類された像を生じさせるステップを含み、前記分類は、少なくとも1つには前記欠陥領域に基づいており、前記分類は、複数のレンズ表面欠陥クラスのうちの1つである、方法。
【請求項2】
前記オフサルミックレンズの前記第1の像は、前記オフサルミックレンズが乾燥状態で支持体上に置かれたとき、又は前記オフサルミックレンズが湿潤状態で液浴内に存在しているときに取得される、請求項1記載の方法。
【請求項3】
前記複数のレンズ表面欠陥クラスは、少なくとも2つのクラスを含む、請求項1記載の方法。
【請求項4】
前記複数のレンズ表面欠陥クラスは、少なくとも3つのクラスを含み、前記少なくとも3つのクラスは、Good Lens(良品レンズ)クラス、Bubble(泡入り)クラス及びScratch(傷入り)クラスを含む、請求項3記載の方法。
【請求項5】
前記第1の像は、第1のカメラによって取得され、前記第1の像は、高さピクセル値及び幅ピクセル値を有し、前記高さピクセル値及び前記幅ピクセル値は、前記第1のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項1記載の方法。
【請求項6】
前記AIネットワークを前記ラベル付けCAMによって提供される情報に基づいて再訓練し又は微調整するステップをさらに含む、請求項1記載の方法。
【請求項7】
前記AIネットワークを以下のステップ、すなわち、(1)実際のクラスラベル予測がなされる前記AIネットワークの端のところの全結合ノードを除去するステップ、(2)全結合ノードを新たに初期化されたノードで置き換えるステップ、(3)前記AIネットワーク中の初期の又は頂部の畳み込み層をフリーズさせて前記AIモデルにより学習された任意の先の堅牢な特徴量が上書きされず又は破棄されないようにするステップ、(4)全結合層のみをある1つの学習率で訓練するステップ、及び(5)前記AIネットワーク中の幾つかの又は全ての畳み込み層をアンフリーズし、そして比較的小さな学習率で同一のデータセット又は新たなデータセットを用いて追加の訓練を実施するステップのうちの少なくとも1つを実施することによって前記AIネットワークを再訓練し又は微調整するステップをさらに含む、請求項6記載の方法。
【請求項8】
前記第2の像は、第2のカメラによって取得され、前記第2の像は、高さピクセル値及び幅ピクセル値を有し、前記第2の像の前記高さピクセル値と前記幅ピクセル値は、前記第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項1記載の方法。
【請求項9】
前記CAMは、最後の畳み込み層の出力に基づいてコンピュータ計算される、請求項1~8のうちいずれか一に記載の方法。
【請求項10】
前記第1の像は、前処理後の像であり、前記CAMは、外挿された前記前処理された第1の像上に重ね合わされる、請求項9記載の方法。
【請求項11】
前記「縁」畳み込みニューラルネットワーク及び前記「表面」畳み込みニューラルネットワークは、クラウド(Cloud)上、前記第1の像及び前記第2の像が記憶された記憶装置を含むコンピュータシステム上、又は第1の像及び第2の像が記憶されていない記憶装置を含むコンピュータシステム上に常駐している、請求項1記載の方法。
【請求項12】
オフサルミックレンズのレンズ像を分類するシステムであって、
少なくとも1つのハードウェアプロセッサと、
前記少なくとも1つのハードウェアプロセッサによって実行されると、前記少なくとも1つのハードウェアプロセッサに請求項1記載の方法を実施させる命令が記憶されたメモリとを含む、システム。
【請求項13】
前記第1の像には、関心のある領域周りにバウンディングボックスがラベル付けされ、前記第1の像上の前記関心領域周りの前記バウンディングボックスは、前記ラベル付きCAMに基づいている、請求項12記載のシステム。
【請求項14】
前記複数のレンズ表面欠陥クラスは、少なくとも2つのクラスを含む、請求項2記載の方法。
【請求項15】
前記第1の像は、第1のカメラによって取得され、前記第1の像は、高さピクセル値及び幅ピクセル値を有し、前記高さピクセル値及び前記幅ピクセル値は、前記第1のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項2記載の方法。
【請求項16】
前記第1の像は、第1のカメラによって取得され、前記第1の像は、高さピクセル値及び幅ピクセル値を有し、前記高さピクセル値及び前記幅ピクセル値は、前記第1のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項3記載の方法。
【請求項17】
前記AIネットワークを前記ラベル付けCAMによって提供される情報に基づいて再訓練し又は微調整するステップをさらに含む、請求項2記載の方法。
【請求項18】
前記AIネットワークを前記ラベル付けCAMによって提供される情報に基づいて再訓練し又は微調整するステップをさらに含む、請求項3記載の方法。
【請求項19】
前記第2の像は、第2のカメラによって取得され、前記第2の像は、高さピクセル値及び幅ピクセル値を有し、前記第2の像の前記高さピクセル値と前記幅ピクセル値は、前記第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項2記載の方法。
【請求項20】
前記第2の像は、第2のカメラによって取得され、前記第2の像は、高さピクセル値及び幅ピクセル値を有し、前記第2の像の前記高さピクセル値と前記幅ピクセル値は、前記第2のカメラによって取得されたテンプレート像に基づいてサイズ設定される、請求項3記載の方法。
【請求項21】
前記「縁」畳み込みニューラルネットワーク及び前記「表面」畳み込みニューラルネットワークは、クラウド(Cloud)上、前記第1の像及び前記第2の像が記憶された記憶装置を含むコンピュータシステム上、又は第1の像及び第2の像が記憶されていない記憶装置を含むコンピュータシステム上に常駐している、請求項2記載の方法。
【国際調査報告】