(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-02-07
(45)【発行日】2023-02-15
(54)【発明の名称】情報処理方法、コンピュータプログラム、情報処理装置及び情報処理システム
(51)【国際特許分類】
G01N 21/88 20060101AFI20230208BHJP
G01N 21/27 20060101ALI20230208BHJP
G06T 7/11 20170101ALI20230208BHJP
G06V 10/26 20220101ALI20230208BHJP
G06V 10/143 20220101ALI20230208BHJP
G06V 20/68 20220101ALI20230208BHJP
【FI】
G01N21/88 J
G01N21/27 A
G06T7/11
G06V10/26
G06V10/143
G06V20/68
(21)【出願番号】P 2022087026
(22)【出願日】2022-05-27
【審査請求日】2022-05-27
【早期審査対象出願】
(73)【特許権者】
【識別番号】517255566
【氏名又は名称】株式会社エクサウィザーズ
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】山下 聖悟
【審査官】井上 徹
(56)【参考文献】
【文献】特開平9-62839(JP,A)
【文献】特開2017-194300(JP,A)
【文献】特許第6902652(JP,B1)
【文献】国際公開第2019/151393(WO,A1)
【文献】特開2017-83584(JP,A)
【文献】特開2020-156860(JP,A)
【文献】特開2016-57944(JP,A)
【文献】特開2017-215239(JP,A)
【文献】特開2020-51982(JP,A)
【文献】特表2012-513302(JP,A)
【文献】特開2021-149309(JP,A)
【文献】特表2016-504574(JP,A)
【文献】Khalid El Amraoui et al.,Machine learning algorithm for Avocado image segmentation based on quantum enhancement and Random forest,2022 2nd International Conference on Innovative Research in Applied Science Engineering and Technology ,2022年03月
【文献】福岡 知隆ら,ドローンと画像処理と赤外線画像による水圧鉄管点検業務の省力化の研究,AI・データサイエンス論文集,2020年11月,第1巻J1号 ,PP.606-612
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84-G01N 21/958
G01N 21/00-G01N 21/01
G01N 21/17-G01N 21/61
B07C 1/00-B07C 99/00
G06T 1/00
G06T 7/00-G06T 7/90
G06V 10/00-G06V 20/90
G06V 30/418
G06V 40/16
G06V 40/20
JSTPlus/JMEDPlus/JST7580(JDreamIII)
Science Direct
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
情報処理装置が、
対象物を第1波長帯の光に基づいて撮影した第1画像を取得し、
前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得し、
前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定し、
特定結果に基づいて、前記第2画像から前記対象物の画像領域を抽出し、
前記第1画像に基づいて前記対象物を分類し、
前記第2画像から抽出された画像領域の入力に対して前記対象物の状態に関する情報を出力するよう機械学習がなされた複数の学習モデルの中から、分類結果に応じて一の学習モデルを選択し、
抽出した前記画像領域及び選択した学習モデルに基づいて前記対象物の状態を検出する、
情報処理方法。
【請求項2】
前記第1波長帯は、可視光線の波長帯であり、
前記第2波長帯は、赤外線の波長帯である、
請求項1に記載の情報処理方法。
【請求項3】
前記情報処理装置が、
前記分類結果に応じて前記第2波長帯を選択し、
選択した前記第2波長帯の光に基づいて撮影した前記第2画像を取得する、
請求項1に記載の情報処理方法。
【請求項4】
前記情報処理装置が、
前記対象物について2つのクラスへの分類の確信度が低い場合に、当該2つのクラスに応じた前記第2波長帯を選択し、
選択した前記第2波長帯の光に基づいて撮影した前記第2画像を取得し、
取得した前記第2画像に基づいて、前記対象物の再分類を行う、
請求項1に記載の情報処理方法。
【請求項5】
前記情報処理装置が、
複数種類の複数の食品を撮影した前記第1画像及び前記第2画像を取得し、
前記特定結果に基づいて、各食品の種類を分類し、
分類結果に基づいて、各食品の状態検出を行う、
請求項1に記載の情報処理方法。
【請求項6】
コンピュータに、
対象物を第1波長帯の光に基づいて撮影した第1画像を取得し、
前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得し、
前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定し、
特定結果に基づいて、前記第2画像から前記対象物の画像領域を抽出し、
前記第1画像に基づいて前記対象物を分類し、
前記第2画像から抽出された画像領域の入力に対して前記対象物の状態に関する情報を出力するよう機械学習がなされた複数の学習モデルの中から、分類結果に応じて一の学習モデルを選択し、
抽出した前記画像領域及び選択した学習モデルに基づいて前記対象物の状態を検出する、
処理を実行させる、コンピュータプログラム。
【請求項7】
対象物を第1波長帯の光に基づいて撮影した第1画像を取得する第1取得部と、
前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得する第2取得部と、
前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定する特定部と、
特定結果に基づいて、前記第2画像から前記対象物の画像領域を抽出する抽出部と、
前記第1画像に基づいて前記対象物を分類する分類部と、
前記第2画像から抽出された画像領域の入力に対して前記対象物の状態に関する情報を出力するよう機械学習がなされた複数の学習モデルの中から、分類結果に応じて一の学習モデルを選択する選択部と、
抽出した前記画像領域及び選択した学習モデルに基づいて前記対象物の状態を検出する検出部と
を備える情報処理装置。
【請求項8】
第1波長帯の光を透過して第2波長帯の光を遮断する第1フィルタ、前記第2波長帯の光を透過して前記第1波長帯の光を遮断する第2フィルタ、前記第2波長帯の光を発する光源、前記第1フィルタ又は前記第2フィルタを介して撮影を行う撮影部、前記撮影部に対する前記第1フィルタ及び前記第2フィルタの切り替えを行う切替部、前記撮影部が前記第2フィルタを介して撮影する際に前記光源を発光させる制御部を有する撮影装置と、
前記撮影装置が対象物を第1波長帯の光に基づいて撮影した第1画像を取得する第1取得部、前記撮影装置が前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得する第2取得部、前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定する特定部、特定結果に基づいて、前記第2画像から前記対象物の画像領域を抽出する抽出部、前記第1画像に基づいて前記対象物を分類する分類部、前記第2画像から抽出された画像領域の入力に対して前記対象物の状態に関する情報を出力するよう機械学習がなされた複数の学習モデルの中から、分類結果に応じて一の学習モデルを選択する選択部、並びに、抽出した前記画像領域及び選択した学習モデルに基づいて前記対象物の状態を検出する検出部を有する情報処理装置と
を備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物の状態を検出するための情報処理方法、コンピュータプログラム、情報処理装置及び情報処理システムに関する。
【背景技術】
【0002】
従来、食品等の対象物を撮影装置で撮影した画像に基づいて、この対象物の異常の有無又は熟れ具合等の状態を検出する技術が広く用いられている。近年では、予め機械学習がなされた学習モデル、いわゆるAI(Artificial Intelligence)を用いて、撮影画像から対象物の状態を検出することが行われている。
【0003】
特許文献1においては、対象がそれぞれ異なる位置又は姿勢で写りこむように撮像装置により撮像された複数の撮像画像を、これら複数の撮像画像の各々における撮像装置と対象との相対的な位置又は姿勢の関係を特定可能な態様で取得し、これら複数の撮像画像から対象の表面の異常に該当する可能性がある異常候補が写りこんでいる複数の異常候補画像を抽出し、複数の異常候補画像の間における異常候補の変化に基づいて、複数の異常候補画像の各々の異常候補の対象の表面に対する深度を推定し、複数の異常候補画像の各々の異常候補の深度に基づいて、異常候補が異常に該当するか否かを検出する異常検出装置が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、例えばアボガドのように色が暗い対象物又はリンゴのように表面に模様がある対象物等は、撮影画像に基づく状態検出を高精度に行うことが難しいという問題がある。
【0006】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、撮影画像に基づく対象物の状態検出の精度を向上することが期待できる情報処理方法、コンピュータプログラム、情報処理装置及び情報処理システムを提供することにある。
【課題を解決するための手段】
【0007】
一実施形態に係る情報処理方法は、情報処理装置が、対象物を第1波長帯の光に基づいて撮影した第1画像を取得し、前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得し、前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定し、特定結果に基づいて、前記第2画像から前記対象物の画像領域を抽出し、前記第1画像に基づいて前記対象物を分類し、前記第2画像から抽出された画像領域の入力に対して前記対象物の状態に関する情報を出力するよう機械学習がなされた複数の学習モデルの中から、分類結果に応じて一の学習モデルを選択し、抽出した前記画像領域及び選択した学習モデルに基づいて前記対象物の状態を検出する。
【発明の効果】
【0008】
一実施形態による場合は、撮影画像に基づく対象物の状態検出の精度を向上することを期待できる。
【図面の簡単な説明】
【0009】
【
図1】本実施の形態に係る情報処理システムの概要を説明するための模式図である。
【
図2】本実施の形態に係る情報処理装置の構成を示すブロック図である。
【
図3】本実施の形態に係るカメラの構成を示す模式図である。
【
図4】カメラが撮影した対象物の可視光線画像及び赤外線画像の一例を示す画像である。
【
図5】情報処理装置が行うセグメンテーション処理を説明するための模式図である。
【
図6】情報処理装置が行う画像領域抽出処理を説明するための模式図である。
【
図7】情報処理装置が行う異常検出処理を説明するための模式図である。
【
図8】異常箇所の通知画面の一例を示す模式図である。
【
図9】本実施の形態に係る情報処理装置が行う状態検出処理の手順を示すフローチャートである。
【
図10】実施の形態2に係る情報処理装置が行う状態検出処理の手順を示すフローチャートである。
【
図11】実施の形態3に係る情報処理装置が行う状態検出処理の手順を示すフローチャートである。
【
図12】実施の形態4に係る情報処理装置が行う状態検出処理の手順を示すフローチャートである。
【
図13】実施の形態4に係る情報処理装置が行う状態検出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
本発明の実施形態に係る情報処理システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0011】
<システム概要>
図1は、本実施の形態に係る情報処理システムの概要を説明するための模式図である。本実施の形態に係る情報処理システムは、例えば食品又は医薬品等の対象物100に関する異常又は不良等を検出する処理を行うことにより、対象物100を検査するシステムである。本実施の形態に係る情報処理システムは、異常検出に関する制御及び演算等の処理を行う情報処理装置1と、対象物100を撮影するカメラ3と、異常検出の結果等の情報を表示する表示装置5とを備えて構成されている。
【0012】
図1に示すシステム構成例において、本実施の形態に係る情報処理システムは、異常検出を行う対象物100を載置する検査台7を備えている。カメラ3は、例えば検査台7の台上から上方へ延びるアームに保持されており、検査台7に載置された対象物100を上方から撮影することができる。情報処理装置1は、例えば検査台7の近傍に配置され、カメラ3及び表示装置5とそれぞれ通信線又は信号線等を介して接続される。表示装置5は、例えば検査台7の台上に配置され、例えば対象物100の入れ替え等の検査に係る作業を行うユーザに対し、対象物100の異常の有無等の検査結果に関する情報を提示する。
【0013】
なお本実施の形態に係る情報処理システムのは、
図1に示す構成に限らない。情報処理システムは、検査台7に載置された対象物100ではなく、例えばベルトコンベアで運ばれている対象物100、ロボットアームが保持している対象物100、又は、ユーザが保持している対象物100等をカメラ3が撮影する構成であってよい。カメラ3は、対象物100の上方から撮影を行うのではなく、側方又は下方等から撮影を行う構成であってよい。またカメラ3は、検査台7に固定されるのではなく、可搬型であってよい。カメラ3は、有線通信を行うのではなく、無線通信により情報処理装置1との情報交換を行ってもよく、カメラ3及び情報処理装置1が一体の装置であってもよい。
【0014】
本実施の形態に係る情報処理システムが備えるカメラ3は、例えば可視光線領域及び赤外線領域等の2つの波長帯での撮影を切り替えて行うことができる。カメラ3は、例えば可視光線領域の波長を透過し、且つ、赤外線領域の波長を透過しない光学フィルタを介して撮影を行うことにより、可視光線領域の波長帯での撮影を行う。以下では、このようにしてカメラ3が可視光線領域での撮影を行って得た画像を、可視光線画像と呼ぶ。またカメラ3は、例えば赤外線領域の波長を透過し、且つ、可視光線領域の波長を透過しない光学フィルタを介して撮影を行うことにより、赤外線領域の波長帯での撮影を行う。以下では、このようにしてカメラ3が赤外線領域での撮影を行って得た画像を、赤外線画像と呼ぶ。カメラ3は、これら複数種類の光学フィルタを適宜に切り替えることで、可視光線領域での撮影と赤外線領域での撮影とを切り替えて行うことができる。カメラ3は、1つの対象物100に対して可視光線領域の波長での撮影と赤外線領域の波長での撮影とを行い、各波長にて撮影した可視光線画像及び赤外線画像の2つの画像を情報処理装置1へ与える。
【0015】
本実施の形態に係る情報処理装置1は、カメラ3が対象物100を撮影した可視光線画像及び赤外線画像の2種類の画像を取得して、取得した2種類の画像に基づいて対象物100の異常を検出する処理を行う。本実施の形態において情報処理装置1は、対象物100の可視光線画像を用いて、この画像中に対象物100が写されている画像領域(画素)を特定する処理、いわゆる対象物100のセグメンテーション処理を行う。また情報処理装置1は、可視光線画像を用いて対象物100が何であるかを判定する処理、いわゆる対象物100のクラス分類処理を行ってもよい。なお本実施の形態に係る情報処理装置1は、これらのセグメンテーション処理及びクラス分類処理等を、予め機械学習がなされた学習モデル、いわゆるAIを用いて行う。
【0016】
情報処理装置1は、セグメンテーション処理により可視光線画像中に対象物100が写されている画像領域を特定することにより、赤外線画像中に対象物100が写されている画像領域を特定することができる。なお本実施の形態においては、1つのカメラ3が光学フィルタの切り替えにより検査台7に載置された(不動の)対象物100を撮影する構成であるため、可視光線画像中に対象物100が写されている位置と、赤外線画像中に対象物100が写されている位置とは同じである。もし対象物100がベルトコンベア等により移動している場合、情報処理装置1は、ベルトコンベアによる対象物100の移動速度と、可視光線画像の撮影と赤外線画像の撮影との間の時間とに基づいて、可視光線画像中の対象物100の位置と赤外線画像中の対象物100の位置との変位量を推定することができる。
【0017】
情報処理装置1は、対象物100が写されている画像領域の特定結果に基づいて、赤外線画像から特定された画像領域を抽出する処理を行う。情報処理装置1は、抽出した画像領域を基に、対象物100の異常を検出する。本実施の形態に係る情報処理装置1は、赤外線画像から抽出した画像領域に基づく対象物100の異常検出を、予め機械学習がなされた学習モデル、いわゆるAIを用いて行う。学習モデルは、例えば赤外線画像から抽出された対象物100の画像領域を入力として受け付けて、この画像領域に写された対象物100に異常があるか否かを示す数値情報、又は、この対象物100の異常箇所を示す座標情報等を出力するように予め機械学習がなされる。
【0018】
情報処理装置1は、学習モデルが出力する対象物100の異常の有無等の情報を取得し、取得した情報を検査結果として表示装置5に表示する。なお情報処理装置1は、対象物100に異常があるとの結果が得られた場合にのみ表示装置5に情報を表示してもよい。また本実施の形態に係る情報処理システムでは、情報処理装置1及び表示装置5を別の装置としているが、これに限るものではなく、情報処理装置1及び表示装置5が一体の装置であってもよい。
【0019】
<装置構成>
図2は、本実施の形態に係る情報処理装置1の構成を示すブロック図である。本実施の形態に係る情報処理装置1は、処理部11、記憶部(ストレージ)12、通信部(トランシーバ)13及び操作部14等を備えて構成されている。なお本実施の形態においては、1つの情報処理装置1にて処理が行われるものとして説明を行うが、複数の情報処理装置が分散して処理を行ってもよい。
【0020】
処理部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)又は量子プロセッサ等の演算処理装置、ROM(Read Only Memory)及びRAM(Random Access Memory)等を用いて構成されている。処理部11は、記憶部12に記憶されたプログラム12aを読み出して実行することにより、対象物100の異常検出に関する種々の処理を行う。
【0021】
記憶部12は、例えばハードディスク等の大容量の記憶装置を用いて構成されている。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行するプログラム12aを記憶する。また記憶部12には、予め機械学習がなされた学習済みの学習モデルに関する情報を記憶する学習モデル記憶部12bが設けられている。
【0022】
本実施の形態においてプログラム(コンピュータプログラム、プログラム製品)12aは、メモリカード又は光ディスク等の記録媒体99に記録された態様で提供され、情報処理装置1は記録媒体99からプログラム12aを読み出して記憶部12に記憶する。ただし、プログラム12aは、例えば情報処理装置1の製造段階において記憶部12に書き込まれてもよい。また例えばプログラム12aは、遠隔のサーバ装置等が配信するものを情報処理装置1が通信にて取得してもよい。例えばプログラム12aは、記録媒体99に記録されたものを書込装置が読み出して情報処理装置1の記憶部12に書き込んでもよい。プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
【0023】
学習モデル記憶部12bは、情報処理装置1が異常検出等の処理に用いる一又は複数の学習モデルに関する情報を記憶する。学習モデルに関する情報には、例えば学習モデルの構造を示す情報、及び、機械学習の処理により決定された学習モデルのパラメータの情報等が含まれ得る。本実施の形態においては、カメラ3の撮影画像中の対象物100が写された画素を特定するセグメンテーション処理を行う学習モデル、撮影画像に写された対象物の種類等を識別するクラス分類処理を行う学習モデル、及び/又は、対象物100が写された画像領域を基に異常の有無を判定する学習モデル等の情報が学習モデル記憶部12bに記憶される。
【0024】
通信部13は、例えば通信ケーブルを介してカメラ3及び表示装置5にそれぞれ接続され、カメラ3及び表示装置5との通信を行う。通信部13は、例えばUSB(Universal Serial Bus)又はLAN(Local Area Network)等の通信規格に基づいて通信を行ってよい。また通信部13は、通信ケーブルを介すことなく、無線通信によりカメラ3及び表示装置5との通信を行ってもよい。通信部13は、例えばカメラ3から送信される可視光線画像及び赤外線画像等を受信して記憶部12に記憶し、処理部11から与えられた制御命令等をカメラ3へ送信する。また通信部13は、処理部11から与えられた表示用の画像データを表示装置5へ送信し、表示装置5に画像表示を行わせる。
【0025】
操作部14は、ユーザの操作を受け付け、受け付けた操作を処理部11へ通知する。操作部14は、例えば機械式のボタン、又は、マウスもしくはキーボード等の入力デバイスによりユーザの操作を受け付ける。これらの入力デバイスは、情報処理装置1に対して取り外すことが可能な構成であってもよい。また情報処理装置1は、操作部14を備えていなくてもよい。情報処理装置1は、例えば表示装置5に設けられた操作部によりユーザの操作を受け付けてもよい。
【0026】
表示装置5は、例えば液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等の表示デバイスである。表示装置5は、通信線又は信号線等を介して情報処理装置1に接続され、情報処理装置1から与えられる種々の画像及び文字等を表示する。
【0027】
また本実施の形態に係る情報処理装置1には、記憶部12に記憶されたプログラム12aを処理部11が読み出して実行することにより、撮影画像取得部11a、画像領域特定部11b、異常検出部11c及び表示処理部11d等が、ソフトウェア的な機能部として処理部11に実現される。なお本図においては、処理部11の機能部として、対象物100の異常検出の処理に関連する機能部を図示し、これ以外の処理に関する機能部は図示を省略している。
【0028】
撮影画像取得部11aは、通信部13にてカメラ3との間でデータの送受信を行うことによって、カメラ3が撮影した対象物100の撮影画像、即ち可視光線の波長帯で撮影した可視光線画像と、赤外線の波長帯で撮影した赤外線画像とを取得する処理を行う。撮影画像取得部11aは、取得した可視光線画像及び赤外線画像を記憶部12に一時的に記憶する。また撮影画像取得部11aは、カメラ3の撮影に関する制御、例えばシャッター速度の変更、明るさの調整及びピント合わせ等の制御を行ってもよい。
【0029】
画像領域特定部11bは、撮影画像取得部11aがカメラ3から取得した可視光線画像を基に、学習モデル記憶部12bに記憶されたセグメンテーション処理を行う学習モデルを利用して、可視光線画像から対象物100が写された画像領域を特定する処理を行う。セグメンテーション処理を行う学習モデルは、例えば撮影画像を入力として受け付けて、撮影画像の各画素が対象物100のものであるか否かを示す情報を出力するように予め機械学習がなされた学習モデルである。セグメンテーション処理を行う学習モデルには、例えばCNN(Convolutional Neural Network)、FCN(Fully Convolutional Networks)、SegNet又はU-Net等の学習モデルが採用され得る。セグメンテーション処理を行う学習モデルは、既存の技術であるため、詳細な構成及び機械学習の手法等についての説明は省略する。
【0030】
また画像領域特定部11bは、可視光線画像における対象物100の位置の特定結果に基づいて、赤外線画像における対象物100の写された画像領域を特定する処理を行う。本実施の形態においては、カメラ3により撮影された可視光線画像及び赤外線画像には、対象物100が同じ位置に写されているものとする。よって本実施の形態において画像領域特定部11bは、可視光線画像における対象物100の位置の特定結果を、赤外線画像における対象物100の位置の特定結果とすることができる。ただしカメラ3により撮影された可視光線画像及び赤外線画像において対象物100の位置に差異が存在する場合、画像領域特定部11bは、この差異に応じた位置の修正を可視光線画像での特定結果に対して行うことで、赤外線画像における対象物100の位置の特定結果を得ることができる。
【0031】
異常検出部11cは、画像領域特定部11bにより特定された対象物100が写された画像領域を赤外線画像から抽出し、抽出した画像領域に基づいて対象物100に関する異常の有無又は異常箇所等を検出する処理を行う。本実施の形態において異常検出部11cは、記憶部12の学習モデル記憶部12bに記憶された一又は複数の学習モデルを用いて異常検出の処理を行う。例えば学習モデルは、赤外線画像から抽出された画像領域の入力を受け付けて、この画像領域に写された対象物100に異常があるか否かを出力するよう予め機械学習がなされた学習モデルである。また例えば学習モデルは、画像領域の入力を受け付けて、この画像領域に写された対象物100に含まれる異物を検出し、検出した異物を囲む矩形枠(いわゆるバウンディングボックス)の情報を出力するよう予め機械学習がなされた学習モデルであってもよい。また例えば学習モデルは、画像領域の入力を受け付けて、この画像領域に写された対象物100に含まれる異物を検出し、検出した異物に相当する画像中の画素を特定する(いわゆるセグメンテーションを行う)よう予め機械学習がなされた学習モデルであってもよい。異常検出部11cが利用する学習モデルは、これら以外のどのようなものであってもよい。異常検出部11cは、赤外線画像から抽出した画像領域の情報を学習モデルへ入力し、学習モデルが出力する情報を取得し、取得した情報に基づいて対象物100の異常を検出する。
【0032】
異常検出部11cが用いる学習モデルは、例えば赤外線の波長帯で撮影した赤外線画像から抽出した対象物100の画像領域と、この画像領域に写された対象物100に異常が含まれているか否かを示す情報とを対応付けた学習用データを用いて、いわゆる教師ありの機械学習の手法により予め生成される。学習モデルには、例えばCNN(Convolutional Neural Network)等の構成の学習モデルが採用され得る。本実施の形態においては、情報処理装置1が学習モデルを生成するための学習処理を行うものとするが、これに限るものではなく、情報処理装置1とは異なる装置が学習モデルを生成し、この装置から学習済みの学習モデルの情報を情報処理装置1が取得して記憶部12の学習モデル記憶部12bに記憶して異常検出の処理に利用してもよい。
【0033】
表示処理部11dは、画像及び文字等の種々の情報を表示装置5へ送信することにより、表示装置5に種々の情報を表示する処理を行う。本実施の形態において表示処理部11dは、異常検出部11cによる異常検出の結果に関する情報を表示装置5に表示する。表示処理部11dは、例えば検査の対象物100に含まれる異物又は対象物100の異常等が検出された場合にその旨を通知するメッセージを表示装置5に表示する。また表示処理部11dは、異物又は異常等が検出された対象物100の撮影画像(可視光線画像又は赤外線画像)を表示すると共に、検出された異物又は異常等の箇所を示す記号又は図形等を重畳して表示する。
【0034】
図3は、本実施の形態に係るカメラ3の構成を示す模式図である。本実施の形態に係るカメラ3は、制御部31、撮影部32、切替式フィルタ33、切替部34、赤外線LED(Light Emitting Diode)35及び通信部36等を備えて構成されている。制御部31は、CPU又はMPU等の演算処理装置、ROM及びRAM等を用いて構成されている。制御部31は、カメラ3が備える各部の動作を制御して、例えば対象物100の撮影、フィルタの切り替え、及び、撮影により得られた画像データの送信等の種々の処理を行う。
【0035】
撮影部32は、例えばCCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子、及び、この撮像素子へ光を収束させるレンズ等の光学素子を有する。また本実施の形態に係る撮影部32が有する撮像素子は、可視光線のみでなく、赤外線に対する感度を有する。撮影部32は、切替式フィルタ33が有する第1フィルタ又は第2フィルタを通して撮影を行い、撮影により得られた画像のデータを制御部31へ出力する。
【0036】
切替式フィルタ33は、第1フィルタ及び第2フィルタの2つの光学フィルタを有している。切替式フィルタ33は、例えばスライド機構又は回転機構等により第1フィルタ及び第2フィルタの位置を移動させることが可能である。この移動により切替式フィルタ33は、撮影部32による第1フィルタを介した撮影と、第2フィルタを介した撮影とを切り替えることができる。本実施の形態において切替式フィルタ33が有する第1フィルタは、可視光線領域の波長帯(例えば380nm~780nm)の光を透過し、赤外線領域の波長帯(例えば780nm~1000μm)の光を透過しない。第2フィルタは、赤外線領域の波長帯の光を透過し、可視光線領域の波長帯の光を透過しない。これにより撮影部32は、第1フィルタを介した可視光線による撮影と、第2フィルタを介した赤外線による撮影とを切り替えて行うことができる。
【0037】
切替部34は、例えばアクチュエータ又はモータ等の駆動機構の動作を制御することによって、切替式フィルタ33が有する第1フィルタ及び第2フィルタの位置を切り替える。切替部34は、例えばカメラ3が可視光線による撮影を行う第1モードと赤外線による撮影を行う第2モードとの2つのモードで動作する場合に、現在のモードがいずれであるかを示す情報が制御部31から入力される。切替部34は、制御部31から入力されるモードの情報に応じて駆動機構を動作させ、切替式フィルタ33の切り替えを行う。
【0038】
赤外線LED35は、赤外線領域の波長帯の光を発する発光素子である。赤外線LED35は、制御部31の制御に基づいて点灯及び消灯が行われる。本実施の形態においては、カメラ3が赤外線による撮影を行う場合に赤外線LED35が点灯され、カメラ3が可視光線による撮影を行う場合に赤外線LED35が消灯される。
【0039】
なお、赤外線LED35は、1種類の発光素子で構成されるのではなく、例えば異なる波長帯の赤外線を発する複数の発光素子を含んで構成されてよい。カメラ3は、複数の発光素子を、例えば同時的に発光してもよく、また例えば個別に発光するよう切り替えを行ってもよい。またカメラ3は、特定の波長帯の赤外線を透過するフィルタを用い、赤外線LED35が発する広い波長帯の赤外線を、狭い波長帯の赤外線となるよう制限して対象物100への照射を行ってもよい。カメラ3は、このようなフィルタを複数備えて、適宜に切り替えてもよい。またカメラ3は、赤外線LED35に代えて、例えば赤外線レーザーを備えていてもよく、赤外線レーザーが発する光を拡大して対象物100へ照射するレンズ等の光学素子を更に備えてもよい。またカメラ3は、赤外線LED35等の赤外線を発する機構を備えていなくてもよい。
【0040】
通信部36は、例えば通信ケーブルを介して情報処理装置1に接続され、情報処理装置1との通信を行う。通信部36は、例えばUSB又はLAN等の通信規格に基づいて通信を行ってよい。また通信部36は、通信ケーブルを介すことなく、無線通信により情報処理装置1との通信を行ってもよい。通信部36は、例えば情報処理装置1から送信される命令等を受信して制御部31へ与えると共に、制御部31から与えられたデータ(例えば撮影部32が撮影した画像のデータ)を情報処理装置1へ送信する。
【0041】
<状態検出処理>
本実施の形態に係る情報処理システムでは、例えば検査の作業を行うユーザが対象物100を検査台7に載置し、情報処理装置1の操作部14にて検査開始の操作を行うことによって、対象物100の状態検出処理が開始される。情報処理装置1はカメラ3に対象物100の撮影を行う命令を送信し、この命令に応じてカメラ3が対象物100の撮影を行う。カメラ3は、まず切替式フィルタ33の第1フィルタを介した撮影部32による対象物100の撮影を行うことで、可視光による対象物100の撮影を行う。次いでカメラ3は、切替部34にて切替式フィルタ33の切り替えを行い、赤外線LED35を点灯し、第2フィルタを介した撮影部32による対象物100の撮影を行うことで、赤外線による対象物100の撮影を行う。カメラ3は、撮影により得られた対象物100の可視光線画像及び赤外線画像を情報処理装置1へ送信する。
【0042】
図4は、カメラ3が撮影した対象物100の可視光線画像及び赤外線画像の一例を示す画像である。
図4の上段には対象物100として2つのアボガドを撮影した可視光線画像の一例を示し、
図4の下段には同じ対象物100を撮影した赤外線画像の一例を示している。可視光線画像ではアボガドは表面が暗い色で撮影されるため、人の目視で異常の有無等の状態を判定することは難しく、機械学習がなされた学習モデルによる判定も容易ではない。
【0043】
これに対して赤外線画像では、アボガドの表面が明るい色で撮影される。例示した赤外線画像に写された右側のアボガドは表面が均一な明るい色であるのに対し、左側のアボガドは表面に斑に暗い模様が存在している。本例において右側のアボガドは正常な(新鮮な、腐っていない)ものであり、左側のアボガドは異常な(熟した、腐った)ものである。左側のアボガドの表面にある黒い模様の部分が、アボガドの異常箇所(熟している箇所、腐っている箇所)である。このように赤外線画像では、例えばアボガドのような暗い色の食品であっても、その表面の色の違い等を観測することで異常の有無等の状態を判定することができる。アボガドの赤外線画像に基づいて、機械学習がなされた学習モデルを用いた異常判定を行うことは、可視光線画像を用いる場合と比較して、容易且つ高精度な結果を得ることが期待できる。
【0044】
ただし、例えば撮影画像に写された対象物100の検出又は識別等の処理を機械学習による学習モデルで行う場合、対象物100の色の有無が処理精度に影響を与える場合があり得る。そこで本実施の形態に係る情報処理システムでは、カメラ3にて可視光線画像及び赤外線画像の2種類の撮影を行い、情報処理装置1は、可視光線画像に基づいて対象物100が撮影された領域の検出(セグメンテーション)を行い、赤外線画像に基づいて異常の有無等の状態判定を行う。
【0045】
図5は、情報処理装置1が行うセグメンテーション処理を説明するための模式図である。本実施の形態に係る情報処理装置1は、カメラ3が対象物100を可視光線によって撮影した可視光線画像と、赤外線によって撮影した赤外線画像との2種類の撮影画像を取得する。情報処理装置1は、予め機械学習がなされたセグメンテーション処理を行う学習モデル(セグメンテーションモデル)を備えており、カメラ3から取得した可視光線画像をセグメンテーションモデルへ入力する。
【0046】
セグメンテーションモデルは、入力された画像の各画素に対してラベル付けを行う学習モデルである。本実施の形態においてセグメンテーションモデルは、入力された画像の各画素に対象物100(本例ではアボガド)が写されているか否かを示す2値のラベル付けを行うよう、予め機械学習がなされた学習モデルである。入力画像が例えばM画素×N画素のサイズである場合、セグメンテーションモデルが出力する情報はM×Nの配列(ベクトル、行列)であり、この情報を本実施の形態においてはマスクデータと呼ぶ。M×Nの配列のマスクデータには、入力画像の対応する位置の画素に対して付されたラベル値(例えば対象物100が写されている画素に対してラベル”1”、写されていない画素に対してラベル”0”)が設定される。
【0047】
図5上段の可視光線画像をセグメンテーションモデルへ入力した場合に、セグメンテーションモデルが出力するマスクデータの一例が
図5下段に示されている。
図5下段のマスクデータは、対象物100が写されていることを示すラベルが付された画素を灰色とし、対象物100が写されていないことを示すラベルが付された画素を黒色として、マスクデータを画像として表示したものである。情報処理装置1は、カメラ3から取得した可視光線画像をセグメンテーションモデルへ入力し、セグメンテーションモデルが出力するマスクデータを取得する。
【0048】
次いで、本実施の形態に係る情報処理装置1は、可視光線画像を基に取得したマスクデータを用いて、この可視光線画像と共に取得した赤外線画像から、対象物100が写されている画像領域を抽出する処理を行う。
図6は、情報処理装置1が行う画像領域抽出処理を説明するための模式図である。なお、
図6上段には、
図5下段のマスクデータと同じものが示されている。本実施の形態に係る情報処理システムにおいて、カメラ3が対象物100を撮影した可視光線画像と赤外線画像とには、同じ位置に対象物100が写されている。情報処理装置1は、可視光線画像を基に取得したマスクデータを基に、対象物100が写されていることを示すラベルが付された位置に対応する赤外線画像の画素を抽出していくことで、赤外線画像から対象物100が写されている画像領域を抽出することができる。
図6下段には、マスクデータに基づいて赤外線画像から抽出された対象物100(アボガド)の画像領域が示されている。
【0049】
なお赤外線画像から抽出される対象物100の画像領域は、そのサイズ及び形状等が様々なものとなり得る。このため情報処理装置1は、例えば赤外線画像において対象物100が写されていない画素の画素値を所定値(例えば”0”)に置き換えた画像を、赤外線画像からの対象物100の抽出結果として以降の処理で用いてよい。例えば情報処理装置1は、対象物100が写されている画素に対してラベル”1”、写されていない画素に対してラベル”0”が設定されたマスクデータを用いる場合、赤外線画像の各画素の画素値と、対応するマスクデータの値との積を算出することで、赤外線画像から対象物100の画像領域を抽出したデータを取得することができる。
【0050】
次いで、本実施の形態に係る情報処理装置1は、赤外線画像から抽出した対象物100の画像領域を基に、対象物100の異常を検出する処理を行う。
図7は、情報処理装置1が行う異常検出処理を説明するための模式図である。なお、
図7上段には、
図6下段と同じ赤外線画像から抽出された対象物100の画像領域が示されている。本実施の形態に係る情報処理装置1は、予め機械学習がなされた対象物100の異常検出を行う学習モデル(異常検出モデル)を備えている。情報処理装置1は、赤外線画像からマスクデータに基づいて対象物100の画像領域を抽出し、抽出した画像領域のデータを異常検出モデルへ入力する。
【0051】
本実施の形態に係る異常検出モデルは、入力された画像に写された対象物100の異常箇所を特定し、特定した異常箇所の位置及び大きさ等の情報を出力する。また本実施の形態に係る異常検出モデルは、入力された画像(画像領域)の各画素に対して、異常箇所であるか否かを示す2値のラベル付けを行うよう、予め機械学習がなされた学習モデルである。
図7の下段には、異常検出モデルへ入力した対象物100の画像領域に対して、異常検出モデルが特定した異常箇所を囲む太線を重畳したものを、異常検出モデルの出力情報として示している。この異常検出の結果によれば、2つの対象物100のうち、右側の対象物100には異常箇所があり、左側の対象物100には異常箇所が存在しないことがわかる。なお異常検出モデルは、例えば対象物100に異常があるか否かを判定し、異常の有無を示す2値の情報又は異常である可能性を示す数値等を出力する構成であってもよい。
【0052】
情報処理装置1は、赤外線画像から抽出した対象物100の画像領域を異常検出モデルへ入力し、異常検出モデルが出力する異常箇所の特定結果を取得する。情報処理装置1は、取得した特定結果に基づいて、異常箇所をユーザに通知する画面を表示装置5に表示する。
図8は、異常箇所の通知画面の一例を示す模式図である。本実施の形態に係る情報処理装置1は、例えば異常検出モデルにより特定された対象物100の異常箇所を囲む太線を、対応する可視光線画像に重畳して表示装置5に表示する。このために情報処理装置1は、例えば表示する可視光線画像及びこの可視光線画像に重畳する太線の位置情報等の情報を表示装置5へ送信する。
【0053】
なお本例において情報処理装置1は、可視光線画像に異常箇所を囲む太線を重畳して表示しているが、これに限るものではなく、赤外線画像に異常箇所を囲む太線を重畳して表示してもよい。また情報処理装置1は、可視光線画像に異常箇所を囲む太線を重畳したものと、赤外線画像に異常箇所を囲む太線を重畳したものとを並べて表示してもよい。また情報処理装置1による状態検出結果の表示は、異常箇所を太線で囲む表示に限らず、種々の態様での表示が行われてよい。また情報処理装置1は、予め機械学習がなされた異常検出モデルを用いて赤外線画像から対象物100の異常検出を行っているが、これに限るものではない。情報処理装置1は、例えば赤外線画像の各画素の濃淡に基づいて、所定の閾値より濃い画素を異常箇所として検出してもよい。
【0054】
また情報処理装置1は、異常検出の結果を表示装置5に表示するのではなく、例えば電子音又は音声メッセージ等をスピーカから出力することで異常検出の結果をユーザに通知してもよい。情報処理装置1は、異常検出の結果をどのような方法でユーザに通知してもよい。
【0055】
図9は、本実施の形態に係る情報処理装置1が行う状態検出処理の手順を示すフローチャートである。本実施の形態に係る情報処理装置1の処理部11の撮影画像取得部11aは、例えばユーザの操作に応じて検査台7に載置された対象物100の撮影をカメラ3に行わせ、カメラ3が可視光線による撮影行った対象物100の可視光線画像と、赤外線による撮影を行った対象物100の赤外線画像とを取得する(ステップS1)。
【0056】
次いで、処理部11の画像領域特定部11bは、ステップS1にて取得した画像のうちの可視光線画像を、予め機械学習がなされたセグメンテーションモデルへ入力する(ステップS2)。可視光線画像の入力に応じてセグメンテーションモデルは、可視光線画像の各画素に対象物100が写されているか否かをラベル付けしたマスクデータを出力する。画像領域特定部11bは、セグメンテーションモデルが出力するこのマスクデータを取得する(ステップS3)。画像領域特定部11bは、ステップS3にて取得したマスクデータを基に、ステップS1にて取得した赤外線画像から対象物100が写されている画像領域を抽出する(ステップS4)。
【0057】
次いで、処理部11の異常検出部11cは、ステップS4にて抽出した対象物100の画像領域のデータを、予め機械学習がなされた異常検出モデルへ入力する(ステップS5)。画像領域の入力に応じて異常検出モデルは、画像領域に写された対象物100の異常箇所を特定し、特定した異常箇所の位置及び大きさ等の情報を異常検出結果として出力する。異常検出部11cは、異常検出モデルが出力する異常検出結果を取得する(ステップS6)。異常検出部11cは、ステップS6にて取得した異常検出結果に基づいて、対象物100の異常の有無を判定する(ステップS7)。対象物100に異常がない場合(S7:NO)、異常検出部11cは、処理を終了する。
【0058】
対象物100に異常がある場合(S7:YES)、処理部11の表示処理部11dは、例えばステップS1にて取得した可視光線画像と、ステップS6にて取得した異常検出結果とを表示装置5へ送信することにより、対象物100の可視光線画像に検出された異常箇所を囲む太線等を重畳した画像を表示装置5に表示させて(ステップS8)、処理を終了する。
【0059】
<まとめ>
以上の構成の本実施の形態に係る情報処理システムでは、情報処理装置1が対象物100を第1波長帯(第1特性)の光(可視光線)に基づいてカメラ3が撮影した第1画像(可視光線画像)を取得し、対象物100を第2波長帯(第2特性)の光(赤外線)に基づいてカメラ3が撮影した第2画像(赤外線画像)を取得する。情報処理装置1は、可視光線画像に対するセグメンテーションを行って対象物100が写された画像領域を特定し、特定結果に基づいて赤外線画像から対象物100の状態を検出する。これにより情報処理システムは、可視光線画像を用いて精度のよいセグメンテーションの処理を行うことが期待でき、赤外線画像を用いて精度のよい状態検出の処理を行うことが期待できる。
【0060】
なお本実施の形態においては、第1波長帯として可視光線の波長帯を用い、第2波長として赤外線の波長帯を用いたが、これは一例であって、第1波長帯及び第2波長帯は対象物100の種類等に応じて適宜に選択されてよい。例えば紫外線の波長帯又はX線の波長帯等が用いられてもよく、可視光線のうちの赤色光の波長帯又は青色光の波長帯等が用いられてもよい。また第1波長帯及び第2波長帯の組み合わせも適宜に選択されてよく、例えば第1波長帯を赤外線の波長帯とし、第2波長帯を可視光線の波長帯としてもよく、可視光線又は赤外線の波長帯以外の波長帯が適宜に組み合わされてよい。また例えば第1波長帯を可視光線の波長帯とし、第2波長帯を可視光線の中の青色光の波長帯としてもよく、第1波長帯及び第2波長帯はその一部が重複してもよい。
【0061】
また情報処理装置1は、第1画像(可視光線画像)に対するセグメンテーションを行うのみでなく、第1画像に基づく対象物100の状態検出を、第2画像(赤外線画像)に基づく対象物100の状態検出と共に行ってもよい。第1画像に基づく状態検出を行うか否かは、例えば対象物100の種類等により選択され得る。
【0062】
また本実施の形態においては、カメラ3にて2種類の波長帯での撮影を行って対象物100の2種類の撮影画像を情報処理装置1が取得しているが、これに限るものではなく、カメラ3にて3種類以上の波長帯で撮影を行った対象物100の3種類以上の撮影画像を取得してもよい。情報処理装置1は、例えば3種類の撮影画像を取得する場合に、第1画像に基づいて対象物100が写された画像領域を特定し、特定結果に基づいて第2画像及び第3画像から対象物100が写された画像領域を抽出して状態検出を行うことができる。また例えば情報処理装置1は、第1画像に基づいて対象物100が写された画像領域を特定し、第2画像及び第3画像を合成した合成画像から対象物100が写された画像領域を抽出してもよい。また例えば情報処理装置1は、第1画像及び第2画像を合成した合成画像に基づいて対象物が写された画像領域を特定してもよい。情報処理装置1は、カメラ3が複数の波長帯でそれぞれ撮影した複数の撮影画像を適宜に利用して、対象物100が写された画像領域の特定、特定結果に基づく撮影画像からの画像領域の抽出、及び、抽出した画像領域に基づく対象物100の状態検出の処理を行うことができる。
【0063】
また本実施の形態に係る情報処理システムは、対象物100の状態検出として、対象物100の異常を検出したが、これに限るものではなく、例えば対象物100の熟成度合、傷の有無、又は、異物混入の有無等の様々な状態を検出してよい。また対象物100としてアボガドを例示したが、対象物100は例えばリンゴ、ブルーベリー、イチゴ、オレンジ等の様々な食品であってよく、また例えば食品以外の様々な物品であってよく、また例えば人又はペット等の様々な動物であってよく、これら以外のどのようなものであってもよい。
【0064】
また本実施の形態に係る情報処理システムでは、1つのカメラ3が複数の波長帯での撮影を行う構成としたが、これに限るものではなく、複数のカメラを用いて複数の波長帯での撮影を行ってもよい。例えば、可視光線での撮影を行う第1カメラと、赤外線での撮影を行う第2カメラとを並べて配置し、第1カメラ及び第2カメラにて同時的に対象物100を撮影してもよい。例えば対象物100がベルトコンベアで移動している場合、第1カメラ及び第2カメラをベルトコンベアの移動方向に並べて配置し、ベルトコンベアの移動速度を考慮した時間差で第1カメラ及び第2カメラが撮影を行うことにより、第1カメラによる第1撮影画像と、第2カメラによる第2撮影画像とで略同じ位置に対象物100を撮影することができる。
【0065】
また本実施の形態に係る情報処理システムでは、光の特性として波長帯が異なる複数の光に基づいて撮影した複数の撮影画像が用いられているが、これに限るものではなく、光の特性として例えば偏光の向きが異なる複数の光に基づいて撮影した複数の撮影画像が用いられてもよい。例えばカメラ3の切替式フィルタ33が有する複数のフィルタの1つを偏光フィルタとし、可視光線による撮影等と、偏光フィルタを介した撮影とをカメラ3が行う構成としてもよい。カメラ3の切替式フィルタ33には、向きが異なる複数の偏光フィルタが切替可能に設けられていてよく、所定波長の光を透過するフィルタと所定の向きの光を透過する偏光フィルタとが混在していてもよい。情報処理装置1は、例えば可視光線画像に基づいて対象物100の画像領域を特定し、偏光フィルタを介して撮影した偏光画像に基づいて対象物100の状態検出を行うことができる。
【0066】
<実施の形態2>
実施の形態2に係る情報処理システムは、対象物100として複数種類の物がカメラ3により撮影され、撮影画像に複数種類の物が混在して写されている場合に、各物の状態検出を行うことが可能なシステムである。実施の形態2に係る情報処理システムの情報処理装置1は、可視光線画像に写された各対象物100の種類を判定するよう予め機械学習がなされた学習モデル、いわゆるクラス分類を行う分類モデルを有している。情報処理装置1は、カメラ3から取得した可視光線画像を基に、セグメンテーションモデルを用いて対象物100が写された画像領域を特定すると共に、分類モデルを用いて可視光線画像に写された各対象物100の種類を分類する。情報処理装置1は、セグメンテーション及びクラス分類のうちいずれの処理を先に行ってもよく、この2つの処理を同時的に行ってもよい。なお情報処理装置1は、セグメンテーションモデル及び分類モデルをそれぞれ個別に有するのではなく、セグメンテーション及びクラス分類を行う学習モデルを有していてもよい。この場合に学習モデルは、可視光線画像の各画素に対して、この画素に写されている対象物100の種類を示すラベル値を付した配列等のデータを、セグメンテーション及びクラス分類の結果として出力する。
【0067】
次いで情報処理装置1は、可視光線画像に基づく対象物100のセグメンテーション及びクラス分類の結果に基づいて、赤外線画像から対象物100が写された画像領域の抽出を行う。実施の形態2に係る情報処理装置1は、クラス分類の結果に基づいて、対象物100の種類毎に画像領域の抽出を行う。例えば可視光線画像に3つの果物が写されており、そのうち2つがリンゴであり、残りの1つがミカンである場合、情報処理装置1は、赤外線画像から2つのリンゴが写された画像領域と、1つのミカンが写された画像領域とをそれぞれ抽出する。
【0068】
また実施の形態2に係る情報処理装置1は、対象物100の種類別に異常検出を行う複数の異常検出モデルを有している。情報処理装置1は、可視光線画像に基づく対象物100の分類結果に応じて、複数の異常検出モデルの中から分類結果に応じた一又は複数の異常検出モデルを選択する。情報処理装置1は、赤外線画像から対象物100の種類毎に抽出した画像領域を、それぞれ対応する異常検出モデルへ入力し、各異常検出モデルが出力する異常検出結果を取得する。情報処理装置1は、対象物100の種類毎の異常検出結果を統合し、可視光線画像に異常箇所を囲む太線等を重畳した画像を表示装置5に表示する。
【0069】
また実施の形態2に係る情報処理装置1は、予め機械学習がなされた異常検出モデルを用いて赤外線画像から対象物100の異常検出を行っているが、これに限るものではない。情報処理装置1は、例えば赤外線画像の各画素の濃淡に基づいて、所定の閾値より濃い画素を異常箇所として検出してもよい。この場合に情報処理装置1は、対象物100の種類毎に濃淡を比較するための閾値を記憶しており、対象物100の分類結果に応じて閾値を選択して異常検出を行うことができる。
【0070】
図10は、実施の形態2に係る情報処理装置1が行う状態検出処理の手順を示すフローチャートである。実施の形態2に係る情報処理装置1の処理部11の撮影画像取得部11aは、検査台7に載置された対象物100をカメラ3が可視光線により撮影した可視光線画像と、赤外線により撮影した赤外線画像とを取得する(ステップS21)。処理部11の画像領域特定部11bは、ステップS21にて取得した可視光線画像を、予め機械学習がなされたセグメンテーションモデルへ入力する(ステップS22)。画像領域特定部11bは、セグメンテーションモデルがセグメンテーション処理の結果として出力するマスクデータを取得する(ステップS23)。
【0071】
画像領域特定部11bは、ステップS21にて取得した可視光線画像を、予め機械学習がなされた分類モデルへ入力する(ステップS24)。分類モデルは、対象物100の撮影画像を入力として受け付けて、対象物100の種類等の分類結果を出力するよう予め機械学習がなされた学習モデルである。画像領域特定部11bは、分類モデルが出力する分類結果を取得する(ステップS25)。また画像領域特定部11bは、ステップS23にて取得したマスクデータを基に、ステップS21にて取得した赤外線画像から対象物100が写されている画像領域を抽出する(ステップS26)。
【0072】
次いで、処理部11の異常検出部11cは、ステップS25にて取得した対象物100の分類結果に応じて、対象物100の異常を検出するための異常検出モデルを選択する(ステップS27)。異常検出部11cは、ステップS26にて抽出した対象物100の画像領域のデータを、ステップS27にて選択した異常検出モデルへ入力する(ステップS28)。異常検出部11cは、異常検出モデルが出力する異常検出結果を取得する(ステップS29)。異常検出部11cは、ステップS29にて取得した異常検出結果に基づいて、対象物100の異常の有無を判定する(ステップS30)。対象物100に異常がない場合(S30:NO)、異常検出部11cは、処理を終了する。対象物100に異常がある場合(S30:YES)、処理部11の表示処理部11dは、例えばステップS21にて取得した可視光線画像と、ステップS29にて取得した異常検出結果とを表示装置5へ送信することにより、対象物100の可視光線画像に検出された異常箇所を囲む太線等を重畳した画像を表示装置5に表示させて(ステップS31)、処理を終了する。
【0073】
以上の構成の実施の形態2に係る情報処理システムでは、カメラ3が撮影した可視光線画像に基づいて情報処理装置1が対象物100のクラス分類を行う。情報処理装置1は、分類結果に基づいて対象物100の異常検出を行う条件(例えば複数の異常検出モデルのうちいずれを用いるか、又は、複数の閾値のうちいずれを用いるか等)を選択する。情報処理装置1は、例えば分類結果に基づいて対象物100の種類別に備えられた複数の異常検出モデルから1つを選択し、選択した異常検出モデルに赤外線画像から抽出した対象物100の画像領域を入力し、異常検出モデルが出力する異常検出結果を取得することにより、対象物100の異常検出を行う。これにより情報処理システムは、複数種類の対象物が混在している場合であってもカメラ3の撮影画像に基づく異常検出を精度よく行うことが期待できる。
【0074】
なお実施の形態2に係る情報処理システムでは、カメラ3が撮影した可視光線画像に基づいて対象物100のクラス分類を行っているが、これに限るものではなく、赤外線画像に基づいてクラス分類を行ってもよい。
【0075】
また、実施の形態2に係る情報処理システムのその他の構成は、実施の形態1に係る情報処理システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【0076】
<実施の形態3>
実施の形態3に係る情報処理システムでは、カメラ3が可視光線による撮影と、波長帯が異なる複数の赤外線による撮影とを行うことが可能である。実施の形態3に係る情報処理システムでは、カメラ3がまず可視光線画像及び赤外線画像の撮影を行って両画像を情報処理装置1へ送信するのではなく、カメラ3がまず可視光線画像の撮影のみを行って可視光線画像のみを情報処理装置1へ送信する。実施の形態3に係る情報処理装置1は、カメラ3が撮影した可視光線画像に基づいて対象物100のクラス分類を行い、分類した対象物100の種類に応じて赤外線画像を撮影する波長帯を決定し、決定した波長帯に関する情報をカメラ3へ通知する。このため情報処理装置1は、例えば対象物100の種類と、赤外線画像を撮影する波長帯とを対応付けたテーブル等を予め備えている。
【0077】
カメラ3は、例えば切替式フィルタ33にそれぞれ異なる波長帯の赤外線を透過する複数のフィルタを有しており、情報処理装置1から通知された波長帯に応じてフィルタの切り替えを行って、赤外線による対象物100の撮影を行う。カメラ3は、通知された波長帯の赤外線により撮影した対象物100の赤外線画像を情報処理装置1へ送信する。なお可視光線画像に種類が異なる複数の対象物100が写されている場合、情報処理装置1は複数の波長帯をカメラ3へ通知し、カメラ3は複数の波長帯の赤外線で撮影を行って複数の赤外線画像を情報処理装置1へ送信してもよい。
【0078】
情報処理装置1は、カメラ3から赤外線画像を取得し、可視光線画像に対するセグメンテーション処理の結果に基づいて、赤外線画像から対象物100が写されている画像領域を抽出する。情報処理装置1は、対象物100の種類に応じた異常検出モデルを選択し、抽出した画像領域を異常検出モデルへ入力して、異常検出モデルが出力する異常検出結果を取得することで、対象物100の異常検出を行うことができる。
【0079】
図11は、実施の形態3に係る情報処理装置1が行う状態検出処理の手順を示すフローチャートである。実施の形態3に係る情報処理装置1の処理部11の撮影画像取得部11aは、検査台7に載置された対象物100をカメラ3が可視光線により撮影した可視光線画像を取得する(ステップS41)。処理部11の画像領域特定部11bは、ステップS41にて取得した可視光線画像を、予め機械学習がなされたセグメンテーションモデルへ入力する(ステップS42)。画像領域特定部11bは、セグメンテーションモデルがセグメンテーション処理の結果として出力するマスクデータを取得する(ステップS43)。
【0080】
画像領域特定部11bは、ステップS41にて取得した可視光線画像を、予め機械学習がなされた分類モデルへ入力する(ステップS44)。画像領域特定部11bは、分類モデルが出力する分類結果を取得する(ステップS45)。画像領域特定部11bは、例えば対象物100の種類と赤外線の波長帯との対応が記憶されたテーブルを参照して、ステップS45にて取得した分類結果に対応する赤外線の波長帯を選択する(ステップS46)。画像領域特定部11bは、ステップS46にて選択した赤外線の波長帯をカメラ3へ通知する(ステップS47)。撮影画像取得部11aは、ステップS47の通知に応じてカメラ3が撮影した赤外線画像を取得する(ステップS48)。画像領域特定部11bは、ステップS43にて取得したマスクデータを基に、ステップS48にて取得した赤外線画像から対象物100が写されている画像領域を抽出する(ステップS49)。
【0081】
次いで、処理部11の異常検出部11cは、ステップS45にて取得した対象物100の分類結果に応じて、対象物100の異常を検出するための異常検出モデルを選択する(ステップS50)。異常検出部11cは、ステップS49にて抽出した対象物100の画像領域のデータを、ステップS50にて選択した異常検出モデルへ入力する(ステップS51)。異常検出部11cは、異常検出モデルが出力する異常検出結果を取得する(ステップS52)。異常検出部11cは、ステップS52にて取得した異常検出結果に基づいて、対象物100の異常の有無を判定する(ステップS53)。対象物100に異常がない場合(S53:NO)、異常検出部11cは、処理を終了する。対象物100に異常がある場合(S53:YES)、処理部11の表示処理部11dは、例えばステップS41にて取得した可視光線画像と、ステップS52にて取得した異常検出結果とを表示装置5へ送信することにより、対象物100の可視光線画像に検出された異常箇所を囲む太線等を重畳した画像を表示装置5に表示させて(ステップS54)、処理を終了する。
【0082】
以上の構成の実施の形態3に係る情報処理システムでは、カメラ3から取得した可視光線画像に基づいて情報処理装置1が対象物100の分類を行い、分類結果に応じて赤外線の波長帯を選択してカメラ3へ通知し、この通知に応じてカメラ3が選択された波長帯の赤外線での撮影を行う。カメラ3は通知に応じた波長帯の赤外線で対象物100を撮影した赤外線画像を情報処理装置1へ送信し、情報処理装置1はカメラ3から取得した赤外線画像を基に対象物100の異常検出を行う。これにより実施の形態3に係る情報処理システムでは、対象物100の種類等の異常検出に適した波長帯の赤外線でカメラ3が撮影を行うことができるため、対象物100の種類等に適した赤外線画像を基に異常検出を行うことができ、異常検出の精度を向上することが期待できる。
【0083】
なお実施の形態3において情報処理装置1は、対象物100の種類に応じて赤外線の波長帯を選択しているが、これに限るものではない。例えば、カメラ3は可視光線の波長帯についても複数の波長帯に切り替えて撮影が可能な構成とし、情報処理装置1は、例えば赤外線画像に基づいてクラス分類を行い、分類結果に応じて可視光線の波長帯を選択してカメラ3に対象物100の撮影を行わせてもよい。
【0084】
また、実施の形態3に係る情報処理システムのその他の構成は、実施の形態1、2に係る情報処理システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【0085】
<実施の形態4>
可視光線画像を基に対象物100のクラス分類を行う情報処理装置1が用いる学習モデルは、分類結果として例えば対象物100が各クラスである可能性を示す割合(確信度)の数値を出力する。例えば対象物100がA、B又はCのいずれのクラスのものであるかを分類する場合、学習モデルは、クラスAについて確信度0.7、クラスBについて確信度0.2、クラスCについて確信度0.1等のようにクラス毎の確信度の数値を出力するよう予め機械学習がなされる。情報処理装置1は、各クラスの確信度を比較して、最も大きい値に対応するクラスを対象物100のクラスとして分類する。
【0086】
実施の形態4に係る情報処理装置1は、カメラ3から取得した可視光線画像を基に、予め機械学習がなされた学習モデルを用いて対象物100のクラス分類を行う。情報処理装置1は、学習モデルが出力する各クラスの確信度を取得し、確信度の値が最も大きいクラスを対象物100のクラスと判断する。このときに実施の形態4に係る情報処理装置1は、確信度が最も大きいクラスと、2番目に大きいクラスとで確信度を比較し、2つのクラスの確信度の差が閾値未満である場合に、クラス分類の処理を再び行う。
【0087】
実施の形態4に係る情報処理装置1は、対象物100の分類対象となる2つのクラスの組み合わせに対応付けて、赤外線の波長帯の情報をテーブルなどに予め記憶している。この情報は、赤外線画像を用いて2つのクラスを分類することができる波長帯の情報であり、本実施の形態に係る情報処理システムの設計者等により予め波長帯が設定される。例えばA、B及びCの3クラスが存在する場合、A及びBのクラスを分類するための波長帯と、B及びCのクラスを分類するための波長帯と、C及びAのクラスを分類するための波長帯とが予め設定され得る。
【0088】
学習モデルが出力した上位2クラスの確信度の差が閾値未満である場合、情報処理装置1は、上記のテーブルを参照することによって、この2つのクラスに対応付けられた赤外線の波長帯を取得する。情報処理装置1は、取得した赤外線の波長帯に関する情報をカメラ3へ通知する。実施の形態4に係るカメラ3は、実施の形態3に係るカメラ3と同様に、情報処理装置1から通知された波長帯に応じてフィルタの切り替えを行って、赤外線による対象物100の撮影を行う。カメラ3は、通知された波長帯の赤外線により撮影した対象物100の赤外線画像を情報処理装置1へ送信する。
【0089】
情報処理装置1は、カメラ3から赤外線画像を取得し、取得した赤外線画像を基に、対象物100のクラス分類を再び行う。なおこのときに情報処理装置1がクラス分類に用いる学習モデルは、可視光線画像を基にクラス分類を行う学習モデルとは異なり、赤外線画像を基にクラス分類を行うよう予め機械学習がなされた学習モデルである。情報処理装置1は、赤外線画像を基にクラスの再分類を行った結果を学習モデルから取得し、この分類結果に基づいて異常検出モデルを選択し、赤外線画像(再分類に用いた赤外線画像と同じものであってもよく、異なるものであってもよい)から抽出した画像領域を異常検出モデルへ入力し、異常検出モデルが出力する異常検出結果を取得することにより、対象物100の異常検出を行う。
【0090】
図12及び
図13は、実施の形態4に係る情報処理装置1が行う状態検出処理の手順を示すフローチャートである。実施の形態4に係る情報処理装置1の処理部11の撮影画像取得部11aは、カメラ3が可視光線による撮影行った対象物100の可視光線画像と、赤外線による撮影を行った対象物100の赤外線画像とを取得する(ステップS61)。処理部11の画像領域特定部11bは、ステップS61にて取得した可視光線画像を、予め機械学習がなされたセグメンテーションモデルへ入力する(ステップS62)。画像領域特定部11bは、セグメンテーションモデルがセグメンテーション処理の結果として出力するマスクデータを取得する(ステップS63)。
【0091】
また画像領域特定部11bは、ステップS61にて取得した可視光線画像を、予め機械学習がなされた分類モデルへ入力する(ステップS64)。画像領域特定部11bは、分類モデルが出力する分類結果を取得する(ステップS65)。画像領域特定部11bは、ステップS65にて取得した分類結果に基づいて、上位2つのクラスに関する確信度の差が閾値未満であるか否かを判定する(ステップS66)。確信度の差が閾値以上である場合(S66:NO)、画像領域特定部11bは、ステップS65にて取得した分類結果において確信度が最も高いクラスを対象物100の種類とし、ステップS72へ処理を進める。
【0092】
確信度の差が閾値未満である場合(S66:YES)、画像領域特定部11bは、例えば対象物100の種類の組み合わせと赤外線の波長帯との対応が記憶されたテーブルを参照して、ステップS65にて取得した分類結果において上位2つのクラスの組み合わせに対応する赤外線の波長帯を選択する(ステップS67)。画像領域特定部11bは、ステップS67にて選択した赤外線の波長帯をカメラ3へ通知する(ステップS68)。撮影画像取得部11aは、ステップS68の通知に応じてカメラ3が撮影した赤外線画像を取得する(ステップS69)。画像領域特定部11bは、ステップS69にて取得した赤外線画像を、予め機械学習がなされた分類モデルへ入力する(ステップS70)。画像領域特定部11bは、分類モデルが出力する分類結果を取得し(ステップS71)、ステップS72へ処理を進める。
【0093】
次いで画像領域特定部11bは、ステップS63にて取得したマスクデータを基に、ステップS61にて取得した赤外線画像から対象物100が写されている画像領域を抽出する(ステップS72)。処理部11の異常検出部11cは、ステップS65にて取得した分類結果、又は、ステップS71にて取得した再分類の結果に応じて、対象物100の異常を検出するための異常検出モデルを選択する(ステップS73)。異常検出部11cは、ステップS72にて抽出した対象物100の画像領域のデータを、ステップS73にて選択した異常検出モデルへ入力する(ステップS74)。異常検出部11cは、異常検出モデルが出力する異常検出結果を取得する(ステップS75)。
【0094】
異常検出部11cは、ステップS75にて取得した異常検出結果に基づいて、対象物100の異常の有無を判定する(ステップS76)。対象物100に異常がない場合(S76:NO)、異常検出部11cは、処理を終了する。対象物100に異常がある場合(S76:YES)、処理部11の表示処理部11dは、例えばステップS61にて取得した可視光線画像と、ステップS75にて取得した異常検出結果とを表示装置5へ送信することにより、対象物100の可視光線画像に検出された異常箇所を囲む太線等を重畳した画像を表示装置5に表示させて(ステップS77)、処理を終了する。
【0095】
以上の構成の実施の形態4に係る情報処理装置1は、可視光線画像に基づいて対象物100のクラス分類を行い、上位2つのクラスについて分類の確信度が低い場合(2つのクラスの確信度の差が閾値未満の場合)に、この2つのクラスに応じた赤外線の波長帯を選択し、選択した波長帯に基づく対象物100の撮影をカメラ3が行った赤外線画像を取得し、取得した赤外線画像を基に対象物100のクラスの再分類を行う。これにより情報処理システムは、可視光線画像に基づくクラス分類について確信度が低い場合に、赤外線画像に基づくクラス分類を行って精度を高めることが期待できる。
【0096】
なお、実施の形態4に係る情報処理システムのその他の構成は、実施の形態1、2、3に係る情報処理システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【0097】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0098】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも1つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
【符号の説明】
【0099】
1 情報処理装置(コンピュータ)
3 カメラ
5 表示装置
7 検査台
11 処理部
11a 撮影画像取得部(第1取得部、第2取得部)
11b 画像領域特定部(特定部)
11c 異常検出部(検出部)
11d 表示処理部
12 記憶部
12a プログラム(コンピュータプログラム)
12b 学習モデル記憶部
13 通信部
14 操作部
31 制御部
32 撮影部
33 切替式フィルタ(第1フィルタ、第2フィルタ)
34 切替部
35 赤外線LED(光源)
36 通信部
100 対象物
【要約】
【課題】撮影画像に基づく対象物の状態検出の精度を向上することが期待できる情報処理方法、コンピュータプログラム、情報処理装置、撮影装置及び情報処理システムを提供する。
【解決手段】本実施の形態に係る情報処理方法は、情報処理装置が、対象物を第1波長帯の光に基づいて撮影した第1画像を取得し、前記対象物を第2波長帯の光に基づいて撮影した第2画像を取得し、前記第1画像に対するセグメンテーションを行って前記対象物が写された画像領域を特定し、特定結果に基づいて、前記第2画像から前記対象物の状態を検出する。前記第1波長帯は可視光線の波長帯であってよく、前記第2波長帯は赤外線の波長帯であってよい。前記情報処理装置が、前記第1画像に基づいて前記対象物を分類し、前記対象物の分類結果及び前記特定結果に基づいて、前記第2画像から前記対象物の状態を検出してもよい。
【選択図】
図1