以下、本開示の実施形態について図面を参照しながら説明する。各図において同一又は相当の部分には同一の符号を付し、重複する説明を省略する。
図1に示されるように、X線検査装置1(検査装置)は、装置本体2と、支持脚3と、シールドボックス4と、搬送部5と、X線照射部6と、X線検出部7と、表示操作部8と、制御部10と、を備える。X線検査装置1は、物品G(被検査物)を搬送しつつ物品GのX線透過画像を生成し、当該X線透過画像に基づいて物品Gの検査(例えば、収納数検査、異物検査、欠品検査、割れ欠け検査等)を行う。検査前の物品Gは、搬入コンベア51によってX線検査装置1に搬入される。検査後の物品Gは、搬出コンベア52によってX線検査装置1から搬出される。X線検査装置1によって不良品と判定された物品Gは、搬出コンベア52の下流に配置された振分装置(図示省略)によって生産ライン外に振り分けられる。X線検査装置1によって良品と判定された物品Gは、当該振分装置をそのまま通過する。本実施形態では、物品Gは食肉である。
装置本体2は、制御部10等を収容している。支持脚3は、装置本体2を支持している。シールドボックス4は、装置本体2に設けられている。シールドボックス4は、外部へのX線(電磁波)の漏洩を防止する。シールドボックス4の内部には、X線による物品Gの検査が実施される検査領域Rが設けられている。シールドボックス4には、搬入口4a及び搬出口4bが形成されている。検査前の物品Gは、搬入コンベア51から搬入口4aを介して検査領域Rに搬入される。検査後の物品Gは、検査領域Rから搬出口4bを介して搬出コンベア52に搬出される。搬入口4a及び搬出口4bのそれぞれには、X線の漏洩を防止するX線遮蔽カーテン(図示省略)が設けられている。
搬送部5は、シールドボックス4の中央を貫通するように配置されている。搬送部5は、搬入口4aから検査領域Rを介して搬出口4bまで、搬送方向Aに沿って物品Gを搬送する。搬送部5は、例えば、搬入口4aと搬出口4bとの間に掛け渡されたベルトコンベアである。なお、ベルトコンベアである搬送部5は、搬入口4a及び搬出口4bよりも外側に突出していてもよい。
図1及び図2に示されるように、X線照射部6は、シールドボックス4内に配置されている。X線照射部6は、搬送部5によって搬送される物品GにX線を照射する。X線照射部6は、例えば、X線を出射するX線管と、X線管から出射されたX線を搬送方向Aに垂直な面内において扇状に広げる絞り部と、を有している。X線照射部6から照射されるX線には、低エネルギー(長波長)から高エネルギー(短波長)までの様々なエネルギー帯のX線が含まれている。なお、上述した低エネルギー帯及び高エネルギー帯における「低」及び「高」は、X線照射部6から照射される複数のエネルギー帯の中で相対的に「低い」及び「高い」ことを示すものであり、特定の範囲を示すものではない。
X線検出部7は、シールドボックス4内に配置されている。X線検出部7は、物品Gを透過した複数のエネルギー帯の各々のX線を検出する。本実施形態では、X線検出部7は、低エネルギー帯(第1エネルギー帯)のX線及び高エネルギー帯(第2エネルギー帯)のX線を検出するように構成されている。すなわち、X線検出部7は、第1ラインセンサ11と、第2ラインセンサ12と、を有している。第1ラインセンサ11及び第2ラインセンサ12は、それぞれ、搬送方向Aに垂直な水平方向に沿って一次元に配列されたX線検出素子によって構成されている。第1ラインセンサ11は、物品G及び搬送部5の搬送ベルトを透過した低エネルギー帯のX線を検出する。第2ラインセンサ12は、物品G、搬送部5の搬送ベルト及び第1ラインセンサ11を透過した高エネルギー帯のX線を検出する。
図1に示されるように、表示操作部8は、装置本体2に設けられている。表示操作部8は、各種情報を表示すると共に、各種条件の入力を受け付ける。表示操作部8は、例えば、液晶ディスプレイであり、タッチパネルとしての操作画面を表示する。この場合、オペレータは、表示操作部8を介して各種条件を入力することができる。
制御部10は、装置本体2内に配置されている。制御部10は、X線検査装置1の各部(本実施形態では、搬送部5、X線照射部6、X線検出部7、及び表示操作部8、並びに、X線検査装置1の下流に配置される図示しない振分装置)の動作を制御する。なお、振分装置は、X線検査装置1による画像検査で不良品と判定された被検査物(物品)を搬送路上から排除する装置である。制御部10は、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ、及びSSD(Solid State Drive)等のストレージを備える。ROMには、X線検査装置1を制御するためのプログラムが記録されている。制御部10には、X線検出部7の第1ラインセンサ11から低エネルギー帯のX線の検出結果が入力されると共に、X線検出部7の第2ラインセンサ12から高エネルギー帯のX線の検出結果が入力される。
図3に示されるように、制御部10は、画像取得部101と、学習部102と、機械学習モデル103と、検出部104と、を備える。機械学習モデル103は、物品Gを透過した低エネルギー帯のX線に基づくソフト画像(第1画像)と、物品Gを透過した高エネルギー帯のX線に基づくハード画像(第2画像)とから、物品Gに異物が含まれている場合に当該異物の位置を予測するモデルである。本実施形態では、異物として、物品G(食肉)中に含まれる骨が主に想定されている。
制御部10は、学習フェーズ及び検査フェーズの両方を実行するように構成されている。学習フェーズは、教師データを用いて機械学習モデル103の学習を行うフェーズである。すなわち、学習フェーズは、教師データを用いた機械学習を実行することにより、学習済みモデルとしての機械学習モデル103を構築するフェーズである。機械学習モデル103に用いられる機械学習の例としては、(多層)ニューラルネットワーク(深層学習/ディープラーニング)、サポートベクターマシン、遺伝的アルゴリズム等が挙げられる。検査フェーズは、学習フェーズにより構築された機械学習モデル103を用いて、検査対象である物品Gの異物検査を実行するフェーズである。本実施形態では、画像取得部101及び学習部102によって学習フェーズが実行され、画像取得部101及び検出部104によって検査フェーズが実行される。
画像取得部101は、上述したソフト画像とハード画像とのセットを取得する。本実施形態では、画像取得部101は、X線検出部7の第1ラインセンサ11による低エネルギー帯のX線の検出結果に基づいて、当該低エネルギー帯についてのX線透過画像であるソフト画像を生成する。また、画像取得部101は、X線検出部7の第2ラインセンサ12による高エネルギー帯のX線の検出結果に基づいて、当該高エネルギー帯についてのX線透過画像であるハード画像を生成する。
本実施形態では、図2に示されるように、X線照射部6から照射されるX線は扇状に放射されると共に、X線照射部6から第1ラインセンサ11までの距離とX線照射部6から第2ラインセンサ12までの距離とが異なる。このため、ソフト画像における物品Gの大きさとハード画像における物品Gの大きさとが異なる。具体的には、ハード画像における物品Gは、ソフト画像における物品Gよりも僅かに大きくなる。そこで、画像取得部101は、X線照射部6から第1ラインセンサ11までの距離(L1)とX線照射部6から第2ラインセンサ12までの距離(L2)との比(L2/L1)に基づいて、ソフト画像とハード画像とのスケールを合わせる処理を実施してもよい。例えば、画像取得部101は、ソフト画像を上記比で拡大してもよいし、ハード画像を上記比の逆数(L1/L2)で縮小してもよい。さらに、画像取得部101は、ソフト画像P10における物品Gの位置とハード画像P20における物品Gの位置とを合わせる処理を実施してもよい。例えば、画像取得部101は、ソフト画像P10とハード画像P20との差異が最小になるように、ソフト画像P10を上下左右に移動させてもよい。より具体的には、画像取得部101は、両画像を重ね合わせて、両画像の各画素の濃淡値の差の絶対値の総和を算出し、その総和が最小となるように位置合わせを行ってもよい。
図4の(A)は、上述した画像取得部101の処理によって生成されたソフト画像P10の一例であり、図4の(B)は、上述した画像取得部101の処理によって生成されたハード画像P20の一例である。ソフト画像P10は、比較的コントラストが高く、全体的に暗くなっている。一方、ハード画像P20は、比較的コントラストが低く、全体的に明るくなっている。本実施形態では、ソフト画像P10及びハード画像P20は、同一の幅及び高さを有している。すなわち、ソフト画像P10及びハード画像P20は、いずれもH行×W列に配列された画素を有しており、各画素には画素値(濃淡値)が関連付けられている。
なお、学習フェーズにおいては、画像取得部101は、後述する学習部102により用いられる教師データとして、それぞれ所定位置に異物Fが配置されたソフト画像P11及びハード画像P21を取得する。互いに関連する所定位置(すなわち、ソフト画像P11における所定位置と、ハード画像P21において上記所定位置に対応する位置)に異物Fが配置されたソフト画像P11及びハード画像P21は、例えば以下のようにして取得される。すなわち、元々異物を含んでいない物品G(すなわち、良品の物品G)の所定位置に異物(又はテストピース)が配置されたサンプルを搬送部5に搬送させる。そして、画像取得部101が、当該サンプルについて、上述した処理によってソフト画像及びハード画像を生成する。これにより、所定位置に異物Fが配置されたソフト画像P11及びハード画像P21が得られる。ただし、このような方法では、後述する教師データにおける正解データ(すなわち、異物が存在する位置(画素))を設定する作業(ラベリング)に手間がかかる。また、異物の輪郭部分等において、異物が存在する画素を正確に特定できない場合がある。さらに、異物の大きさ、位置等についての様々なバリエーションの教師データを得るためには、バリエーション毎のサンプルを用意し、各サンプルを搬送部5に搬送させてソフト画像及びハード画像を取得する必要があるため、非常に手間がかかる。
そこで、画像取得部101は、ソフト画像P11及びハード画像P21を以下のようにして取得してもよい。すなわち、ソフト画像P11及びハード画像P21の各々は、低エネルギー帯及び高エネルギー帯において異物を含んでいない物品Gが撮像された画像に対して、一以上の画素を含む領域(一例として、図5に示される破線で囲まれた領域)に形成された仮想的な異物を示す仮想異物画像が配置された画像であってもよい。言い換えれば、画像取得部101は、良品と想定される物品Gについて得られたソフト画像P10及びハード画像P20のそれぞれの所定位置(上記領域)に仮想異物画像を貼り付けることにより、当該所定位置に異物Fが配置されたソフト画像P11及びハード画像P21を取得してもよい。例えば、画像取得部101は、異物Fの種類毎の透過画像(ソフト画像及びハード画像のそれぞれに対応した透過画像)である仮想異物画像を予め記憶しておく。そして、画像取得部101は、ソフト画像用の仮想異物画像をソフト画像P10の所定位置に貼り付けることによりソフト画像P11を取得すると共に、ハード画像用の仮想異物画像をハード画像P20の所定位置(ソフト画像P10における仮想異物画像の貼り付け位置と同じ位置)に貼り付けることによりハード画像P21を取得してもよい。このように、異物を含まない良品画像(ソフト画像P10及びハード画像P20)に人工的な仮想異物画像を付加することにより、機械学習モデル103の学習のために必要となる教師データを適切かつ容易に作成できる。具体的には、実際に異物(又はテストピース)を混入させたサンプル(物品G)についてのソフト画像P11及びハード画像P21を取得する場合と比較して、正解データを正確且つ容易に設定することができる。また、異物の大きさ、位置等についての様々なバリエーションの教師データを容易に作成することができる。なお、正解データとは、画像データ(ここでは、ソフト画像P11及びハード画像P21)とセットにすることで、教師データとなるデータである。正解データは、ラベルとも呼ばれる。本実施形態では一例として、正解データは、仮想異物画像を貼り付けた画素の濃淡値を1とし、仮想異物画像が貼り付けられていない画素の濃淡値を0としたものである。
学習部102は、上述した学習フェーズにおける機械学習モデル103の学習処理を実行する。具体的には、学習部102は、それぞれ所定位置に異物F(図5参照)が配置されたソフト画像P11及びハード画像P21と、上記所定位置(すなわち、異物Fが配置された領域)に対応する画素を示す正解データと、を含む教師データを用意する。本実施形態では、学習部102は、画像取得部101により生成されたソフト画像P11及びハード画像P21(すなわち、良品である物品Gのソフト画像P10及びハード画像P20の各々に仮想異物画像を貼り付けたもの)を取得する。ただし、学習部102は、X線検査装置1によるリアルタイムの検査と同時並行でソフト画像P11及びハード画像P21を取得する必要はない。一又は複数台のX線検査装置1から出力されるデータをX線検査装置1に外付けされる記録媒体である図示しないHDD等に撮り溜めておき、学習部102は、当該HDDから、適宜画像を取得するように構成されてもよい。また、学習部102は、仮想異物画像が占める領域に含まれる画素を示す情報を画像取得部101から取得することにより、正解データを取得する。
そして、学習部102は、このようにして得られた教師データ(ソフト画像P11、ハード画像P21、及び正解データ)を機械学習モデル103に入力することにより、機械学習モデル103を学習させる。学習部102は、上記機械学習を実行することにより、ソフト画像P10及びハード画像P20を入力して画素毎の異物尤度を出力するように構成されたニューラルネットワークを含む学習済みモデル(すなわち、ニューラルネットワークのパラメータが調整された機械学習モデル103)を構築する。ここで、異物尤度とは、異物である確からしさを示す情報である。例えば、ある画素の異物尤度は、当該画素が異物F(本実施形態では仮想異物画像)に対応する画素である確率(0から1までの数値)により表現され得る。
図5は、機械学習モデル103の一例を示す図である。図5に示されるように、本実施形態では一例として、機械学習モデル103は、予め構成されたニューラルネットワークNを含んでいる。本実施形態では、ニューラルネットワークNは、第1ニューラルネットワークN1(第1機械学習モデル)と第2ニューラルネットワークN2(第2機械学習モデル)とを含んでいる。第1ニューラルネットワークN1及び第2ニューラルネットワークN2は、第1ニューラルネットワークN1の出力が第2ニューラルネットワークN2に入力されるように、互いに結合されている。第1ニューラルネットワークN1は、ソフト画像P11及びハード画像P21を入力して1つの検査用画像P30を出力するように構成されている。第2ニューラルネットワークN2は、第1ニューラルネットワークN1により出力された検査用画像P30を入力して予測結果R(すなわち、画素毎の異物尤度)を出力するように構成されている。第1ニューラルネットワークN1及び第2ニューラルネットワークN2は、例えば畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を含んで構成され得る。また、第1ニューラルネットワークN1及び第2ニューラルネットワークN2は、好ましくは、多層のニューラルネットワーク(一例として、隠れ層数が2〜6のニューラルネットワーク)により構成される。
図6は、第1ニューラルネットワークN1の処理構成の一例を示す図である。図6に示されるように、第1ニューラルネットワークN1は、ソフト画像P11及びハード画像P21を入力して、深さが2以上である経過画像P1,P2を生成し、経過画像P1,P2に基づいて、深さが1である検査用画像P30を最終的に出力する。ここで、「深さ」とは、各画素に関連付けられる値の数(次数)である。本実施形態では一例として、深さが2である経過画像P1に基づいて深さが4である経過画像P2が生成された後、経過画像P2に基づいて深さが1である経過画像P3が生成される過程を経て、入力画像(ソフト画像P11及びハード画像P21)と同じ大きさの検査用画像P30が生成される。
経過画像P1は、ソフト画像P11及びハード画像P21から得られた、各行列要素が2値(深さが2)を有するH行W列(高さH、幅W)の行列である。具体的には、経過画像P1のi行j列(i=1,…,H、j=1,…,W)の要素は、ソフト画像P11のi行j列の画素の濃淡値とハード画像P21のi行j列の画素の濃淡値とを保持している。すなわち、経過画像P1は、実質的に2枚分の画像(ソフト画像P11及びハード画像P21)の情報を有している。なお、説明の簡略化のために、経過画像P1の要素を便宜的に行列(2階テンソル)表現で記載した。ただし、正確には、経過画像P1は、高さH、幅W、深さDの3次元を有しており、3階テンソルで表現されるものである。
経過画像P2は、経過画像P1に対して畳み込み演算を行うことにより得られた、各行列要素が4値(深さが4)を有するH行W列(高さH、幅W)の行列である。経過画像P2は、経過画像P1に対して、適当な大きさのパディングを適用すると共に4種類のフィルタを適用することにより得られる。経過画像P2は、実質的に4枚分の画像の情報を有している。ここで、経過画像P1から経過画像P2を生成する際に用いられるフィルタ(に含まれる各値)は、第1ニューラルネットワークN1のパラメータ(の一部)に相当する。
経過画像P3は、経過画像P2に対して深さを低減させる処理(4→1)を実行することにより得られた、各行列要素が1値(深さが1)を有する2*H行2*W列(高さ2*H、幅2*W)の行列である。例えば、経過画像P2の各画素を、当該各画素に含まれる4つの値を所定の並べ方で配列した2行2列の4画素に変換することにより、深さが経過画像P2の1/4に低減される一方で面積が経過画像P2の4倍に拡大された経過画像P3が得られる。ここで、上記所定の並べ方は、第1ニューラルネットワークN1のパラメータ(の一部)に相当する。
検査用画像P30は、経過画像P3に対してリダクション処理を実行することにより得られた、各行列要素が1値(深さが1)を有するH行W列(高さH、幅W)の行列である。検査用画像P30は、ストライドを2に設定した上で経過画像P3にフィルタを適用することにより得られる。ここで、経過画像P3から検査用画像P30を生成する際に用いられるフィルタ(に含まれる各値)は、第1ニューラルネットワークN1のパラメータ(の一部)に相当する。
機械学習モデル103の学習(すなわち、ニューラルネットワークNのパラメータの調整)は、以下のようにして行われる。すなわち、学習部102は、ニューラルネットワークNに教師データにおけるソフト画像P11及びハード画像P21を入力する。そして、学習部102は、ニューラルネットワークNにより出力された予測結果R(画素毎の異物尤度)から決定される異物に対応する画素と教師データにおける正解データとの一致度が大きくなるように、ニューラルネットワークNのパラメータを調整する。このようなパラメータの調整には、誤差逆伝播法等の公知の手法を用いることができる。
一例として、学習部102は、予測結果Rに含まれる画素毎の異物尤度に基づいて、ニューラルネットワークNによって異物に対応すると推定された画素を特定する。例えば、学習部102は、予め設定した閾値(例えば0.5)以上の異物尤度を有する画素を、異物に対応する画素として取得する。一方、学習部102は、上記閾値未満の異物尤度を有する画素を、異物に対応しない画素として取得する。そして、学習部102は、このようにして特定された異物に対応する画素(又は異物に対応しない画素)と正解データとを比較することにより、予測結果Rの正解データからの誤差を算出することができる。学習部102は、このような誤差(損失)を表す任意の損失関数(コスト関数)を設定し、最急降下法等を用いて、当該損失関数の値が減少するようにニューラルネットワークNのパラメータ(重み)を調整する。
上記構成によれば、ソフト画像P11とハード画像P21と正解データとを含む教師データを用いて、機械学習モデル103の予測結果R(画素毎の異物尤度)の精度が向上するように、機械学習モデル103を適切に学習させることができる。
また、本実施形態では、一連の処理(ソフト画像P11及びハード画像P21を入力して予測結果Rを出力する処理)を実行するように結合された第1ニューラルネットワークN1及び第2ニューラルネットワークN2は、同時に学習される。すなわち、学習部102は、第1ニューラルネットワークN1に教師データにおけるソフト画像P11及びハード画像P21を入力し、第2ニューラルネットワークN2により出力された予測結果R(画素毎の異物尤度)から決定される異物に対応する画素と正解データとの一致度が大きくなるように、第1ニューラルネットワークN1のパラメータ(第1パラメータ)と第2ニューラルネットワークN2のパラメータ(第2パラメータ)とを同時に調整する。上記構成によれば、互いに結合された第1ニューラルネットワークN1及び第2ニューラルネットワークN2の両方のパラメータを、最終的に得られる第2ニューラルネットワークN2の予測結果R(画素毎の異物尤度)の精度が向上するように、効果的に調整することができる。ただし、例えば第2ニューラルネットワークN2に汎用性がある場合等、第1ニューラルネットワークN1のパラメータ(すなわち、検査用画像P30の作成方法)のみを調整すればよい場合もあり得る。このような場合には、学習部102は、少なくとも第1ニューラルネットワークN1のパラメータを調整し、当該パラメータの調整により、第1ニューラルネットワークN1が出力する検査用画像P30が変化してもよい。このような場合にも、第1ニューラルネットワークN1のパラメータを、最終的に得られる第2ニューラルネットワークN2の予測結果R(画素毎の異物尤度)の精度が向上するように、効果的に調整することができる。なお、必ずしも、検査用画像P30の段階で、ノイズが完全に消去されている必要はない。すなわち、検査用画像P30は、後段の第2ニューラルネットワークN2が適切に異物尤度を出力できるような画像となっていればよい。
検出部104は、上述した学習フェーズにおいて構築された機械学習モデル103を用いて検査対象である物品Gの異物検出を行う。すなわち、検出部104は、検査フェーズにおいて、検査対象である物品Gについてのソフト画像P10及びハード画像P20を機械学習モデル103に入力することにより、画素毎の異物尤度(機械学習モデル103から出力される予測結果R)を取得する。そして、検出部104は、当該画素毎の異物尤度に基づいて異物を検出する。例えば、検出部104は、上述したように予め設定した閾値(例えば0.5)以上の異物尤度を有する画素を異物に対応する画素として特定することにより、物品Gに混入された異物を検出することができる。例えば、検出部104は、異物尤度が閾値以上である画素の濃淡値を1とし、異物尤度が閾値未満である画素の濃淡値を0とした検査結果画像を出力してもよい。このような検査結果画像によれば、検出された異物の位置を視覚的に把握することができる。
次に、図7を参照して、学習フェーズにおけるX線検査装置1の動作の一例について説明する。
ステップS1において、教師データ作成用の物品Gが、搬入コンベア51から搬入口4aを介して検査領域Rに搬入される(図1参照)。そして、X線照射部6が当該物品GにX線を照射し、X線検出部7が当該物品Gを透過した複数のエネルギー帯の各々のX線を検出する。本実施形態では、X線検出部7の第1ラインセンサ11によって低エネルギー帯のX線が検出され、X線検出部7の第2ラインセンサ12によって高エネルギー帯のX線が検出される(図2参照)。
ステップS2において、画像取得部101は、第1ラインセンサ11による低エネルギー帯のX線の検出結果に基づいて、ソフト画像P10を生成し、第2ラインセンサ12による高エネルギー帯のX線の検出結果に基づいて、ハード画像P20を生成する(図4参照)。
ステップS3において、画像取得部101は、ソフト画像用の仮想異物画像をソフト画像P10の所定位置に貼り付けることにより、所定位置に異物Fが配置されたソフト画像P11を取得する。また、画像取得部101は、ハード画像用の仮想異物画像をハード画像P20の所定位置に貼り付けることにより、所定位置に異物Fが配置されたハード画像P21を取得する(図5参照)。
ステップS4において、学習部102は、ステップS3で取得されたソフト画像P11及びハード画像P21と上記所定位置(すなわち、仮想異物画像を貼り付けた部分に対応する画素)を示す正解データとを含む教師データを作成する。例えば、ステップS1,S2で取得された一組のソフト画像P10及びハード画像P20に対して、異なる複数の仮想異物画像を用いてステップS3の処理を複数回実行することにより、複数の異なる教師データが作成されてもよい。また、物品G及び仮想異物画像の複数の異なる組み合わせに対して、ステップS1〜S3の処理を複数回実行することにより、複数の異なる教師データが作成されてもよい。
ステップS5において、学習部102は、ステップS4で作成された教師データを用いた機械学習(例えば深層学習等)を実行することにより、学習済みモデル(すなわち、第1ニューラルネットワークN1及び第2ニューラルネットワークN2のパラメータが調整された機械学習モデル103)を構築する。
次に、図8を参照して、検査フェーズにおけるX線検査装置1の動作の一例について説明する。
ステップS11において、異物検査の対象となる物品Gが、搬入コンベア51から搬入口4aを介して検査領域Rに搬入される(図1参照)。そして、X線照射部6が当該物品GにX線を照射し、X線検出部7が当該物品Gを透過した複数のエネルギー帯の各々のX線を検出する。本実施形態では、X線検出部7の第1ラインセンサ11によって低エネルギー帯のX線が検出され、X線検出部7の第2ラインセンサ12によって高エネルギー帯のX線が検出される(図2参照)。
ステップS12の処理は、ステップS2の処理と同様である。すなわち、画像取得部101は、第1ラインセンサ11による低エネルギー帯のX線の検出結果に基づいて、ソフト画像P10を生成し、第2ラインセンサ12による高エネルギー帯のX線の検出結果に基づいて、ハード画像P20を生成する(図4参照)。
ステップS13において、検出部104は、ステップS12で取得されたソフト画像P10及びハード画像P20を機械学習モデル103に入力することにより、画素毎の異物尤度(機械学習モデル103から出力される予測結果R)を取得する。
ステップS14において、検出部104は、機械学習モデル103から出力された予測結果Rに基づいて異物を検出する。例えば、検出部104は、予め設定した閾値(例えば0.5)以上の異物尤度を有する画素を異物に対応する画素として特定することにより、物品Gに混入された異物を検出することができる。
以上述べたX線検査装置1によれば、以下の効果が奏される。2つの異なるエネルギー帯のX線に基づく透過画像を用いた従来の異物検査(いわゆるデュアルエナジー方式による異物検査)においては、上述したソフト画像P10とハード画像P20との間で物品Gに対応する部分(異物ではない部分)の濃淡値を合わせた上で各画素の濃淡値の差分を計算する差分処理が行われていた。このような差分処理により、異物に対応する画素の濃淡値が異物に対応しない画素の濃淡値よりも大きくなるように加工された差分画像が取得され、当該差分画像に基づいて異物の検出が行われていた。しかし、差分処理に用いられる古典的な演算(除算、減算等)の性質上、差分画像には一定のノイズ(実際には異物ではないが濃淡値が比較的大きい部分)が含まれてしまうため、当該ノイズに起因して異物の誤検出又は検出漏れが発生することがあった。これに対して、X線検査装置1では、予め構成された機械学習モデル103によって、上記差分処理に代わる処理(すなわち、機械学習によって決定されたパラメータに基づく処理)を実行することができる。これにより、上記差分処理に起因するノイズの発生を回避することができる。また、ノイズが存在する状態であっても、ノイズが真のノイズであるか異物であるかを見極めて、異物を効率的に検出することができる。その結果、デュアルエナジー方式による異物の検出精度を向上させることができる。なお、検出部104が用いる「予め構成された機械学習モデル103」は、少なくとも内部のアルゴリズムの構造(例えば、ニューラルネットワーク、遺伝的アルゴリズム等)が決定されているものであればよく、パラメータが確定していないもの(例えば、学習途上であるもの)であってもよい。
また、機械学習モデル103は、第1ニューラルネットワークN1と、第2ニューラルネットワークN2と、を含む。上記構成によれば、ソフト画像P10とハード画像P20とから1つの差分画像を得る従来の差分処理に対応して、ソフト画像P10とハード画像P20とから1つの検査用画像P30を得る処理が実行される。すなわち、第1ニューラルネットワークN1により、従来の差分処理に代えて、より高度な処理が実行される。その結果、デュアルエナジー方式による異物の検出精度を一層効果的に向上させることができる。
また、第1ニューラルネットワークN1は、ソフト画像P10及びハード画像P20を入力して、深さが2以上である経過画像P1,P2を生成し、経過画像P1,P2に基づいて深さが1である検査用画像P30を出力する。上記構成によれば、第1ニューラルネットワークN1を用いて検査用画像P30を得る過程に経過画像P1,P2を生成する工程を含めることにより、検査用画像P30の生成に影響を及ぼす第1ニューラルネットワークN1のパラメータ数(すなわち、検査用画像P30を生成するルールの調整幅)を確保できる。特に、本実施形態では、経過画像P1から経過画像P2を生成する過程で、深さが2から4に増加する。これにより、フィルタ(パラメータ)の種類を好適に増加させることができ、検査用画像P30を得るまでに調整可能な部分の自由度を適切に確保できる。その結果、機械学習モデル103の学習において、第2ニューラルネットワークN2により出力される予測結果R(画素毎の異物尤度)の精度を高くすることが可能な検査用画像P30を出力するように、第1ニューラルネットワークN1を適切に調整することが可能となる。
以上、本開示の一実施形態について説明したが、本開示は、上述した実施形態に限定されない。
例えば、画像取得部101は、ソフト画像及びハード画像の一方における物品Gの部分の濃淡値(輝度)を他方における物品Gの部分の濃淡値と略一致するように変換させるための輝度変換関数を予め記憶してもよい。そして、画像取得部101は、機械学習モデル103に入力する対象となるソフト画像及びハード画像として、上記輝度変換関数を用いて両画像間における物品Gの部分の濃淡値を合わせる輝度変換処理(例えば、ソフト画像の各画素の濃淡値を変換する処理)を行った後のソフト画像及びハード画像を取得してもよい。なお、画像取得部101は、上述したように仮想異物画像をソフト画像及びハード画像に貼り付ける場合には、仮想異物画像の貼り付けを行った後に、上述した輝度変換処理を行ってもよい。これにより、仮想異物画像に対応する画素の濃淡値も適切に調整される。或いは、画像取得部101は、上述した輝度変換処理を行った後に、輝度変換処理に応じた濃淡値を有する仮想異物画像の貼り付けを行ってもよい。
また、学習部102は、第1ニューラルネットワークN1のパラメータと第2ニューラルネットワークN2のパラメータとを個別に調整してもよい。第1ニューラルネットワークN1は、深さ1であり、異物以外が写らないようにする処理(あるいは、後段の第2ニューラルネットワークN2で上手くノイズが除去できるようする処理)を行うアルゴリズムである。ここで、異物が写り込まないように調整する場合は、検査用画像P30に、異物以外の情報が写り込まないようにしてもよい。例えば、第2ニューラルネットワークN2が、汎用的な学習済みモデルとして得られている場合が考えられる。この場合、第2ニューラルネットワークN2にて、異物の抽出ができるように(異物に該当する画素のみ、閾値以上の異物尤度となるように)、第2ニューラルネットワークN2の出力する尤度に基づいて、第1ニューラルネットワークN1に係るパラメータのみ調整するように構成してもよい。この際も、第1ニューラルネットワークN1は、第2ニューラルネットワークN2の出力が正解データと一致するように、(繰り返し)調整される。
また、機械学習モデル103により出力されるデータの形式は、上述した予測結果R(すなわち、画素毎の異物尤度(0から1までの値)を示す情報)に限られない。例えば、機械学習モデル103は、異物尤度(異物である可能性)が一定以上である画素のフラグがON(1)に設定され、それ以外の画素のフラグがOFF(0)に設定されたH行W列の行列を示す異物情報と、異物でない可能性が一定以上である画素のフラグがON(1)に設定され、それ以外の画素のフラグがOFF(0)に設定されたH行W列の行列を示す良品情報と、をそれぞれ出力するように構成されてもよい。すなわち、機械学習モデル103が出力する情報は、正解データとの一致度を算出可能(すなわち、機械学習モデル103の予測精度を評価可能)であって、教師データによるパラメータ調整を行うことが可能なものであればよい。
また、上記実施形態では、X線検査装置1は、制御部10だけでなく、搬送部5、X線照射部6、X線検出部7、及び表示操作部8を備えているが、本開示に係る検査装置は、制御部10に相当する部分(すなわち、搬送部5、X線照射部6、X線検出部7、及び表示操作部8を含まないコンピュータ装置)として構成されてもよい。
さらに、図9に示されるように、本開示に係る検査装置は、上述した検査フェーズのみを実行する(すなわち、学習フェーズを実行しない)検査装置10Aとして構成されてもよい。検査装置10Aは、上述した画像取得部101、機械学習モデル103、及び検出部104を備える。この場合、検査装置10Aとは別のコンピュータ装置である学習装置20が、上述した学習フェーズを実行してもよい。学習装置20は、上述した画像取得部101及び学習部102を備える。学習装置20によれば、上記差分処理に代わる処理(すなわち、機械学習によって決定されたパラメータに基づく処理)を実行することが可能な機械学習モデル103(学習済みモデル)を得ることができる。そして、学習装置20(学習部102)により構築された学習済みモデル(機械学習モデル103)は、検査装置10Aに配布されてもよい。これにより、検査装置10Aにおいて、学習済みモデルを用いた異物検査が可能となる。また、学習済みモデルは、学習装置20から検査装置10Aへと直接配布(通信ネットワーク等を介したダウンロード等)されてもよいし、一旦USBメモリ、外付けHDD等の持ち運び可能な記録媒体に記憶されてから、検査装置10Aと間接的に配布(オフライン配布)されてもよい。
また、上記実施形態では、第1機械学習モデル及び第2機械学習モデルを、第1ニューラルネットワークN1及び第2ニューラルネットワークN2により構成する例を示したが、本開示はこれに限られない。たとえば、第1機械学習モデル及び第2機械学習モデルの一方を、ニューラルネットワークとは異なるアルゴリズムに基づく機械学習モデルに置き換えることも可能である。
以下に、一例として、第2ニューラルネットワークN2を、遺伝的アルゴリズム(GA)に基づくモデルGAに置き換えた場合を説明する。
一般に、X線透過画像に対して、画像処理アルゴリズムを用いた画像処理を施して処理画像を生成し、この処理画像に基づいて物品の検査を行うX線検査装置が知られている。このようなX線検査装置では、複数の画像処理アルゴリズムが記憶部に予め記憶されており、記憶された複数の画像処理アルゴリズムの中から、検査時の画像処理に用いる最適な画像処理アルゴリズムが選択されて設定される。
このような画像処理アルゴリズムは、一般的に1枚の画像に対して為されるものであり、2枚の画像を入力することはできない。この画像処理アルゴリズムの一例として、モデルGA(遺伝的アルゴリズムを用いた機械学習モデル)がある。モデルGAについて、既存の画像処理を組み合わせて、検査したい対象物と発見しようとする異物に応じた画像処理を生成(特定)することを目的とする手法が提案されている。なお、モデルGAにおける画像処理とは、連続する画像処理フィルタの組み合わせである。ここで、用いる画像処理フィルタの選択変更、当該画像フィルタをかける順や、フィルタをかける強さの変更等を適宜含み、適正化した画像処理が行われることにより、適正化される。これらの画像フィルタに関する変更量が、モデルGAにおける調整すべきパラメータとなる。
ここで、モデルGAは、画像処理を生成(特定)するにあたって、様々な組み合わせを実行して、目的に適合しているかどうかを適応度により評価し、評価結果に基づいて、遺伝的アルゴリズムを用いることにより画像処理の適応度を向上させていく手法である。しかし、X線画像は一般的にモノクロ画像となっており、既存の画像処理ではモノクロ画像を扱うものが主となっているため、遺伝的アルゴリズムを使用したとしてもモノクロ画像を扱うことに変わりはない。そのため、2枚の画像を入力して画像処理を行うことはここでは想定されていない。そこで、第1ニューラルネットワークN1により生成された検査用画像P30を、上記実施形態における第2ニューラルネットワークN2に代えて、モデルGAに入力することが考えられる。
この場合も、モデルGAの適応度(上記実施形態において第2ニューラルネットワークN2が出力する尤度に相当)が向上するように、モデルGAの適応度に基づいて、第1ニューラルネットワークN1のパラメータを単独で、又は、第1ニューラルネットワークN1のパラメータ及びモデルGAのパラメータを同時に、調整する。適切にパラメータが調整された第1ニューラルネットワークN1により生成される検査用画像P30を用いることで、モデルGAの異物判定処理の精度が向上する。
また、上記実施形態では、検査装置がX線検査装置1である形態を一例に説明した。しかし、本開示に係る検査装置は、X線検査装置1に限定されず、電磁波を利用して物品Gの異物検査を行う装置であればよい。ここで、電磁波とは、X線、近赤外線、光、その他の電磁波である。また、物品Gの種類は特に限定されず、様々な物品Gを検査対象とすることができる。同様に、異物の種類は特に限定されず、様々な異物を検査対象とすることができる。