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

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

▶ 株式会社ロビットの特許一覧

<>
  • 特許-検査プログラム及び検査装置 図1
  • 特許-検査プログラム及び検査装置 図2
  • 特許-検査プログラム及び検査装置 図3
  • 特許-検査プログラム及び検査装置 図4
  • 特許-検査プログラム及び検査装置 図5
  • 特許-検査プログラム及び検査装置 図6
  • 特許-検査プログラム及び検査装置 図7
  • 特許-検査プログラム及び検査装置 図8
  • 特許-検査プログラム及び検査装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-25
(45)【発行日】2024-08-02
(54)【発明の名称】検査プログラム及び検査装置
(51)【国際特許分類】
   G01N 21/88 20060101AFI20240726BHJP
【FI】
G01N21/88 J
【請求項の数】 10
(21)【出願番号】P 2024501138
(86)(22)【出願日】2023-05-24
(86)【国際出願番号】 JP2023019408
【審査請求日】2024-01-18
【新規性喪失の例外の表示】特許法第30条第2項適用 2022年5月25日、https://prtimes.jp/main/html/rd/p/000000022.000020284.html 2022年6月7日~2022年6月10日、FOOMA JAPAN 2022 2022年6月8日、https://smartagri-jp.com/news/4562 2023年3月30日、https://xtech.nikkei.com/atcl/nxt/column/18/00001/07869/
【早期審査対象出願】
(73)【特許権者】
【識別番号】516095501
【氏名又は名称】株式会社ロビット
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(72)【発明者】
【氏名】新井 雅海
(72)【発明者】
【氏名】河北 薫
(72)【発明者】
【氏名】平野 龍一
【審査官】井上 徹
(56)【参考文献】
【文献】特開2022-160796(JP,A)
【文献】特開2012-143670(JP,A)
【文献】特開2020-153765(JP,A)
【文献】特開2015-203586(JP,A)
【文献】特開2023-672(JP,A)
【文献】“カット野菜、ドライフルーツ、アーモンドなどの外観検査”, イプロスものづくり,2022年08月29日,[online],[2024年4月18日検索], インターネット<URL:https://www.ipros.jp/product/detail/2000736222/>
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84-21/958
B07C 1/00-99/00
G01B 11/00-11/30
G06T 7/00- 7/90
JSTPlus/JMEDPlus/JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
対象物を検査するコンピュータに、
前記対象物において同一部位に発生し得る複数の異常種類毎に、前記対象物における異常レベルに応じて前記対象物が正常品であるか異常品であるかを特定するための所定値を設定し、
撮像された前記対象物の画像に対して、機械学習モデルにおいて第1のマップを用いて、前記対象物の各部位における異常レベルを判定し、
前記第1のマップとは異なる前記複数の異常種類毎の複数の第2のマップを用いて、前記複数の異常種類の中から前記各部位における一以上の異常種類を決定し、
前記第1のマップ及び前記複数の第2のマップとは異なる第3のマップを用いて、前記対象物の各部位において異常がある確率を表す複数の異常度を出力し、
前記第1のマップと前記複数の第2のマップと前記第3のマップとの対応関係に基づいて、決定した前記一以上の異常種類毎に、出力された前記異常度が閾値以上である部位のうち、判定された前記異常レベルが設定された前記所定値以上である部位を含む前記対象物を前記異常品として特定する、
処理を実行させる、検査プログラム
【請求項2】
前記第3のマップにおける前記複数の異常度の中から、前記複数の異常種類毎の第1の閾値のうち最小の第1の閾値以上である一以上の異常度を抽出し、
前記複数の第2のマップのそれぞれにおいて、前記第3のマップにおいて抽出した前記一以上の異常度が存在する座標に対応する座標の中から、第2の閾値以上の値又は最大の値を抽出し、
前記複数の第2のマップのそれぞれにおいて抽出した前記第2の閾値以上の値又は最大の値の座標について、前記第1のマップで対応する座標の値が前記所定値以上である座標を含む前記対象物を前記異常品として特定する、
処理を前記コンピュータに実行させる、請求項に記載の検査プログラム。
【請求項3】
前記対象物の状態として、前記正常品及び前記異常品に加えて、前記正常品と前記異常品との中間の品質を有する中間品を含み、
前記所定値は、前記対象物が前記異常品であるか前記中間品であるかを特定するための第1の所定値と、前記対象物が前記中間品であるか前記正常品であるかを特定するための第2の所定値とを含み、前記第1の所定値が前記複数の異常種類毎に複数設定されるとともに、前記第2の所定値が前記複数の異常種類毎に複数設定され、
判定された前記異常レベルが前記第1の所定値以上である部位を含む前記対象物を前記異常品として特定し、判定された前記異常レベルが前記第2の所定値以上であり且つ前記第1の所定値未満である部位を含み且つ前記異常品として特定されていない前記対象物を前記中間品として特定し、判定された前記異常レベルが前記第2の所定値未満である部位を含み且つ前記異常品又は前記中間品として特定されていない前記対象物を前記正常品として特定する、
処理を前記コンピュータに実行させる、請求項1又は2に記載の検査プログラム。
【請求項4】
前記複数の異常種類毎に、前記中間品の排出率を設定し、
複数の前記対象物の中から、前記異常品の全部に加えて、前記中間品のうち前記排出率に応じた一部を排出する、
処理を前記コンピュータに実行させる、請求項に記載の検査プログラム。
【請求項5】
前記異常種類毎に複数の前記所定値を設定し、
前記異常種類毎に複数の前記異常レベルを判定し、
判定された前記複数の異常レベルのそれぞれが設定された前記複数の所定値のうち対応する所定値以上である部位を含む前記対象物を前記異常品として特定する、
処理を前記コンピュータに実行させる、請求項1又は2に記載の検査プログラム。
【請求項6】
対象物を検査する検査装置であって、
前記対象物において同一部位に発生し得る複数の異常種類毎に、前記対象物における異常レベルに応じて前記対象物が正常品であるか異常品であるかを特定するための所定値を設定し、
撮像された前記対象物の画像に対して、機械学習モデルにおいて第1のマップを用いて、前記対象物の各部位における異常レベルを判定し、
前記第1のマップとは異なる前記複数の異常種類毎の複数の第2のマップを用いて、前記複数の異常種類の中から前記各部位における一以上の異常種類を決定し、
前記第1のマップ及び前記複数の第2のマップとは異なる第3のマップを用いて、前記対象物の各部位において異常がある確率を表す複数の異常度を出力し、
前記第1のマップと前記複数の第2のマップと前記第3のマップとの対応関係に基づいて、決定した前記一以上の異常種類毎に、出力された前記異常度が閾値以上である部位のうち、判定された前記異常レベルが設定された前記所定値以上である部位を含む前記対象物を前記異常品として特定する、
プロセッサを備える、検査装置
【請求項7】
前記プロセッサは、
前記第3のマップにおける前記複数の異常度の中から、前記複数の異常種類毎の第1の閾値のうち最小の第1の閾値以上である一以上の異常度を抽出し、
前記複数の第2のマップのそれぞれにおいて、前記第3のマップにおいて抽出した前記一以上の異常度が存在する座標に対応する座標の中から、第2の閾値以上の値又は最大の値を抽出し、
前記複数の第2のマップのそれぞれにおいて抽出した前記第2の閾値以上の値又は最大の値の座標について、前記第1のマップで対応する座標の値が前記所定値以上である座標を含む前記対象物を前記異常品として特定する、
請求項に記載の検査装置。
【請求項8】
前記対象物の状態として、前記正常品及び前記異常品に加えて、前記正常品と前記異常品との中間の品質を有する中間品を含み、
前記所定値は、前記対象物が前記異常品であるか前記中間品であるかを特定するための第1の所定値と、前記対象物が前記中間品であるか前記正常品であるかを特定するための第2の所定値とを含み、前記第1の所定値が前記複数の異常種類毎に複数設定されるとともに、前記第2の所定値が前記複数の異常種類毎に複数設定され、
前記プロセッサは、
判定された前記異常レベルが前記第1の所定値以上である部位を含む前記対象物を前記異常品として特定し、判定された前記異常レベルが前記第2の所定値以上であり且つ前記第1の所定値未満である部位を含み且つ前記異常品として特定されていない前記対象物を前記中間品として特定し、判定された前記異常レベルが前記第2の所定値未満である部位を含み且つ前記異常品又は前記中間品として特定されていない前記対象物を前記正常品として特定する、
請求項6又は7に記載の検査装置。
【請求項9】
前記プロセッサは、
前記複数の異常種類毎に、前記中間品の排出率を設定し、
複数の前記対象物の中から、前記異常品の全部に加えて、前記中間品のうち前記排出率に応じた一部を排出する、
請求項に記載の検査装置。
【請求項10】
前記プロセッサは、
前記異常種類毎に複数の前記所定値を設定し、
前記異常種類毎に複数の前記異常レベルを判定し、
判定された前記複数の異常レベルのそれぞれが設定された前記複数の所定値のうち対応する所定値以上である部位を含む前記対象物を前記異常品として特定する、
請求項6又は7に記載の検査装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査プログラム及び検査装置に関する。
【背景技術】
【0002】
ワークを検査する際に、撮影されたワークの画像上に存在する異常(別言すれば、何らかの特異な部位)を検出するために、Artificial Intelligence(AI)が用いられることがある。
【0003】
AIを用いた異常検出では、異常が存在する確率や、異常が存在する場合の異常の種類等が出力される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2021-182225号公報
【文献】特開2021-131364号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、異常の有無やその異常の種類だけでなく、異常のレベル(別言すれば、深刻度)に応じて柔軟にワークを異常品とするか正常品とするかの選別が求められることがある。
【0006】
図1は、アーモンドのしぼみのレベルイメージを表す図である。
【0007】
図1には3個のアーモンドの画像が示されており、符号A1,A2,A3の順に、アーモンドの表面のしぼみレベルが大きくなっている。
【0008】
例えば、符号A2に示すように、全体がしぼんでいるが僅かなしぼみであるため正常品として扱えるアーモンドが存在する。一方、符号A3に示すよう、全体が著しくしぼんでいるため異常品として扱うアーモンドも存在する。
【0009】
どこまでの異常のレベルを正常品とするかは、ワークの選別の用途によって異なる場合があり、ワークの選別の用途に応じて複数の機械学習データを用意しなければならないおそれがある。
【0010】
例えば、アーモンドは、酒等のつまみのために使用される場合もあれば、洋菓子の上に1粒置かれて使用される場合もある。酒等のつまみのために使用される場合には僅かなしぼみなら許容されて選別されることが想定される一方、洋菓子の上に1粒置かれて使用される場合には僅かなしぼみでも許容されずに選別されることが想定される。
【0011】
1つの側面では、本明細書に記載する技術は、ワークの選別の用途にかかわらず柔軟なワークの選別が可能な検査プログラム及び検査装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
1つの側面において、検査プログラムは、対象物を検査するコンピュータに、前記対象物において同一部位に発生し得る複数の異常種類毎に、前記対象物における異常レベルに応じて前記対象物が正常品であるか異常品であるかを特定するための所定値を設定し、撮像された前記対象物の画像に対して、機械学習モデルにおいて第1のマップを用いて、前記対象物の各部位における異常レベルを判定し、前記第1のマップとは異なる前記複数の異常種類毎の複数の第2のマップを用いて、前記複数の異常種類の中から前記各部位における一以上の異常種類を決定し、前記第1のマップ及び前記複数の第2のマップとは異なる第3のマップを用いて、前記対象物の各部位において異常がある確率を表す複数の異常度を出力し、前記第1のマップと前記複数の第2のマップと前記第3のマップとの対応関係に基づいて、決定した前記一以上の異常種類毎に、出力された前記異常度が閾値以上である部位のうち、判定された前記異常レベルが設定された前記所定値以上である部位を含む前記対象物を前記異常品として特定する、処理を実行させる。
【発明の効果】
【0013】
開示の技術によれば、ワークの選別の用途にかかわらず柔軟なワークの選別が可能な検査プログラム及び検査装置を提供することができる。
【図面の簡単な説明】
【0014】
図1】アーモンドのしぼみのレベルイメージを表す図である。
図2】実施形態における検査システムのハードウェア構成例及び機能構成例を模式的に示すブロック図である。
図3】実施形態における異常レベルの設定画面を例示する図である。
図4】実施形態における入力画像のマップを例示する図である。
図5】(a)は異常度のマップを例示する図であり、(b)は異常レベルのマップを例示する図であり、(c)は異常種類#1のマップを例示する図であり、(d)は異常種類#2のマップを例示する図であり、(e)は異常種類#3のマップを例示する図である。
図6】(a)は異常度マップの評価処理を説明する図であり、(b)は異常種類の選定処理を説明する図であり、(c)は異常レベルに応じた最終評価の決定処理を説明する図である。
図7】実施形態における異常検査処理を説明するフローチャートである。
図8】実施形態における入力画像の事前処理を説明するフローチャートである。
図9】実施形態における機械学習処理を説明するフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。本実施形態は、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【0016】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0017】
以下、図中において、同一の符号を付した部分は同様の部分を示している。
【0018】
〔A〕実施形態の一例
〔A-1〕システム構成例
図2は、実施形態における検査システム100のハードウェア構成例及び機能構成例を模式的に示すブロック図である。
【0019】
検査システム100は、検査装置1,カメラ21,ディスプレイ22,搬送装置23を備える。
【0020】
カメラ21は、検査装置1による検査対象物であるワーク(対象物;不図示)を撮影し、撮影した画像を検査装置1へ入力する。カメラ21は、検査システム100に1つ備えられていてもよいし、複数備えられてもよい。ワークは、例えば、果実や野菜等の植物,動物又は工業製品であってよい。
【0021】
ディスプレイ22は、検査装置1のオペレータに対する種々の情報を表示する。ディスプレイ22は、例えば、図3を用いて後述する設定画面220を表示する。
【0022】
搬送装置23は、ワークをカメラ21が撮影できる位置へ搬送する。また、搬送装置23は、異常品であるワークを排出するための排出機構を備えてよい。
【0023】
搬送装置23は、ワークが軽量で破損しにくい物である場合には、送風ユニットを備えてよい。搬送装置23は、送風ユニットによってワークを飛ばして搬送する間にカメラ21によってワークを撮影させる。送風ユニットは、出力する風量が調整されることによって、正常品であるワークと異常品であるワークとを異なる位置(別言すれば、距離)に飛ばすことによって排出機構としての機能を実現してよい。また、搬送装置23が搬送用の送風ユニットと排出用の送風ユニットを備える場合には、排出用の送風ユニットが搬送用の送風ユニットとは異なる方向へ送風して、正常品であるワークと異常品であるワークとを異なる位置に飛ばすことによって排出機構としての機能を実現してもよい。
【0024】
また、搬送装置23は、コンベヤを備えてもよく、コンベヤによってワークを搬送する間にカメラ21によりワークを撮影させてもよい。この場合には、コンベヤの搬送方向と直交する方向へ送風する送風ユニットによって異常品であるワークを排出してもよいし、ワークを把持するためのロボットアームやワークを弾き飛ばすためのフラップ等によって異常品であるワークを排出してもよい。
【0025】
なお、搬送装置23は、排出機構に代えて、異常通知部を備えてもよい。異常通知部は、異常品であるワークが検出された際に、当該検出を検査システム100のオペレータへ通知してよい。異常通知部は、例えば、ディスプレイ22への画面表示やアラート音、ランプ等によって異常を通知してよい。
【0026】
検査装置1は、Central Processing Unit(CPU)11,メモリ12及び記憶装置13を備える。
【0027】
記憶装置13は、例示的に、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。記憶装置13は、実施形態における異常検査処理を実行するための機械学習モデルを記憶する。
【0028】
メモリ12は、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。RAMは、例えばDynamic RAM(DRAM)であってよい。メモリ12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【0029】
CPU11は、プロセッサの一例であり、例示的に、種々の制御や演算を行なう処理装置であり、メモリ12によって読み出されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPU11は、図1に示すように、学習モデル取得部111,異常レベル設定部112,異常レベル判定部113及び排出処理部114として機能してよい。
【0030】
なお、これらの学習モデル取得部111,異常レベル設定部112,異常レベル判定部113及び排出処理部114としての機能を実現するためのプログラムは、例えばフレキシブルディスク、CD(CD-ROM、CD-R、CD-RW等)、DVD(DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、HD DVD等)、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ(本実施形態ではCPU11)は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
【0031】
学習モデル取得部111,異常レベル設定部112,異常レベル判定部113及び排出処理部114としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ12)に格納されたプログラムがコンピュータ(本実施形態ではCPU11)によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【0032】
学習モデル取得部111は、実施形態における異常検査処理を実行するための機械学習モデルを生成して記憶装置13に記憶させる。また、学習モデル取得部111は、記憶装置13に記憶させた機械学習モデルを取得する。本実施形態では、閾値を適切に調整することで、複数の選別の用途に対応できる1つの機械学習モデルが実装される。
【0033】
異常レベル設定部112は、図3を用いて後述する設定画面220を用いたオペレータによる入力に基づき、判定の閾値,検査結果の閾値及び曖昧の排出率の情報を設定する。
【0034】
異常レベル判定部113は、学習モデル取得部111によって取得された機械学習モデルと、カメラ21による入力とに基づき、各ワークに異常が存在する場合の異常レベルを判定する。
【0035】
排出処理部114は、異常レベル設定部112による設定と、異常レベル判定部113による異常レベルの判定結果とに基づき、異常品であるワークを排出する。
【0036】
また、排出処理部114は、異常品であるか正常品であるか曖昧なワークの一部を排出してもよい。例えば、大きく欠けているアーモンドは全体のうち10%まで混入してもよいという場合には、異常レベル1~2は正常品とし、異常レベル2~3は曖昧として90%排出し、異常レベル3以上は異常品として全て排出する。
【0037】
図3は、実施形態における異常レベルの設定画面220を例示する図である。
【0038】
図3に示す設定画面220は、検査システム100のオペレータによって不図示のキーボードやマウスを用いて値が入力される。
【0039】
設定画面220には、異常の種類を示すラベル毎に、判定の閾値,判定結果の閾値及び曖昧の排出率が表示される。
【0040】
図3に示す例において、ラベルには、「しぼみ」,「虫食い」,「欠け」及び「異物」が表示されている。
【0041】
判定の閾値は、各ワークがそれぞれのラベルについての異常品である可能性の割合が設定される。
【0042】
検査結果の閾値は、各ワークの異常レベルに基づいて、各ワークがそれぞれのラベルについて正常品であるか、曖昧品であるか、異常品であるかの閾値が設定される。
【0043】
図3において、例えば、ラベル「しぼみ」について、検査結果の閾値は、異常レベル1.5未満は正常品(インジケータ221の白色領域を参照)で、異常レベル1.5以上且つ3.5未満は曖昧品(インジケータ221の斜線領域を参照)で、異常レベル3.5以上は異常品(インジケータ221の黒色領域を参照)であることを示している。
【0044】
なお、曖昧品は、正常品と異常品との中間の品質を有する中間品と称されてもよい。
【0045】
検査結果の閾値においては、入力ボックスに「1.5」(第2の閾値)や「3.5」(第1の閾値)の値が直接入力されてもよいし、インジケータ221を操作することによって値が調整されてもよい。
【0046】
また、図3において、例えば、ラベル「虫食い」について、検査結果の閾値は、異常レベル2.5未満は正常品(インジケータ221の白色領域を参照)で、異常レベル2.5以上は異常品(インジケータ221の黒色領域を参照)となっており、曖昧品の設定がなくてもよい。
【0047】
曖昧の排出率は、曖昧品と判定されたワークのうち何割を排出対象とするかが設定される。
【0048】
図4は、実施形態における入力画像のマップを例示する図である。
【0049】
図4では、[0,1]で正規化されたモノクロ画像の輝度が9×9のマップで表現されている。なお、入力画像はカラー画像であってもよい。
【0050】
図4に示す例において、0はワークが存在しない部位を表し、0.25はワークの正常部位が写っていることを表し、0.8の箇所に異常部位Aがあることを表し、0.65の箇所に異常部位Bがあることを表し、0.9の箇所に異常部位Cがあることを表す。
【0051】
図5の(a)は異常度のマップを例示する図であり、図5の(b)は異常レベルのマップを例示する図であり、図5の(c)は異常種類#1のマップを例示する図であり、図5の(d)は異常種類#2のマップを例示する図であり、図5の(e)は異常種類#3のマップを例示する図である。
【0052】
図5の(a)~(e)に示す例においては、図4に示した入力画像のマップと比較してセル解像度が3分の1である3×3とされている。なお、図5の(a)~(e)における各マップのセル解像度は3×3に限定されるものではなく、3×3よりも低くても高くてもよく、入力画像のマップと同じ(図4に示した例では9×9)であってもよい。
【0053】
図5の(a)において、異常度は、画像を機械学習で評価した結果として異常がある確率を表す。図5の(a)に示す例において、異常度は、異常部位Aがある箇所が0.71として反応し、異常部位Bがある箇所が0.8として反応し、異常部位Cがある箇所が0.55として反応している。
【0054】
図5の(b)において、異常レベルは、画像を機械学習で評価した結果として異常がある場合の異常の程度を表す。図5の(b)に示す例において、異常レベルは、異常部位Aがある箇所が0.6として反応し、異常部位Bがある箇所が0.1として反応し、異常部位Cがある箇所が0.9として反応している。
【0055】
図5の(c)~(e)において、異常種類は、図3に示したラベルに対応している。
【0056】
図5の(c)に示す例において、異常種類#1は、異常部位Aがある箇所が0.51として反応し、異常部位Bがある箇所が0.2として反応し、異常部位Cがある箇所が0.05として反応している。
【0057】
図5の(d)に示す例において、異常種類#2は、異常部位Aがある箇所が0.6として反応し、異常部位Bがある箇所が0.55として反応し、異常部位Cがある箇所が0.25として反応している。
【0058】
図5の(c)に示す例において、異常種類#3は、異常部位Aがある箇所が0.1として反応し、異常部位Bがある箇所が0.05として反応し、異常部位Cがある箇所が0.45として反応している。
【0059】
図6の(a)は異常度マップの評価処理を説明する図であり、図6の(b)は異常種類の選定処理を説明する図であり、図6の(c)は異常レベルに応じた最終評価の決定処理を説明する図である。
【0060】
異常種類#1の異常度の閾値が0.7であり、異常種類#2の異常度の閾値が0.6であり、異常種類#3の異常度の閾値が0.51であるとする。
【0061】
図6の(a)に示す異常度マップにおいて、各異常種類の閾値の中で最低の値(本例では、異常種類#3の0.51)を超えるセルが選定される。0.71の箇所をセル#1,0.8の箇所をセル#5,0.55の箇所をセル#9とする。
【0062】
図6の(b)に示す異常種類の選定においては、異常種類#1~#3のマップを並べて、各マップにおいて図6の(a)で選定されたセルの座標と同一の座標で閾値を超える値(本例では、0.5)が選択される。図6の(b)に示す例では、異常種類#1のマップで0.51が、異常種類#2のマップで0.6, 0.55が、閾値0.5を超える値として選ばれる。一方、異常種類#3のマップでは、図6の(a)で選定されたセルの座標と同一の座標で閾値0.5を超える値がないため、最大の値0.45が1つ選ばれる。
【0063】
図6の(c)に示す異常レベルに応じた最終評価の決定において、異常種類#1では異常レベル0.5以上は異常、異常種類#2では0.05~0.56を曖昧としそれ以上を異常、異常種類#3は0.75未満を正常としていた場合、セル#1は異常種類#1,#2がともに異常判定となり、セル#5は異常種類#2で曖昧判定となり、セル#9は異常種類#3で正常判定となる。
【0064】
〔A-2〕動作例
実施形態における異常検査処理を図7に示すフローチャート(ステップS1~S1)に示すフローチャートに従って説明する。
【0065】
異常レベル判定部113は、画像をAIで推論する(ステップS1)。
【0066】
異常レベル判定部113は、各異常種類の閾値で最も小さい異常度を超える異常度を持つセルがあるかを判定する(ステップS2)。
【0067】
各異常種類の閾値で最も小さい異常度を超える異常度を持つセルがない場合には(ステップS2のNoルート参照)、異常検査処理は終了する。
【0068】
一方、各異常種類の閾値で最も小さい異常度を超える異常度を持つセルがある場合には(ステップS2のYesルート参照)、ステップS4~S11,S13の処理を繰り返し実行し、最小の閾値を超えた異常度を持つ全てのセル評価を開始する(ステップS3)。なお、最小の閾値を超えた異常度を持つセル以外の全てのセルも含めて評価が行われてもよい。
【0069】
異常レベル判定部113は、セルの異常種類を決定する(ステップS4)。
【0070】
異常レベル判定部113は、異常度が決定された何れかの異常種類の閾値以上であるかを判定する(ステップS5)。
【0071】
異常度が決定された何れかの異常種類の閾値以上でない場合には(ステップS5のNoルート参照)、異常レベル判定部113は、異常種類マップの値のうち最大の値を採用する(ステップS13)。そして、処理はステップS12へ進む。
【0072】
一方、異常度が決定された何れかの異常種類の閾値以上である場合には(ステップS5のYesルート参照)、ステップS7~S10の処理を繰り返し実行し、決定した全ての異常種類の評価を開始する(ステップS6)。
【0073】
異常レベル判定部113は、異常レベルが曖昧以上であるかを判定する(ステップS7)。
【0074】
異常レベルが曖昧以上でない場合には(ステップS7のNoルート参照)、処理はステップS11へ進む。
【0075】
一方、異常レベルが曖昧以上である場合には(ステップS7のYesルート参照)、異常レベルが異常以上であるかを判定する(ステップS8)。
【0076】
異常レベルが異常以上である場合には(ステップS8のYesルート参照)、処理はステップS10へ進む。
【0077】
一方、異常レベルが異常以上でない場合には(ステップS8のNoルート参照)、排出処理部114は、所定の確率で排出が選ばれたかを判定する(ステップS9)。
【0078】
所定の確率で排出が選ばれなかった場合には(ステップS9のNoルート参照)、処理はステップS11へ進む。
【0079】
一方、所定の確率で排出が選ばれた場合には(ステップS9のYesルート参照)、排出処理部114は、排出処理を実行する(ステップS10)。
【0080】
決定した全ての異常種類の評価がステップS7~S10において繰り返し実行された場合には、決定した全ての異常種類の評価が終了する(ステップS11)。
【0081】
全てのセル評価がステップS4~S11,S13において繰り返し実行された場合には、最小の閾値を超えた異常度を持つ全てのセル評価が終了する(ステップS12)。そして、異常検査処理は終了する。
【0082】
次に、実施形態における入力画像の事前処理を図8に示すフローチャート(ステップS21~S23)に示すフローチャートに従って説明する。
【0083】
異常レベル判定部113は、入力画像に必要に応じて加工をする画像入力部として機能する(ステップS21)。
【0084】
異常レベル判定部113は、入力を低次元の潜在空間に投影し高速処理できるようにする潜在空間投影部として機能する(ステップS22)。
【0085】
異常レベル判定部113は、潜在空間の情報を解釈し所定の形式に変換して出力する出力部として機能する(ステップS23)。そして、入力画像の事前処理は終了する。
【0086】
次に、実施形態における機械学習処理を、図9に示すフローチャート(ステップS31~S38)に従って説明する。
【0087】
学習モデル取得部111は、検査システム100にサンプルを設置してカメラ21で撮像することによって学習用サンプルが撮像されると、撮像したデータに対する教示を実施する(ステップS31)。具体的には、学習モデル取得部111は、画像の異常部位へ異常種類と異常レベルを教示し、Semantic SegmentationやBounding Boxと称される処理を異常部位に対してだけ実施する。
【0088】
学習モデル取得部111は、画像と教示データを[0,1]のマップ等の学習に適した形式に変換する(ステップS32)。
【0089】
ステップS34~S37の処理を繰り返し実行し、十分な精度が出るまでの学習を開始する(ステップS33)。
【0090】
学習モデル取得部111は、変換した画像をAIへ入力する(ステップS34)。
【0091】
学習モデル取得部111は、AIの出力を取得する(ステップS35)。
【0092】
学習モデル取得部111は、AIの出力を変換した教示データに対して評価する(ステップS36)。
【0093】
学習モデル取得部111は、評価結果を逆伝播してAIのパラメータを更新する(ステップS37)。
【0094】
十分な精度が出るまでの学習がステップS34~S37において繰り返し実行された場合には、十分な精度が出るまでの学習が終了する(ステップS38)。そして、機械学習処理は終了する。
【0095】
〔A-3〕効果
上述した実施形態の一例における検査プログラム及び検査装置1によれば、例えば、以下の作用効果を奏することができる。
【0096】
異常レベル設定部112は、対象物における異常レベルに応じて対象物が正常品であるか異常品であるかを特定するための閾値を設定する。異常レベル判定部113は、撮像された対象物の画像に対して、機械学習モデルを使用して対象物における異常レベルを判定する。異常レベル判定部113は、前記対象物において同一部位に発生し得る複数の異常種類毎に、判定された異常レベルが設定された閾値以上である部位を含む前記対象物を異常品として特定する。
【0097】
これにより、ワークの選別の用途にかかわらず、1つの機械学習モデルを使用して柔軟なワークの選別が可能となる。また、複数の異常種類毎に異常レベルに応じた適切なワークの選別が可能となる。
【0098】
対象物の状態として、正常品及び異常品に加えて、正常品と異常品との中間の品質を有する中間品が含まれる。閾値は、対象物が異常品であるか中間品であるかを特定するための第1の閾値と、対象物が中間品であるか正常品であるかを特定するための第2の閾値とを含む。異常レベル判定部113は、判定された異常レベルが第1の閾値以上である部位を含む対象物を異常品として特定し、判定された異常レベルが第2の閾値以上であり且つ第1の閾値未満である部位を含み且つ異常品として特定されていない対象物を中間品として特定し、判定された異常レベルが第2の閾値以上である部位を含み且つ異常品又は中間品として特定されていない対象物を異常品として特定する。
【0099】
これにより、正常品と異常品との中間の品質を有する中間品(別言すれば、曖昧品)を適切に特定できる。
【0100】
異常レベル設定部112は、複数の異常種類毎に、中間品の排出率を設定する。排出処理部114は、複数の対象物の中から、異常品の全部に加えて、中間品のうち排出率に応じた一部を排出する。
【0101】
これにより、中間品を適切な割合で排出できる。
【0102】
異常レベル設定部112は、異常種類毎に複数の閾値を設定する。異常レベル判定部113は、異常種類毎に複数の異常レベルを判定する。異常レベル判定部113は、判定された複数の異常レベルのそれぞれが設定された複数の閾値のうち対応する閾値以上である部位を含む対象物を異常品として特定する。
【0103】
これにより、異常種類毎の複数の異常レベルを判定することによって、異常品の特定をより正確に実施できる。
【0104】
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【符号の説明】
【0105】
100 :検査システム
1 :検査装置
11 :CPU
111 :学習モデル取得部
112 :異常レベル設定部
113 :異常レベル判定部
114 :排出処理部
12 :メモリ
13 :記憶装置
21 :カメラ
22 :ディスプレイ
220 :設定画面
221 :インジケータ
23 :搬送装置
【要約】
対象物を検査するコンピュータに、対象物における異常レベルに応じて対象物が正常品であるか異常品であるかを特定するための閾値(221)を設定し、撮像された対象物の画像に対して、機械学習モデルを使用して対象物における異常レベルを判定し、前記対象物において同一部位に発生し得る複数の異常種類毎に、判定された異常レベルが設定された閾値(221)以上である部位を含む対象物を異常品として特定する。
図1
図2
図3
図4
図5
図6
図7
図8
図9