(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】プログラム、情報処理装置、情報処理方法及びモデル生成方法
(51)【国際特許分類】
C12M 1/34 20060101AFI20231128BHJP
G06T 7/00 20170101ALI20231128BHJP
【FI】
C12M1/34 B
G06T7/00 350B
(21)【出願番号】P 2022537906
(86)(22)【出願日】2021-07-07
(86)【国際出願番号】 JP2021025540
(87)【国際公開番号】W WO2022019110
(87)【国際公開日】2022-01-27
【審査請求日】2022-11-22
(31)【優先権主張番号】P 2020124559
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】500479164
【氏名又は名称】株式会社シバサキ
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】今井 正
(72)【発明者】
【氏名】阿部 佳織
【審査官】西 賢二
(56)【参考文献】
【文献】国際公開第2019/180833(WO,A1)
【文献】国際公開第2019/180848(WO,A1)
【文献】特開2019-208377(JP,A)
【文献】特開2016-15944(JP,A)
【文献】特開2020-93076(JP,A)
【文献】特開2020-13206(JP,A)
【文献】国際公開第2020/007118(WO,A1)
【文献】特開2016-62524(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
C12M 1/00-3/10
C12Q 1/00-3/00
G06T 7/00
JSTPlus/JMEDPlus/JST7580(JDreamIII)
CAplus/MEDLINE/EMBASE/BIOSIS(STN)
(57)【特許請求の範囲】
【請求項1】
蛍光検出可能な検体を撮像した検体画像を取得し、
訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、取得した前記検体画像を入力して、少なくとも微生物又は微粒子を検出し、
ルールベースの画像処理、又は前記モデルと異なる他のモデルにより前記検体画像から前記微生物又は微粒子を検出し、
前記モデルと、前記ルールベース又は他のモデルとで共通して検出された前記微生物又は微粒子と、いずれか一方で検出された前記微生物又は微粒子とを、異なる表示態様のオブジェクトで示す第2検体画像と、前記モデルによる前記微生物又は微粒子の検出数、前記ルールベース又は他のモデルによる検出数、及び前記共通して検出された前記微生物又は微粒子の検出数を示す一覧表とを出力する
処理をコンピュータに実行させるプログラム。
【請求項2】
前記検体画像は、蛍光染色剤で染色された前記検体を撮像した画像である
請求項1に記載のプログラム。
【請求項3】
前記検出数を含む前記微生物又は微粒子の検出結果を記述した文書ファイルを生成し、
前記文書ファイルと、前記第2検体画像の画像ファイルとを含む保存ファイルを出力する
請求項
1又は2に記載のプログラム。
【請求項4】
前記検体は食品であり、
前記食品を製造する複数の工程それぞれにおいて前記微生物又は微粒子を検出した際の前記保存ファイルを参照して、前記複数の工程における前記微生物又は微粒子の検出結果を記述した前記文書ファイルを生成する
請求項
3に記載のプログラム。
【請求項5】
前記微生物又は微粒子の検出結果を出力後、前記第2検体画像に対し、前記微生物又は微粒子の正解の座標データを付与する操作入力を受け付け、
前記検体画像と、前記正解の座標データとに基づき、前記モデルを更新する
請求項
1~4のいずれか1項に記載のプログラム。
【請求項6】
前記第2検体画像に対し、前記オブジェクトを追加又は削除する操作入力を受け付けることで、前記正解の座標データの入力を受け付ける
請求項
5に記載のプログラム。
【請求項7】
前記微生物又は微粒子の種類に応じて前記訓練データを学習済みの複数の前記モデルそれぞれに、取得した前記検体画像を入力して、複数種類の前記微生物又は微粒子を検出する
請求項1~
6のいずれか1項に記載のプログラム。
【請求項8】
前記検体画像を所定倍率に拡大した拡大画像を生成し、
前記拡大画像を前記モデルに入力して前記微生物又は微粒子を検出する
請求項1~
7のいずれか1項に記載のプログラム。
【請求項9】
前記拡大画像を複数の分割画像に分割し、
各分割画像を前記モデルに入力して、前記微生物又は微粒子を前記各分割画像から検出し、
隣り合う2枚の前記分割画像の間の境界部分から検出され、かつ、該2枚の分割画像の双方で検出された前記微生物又は微粒子を特定する
請求項
8に記載のプログラム。
【請求項10】
蛍光検出可能な検体を撮像した検体画像を取得する取得部と、
訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、取得した前記検体画像を入力して、少なくとも微生物又は微粒子を検出する検出部と、
ルールベースの画像処理、又は前記モデルと異なる他のモデルにより前記検体画像から前記微生物又は微粒子を検出する第2検出部と、
前記モデルと、前記ルールベース又は他のモデルとで共通して検出された前記微生物又は微粒子と、いずれか一方で検出された前記微生物又は微粒子とを、異なる表示態様のオブジェクトで示す第2検体画像と、前記モデルによる前記微生物又は微粒子の検出数、前記ルールベース又は他のモデルによる検出数、及び前記共通して検出された前記微生物又は微粒子の検出数を示す一覧表とを出力する出力部と
を備える情報処理装置。
【請求項11】
蛍光検出可能な検体を撮像した検体画像を取得し、
訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、取得した前記検体画像を入力して、少なくとも微生物又は微粒子を検出し、
ルールベースの画像処理、又は前記モデルと異なる他のモデルにより前記検体画像から前記微生物又は微粒子を検出し、
前記モデルと、前記ルールベース又は他のモデルとで共通して検出された前記微生物又は微粒子と、いずれか一方で検出された前記微生物又は微粒子とを、異なる表示態様のオブジェクトで示す第2検体画像と、前記モデルによる前記微生物又は微粒子の検出数、前記ルールベース又は他のモデルによる検出数、及び前記共通して検出された前記微生物又は微粒子の検出数を示す一覧表とを出力する
処理をコンピュータが実行する情報処理方法。
【請求項12】
蛍光検出可能な検体を撮像する検出装置と、該検出装置に接続された情報処理装置とを有する情報処理システムであって、
前記情報処理装置は、
前記検体を撮像した検体画像を前記検出装置から取得する取得部と、
訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、取得した前記検体画像を入力して、少なくとも微生物又は微粒子を検出する検出部と、
ルールベースの画像処理、又は前記モデルと異なる他のモデルにより前記検体画像から前記微生物又は微粒子を検出する第2検出部と、
前記モデルと、前記ルールベース又は他のモデルとで共通して検出された前記微生物又は微粒子と、いずれか一方で検出された前記微生物又は微粒子とを、異なる表示態様のオブジェクトで示す第2検体画像と、前記モデルによる前記微生物又は微粒子の検出数、前記ルールベース又は他のモデルによる検出数、及び前記共通して検出された前記微生物又は微粒子の検出数を示す一覧表とを出力する出力部と
を備える情報処理システム。
【請求項13】
蛍光検出可能な検体を撮像した検体画像を取得し、
前記検体画像を所定倍率に拡大した拡大画像を生成し、
前記拡大画像を複数の分割画像に分割し、
訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、各分割画像を入力して、少なくとも微生物又は微粒子を前記各分割画像から検出し、
隣り合う2枚の前記分割画像の間の境界部分から検出され、かつ、該2枚の分割画像の双方で検出された前記微生物又は微粒子を特定し、
特定した前記微生物又は微粒子を差し引いた検出結果を出力する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、情報処理方法及びモデル生成方法に関する。
【背景技術】
【0002】
画像処理技術を用いて、検体を撮像した画像から検体に含まれる細菌を検出する方法がある。例えば特許文献1では、ディープラーニングにより構築された学習モデルを用いて、検体の画像から細胞の位置を検出する画像処理方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、細菌以外の夾雑物も検出してしまう虞がある。
【0005】
一つの側面では、検体に含まれる微生物又は微粒子を好適に検出することができるプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、蛍光検出可能な検体を撮像した検体画像を取得し、訓練用の検体画像に対し、該検体画像に含まれる微生物又は微粒子、及び夾雑物それぞれの座標データが付与された訓練データを学習済みのモデルに、取得した前記検体画像を入力して、少なくとも微生物又は微粒子を検出し、ルールベースの画像処理、又は前記モデルと異なる他のモデルにより前記検体画像から前記微生物又は微粒子を検出し、前記モデルと、前記ルールベース又は他のモデルとで共通して検出された前記微生物又は微粒子と、いずれか一方で検出された前記微生物又は微粒子とを、異なる表示態様のオブジェクトで示す第2検体画像と、前記モデルによる前記微生物又は微粒子の検出数、前記ルールベース又は他のモデルによる検出数、及び前記共通して検出された前記微生物又は微粒子の検出数を示す一覧表とを出力する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、検体に含まれる微生物又は微粒子を好適に検出することができる。
【図面の簡単な説明】
【0008】
【
図8】検出モデルの生成処理の手順を示すフローチャートである。
【
図9】細菌検出処理の手順を示すフローチャートである。
【
図10】実施の形態2に係る細菌検出処理の手順を示すフローチャートである。
【
図11】検出モデルの更新処理の手順を示すフローチャートである。
【
図13】実施の形態3に係る表示画面例を示す説明図である。
【
図14】実施の形態3に係る細菌検出処理の手順を示すフローチャートである。
【
図16】実施の形態4に係る表示画面例を示す説明図である。
【
図17】実施の形態4に係る細菌検出処理の手順を示すフローチャートである。
【
図18】実施の形態5に係る表示画面例を示す説明図である。
【
図19】ラベル付与処理の手順を示すフローチャートである。
【
図20】実施の形態6に係る文書ファイルを示す説明図である。
【
図21】実施の形態6に係る細菌検出処理の手順を示すフローチャートである。
【
図23】実施の形態7に係る細菌検出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、検出システムの構成例を示す説明図である。本実施の形態では、食品、飲料品等の検体の細菌検査のため、検体を撮像した検体画像から細菌を検出する検出システムについて説明する。検出システムは、情報処理装置1、端末2、検出装置3、管理者端末4を含む。情報処理装置1及び端末2は、インターネット等のネットワークNに接続されている。
【0010】
なお、本実施の形態では検査対象を細菌とするが、これに限定されるものではない。例えば、酵母、カビ、藻類などの細菌以外の微生物、あるいは蛍光ビーズなどの微粒子を検査対象としてもよい。すなわち、微生物及び/又は微粒子を検出可能であればよく、検査対象は細菌に限定されない。
【0011】
情報処理装置1は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバコンピュータ、パーソナルコンピュータ等である。本実施の形態では情報処理装置1がサーバコンピュータであるものとし、以下では簡潔のためサーバ1と読み替える。サーバ1は、訓練用の検体画像に対し、細菌及び夾雑物それぞれの正解の座標データ(ラベル)が付与された訓練データを学習する機械学習を行い、後述の検出モデル50(
図5参照)を生成する。検出モデル50は、検体画像を入力として、検体画像に含まれる細菌及び夾雑物のうち、少なくとも細菌を検出する機械学習モデルである。サーバ1は、細菌だけでなく細菌以外の夾雑物の座標データも学習することで、細菌と夾雑物とを識別可能な検出モデル50を生成する。
【0012】
端末2は、本システムを利用するユーザの情報処理端末であり、例えばパーソナルコンピュータ、タブレット端末、スマートフォン等である。本実施の形態ではサーバ1が生成した検出モデル50のデータがユーザの端末2にインストールされており、端末2は、検体を撮像した検体画像を検出モデル50に入力して細菌を検出する。
【0013】
検出装置3は、検体に含まれる細菌を検出するための検査装置であり、検体を撮像する撮像装置である。本実施の形態では細菌の検出方法として蛍光染色法を用い、検出装置3は、蛍光染色剤により染色された検体を撮像する。検出装置3は、染色剤により染色された検体を採取した測定用フィルタ(例えばメンブレンフィルタ)を保持する基盤、当該基盤をX軸方向及びY軸方向に摺動するXYステージ、検体に励起光を照射する励起光源、撮像カメラ等を装置内部に備え、測定用フィルタの位置をX軸方向及びY軸方向に微調整しながら検体を撮像する。本実施の形態に係る検出装置3として、例えば国際公開第2017/115768号に記載の検出装置を用いることができる。端末2は、検出装置3で撮像された検体画像を検出モデル50に入力し、細菌を検出する。
【0014】
なお、上記で説明した検出装置3は一例であって、検出装置3は検体画像を撮像可能であればよい。また、検体撮像用の検出装置3を利用する構成は必須ではなく、例えば端末2は人手で検体を撮像した画像を検体画像として用いてもよい。また、蛍光染色法は細菌検出方法の一例であって、検体を撮像した画像から細菌を検出可能であればよく、その検出方法は蛍光染色法に限定されない。
【0015】
また、本実施の形態では検体を染色した上で撮像するものとするが、例えば藻類のように検出対象物(微生物又は微粒子)が自家蛍光物質を含んでいる場合、検体を染色せずともよい。すなわち、検体画像は、微生物又は微粒子を蛍光検出可能な検体を撮像した画像であればよく、蛍光染色剤による染色は必須ではない。
【0016】
管理者端末4は、本システムを管理する管理者の情報処理端末であり、例えばパーソナルコンピュータ等である。サーバ1は、本システムの管理者(検体画像に含まれる細菌と夾雑物とを識別可能な技能を有するスタッフ)が訓練用の検体画像に対し正解のラベルを付与した訓練データを管理者端末4から取得し、学習を行う。
【0017】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、及び補助記憶部14を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置であり、補助記憶部14に記憶されたプログラムP1を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【0018】
補助記憶部14は、大容量メモリ、ハードディスク等の不揮発性記憶領域であり、制御部11が処理を実行するために必要なプログラムP1、その他のデータを記憶している。また、補助記憶部14は、検出モデル50を記憶している。検出モデル50は、上述の如く訓練データを学習済みの機械学習モデルであり、染色剤により染色された検体を撮像した検体画像を入力として、検体画像に含まれる細菌を検出する学習済みモデルである。検出モデル50は、人工知能ソフトウェアの一部を構成するソフトウェアモジュールとしての利用が想定される。
【0019】
なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【0020】
また、本実施の形態においてサーバ1は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ1は、CD(Compact Disk)-ROM、DVD(Digital Versatile Disc)-ROM等の可搬型記憶媒体1aを読み取る読取部を備え、可搬型記憶媒体1aからプログラムP1を読み取って実行するようにしても良い。あるいはサーバ1は、半導体メモリ1bからプログラムP1を読み込んでも良い。
【0021】
図3は、端末2の構成例を示すブロック図である。制御部21、主記憶部22、通信部23、表示部24、入力部25、補助記憶部26を備える。
制御部21は、一又は複数のCPU、MPU等の演算処理装置であり、補助記憶部26に記憶されたプログラムP2を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部22は、RAM等の一時記憶領域であり、制御部21が演算処理を実行するために必要なデータを一時的に記憶する。通信部23は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【0022】
表示部24は、液晶ディスプレイ等の表示画面であり、画像を表示する。入力部25は、キーボード、マウス等の操作インターフェイスであり、ユーザから操作入力を受け付ける。補助記憶部26は、ハードディスク、大容量メモリ等の不揮発性記憶領域であり、制御部21が処理を実行するために必要なプログラムP2、その他のデータを記憶している。また、補助記憶部26は、検出モデル50を記憶している。
【0023】
なお、端末2は、CD-ROM等の可搬型記憶媒体2aを読み取る読取部を備え、可搬型記憶媒体2aからプログラムP2を読み取って実行するようにしても良い。あるいは端末2は、半導体メモリ2bからプログラムP2を読み込んでも良い。
【0024】
図4は、検出装置3の構成例を示すブロック図である。検出装置3は、制御部31、撮像部32、XY軸モータドライバ33、XY軸モータ34、LD(Laser Diode)ドライバ35、LD光源36を備える。
制御部31は、CPU等の演算処理装置であり、検出装置3を制御するための種々の情報処理を行う。撮像部32は、CCD(Charge Coupled Device)センサ等の撮像素子を有するカメラであり、測定用フィルタに採取された検体を撮像する。XY軸モータドライバ33はXYステージを駆動するXY軸モータ34の動作を制御するドライバであり、XYステージ上の基盤に載置された測定用フィルタの位置を調整する。LDドライバ35は、励起光源であるLD光源36から照射される励起光の光量等を調整するドライバであり、検体に励起光を照射する。
【0025】
図5は、実施の形態1の概要を示す説明図である。
図5では、検出装置3で撮影された検体画像を検出モデル50に入力した場合に、検体画像に含まれる細菌が検出される様子を概念的に図示している。
図5に基づき、本実施の形態の概要を説明する。
【0026】
端末2は、検出装置3から検体画像を取得する。検出装置3は、上述の如く細菌検出を行うための検査装置であり、蛍光染色剤により染色された検体を撮像する装置である。検出装置3は、染色後の検体を採取した測定用フィルタに励起光を照射し、検体画像(蛍光画像)を撮像する。詳細な説明は省略するが、検出装置3は、
図5左上に示すように、測定用フィルタに検体が採取された領域をX軸方向及びY軸方向に沿って複数の格子状区画に区分する。そして検出装置3は、XYステージ上の基盤に載置された測定用フィルタをX軸方向及びY軸方向に摺動させながら、各区画に対応する検体画像を撮像する。検出装置3は、撮像された検体画像を端末2に送信する。
【0027】
なお、検出装置3で撮像される検体画像は白黒画像であるが、検体画像はRGB画像であってもよく、その画像形式は特に問わない。
【0028】
端末2は、検出装置3から送信された検体画像を検出モデル50に入力する。検出モデル50は、訓練データを学習することで生成された機械学習モデルであり、例えばディープラーニングにより構築されたニューラルネットワークである。具体的には、検出モデル50は、R-CNN(Region CNN)、YOLO(You Look Only Once)、SSD(Single Shot Detector)等のCNN(Convolution Neural Network)である。
【0029】
なお、本実施の形態では検出モデル50がCNNであるものとして説明するが、CNN以外のニューラルネットワーク、決定木、ランダムフォレスト、その他の機械学習モデルであってもよい。
【0030】
検出モデル50は、検体画像の入力を受け付ける入力層と、検体画像から特徴量を抽出する中間層と、抽出した特徴量に基づく細菌の検出結果(座標データ)を出力する出力層とを備える。入力層は検体画像の入力を受け付け、中間層にデータを受け渡す。中間層は、畳み込み層とプーリング層とが交互に連結された構成を有し、検体画像の各画素の画素値を圧縮して特徴量を抽出し、出力層に受け渡す。出力層は、中間層で抽出された特徴量に基づき、細菌が存在すると推定される検体画像中の座標データを出力する。
【0031】
サーバ1は、訓練用の検体画像に対し、細菌の正解の座標データ(ラベル)が付与された訓練データを用いて学習を行い、検出モデル50を生成する。ここでサーバ1は、訓練データとして、細菌の座標データだけでなく、夾雑物の座標データも付与された訓練データを用いて学習を行う。
【0032】
夾雑物は、細菌以外の物質であって、検出対象としない物質を指す。検体に夾雑物(例えば繊維等のゴミ)が混入している場合、染色剤によって夾雑物も染色され、検体画像において夾雑物も発光点として観測される場合がある。また、検体に自家蛍光物質に含まれる場合(例えば食品に含まれる小麦粉等)、当該物質が発光点として観測され、細菌を検出する上での夾雑物となる場合がある。熟練の作業者はこれらの夾雑物を細菌と見分けることができるが、人間による作業のため、検査時間が長くなり、処理できる検体数も限られることになる。
【0033】
そこで本実施の形態では、細菌だけでなく夾雑物の特徴も検出モデル50に学習させ、細菌及び夾雑物を識別可能な検出モデル50を構築する。すなわち、サーバ1は、訓練用の検出画像に対し、細菌及び夾雑物それぞれの座標データが付与された訓練データを用いて学習を行い、検出モデル50を生成する。
【0034】
例えば訓練データは、管理者端末4において管理者(細菌検査について専門の知識を有するスタッフ)が作成し、サーバ1に提供する。サーバ1は、訓練用の検体画像を検出モデル50に入力し、細菌が存在すると推定される座標データを出力として取得する。サーバ1は、取得した座標データを正解の座標データと比較し、両者が近似するように、ニューロン間の重み等のパラメータを調整する。例えばサーバ1は、訓練用に与えられた全ての検体画像について学習を行い、最終的にパラメータを最適化した検出モデル50を生成する。
【0035】
なお、本実施の形態に係る検出モデル50は、検出結果として細菌の座標データのみを出力するものとするが、細菌だけでなく夾雑物の座標データも出力するようにしてもよい。すなわち、検出モデル50は、細菌及び夾雑物のうち、少なくとも細菌を検出可能であればよく、夾雑物も検出するようにしてもよい。
【0036】
サーバ1は、あらゆる種類の細菌(及び夾雑物)について一の検出モデル50に学習させ、一の検出モデル50で全ての種類の細菌を検出可能としてもよいが、細菌の種類毎に訓練データを学習し、細菌の種類に応じた複数の検出モデル50、50、50…を用意するようにすると好適である。すなわち、サーバ1は、訓練用の検体画像に細菌A及び夾雑物のラベルが付与された訓練データ、訓練用の検体画像に細菌B及び夾雑物のラベルが付与された訓練データ、訓練用の検体画像に細菌C及び夾雑物のラベルが付与された訓練データ…をそれぞれ取得し、各訓練データに基づき、細菌A検出用の検出モデル50、細菌B検出用の検出モデル50、細菌C検出用の検出モデル50…を生成する。ユーザは、これらの検出モデル50、50、50…のうち、検査目的(検出対象とする細菌の種類)に応じて検出モデル50を選択し、細菌検出に用いる。
【0037】
端末2には、サーバ1が生成した検出モデル50のデータがインストールされている。端末2は、検出装置3から取得した検体画像を検出モデル50に入力し、検体画像に含まれる細菌を検出する。
図5右側に、細菌が検出された様子をバウンディングボックス(矩形状の枠)で図示している。
図5に示すように、検出モデル50は、黒丸で示す細菌を検出する一方で、ハッチング付きの四角形で示す物質が夾雑物であることを識別し、検出結果から除外する。
【0038】
図6は、端末2の表示画面例を示す説明図である。
図6では、検出装置3を用いて検査を行う際に、端末2が表示する操作画面を図示している。
図6に基づき、検査時にユーザが行う操作手順について説明する。
【0039】
当該画面は、操作欄61、タブ62、出力ボタン63を含む。操作欄61は、検出装置3の現在の状態を表示すると共に、検出装置3の動作を制御するためのアイコンボタンを表示する表示欄である。ユーザはアイコンボタンを操作することでXYステージの動作、検体画像の撮影開始などを制御する。
【0040】
タブ62は、画面表示を切り換えるための操作タブである。「検出条件」のタブ62がアクティブになっている場合、端末2は検出条件を設定するための画面(不図示)に表示を切り換え、種々の検出条件の設定を受け付ける。例えば端末2は、検出条件として、撮像範囲とする測定フィルタ上の区画、検体量(ml)、検体番号、使用する検査試薬(染色剤)の種類、画像の撮像条件(輝度補正、マスク補正等)などの設定入力を受け付ける。また、端末2は、検出条件として、細菌検出に用いる検出モデル50の種類(細菌の種類)の選択入力を受け付ける。
【0041】
端末2は、検出条件の設定完了後、操作欄61のアイコンボタンへの操作入力に応じて、測定フィルタ上の各区画の検体画像を検出装置3に撮像させる。そして端末2は、撮像された各区画の検体画像を、上記で選択された検出モデル50に入力し、細菌を検出する。
【0042】
「検出結果」のタブ62がアクティブになっている場合、端末2は、細菌の検出結果を表示する。具体的には
図6に示すように、端末2は、検出された細菌に対応する位置にバウンディングボックス(オブジェクト)を付した検体画像(第2検体画像)と、検出された細菌の検出数とを表示する。端末2は、測定フィルタ上の各区画の検体画像をユーザの操作に従って順次表示する。また、端末2は、測定フィルタ上の区画(検出箇所)毎に細菌の検出数を表621に一覧表示すると共に、現在表示中の検体画像に係る区画での検出数を表621の上部に表示する。
【0043】
なお、
図6の画面において端末2は、バウンディングボックスで示す各検出点の細菌について、検出モデル50が各検出点の細菌を検出した際の確からしさを示す確信度を表示してもよい。確信度は、検出モデル50が検体画像の特徴量に基づいて各細菌を検出した際の確からしさを表す確率値であり、各検出点の座標データと共に検出モデル50から出力される。例えば端末2は、ユーザの操作に応じてカーソルがバウンディングボックスに合わせられた場合、そのバウンディングボックス(検出点)に対応する確信度を表示する。これにより、検出モデル50の検出結果がどれほど確からしいものか、ユーザに提示することができる。
【0044】
出力ボタン63は、細菌の検出結果をまとめた保存用のファイル(以下、「保存ファイル」と呼ぶ)を出力するための操作ボタンである。出力ボタン63への操作入力を受け付けた場合、端末2は保存ファイルを出力(エクスポート)する。具体的には、端末2は、検体画像の画像ファイル(検出装置3から取得した生の検体画像と、バウンディングボックスを付した検体画像(第2検体画像)とを対応付けたファイル)、及び表621で表示した細菌の検出数を記述したテキストファイルを出力する。
【0045】
また、端末2は、保存ファイルの一つとして、細菌の検出結果をレポート形式で記述した文書ファイルを生成して出力する。
図7は、文書ファイルの一例を示す説明図である。端末2は、
図7で例示する文書ファイルを生成する。例えば端末2は、使用した検査試薬、励起光の露光時間等の検出条件を記述すると共に、検出結果として、単位量(ml)当たりの検出数を記述した文書ファイルを生成する。端末2は、検出条件として設定された検体量と、検体画像から検出された細菌の検出数とに基づいて単位量当たりの検出数を算出して文書ファイルに記述し、上記の画像ファイル、テキストファイルと共に出力する。
【0046】
上述の如く、端末2は、細菌だけでなく夾雑物の特徴も学習済みの検出モデル50を用いることで、夾雑物を検出対象から除外し、細菌を好適に検出することができる。
【0047】
図8は、検出モデル50の生成処理の手順を示すフローチャートである。
図8に基づき、機械学習により検出モデル50を生成する際の処理内容について説明する。
【0048】
サーバ1は、検出モデル50を生成するための訓練データを管理者端末4から取得する(ステップS11)。訓練データは、訓練用の検体画像に対し、細菌及び夾雑物それぞれの正解の座標データ(ラベル)が付与されたデータである。
【0049】
サーバ1は訓練データに基づき、検体画像を入力した場合に、少なくとも細菌を検出する検出モデル50を生成する(ステップS12)。例えばサーバ1は、CNN等のニューラルネットワークを検出モデル50として生成する。サーバ1は、訓練用の検体画像を検出モデル50に入力し、細菌が存在すると推定される検体画像中の座標データを出力として取得する。サーバ1は、取得した細菌の座標データを正解の座標データと比較し、両者が近似するようにニューロン間の重み等を最適化して、検出モデル50を生成する。サーバ1は一連の処理を終了する。
【0050】
図9は、細菌検出処理の手順を示すフローチャートである。
図9に基づき、検体画像から細菌を検出する際の処理内容について説明する。
端末2は、細菌の検出条件の設定入力を受け付ける(ステップS31)。例えば端末2は、撮像範囲とする測定フィルタ上の区画、検体量等の設定入力を受け付けるほかに、使用する検出モデル50の種類(細菌の種類)の選択入力を受け付ける。
【0051】
端末2は、検体を撮像した検体画像を検出装置3から取得する(ステップS32)。端末2は、取得した検体画像を、上記で選択された検出モデル50に入力して細菌を検出する(ステップS33)。端末2は、検出された細菌の検出数を集計する(ステップS34)。端末2は、細菌の検出結果を表示する(ステップS35)。具体的には、端末2は、検出された細菌に対応する位置にバウンディングボックス(オブジェクト)を付した検体画像(第2検体画像)を表示すると共に、ステップS34で集計した検出数を表示する。
【0052】
端末2は、ユーザからの操作入力に基づき、保存ファイルを出力するか否かを判定する(ステップS36)。保存ファイルを出力すると判定した場合(S36:YES)、端末2は保存ファイルを出力する(ステップS37)。例えば端末2は、検体画像の画像ファイル等のほか、細菌の検出数を含む検出結果をレポート形式で記述した文書ファイルを生成し、保存ファイルとして出力する。ステップS37の処理を実行後、又はステップS36でNOの場合、端末2は一連の処理を終了する。
【0053】
以上より、本実施の形態1によれば、検体に含まれる細菌を好適に検出することができる。
【0054】
また、本実施の形態1によれば、細菌の検出数を集計し、バウンディングボックスを付した検体画像と共に検出結果としてユーザに提示することができる。
【0055】
また、本実施の形態1によれば、細菌の種類に応じて訓練データを学習済みの複数の検出モデル50を用意することで、検出対象とする細菌を好適に検出することができる。
【0056】
(実施の形態2)
実施の形態1では、ローカルの端末2が検出モデル50を用いて細菌検出処理を行う形態について説明した。本実施の形態では、クラウド上のサーバ1が細菌検出処理を行う形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
【0057】
まず、本実施の形態の概要を説明する。本実施の形態では、サーバ1が端末2からの要求を受けて検出モデル50を用いた細菌検出処理を行う。すなわち、サーバ1は、検出装置3で撮像された検体画像を端末2から取得し、検出モデル50に入力して細菌を検出する。そしてサーバ1は、検出結果を端末2に出力し、表示させる。表示画面等は実施の形態1と同様であるため、本実施の形態では図示を省略する。
【0058】
ここでサーバ1は、クラウド環境を利用して、端末2から取得した検体画像に基づき検出モデル50の再学習(更新)を行うと好適である。例えばサーバ1は、端末2から取得した検体画像を保存しておき、定期的に管理者端末4に出力する。管理者端末4は、サーバ1から出力された検体画像に対し、細菌及び夾雑物の正解の座標データ(ラベル)を付与する操作入力(例えば後述の実施の形態5のように、バウンディングボックスを追加又は削除する操作入力)を管理者から受け付け、再学習用の訓練データとしてサーバ1に出力する。
【0059】
サーバ1は、再学習用の訓練データに基づき、検出モデル50を更新する。すなわち、サーバ1は、再学習用の検体画像(端末2から取得した検体画像)を、細菌検出時に利用した検出モデル50(すなわち、複数の検出モデル50、50、50…のうち、検出した細菌の種類に対応する検出モデル50)に入力して細菌を検出し、検出結果が正解の座標データと近似するように検出モデル50のパラメータを最適化する。これにより、検出モデル50が逐次的にアップデートされ、検出精度を高めることができる。
【0060】
なお、本実施の形態ではサーバ1が細菌検出処理(検出モデル50による推論処理)と再学習処理との双方を実行することにしたが、サーバ1は再学習処理を行うのみであってもよい。
【0061】
また、サーバ1は、検体の種類毎に再学習を行い、各種類の検体に適した検出モデル50、50、50…を構築するようにしてもよい。例えばサーバ1は、食品会社、飲料品メーカ、水道局などの各ユーザから検体画像を取得して細菌検出を行う場合に、食品、飲料品、水道水等の検体の種類毎に再学習用の訓練データを別々の検出モデル50に与えて、各種類の検体用に検出モデル50、50、50…を更新する。これにより、本システムの運用を通じて、個別の検体における細菌検出に適した検出モデル50を構築することができる。
【0062】
図10は、実施の形態2に係る細菌検出処理の手順を示すフローチャートである。検出装置3から検体画像を取得した後(ステップS32)、端末2は以下の処理を実行する。
端末2は、取得した検体画像をサーバ1に送信する(ステップS201)。端末2から検体画像を取得した場合、サーバ1は、検体画像を検出モデル50に入力して細菌を検出する(ステップS202)。サーバ1は、検出結果(細菌の座標データ)を端末2に送信する(ステップS203)。サーバ1は、端末2から取得した検体画像を保存(記憶)し(ステップS204)、一連の処理を終了する。
【0063】
図11は、検出モデル50の更新処理の手順を示すフローチャートである。
図11に基づき、再学習を行って検出モデル50を更新する際の処理内容について説明する。
サーバ1は、保存してある検体画像を管理者端末4に出力する(ステップS221)。管理者端末4は、検体画像に対し、細菌及び夾雑物の正解の座標データ(ラベル)を付与する操作入力を受け付ける(ステップS222)。管理者端末4は、正解の座標データが付与された検体画像を再学習用の訓練データとしてサーバ1に送信する(ステップS223)。サーバ1は、再学習用の訓練データに基づき、検出モデル50を更新する(ステップS224)。サーバ1は一連の処理を終了する。
【0064】
以上より、本実施の形態2によれば、ローカルの端末2ではなくクラウド上のサーバ1が細菌検出処理を実行してもよい。また、細菌検出を行った検体画像を元に再学習を行うことで、細菌の検出精度を向上させることができる。
【0065】
(実施の形態3)
実施の形態1では、検出対象とする細菌の種類に応じて複数の検出モデル50、50、50…を用意し、いずれかの検出モデル50を選択して細菌検出に用いる形態について説明した。本実施の形態では、複数の検出モデル50、50、50…を併用する形態について説明する。
【0066】
図12は、実施の形態3の概要を示す説明図である。
図12では、同じ検体画像を複数の検出モデル50、50、50…にそれぞれ入力し、各種類の細菌を個別に検出する様子を概念的に図示している。
【0067】
実施の形態1で説明したように、サーバ1は、細菌A、B、C…それぞれに対応する訓練データに基づき、細菌の種類に応じた複数の検出モデル50、50、50…を生成する。本実施の形態において端末2は、検出装置3から取得した検体画像を、複数の検出モデル50、50、50…にそれぞれ入力する。そして端末2は、各検出モデル50から、細菌A、B、C…それぞれの座標データを出力として取得する。
【0068】
端末2は、各検出モデル50での検出結果を合成して表示する。
図13は、実施の形態3に係る表示画面例を示す説明図である。本実施の形態において端末2は、細菌の位置にバウンディングボックスを付して検体画像を表示する場合に、細菌の種類に応じてバウンディングボックスの表示態様を異ならせた検体画像(第2検体画像)を表示する。例えば端末2は、バウンディングボックスの表示色を変更する。なお、
図13では図示の便宜上、表示色が異なる様子を線種で表現してある。
【0069】
端末2はさらに、表621に、検出された各種類の細菌の検出数を、区画(検出箇所)毎に一覧表示する。また、端末2は、現在表示中の検体画像に係る区画における各種類の細菌の検出数を、表621の上部に表示する。
【0070】
図14は、実施の形態3に係る細菌検出処理の手順を示すフローチャートである。検出装置3から検体画像を取得した後(ステップS32)、端末2は以下の処理を実行する。
端末2は、細菌の種類に応じて訓練データを学習済みの複数の検出モデル50、50、50…に、ステップS32で取得した検体画像を入力して、複数種類の細菌を検出する(ステップS301)。
【0071】
端末2は、各種類の細菌の検出数を集計する(ステップS302)。そして端末2は、各種類の細菌の検出結果を表示する(ステップS303)。具体的には、端末2は、細菌の種類に応じて異なる表示態様のバウンディングボックスを付した検体画像(第2検体画像)を表示すると共に、細菌の種類毎に検出数を表示する。端末2は処理をステップS36に移行する。
【0072】
以上より、本実施の形態3によれば、複数種類の細菌を同時に検出することもできる。
【0073】
なお、本実施の形態においてもサーバ1は、検出モデル50の再学習を行ってもよい。例えばサーバ1は、細菌の種類の指定入力を受け付けた上で、指定された細菌の正解の座標データを付与する操作入力を受け付けることで、再学習用の訓練データを取得する。サーバ1は、元の検体画像と、新たに付与された正解の座標データとに基づき、指定された細菌の種類に対応する検出モデル50を更新する。
【0074】
(実施の形態4)
本実施の形態では、検出モデル50を用いて細菌を検出する以外に、ルールベースの画像処理により細菌を検出し、検出モデル50及びルールベースの検出結果を組み合わせてユーザに提示する形態について説明する。
【0075】
図15は、実施の形態4の概要を示す説明図である。
図15では、検出モデル50を用いて検体画像から細菌を検出すると共に、ルールベースの画像処理(例えば二値化処理)によって検体画像から細菌を検出する様子を概念的に図示している。
【0076】
端末2は、実施の形態1と同様に、検出装置3から取得した検体画像を検出モデル50に入力し、細菌を検出する。
図15の右上に、検出モデル50による検出結果を概念的に図示する。なお、
図15右下の検出結果(ルールベースでの検出結果)と区別するため、
図15では検出モデル50による検出結果を矩形状のバウンディングボックスではなく丸枠で図示している。
【0077】
さらに端末2は、ルールベースの画像処理を行い、検体画像から細菌を検出する。例えば端末2は、ルールベースの画像処理として、検体画像を二値化する二値化処理を行い、細菌を検出する。すなわち、端末2は、検体画像内の各画素値(例えば輝度)を所定の閾値と比較し、細菌と推定される領域と、細菌以外の領域とに検体画像を二値化して、細菌と推定される領域を検出する。
【0078】
なお、二値化処理はルールベースでの検出方法の一例であって、他のアルゴリズムを用いて検体画像から細菌を検出してもよい。
【0079】
図15右下に、ルールベースでの検出結果を概念的に図示する。
図15の例で検出モデル50による検出結果とルールベースでの検出結果とを比較した場合、検出モデル50による検出結果では、本来検出されるべき細菌が検出されていないことがわかる。また、検出モデル50による検出結果では、複数(2つ)の細菌が近接しているため、複数の細菌が一つの細菌として検出されていることがわかる。一方で、ルールベースでの検出結果では、夾雑物に対応する画像領域も検出されてしまい、誤った検出点が多数出現していることがわかる。
【0080】
端末2は、上記の2つの検出結果を組み合わせて表示する。
図16は、実施の形態4に係る表示画面例を示す説明図である。本実施の形態に係る表示画面は、画像タブ622を含む。画像タブ622は、検出モデル50及び/又はルールベースの検出結果を切り換えて検体画像を表示するための操作タブである。「AI検出」の画像タブ622がアクティブになっている場合、端末2は、検出モデル50により検出された細菌の位置をバウンディングボックスで示す検体画像を表示する(
図15右上参照)。「二値化検出」の画像タブ622がアクティブになっている場合、端末2は、二値化処理により検出された細菌の位置をバウンディングボックスで示す検体画像を表示する(
図15右下参照)。
【0081】
「AI検出と二値化検出の比較」の画像タブ622がアクティブになっている場合、端末2は、
図16に示すように、検出モデル50及び二値化処理の双方の検出結果を示す検体画像を表示する。具体的には、端末2は、検出モデル50及び二値化処理で共通して検出された検出点(細菌)と、検出モデル50又は二値化処理のいずれか一方で検出された検出点とで、バウンディングボックスの表示態様(例えば表示色)を変更する。
【0082】
また、端末2は表621で、測定フィルタ上の区画(検出箇所)毎に、検出モデル50による検出数、二値化処理による検出数、及び共通して検出された細菌の検出数を一覧表示する。また、端末2は、表621の上部に、現在表示中の検体画像に係る区画について、検出モデル50による検出数、二値化処理による検出数、及び共通して検出された細菌の検出数を表示する。
【0083】
図17は、実施の形態4に係る細菌検出処理の手順を示すフローチャートである。検出装置3から検体画像を取得した後(ステップS32)、端末2は以降の処理を実行する。
端末2は、検体画像を検出モデル50に入力して細菌を検出する(ステップS401)。また、端末2は、二値化処理により検体画像から細菌を検出する(ステップS402)。端末2は、ステップS401及びS402で検出した細菌の検出数を集計する(ステップS403)。具体的には、端末2は、検出モデル50による検出数、及び二値化処理による検出数をそれぞれ集計するほか、検出モデル50及び二値化処理で共通して検出された細菌の検出数を集計する。
【0084】
端末2は、検出モデル50による検出結果、及び二値化処理による検出結果を表示する(ステップS404)。具体的には、端末2は、検出モデル50又は二値化処理のいずれか一方のみで検出された細菌と、検出モデル50及び二値化処理で共通して検出された細菌とで、異なる表示態様のバウンディングボックス(オブジェクト)を付した検体画像(第2検体画像)を表示する。また、端末2は、検出モデル50による検出数と、二値化処理による検出数と、検出モデル50及び二値化処理で共通して検出された細菌の検出数とをそれぞれ表示する。端末2は処理をステップS36に移行する。
【0085】
以上より、本実施の形態4によれば、ルールベースの画像処理を組み合わせることで、より多くの検出結果をユーザに提示することができる。
【0086】
なお、本実施の形態では検出モデル50と組み合わせる他の検出アルゴリズムとしてルールベースの画像処理(二値化処理)を用いるものとしたが、本実施の形態はこれに限定されるものではない。例えば端末2は、検出モデル50と組み合わせる他の検出アルゴリズムとして、検出モデル50とは異なる他の機械学習モデルを用いてもよい。すなわち、端末2は、検体画像を検出モデル50と他のモデルとにそれぞれ入力し、各モデルから検出結果を取得する。当該他のモデルは、検出モデル50とネットワーク構造が同じで異なる訓練データを学習済みのモデルであってもよく、あるいはネットワーク構造も異なる別のモデルであってもよい。ルールベースの画像処理に代えて他のモデルを用いても、上記と同様の効果を奏する。
【0087】
(実施の形態5)
実施の形態4では、検出モデル50とルールベースでの検出処理とを組み合わせる形態について説明した。本実施の形態では、検出モデル50及びルールベースの検出結果を利用して、検体画像に対し、再学習用のラベル付けを行う形態について説明する。
【0088】
図18は、実施の形態5に係る表示画面例を示す説明図である。本実施の形態では、過去に細菌検出処理を行い、保存ファイルとして保存してある検体画像の再解析機能の一つとして、検体画像に対し細菌の正解の座標データ(ラベル)を付与する機能を提供する。
図18に基づき、本実施の形態の概要を説明する。
【0089】
端末2は、「画像取り込み」のボタンへの操作入力を受け付けた場合、保存ファイルとして保存してある検体画像の指定入力を受け付ける。そして端末2は、指定された検体画像を画面に表示する。当該画面は、画像タブ181、追加ボタン182、削除ボタン183、保存ボタン184を含む。
【0090】
画像タブ181は、検体画像の表示を切り換えるための操作タブである。「元画像」の画像タブ181がアクティブになっている場合、端末2は、検出装置3で撮像された元の検体画像(バウンディングボックスが付されていない生画像)を表示する。「AI検出」の画像タブ181がアクティブになっている場合、端末2は、検出モデル50により検出された細菌の位置をバウンディングボックスで示す検体画像を表示する(
図15右上参照)。「二値化検出」の画像タブ181がアクティブになっている場合、端末2は、二値化処理により検出された細菌の位置をバウンディングボックスで示す検体画像を表示する(
図15右下参照)。
【0091】
「AI検出と二値化検出の比較」の画像タブ181がアクティブになっている場合、端末2は、検出モデル50及び二値化処理の双方の検出結果を示す検体画像を表示する。具体的には実施の形態4と同様に、端末2は、検出モデル50及び二値化処理で共通して検出された検出点(細菌)と、検出モデル50又は二値化処理のいずれか一方で検出された検出点とで、異なる表示態様のバウンディングボックスを付した検体画像を表示する。
【0092】
端末2は当該画面上で、バウンディングボックスとして表示された検出点(細菌)を追加又は削除する操作入力を受け付ける。例えば端末2は、バウンディングボックスを指定する指定入力を受け付け、追加ボタン182又は削除ボタン183への操作入力に応じて、指定されたバウンディングボックスを検出点に追加又は削除する。
図18では、ユーザが指定したバウンディングボックスが、矢印のアイコンで表記される様子を図示している。
【0093】
上述の如く、端末2は、検出モデル50及び二値化処理で共通して検出された検出点と、いずれか一方で検出された検出点とを異なる表示態様で表示する。これにより、ラベルを付与すべき検出点をユーザが選択する場合に、ユーザによる選択作業を好適に補助することができる。
【0094】
なお、端末2は、細菌だけでなく、夾雑物についてもラベルを付与(バウンディングボックスを追加)する操作入力を受け付けてもよい。これにより、夾雑物についても正しいラベルが付与された訓練データを得ることができる。
【0095】
保存ボタン184への操作入力を受け付けた場合、端末2は、検出点の追加及び/又は削除の内容を保存する。具体的には、端末2は、保存ファイルとして保存してある検出モデル50の検出結果から、ユーザが追加及び/又は削除した検出点を細菌の位置として追加及び/又は削除し、保存ファイルを更新する。
【0096】
サーバ1は、上記で検出点を追加又は削除した保存ファイルを用いて、検出モデル50の再学習を行うことができる。すなわち、サーバ1は、ユーザによる追加及び/又は削除後の検出点を正解のラベルとして検出モデル50に与え、検出モデル50を更新する。サーバ1は、保存ファイルの検体画像を検出モデル50に入力し、細菌(検出点)の座標データを出力として取得する。サーバ1は、検出モデル50から出力された座標データと、ユーザによる追加及び/又は削除後の検出点の座標データとを比較し、両者が近似するように検出モデル50のパラメータを最適化する。
【0097】
再学習の処理については実施の形態2でも説明したため、本実施の形態では再学習の処理についてフローチャートその他の詳細な説明を省略する。
【0098】
図19は、ラベル付与処理の手順を示すフローチャートである。
図19に基づき、実施の形態5に係る端末2が実行する処理内容について説明する。
端末2は、補助記憶部26に記憶してある保存ファイルを読み出す(ステップS501)。そして端末2は、検体画像を表示する(ステップS502)。具体的には、端末2は、検出モデル50又は二値化処理のいずれか一方のみで検出された検出点(細菌)と、検出モデル50及び二値化処理で共通して検出された検出点(細菌)とで、異なる表示態様のバウンディングボックス(オブジェクト)を付した検体画像(第2検体画像)を表示する。
【0099】
端末2は、表示した検体画像に対し、バウンディングボックスで示す検出点を追加又は削除する操作入力を受け付ける(ステップS503)。端末2は、検出点を追加又は削除した後の画像ファイルを保存し(ステップS504)、一連の処理を終了する。
【0100】
以上より、本実施の形態5によれば、再学習用の訓練データを好適に作成することができる。
【0101】
(実施の形態6)
本実施の形態では、同じ検体について細菌検出(検査)を複数回実施する形態について説明する。
【0102】
図20は、実施の形態6に係る文書ファイルを示す説明図である。
図20では、同じ検体について検査を複数回実施する場合において、各検査での検出結果をまとめた文書ファイルを図示している。
図20に基づき、本実施の形態の概要を説明する。
【0103】
同じ検体について検査を複数回実施するケースは、例えばHACCP(Hazard Analysis and Critical Control Point)を実施するケースが想定される。HACCPは、食品を製造する工程において、細菌(食中毒菌)や異物混入等の危険要因を除去又は低減するために、重要な工程を管理する方法を指す。本実施の形態ではHACCPの一環として、食品(検体)を製造する複数の工程それぞれにおいて検査を行う場合を想定して説明する。
【0104】
端末2は、複数の工程それぞれにおいて検体画像を取得し、検出モデル50に検体画像を入力して細菌を検出する。そして端末2は、各工程での細菌の検出結果を文書ファイル等の形式で出力する。ここで端末2は、一の工程で検査を行って検出結果を出力する場合に、前回以前の工程での検査時と比較可能な形で検出結果を出力する。
【0105】
例えば端末2は、前回以前の検査時に保存した保存ファイルを参照して、前回以前の検査時における検出数等の検出結果と、今回(上記の一の工程)の検出結果との差分を示す文書ファイルを生成し、出力する。例えば端末2は、検出条件の設定時に前回以前の保存ファイルの指定入力を受け付け、指定された保存ファイルを参照して、前回以前の検査時の検出数と、今回の検出数との差分を算出して文書ファイルに記述する。
【0106】
図20に、検出結果の差分が記述された文書ファイルを例示する。例えば端末2は、「6.今回の検出結果」として、今回検出された単位量当たりの細菌の検出数を記述すると共に、前回(
図20では2回目)の検出数との差分を算出して文書ファイルに記述する。また、端末2は、「7.前回までの検出結果」として、前回以前の各検査時に検出された検出数、及び前回との差分を一覧で記述する。これにより、HACCPのように同じ検体について複数の工程で検査を実施する場合に、各工程での検査結果を好適にまとめてユーザにレポートすることができる。
【0107】
図21は、実施の形態6に係る細菌検出処理の手順を示すフローチャートである。
端末2はまず、検出条件の設定入力を受け付ける(ステップS601)。例えば端末2は、撮像する測定フィルタ上の区画、検体量、検体番号等のほかに、比較対象とする過去の保存ファイル、すなわち前回以前の検出結果の指定入力を受け付ける。端末2は、指定された保存ファイルを読み出す(ステップS602)。端末2は、今回検査する検体画像を取得し(ステップS603)、処理をステップS33に移行する。
【0108】
保存ファイルを出力すると判定した場合(S36:YES)、端末2は、検出結果を記述した文書ファイルを生成し、検体画像の画像ファイル等と共に保存ファイルとして出力する(ステップS604)。ここで端末2は、前回以前の検査時の保存ファイルを参照して、複数の製造工程それぞれにおける検出結果を記述した文書ファイルを生成する。具体的には上述の如く、端末2は、各工程で検出された細菌数の差分を示す文書ファイルを生成する。端末2は一連の処理を終了する。
【0109】
以上より、本実施の形態6によれば、食品等の検体について、その製造工程に応じて検査を行い、各工程での検出結果を好適に提示することができる。
【0110】
(実施の形態7)
本実施の形態では、検体画像を拡大してから検出モデル50を用いて細菌を検出する形態について説明する。
【0111】
図22は、実施の形態7の概要を示す説明図である。
図22では、検体画像を所定倍率に拡大して複数の画像に分割し、分割した各画像から細菌を検出する様子を図示している。
図22に基づき、本実施の形態の概要を説明する。
【0112】
なお、以下では検体画像を所定倍率に拡大した画像を「拡大画像」と呼び、拡大画像を複数に分割した画像を「分割画像」と呼ぶ。
【0113】
実施の形態1で述べたように、端末2は、検出モデル50を用いて検体画像から細菌を検出する。しかしながら、細菌のサイズは数μmと非常に小さいため、撮像に使用するカメラのレンズ倍率が小さい場合、検体画像において観察される細菌(光点)も小さくなる。そのため、学習時の訓練データにおけるアノテーションサイズが大きいと、
図15右上のように近接する複数の光点を1つの細菌として誤検出する恐れがある。一方で、アノテーションサイズを小さくすれば複数の光点を個別に検出できるが、アノテーションサイズを小さくした分だけ検出時に使用する光点周辺の情報量が少なくなるため、夾雑物との識別等に悪影響を与える恐れがある。
【0114】
そこで本実施の形態では、検体画像を所定倍率に拡大し、拡大画像から細菌を検出する。具体的には、端末2は、拡大画像を拡大倍率に応じて複数の分割画像に分割し、各分割画像を検出モデル50に順次入力することで、各分割画像から細菌を検出する。
【0115】
図22では、元の検体画像が2倍に拡大され、検体画像を2×2=4枚の分割画像に分割する様子を図示している。なお、分割画像を4枚に分割するのは学習時の画像サイズと合わせるためである。端末2は、検体画像を2倍に拡大する。この場合に端末2は、画像の継ぎ目をスムーズにするため、画像の補間処理(線形補間等による画素の補間)を行う。端末2は、拡大画像を上下均等に4分割し、分割画像を生成する。端末2は、各分割画像を検出モデル50に入力し、細菌を検出する。
【0116】
なお、本実施の形態では拡大画像を複数の分割画像に分割するが、拡大画像を分割せず、そのまま検出モデル50を用いて拡大画像から細菌を検出するようにしてもよい。
【0117】
また、上記では元の検体画像を単純に拡大して補間を行うものとしたが、例えば端末2は、拡大画像生成用の機械学習モデルを用いて拡大画像を生成するなどしてもよい。このように、拡大画像の生成方法は特に問わない。
【0118】
上述の如く、端末2は各分割画像から細菌を検出する。一方で、隣り合う2枚の分割画像の間の境界付近に細菌が位置する場合、当該細菌を2枚の分割画像それぞれから重複して検出してしまい、ダブルカウントを生じる恐れがある。そこで端末2は、各分割画像から検出した細菌のうち、隣り合う2枚の分割画像で重複して検出された細菌を特定する。
【0119】
具体的には、端末2は、隣り合う2枚の分割画像の間の境界部分から検出され、かつ、2枚の分割画像の双方から検出された細菌を特定する。なお、「境界部分」とは、分割画像の境界(分割画像の端)から境界線に垂直な方向に所定距離内(例えば数ピクセル内)の領域を指す。例えば端末2は、2枚の分割画像において同一の境界部分から検出された細菌であって、境界線と平行な方向における位置が同一の細菌を、重複して検出された細菌として特定する。なお、「境界線と平行な方向における位置が同一」とは、境界線と平行な方向における座標値が完全に一致、又は所定値以内(例えば数ピクセル内)に収まっている状態を指す。
【0120】
例えば上下に2分割された2枚の分割画像を考えた場合、端末2は、上側の分割画像の下端付近(境界部分)で検出された細菌と、下側の分割画像の上端付近(境界部分)で検出された細菌とについて、各細菌の左右方向における位置が同一であるか否かを判定する。同一であると判定した場合、端末2は、上側及び下側の分割画像からそれぞれ検出された細菌を、重複して検出された細菌として特定する。端末2は、各分割画像の間の境界部分それぞれ(
図22では4つの境界)について、重複して検出された細菌を特定する。
【0121】
最終的に端末2は、各分割画像から検出した細菌数を合計することで、元の検体画像における細菌数を集計する。この場合に端末2は、上記で重複するものとして特定した細菌数を減算することで、ダブルカウントを防止する。また、
図22下側に図示するように、端末2は、各分割画像における細菌の検出結果に基づき、元の検体画像にバウンディングボックスを付して表示する。なお、元の検体画像にバウンディングボックスを付与するのではなく、分割画像(又は分割前の拡大画像)にバウンディングボックスを付して表示してもよい。
【0122】
図23は、実施の形態7に係る細菌検出処理の手順を示すフローチャートである。検体画像を取得した後(ステップS32)、端末2は以下の処理を実行する。
端末2は、検体画像を所定倍率に拡大した拡大画像を生成する(ステップS701)。端末2は、拡大画像を倍率に応じて複数の分割画像に分割する(ステップS702)。端末2は、各分割画像を検出モデル50に入力し、各分割画像から細菌を検出する(ステップS703)。
【0123】
端末2は、各分割画像から検出した細菌のうち、隣り合う2枚の分割画像で重複して検出された細菌を特定する(ステップS704)。具体的には上述の如く、端末2は、隣り合う2枚の分割画像の間の境界部分から検出され、かつ、2枚の分割画像の双方から検出された細菌を特定する。
【0124】
端末2は、検体画像から検出された細菌数を集計する(ステップS705)。具体的には、端末2は、ステップS703において各分割画像から検出された細菌数を合計し、ステップS704において重複するものとして特定した細菌数を合計数から差し引く。端末2は処理をステップS35に移行する。
【0125】
以上より、本実施の形態7によれば、検体画像を拡大することで細菌の検出精度を向上させることができる。
【0126】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0127】
1 サーバ(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P1 プログラム
2 端末
21 制御部
22 主記憶部
23 通信部
24 表示部
25 入力部
26 補助記憶部
P2 プログラム
50 検出モデル
3 検出装置
31 制御部
32 撮像部
33 XY軸モータドライバ
34 XY軸モータ
35 LDドライバ
36 LD光源