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

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

▶ 新東工業株式会社の特許一覧

<>
  • 特開-外観判定装置および外観判定方法 図1
  • 特開-外観判定装置および外観判定方法 図2
  • 特開-外観判定装置および外観判定方法 図3
  • 特開-外観判定装置および外観判定方法 図4
  • 特開-外観判定装置および外観判定方法 図5
  • 特開-外観判定装置および外観判定方法 図6
  • 特開-外観判定装置および外観判定方法 図7
  • 特開-外観判定装置および外観判定方法 図8
  • 特開-外観判定装置および外観判定方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006680
(43)【公開日】2024-01-17
(54)【発明の名称】外観判定装置および外観判定方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240110BHJP
   G06T 7/593 20170101ALI20240110BHJP
   G06V 10/82 20220101ALI20240110BHJP
   G01N 21/88 20060101ALI20240110BHJP
【FI】
G06T7/00 610Z
G06T7/593
G06T7/00 350C
G06V10/82
G01N21/88 J
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022107804
(22)【出願日】2022-07-04
(71)【出願人】
【識別番号】000191009
【氏名又は名称】新東工業株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】中野 可也
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA07
2G051AB01
2G051AB07
2G051EA17
2G051EB05
5L096AA02
5L096AA06
5L096BA03
5L096CA04
5L096CA17
5L096FA32
5L096FA33
5L096FA59
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096JA03
5L096KA04
(57)【要約】
【課題】カラー化した照度差ステレオを用いて判定対象物の外観の良否を判定する。
【解決手段】外観判定装置(10)は、1または複数のプロセッサ(11)を備え、前記プロセッサは、照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像に基づき、前記判定対象物の良否を判定する判定工程(S13)を実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
1または複数のプロセッサを備え、
前記プロセッサは、照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像、の少なくとも一方に基づき、前記判定対象物の良否を判定する判定工程、
を実行する、外観判定装置。
【請求項2】
前記形状画像は、前記判定対象物の表面上での法線方向の分布を表す、法線画像であり、
前記カラー画像は、互いに異なる、第1波長域、第2波長域、および第3波長域における、前記判定対象物の表面上での反射率の分布を表わす、カラー反射画像である、
請求項1に記載の外観判定装置。
【請求項3】
前記プロセッサは、
向きが互いに異なる複数の光源の各々からの光に照射された前記判定対象物の複数の画像に基づき、前記カラー画像および前記形状画像を生成する生成工程、を実行し、
前記判定工程において、前記生成された前記カラー画像および前記形状画像の少なくとも一方に基づき、前記判定対象物の良否を判定する、
請求項2に記載の外観判定装置。
【請求項4】
前記複数の画像の各々は、前記第1波長域、前記第2波長域、および前記第3波長域の光を含む光を用いて撮影された画像であり、
前記プロセッサは、前記生成工程において、
前記複数の画像から、前記第1波長域での複数の第1画像、前記第2波長域での複数の第2画像、および前記第3波長域での複数の第3画像を抽出する工程と、
前記複数の第1画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第1反射画像を生成する工程と、
前記複数の第2画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第2反射画像を生成する工程と、
前記複数の第3画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第3反射画像を生成する工程と、
前記第1反射画像、前記第2反射画像、および前記第3反射画像を合成して、前記カラー反射画像である、前記カラー画像を生成する工程と、
を実行する、請求項3に記載の外観判定装置。
【請求項5】
前記プロセッサは、前記生成工程において、
前記複数の画像の各々をグレースケール化する工程と、
前記グレースケール化された複数の画像に基づき、前記法線画像である、前記形状画像を生成する工程と、
を実行する、請求項3に記載の外観判定装置。
【請求項6】
前記複数の画像の各々は、前記第1波長域、前記第2波長域、および前記第3波長域の光を含む光を用いて撮影された画像であり、
前記プロセッサは、前記生成工程において、
前記複数の画像から、前記第1波長域での複数の第1画像、前記第2波長域での複数の第2画像、および前記第3波長域での複数の第3画像を抽出する工程と、
前記複数の第1画像に基づき、前記判定対象物の表面上での法線方向の第1分布を求める工程と、
前記複数の第2画像に基づき、前記判定対象物の表面上での法線方向の第2分布を求める工程と、
前記複数の第3画像に基づき、前記判定対象物の表面上での法線方向の第3分布を求める工程と、
前記第1分布、前記第2分布、および前記第3分布における法線方向を平均化することで、前記法線画像である、前記形状画像を生成する工程と、
を実行する、請求項3に記載の外観判定装置。
【請求項7】
前記プロセッサは、
前記複数の光源各々の向きを求める工程を実行し、
前記生成工程において、前記複数の画像および前記求められた向きに基づき、前記カラー画像および前記形状画像を生成する、
請求項3に記載の外観判定装置。
【請求項8】
前記プロセッサは、前記向きを求める工程において、
前記複数の光源中の1の光源からの光が照射された基準対象物の複数の画像に基づき、前記1の光源の向きの複数の値を求める工程と、
前記複数の値から、前記複数の値の平均値から所定の値以上に離れた値を除外する工程と、
前記所定の値以上に離れた値が除外された複数の値に基づき、前記1の光源の向きを求める工程と、
を実行する、請求項7に記載の外観判定装置。
【請求項9】
前記判定対象物は、鋳物である、請求項3に記載の外観判定装置。
【請求項10】
前記プロセッサは、前記判定工程において、
前記カラー画像および前記形状画像の少なくとも一方を、良品である判定対象物の特徴がマッピングされたニューラルネットワークのモデルに、入力して、中間層の特徴量に基づくスコアまたは前記スコアを区分するヒートマップを取得する工程と、
前記取得したスコアまたはヒートマップに基づき、前記判定対象物の良否を判定する工程と、
を実行する、請求項1から9のいずれか1項に記載の外観判定装置。
【請求項11】
前記プロセッサは、前記判定工程において、
前記スコアが所定の閾値より小さいとき、判定対象物を良品と判定し、スコアが所定の閾値以上であるとき、判定対象物を不良品と判定するか、または
前記スコアが一定値以上の面積が所定の閾値より小さいとき、前記判定対象物を良品と判定し、前記スコアが一定値以上の面積が所定の閾値以上のとき、前記判定対象物を不良品と判定する、
請求項10に記載の外観判定装置。
【請求項12】
前記プロセッサは、前記判定工程において、
前記判定対象物の前記カラー画像および前記形状画像の少なくとも一方を、前記判定対象物の欠陥を検出する画像認識用のニューラルネットワークのモデルに入力して、認識結果を取得する工程と、
前記取得した認識結果に基づき、前記判定対象物の良否を判定する工程と、
を実行する、請求項1から9のいずれか1項に記載の外観判定装置。
【請求項13】
照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像を入力する入力工程と、
前記カラー画像および前記形状画像に基づき、前記判定対象物の良否を判定する判定工程と、
を有する、外観判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外観判定装置および外観判定方法に関する。
【背景技術】
【0002】
照度差ステレオは、向きの異なる複数の光源を用いて、物品の外観を分析する技術である(例えば、非特許文献1、2参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】R. J. Woodham, Photometric Stereo: A Reflectance Map Technique for Determining Surface Orientation from Image Intensity. Proc. SPIE, vol. 155, pp. 136-143, 1978.
【非特許文献2】H. Hayakawa. Photometric stereo under a light source with arbitrary motion. Journal of the Optical Society of America A, 11(11), 1994.
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、照度差ステレオは、通常、モノクロのグレースケール画像に用いられ、カラー画像に適用することを前提とはしていない。すなわち、照度差ステレオは、一般に、物品の外観の良否を判定する上で重要なカラー情報(物品からの光の反射の波長依存性)を捨象している。
【0005】
本発明は、カラー化した照度差ステレオを用いて判定対象物の外観の良否を判定する外観判定装置、および外観判定方法を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る外観判定装置は、1または複数のプロセッサを備え、前記プロセッサは、照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像、の少なくとも一方に基づき、前記判定対象物の良否を判定する判定工程、を実行する。
【発明の効果】
【0007】
本発明の一態様によれば、カラー化した照度差ステレオを用いて判定対象物の外観の良否を判定する外観判定装置、および外観判定方法を実現することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態に係る外観判定システムの構成を表す図である。
図2】本発明の実施形態に係る外観判定方法の一例を表すフロー図である。
図3】カラー反射画像(カラー画像)および法線画像(形状画像)の生成方法の一例を表すフロー図である。
図4】カラー反射画像(カラー画像)および法線画像(形状画像)の生成方法の他の例を表すフロー図である。
図5】光源ベクトルの推定方法の一例を示すフロー図である。
図6】異常な光源ベクトルを除外する手法の一例を表す図である。
図7】モデルを模式的に表す図である。
図8】外観判定結果の例を表す図である。
図9】外観判定結果の他の例を表す図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について、詳細に説明する。図1は、本発明の一実施形態に係る外観判定システム1の構成を表す図である。外観判定システム1は、外観の判定対象物OBが良品であるか(欠陥がないか)を判定するためのシステムであり、撮影部MPおよび外観判定装置10を有する。
【0010】
撮影部MPは、照度差ステレオのための撮影装置であり、暗室BX、複数の光源LS(1)~LS(n)、カメラCAを有する。以下、光源LS(1)~LS(n)を纏めて光源LS(i)と表す。撮影部MPは、照度差ステレオのために、向きの異なる光源LS(i)を用いて、判定対象物OBを撮影し、判定対象物OBの複数の画像IMを生成する。
【0011】
暗室BXは、判定対象物OBを設置し撮影するための空間を設定する。暗室BXは、外光を遮るための壁を有し、暗室BX内に、判定対象物OB、光源LS(i)、およびカメラCAが設置される。
【0012】
光源LS(i)は、カメラCAが判定対象物OBを撮影する際の照明である。光源LS(i)は互いに異なる方向から判定対象物OBを照明するような位置および向きで設置されている。照度差ステレオのカラー化のため、光源LS(i)は、互いに異なる第1波長域、第2波長域、および第3波長域の光を含む光を照射する。
【0013】
ここで、第1波長域、第2波長域、および第3波長域の一例として、R(赤)、G(緑)、およびB(青)の波長域を挙げることができる。以下では、判り易さのために、第1波長域、第2波長域、および第3波長域をそれぞれ、R、G、およびBとして表すことがある。
【0014】
カメラCAは、判定対象物OBを撮影する撮影装置である。ここでは、判り易さのため、1のカメラCAのみを示しているが、複数のカメラCAを互いに異なる方向から判定対象物OBを撮影する位置および向きに設置してもよい。
【0015】
外観判定装置10は、例えばパーソナルコンピュータであり、撮影部MPで撮影された判定対象物OBの複数の画像IMに基づき、判定対象物OBが良品であるか(欠陥がないか)を判定する。
【0016】
外観判定装置10は、プロセッサ11と、一次メモリ12と、二次メモリ13と、入出力IF(インタフェース)14と、通信IF15と、バス16とを備えている。プロセッサ11、一次メモリ12、二次メモリ13、入出力IF14、及び通信IF15は、バス16を介して相互に接続されている。
【0017】
二次メモリ13には、外観判定プログラムP1及びモデルM1が格納(不揮発記憶)されている。プロセッサ11は、二次メモリ13に格納されている外観判定プログラムP1及びモデルM1を一次メモリ12上に展開する。そして、プロセッサ11は、一次メモリ12上に展開された外観判定プログラムP1に含まれる命令に従って、外観判定方法を実行する。一次メモリ12上に展開されたモデルM1は、外観判定方法をプロセッサ11が実行する際に利用される。
【0018】
プロセッサ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は、「演算装置」と呼ばれることもある。
【0019】
一次メモリ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として利用すればよい。
【0020】
入出力IF14には、入力デバイス及び/又は出力デバイスが接続される。入出力IF14としては、例えば、USB(Universal Serial Bus)、ATA(Advanced Technology Attachment)、SCSI(Small Computer System Interface)、PCI(Peripheral Component Interconnect)などのインタフェースが挙げられる。
【0021】
入出力IF14に接続される入力デバイスとしては、カメラCAが挙げられる。外観判定方法においてカメラCAから取得するデータは、外観判定装置10に入力され、一次メモリ12に記憶される。また、入出力IF14に接続される他の入力デバイスとしては、キーボード、マウス、タッチパッド、マイク、又は、これらの組み合わせが挙げられる。また、入出力IF14に接続される出力デバイスとしては、ディスプレイ、プロジェクタ、プリンタ、スピーカ、ヘッドホン、又は、これらの組み合わせが挙げられる。外観判定方法においてユーザに提供する情報は、これらの出力デバイスを介して外観判定装置10から出力される。なお、外観判定装置10は、ラップトップ型コンピュータのように、入力デバイスとして機能するキーボードと、出力デバイスとして機能するディスプレイとを、それぞれ内蔵してもよい。或いは、外観判定装置10は、タブレット型コンピュータのように、入力デバイス及び出力デバイスの両方として機能するタッチパネルを内蔵していてもよい。
【0022】
通信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)、又は、これらのネットワークを含むインターネットワークが挙げられる。インターネットワークは、イントラネットであってもよいし、エクストラネットであってもよいし、インターネットであってもよい。外観判定方法において外観判定装置10が他のコンピュータから取得するデータ、および、外観判定方法において外観判定装置10が他のコンピュータに提供するデータは、これらのネットワークを介して送受信される。なお、カメラCAと外観判定装置10とは、入出力IF14により接続されてもよく、また、通信IF15により接続されてもよい。
【0023】
なお、本実施形態においては、単一のプロセッサ(プロセッサ11)を用いて外観判定方法を実行しているが、本発明は、これに限定されない。すなわち、複数のプロセッサを用いて外観判定方法を実行してもよい。この場合、連携して外観判定方法を実行する複数のプロセッサは、単一のコンピュータに設けられ、バスを介して相互に通信してもよいし、複数のコンピュータに分散して設けられ、ネットワークを介して相互に通信してもよい。一例として、クラウドサーバを構成するコンピュータに内蔵されたプロセッサと、そのクラウドサーバの利用者が所有するコンピュータに内蔵されたプロセッサとが、連携して外観判定方法を実行することも考えられる。
【0024】
また、本実施形態においては、外観判定方法を実行するプロセッサ(プロセッサ11)と同じコンピュータに内蔵されたメモリ(二次メモリ13)にモデルM1を格納しているが、本発明は、これに限定されない。すなわち、外観判定方法を実行するプロセッサと異なるコンピュータに内蔵されたメモリにモデルM1を格納してもよい。この場合、モデルM1を格納するメモリが内蔵されたコンピュータは、外観判定方法を実行するプロセッサが内蔵されたコンピュータとネットワークを介して相互に通信できる。一例として、クラウドサーバを構成するコンピュータに内蔵されたメモリにモデルM1を格納し、そのクラウドサーバの利用者が所有するコンピュータに内蔵されたプロセッサが外観判定方法を実行することも考えられる。
【0025】
また、本実施形態においては、単一のメモリ(二次メモリ13)にモデルM1を格納しているが、本発明は、これに限定されない。すなわち、複数のメモリにモデルM1を分散して格納してもよい。この場合、モデルM1を格納する複数のメモリは、単一のコンピュータ(外観判定方法を実行するプロセッサが内蔵されたコンピュータであってもよいし、そうでなくてもよい)に設けられていてもよいし、複数のコンピュータ(外観判定方法を実行するプロセッサが内蔵されたコンピュータを含んでいてもよいし、そうでなくてもよい)に分散して設けられていてもよい。一例として、クラウドサーバを構成する複数のコンピュータの各々に内蔵されたメモリにモデルM1を分散して格納することも考えられる。
【0026】
(外観判定方法の概要)
外観判定装置10は、1または複数のプロセッサ11を備え、外観判定方法を実行する。図2は、プロセッサ11が実行する外観判定方法の一例を表すフロー図である。外観判定方法は、準備工程(ステップS11)、生成工程(ステップS12)、および判定工程(ステップS13)を含む。
【0027】
準備工程は、必要に応じて行われる、例えば、モデルM1を形成、または強化するための工程である。この詳細は後述する。生成工程は、撮影部MPで撮影された判定対象物OBの複数の画像IMに基づき、判定対象物OBのカラー画像および形状画像を生成する工程である。複数の画像IMは、向きが互いに異なる複数の光源LS(i)に照射された判定対象物OBの画像である。判定工程は、カラー画像および形状画像の少なくとも一方に基づき判定対象物OBの良否を判定する工程である。
【0028】
判定対象物OBは、外観判定の対象となる物品である。判定対象物OBは、一例として、鋳造された鋳物、または、鋳造で用いられる鋳型である。なお、判定対象物OBは鋳物または鋳型に限られず、他の物品であってもよい。
【0029】
カラー画像は、照度差ステレオにより生成された、判定対象物OBのカラーの光学像を表す画像である。カラー画像は、一例として、互いに異なる、光の第1波長域(R)、第2波長域(G)、および第3波長域(B)における判定対象物OBの表面上での反射率の分布を表わす、カラー反射画像である。
【0030】
照度差ステレオでは、通例、モノクロのグレースケール画像に基づき、判定対象物OB上の反射率の分布を表すアルベド画像を生成する。すなわち、アルベド画像は、モノクロのグレースケール画像である。これに対して、本実施形態では、照度差ステレオをカラー化し、判定対象物OB上の反射率の分布をカラーで表すカラー反射画像を生成する。カラー反射画像の生成の詳細は後述する。
【0031】
形状画像は、照度差ステレオにより生成された、判定対象物OBの形状を表す画像である。形状画像は、一例として、判定対象物の表面上での法線方向の分布を表す、法線画像である。法線画像は、撮影部MPで撮影された判定対象物OBの複数の画像IMに基づき、カラー反射画像と共に、生成される。
【0032】
良品とは、欠陥を含まない対象物(例えば、鋳物)である。欠陥は、一例として、欠け、割れ、へこみ、出っ張り、異物(ネジ、紙片、錆び、砂等)の混入である。良品には、鋳物の表面の凹凸、色むら、バリの有無等の多少の不一致が許容される。
【0033】
(生成工程の詳細)
以下、生成工程(ステップS12)の詳細を説明する。図3は、カラー反射画像(カラー画像)および法線画像(形状画像)の生成方法の一例を表すフロー図である。図3に示す生成工程は、大まかに、(A)光源ベクトルL(i)の推定工程(ステップS21)、(B)判定対象物OBの複数画像IM(i)の取得工程(ステップS22)、(C)判定対象物OBのカラー画像および形状画像の生成工程(ステップS23、S24a~S24c、S25、S26)に区分できる。以下、詳細に説明する。
【0034】
(A)光源ベクトルL(i)の推定工程(ステップS21)
プロセッサ11は、光源ベクトルL(i)(複数の光源LS(i)各々の向き)を推定する(ステップS21)。
【0035】
光源ベクトルL(i)は、判定対象物OBに対する光源LS(i)の向き、距離を表すベクトルであり、カラー反射画像(カラー画像)および法線画像(形状画像)の作成に用いられる。この推定は、複数の光源LS(i)各々の向きを求めることを意味する。
【0036】
照度差ステレオにおいて、光源LS(i)、判定対象物OBの位置関係を測定することで、光源ベクトルL(i)を求めることができる。しかし、この計測が困難なことがあり得る。このような場合、光源ベクトルL(i)の推定が必要となる。なお、この詳細は後述する。
【0037】
(B)判定対象物OBの複数画像IM(i)の取得工程(撮影、照明の切替)(ステップS22)
プロセッサ11は、判定対象物OBの複数の画像IM(i)を取得する(ステップS22)。なお、この取得に先立って、判定対象物OBが暗室BX内に設置される。
【0038】
光源LS(i)を切り替えながらカメラCAによって判定対象物OBを撮影することで、判定対象物OBの複数の画像IM(i)を得ることができる。複数の画像IM(i)は、向きが互いに異なる複数の光源LS(i)の各々からの光に照射された判定対象物OBの複数の画像である。ここで、画像IM(i)は、R(第1波長域)、B(第2波長域)、およびB(第3波長域)の光を含む光を用いて撮影され、R、G、およびBの画素を含むカラーの画像である。
【0039】
(C)判定対象物OBのカラー画像および形状画像の生成工程(ステップS23、S24a~S24c、S25、S26)
この生成工程では、複数の画像IM(i)および求められた向き(光源ベクトルL(i))に基づき、判定対象物OBのカラー画像および形状画像を生成する。この生成工程は、(1)複数のR、G、およびB画像の抽出工程(ステップS23)、(2)R、G、およびB反射画像、R、G、およびB法線画像の生成工程(ステップS24a~24c)、(3)法線画像(形状画像)の生成工程(ステップS25)、(4)カラー反射画像(カラー画像)の生成工程(ステップS26)に区分できる。以下、詳細に説明する。
【0040】
(1)複数の画像IM(i)からの複数のR画像IMr(i)、G画像IMg(i)、B画像IMb(i)の抽出(ステップS23)
プロセッサ11は、複数の画像IM(i)から、第1波長域(R)での複数の第1画像(複数のR画像IMr(i))、第2波長域(G)での複数の第2画像(複数のG画像IMg(i))、および第3波長域(B)での複数の第3画像(複数のB画像IMb(i))を抽出する(ステップS23)。
【0041】
カラーの画像IM(i)からR、G、およびBの画素を抽出することで、Rの画素から構成されるR画像IMr(i)、Gの画素から構成されるG画像IMg(i)、Bの画素から構成されるB画像IMb(i)を生成できる。
【0042】
既述のように、通常の照度差ステレオでは、カラーを考慮せず、モノクロのグレースケールの画像からアルベド画像(ここでは、反射画像)を生成する。本実施形態では、照度差ステレオをカラー化するため、画像IM(i)からR画像IMr(i)、G画像IMg(i)、およびB画像IMb(i)を抽出して個別に処理する。この結果、照度差ステレオをカラー化することが可能となる。
【0043】
(2)複数のR、G、およびB画像に基づくR、G、およびB反射画像、R、G、およびB法線画像の生成(ステップS24a~24c)
プロセッサ11は、複数のR画像IMr(i)(複数の第1画像)に基づき、Rの画素からみたR反射画像(判定対象物OBの表面上での反射率の分布を表わす、第1反射画像)、R法線画像(判定対象物OBの表面上での法線方向の第1分布を表す、第1法線画像)を生成する(ステップS24a)。
【0044】
以下同様に、複数のG画像IMg(i)(複数の第2画像)に基づき、Gの画素からみたG反射画像(判定対象物OBの表面上での反射率の分布を表わす、第2反射画像)、G法線画像(判定対象物OBの表面上での法線方向の第2分布を表す、第2法線画像)が生成される(ステップS24b)。複数のB画像IMb(i)(複数の第3画像)に基づき、Bの画素からみたB反射画像(判定対象物OBの表面上での反射率の分布を表わす、第3反射画像)、B法線画像(判定対象物OBの表面上での法線方向の第3分布を表す、第3法線画像)が生成される(ステップS24c)。
【0045】
なお、法線方向の第1分布、第2分布、および第3分布は、R法線画像、G法線画像、およびB法線画像等の、画像として表されなくてもよい。法線方向の分布が示されれば足りる。
【0046】
通常の照度差ステレオにおいて、画像IM(i)の特定の画素における輝度I(i)、反射率ρ、光源ベクトルL(i)、法線ベクトルnは次の式(1)のような関係にある。
I(i)=ρ(L(i)・n) …式(1)
【0047】
ここで、光源ベクトルL(i)は、ステップS21によって推定され、輝度I(i)は、画像IM(i)から求められるが、反射率ρ、および法線ベクトルnは未知数である。このため、異なる光源ベクトルL(i)の複数の式を連立させた連立方程式として、反射率ρ、および法線ベクトルnを算出する。
【0048】
この結果、画像IM(i)の全ての画素において、反射率ρ、および法線ベクトルnを求め、判定対象物OB上の反射率ρの分布を表す反射画像(いわゆるアルベド画像)、判定対象物OB上の法線ベクトルnの分布を表す形状画像(いわゆる法線ベクトル画像)を生成することができる。
【0049】
本実施形態では、式(1)に替えて、次の式(2a)~(2c)を用いて、R、G、およびB(第1波長域、第2波長域、および第3波長域の光)に適用する。
Ir(i)=ρr(L(i)・nr) …式(2a)
Ig(i)=ρg(L(i)・ng) …式(2b)
Ib(i)=ρb(L(i)・nb) …式(2c)
Ir(i)、Ig(i)、Ib(i): R、G、およびBにおける判定対象物OB上の一点での輝度I(i)、すなわち、R、G、およびBにおける画像IM(i)の画素の輝度
ρg、ρg、およびρb: R、G、およびBにおける判定対象物OB上の一点での反射率ρ
ng、ng、およびnb: R、G、およびBにおける判定対象物OB上の一点での法線ベクトル
【0050】
すなわち、R、G、およびBそれぞれに対して、光源ベクトルL(i)(算出された光源LS(i)の向き)に基づき、反射率ρr、ρg、およびρb、および法線ベクトルnr、ng、およびnbを算出できる。反射率ρr、ρg、およびρbに基づいて、Rの画素に対応するR反射画像、Gの画素に対応するG反射画像、Bの画素に対応するB反射画像(後述のように、結局は、カラー反射画像)を生成できる。また、法線ベクトルnr、ng、およびnbに基づいて、Rの画素に対応するR法線画像、Gの画素に対応するG法線画像、Bの画素に対応するB法線画像(後述のように、結局は、法線画像)を生成できる。
【0051】
(3)R、G、およびB法線画像の平均化による法線画像(形状画像)の生成(ステップS25)
プロセッサ11は、R法線画像(第1法線画像)での法線の分布(第1分布)、G法線画像(第2法線画像)での法線の分布(第2分布)、B法線画像(第3法線画像)での法線の分布(第3分布)を平均化して法線画像(形状画像)を生成する(ステップS25)。すなわち、第1分布、第2分布、および第3分布における法線方向を平均化することで、法線画像(形状画像)を生成できる。
【0052】
判定対象物OB上の法線は、その形状に対応する量であり、基本的には光の波長には依存しないと考えられる。このため、R、G、およびBの法線ベクトルnr、ng、およびnbを1つの法線ベクトルnに纏めることは合理的である。具体的には、近接する箇所の法線ベクトルnr、ng、およびnbの平均値を算出し、法線ベクトルnとする。この法線ベクトルnを用いて。判定対象物OB上での法線の分布を表す法線画像を生成する。
【0053】
ここで、法線ベクトルnr、ng、およびnbから異常値を除外した後に、法線ベクトルnr、ng、およびnbを平均化して、法線ベクトルnを求め、法線画像を生成してもよい。異常値を除外することで、法線ベクトルnの精度が向上する。
【0054】
異常値を除外するには、後述する、異常な光源ベクトルを除外する手法を応用できる。例えば、判定対象物OB上の近接する箇所において、得られた複数の法線ベクトルnr、ng、およびnbの平均navから所定の値(距離)以上に離れた法線ベクトルnを異常として除外する。これに替えて、例えば、DBSCANを用いて、異常値を除外してもよい。
【0055】
ここで、法線ベクトルnr、ng、およびnbを平均化せず、法線ベクトルnr、ng、およびnbのいずれかを用いて、法線画像を生成してもよい。
【0056】
(4)R、G、およびB反射画像からのカラー反射画像(カラー画像)の生成(ステップS26)
プロセッサ11は、R反射画像(第1反射画像)、G反射画像(第2反射画像)、B反射画像(第3反射画像)を合成してカラー反射画像を生成する(ステップS26)。すなわち、R、G、およびBの反射率ρr、ρg、およびρbを1の画素のR、G、およびBの輝度(ρr、ρg、ρb)とすることで、カラー反射画像を生成することができる。
【0057】
以上のようにして、判定対象物OBの複数の画像IM(i)からカラー反射画像および法線画像が生成される。
【0058】
上記では、ステップS24a~24cにおいて、R、G、およびBの全ての画素の各々で、反射率ρ、および法線ベクトルnを算出している。この処理には多くの計算量を要する。以下に示す手法により、計算量を低減して、カラー反射画像、法線画像を生成することができる。
【0059】
図4は、カラー反射画像(カラー画像)および法線画像(形状画像)の生成方法の他の例を表すフロー図である。ステップS21、S22は、図3と同様なので説明を省略する。
【0060】
ここでは、プロセッサ11は、複数の画像IM(i)をモノクロにグレースケール化し、グレースケール化された複数の画像IM(i)を得る(ステップS31)。その後、プロセッサ11は、グレースケール化された複数の画像IM(i)に基づき、法線画像を生成する(ステップS32)。
【0061】
このとき、既述の式(1)を用いて法線ベクトルnを算出し、法線ベクトルnを画像化することで、法線画像が生成される。このように、R、G、およびB毎に、法線ベクトルnr、ng、およびnbを算出する必要がないので、計算量を低減できる。なお、法線ベクトルnと同時に、反射率ρも算出されるが、この反射率ρを用いる必要はない。
【0062】
カラー反射画像については、図3と同様にして抽出された(ステップS23)R画像、G画像、B画像からR反射画像、G反射画像、B反射画像が生成される(ステップS33a~S33c)。このとき式(2a)~(2c)に替えて、次の式(3a)~(3c)を用いることができる。
Ir(i)=ρr(L(i)・n) …式(3a)
Ig(i)=ρg(L(i)・n) …式(3b)
Ib(i)=ρb(L(i)・n) …式(3c)
【0063】
すなわち、ステップS32において算出された法線ベクトルnを用いて、反射率ρr、ρg、およびρbを算出することができる。この場合、法線ベクトルnは既知であるため、反射率ρr、ρg、およびρbのみが未知数となり、計算量を大幅に削減できる。
【0064】
以上のようにして、グレースケール化した複数の画像IM(i)を用いることで、カラー反射画像、法線画像を生成するときの計算量を低減することができる。
【0065】
(光源ベクトルの推定の詳細)
光源ベクトルの推定(ステップS21)の詳細を説明する。図5は、光源ベクトルの推定工程の一例を示すフロー図である。既述のように、この推定工程は、複数の光源LS(i)各々の向きを求める工程として機能する。
【0066】
(1)光源の選択・撮影(ステップS41、S42)
プロセッサ11は、光源LS(i)を選択して(ステップS41)、基準対象物を複数回(例えば、30回)撮影する(ステップS42)。複数の光源LS(1)~LS(n)から順に選択される1の光源LS(i)からの光が照射された基準対象物の複数の画像が取得される。なお、この撮影に先立って、基準対象物が暗室BX内に設置される。
【0067】
基準対象物は、例えば、白色の板(一例として、紙)であり、通常、法線方向(法線ベクトルn)および反射率ρが既知であるものを用いる。後述のように、1つの光源ベクトルL(i)を確定するために、例えば、基準対象物の向き(法線ベクトルn)を変化させた3回の撮影がセットで行われる。すなわち、ここでの「30回」は、1の光源ベクトルL(i)を少なくとも10回算出することを可能とする。
【0068】
(2)複数の光源ベクトルの算出(ステップS43)
プロセッサ11は、撮影された複数の画像から1の光源LS(i)に対応する複数の光源ベクトルL(i)を算出する(ステップS43)。1の光源LS(i)の向き(光源ベクトルL(i))の複数の値が求められる。
【0069】
基準対象物の法線ベクトルn、反射率ρが既知であれば、既述の式(1)を用いて、光源ベクトルL(i)を容易に算出できる。但し、1の光源ベクトルL(i)は、(x、y、z)と3つの変数を有するため、通例、基準対象物の向き(法線の向き)を変えた3つの画像から1の光源ベクトルL(i)を算出する。この結果、1の光源LS(i)に対して、例えば、30個の画像から10の光源ベクトルL(i)が得られる。
【0070】
(3)異常な光源ベクトルの除外・光源ベクトルの平均化(ステップS44、S45)
プロセッサ11は、得られた光源ベクトルL(i)から異常な光源ベクトルL(i)を除外し(ステップS44)、残った光源ベクトルを平均化する(ステップS45)。異常な光源ベクトルを除外して残った光源ベクトルに基づき、光源ベクトルL(i)の推定値Lp(i)(光源LS(i)の向き)が得られる。複数の値(光源ベクトルL(i))から、この複数の値(光源ベクトルL(i))の平均値から所定の値以上に離れた値が除外され、所定の値以上に離れた値が除外された複数の値(複数の光源ベクトルL(i))に基づき、1の光源LS(i)の向き(光源ベクトルL(i)の推定値Lp(i))が求められる。
【0071】
すべての光源LS(i)を選択し、光源ベクトルL(i)を推定するまで、以上のプロセスは繰り替えされる(ステップS46)。
【0072】
図6は、異常な光源ベクトルを除外する手法の一例を表す図である。光源ベクトルL(i)は、xyz座標上の点(x、y、z)として表されている。原点Oに判定対象物OBが配置される。
【0073】
ここで、光源ベクトルL(i)は、正常範囲R内の光源ベクトルL1(i)、正常範囲R外の(異常な)光源ベクトルL0(i)に区分されているが、いずれも同一の光源LS(i)の光源ベクトルL(i)であり、本来は一致すべきものである。しかし、測定誤差や計算誤差によって、計算された光源ベクトルL(i)は本来の値から大きくずれることがあり得る。このため、光源ベクトルL(i)を推定する工程において、異常な光源ベクトルL0(i)を除外することで、光源ベクトルL(i)の推定精度を向上できる。
【0074】
ここでは、得られた複数の光源ベクトルL(i)の平均Lav(i)から所定の値(距離)D以上に離れた光源ベクトルL0(i)を異常として除外し、残った光源ベクトルL1(i)の平均として、光源ベクトルの推定値Lp(i)を算出している。
【0075】
距離Dとして、数値自体を「0.05」等と規定してもよいし、得られた複数の光源ベクトルL(i)の標準偏差σに基づいて、距離Dを、例えば、1σと規定してもよい。
【0076】
ここで、異常値を除外するために、他の手法、例えば、DBSCAN(Density-Based Spatial Clustering of Applications with Noise)を用いても良い。DBSCANでは、座標の密集度に基づきデータをクリスタリングし、密度の低い領域にある点を外れ値(ノイズ)として除去する。
【0077】
(判定工程の詳細)
以下、判定工程の詳細を説明するが、その前にモデルM1を説明する。図7は、モデルM1を模式的に表す図である。モデルM1は、入力層21、中間層22、出力層23を有する。中間層22は、複数の中間層22(1)~22(n)を有する。これらの中間層22(i)は、例えば、畳み込み層、プーリング層である。
【0078】
モデルM1は、判定対象物OBのカラー画像、および形状画像の少なくとも一方(以下、まとめて、画像と称する)に基づいて、良品との類似度の出力、異常検知(ここでは、スコア、ヒートマップの出力)、または画像認識に基づく欠陥の検出(欠陥に対応する画像の認識)等を行う。例えば、中間層22から出力される特徴量に基づいて、スコア、ヒートマップが出力される。ここでは、判りやすさのため、出力層23から認識、検出の結果が、中間層22から特徴量、結局は、スコア、ヒートマップが出力されるとしているが、これらの一方のみを出力してもよく、中間層22から出力される特徴量に基づき、出力層23からの出力が行われてもよい。
【0079】
モデルM1は、ニューラルネットワークの学習済みのモデルであり、複数の画像が入力されて生成される。このモデルM1に、以下に示す種々のモデル(1)~(4)を用いて、良否の判定を行うことができる。
【0080】
(1)良品との類似度を出力するモデル
モデルM1として、良品自体がマッピングされたニューラルネットワークのモデルを用いて、良品と判定対象物OBとの類似度を取得することができる。このモデルM1として、一般的なCNN(Convolutional Neural Network: 畳み込みニューラルネットワーク)のモデルを挙げることができる。
【0081】
この場合、事前準備工程(ステップS11)において、判定対象物OBの良品の画像を用いた深層学習により、良品の画像をマッピングしたモデルM1を形成する。この結果、モデルM1にマッピングされた良品の画像と、入力される判定対象物OBの画像との距離に基づいて、判定対象物OBの類似度を算出可能となる。
【0082】
学習済みのモデルM1に判定対象物OBの画像を入力すると、モデルM1から良品と判定対象物OBとの類似度が出力される。プロセッサ11は、例えば、この類似度が所定の閾値より大きければ、判定対象物OBを良品と判定し、類似度が所定の閾値以下であるとき、判定対象物OBを不良品と判定する。
【0083】
(2)判定対象物OBの特徴に基づき、異常検出の結果(スコア、ヒートマップ)を出力するモデル
モデルM1として、良品である判定対象物OBの特徴がマッピングされたニューラルネットワークのモデルを用いて、判定対象物OBの(中間層22での)特徴量に基づく、異常検出の結果(スコアまたはヒートマップ)を取得することができる。このモデルM1は、近似する画像は、中間層22からの特徴量も近い傾向にあることに基づく。モデルM1として、Mahalanobis AD、SPADE、PaDiM、PatchCore、およびFastFlowのモデルを挙げることができる。
【0084】
この場合、事前準備工程(ステップS11)において、判定対象物OBの良品の画像を用いた深層学習により、良品の特徴をマッピングしたモデルM1を形成する。このモデルM1は、特徴量抽出器として機能するので、深層学習において、良品自体をマッピングする必要はなく、良品の特徴量が抽出されれば足りる。深層学習の結果、モデルM1にマッピングされた良品の特徴と、中間層22からの判定対象物OBの特徴との距離に基づいて、異常検出(スコアの算出、ヒートマップの形成)が可能となる。
【0085】
なお、中間層22からの判定対象物OBの特徴量自体に基づいて、異常検出を行っても良いが、この特徴量を別のモデルM1に入力して、異常検出を行っても良い。この例として、FastFlowを挙げることができる。
【0086】
学習済みのモデルM1に判定対象物OBの画像を入力すると、中間層22からの判定対象物OBの特徴量に基づき、スコアおよびヒートマップの少なくとも一方が出力される。スコアは、例えば、画像全体としてのスコア、一例として、良品の特徴からみた異常の程度を表す異常スコアである。ヒートマップは、判定対象物OBの部位をスコアの程度で区分したものである。なお、ヒートマップは、異常検知の判定の過程で利用されることが多く、最終的な異常検出の結果として出力されるとは限らない。
【0087】
プロセッサ11は、取得したスコアまたはヒートマップに基づき、判定対象物OBの良否を判定する。プロセッサ11は、例えば、このスコア(異常スコア)が所定の閾値より小さいとき、判定対象物OBを良品と判定し、スコアが所定の閾値以上であるとき、判定対象物OBを不良品と判定する。ヒートマップを用いる場合、プロセッサ11は、例えば、スコアが一定値以上の面積(または、画素数)が所定の閾値より小さいとき、判定対象物OBを良品と判定し、スコアが一定値以上の面積が所定の閾値以上であるとき、判定対象物OBを不良品と判定する。
【0088】
Mahalanobis ADは、中間層22からの特徴量を、多変量正規分布として扱い、中間層22(i)毎にマハラノビス距離を算出して合算し、1の距離(スコア)として出力する。
【0089】
SPADE、PaDiM、およびPatchCoreは、中間層22からの特徴量に基づき、ヒートマップを形成する。このうち、SPADEは、中間層22からの特徴量を画素単位で扱い、kNN距離で比較してヒートマップ化する。PaDiMは、中間層22からの特徴量を画素単位で扱い、平均と共分散で比較してヒートマップ化する。PatchCoreは、中間層22からの特徴量を選別し、最近傍の値に基づきヒートマップ化する。
【0090】
FastFlowも中間層22から特徴量を取得し、この特徴量に基づいて、異常検知の結果(例えば、スコア、ヒートマップ)を出力する。より具体的には、モデルM1として、CNN系、またはTransformer系のモデルを用いてヒートマップ化する。但し、Mahalanobis AD、SPADE、PaDiM、PatchCoreでは、転移学習が不要なのに対して、FastFlowでは、転移学習が必要となる。
【0091】
(3)画像認識に基づき、欠陥の検出結果を出力するモデル
モデルM2として、判定対象物OBの欠陥を検出する画像認識用のモデルを用いることができる。このモデルM1として、YOLO(You Only Look Once)、セマンティックセグメンテーション、インスタンスセグメンテーションのモデルを挙げることができる。
【0092】
この場合、事前準備工程(ステップS11)において、判定対象物OBにおいて検出すべき欠陥(例えば、欠け、異物)の画像を用いた深層学習により、欠陥およびその種別を検出できるモデルM1を形成する。
【0093】
モデルM1に判定対象物OBの画像を入力すると、画像から検出された欠陥(例えば、異物、欠け)の種別が出力される。このとき、場合により、欠陥の箇所(領域)も併せて出力される。プロセッサ11は、例えば、欠陥が検出されなければ判定対象物OBを良品と判定し、欠陥が検出されれば判定対象物OBを不良品と判定する。欠陥の(領域)が出力される場合、プロセッサ11は、欠陥領域の面積が所定の閾値より小さいとき、判定対象物OBを良品と判定し、欠陥領域の面積が所定の閾値以上であるとき、判定対象物OBを不良品と判定してもよい。
【0094】
(4)モデルの併用
以上では、類似度出力用、異常検出(スコア、ヒートマップ)用、画像認識用のいずれかのモデルM1を用いて、良否を判定している。複数のモデルM1を組み合わせて、良否を判定してもよい。例えば、類似度、異常検出のいずれかと、画像認識とを組み合わせることができる。これにより、判定の精度を向上することができる。
【0095】
類似度、または異常検出の結果を出力するモデルM1(一例として、一般的なCNN、またはPatchCore)は、基本的に、良品の画像に基づく学習により、形成される。このため、良品と色味が異なる欠陥(例えば、灰色地の鋳物上の黒色のネジや白色の紙片)を含む判定対象物OBを不良品と判定することは容易である。しかし、良品と色味が近い欠陥(例えば、灰色地の鋳物の一部での灰色の欠け)を含む判定対象物OBを不良品と判定することは容易でない。
【0096】
このため、類似度出力用、または異常検出用のモデルM1と、画像認識用のモデルM1を組み合わせることで、判定の精度を高めることができる。例えば、画像認識による良否の判定を行い、欠陥が検出されなかった判定対象物OBのみを特徴量に基づき良否を判定することができる。
【0097】
〔付記事項1〕
上述の実施形態において、カラー反射画像および法線画像の一方または双方を分割し、判定対象物OBの部分ごとに良否を判定してもよい。例えば、カラー反射画像および法線画像を4つに分割し、計8つの画像を用いて良否を判定する。なお、分割する数は4に限らず、これより多くても少なくてもよい。例えば、プロセッサ11は、アルベド画像および法線ベクトル画像を6分割または9分割してもよい。
【0098】
画像を分割し、判定対象物OBの部位ごとに良否を判定することで、判定対象物OBの良否の判定の精度を向上できる。ここで、例えば、判定対象物OBの分割された画像の全てが良品と判定された場合に判定対象物OBを良品と判定し、判定対象物OBの分割された画像のいずれかが不良品と判定された場合に判定対象物OBを不良品と判定してもよい。
【0099】
〔付記事項2〕
上述の実施形態において、カラー反射画像および法線画像の一方または双方はマスク処理されてもよい。例えば、カラー反射画像および法線画像の判定不要領域(例えば、背景領域)を予め用意しておいたマスク画像で塗りつぶす。このようにすることで、判定の精度を向上することができる。このマスク処理は、分割されたカラー反射画像および法線画像に対して行ってもよい。
【0100】
〔付記事項3〕
学習用の画像の収集は、多くの画像が必要であるため、必ずしも容易ではない。このため、撮影した良品の画像を処理することで、画像を増加させても良い。
【0101】
(実施例)
以下、本発明の実施例を説明する。ここでは、判定対象物OBを鋳物として、外観判定装置10によって、外観を判定した。鋳物の良品および不良品を撮影部MPによって撮影して、複数の画像IMを取得し、画像(ここでは、カラー反射画像)を生成した。なお、図5に示す工程により、光源LS(i)の光源ベクトルL(i)を推定した。また、異物(ネジや紙片)を置いた鋳物を不良品とした。
【0102】
生成した画像を画像認識用のモデルM1(セマンティック/インスタンスセグメンテーション、YOLOのモデル)、異常検出用のモデルM1(MahalanobisAD、およびPatchCore)に入力し、外観の良否を判定した。なお、セマンティックセグメンテーションとインスタンスセグメンテーションの双方を用いて外観の良否を判定したが、これら2つの方式の結果が同様であったため、これらを纏めて、「セマンティック/インスタンスセグメンテーション」と記載している。
【0103】
画像検出用のモデルM1は、鋳物の欠陥(ネジ等の異物、欠け)の画像に基づく事前学習により、欠陥を検出可能とした。異常検出用のモデルM1は、良品の画像に基づく事前学習により、スコア、またはヒートマップを出力可能とした。
【0104】
図8は、外観判定結果の例を表す図である。画像A1、A2、A3は、判定対象物OBのカラー画像であり、順に、良品、異物(ネジ)を含む不良品、欠けを含む不良品を表す。画像B1~B3はそれぞれ、セマンティック/インスタンスセグメンテーションによって画像A1、A2、A3を判定した結果を表す。同様に、画像C1~C3、画像D1~D3、および画像E1~E3はそれぞれ、YOLO、MahalanobisAD、およびPatchCoreによって画像A1~A3を判定した結果を表す。
【0105】
画像B1~B3および画像C1~C3に示すように、画像認識を行うセマンティック/インスタンスセグメンテーションおよびYOLOでは、異物を含む画像A2、欠けを含む画像A3を「異物」、「欠け」として認識し、さらに、YOLOでは、「異物」、「欠け」の箇所を四角い枠(バウンディングボックス)によって特定した。すなわち、セマンティック/インスタンスセグメンテーションおよびYOLOは、鋳物の良否を判定できることが分かる。
【0106】
画像D1~D3に示すように、Mahalanobis ADは、スコアの大小により、良品と不良品を判別できた。すなわち、Mahalanobis ADが出力するスコアを閾値(例えば、120)と比較し、スコアが閾値より大きい場合に不良品と判定することができる。
【0107】
画像E1~E3に示すように、PatchCoreは、ヒートマップにより、良品と不良品を判別する。画像A2はヒートマップから異常と判定できたが、画像A3は欠けとそれ以外の箇所との色味が近いため、異常の検出には至らなかった。
【0108】
画像A1~E1に示すように、良品の判定対象物OBは、すべてを良品と判定された。良品100点につき、外観判定を行ったところ、すべて良品と判定された。
【0109】
既述のように、Mahalanobis ADでは、画像A2(異物を含む不良品)、A3(欠けを含む不良品)の双方を不良品と判定できた。一方、PatchCoreでは、画像A2を不良と判定できたが、画像A3を不良と判定できなかった。画像A3の「欠け」と鋳物自体の色味が近いためと考えられる。
【0110】
しかし、このような場合であっても、PatchCoreを画像認識用のセマンティック/インスタンスセグメンテーションまたはYOLOと併用することで、良否判定の精度を向上できることが分かる。例えば、セマンティック/インスタンスセグメンテーションまたはYOLOによって、欠陥が検出されなかった判定対象物OBをPatchCoreによって良否を判定する。
【0111】
以上の実施例では、カラー反射画像を用いて、外観を判定している。これに対して、法線画像、あるいは、カラー反射画像と法線画像の双方を用いて、外観を判定してもよい。
【0112】
図9は、外観判定結果の他の例を表す図であり、カラー反射画像と法線画像の双方を用いた、外観判定結果の例を表す。図9の画像Q1、Q2、Q3は、判定対象物OB(鋳物)のカラー反射画像であり、順に、良品、異物を含む不良品、欠けを含む不良品を表す。ここで、画像Q2は、鋳物の地肌に近い色の異物が鋳物に付着した状態を表す。画像R1、R2、R3はそれぞれ、画像Q1、Q2、Q3に対応する、判定対象物OB(鋳物)の法線画像である。画像S1、S2、S3はそれぞれ、PatchCoreによって、画像R1、R2、R3を判定した結果(ヒートマップ)を表す。ここで、矢印Fは、不良箇所(異物、欠け)を指し示す。
【0113】
既述のように、不良箇所(例えば、異物、欠け)と非不良箇所との色彩上の差異が小さい(色味が近い)場合、カラー反射画像を用いた異常の検出が困難となる。ここでは、画像Q2、Q3(カラー反射画像)において、不良箇所(異物、欠け)が画像上、やや不明確であり、検出され難くなっている。これに対して、画像R2、R3(法線画像)では、不良箇所が凸部(異物の付着)、凹部(欠け)として明確化されている。この結果、画像S2、S3では、ヒートマップによって、不良箇所を検出することができた。
【0114】
このように、法線画像を用いて、判定対象物OBの外観を判定できる。法線画像は、判定対象物OBの凹凸の情報を表すため、不良箇所と非不良箇所で、色味が近くても、凹凸として、不良箇所を検出できる。また、カラー反射画像と法線画像の双方を用いると、不良箇所をより確実に検出できる。
【0115】
以上に示すように、本実施形態では、判定対象物OBのカラー反射画像、法線画像の少なくとも一方に基づき、判定対象物OBの良否を判定している。
【0116】
[まとめ]
(1) 態様1の外観判定装置は、1または複数のプロセッサを備え、前記プロセッサは、照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像、の少なくとも一方に基づき、前記判定対象物の良否を判定する判定工程、を実行する。
【0117】
(2) 態様2の外観判定装置は、態様1の外観判定装置において、前記形状画像は、前記判定対象物の表面上での法線方向の分布を表す、法線画像であり、前記カラー画像は、互いに異なる、第1波長域、第2波長域、および第3波長域における、前記判定対象物の表面上での反射率の分布を表わす、カラー反射画像である。
【0118】
(3) 態様3の外観判定装置は、態様1または態様2の外観判定装置において、前記プロセッサは、向きが互いに異なる複数の光源の各々からの光に照射された前記判定対象物の複数の画像に基づき、前記カラー画像および前記形状画像を生成する生成工程、を実行し、前記判定工程において、前記生成された前記カラー画像および前記形状画像の少なくとも一方に基づき、前記判定対象物の良否を判定する。
【0119】
(4) 態様4の外観判定装置は、態様1~3の外観判定装置において、前記複数の画像の各々は、前記第1波長域、前記第2波長域、および前記第3波長域の光を含む光を用いて撮影された画像であり、前記プロセッサは、前記生成工程において、前記複数の画像から、前記第1波長域での複数の第1画像、前記第2波長域での複数の第2画像、および前記第3波長域での複数の第3画像を抽出する工程と、前記複数の第1画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第1反射画像を生成する工程と、前記複数の第2画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第2反射画像を生成する工程と、前記複数の第3画像に基づき、前記判定対象物の表面上での反射率の分布を表わす、第3反射画像を生成する工程と、前記第1反射画像、前記第2反射画像、および前記第3反射画像を合成して、前記カラー反射画像である、前記カラー画像を生成する工程と、を実行する。
【0120】
(5) 態様5の外観判定装置は、態様1~4の外観判定装置において、前記プロセッサは、前記生成工程において、前記複数の画像の各々をグレースケール化する工程と、前記グレースケール化された複数の画像に基づき、前記法線画像である、前記形状画像を生成する工程と、を実行する、請求項3に記載の外観判定装置。
【0121】
(6) 態様6の外観判定装置は、態様1~5の外観判定装置において、前記複数の画像の各々は、前記第1波長域、前記第2波長域、および前記第3波長域の光を含む光を用いて撮影された画像であり、前記プロセッサは、前記生成工程において、前記複数の画像から、前記第1波長域での複数の第1画像、前記第2波長域での複数の第2画像、および前記第3波長域での複数の第3画像を抽出する工程と、前記複数の第1画像に基づき、前記判定対象物の表面上での法線方向の第1分布を求める工程と、前記複数の第2画像に基づき、前記判定対象物の表面上での法線方向の第2分布を求める工程と、前記複数の第3画像に基づき、前記判定対象物の表面上での法線方向の第3分布を求める工程と、前記第1分布、前記第2分布、および前記第3分布における法線方向を平均化することで、前記法線画像である、前記形状画像を生成する工程と、を実行する。
【0122】
(7) 態様6の外観判定装置は、態様1~5の外観判定装置において、前記プロセッサは、前記複数の光源各々の向きを求める工程を実行し、前記生成工程において、前記複数の画像および前記求められた向きに基づき、前記カラー画像および前記形状画像を生成する。
【0123】
(8) 態様8の外観判定装置は、態様7の外観判定装置において、前記プロセッサは、前記向きを求める工程において、前記複数の光源中の1の光源からの光が照射された基準対象物の複数の画像に基づき、前記1の光源の向きの複数の値を求める工程と、前記複数の値から、前記複数の値の平均値から所定の値以上に離れた値を除外する工程と、前記所定の値以上に離れた値が除外された複数の値に基づき、前記1の光源の向きを求める工程と、を実行する、請求項7に記載の外観判定装置。
【0124】
(9) 態様9の外観判定装置は、態様1~8の外観判定装置において、前記判定対象物は、鋳物である。
【0125】
(10) 態様10の外観判定装置は、態様1~9の外観判定装置において、前記プロセッサは、前記判定工程において、前記カラー画像および前記形状画像の少なくとも一方を、良品である判定対象物の特徴がマッピングされたニューラルネットワークのモデルに、入力して、中間層の特徴量に基づくスコアまたは前記スコアを区分するヒートマップを取得する工程と、前記取得したスコアまたはヒートマップに基づき、前記判定対象物の良否を判定する工程と、を実行する。
【0126】
(11) 態様11の外観判定装置は、態様10の外観判定装置において、前記プロセッサは、前記判定工程において、前記スコアが所定の閾値より小さいとき、判定対象物OBを良品と判定し、スコアが所定の閾値以上であるとき、判定対象物OBを不良品と判定するか、または前記スコアが一定値以上の面積が所定の閾値より小さいとき、前記判定対象物を良品と判定し、前記スコアが一定値以上の面積が所定の閾値以上のとき、前記判定対象物を不良品と判定する。
【0127】
(12) 態様12の外観判定装置は、態様1~9の外観判定装置において、前記プロセッサは、前記判定工程において、前記判定対象物の前記カラー画像および前記形状画像の少なくとも一方を、前記判定対象物の欠陥を検出する画像認識用のニューラルネットワークのモデルに入力して、認識結果を取得する工程と、前記取得した認識結果に基づき、前記判定対象物の良否を判定する工程と、を実行する。
【0128】
(13) 態様13の外観判定方法は、照度差ステレオにより生成された、判定対象物のカラーの光学像を表わすカラー画像、および前記照度差ステレオにより生成された、前記判定対象物の形状を表わす形状画像を入力する入力工程と、前記カラー画像および前記形状画像に基づき、前記判定対象物の良否を判定する判定工程と、を有する。
【0129】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0130】
1 外観判定システム
10 外観判定装置
11 プロセッサ
12 一次メモリ
13 二次メモリ
16 バス
21 入力層
22 中間層
23 出力層
P1 外観判定プログラム
M1 モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9