(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022155038
(43)【公開日】2022-10-13
(54)【発明の名称】外観判定装置、外観判定方法、およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221005BHJP
G06N 20/00 20190101ALI20221005BHJP
【FI】
G06T7/00 610C
G06T7/00 350C
G06N20/00
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021058360
(22)【出願日】2021-03-30
(71)【出願人】
【識別番号】000191009
【氏名又は名称】新東工業株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】中野 可也
(72)【発明者】
【氏名】平賀 幹敏
(72)【発明者】
【氏名】松田 一徳
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA09
5L096BA03
5L096CA02
5L096CA04
5L096CA05
5L096CA17
5L096DA02
5L096EA35
5L096EA37
5L096GA10
5L096HA11
5L096KA04
(57)【要約】
【課題】対象物の外観検査において対象物が良品か否かをより適切に判定する。
【解決手段】プロセッサ(11)は、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップ(M11)と、類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップ(M12)と、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1または複数のプロセッサを備え、
前記プロセッサは、
対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップと、
前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を実行する、
ことを特徴とする外観判定装置。
【請求項2】
前記第2画像は、対象物の表面の各点における法線方向を表す画像である、
ことを特徴とする請求項1に記載の外観判定装置。
【請求項3】
前記プロセッサは、良品であることが予め確かめられた複数の対象物の前記第1画像を、第1の特徴量空間上の複数の第1の点にマッピングすると共に、当該複数の対象物の前記第2画像を、第2の特徴量空間上の複数の第2の点にマッピングし、
判定対象である対象物の前記第1画像を、前記第1の特徴量空間上の第3の点にマッピングするとともに、当該判定対象である対象物の前記第2画像を、前記第2の特徴量空間上の第4の点にマッピングするマッピングステップを更に実行し、
前記プロセッサは、前記特定ステップにおいて、前記第1の特徴量空間における前記第1の点と前記第3の点との距離、および、前記第2の特徴量空間における前記第2の点と前記第4の点との距離に基づき、前記類似度を特定する、
ことを特徴とする請求項1または2に記載の外観判定装置。
【請求項4】
前記第1の特徴量空間と前記第2の特徴量空間とは、同一の特徴量空間である、
請求項3に記載の外観判定装置。
【請求項5】
前記第2の特徴量空間は、前記第1の特徴量空間と異なる特徴量空間である、
請求項3に記載の外観判定装置。
【請求項6】
前記マッピングステップにおいて、前記第1画像を前記第1の特徴量空間上の点にマッピングするマップ、および、前記第2画像を前記第2の特徴量空間上の点にマッピングするマップは、メトリックラーニングによって構築されたマップである、
ことを特徴とする請求項3から5のいずれか1項に記載の外観判定装置。
【請求項7】
前記プロセッサは、前記特定ステップにおいて、LOF(Local Outlier Factor)またはk近傍法(k-nearest neighbor)により、前記判定対象である対象物に対応する点の近傍における、良品であることが予め確かめられた複数の対象物に対応する点の密度、または、前記判定対象である対象物に対応する点と良品であることが確かめられた複数の対象物に対応する点との距離に基づき特定される値を、前記類似度とする、
ことを特徴とする請求項3から6のいずれか1項に記載の外観判定装置。
【請求項8】
前記プロセッサは、前記マッピングステップにおいて、前記第1画像を複数の領域に分割した分割画像を、前記複数の領域の各々に対応する特徴量空間上の点にマッピングすると共に、前記第2画像を複数の領域に分割した分割画像を、前記複数の領域の各々に対応する特徴量空間上の点にマッピングし、
前記特定ステップにおいて、前記第1画像の分割画像および前記第2画像の分割画像のそれぞれについて前記類似度を特定し、
前記判定ステップにおいて、前記特定ステップで特定した複数の類似度に基づいて、前記判定対象である対象物が良品であるか否かを判定する、
請求項3から7のいずれか1項に記載の外観判定装置。
【請求項9】
前記第1画像は、前記対象物の撮像画像において鏡面反射成分および陰影の一方または両方の影響を軽減した画像である、
請求項1から8のいずれか1項に記載の外観判定装置。
【請求項10】
前記第1画像および前記第2画像の一方または両方は、照度差ステレオにより生成された画像である、
ことを特徴とする請求項1から9のいずれか1項に記載の外観判定装置。
【請求項11】
前記プロセッサは、前記特定ステップにおいて、前記第1画像および前記第2画像の一方または両方に対して所定のマスク処理を実行し、当該マスク処理により塗りつぶしていない領域を含む領域の画像を切り出し、切り出した画像を用いて前記類似度を特定する、
請求項1から10のいずれか1項に記載の外観判定装置。
【請求項12】
前記第1画像および前記第2画像の一方または両方は、前記対象物の撮像画像に対し所定のマスク処理を実行することにより得られる画像を用いて生成される画像である、
請求項1から11のいずれか1項に記載の外観判定装置。
【請求項13】
1または複数のプロセッサが、
対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップと、
前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を含む、
ことを特徴とする外観判定方法。
【請求項14】
コンピュータに、
対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップと、
前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物の外観を検査する技術に関する。
【背景技術】
【0002】
鋳物等の対象物の外観検査は、主に、予め定められた欠陥の有無を判定することにより行われていた。この場合、対象物に予め定められた欠陥が存在していれば、その対象物は不良品と判定され、対象物に予め定められた欠陥が存在していなければ、その対象物は良品と判定される。なお、対象物を被写体として含む画像に基づき、その対象物に含まれる欠陥を検出する手法としては、例えば、テンプレートマッチングが広く用いられている。また、特許文献1には、外観検査を行う技術として、照度差ステレオ法を用いることが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
対象物が良品であるか否かは、本来、対象物全体の構造に応じて決められるべきものである。すなわち、予め定められた欠陥又はそれに類似する構造が存在していても、良品であると判定するべき対象物もあるし、逆に、予め定められた欠陥又はそれに類似する構造が存在していなくても、不良品と判定するべき対象物もある。このため、予め定められた欠陥の有無の判定する外観検査においては、良品であると判定するべき対象物を不良品と判定してしまったり、不良品であると判定するべき対象粒を良品と判定してしまったりすることがある。照度差ステレオ法を用いて得られた画像を用いれば、ひとつひとつの欠陥を高い精度で検出することは可能になるが、欠陥の有無によって対象物が良品であるか否かを判定する以上、このような問題を解決することはできない。
【0005】
本発明の一態様は、外観検査において検査の対象物が良品か否かをより適切に判定できる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る外観判定装置は、1または複数のプロセッサを備え、前記プロセッサは、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップと、前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を実行する。
【0007】
本発明の各態様に係る外観判定装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記外観判定装置が備える各部(ソフトウェア要素)として動作させることにより前記外観判定装置をコンピュータにて実現させる外観判定装置のプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0008】
本発明の一態様によれば、対象物の外観検査において対象物が良品か否かをより適切に判定することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態1に係る外観判定装置の構成を示すブロック図である。
【
図2】本発明の実施形態1に係る外観判定方法を示すフローチャートである。
【
図3】本発明の実施形態1に係る外観判定システムの構成を概略的に示す図である。
【
図4】本発明の実施形態1に係る外観判定システムが行う外観判定方法を例示するフローチャートである。
【
図5】本発明の実施形態1に係るアルベド画像を例示する図である。
【
図6】本発明の実施形態1に係る法線ベクトル画像を例示する図である。
【
図7】本発明の実施形態1に係る切り出し処理の一例を示す図である。
【
図8】本発明の実施形態1に係る学習済モデルを模式的に示す図である。
【
図9】本発明の実施形態1に係る異常スコアの一例を示す図である。
【
図10】本発明の実施形態2に係る学習方法の流れを示すフローチャートである。
【
図11】本発明の実施形態2に係る外観判定システムが行う外観判定方法を例示するフローチャートである。
【発明を実施するための形態】
【0010】
〔実施形態1〕
以下、本発明の一実施形態について、詳細に説明する。
図1は、本発明の一実施形態に係る外観判定装置10の構成を示すブロック図である。外観判定装置10は、外観判定の対象物が良品であるか(欠陥がないか)を判定する。外観判定装置10は、例えばパーソナルコンピュータである。
【0011】
外観判定装置10は、1または複数のプロセッサ11を備える。プロセッサ11は、外観判定方法M1を実行する。
図2は、プロセッサ11が実行する外観判定方法M1の流れを示すフローチャートである。外観判定方法M1は、特定ステップM11、および判定ステップM12を含む。特定ステップM11は、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定するステップである。
【0012】
対象物は、外観判定の対象となる物である。対象物は、一例として、鋳造された鋳物、または、鋳造で用いられる鋳型である。なお、対象物は鋳物または鋳型に限られず、他の物品であってもよい。
【0013】
第1画像は、対象物の光学像を表す画像である。第1画像は、一例として、対象物を撮像することにより得られる、RGB色空間により表される撮像画像である。また、第1画像は、一例として、対象物の撮像画像を加工した画像であり、例えば対象物の撮像画像から鏡面反射成分および陰影の一方または両方の影響を軽減した画像である。鏡面反射成分および陰影の一方または両方の影響を軽減した画像は、一例として、照度差ステレオにより生成される。照度差ステレオは、異なる複数の照明方向から照明した画像を撮像して、その陰影情報から対象物の法線ベクトルを求める三次元計測の手法の一つである。なお、第1画像は上述した画像に限られず、例えば、対象物の撮像画像に対し傾き補正および色調補正等の加工処理を行った画像であってもよい。
【0014】
第2画像は、対象物の形状を表す画像である。第2画像は、一例として、対象物の表面の各点における法線方向を表す画像である。法線方向を表す画像は、一例として、照度差ステレオにより生成される。なお、第2画像は上述した画像に限られず、他の画像であってもよい。第2画像は、一例として、距離センサ(深度センサ)により生成された、対象物の表面の各点のカメラからの距離を表す画像であってもよい。
【0015】
良品とは、欠陥を含まない対象物である。良品は、一例として、割れ、へこみ、出っ張り、砂かみ等の欠陥を含まない鋳物である。良品の中には、鋳物の表面の凹凸の態様、色むらの態様、バリの有無等が他の良品と異なっているものもある。
【0016】
良品であることが予め確かめられた対象物とは、一例として、検査者の目視等により良品であると判別された対象物をいう。以下の説明では、説明の便宜上、良品であることが予め確かめられた対象物を「良品対象物」ともいう。また、以下の説明では、外観判定の対象である対象物を「判定対象物」ともいう。
【0017】
類似度は、判定対象物と良品対象物との類似の程度を表す情報である。類似度は、一例として、所定の特徴量空間に複数の対象物をマッピングした場合の対象物同士の距離に基づき特定される情報である。プロセッサ11は、一例として、k近傍法(k-nearest neighbor)、LOF(Local Outlier Factor)、Z得点(z-score)、ホテリング理論、マハラノビス距離等に基づく手法により類似度を特定する。LOFの場合、類似度は、一例として、判定対象物に対応する点の近傍における良品対象物に対応する点の密度である。
【0018】
判定ステップM12は、特定ステップM11で特定した類似度に基づいて判定対象物が良品であるか否かを判定するステップである。一例として、プロセッサ11は、判定対象物が良品である程度(または良品でない程度)を表す数値(異常スコア、等)を算出することにより、良品であるかを判定する。また、一例として、プロセッサ11は、特定ステップM11で特定した類似度が所定の閾値以上である場合、判定対象である対象物が良品であると判定する一方、類似度が閾値未満である場合、判定対象である対象物が良品でないと判定してもよい。
【0019】
上記の構成によれば、外観判定装置10は、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象物と複数の良品対象物との類似度を特定し、特定した類似度に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、判定対象物が良品か否かをより適切に判定できる。
【0020】
〔システム構成〕
図3は、本実施形態に係る外観判定システム1の構成を概略的に示す図である。外観判定システム1は、判定対象である判定対象物2の外観を判定するシステムである。外観判定システム1は、外観判定装置10に加えて、カメラ21~23、光源311~318、321~328、331~338、回転台40、設置用治具50、およびロボットアーム60を備える。
【0021】
カメラ21~23および光源311~318、321~328、331~338は、照度差ステレオのための撮影を行う機材である。カメラ21~23は、判定対象物2を撮影する撮影装置である。カメラ21~23は、それぞれ異なる方向から判定対象物2を撮影する位置および向きで設置されている。以下の説明では、カメラ21~23を区別する必要がない場合には、これらを「カメラ20」と称する。
【0022】
光源311~318、321~328、331~338は、カメラ21~23が判定対象物2を撮影する際の照明である。光源311~318はカメラ21が撮影する際に用いられる照明である。光源311~318はそれぞれ異なる方向から対象物を照明する位置および向きで設置されている。光源321~328はカメラ22が撮影する際に用いられる照明である。光源321~328はそれぞれ異なる方向から対象物を照明する位置および向きで設置されている。光源331~338はカメラ23が撮影する際に用いられる照明である。光源331~338はそれぞれ異なる方向から判定対象物2を照明する位置および向きで設置されている。以下の説明では、光源311~318、321~328、331~338を区別する必要がない場合には、これらを「光源30」と称する。
図3の例では、ひとつのカメラ20につき8個の光源30が設置されている。
【0023】
回転台40は判定対象物2を回転させる機構である。設置用治具50は、回転台40により回転する判定対象物2を支持する支持部材である。ロボットアーム60は、判定対象物2の姿勢を変更する機構である。
【0024】
〔外観判定装置の構成〕
外観判定装置10は、汎用コンピュータを用いて実現される。外観判定装置10は、
図1に示すように、プロセッサ11と、一次メモリ12と、二次メモリ13と、入出力IF14と、通信IF15と、バス16とを備えている。プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、及び通信IF15は、バス16を介して相互に接続されている。
【0025】
二次メモリ13には、外観判定プログラムP1、マップLM11、およびLM12が格納されている。プロセッサ11は、二次メモリ13に格納されている外観判定プログラムP1、マップLM11、およびLM12を一次メモリ12上に展開する。そして、プロセッサ11は、一次メモリ12上に展開された外観判定プログラムP1に含まれる命令に従って、外観判定方法M1に含まれる各ステップを実行する。一次メモリ12上に展開されたマップLM11およびLM12は、外観判定方法M1の特定ステップM11をプロセッサ11が実行する際に利用される。なお、外観判定プログラムP1が二次メモリ13に格納されているとは、ソースコード、又は、ソースコードをコンパイルすることにより得られた実行形式ファイルが二次メモリ13に記憶されていることを指す。また、マップLM11およびLM12が二次メモリ13に格納されているとは、マップLM11およびLM12を規定するパラメータが二次メモリ13に格納されていることを指す。
【0026】
プロセッサ11として利用可能なデバイスとしては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせを挙げることができる。プロセッサ11は、「演算装置」と呼ばれることもある。
【0027】
また、一次メモリ12として利用可能なデバイスとしては、例えば、半導体RAM(Random Access Memory)を挙げることができる。一次メモリ12は、「主記憶装置」と呼ばれることもある。また、二次メモリ13として利用可能なデバイスとしては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ODD(Optical Disk Drive)、FDD(Floppy(登録商標) Disk Drive)、又は、これらの組み合わせを挙げることができる。二次メモリ13は、「補助記憶装置」と呼ばれることもある。なお、二次メモリ13は、外観判定装置10に内蔵されていてもよいし、入出力IF14又は通信IF15を介して外観判定装置10と接続された他のコンピュータ(例えば、クラウドサーバを構成するコンピュータ)に内蔵されていてもよい。なお、本実施形態においては、外観判定装置10における記憶を2つのメモリ(一次メモリ12及び二次メモリ13)により実現しているが、これに限定されない。すなわち、外観判定装置10における記憶を1つのメモリにより実現してもよい。この場合、例えば、そのメモリの或る記憶領域を一次メモリ12として利用し、そのメモリの他の記憶領域を二次メモリ13として利用すればよい。
【0028】
入出力IF14には、入力デバイス及び/又は出力デバイスが接続される。入出力IF14としては、例えば、USB(Universal Serial Bus)、ATA(Advanced Technology Attachment)、SCSI(Small Computer System Interface)、PCI(Peripheral Component Interconnect)などのインタフェースが挙げられる。入出力IF14に接続される入力デバイスとしては、カメラ21~23が挙げられる。外観判定方法M1においてカメラ21~23から取得するデータは、外観判定装置10に入力され、一次メモリ12に記憶される。また、入出力IF14に接続される他の入力デバイスとしては、キーボード、マウス、タッチパッド、マイク、又は、これらの組み合わせが挙げられる。入出力IF14に接続される出力デバイスとしては、ロボットアーム60が挙げられる。また、入出力IF14に接続される他の出力デバイスとしては、ディスプレイ、プロジェクタ、プリンタ、スピーカ、ヘッドホン、又は、これらの組み合わせが挙げられる。外観判定方法M1においてユーザに提供する情報は、これらの出力デバイスを介して外観判定装置10から出力される。なお、外観判定装置10は、ラップトップ型コンピュータのように、入力デバイスとして機能するキーボードと、出力デバイスとして機能するディスプレイとを、それぞれ内蔵してもよい。或いは、外観判定装置10は、タブレット型コンピュータのように、入力デバイス及び出力デバイスの両方として機能するタッチパネルを内蔵していてもよい。
【0029】
通信IF15には、ネットワークを介して他のコンピュータが有線接続又は無線接続される。通信IF15としては、例えば、イーサネット(登録商標)、Wi-Fi(登録商標)などのインタフェースが挙げられる。利用可能なネットワークとしては、PAN(Personal Area Network)、LAN(Local Area Network)、CAN(Campus Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)、GAN(Global Area Network)、又は、これらのネットワークを含むインターネットワークが挙げられる。インターネットワークは、イントラネットであってもよいし、エクストラネットであってもよいし、インターネットであってもよい。外観判定方法M1において外観判定装置10が他のコンピュータから取得するデータ、および、外観判定方法M1において外観判定装置10が他のコンピュータに提供するデータは、これらのネットワークを介して送受信される。なお、カメラ21~23と外観判定装置10とは、入出力IF14により接続されてもよく、また、通信IF15により接続されてもよい。
【0030】
なお、本実施形態においては、単一のプロセッサ(プロセッサ11)を用いて外観判定方法M1を実行する構成を採用しているが、本発明は、これに限定されない。すなわち、複数のプロセッサを用いて外観判定方法M1を実行する構成を採用してもよい。この場合、連携して外観判定方法M1を実行する複数のプロセッサは、単一のコンピュータに設けられ、バスを介して相互に通信可能に構成されていてもよいし、複数のコンピュータに分散して設けられ、ネットワークを介して相互に通信可能に構成されていてもよい。一例として、クラウドサーバを構成するコンピュータに内蔵されたプロセッサと、そのクラウドサーバの利用者が所有するコンピュータに内蔵されたプロセッサとが、連携して外観判定方法M1を実行する態様などが考えられる。
【0031】
また、本実施形態においては、外観判定方法M1を実行するプロセッサ(プロセッサ11)と同じコンピュータに内蔵されたメモリ(二次メモリ13)にマップLM11およびLM12を格納する構成を採用しているが、本発明は、これに限定されない。すなわち、外観判定方法M1を実行するプロセッサと異なるコンピュータに内蔵されたメモリにマップLM11およびLM12を格納する構成を採用してもよい。この場合、マップLM11およびLM12を格納するメモリが内蔵されたコンピュータは、外観判定方法M1を実行するプロセッサが内蔵されたコンピュータとネットワークを介して相互に通信可能に構成される。一例として、クラウドサーバを構成するコンピュータに内蔵されたメモリにマップLM11およびLM12を格納し、そのクラウドサーバの利用者が所有するコンピュータに内蔵されたプロセッサが外観判定方法M1を実行する態様などが考えられる。
【0032】
また、本実施形態においては、単一のメモリ(二次メモリ13)にマップLM11およびLM12を格納する構成を採用しているが、本発明は、これに限定されない。すなわち、複数のメモリにマップLM11およびLM12を分散して格納する構成を採用してもよい。この場合、マップLM11およびLM12を格納する複数のメモリは、単一のコンピュータ(外観判定方法M1を実行するプロセッサが内蔵されたコンピュータであってもよいし、そうでなくてもよい)に設けられていてもよいし、複数のコンピュータ(外観判定方法M1を実行するプロセッサが内蔵されたコンピュータを含んでいてもよいし、そうでなくてもよい)に分散して設けられていてもよい。一例として、クラウドサーバを構成する複数のコンピュータの各々に内蔵されたメモリにマップLM11およびLM12を分散して格納する構成などが考えられる。
【0033】
マップLM11およびLM12は、対象物の第1画像と第2画像とをそれぞれ、特徴量空間上の点にマッピングするためのマップである。マップLM11は、一例として、対象物の第1画像を入力とし、対象物を所定の埋め込み空間(特徴量空間)に埋め込むよう学習させた学習済モデルである。マップLM12は、一例として、対象物の第2画像を入力とし、対象物を所定の埋め込み空間(特徴量空間)に埋め込むよう学習させた学習済モデルである。マップLM11およびLM12としては、例えば、畳み込みニューラルネットワークや再帰型ニューラルネットワークなどのニューラルネットワークモデル、線形回帰などの回帰モデル、または、回帰木などの木モデルなどのアルゴリズムを用いることができる。
【0034】
マップLM11およびLM12は、一例として、メトリックラーニングにより構築されたマップである。メトリックラーニングは、入力空間におけるサンプル同士の類似度が、ユークリッド距離やコサイン類似度などの尺度と対応するように別空間である埋め込み空間に埋め込むための変換を学習する方法である。
【0035】
〔外観判定システムの動作〕
図4は、外観判定システム1が行う外観判定方法を例示するフローチャートである。なお、一部のステップは並行して、または、順序を替えて実行されてもよい。まず、外観判定システム1の管理者等は、外観判定システム1に含まれる各装置の電源を入れ、判定対象物2を設置用治具50にセットする。
【0036】
(ステップS11)
ステップS11において、プロセッサ11は、照明を切り替えながら複数のカメラ20が判定対象物2を撮像した撮像画像を取得する。3台のカメラ20のそれぞれに8個の光源30が対応付けられている場合、プロセッサ11は、1台のカメラ20について8個の光源30を順番に用いて照明を切り替えながら撮影することにより、8個の撮像画像を生成する。3台のカメラ20のそれぞれについて8個の光源30を用いた撮影を行うことにより、プロセッサ11は、24個の撮像画像を取得する。
【0037】
(ステップS12)
ステップS12において、プロセッサ11は、24個の撮像画像のそれぞれについて、光源ベクトルを計算する。光源ベクトルは、光源30から判定対象物2までの方向を表すベクトルである。光源ベクトルを計算する場合、プロセッサ11は、撮像画像において不要な箇所(背景等)を予め用意しておいたマスク画像で塗りつぶしてから計算を行ってもよい。プロセッサ11がマスク処理を行うことで、計算結果を安定し易くすることができる。なお、各撮像画像の光源ベクトルが予め用意されている場合、プロセッサ11は、光源ベクトルの計算処理を行うことなく、予め用意されている値を読み込んでもよい。
【0038】
(ステップS13)
ステップS13において、プロセッサ11は、1台のカメラ20で撮影した8枚の撮像画像、およびステップS12で計算した光源ベクトルに基づき、対象物の撮像画像において鏡面反射成分および陰影の一方または両方の影響を軽減した画像(以下、「アルベド画像」ともいう)を生成する。アルベド画像は、本明細書に係る「第1画像」の一例である。アルベド画像は、一例として、RGB色空間により表される画像である。アルベド画像を生成する方法としては、例えば、「Reflectance Map Techniques for Analyzing Surface Defects in Metal Castings, “https://dspace.mit.edu/handle/1721.1/16353”」、「Determining shape and reflectance using multiple images, https://dspace.mit.edu/handle/1721.1/16136」に記載されている手法が用いられる。なお、アルベド画像を生成する方法は上述した方法に限られず、他の方法によりプロセッサ11がアルベド画像を生成してもよい。
【0039】
複数のカメラ20のそれぞれが撮影した8枚の撮像画像に基づきプロセッサ11がアルベド画像を生成する。換言すると、プロセッサ11は、アルベド画像をカメラ20毎に生成する。カメラ20の台数が3台である場合、プロセッサ11は、3枚のアルベド画像を生成する。
【0040】
図5は、アルベド画像を例示する図である。図において、アルベド画像Img11は、良品である対象物を撮影した撮像画像からプロセッサ11が生成したアルベド画像である。アルベド画像Img12~Img14は良品でない(欠陥を有する)対象物の撮像画像からプロセッサ11が生成したアルベド画像である。
【0041】
図5に示すように、対象物に含まれる欠陥の大きさが、アルベド画像に表れている。
図5の例では、アルベド画像Img13の欠陥のほうがアルベド画像Img12の欠陥よりも大きく、また、アルベド画像Img14の欠陥のほうがアルベド画像Img13の欠陥よりも大きい。
【0042】
(ステップS14)
ステップS14において、プロセッサ11は、1台のカメラ20で撮影した8枚の撮像画像に基づき、法線ベクトル画像を生成する。法線ベクトル画像は、照度差ステレオにより生成された、判定対象物2の表面の各点における法線方向を表す画像である。法線ベクトル画像は、本明細書に係る「第2画像」の一例である。法線ベクトル画像は、一例として、各点における法線方向をRGBで表す画像である。
【0043】
図6は、法線ベクトル画像を例示する図である。図において、法線ベクトル画像Img21は、良品である対象物を撮影した撮像画像からプロセッサ11が生成した法線ベクトル画像である。法線ベクトル画像Img22~Img24は良品でない(欠陥を有する)対象物の撮像画像からプロセッサ11が生成した法線ベクトル画像である。
【0044】
図6に示すように、対象物に含まれる欠陥の厚みが、法線ベクトル画像に表れている。
図6の例では、法線ベクトル画像Img23の欠陥の厚みのほうが法線ベクトル画像Img22の欠陥の厚みよりも厚く、また、法線ベクトル画像Img24の欠陥の厚みのほうが法線ベクトル画像Img23の欠陥の厚みよりも厚い。
【0045】
(ステップS15)
図4のステップS15において、プロセッサ11は、判定対象である対象物について撮影が完了したかを判別する。一例として、プロセッサ11は、対象物の6方向からの撮影が完了した場合、撮影が完了したと判定する。一方、プロセッサ11は、3方向からの撮影しか行っていない場合、撮影が完了していないと判定する。撮影が完了した場合(ステップS15;YES)、プロセッサ11は、ステップS17の処理に進む。一方、撮影が完了していない場合(ステップS15;NO)、プロセッサ11は、ステップS16の処理に進む。
【0046】
(ステップS16)
ステップS16において、プロセッサ11は、ロボットアーム60を制御し、判定対象物2を回転させ、判定対象物2の姿勢を変更する。ステップS16の処理を終えると、プロセッサ11は、ステップS11に戻り、残りの3方向についても同様に撮像する。このように、ステップS11~ステップS16において、外観判定システム1は、判定対象物2の3面を撮像して3枚の撮像画像を生成し、上下反転および回転させることで残りの3面を撮像する。
【0047】
プロセッサ11がステップS11~S16を繰り返し実行することにより、プロセッサ11は、6方向のそれぞれについてアルベド画像と法線ベクトル画像とを生成する。換言すると、プロセッサ11は、ひとつの判定対象物2について、6つのアルベド画像と6つの法線ベクトル画像とを生成する。
【0048】
このとき、プロセッサ11は、これらのアルベド画像と法線ベクトル画像とに対し所定のマスク処理を実行してもよい。一例として、プロセッサ11は、アルベド画像と法線ベクトル画像とに対し、予め用意されているマスク画像を合わせて不要箇所(背景等)を塗りつぶすマスク処理を実行してもよい。
【0049】
また、プロセッサ11は、アルベド画像および法線ベクトル画像の一方または両方に対して所定のマスク処理を実行し、マスク処理により塗りつぶしていない領域を含む領域の画像を切り出す処理を実行してもよい。この場合、プロセッサ11は、切り出した画像を、後段の処理においてアルベド画像と法線ベクトル画像として扱う。換言すると、プロセッサ11は、切り出した画像を用いて類似度を特定する。
【0050】
図7は、プロセッサ11が行う画像の切り出し処理の一例を示す図である。図において、画像Img31はマスク処理が行われたアルベド画像の一例である。プロセッサ11は、画像Img31において、マスク領域Img311以外の領域を含む、矩形領域Img312を切り出す処理を実行する。プロセッサ11は、後段の処理において、矩形領域Img312の画像をアルベド画像として扱う。
【0051】
(ステップS17)
ステップS17において、プロセッサ11は、判定対象物と1または複数の良品対象物とを特徴量空間に埋め込む処理を行う。一例として、プロセッサ11は、複数の良品対象物のアルベド画像(第1画像)を、第1の特徴量空間上の複数の第1の点にマッピングすると共に、複数の良品対象物の法線ベクトル画像(第2画像)を、第2の特徴量空間上の複数の第2の点にマッピングする。また、プロセッサ11は、判定対象物のアルベド画像(第1画像)を、第1の特徴量空間上の第3の点にマッピングするとともに、判定対象物の法線ベクトル画像(第2画像)を、第2の特徴量空間上の第4の点にマッピングする。ステップS17は、本明細書に係る「マッピングステップ」の一例である。第2の特徴量空間は、一例として、第1の特徴量空間と異なる特徴量空間である。
【0052】
ステップS17において、アルベド画像(第1画像)を第1の特徴量空間上の点にマッピングするマップLM11、および、法線ベクトル画像(第2画像)を第2の特徴量空間上の点にマッピングするマップLM12は、一例として、メトリックラーニングによって構築されたマップである。マップLM11、LM12は、一例として、従来のCNNの末端層を、規定のサイズに定義した埋め込みデータとなるように修正したものである。マップLM11、LM12は、同じカテゴリのサンプル同士の特徴量空間における埋め込みデータの距離が近くなるように、また、異なるカテゴリのサンプル同士の距離が遠くなるように学習される。以下の説明では、マップLM11とマップLM12とを各々区別する必要がない場合には、これらを「学習済モデルLM1」と称する。
【0053】
図8は、学習済モデルLM1の一例を模式的に示す図である。学習済モデルLM1には、上述のように入力データが入力される。入力データは、プロセッサ11が
図4のステップS13で生成したアルベド画像、または、ステップS14で生成した法線ベクトル画像である。
【0054】
学習済モデルLM1は、例えば、複数の畳み込み層、プーリング層、結合層から成る。畳み込み層において、入力データはフィルタリングによる情報の畳み込みがなされる。畳み込みを経たデータは、プーリング層においてプーリング処理が施される。これにより、データ中の特徴の位置変化に対するモデルの認識能力が向上する。プーリング処理を経たデータは、結合層で処理されることによって、学習済モデルLM1の出力データ、すなわち、埋め込み空間における対象物を表す埋め込みデータに変換されて出力される。
【0055】
すなわち、学習済モデルLM1に入力された入力データを、
図8に示す各層をこれらの順に通過させることにより、埋め込みデータが出力される。学習済モデルLM1の出力である埋め込みデータは、一例として、複数の浮動小数点数を含む。埋め込みデータに含まれる浮動小数点数の数は、特徴量空間の次元数である。
【0056】
なお、学習済モデルLM1の構成は、
図8に示すものに限られない。学習済モデルLM1は、例えば、汎用のCNNをベースに、末尾付近の層を削除し、畳み込み層、プーリング層、ドロップアウト、全結合層、L2正則化層、を付与した構成であってもよい。
【0057】
ステップS17において、判定対象物を特徴量空間にマッピングする場合、プロセッサ11は、ステップS13で生成したアルベド画像をマップLM11に入力し、マップLM11が出力する、特徴量空間における対象物を表す埋め込みデータ(第3の点を表すデータ)を取得する。また、プロセッサ11は、ステップS14で生成した法線ベクトル画像をマップLM12に入力し、LM12が出力する、特徴量空間における対象物を表す埋め込みデータ(第4の点を表すデータ)を取得する。
【0058】
また、
図4のステップS17において、良品対象物を特徴量空間にマッピングする場合、プロセッサ11は、良品対象物のアルベド画像をマップLM11に入力し、マップLM11が出力する、特徴量空間における良品対象物を表す埋め込みデータ(第1の点を表すデータ)を取得する。また、プロセッサ11は、良品対象物の法線ベクトル画像をマップLM12に入力し、マップLM12が出力する、特徴量空間における良品対象物を表す埋め込みデータ(第2の点を表すデータ)を取得する。
【0059】
本実施形態において、良品対象物のアルベド画像と法線ベクトル画像とは、一例として、外観判定装置10または他の装置により予め生成されている。良品対象物のアルベド画像と法線ベクトル画像との生成方法は、判定対象物のアルベド画像と法線ベクトル画像との生成方法と同様であり、例えば外観判定システム1が
図4のステップS11~16と同様のステップを実行することにより良品対象物のアルベド画像と法線ベクトル画像とを生成する。
【0060】
(ステップS18)
図4のステップS18において、プロセッサ11は、判定対象物と良品対象物との類似度を特定する。プロセッサ11は、一例として、第1の特徴量空間における第1の点(良品対象物のアルベド画像を表す点)と第3の点(判定対象物のアルベド画像を表す点)との距離、および、第2の特徴量空間における第2の点(良品対象物の法線ベクトル画像を表す点)と第4の点(判定対象物の法線ベクトル画像を表す点)との距離に基づき、前記類似度を特定する。本動作例では、プロセッサ11は、ひとつの判定対象物において、6個のアルベド画像と6個の法線ベクトル画像との計12個の画像のそれぞれについて類似度を特定する。換言すると、プロセッサ11は、ひとつの判定対象物について12個の類似度を特定する。
【0061】
類似度の特定には、一例として、k近傍法、LOF、または、マハラノビス距離に基づく手法が用いられる。LOFは、対象物から近傍k(kは2以上の整数)個のサンプルとの局所密度(Local Density)に注目することで、データの分布を考慮した異常検知を行う手法である。プロセッサ11は、一例として、LOFまたはk近傍法により、判定対象物に対応する点(第2の点、第4の点)の近傍における、複数の良品対象物に対応する点(第1の点、第3の点)の密度、または、判定対象物に対応する点(第2の点、第4の点)と複数の良品対象物に対応する点(第1の点、第3の点)との距離に基づき特定される値を、類似度とする。
【0062】
LOFを用いる場合、一例として、密度が高いほど類似度が高く、密度が低いほど類似度が低い。また、k近傍法を用いる場合、一例として、プロセッサ11は、良品対象物に対応する点が埋め込まれた特徴量空間において判定対象物のk近傍を計算し、良品対象物との距離の平均値、最大値、最小値等に基づき類似度を特定する。一例として、プロセッサ11は、距離の平均値が大きいほど類似度を低く、平均値が小さいほど類似度を高く特定する。
【0063】
また、k近傍法を用いる場合の他の例として、プロセッサ11は、判定対象物を表すサンプル(第2の点)のk個の最近傍のサンプルのうちのクラス毎のサンプル数を特定してもよい。この場合、良品対象物に対応するクラスのサンプル数が類似度として扱われる。この場合、一例として、良品対象物に対応するクラスのサンプル数が多いほど類似度が高く、サンプル数が少ないほど類似度が低い。
【0064】
(ステップS19)
ステップS19において、プロセッサ11は、ステップS18で特定した複数の類似度に基づき判定対象物が良品かどうかを判定する。一例として、ステップS18で特定した複数の類似度の全てが所定の閾値以上である場合に、プロセッサ11は、判定対象物が良品であると判定してもよい。また、一例として、プロセッサ11は、複数の類似度に基づき判定対象物が良品である程度を表す数値(異常スコア)を算出する。一例として、プロセッサ11は、特定された複数の類似度の最小値、最大値、および平均値等に基づき、異常スコアを算出する。異常スコアは、一例として、その値が小さいほど、その判定対象物が良品である可能性が高いことを示す。
【0065】
(ステップS20)
図4のステップS20において、プロセッサ11は、判定結果を出力する。一例として、プロセッサ11は、ディスプレイに判定結果を表示する等して出力する。
【0066】
図9は、プロセッサ11が算出する異常スコアの一例を示す図である。
図9のグラフ101において、横軸は、判定対象物に含まれる欠陥の高さを示し、縦軸は、プロセッサ11が算出する異常スコアを示す。図示のように、欠陥の高さが高いほど、プロセッサ11が算出する異常スコアの値が大きくなっている。また、グラフ102において、横軸は、判定対象物に含まれる欠陥の面積を示し、横軸は、プロセッサ11が算出する異常スコアを示す。図示のように、欠陥の面積が広いほど、プロセッサ11が算出する異常スコアの値が大きくなっている。
【0067】
以上説明したように本実施形態によれば、外観判定装置10は、対象物の光学像だけでなく、対象物の形状を表す第2画像を用いて判定対象物と良品対象物との類似度を特定する。光学像には表れない欠陥が対象物に含まれる場合であっても、外観判定装置10が光学像と対象物の形状を表す第2画像との両方を用いて類似度を特定することにより、判定対象物が良品か否かをより適切に判定することができる。
【0068】
また、本実施形態では、外観判定装置10は、判定対象物と複数の良品対象物との類似度を特定する。良品対象物の画像(アルベド画像、法線ベクトル画像)として、例えばバリを含む良品対象物の画像など、多様な良品対象物の画像を用いることで、例えばバリを含む対象物を良品と判定することができる等、対象物の良否判定をより好適に行うことができる。
【0069】
また、本実施形態によれば、外観判定システム1は判定対象物2を一度に3方向から撮影するため、判定に要する時間を短縮することができる。また、本実施形態によれば、照度差ステレオを利用することにより、汎用のカメラを用いた簡易なシステム構成で、アルベド画像および法線ベクトル画像を生成することができる。
【0070】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0071】
実施形態2に係る外観判定システム1Bは、実施形態1に係る外観判定装置10に代えて、外観判定装置10Bを備える。外観判定装置10Bは、
図1に示した外観判定装置10と同様の構成を有する。換言すると、外観判定装置10Bは、プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、および通信IF15を備える。これらの構成要素は上述の実施形態1のそれらと同様であり、その説明を繰り返さない。
【0072】
外観判定装置10Bの二次メモリ13は、外観判定プログラムP1、マップLM11、およびLM12に加えて、マップ構築プログラムP2および学習用データセットLD1を記憶する。プロセッサ11は、二次メモリ13に格納されているマップ構築プログラムP2を一次メモリ12上に展開する。そして、プロセッサ11は、一次メモリ12上に展開されたマップ構築プログラムP2に含まれる命令に従って、マップ構築方法M2に含まれる各ステップを実行する。学習用データセットLD1は、マップ構築方法M2をプロセッサ11が実行する際に利用される。なお、マップ構築プログラムP2が二次メモリ13に格納されているとは、ソースコード、または、ソースコードをコンパイルすることにより得られた実行形式ファイルが二次メモリ13に記憶されていることを指す。
【0073】
(マップ構築方法の流れ)
本実施形態において、外観判定装置10Bは、マップLM11およびLM12を構築する処理を実行する。
図10は、外観判定システム1Bが行うマップ構築方法M2の流れを例示するフローチャートである。なお、一部のステップは並行して、または、順序を替えて実行されてもよい。
【0074】
ステップS31~S38において、プロセッサ11は、学習用データセットLD1を収集する。学習用データセットLD1は、マップLM11およびLM12の生成処理において用いられる。学習用データセットLD1は、対象物のアルベド画像、法線ベクトル画像、および対象物または画像のカテゴリを表すクラスを組み合わせたデータの集合である。カテゴリは、一例として、撮像画像の撮影方向を表す。以下では、学習用データの収集の対象である対象物を「サンプル」ともいう。学習用データの収集の対象となる対象物は、良品である良品対象物である。
【0075】
ステップS31~S36の処理は、撮像の対象物が「判定対象物」から「対象物」に変わるだけで
図4のステップS11~S16と概ね同様である。以下では、
図4のフローチャートとの相違点を中心に説明する。
【0076】
(ステップS37)
ステップS37において、プロセッサ11は、全てのサンプルについて撮影が完了したかを判別する。撮影が完了した場合(ステップS37;YES)、プロセッサ11は、ステップS38の処理に進む。一方、未だ撮影していないサンプルが残っている場合(ステップS37;NO)、プロセッサ11は、ステップS31の処理に戻り、次のサンプルについての撮影を行う。外観判定システム1は、複数のサンプルのそれぞれについて、ステップS31~S36の処理を実行し、対象物のアルベド画像と法線ベクトル画像とを生成する。
【0077】
(ステップS38)
ステップS38において、プロセッサ11は、データ増強を行う。一例として、プロセッサ11は、学習用データとして生成した画像に対し回転処理、シフト処理、投影変換処理、ノイズ付与処理、等の各種の処理を実行して模擬データを生成する。なお、学習用データが充分にある場合、プロセッサ11はステップS38のデータ増強処理を行わなくてもよい。
【0078】
(ステップS39)
ステップS39において、プロセッサ11は、メトリックラーニングにより、対象物のアルベド画像を特徴量空間にマッピングするマップLM11、および、対象物の法線ベクトル画像を特徴量空間にマッピングするマップLM12を構築する。このとき、プロセッサ11は、同じカテゴリのサンプル同士の特徴量空間における埋め込みデータの距離が近くなるように、また、異なるカテゴリのサンプル同士の距離が遠くなるように、マップLM11およびLM12を学習させる。
【0079】
プロセッサ11は、ステップS39で生成したマップを用いて、判定対象物の外観判定を行う。外観判定の方法は上述の実施形態1で示した方法と同様である。
【0080】
(実施形態の効果)
本実施形態によれば、外観判定装置10Bは、対象物のアルベド画像と法線ベクトル画像とを用いて、アルベド画像と法線ベクトル画像とをそれぞれ特徴量空間にマッピングするマップを構築する。外観判定装置10Bは、このマップを用いることにより、対象物が良品であるかをより好適に判定することができる。
【0081】
〔実施形態3〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0082】
本実施形態に係る外観判定システム1Cは、実施形態1に係る外観判定装置10に代えて、外観判定装置10Cを備える。外観判定装置10Cは、
図1に示した外観判定装置10と同様の構成を有する。換言すると、外観判定装置10Cは、プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、および通信IF15を備える。これらの構成要素は上述の実施形態1のそれらと同様であり、その説明を繰り返さない。
【0083】
本実施形態に係る二次メモリ13は、マップLM21~LM28の8個のマップを記憶する。マップLM21~LM24は、アルベド画像を複数の領域に分割した分割画像を、第1の特徴量空間上の点にマッピングするマップである。マップLM25~LM28は、法線ベクトル画像を複数の領域に分割した分割画像を、第2の特徴量空間上の点にマッピングするマップである。
【0084】
図11は、実施形態3に係る外観判定システム1Cが行う外観判定方法を例示するフローチャートである。なお、一部のステップは並行して、または、順序を替えて実行されてもよい。
図11のステップS15において、プロセッサ11は、撮影が完了した場合(ステップS15にてYES)、ステップS17の前のステップS21の処理を行う。
【0085】
(ステップS20)
ステップS20において、プロセッサ11は、ステップS13で生成した6つのアルベド画像、および、ステップS14で生成した6つの法線ベクトル画像をそれぞれ、複数の領域に分割して分割画像を生成する。一例として、プロセッサ11は、6つのアルベド画像および6つの法線ベクトル画像をそれぞれ、4つの領域に分割する。換言すると、プロセッサ11は、24個のアルベド画像(ステップS13で生成したアルベド画像を4分割した分割画像)および24個の法線ベクトル画像(ステップS14で生成した法線ベクトル画像を4分割した分割画像)を生成する。なお、分割する数は4に限らず、これより多くても少なくてもよい。例えば、プロセッサ11は、アルベド画像および法線ベクトル画像を6分割または9分割してもよい。
【0086】
ステップS17C(マッピングステップの一例)において、プロセッサ11は、アルベド画像(第1画像)を複数の領域に分割した分割画像を、複数の領域の各々に対応する特徴量空間上の点にマッピングすると共に、法線ベクトル画像(第2画像)を複数の領域に分割した分割画像を、複数の領域の各々に対応する特徴量空間上の点にマッピングする。マップLM21~LM24はそれぞれ、4つに分割したアルベド画像の分割画像のそれぞれに対応している。プロセッサ11は、一例として、4つに分割された分割画像のうち、右上の分割画像を、マップLM21を用いて第1の特徴量空間にマッピングする。同様に、プロセッサ11は、4つに分割された分割画像のうち、右下の分割画像を、マップLM22を用いて第1の特徴量空間にマッピングする。また、プロセッサ11は、一例として、4つに分割された分割画像のうち、左上の分割画像を、マップLM23を用いて第1の特徴量空間にマッピングする。また、プロセッサ11は、一例として、4つに分割された分割画像のうち、左下の分割画像を、マップLM24を用いて第1の特徴量空間にマッピングする。
【0087】
また、マップLM25~LM28はそれぞれ、4つに分割した法線ベクトル画像の分割画像のそれぞれに対応している。プロセッサ11は、一例として、4つに分割された法線ベクトル画像の分割画像のうち、右上の分割画像を、マップLM25を用いて第2の特徴量空間にマッピングする。同様に、プロセッサ11は、4つに分割された分割画像のうち、右下の分割画像を、マップLM26を用いて第2の特徴量空間にマッピングする。また、プロセッサ11は、一例として、4つに分割された分割画像のうち、左上の分割画像を、マップLM117を用いて第2の特徴量空間にマッピングする。また、プロセッサ11は、一例として、4つに分割された分割画像のうち、左下の分割画像を、マップLM28を用いて第2の特徴量空間にマッピングする。
【0088】
ステップS18Cにおいて、プロセッサ11は、第1画像の分割画像および前記第2画像の分割画像のそれぞれについて前記類似度を特定する。また、ステップS19Cにおいて、プロセッサ11は、ステップS18Cで特定した複数の類似度に基づいて、判定対象物が良品であるか否かを判定する。プロセッサ11は、一例として、特定された複数の類似度の最小値、最大値、および平均値等に基づき、判定対象物の異常スコアを算出してもよい。
【0089】
本実施形態によれば、プロセッサ11は、判別用の画像(アルベド画像および法線ベクトル画像)を分割することにより、マップに入力する画像の単位を小さくすることができる。これにより、より詳細な部分まで評価することができる。特に、CNNベースのニューラルネットワークは、畳み込みやプーリングを経る際に詳細部位の情報が欠落してしまうが、画像を分割して小さくすることで、この影響を小さくすることができる。
【0090】
本実施形態において、判別用の画像において重複する領域を含めることなく分割した場合、分割した境界部分を跨いだ欠陥が検出されにくい。そのため、プロセッサ11は、複数の分割画像に重複する領域が含まれるように撮像画像を分割してもよい。また、プロセッサ11は、一例として、異なる解像度で分割した画像を用いて判定を行ってもよい。プロセッサ11が一部の領域を重複させて分割画像を生成したり、異なる解像度で画像を分割したりすることにより、境界部分に欠陥が含まれる場合であっても良品判定をより適切に行うことができる。
【0091】
〔実施形態4〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0092】
実施形態4に係る外観判定システム1Dは、実施形態1に係る外観判定装置10に代えて、外観判定装置10Dを備える。外観判定装置10Dは、
図1に示した外観判定装置10と同様の構成を有する。換言すると、外観判定装置10Dは、プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、および通信IF15を備える。これらの構成要素は上述の実施形態1のそれらと同様であり、その説明を繰り返さない。
【0093】
外観判定装置10Bの二次メモリ13は、外観判定プログラムP1、マップLM11、およびLM12に代えて、外観判定プログラムP4、およびマップLM41を記憶する。マップLM41は、アルベド画像(第1画像)および法線ベクトル画像(第2画像)を、特徴量空間上の点にマッピングするマップである。換言すると、本実施形態において、第1画像がマッピングされる第1の特徴量空間と、第2画像がマッピングされる第2の特徴量空間とは、同一の特徴量空間である。マップ41は、一例として、メトリックラーニングによって構築された学習済モデルである。
【0094】
本実施形態では、プロセッサ11は、マップLM41を用いて、対象物のアルベド画像を特徴量空間上にマッピングすると共に、対象物の法線ベクトル画像を、アルベド画像と同一の特徴量空間上にマッピングする。マップLM41により、似ている対象物同士は近い距離でプロットされ、似ていない対象物は遠い距離でプロットされる。アルベド画像と法線ベクトル画像とは色味が全く異なるため、ひとつの特徴量空間においてアルベド画像と法線ベクトル画像とは離れてプロットされる。
【0095】
プロセッサ11は、特徴量空間における判定対象物のアルベド画像と良品対象物のアルベド画像との距離に基づき類似度を特定するとともに、判定対象物の法線ベクトル画像と良品対象物の良品ベクトル画像との距離に基づき、類似度を特定する。類似度の特定処理は、上述した実施形態1で示した処理と同様であり、その説明を繰り返さない。
【0096】
〔実施形態5〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0097】
実施形態5に係る外観判定システム1Eは、実施形態3に係る外観判定装置10Cに代えて、外観判定装置10Eを備える。外観判定装置10Eは、
図1に示した外観判定装置10と同様の構成を有する。換言すると、外観判定装置10Eは、プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、および通信IF15を備える。これらの構成要素は上述の実施形態1のそれらと同様であり、その説明を繰り返さない。
【0098】
本実施形態に係る二次メモリ13は、実施形態3に係るマップLM21~LM28に代えて、マップLM51を記憶する。マップLM51は、アルベド画像(第1画像)を複数の領域に分割した分割画像、および、法線ベクトル画像(第2画像)を複数の領域に分割した分割画像を、特徴量空間上の点にマッピングするマップである。換言すると、本実施形態において、第1画像を複数の領域に分割した分割画像がマッピングされる第1の特徴量空間と、第2画像を複数の領域に分割した分割画像がマッピングされる第2の特徴量空間とは、同一の特徴量空間である。マップLM51は、一例として、メトリックラーニングによって構築された学習済モデルである。
【0099】
プロセッサ11は、上記特徴量空間における判定対象物のアルベド画像の分割画像と良品対象物のアルベド画像の分割画像との距離に基づき、類似度を特定するとともに、上記特徴量空間における判定対象物の法線ベクトル画像の分割画像と良品対象物の法線ベクトル画像との距離に基づき、類似度を特定する。一例として、6個のアルベド画像および6個の法線ベクトル画像との計12個の画像をそれぞれ4分割した場合、プロセッサ11は、それぞれの分割画像についての類似度、すなわち計48個の類似度を特定する。
【0100】
本実施形態においても、上述の実施形態3と同様に、プロセッサ11が、複数の分割画像に重複する領域が含まれるように撮像画像を分割してもよい。また、プロセッサ11は、一例として、異なる解像度で分割した画像を用いて判定を行ってもよい。プロセッサ11が一部の領域を重複させて分割画像を生成したり、異なる解像度で画像を分割したりすることにより、境界部分に欠陥が含まれる場合であっても良品判定をより適切に行うことができる。
【0101】
〔実施形態6〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0102】
実施形態6に係る外観判定システム1Fは、実施形態1に係る外観判定装置10に代えて、外観判定装置10Fを備える。外観判定装置10Fは、
図1に示した外観判定装置10と同様の構成を有する。換言すると、外観判定装置10Fは、プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、および通信IF15を備える。これらの構成要素は上述の実施形態1のそれらと同様であり、その説明を繰り返さない。
【0103】
上述の実施形態1では、プロセッサ11は、アルベド画像と法線ベクトル画像とを用いて類似度を特定し、法線ベクトル画像(第2画像)としては、対象物の表面の各点における法線方向を表す画像を用いた。第2画像は上述した各実施形態で示した画像に限られず、他の画像であってもよい。第2画像は、一例として、各点における法線ベクトルをRGBの各成分値で表す法線ベクトル画像と、法線ベクトル画像に含まれるエッジを表す画像とを含んでいてもよい。プロセッサ11は、一例として、法線ベクトルから高さ情報への換算処理、または、法線ベクトルの鮮鋭化処理を実行し、法線ベクトルのエッジを表す画像データを生成する。プロセッサ11は、一例として、ソーベルフィルタ(Sobel filter)を用いて輪郭検出処理を行うことにより、エッジを表す画像データを生成する。
【0104】
また、第2画像は、一例として、各点における法線ベクトルをRGBの各成分値で表す法線ベクトル画像と、法線ベクトル画像に含まれるエッジを表す画像とを合成した画像であってもよい。また、第2画像は、一例として、法線ベクトル画像に含まれるエッジを表す画像データであってもよい。
【0105】
各点における法線方向をRGBで表す法線ベクトル画像には高さ情報が含まれないため、フラットな形状の異物が付着している場合等、欠陥の高さが低い場合には感度が低い傾向がある。本実施形態では、法線ベクトル画像から高さ情報への換算処理、または、法線ベクトル画像の鮮鋭化処理を実行することにより、高さが低い欠陥を含む対象物についても良否判定を適切に行うことができる。
【0106】
〔付記事項1〕
上述の実施形態において、第1画像および前記第2画像の一方または両方は、対象物の撮像画像に対し所定のマスク処理を実行することにより得られる画像を用いて生成される画像であってもよい。一例として、プロセッサ11は、背景領域を予め用意しておいたマスク画像で塗りつぶす処理を行ってもよい。マスク処理を行わない場合、撮像画像に含まれる背景がノイズとなり判定が適切に行えない場合がある。プロセッサ11が撮像画像に対しマスク処理を実行することにより、判定の対象としたい領域以外の領域のノイズによる揺らぎを抑えることができる。また、プロセッサ11がマスク処理を実行することにより、判定に係る計算量を下げることができる。
【0107】
〔付記事項3〕
上述の実施形態2では、プロセッサ11は、良品対象物のデータを学習させたが、欠陥のある対象物のデータも学習させてもよい。この場合、プロセッサ11は、セマンティックセグメンテーションにより、欠陥の種類、大きさ、位置等を表すラベルを各画素に関連付けてもよい。具体的には、機械学習により構築される学習済モデルは、YOLOのように欠陥の位置だけを推定するものであってもよく、また、U-NET、MRCNNのように具体的な輪郭まで推定するものであってもよい。
【0108】
〔まとめ〕
態様1に係る外観判定装置は、1または複数のプロセッサを備え、前記プロセッサは、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた複数の対象物との類似度を特定する特定ステップと、前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を実行する。
【0109】
上記の構成によれば、外観判定装置は、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが確かめられた複数の対象物との類似度を特定し、特定した類似度に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、対象物が良品か否かをより適切に判定できる。
【0110】
態様2に係る外観判定装置は、態様1に係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様2に係る外観判定装置において、前記第2画像は、対象物の表面の各点における法線方向を表す画像である。
【0111】
上記の構成によれば、外観判定装置は、対象物の光学像を表す第1画像と、対象物の表面の各点における法線方向を表す第2画像とを用いて、判定対象である対象物と良品であることが確かめられた対象物との類似度を特定し、特定した類似度に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、対象物が良品か否かをより適切に判定できる。
【0112】
態様3に係る外観判定装置は、態様1または2に係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様3に係る外観判定装置において、前記プロセッサは、良品であることが予め確かめられた複数の対象物の前記第1画像を、第1の特徴量空間上の複数の第1の点にマッピングすると共に、当該複数の対象物の前記第2画像を、第2の特徴量空間上の複数の第2の点にマッピングし、判定対象である対象物の前記第1画像を、前記第1の特徴量空間上の第3の点にマッピングするとともに、当該判定対象である対象物の前記第2画像を、前記第2の特徴量空間上の第4の点にマッピングするマッピングステップを更に実行し、前記プロセッサは、前記特定ステップにおいて、前記第1の特徴量空間における前記第1の点と前記第3の点との距離、および、前記第2の特徴量空間における前記第2の点と前記第4の点との距離に基づき、前記類似度を特定する。
【0113】
上記の構成によれば、外観判定装置は、特徴量空間に埋め込まれた対象物同士の距離に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、外観判定装置は、判定対象である対象物が良品か否かをより適切に判定できる。
【0114】
態様4に係る外観判定装置は、態様3に係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様4に係る外観判定装置において、前記第1の特徴量空間と前記第2の特徴量空間とは、同一の特徴量空間である。
【0115】
上記の構成によれば、外観判定装置は、ひとつの特徴量空間に埋め込まれた対象物同士の距離に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、外観判定装置は、判定対象である対象物が良品か否かをより適切に判定できる。
【0116】
態様5に係る外観判定装置は、態様3に係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様5に係る外観判定装置において、前記第2の特徴量空間は、前記第1の特徴量空間と異なる特徴量空間である。
【0117】
上記の構成によれば、外観判定装置は、ひとつの特徴量空間に埋め込まれた対象物同士の距離に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、外観判定装置は、判定対象である対象物が良品か否かをより適切に判定できる。
【0118】
態様6に係る外観判定装置は、態様3から5のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様6に係る外観判定装置において、前記マッピングステップにおいて、前記第1画像を前記第1の特徴量空間上の点にマッピングするマップ、および、前記第2画像を前記第2の特徴量空間上の点にマッピングするマップは、メトリックラーニングによって構築されたマップである。
【0119】
上記の構成によれば、外観判定装置は、メトリックラーニングによって構築されたマップで対象物を特徴量空間にマッピングする。これにより、外観判定装置は、判定対象である対象物が良品か否かをより適切に判定できる。
【0120】
態様7に係る外観判定装置は、態様3から6のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様7に係る外観判定装置において、前記プロセッサは、前記特定ステップにおいて、LOFまたはk近傍法(k-nearest neighbor)により、前記判定対象である対象物に対応する点の近傍における、良品であることが予め確かめられた複数の対象物に対応する点の密度、または、前記判定対象である対象物に対応する点と良品であることが確かめられた複数の対象物に対応する点との距離に基づき特定される値を、前記類似度とする。
【0121】
上記の構成によれば、外観判定装置は、LOFまたはk近傍法により類似度を特定する。これにより、外観判定装置は、判定対象である対象物が良品か否かをより適切に判定できる。
【0122】
態様8に係る外観判定装置は、態様3から7のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様8に係る外観判定装置において、前記プロセッサは、前記マッピングステップにおいて、前記第1画像を複数の領域に分割した分割画像を、前記複数の領域の各々に対応する特徴量空間上の点にマッピングすると共に、前記第2画像を複数の領域に分割した分割画像を、前記複数の領域の各々に対応する特徴量空間上の点にマッピングし、前記特定ステップにおいて、前記第1画像の分割画像および前記第2画像の分割画像のそれぞれについて前記類似度を特定し、前記判定ステップにおいて、前記特定ステップで特定した複数の類似度に基づいて、前記判定対象である対象物が良品であるか否かを判定する。
【0123】
上記の構成によれば、外観判定装置は、第1画像を分割した分割画像と第2画像を分割した分割画像とを特徴量空間にマッピングすることにより類似度を特定する。これにより、外観判定装置は、判定対象物が良品であるか否かを、画像を分割しない場合に比べてより適切に判定できる。
【0124】
態様9に係る外観判定装置は、態様1から8のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様9に係る外観判定装置において、前記第1画像は、前記対象物の撮像画像において鏡面反射成分および陰影の一方または両方の影響を軽減した画像である。
【0125】
上記の構成によれば、外観判定装置は、対象物の撮影画像において鏡面反射成分および陰影の一方または両方の影響を軽減した画像である第1の画像を用いて類似度を特定する。鏡面反射が起きていたり、陰影があったりすると、本来の色が撮像されない場合があるため、適切な判定結果が得られない場合があるが、上記構成によれば、外観判定装置は、鏡面反射成分および陰影の一方または両方の影響を軽減した画像を用いて類似度を特定することにより、対象物が良品か否かをより適切に判定できる。
【0126】
態様10に係る外観判定装置は、態様1から9のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様10に係る外観判定装置において、前記第1画像および前記第2画像の一方または両方は、照度差ステレオにより生成された画像である。
【0127】
上記の構成によれば、外観判定装置は、照度差ステレオにより生成された第1画像と第2画像との一方または両方を用いて、判定対象である対象物と良品であることが確かめられた対象物との類似度を特定し、特定した類似度に基づき、判定対象である対象物が良品であるか否かを判定する。これにより、対象物が良品か否かをより適切に判定できる。
【0128】
態様11に係る外観判定装置は、態様1から10のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様11に係る外観判定装置において、前記プロセッサは、前記特定ステップにおいて、前記第1画像および前記第2画像の一方または両方に対して所定のマスク処理を実行し、当該マスク処理により塗りつぶしていない領域を含む領域の画像を切り出し、切り出した画像を用いて前記類似度を特定する。
【0129】
上記の構成によれば、外観判定装置は、マスク処理により塗りつぶしていない領域を含む領域の画像を切り出し、切り出した画像を用いて類似度を特定することにより、類似度の特定処理の精度を上げることができる。
【0130】
態様12に係る外観判定装置は、態様1から11のいずれかに係る外観判定装置の特徴に加えて、以下の特徴を有している。すなわち、態様12に係る外観判定装置において、前記第1画像および前記第2画像の一方または両方は、前記対象物の撮像画像に対し所定のマスク処理を実行することにより得られる画像を用いて生成される画像である。
【0131】
上記の構成によれば、外観判定装置は、撮像画像から背景等のノイズを除去することができるため、判定に係る計算量を少なくすることができる。
【0132】
態様13に係る外観判定方法は、1または複数のプロセッサが、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた対象物との類似度を特定する特定ステップと、前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を含む。
【0133】
上記の構成によれば、対象物が良品か否かをより適切に判定できる。
【0134】
態様14に係るプログラムは、コンピュータに、対象物の光学像を表す第1画像と、対象物の形状を表す第2画像とを用いて、判定対象である対象物と良品であることが予め確かめられた対象物との類似度を特定する特定ステップと、前記類似度に基づいて判定対象である対象物が良品であるか否かを判定する判定ステップと、を実行させる。
【0135】
上記の構成によれば、対象物が良品か否かをより適切に判定できる。
【0136】
〔ソフトウェアによる実現例〕
外観判定装置10(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロックとしてコンピュータを機能させるためのプログラムにより実現することができる。
【0137】
この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0138】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0139】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0140】
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0141】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0142】
1 外観判定システム
10 外観判定装置
11 プロセッサ
12 一次メモリ
13 二次メモリ
14 入出力IF
15 通信IF
20 カメラ
311~318、321~328、331~338 照明
40 回転台
50 設置用治具
60 ロボットアーム
2 対象物