(57)【特許請求の範囲】
【請求項１】
検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する撮像画像取得ステップと、
前記撮像画像取得ステップにより取得された撮像画像上において、前記微生物のコロニーを検出するコロニー検出ステップと、
表示装置が有する画面内における手動検出結果表示領域に、前記コロニー検出ステップにより検出されたコロニーの位置に手動検出位置マークが表示されるように、前記撮像画像と前記手動検出位置マークとを重ねて表示する表示制御ステップと、
前記手動検出結果表示領域上における前記手動検出位置マークの追加位置の指定を含む追加指示を受け付ける追加指示受付ステップと、
前記手動検出結果表示領域上に表示されている削除対象の前記手動検出位置マークの指定を含む削除指示を受け付ける削除指示受付ステップと、
前記追加指示受付ステップにより前記追加指示が受け付けられたことに応答して、前記追加指示により指定された前記追加位置に前記手動検出位置マークを新たに追加する追加ステップと、
前記削除指示受付ステップにより前記削除指示が受け付けられたことに応答して、前記削除指示により指定された削除対象の前記手動検出位置マークを削除する削除ステップと、を備える、
ことを特徴とするコロニー計数支援方法。
【請求項２】
コンピュータを、
検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する撮像画像取得手段、
前記撮像画像取得手段により取得された撮像画像上において、前記微生物のコロニーを検出するコロニー検出手段、
表示装置が有する画面内における手動検出結果表示領域に、前記コロニー検出手段により検出されたコロニーの位置に手動検出位置マークが表示されるように、前記撮像画像と前記手動検出位置マークとを重ねて表示する表示制御手段、
前記手動検出結果表示領域上における前記手動検出位置マークの追加位置の指定を含む追加指示を受け付ける追加指示受付手段、
前記手動検出結果表示領域上に表示されている削除対象の前記手動検出位置マークの指定を含む削除指示を受け付ける削除指示受付手段、
前記追加指示受付手段により前記追加指示が受け付けられたことに応答して、前記追加指示により指定された前記追加位置に前記手動検出位置マークを新たに追加するように前記表示制御手段を制御し、前記削除指示受付手段により前記削除指示が受け付けられたことに応答して、前記削除指示により指定された削除対象の前記手動検出位置マークを削除するように前記表示制御手段を制御する表示補正手段、として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コロニー計数支援方法、及び、プログラムに関する。
【背景技術】
【０００２】
現在、食品衛生に関する意識がますます高くなっている。このため、国内外の食品について、厳格な食品衛生検査が実施されている。食品衛生検査では、例えば、食品から採取された検体を培地で培養した後に、検体に発生した大腸菌群などの微生物のコロニーの個数をカウントし、発生したコロニーの個数が所定値未満であるか否かを検査する。
【０００３】
コロニーの個数は、作業者が顕微鏡などで検体を観察することにより手動でカウントすることもできる。熟練した作業者であれば、異物をコロニーであると判別したり、コロニーを異物であると判別したりしてしまうことは稀であり、正確にコロニーの個数をカウントすることができる。しかしながら、作業者が、コロニーの個数を始めから手動でカウントすることは、非常に多くの手間と時間を要する。
【０００４】
そこで、現在、コロニーの個数を自動で速やかにカウントすることができるコロニー計数装置が開発されている。例えば、特許文献１には、コロニーが発生した培地を撮像して得られた画像データに基づいてコロニーに対応する連結領域を求め、連結領域に外接する長方形の長辺と短辺との比率などを考慮してコロニーの個数をカウントするコロニー計数装置などが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２７９１３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、コロニー計数装置が自動でコロニーの個数をカウントする場合、コロニーの個数を正確にカウントできないことがある。例えば、コロニー計数装置が自動でコロニーの個数をカウントする場合、異物をコロニーであると判別してカウント数が多くなったり、コロニーを異物であると判別してカウント数が少なくなったりしたりしてしまうことがある。このような問題は、コロニー計数装置が利用するパラメータの設定だけで完全に解決することができない。
【０００７】
また、このようなコロニー計数装置は、コロニーの個数をカウントするために必要な処理を全て自動で実行する装置である。つまり、このようなコロニー計数装置は、作業者の介入を許容する装置ではなく、一部の処理における判断を作業者に委ねるということを許容しない構成である。このため、自動で速やかにコロニーの候補の位置や個数などを作業者に提示することにより、作業者が正確かつ速やかにコロニーの個数を求めることを支援する技術が望まれている。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、作業者が正確かつ速やかにコロニーの個数を求めることを支援することが可能なコロニー計数支援方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明の第１の観点に係るコロニー計数支援方法は、
検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する撮像画像取得ステップと、
前記撮像画像取得ステップにより取得された撮像画像上において、前記微生物のコロニーを検出するコロニー検出ステップと、
表示装置が有する画面内における手動検出結果表示領域に、前記コロニー検出ステップにより検出されたコロニーの位置に手動検出位置マークが表示されるように、前記撮像画像と前記手動検出位置マークとを重ねて表示する表示制御ステップと、
前記手動検出結果表示領域上における前記手動検出位置マークの追加位置の指定を含む追加指示を受け付ける追加指示受付ステップと、
前記手動検出結果表示領域上に表示されている削除対象の前記手動検出位置マークの指定を含む削除指示を受け付ける削除指示受付ステップと、
前記追加指示受付ステップにより前記追加指示が受け付けられたことに応答して、前記追加指示により指定された前記追加位置に前記手動検出位置マークを新たに追加する追加ステップと、
前記削除指示受付ステップにより前記削除指示が受け付けられたことに応答して、前記削除指示により指定された削除対象の前記手動検出位置マークを削除する削除ステップと、を備える、
ことを特徴とする。
【００２１】
上記目的を達成するために、本発明の第２の観点に係るプログラムは、
コンピュータを、
検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する撮像画像取得手段、
前記撮像画像取得手段により取得された撮像画像上において、前記微生物のコロニーを検出するコロニー検出手段、
表示装置が有する画面内における手動検出結果表示領域に、前記コロニー検出手段により検出されたコロニーの位置に手動検出位置マークが表示されるように、前記撮像画像と前記手動検出位置マークとを重ねて表示する表示制御手段、
前記手動検出結果表示領域上における前記手動検出位置マークの追加位置の指定を含む追加指示を受け付ける追加指示受付手段、
前記手動検出結果表示領域上に表示されている削除対象の前記手動検出位置マークの指定を含む削除指示を受け付ける削除指示受付手段、
前記追加指示受付手段により前記追加指示が受け付けられたことに応答して、前記追加指示により指定された前記追加位置に前記手動検出位置マークを新たに追加するように前記表示制御手段を制御し、前記削除指示受付手段により前記削除指示が受け付けられたことに応答して、前記削除指示により指定された削除対象の前記手動検出位置マークを削除するように前記表示制御手段を制御する表示補正手段、として機能させる、
ことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、作業者が正確かつ速やかにコロニーの個数を求めることを支援することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係るコロニー計数支援装置のハードウェア構成を示すブロック図である。
【図２】微生物のコロニーが発生した培地の様子を示す図である。
【図３】本発明の実施形態に係るコロニー計数支援装置が提示する画面を示す図である。
【図４】二値化された撮像画像を示す図である。
【図５】ラベリング処理を説明するための図である。
【図６】連結成分に外接する矩形を示す図である。
【図７】本発明の実施形態に係るコロニー計数支援装置の機能ブロックを示す図である。
【図８】本発明の実施形態に係るコロニー計数支援装置が実行するコロニー計数支援処理を示すフローチャートである。
【図９】図８に示す自動検出処理を示すフローチャートである。
【図１０】図８に示す自動検出結果表示領域更新処理を示すフローチャートである。
【図１１】図８に示す手動検出結果表示領域更新処理を示すフローチャートである。
【図１２】除外領域が設定されている様子を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して、本発明の実施形態に係るコロニー計数支援装置について説明する。
【００２５】
（実施形態）
まず、図１を参照して、本実施形態に係るコロニー計数支援装置１００のハードウェア構成について説明する。なお、本発明が適用されるコロニー計数支援装置は、図１に示すコロニー計数支援装置１００に限られない。例えば、コロニー計数支援装置１００に種々の装置が組み込まれたコロニー計数支援装置に本発明が適用されてもよいし、コロニー計数支援装置１００から適宜、種々の装置が除外されたコロニー計数支援装置に本発明が適用されてもよい。
【００２６】
まず、図１を参照して、コロニー計数支援装置１００の物理的な構成について説明する。図１に示すようにコロニー計数支援装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、記憶装置１０４、入力装置１０５、通信装置１０６、撮像制御部１０７、画像記憶部１０９、表示制御部１１０、音声処理部１１２、を備える。コロニー計数支援装置１００が備えるこれらの構成要素は、バス１２０により相互に接続される。なお、撮像制御部１０７には、撮像装置１０８が接続される。また、表示制御部１１０には、表示装置１１１が接続される。そして、音声処理部１１２には、音声出力装置１１３が接続される。
【００２７】
ＣＰＵ１０１は、コロニー計数支援装置１００の全体の動作を制御する。なお、ＣＰＵ１０１は、ＲＯＭ１０２に格納されているプログラムに従って動作し、ＲＡＭ１０３をワークエリアとして使用する。
【００２８】
ＲＯＭ１０２には、コロニー計数支援装置１００の全体の動作を制御するためのプログラムやデータが記憶される。
【００２９】
ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして機能する。つまり、ＣＰＵ１０１は、ＲＡＭ１０３にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
【００３０】
従って、ＣＰＵ１０１とＲＯＭ１０２とＲＡＭ１０３とは、制御部を構成する。制御部は、バス１２０に接続された各部を制御して、コロニー計数支援処理などを実行する。
【００３１】
記憶装置１０４は、撮像画像やパラメータなどを記憶する。記憶装置１０４は、内蔵型の記憶装置であってもよいし、リムーバル型の記憶装置であってもよい。記憶装置１０４は、例えば、ハードディスク装置、メモリカードを備えるメモリカードスロット、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）を備えるＣＤ−ＲＯＭドライブなどにより構成される。
【００３２】
入力装置１０５は、コロニーの個数をカウントする作業者などの操作入力を受け付ける装置である。入力装置１０５は、例えば、マウス、キーボード、タッチスクリーン、コントローラ、ボタンなどにより構成される。
【００３３】
通信装置１０６は、ＣＰＵ１０１による制御のもと、無線通信もしくは有線通信により、コロニー計数支援装置１００の外部の装置などと通信を確立し、データを受信したり送信したりする。例えば、通信装置１０６は、インターネットなどの電気通信網を介してコロニー計数支援装置１００に接続されたデータベースサーバから、撮像装置１０８などにより撮像された撮像画像を受信する。通信装置１０６は、ＮＩＣ（Network Interface Card）、ＵＳＢ（Universal Serial Bus）ポートなどにより構成される。
【００３４】
撮像制御部１０７は、ＣＰＵ１０１による制御のもと、撮像制御部１０７に接続された撮像装置１０８を制御する。撮像制御部１０７は、例えば、撮像開始指示、撮像終了指示などを示す制御信号を撮像装置１０８に送信することにより、撮像装置１０８の動作を制御する。また、撮像制御部１０７は、例えば、解像度、露光時間、明るさなどの撮像設定を撮像装置に送信することにより、撮像条件を撮像装置１０８に設定する。そして、撮像制御部１０７は、撮像装置１０８により取得された撮像画像を、撮像装置１０８から受信する。
【００３５】
撮像装置１０８は、被写体を撮像し、この被写体を示す撮像画像を生成する。撮像装置１０８は、撮像制御部１０７から供給される制御信号に従って、被写体を撮像する。撮像装置１０８は、生成した撮像画像を撮像制御部１０７に送信する。撮像画像は、例えば、各画素が、Ｒ（Red）の輝度値とＧ（Green）の輝度値とＢ（Blue）の輝度値とにより表されるカラー画像であってもよいし、各画素が１つの輝度値により表されるモノクロ画像であってもよい。撮像画像は、例えば、ディジタルデータにより表される。また、撮像画像のアスペクト比や解像度は、適宜調整が可能である。撮像装置１０８は、ディジタルカメラ、ディジタルビデオカメラ、フラットベッドスキャナ、専用リーダなどにより構成される。
【００３６】
なお、本実施形態では、撮像装置１０８による撮像の被写体は、検体に含まれる微生物の培養後の培地２００である。ここで、検体は、検査対象の食品などから採取される。また、微生物は、例えば、大腸菌などの菌類である。なお、微生物の培養により、培地には、微生物のコロニー２１０が発生する。コロニー２１０は、基本的には丸い形状（円状）であるが、撮像画像内において多少変形して確認されることもある。従って、本実施形態では、丸い形状のもののほか、楕円形状のものやその他の形状のものも示している。
【００３７】
図２に示すように、培地２００は、例えば、基材シート２２０とカバーシート２３０との間に挟まれたシート状の培養層である。本実施形態では、図２に示すように、培地２００全体と基材シート２２０の一部とを含む領域２４０を撮像対象の領域としている。なお、カバーシート２３０は透明であるため撮像されない。ただし、撮像対象の領域は、この例に限られない。例えば、撮像対象の領域は、培地２００の一部のみを含む領域であってもよいし、培地２００の一部と基材シート２２０の一部とを含む領域であってもよい。これらの場合でも、培地２００の面積に対するコロニー２１０の個数の割合、つまりコロニー２１０の密度を求めることにより、培地２００全体に存在するコロニー２１０の総数を求めることができる。
【００３８】
ここで、培地２００の色とコロニー２１０の色とは異なるため、撮像画像上において培地２００を表す領域とコロニー２１０を表す領域とを区別することができる。本実施形態では、コロニー２１０の色が暗めの青緑色に近い色であり、培地２００の色が明るめの肌色に近い色であり、基材シート２２０の色は明るい白色に近い色であるものとする。撮像画像がモノクロ画像（グレースケール化された画像）である場合、例えば、培地２００を表す画素の輝度値よりも低い第１の閾値よりも低い輝度値の画素がコロニー２１０を表す画素であり、培地２００を表す画素の輝度値よりも高い第２の閾値よりも高い輝度値の画素が基材シート２２０を表す画素であり、第１の閾値よりも高く第２の閾値よりも低い輝度値の画素が培地２００の色である。以下、「第１の閾値」を、適宜、単に「閾値」という。撮像画像上において、コロニー２１０を表す画素や培地２００を表す画素を検出する方法の詳細については、後述する。
【００３９】
なお、本実施形態では、フィルムないしシート状の乾燥培地である培地２００を採用する例について説明するが、シャーレに充填された寒天培地を採用してもよい。フィルムないしシート状の乾燥培地である培地２００を採用する場合、撮像装置１０８として、スキャナなどを採用することが好適である。一方、シャーレに充填された寒天培地を採用する場合、撮像装置１０８として、ディジタルカメラなどを採用することが好適である。
【００４０】
画像記憶部１０９は、コロニー２１０の検出対象の培地２００を撮像して得られた撮像画像を記憶する。画像記憶部１０９は、例えば、撮像装置１０８から取得された撮像画像、記憶装置１０４に記憶されている撮像画像、もしくは、通信装置１０６により外部の装置から取得された撮像画像などを記憶する。画像記憶部１０９は、例えば、フラッシュメモリなどにより構成される。
【００４１】
表示制御部１１０は、ＣＰＵ１０１による制御のもと、表示装置１１１を制御する。例えば、表示制御部１１０は、表示装置１１１に表示させる画像を表す画像信号を生成し、生成した画像信号を表示装置１１１に供給する。
【００４２】
表示装置１１１は、表示制御部１１０から供給された画像信号に基づく画像を表示する。表示装置１１１は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）などの表示装置により構成される。表示装置１１１は、タッチスクリーンであってもよい。この場合、タッチスクリーンは、表示装置として機能するほか、入力装置１０５としても機能する。
【００４３】
音声処理部１１２は、ＣＰＵ１０１から供給されたディジタルオーディオ信号をＤ／Ａ（Digital/Analog）コンバータ（図示せず）でアナログオーディオ信号に変換して、音声出力部１１３に供給する。音声処理部１１２は、ＣＰＵ１０１から供給されたディジタルオーディオ信号に各種処理を加えるＤＳＰ（Digital Signal Processor）を含んでもよい。
【００４４】
音声出力装置１１３は、音声処理部１１２から供給されたアナログオーディオ信号を音声に変換して、出力する。音声出力装置１１３は、例えば、スピーカにより構成される。音声出力装置１１３は、ディジタルオーディオ信号またはアナログオーディオ信号を増幅する増幅装置を含んでもよい。
【００４５】
次に、図３を参照して、コロニー計数支援装置１００が作業者に提示する画面３００について説明する。
【００４６】
画面３００は、自動検出結果表示領域３１０と、手動検出結果表示領域３２０と、を有する。また、画面３００には、ポインタ３３１、下限長スライダ３３２、上限長スライダ３３３、閾値スライダ３３４、反映指示ボタン３３５、クリア指示ボタン３３６、除外指示アイコン３３７が表示される。
【００４７】
自動検出結果表示領域３１０は、コロニー計数支援装置１００により自動で検出されたコロニー２１０の位置や数を示す画像が、撮像画像に重ねて表示される領域である。自動検出結果表示領域３１０の全体には、撮像画像が背景画像として表示される。
【００４８】
なお、図３においては、撮像画像の一部が拡大された画像が、背景画像として、自動検出結果表示領域３１０の全体と手動検出結果表示領域３２０の全体とに表示された例を示す。このように、作業者は、撮像画像を、自由に、拡大・縮小、スクロールすることができる。なお、自動検出結果表示領域３１０と手動検出結果表示領域３２０とで連動して、撮像画像が表示されることが望ましい。スクロール指示や拡大・縮小指示は、例えば、マウスやキーボードなどを含む入力装置１０５の操作により実現される。
【００４９】
そして、自動検出結果表示領域３１０に表示された撮像画像上の、コロニー２１０の検出位置のそれぞれには、自動検出位置マーク３４１が重ねて表示される。自動検出位置マーク３４１は、例えば、撮像画像上に表示されたコロニー２１０に外接する矩形の枠状の画像である。このように、自動検出位置マーク３４１は、検出されたコロニー２１０の撮像画像上における位置や形状をわかりやすく作業者に提示する。
【００５０】
また、自動検出結果表示領域３１０には、自動検出位置マーク３４１の個数を示す個数画像３４２が表示される。なお、個数画像３４２が表示される位置は、画面３００のどこでもよい。
【００５１】
そして、自動検出結果表示領域３１０には、検出されるコロニー２１０に外接する矩形の短辺の下限長を、撮像画像上のスケールで示す下限長提示画像３４３が表示される。下限長提示画像３４３は、自動検出結果表示領域３１０に表示された撮像画像の拡大率と下限長とに基づく適切な長さで描画される。なお、この下限長は、例えば、下限長スライダ３３２に対する操作により設定される。
【００５２】
さらに、自動検出結果表示領域３１０には、検出されるコロニー２１０に外接する矩形の長辺の上限長を、撮像画像上のスケールで示す上限長提示画像３４４が表示される。上限長提示画像３４４は、自動検出結果表示領域３１０に表示された撮像画像の拡大率と上限長とに基づく適切な長さで描画される。なお、この上限長は、例えば、上限長スライダ３３３に対する操作により設定される。
【００５３】
手動検出結果表示領域３２０は、コロニー計数支援装置１００により自動で検出されたコロニー２１０の位置や数に基づいて作業者が編集したコロニー２１０の位置や数を示す画像が、撮像画像に重ねて表示される領域である。手動検出結果表示領域３２０の全体には、撮像画像（撮像画像の一部が拡大された画像）が背景画像として表示される。
【００５４】
そして、手動検出結果表示領域３２０に表示された撮像画像上の、コロニー２１０の検出位置のそれぞれには、手動検出位置マーク３５１が重ねて表示される。手動検出位置マーク３５１は、例えば、撮像画像上に表示されたコロニー２１０の重心を交点とする十字型の枠状の画像である。このように、手動検出位置マーク３５１は、検出されたコロニー２１０もしくは作業者により追加されたコロニー２１０の撮像画像上における位置をわかりやすく作業者に提示する。
【００５５】
また、手動検出結果表示領域３２０には、手動検出位置マーク３５１の個数を示す個数画像３５２が表示される。なお、個数画像３５２が表示される位置は、画面３００のどこでもよい。
【００５６】
ポインタ３３１は、画面３００に表示されているボタンなどの操作対象の画面３００内における位置を明示する。ポインタ３３１は、例えば、入力装置１０５が備えるマウスの操作により、画面３００内で移動する。なお、画面３００内における位置は、例えば、画面３００内における座標により示される。また、撮像画像上の位置は、撮像画像上の座標により示される。つまり、ＣＰＵ１０１は、撮像画像の拡大率（縮小率）やスクロール量により、画面３００内における座標と、撮像画像内における座標と、を相互に変換することができる。
【００５７】
また、ポインタ３３１は、手動検出位置マーク３５１の追加位置や削除位置を示す。例えば、マウスのクリック操作が手動検出位置マーク３５１の追加指示を示す場合、マウスがクリックされたときにポインタ３３１が表示されている位置に手動検出位置マーク３５１が追加される。同様に、例えば、Ｃｔｒｌキーを押しながらのマウスのクリック操作が手動検出位置マーク３５１の削除指示を示す場合、Ｃｔｒｌキーが押されながらマウスがクリックされたときにポインタ３３１が表示されている位置に表示されている手動検出位置マーク３５１が削除される。
【００５８】
下限長スライダ３３２は、検出されるコロニー２１０に外接する矩形の短辺の下限長の指定を作業者から受け付けるとともに、この下限長を作業者に明示する。下限長スライダ３３２は、例えば、マウスのドラッグ操作により画面３００内で移動する。下限長スライダ３３２の画面３００内での位置は、この下限長を示す。なお、作業者は、下限長提示画像３４３の長さを参照することにより、撮像画像上における下限長の現在値を知ることができる。下限長の設定範囲は、適宜、調整することが可能である。例えば、下限長の設定範囲を、０ミリメートルから数ミリ程度にすることができる。
【００５９】
上限長スライダ３３３は、検出されるコロニー２１０に外接する矩形の長辺の上限長の指定を作業者から受け付けるとともに、この上限長を作業者に明示する。上限長スライダ３３３は、例えば、マウスのドラッグ操作により画面３００内で移動する。上限長スライダ３３３の画面３００内での位置は、この上限長を示す。なお、作業者は、上限長提示画像３４４の長さを参照することにより、撮像画像上における上限長の現在値を知ることができる。上限長の設定範囲は、適宜、調整することが可能である。例えば、上限長の設定範囲を、０ミリメートルから数ミリ程度にすることができる。また、上限長の設定範囲は、下限長の設定範囲と連動して設定されてもよい。例えば、上限長の設定範囲は、下限長の現在値以上の範囲に制限されてもよい。
【００６０】
閾値スライダ３３４は、検出されるコロニー２１０を表す画素の輝度値の閾値の指定を作業者から受け付けるとともに、この閾値を作業者に明示する。閾値スライダ３３４は、例えば、マウスのドラッグ操作により画面３００内で移動する。閾値スライダ３３４の画面３００内での位置は、この閾値を示す。
【００６１】
反映指示ボタン３３５は、手動検出結果表示領域３２０に表示されている内容を、自動検出結果表示領域３１０の表示に反映する旨の指示を作業者から受け付ける。なお、自動検出結果表示領域３１０に表示されている内容は、コロニー計数支援装置１００により自動で検出されたコロニー２１０の位置や数などである。例えば、反映指示ボタン３３５がマウスによりクリック操作されると、撮像画像に対する相対的な位置が、自動検出位置マーク３４１と同じである、手動検出結果表示領域３２０内の位置に、手動検出位置マーク３５１が追加表示される。つまり、自動検出位置マーク３４１の、自動検出結果表示領域３１０に表示されている撮像画像に対する相対的な位置と、新たに追加される手動検出位置マーク３５１の、手動検出結果表示領域３２０に表示されている撮像画像に対する相対的な位置と、は同じである。
【００６２】
クリア指示ボタン３３６は、手動検出結果表示領域３２０に表示されている内容をクリアする旨の指示を作業者から受け付ける。つまり、クリア指示ボタン３３６がマウスによりクリック操作された直後は、手動検出結果表示領域３２０から全ての手動検出位置マーク３５１が削除されるとともに、個数画像３５２が示す個数は０になる。クリア指示ボタン３３６は、例えば、消しゴムを表す画像により表現することができる。
【００６３】
除外指示アイコン３３７は、現在のモードが通常モードと除外領域指定モードとのうちのいずれのモードであるのかを示す。例えば、除外指示アイコン３３７は、通常モードのときは普通に表示され、除外領域指定モードのときは凹んで表示される。なお、除外指示アイコン３３７がクリック操作される度に、通常モードと除外領域指定モードとの間でモードが切り替わる。そして、例えば、通常モードのときは、マウスのドラッグ操作によっては何も実行されず、除外領域指定モードのときは、マウスのドラッグ操作によって除外領域が指定される。
【００６４】
画面３００に表示される内容を示すデータは、例えば、ＲＡＭ１０３、記憶装置１０４などに記憶される。このようなデータは、例えば、撮像画像を構成する各画素の輝度値、自動検出位置マーク３４１の個数や各々の位置や大きさ、手動検出位置マーク３５１の個数や各々の位置、下限長、上限長、閾値、最短短辺長、最長長辺長、ポインタ３３１の位置、除外指示アイコン３３７の状態などである。
【００６５】
次に、図４〜図６を参照して、本実施形態に係るコロニー計数支援装置１００が実行するラベリング処理について説明する。なお、以下に説明するラベリング処理の他、種々のラベリング処理を、本発明に採用することができる。なお、理解を容易にするため、撮像画像は、縦方向の１６行×横方向の１６行＝２５６画素により構成されるものとして説明する。
【００６６】
まず、ＣＰＵ１０１は、撮像画像を二値化する。例えば、撮像画像がモノクロ画像である場合、ＣＰＵ１０１は、撮像画像を構成する各画素の輝度値が閾値以上であるか否かを判別し、判別結果に従って各画素を二値化する。二値化処理により、例えば、撮像画像を構成する各画素が０〜２５５までの２５６階調で表現されている場合でも、二値化後の撮像画像を構成する各画素が０もしくは１の２階調で表現される。ここで、コロニー２１０のように暗い部分を示す画素の輝度値は０（黒）になり、培地２００のように明るい部分を示す画素の輝度値は１（白）にされる。
【００６７】
なお、閾値は、例えば、コロニー２１０を示す画素の輝度値よりも十分に高く、培地２００を示す画素の輝度値よりも十分に低い輝度値に設定される。本実施形態では、閾値は、閾値スライダ３３４によって設定されるが、あらかじめ定められていてもよい。閾値は、撮像環境、コロニー２１０を構成する微生物の種類、培地の素材などにより、適宜調整される。
【００６８】
一方、撮像画像がカラー画像である場合、ＣＰＵ１０１は、撮像画像をグレースケール画像に変換した後、グレースケール画像を構成する各画素の輝度値が閾値以上であるか否かを判別し、判別結果に従って各画素を二値化する。例えば、ＮＴＳＣ（National Television System Committee）係数による加重平均法を採用して、撮像画像をグレースケール画像に変換することができる。例えば、撮像画像における各色の輝度値をＲ、Ｇ、Ｂとし、グレースケール画像における輝度値をＹとすると、Ｙ＝（０．２９８９１２＊Ｒ＋０．５８６６１１＊Ｇ＋０．１１４４７８）である。
【００６９】
図４に、二値化された撮像画像を示す。図４において、ハッチングで示している画素は、輝度値が０（黒）の画素であり、白抜きで示している画素は、輝度値が１（白）の画素である。ここで、輝度値が０（黒）の画素は、コロニー２１０を示す画素である。従って、輝度値が０（黒）の画素は、撮像画像上において数個のまとまりを構成する。このまとまりのそれぞれは、１つのコロニー２１０を示し、以下適宜、連結成分という。図４に示す例では、Ｃ０１、Ｃ０２、Ｃｏ３で示される３つの連結成分（３つのコロニー２１０）が検出された例を示す。
【００７０】
ここで、各連結成分は、ラベル付けして管理することが望まれる。つまり、このラベルにより、連結成分を特定できることが望ましい。以下、図５を参照して、ラベリング処理について説明する。本実施形態では、縦、横、斜め方向に連続している部分を同じラベルにする８連結を採用する例について説明するが、縦、横方向に連続している部分を同じラベルにする４連結を採用することもできる。
【００７１】
まず、ＣＰＵ１０１は、ラベリングのために、各々がいずれかの画素に対応する画素数分のラベル番号を格納するための変数をＲＡＭ１０３などに用意する。そして、ＣＰＵ１０１は、全てのラベル番号を０に初期化する。ここで、ある画素のラベル番号が０であることは、このある画素がラベル付けされていないことを示し、ある画素のラベル番号が０以外の整数ｎであることは、このある画素が整数ｎにラベル付けされていることを示す。また、本実施形態では、画素の輝度値が０（黒）の場合、この画素がラベル付けされ、画素の輝度値が１（白）の場合、この画素がラベル付けされないものとする。
【００７２】
ＣＰＵ１０１は、注目画素のラベル番号の更新処理を、注目画素を走査しながら実行することにより、全ての画素のラベル番号の更新処理を実行する。なお、注目画素は、最初は、図５における左上の画素（１行目１列目の画素）であり、右方向（列方向、横軸方向）に向かって１つずつシフトし、右端に至ると１つ下の行の左端の画素にシフトし、以下同様に図５における右下の画素（１６行目１６列目の画素）までシフトする。
【００７３】
ここで、ラベル番号の更新処理について説明する。まず、注目画素の輝度値が１（白）である場合、注目画素のラベル番号は更新されない。一方、注目画素の輝度値が０（黒）である場合、注目画素のラベル番号が更新される。注目画素のラベル番号が何に更新されるかは、注目画素を基準として、左上の画素、上の画素、右上の画素、左の画素の４つの画素のラベル番号が何であるかに依存する。例えば、図５におけるＰ３４で示される３行目４列目の画素（以下「Ｐ３４」とする。）が注目画素である場合、Ｐ２３、Ｐ２４、Ｐ２５、Ｐ３３のラベル番号に応じて、Ｐ３４のラベル番号が付される。
【００７４】
具体的には、４つの画素のラベル番号が全て０である場合、注目画素に新たなラベル番号が割り振られる。つまり、過去に付されたラベル番号のうち最も大きいラベル番号よりも１大きいラベル番号が注目画素のラベル番号に設定される。一方、４つの画素のラベル番号のいずれかが０でない場合、４つのラベル番号のうちで最も小さいラベル番号（ただし、０以外のラベル番号）が注目画素のラベル番号に設定される。また、４つのラベル番号のうちに、この最も小さいラベル番号以外のラベル番号（ただし、０以外のラベル番号）がある場合、この最も小さいラベル番号以外のラベル番号が付されている全ての画素のラベル番号を、この最も小さいラベル番号に書き換える。
【００７５】
以上説明したラベル番号の更新処理を全ての画素に対して実行すると、ラベリング処理が完了する。図５は、ラベリング処理により、Ｃ０１、Ｃ０２、Ｃ０３の３つの連結成分が検出された例を示している。なお、他のラベル番号により書き換えられたラベル番号は使用されないので、使用されるラベル番号が連番になるようにラベル番号の振り直しをすることが望ましい。
【００７６】
図５に示すように、連結成分は不定形である。しかしながら、連結成分を矩形で近似すると、連結成分の大きさなどを判別する処理などが容易になる。このため、本実施形態では、図６に示すように、連結成分をこの連結成分に外接する矩形で近似する。図６では、Ｃ０１で示された連結成分をＣ１１で近似し、Ｃ０２で示された連結成分をＣ１２で近似し、Ｃ０３で示された連結成分をＣ１３で近似する例を示している。なお、矩形は、撮像画像における縦軸方向（行方向）に平行な２本の線分と、撮像画像における横軸方向（列方向）に平行な２本の線分と、により囲まれる。
【００７７】
なお、コロニー２１０が単独で存在する場合、このコロニー２１０に対応する連結成分は、円形であることが予想される。従って、この連結成分は、正方形で近似されて表示されることになる。一方、複数個のコロニー２１０が重なって存在する場合、これらのコロニー２１０に対応する連結成分は、不定形の１つの連結成分として検出されることが予想される。従って、この連結成分は、長方形で近似されて表示されることになる。このため、作業者は、短辺と長辺との割合が大きく異なる長方形により連結成分が表示されている場合、撮像画像内におけるこの部分を注意深く観察することにより、コロニー２１０が正しくカウントされているか否かを判別することができる。作業者は、コロニー２１０が正しくカウントされていないと判別した場合、入力装置１０５を操作して、手動検出位置マーク３５１を追加することができる。
【００７８】
次に、図７を参照して、本実施形態に係るコロニー計数支援装置１００の機能的な構成について説明する。図７に示すように、コロニー計数支援装置１００は、撮像画像取得部１１、コロニー検出部１２、反映指示受付部１３、表示制御部１４、追加指示受付部１５、削除指示受付部１６、表示補正部１７、閾値受付部１８、下限長受付部１９、上限長受付部２０、培地面積検出部２１、平均コロニー数算出部２２、除外指示受付部２３を備える。
【００７９】
撮像画像取得部１１は、検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する。撮像画像は、カラー画像でもよいし、モノクロ画像でもよい。また、撮像画像は、静止画像でもよいし、動画像でもよい。撮像画像取得部１１は、例えば、ＣＰＵ１０１を含む。
【００８０】
コロニー検出部１２は、撮像画像取得部１１により取得された撮像画像上において、微生物のコロニー２１０を検出する。例えば、コロニー検出部１２は、撮像画像に対してラベリング処理を実行することで、コロニー２１０を表す連結成分を検出する。コロニー検出部１２は、例えば、ＣＰＵ１０１を含む。
【００８１】
反映指示受付部１３は、手動検出位置マーク３５１の反映指示を受け付ける。この反映指示は、自動検出結果表示領域３１０に表示されている自動検出による検出結果を、手動検出結果表示領域３２０の表示に反映させる指示である。反映指示受付部１３は、例えば、入力装置１０５や通信装置１０６を含む。
【００８２】
表示制御部１４は、表示装置１１１が有する画面内における手動検出結果表示領域３２０に、撮像画像と手動検出位置マーク３５１とを重ねて表示する。ここで、手動検出位置マーク３５１は、撮像画像上における、コロニー検出部１２により検出されたコロニー２１０の位置に重ねて表示される。典型的には、表示制御部１４は、反映指示受付部１３により反映指示が受け付けられたことに応答して、コロニー検出部１２により検出されたコロニーに対応する手動検出位置マーク３５１を手動検出結果表示領域３２０に表示された撮像画像に重ねて表示する処理を実行する。
【００８３】
なお、反映指示受付部１３により反映指示が受け付けられた際に既に手動検出位置マーク３５１が表示されている場合、表示制御部１４は、既に表示されている手動検出位置マーク３５１に加え、新たに検出されたコロニー２１０に対応する手動検出位置マーク３５１をさらに表示してもよい。なお、表示制御部１４は、新たに追加する手動検出位置マーク３５１が、既に表示されている手動検出位置マーク３５１に重なることになる場合、新たに追加する手動検出位置マーク３５１の表示を省略することができる。なお、新たに追加する手動検出位置マーク３５１が、既に表示されている手動検出位置マーク３５１に重なることは、新たに検出されたコロニー２１０の位置が、既に検出されたコロニー２１０の位置と同じであることを意味する。表示制御部１４は、例えば、ＣＰＵ１０１や表示制御部１１０を含む。
【００８４】
追加指示受付部１５は、手動検出結果表示領域３２０上における手動検出位置マーク３５１の追加位置の指定を含む追加指示を受け付ける。追加位置は、例えば、画面３００内における座標により示される。なお、ＣＰＵ１０１は、手動検出結果表示領域３２０に表示される撮像画像や自動検出結果表示領域３１０に表示される撮像画像の画面３００内における位置関係を把握しているため、マウスのクリックなどにより指定された画面３００内における座標から、撮像画像上の座標を把握することができる。追加指示受付部１５は、例えば、入力装置１０５や通信装置１０６を含む。
【００８５】
削除指示受付部１６は、手動検出結果表示領域３２０上に表示されている削除対象の手動検出位置マーク３５１の指定を含む削除指示を受け付ける。削除対象の手動検出位置マーク３５１の指定は、例えば、画面３００内における座標により示される。例えば、マウスがクリックされた画面３００内における座標に表示されている手動検出位置マーク３５１が削除対象に指定される。削除指示受付部１６は、例えば、入力装置１０５や通信装置１０６を含む。
【００８６】
表示補正部１７は、追加指示受付部１５により追加指示が受け付けられたことに応答して、追加指示により指定された追加位置に手動検出位置マーク３５１を新たに追加するように表示制御部１４を制御する。また、表示補正部１７は、削除指示受付部１６により削除指示が受け付けられたことに応答して、削除指示により指定された削除対象の手動検出位置マーク３５１を削除するように表示制御部１４を制御する。表示補正部１７は、例えば、ＣＰＵ１０１を含む。
【００８７】
なお、表示制御部１４は、画面３００に、手動検出結果表示領域３２０に表示されている手動検出位置マーク３５１の個数をさらに表示してもよい。
【００８８】
また、表示制御部１４は、画面３００内における自動検出結果表示領域３１０に、コロニー検出部１２により検出されたコロニー２１０の位置に自動検出位置マーク３４１が表示されるように、撮像画像と自動検出位置マーク３４１とを重ねて表示する。
【００８９】
なお、表示制御部１４は、画面３００に、自動検出結果表示領域３１０に表示されている自動検出位置マーク３４１の個数をさらに表示してもよい。
【００９０】
自動検出位置マーク３４１は、例えば、コロニー検出部１２により検出されたコロニー２１０を、撮像画像の縦方向に平行な線分と撮像画像の横方向に平行な線分とにより構成される矩形の枠で囲む画像である。
【００９１】
閾値受付部１８は、輝度値の閾値を受け付ける。閾値受付部１８は、例えば、入力装置１０５や通信装置１０６を含む。
ここで、表示制御部１４は、画面３００に、閾値受付部１８により受け付けられた閾値とこの閾値の設定可能範囲とを示す閾値スライダ３３４、をさらに表示してもよい。
また、コロニー検出部１２は、この閾値と撮像画像を構成する各画素の輝度値とを比較して撮像画像を二値化することにより、コロニー２１０を検出することができる。
【００９２】
下限長受付部１９は、コロニー２１０の下限長を受け付ける。下限長受付部１９は、例えば、入力装置１０５や通信装置１０６を含む。
上限長受付部２０は、コロニー２１０の上限長を受け付ける。上限長受付部２０は、例えば、入力装置１０５や通信装置１０６を含む。
【００９３】
ここで、表示制御部１４は、画面３００に、下限長受付部１９により受け付けられた下限長とこの下限長の設定可能範囲とを示す下限長スライダ３３２と、上限長受付部２０により受け付けられた上限長とこの上限長の設定可能範囲とを示す上限長スライダ３３３と、をさらに表示してもよい。
また、コロニー検出部１２は、撮像画像上において、撮像画像の縦方向に平行な線分と撮像画像の横方向に平行な線分とにより構成されコロニー２１０に外接する矩形の短辺の長さがこの下限長よりも長く、かつ、この矩形の長辺の長さがこの上限長よりも短いコロニー２１０を検出することができる。
【００９４】
また、表示制御部１４は、画面３００に、これらの矩形の短辺の下限長を撮像画像上における長さで示す下限長提示画像３４３と、これらの矩形の長辺の上限長を撮像画像上における長さで示す上限長提示画像３４４と、をさらに表示してもよい。
【００９５】
培地面積検出部２１は、撮像画像上における培地の面積を検出する。培地面積検出部２１は、例えば、ＣＰＵ１０１を含む。
【００９６】
平均コロニー数算出部２２は、培地面積検出部２１により検出された面積に対する、手動検出結果表示領域３２０に表示されている手動検出位置マーク３５１の個数の割合を示す平均コロニー数を算出する。平均コロニー数算出部２２は、例えば、ＣＰＵ１０１を含む。
【００９７】
除外指示受付部２３は、コロニー２１０の検出の対象から除外する除外領域の指定を含む除外指示を受け付ける。除外指示受付部２３は、例えば、入力装置１０５や通信装置１０６を含む。
【００９８】
ここで、コロニー検出部１２は、撮像画像上における、除外指示受付部２３により受け付けられた除外指示に含まれる除外領域以外の領域から、コロニー２１０を検出してもよい。
この場合、培地面積検出部２１は、撮像画像上における、除外指示受付部２３により受け付けられた除外指示に含まれる除外領域に含まれない培地の面積を検出してもよい。
【００９９】
次に、本実施形態に係るコロニー計数支援装置１００が実行するコロニー係数支援処理について説明する。図８は、コロニー計数支援装置１００が実行するコロニー係数支援処理を示すフローチャートである。コロニー計数支援装置１００は、例えば、作業者によるコロニー係数支援処理の開始指示が入力装置１０５に受け付けられたことを検知すると、図８に示すコロニー係数支援処理を開始する。
【０１００】
まず、ＣＰＵ１０１は、撮像画像を取得する（ステップＳ１０１）。撮像画像の取得元は、典型的には、撮像装置１０８であるが、記憶装置１０４、画像記憶部１０９、通信装置１０６が通信可能な外部の装置などであってもよい。撮像画像は、モノクロ画像でもよいし、カラー画像でもよい。なお、ＣＰＵ１０１は、取得した撮像画像に対して、種々のトリミング処理やフィルタリング処理を実行してもよい。ＣＰＵ１０１は、例えば、取得した撮像画像をＲＡＭ１０３に記憶する。
【０１０１】
ＣＰＵ１０１は、ステップＳ１０１の処理を完了すると、初期画面表示を実行する（ステップＳ１０２）。例えば、ＣＰＵ１０１は、図３に示す画面３００のうち、自動検出位置マーク３４１、手動検出位置マーク３５１、個数画像３４２、個数画像３５２、を除く画像を表示する。つまり、ＣＰＵ１０１は、自動検出結果表示領域３１０と手動検出結果表示領域３２０とのそれぞれに背景画像としての撮像画像を表示し、さらに、ポインタ３３１と、下限長スライダ３３２と、上限長スライダ３３３と、閾値スライダ３３４と、反映指示ボタン３３５と、クリア指示ボタン３３６と、除外指示アイコン３３７と、下限長提示画像３４３と、上限長提示画像３４４と、を表示する。
【０１０２】
ＣＰＵ１０１は、ステップＳ１０２の処理を完了すると、自動検出処理を実行する（ステップＳ１０３）。自動検出処理については、図９を参照して、詳細に説明する。図９は、コロニー計数支援装置１００が実行する自動検出処理を示すフローチャートである。
【０１０３】
まず、ＣＰＵ１０１は、撮像画像を二値化する（ステップＳ２０１）。撮像画像がモノクロ画像である場合、ＣＰＵ１０１は、撮像画像を構成する各画素の輝度値を、閾値スライダ３３４の操作などにより設定された閾値よりも大きいか否かに従って、０と１とのいずれかの輝度値に二値化する。一方、撮像画像がカラー画像である場合、ＣＰＵ１０１は、撮像画像をグレースケール画像に変換した後、モノクロ画像の場合と同様に、撮像画像を二値化する。二値化された撮像画像は、例えば、図４に示す画像である。ＣＰＵ１０１は、例えば、二値化された撮像画像をＲＡＭ１０３に記憶する。なお、閾値は、例えば、記憶装置１０４などに記憶されているものとする。
【０１０４】
ＣＰＵ１０１は、ステップＳ２０１の処理を完了すると、二値化された撮像画像をラベリングする（ステップＳ２０２）。ラベリングについては、図５の説明において詳細に説明したので、ここでの説明は省略する。ラベリングにより、図５にＣ０１、Ｃ０２、Ｃ０３として示しているような連結成分が検出される。なお、ＣＰＵ１０１は、例えば、自動検出により検出された各連結成分に関する情報（以下「自動検出用連結成分情報」という。）を、配列としてＲＡＭ１０３に記憶する。自動検出用連結成分情報は、例えば、検出された連結成分を構成する画素の位置（撮像画像上の座標）、検出された連結成分に割り当てられたラベル番号などである。
【０１０５】
ＣＰＵ１０１は、ステップＳ２０２の処理を完了すると、未選択の連結成分があるか否かを判別する（ステップＳ２０３）。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている自動検出用連結成分情報の配列を参照して、後述するステップＳ２０４において選択されていない連結成分があるか否かを判別する。
【０１０６】
ＣＰＵ１０１は、未選択の連結成分がないと判別すると（ステップＳ２０３：ＮＯ）、自動検出処理を終了する。一方、ＣＰＵ１０１は、未選択の連結成分があると判別すると（ステップＳ２０３：ＹＥＳ）、連結成分を１つ選択する（ステップＳ２０４）。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている自動検出用連結成分情報の配列を参照して、未選択の連結成分の中から１つの連結成分を選択する。なお、ＣＰＵ１０１は、連結成分が選択済みであるか否かを、ＲＡＭ１０３に記憶されている、連結成分毎に用意されたフラグにより識別することができる。
【０１０７】
ＣＰＵ１０１は、ステップＳ２０４の処理を完了すると、選択された連結成分に外接する矩形を求める（ステップＳ２０５）。この矩形は、例えば、図６にＣ１１、Ｃ１２、Ｃ１３として示している近似された連結成分の外形である。ＣＰＵ１０１は、例えば、自動検出用連結成分情報にこの矩形に関する情報を含めてＲＡＭ１０３に記憶する。この矩形に関する情報は、例えば、撮像画像における縦方向（行方向）における長さや、撮像画像における横方向（列方向）における長さである。
【０１０８】
ＣＰＵ１０１は、ステップＳ２０５の処理を完了すると、矩形のサイズが所定の範囲内であるか否かを判別する（ステップＳ２０６）。例えば、ＣＰＵ１０１は、矩形を短辺の長さが、下限長スライダ３３２の操作などにより設定された下限長よりも長く、かつ、上限長スライダ３３３の操作などにより設定された上限長よりも短い場合、矩形のサイズが所定の範囲内であると判別する。一方、ＣＰＵ１０１は、矩形を短辺の長さが下限長よりも短く、もしくは、上限長よりも長い場合、矩形のサイズが所定の範囲内でないと判別する。なお、下限長や上限長は、例えば、記憶装置１０４などに記憶されているものとする。
【０１０９】
ＣＰＵ１０１は、矩形のサイズが所定の範囲内であると判別した場合（ステップＳ２０６：ＹＥＳ）、ステップＳ２０３に処理を戻す。一方、ＣＰＵ１０１は、矩形のサイズが所定の範囲内でないと判別した場合（ステップＳ２０６：ＮＯ）、ステップＳ２０４で選択された連結成分を削除する（ステップＳ２０７）。具体的には、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている自動検出用連結成分情報の配列から、ステップＳ２０４選択された連結成分の連結成分情報を削除する。なお、ＣＰＵ１０１は、適宜、自動検出用連結成分情報に含まれるラベル番号の振り直しを実行する。
【０１１０】
なお、連結成分のサイズはコロニー２１０のサイズであるが、コロニー２１０のサイズは予測される範囲であるはずである。従って、連結成分のサイズが予測される範囲を超える場合、この連結成分はコロニー２１０を表すものではないと判断される。ＣＰＵ１０１は、ステップＳ２０７の処理を完了すると、ステップＳ２０３に処理を戻す。
【０１１１】
ＣＰＵ１０１は、ステップＳ１０３の処理を完了すると、自動検出結果表示領域更新処理を実行する（ステップＳ１０４）。自動検出結果表示領域更新処理については、図１０を参照して詳細に説明する。図１０は、コロニー計数支援装置１００が実行する自動検出結果表示領域更新処理を示すフローチャートである。
【０１１２】
ＣＰＵ１０１は、未選択の連結成分があるか否かを判別する（ステップＳ３０１）。具体的には、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されているフラグなどを参照して、全ての連結成分が後述するステップＳ３０２において選択済みであるか否かを判別する。
【０１１３】
ＣＰＵ１０１は、未選択の連結成分があると判別すると（ステップＳ３０１：ＹＥＳ）、未選択の連結成分の中から連結成分を１つ選択する（ステップＳ３０２）。
【０１１４】
ＣＰＵ１０１は、ステップＳ３０２の処理を完了すると、自動検出位置マーク３４１を描画する（ステップＳ３０３）。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている、ステップＳ３０２で選択された連結成分に関する自動検出用連結成分情報を参照して、撮像画像上における、この連結成分に外接する矩形の位置やサイズを特定する。なお、矩形のサイズは、短辺の長さと長辺の長さとにより決定される。そして、ＣＰＵ１０１は、自動検出結果表示領域３１０に表示されている撮像画像上の特定した位置に、特定したサイズの自動検出位置マーク３４１を重ねて表示する。ＣＰＵ１０１は、ステップＳ３０３の処理を完了すると、ステップＳ３０１に処理を戻す。
【０１１５】
一方、ＣＰＵ１０１は、未選択の連結成分がないと判別すると（ステップＳ３０１：ＮＯ）、自動検出位置マーク３４１の数をカウント値として表示する（ステップＳ３０４）。例えば、ＣＰＵ１０１は、自動検出位置マーク３４１の数を表す個数画像３４２を自動検出結果表示領域３１０の下部に表示する。なお、ＣＰＵ１０１は、自動検出位置マーク３４１の数を、適宜、ＲＡＭ１０３などに記憶する。
【０１１６】
ＣＰＵ１０１は、ステップＳ３０４の処理を完了すると、ＣＰＵ１０１は、ステップＳ３０５の処理を完了すると、自動検出結果表示領域更新処理を完了する。
【０１１７】
ＣＰＵ１０１は、ステップＳ１０４の処理を完了すると、反映指示があるか否かを判別する（ステップＳ１０５）。具体的には、ＣＰＵ１０１は、入力装置１０５から供給される制御信号などを監視して、作業者から入力装置１０５に対して反映指示に対応する操作がなされたか否かを判別する。例えば、反映指示は、反映指示ボタン３３５のクリック操作により実行される。
【０１１８】
ＣＰＵ１０１は、反映指示があると判別すると（ステップＳ１０５：ＹＥＳ）、手動検出結果表示領域更新処理を実行する（ステップＳ１０６）。手動検出結果表示領域更新処理については、図１１を参照して詳細に説明する。図１１は、コロニー計数支援装置１００が実行する手動検出結果表示領域更新処理を示すフローチャートである。
【０１１９】
まず、ＣＰＵ１０１は、手動検出用連結成分情報を生成する（ステップＳ４０１）。具体的には、ＣＰＵ１０１は、ＲＡＭ１０３などに記憶されている自動検出用連結成分情報の配列に基づいて、手動検出用連結成分情報の配列を生成し、ＲＡＭ１０３に記憶する。手動検出用連結成分情報は、例えば、自動で検出された連結成分もしくは手動で追加された連結成分を構成する画素の位置（撮像画像上の座標）、自動で検出された連結成分もしくは手動で追加された連結成分に割り当てられたラベル番号などである。なお、手動検出用連結成分情報の配列が既に存在する場合（既に手動検出位置マーク３５１が表示されている場合）、自動検出用連結成分情報の配列に基づいて新たに生成された手動検出用連結成分情報を、手動検出用連結成分情報の配列に追加する。
【０１２０】
ＣＰＵ１０１は、ステップＳ４０１の処理を完了すると、未選択の連結成分があるか否かを判別する（ステップＳ４０２）。具体的には、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されているフラグなどを参照して、全ての連結成分が後述するステップＳ４０３において選択済みであるか否かを判別する。
【０１２１】
ＣＰＵ１０１は、未選択の連結成分があると判別すると（ステップＳ４０２：ＹＥＳ）、未選択の連結成分の中から連結成分を１つ選択する（ステップＳ４０３）。
【０１２２】
ＣＰＵ１０１は、ステップＳ４０３の処理を完了すると、手動検出位置マーク３５１を描画する（ステップＳ４０４）。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている、ステップＳ４０３で選択された連結成分に関する自動検出用連結成分情報を参照して、撮像画像上における、この連結成分の位置を特定する。そして、ＣＰＵ１０１は、手動検出結果表示領域３２０に表示されている撮像画像上の特定した位置に、手動検出位置マーク３５１を重ねて表示する。ＣＰＵ１０１は、ステップＳ４０４の処理を完了すると、ステップＳ４０２に処理を戻す。
【０１２３】
一方、ＣＰＵ１０１は、未選択の連結成分がないと判別すると（ステップＳ４０２：ＮＯ）、手動検出位置マーク３５１の数をカウント値として表示する（ステップＳ４０５）。例えば、ＣＰＵ１０１は、手動検出位置マーク３５１の数を表す個数画像３５２を手動検出結果表示領域３２０の下部に表示する。なお、ＣＰＵ１０１は、手動検出位置マーク３５１の数を、適宜、ＲＡＭ１０３などに記憶する。ＣＰＵ１０１は、ステップＳ４０４の処理を完了すると、手動検出結果表示領域更新処理を完了する。
【０１２４】
ＣＰＵ１０１は、反映指示がないと判別した場合（ステップＳ１０５：ＮＯ）、もしくは、ステップＳ１０６の処理を完了した場合、編集指示があるか否かを判別する（ステップＳ１０７）。具体的には、ＣＰＵ１０１は、入力装置１０５から供給される制御信号などを監視して、作業者から入力装置１０５に対して編集指示に対応する操作がなされたか否かを判別する。例えば、編集指示は、手動検出結果表示領域３２０に表示されている撮像画像に対するクリック操作（追加指示）、手動検出結果表示領域３２０に表示されている手動検出位置マーク３５１に対するＣｔｒｌキーを押しながらのクリック操作（削除指示）、クリア指示ボタン３３６のクリック操作（全削除指示）である。
【０１２５】
ＣＰＵ１０１は、編集指示があると判別すると（ステップＳ１０７：ＹＥＳ）、手動検出位置マーク３５１を編集する（ステップＳ１０８）。編集指示は、手動検出位置マーク３５１の追加指示、手動検出位置マーク３５１の削除指示、もしくは、手動検出位置マーク３５１の全削除指示である。
【０１２６】
ＣＰＵ１０１は、追加指示があると判別した場合、クリック操作がなされた位置に基づいて決定される撮像画像上の座標を含む自動検出用連結成分情報を、自動検出用連結成分情報の配列に追加する。そして、ＣＰＵ１０１は、クリック操作がなされた位置に、手動検出位置マーク３５１を新たに表示する。さらに、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている手動検出位置マーク３５１の数を１つ増加させる。そして、ＣＰＵ１０１は、増加後の個数を示す個数画像３５２を表示する。
【０１２７】
ＣＰＵ１０１は、削除指示があると判別した場合、Ｃｔｒｌキーが押されている状態においてクリック操作がなされた位置に表示されている手動検出位置マーク３５１の自動検出用連結成分情報を、自動検出用連結成分情報の配列から削除する。そして、ＣＰＵ１０１は、クリック操作がなされた位置に表示されている手動検出位置マーク３５１の表示を消す。さらに、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている手動検出位置マーク３５１の数を１つ減少させる。そして、ＣＰＵ１０１は、減少後の個数を示す個数画像３５２を表示する。
【０１２８】
ＣＰＵ１０１は、全削除指示があると判別した場合、全ての手動検出位置マーク３５１の自動検出用連結成分情報を、自動検出用連結成分情報の配列から削除する。そして、ＣＰＵ１０１は、全ての手動検出位置マーク３５１の表示を消す。さらに、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている手動検出位置マーク３５１の数を０にする。そして、ＣＰＵ１０１は、０を示す個数画像３５２を表示する。
【０１２９】
ＣＰＵ１０１は、編集指示がないと判別した場合（ステップＳ１０７：ＮＯ）、もしくは、ステップＳ１０８の処理を完了した場合、スライダ操作があるか否かを判別する（ステップＳ１０９）。具体的には、ＣＰＵ１０１は、入力装置１０５から供給される制御信号などを監視して、作業者から入力装置１０５に対してスライダ操作がなされたか否かを判別する。例えば、スライダ操作は、下限長スライダ３３２、上限長スライダ３３３、閾値スライダ３３４に対するドラッグ操作により実行される。
【０１３０】
ＣＰＵ１０１は、スライダ操作があると判別すると（ステップＳ１０９：ＹＥＳ）、スライダに対応するパラメータを変更する（ステップＳ１１０）。スライダ操作は、下限長スライダ３３２による下限長の変更指示、上限長スライダ３３３による上限長の変更指示、閾値スライダ３３４による閾値の変更指示、のうちのいずれかである。
【０１３１】
ＣＰＵ１０１は、下限長の変更指示があると判別した場合、ＲＡＭ１０３に記憶されている下限長を、下限長スライダ３３２の位置に基づいて決定される下限長で更新し、下限長提示画像３４３を再描画する。ＣＰＵ１０１は、上限長の変更指示があると判別した場合、ＲＡＭ１０３に記憶されている上限長を、上限長スライダ３３３の位置に基づいて決定される上限長で更新し、上限長提示画像３４４を再描画する。ＣＰＵ１０１は、閾値の変更指示があると判別した場合、ＲＡＭ１０３に記憶されている閾値を、閾値スライダ３３４の位置に基づいて決定される閾値で更新する。
【０１３２】
ＣＰＵ１０１は、ステップＳ１１０の処理を完了すると、ステップＳ１０３に処理を戻し、自動検出処理を実行する。つまり、下限長、上限長、閾値などのパラメータのうちのいずれかが変更された場合、変更後のパラメータを用いた自動検出処理が再度実行される。
【０１３３】
一方、ＣＰＵ１０１は、スライダ操作がないと判別した場合（ステップＳ１０９：ＮＯ、除外指示があるか否かを判別する（ステップＳ１１１）。具体的には、ＣＰＵ１０１は、入力装置１０５から供給される制御信号などを監視して、作業者から入力装置１０５に対して除外指示がなされたか否かを判別する。例えば、除外指示は、除外領域指定モード中における、自動検出結果表示領域３１０に表示されている撮像画像に対するポインタ３３８のドラッグ操作により実行される。なお、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている、除外指示アイコン３３７の状態と連動するフラグを参照することにより、現在のモードが、通常モードであるのか、除外領域指定モードであるのかを判別することができる。
【０１３４】
ＣＰＵ１０１は、除外指示があると判別すると（ステップＳ１１１：ＹＥＳ）、除外領域を設定する（ステップＳ１１２）。除外領域の設定については、図１２を参照して、詳細に説明する。
【０１３５】
除外領域指定モード中は、図１２に示すように、ポインタ３３１の代わりにポインタ３３８が画面３００に表示される。ポインタ３３８は、円形のポインタである。自動検出結果表示領域３１０のうち、ドラッグ操作中にポインタ３３８が通過した領域３６０に対応する撮像画像内の領域（以下「除外領域」という。）が、コロニー２１０の検出対象から除外される。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている撮像画像を構成する画素のうち、除外領域に対応する画素の輝度値を全て最大の輝度値（２５５）にする（除外領域を真っ白にする。）。なお、除外領域が設定された場合、ＣＰＵ１０１は、例えば、除外領域情報をＲＡＭ１０３に記憶する。除外領域情報は、撮像画像を構成する画素のうち、除外領域に対応する全ての画素を特定可能な情報であってもよいし、撮像画像を構成する画素のうち、除外領域に対応する画素の個数を特定可能な情報であってもよい。
【０１３６】
ＣＰＵ１０１は、ステップＳ１１２の処理を完了すると、ステップＳ１０３に処理を戻し、自動検出処理を実行する。つまり、除外領域が設定された場合、再度、自動検出処理が実行される。
【０１３７】
一方、ＣＰＵ１０１は、除外指示がないと判別した場合（ステップＳ１１１：ＮＯ、終了指示があるか否かを判別する（ステップＳ１１３）。具体的には、ＣＰＵ１０１は、入力装置１０５から供給される制御信号などを監視して、作業者から入力装置１０５に対して終了指示がなされたか否かを判別する。終了指示は、例えば、コロニー計数支援処理の終了指示に割り当てられたキーの押圧操作である。
【０１３８】
ＣＰＵ１０１は、終了指示がないと判別した場合（ステップＳ１１３：ＮＯ）、ステップＳ１０５に処理を戻す。一方、ＣＰＵ１０１は、終了指示があると判別した場合（ステップＳ１１３：ＹＥＳ）、補正コロニー数を算出する（ステップＳ１１４）。
【０１３９】
具体的には、まず、ＣＰＵ１０１は、単位面積あたりの平均コロニー数を求める。ここで、平均コロニー数＝連結成分数÷（培地面積−除外領域の面積）、である。なお、連結成分数は、個数画像３５２により示される個数である。また、培地面積は、撮像画像を構成する画素のうち、第１の閾値よりも高く、かつ、第２の閾値よりも低い輝度値の画素の個数により特定可能である。そして、除外領域の面積は、ＲＡＭ１０３に記憶されている除外領域情報により特定可能である。
【０１４０】
そして、ＣＰＵ１０１は、補正コロニー数を求める。ここで、補正コロニー数＝連結成分数＋平均コロニー数×除外領域の面積、である。なお、異物の映り込みなどにより撮像画像に適切でない領域が含まれている場合、この適切でない領域は除外領域に設定される。そして、除外領域以外の領域について、平均コロニー数が求められる。一方、除外領域に存在していると推定されるコロニーの個数は、この平均コロニー数により求められる。このように、本実施形態のコロニー計数支援装置１００は、コロニー２１０のカウントに不適当な異常領域が培地２００内に存在する場合でも、面積補正により、適切にコロニー２１０の個数を求めることができる。ＣＰＵ１０１は、平均コロニー数や補正コロニー数を、記憶装置１０４に記憶したり、画面３００内に表示したりすることができる。
【０１４１】
本実施形態によれば、作業者は、自動で検出された撮像画像上におけるコロニー２１０の位置や大きさを確認しながら、手動で撮像画像上にコロニー２１０を追加したり、手動で撮像画像上のコロニー２１０を削除したりすることができる。このため、作業者は、手動でコロニー２１０をカウントする場合よりも速やかにコロニー２１０をカウントできるとともに、コロニー２１０の自動検出による結果が疑わしい場合には、容易にコロニー２１０の検出結果を補正することができる。
【０１４２】
なお、自動検出結果表示領域３１０に表示される自動検出位置マーク３４１の位置や個数は、最新の検出条件（閾値、下限長、上限長など）による検出結果に基づいて決定される。一方、手動検出結果表示領域３２０に表示される手動検出位置マーク３５１の位置や個数は、過去の検出条件による検出結果や手動による編集結果に基づいて決定される。従って、作業者は、検出条件を適宜変更しながら自動検出による検出結果の妥当性などを判定することにより、コロニー２１０の正確な個数を求めることができる。
【０１４３】
（変形例）
本発明は、上記実施形態に開示したものに限られない。
【０１４４】
上記実施形態では、自動検出結果表示領域３１０と手動検出結果表示領域３２０とが左右に並べられている例を示した。本発明において、自動検出結果表示領域３１０と手動検出結果表示領域３２０との位置関係は、この例に限定されない。例えば、自動検出結果表示領域３１０と手動検出結果表示領域３２０とが上下に並べて設定されてもよいし、自動検出結果表示領域３１０と手動検出結果表示領域３２０とが別々の移動可能なウインドウにより示されてもよい。また、本発明において、自動検出結果表示領域３１０が設定されていなくてもよい。この場合でも、作業者は、手動検出結果表示領域３２０に表示された情報に基づいて、コロニーのカウント数を補正することができる。
【０１４５】
上記実施形態では、自動検出結果表示領域３１０と手動検出結果表示領域３２０とのそれぞれに、撮像画像の一部が拡大表示されている例を示した。本発明において、撮像画像の表示方法はこの例に限定されない。例えば、撮像画像が自動検出結果表示領域３１０と手動検出結果表示領域３２０とのそれぞれにおいて、そのまま表示されてもよい。また、例えば、除外領域の設定、手動検出位置マーク３５１の追加や削除の際に、アンドゥー操作が有効にされていてもよい。
【０１４６】
下限長スライダ３３２、上限長スライダ３３３、閾値スライダ３３４、反映指示ボタン３３５、クリア指示ボタン３３６、除外指示アイコン３３７、下限長提示画像３４３、上限長提示画像３４４、個数画像３４２、個数画像３５２などの有無、形状、配置などが図３に示す例に限定されないことはもちろんである。なお、これらの画像が示すデータは、適宜、記憶装置１０４などに記憶され、後に作業者により確認されてもよい。また、自動検出位置マーク３４１や手動検出位置マーク３５１の形状も適宜調整が可能である。さらに、これらの画像、アイコン、ボタンなどの色も適宜調整が可能である。
【０１４７】
上記実施形態では、反映指示により、手動検出結果表示領域３２０に既に表示されている手動検出位置マーク３５１に加え、さらに自動検出位置マーク３４１に対応する手動検出位置マーク３５１が追加表示される例を示した。本発明において、反映指示により、手動検出結果表示領域３２０に既に表示されている手動検出位置マーク３５１に代えて、自動検出位置マーク３４１に対応する手動検出位置マーク３５１が表示されてもよい。つまり、反映指示は、上記実施形態におけるクリア指示と反映指示との双方を指示するものであってもよい。
【０１４８】
上記実施形態では、コロニー計数支援装置１００がＣＰＵ１０１とＲＯＭ１０２とＲＡＭ１０３とを備え、ＣＰＵ１０１が、ＲＯＭ１０２に記憶されているプログラムに従って、ソフトウェアによりコロニー計数支援処理が実現される例を示した。しかし、コロニー計数支援装置１００が実行するコロニー計数支援処理は、ソフトウェアにより実現されるものに限定されない。例えば、コロニー計数支援装置１００は、マイクロコンピュータ、ＦＰＧＡ（Field Programmable Gate Array）、ＰＬＤ（Programmable Logic Device）、ＤＳＰ（Digital Signal Processor）などにより構成されてもよい。
【０１４９】
なお、本発明に係るコロニー計数支援装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magnet Optical Disk）などのコンピュータ読み取り可能な記録媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行するコロニー計数支援装置を構成しても良い。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【符号の説明】
【０１５０】
１１  撮像画像取得部
１２  コロニー検出部
１３  反映指示受付部
１４  表示制御部
１５  追加指示受付部
１６  削除指示受付部
１７  表示補正部
１８  閾値受付部
１９  下限長受付部
２０  上限長受付部
２１  培地面積検出部
２２  平均コロニー数算出部
２３  除外指示受付部
１００  コロニー計数支援装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  記憶装置
１０５  入力装置
１０６  通信装置
１０７  撮像制御部
１０８  撮像装置
１０９  画像記憶部
１１０  表示制御部
１１１  表示装置
１１２  音声処理部
１１３  音声出力装置
１２０  バス
２００  培地
２１０  コロニー
２２０  基材シート
２３０  カバーシート
２４０  領域
３００  画面
３１０  自動検出結果表示領域
３２０  手動検出結果表示領域
３３１  ポインタ
３３２  下限長スライダ
３３３  上限長スライダ
３３４  閾値スライダ
３３５  反映指示ボタン
３３６  クリア指示ボタン
３３７  除外指示アイコン
３３８  ポインタ
３４１  自動検出位置マーク
３４２  個数画像
３４３  下限長提示画像
３４４  上限長提示画像
３５１  手動検出位置マーク
３５２  個数画像
３６０  領域
【図１】
0005917260.tif 000002
【図２】
0005917260.tif 000003
【図３】
0005917260.tif 000004
【図４】
0005917260.tif 000005
【図５】
0005917260.tif 000006
【図６】
0005917260.tif 000007
【図７】
0005917260.tif 000008
【図８】
0005917260.tif 000009
【図９】
0005917260.tif 000010
【図１０】
0005917260.tif 000011
【図１１】
0005917260.tif 000012
【図１２】
0005917260.tif 000013