JP2018105690A - 自動分析装置および自動分析方法 - Google Patents
自動分析装置および自動分析方法 Download PDFInfo
- Publication number
- JP2018105690A JP2018105690A JP2016251183A JP2016251183A JP2018105690A JP 2018105690 A JP2018105690 A JP 2018105690A JP 2016251183 A JP2016251183 A JP 2016251183A JP 2016251183 A JP2016251183 A JP 2016251183A JP 2018105690 A JP2018105690 A JP 2018105690A
- Authority
- JP
- Japan
- Prior art keywords
- bubble
- region
- image
- area
- luminance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Landscapes
- Measurement Of Levels Of Liquids Or Fluent Solid Materials (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
Abstract
【課題】各種試験管やカップ等、多様な撮影状況に対応し、安定して、所定範囲内に泡があるか否か判定する画像処理方法を提供する。【解決手段】処理装置、メモリ、入出力インタフェース、およびこれらを接続するバスを備える自動分析装置において、入出力インタフェースは液体を入れた容器を撮影するカメラによって得られる撮影画像を受信し、メモリは撮影画像を記憶し、処理装置は撮影画像の高輝度領域を各々抽出する高輝度領域抽出処理と、高輝度領域抽出処理によって抽出した高輝度領域の各々について、各領域の画像位置と形状を表す統計量を取得する統計量取得処理と、高輝度領域種分け処理によって種分けされた高輝度領域の中で泡候補と種分けされた高輝度領域について泡の範囲を推定する泡範囲推定処理と、泡範囲推定処理によって泡の範囲を推定した結果に基づき、所定の範囲内に泡があるか否か判定する泡判定処理と、を実行する。【選択図】図1
Description
本発明は、試薬等を使用して分析対象である血液、尿等の生体試料の成分分析を行う自動分析装置に係り、特に、試料、試薬、反応液表面における泡を検出する機構を備えた自動分析装置に関する。
血液や尿等の生体試料の自動分析装置は、試料を試薬と反応させ、発色や発光の度合いを計測して成分分析を行う。試料と試薬は、それぞれ試験管等の容器に格納され、各容器から、各々適切な量を反応容器に分取することにより、反応容器内で反応する。試料は液体であるため、分注プローブを液面に接触、浸漬させて吸引し、分取する。分注プローブの浸漬量が大きいと、プローブ外壁への液体付着量が増し、次の分取動作を行う対象への持込(クロスコンタミネーション)が増大する。そこで、分注プローブの浸漬量を低減するために、液体試料の液面を検出し、液面近傍で液体の吸引を行うのが一般的である。しかしながら、液面上部に泡が存在している場合、泡を液面と誤認し、分注プローブが液に触れずに吸引を行い、本来必要な量の分取ができず、不正確な分析をしてしまう問題があることが知られている。
この問題に対し、液体試料の上部から画像を撮影し、分注プローブが触れる可能性のある液体試料上の所定範囲内に泡があるか否か画像処理で判定し、泡がある場合はユーザに知らせ、ユーザが別途対応することが提案されている。
画像処理で液面に泡があるか否か判定する画像処理方法として、下記の特許文献1が知られている。下記特許文献1は、カメラで液体試料の入った試験管を上部から撮影し、撮影画像の色情報から泡の有無を判定する。
上記特許文献1では、液体試料が納められた各種試験管やカップ等の容器の変更や試料の保存状態等により、泡のある状態と泡のない状態を見分ける色情報が異なり、それぞれの色情報を事前に取得することが必要である。このため、数多くある各種撮影条件に対応するのは難しく、検査対象の撮影条件が限定されてしまうという問題があった。
本発明の課題は、各種試験管やカップ等、多様な撮影状況に対応し、安定して、所定範囲内に泡があるか否か判定する画像処理方法および自動分析方法を提供することにある。
本発明の一側面は、処理装置、メモリ、入出力インタフェース、およびこれらを接続するバスを備える自動分析装置である。この装置において、入出力インタフェースは、液体を入れた容器を撮影するカメラによって得られる撮影画像を受信し、メモリは撮影画像を記憶する。そして、処理装置は、撮影画像の高輝度領域を各々抽出する高輝度領域抽出処理と、高輝度領域抽出処理によって抽出した高輝度領域の各々について、各領域の画像位置と形状を表す統計量を取得する統計量取得処理と、統計量取得処理によって取得した統計量に基づき、高輝度領域の種分けをする高輝度領域種分け処理と、高輝度領域種分け処理によって種分けされた高輝度領域の中で泡候補と種分けされた高輝度領域について泡の範囲を推定する泡範囲推定処理と、泡範囲推定処理によって泡の範囲を推定した結果に基づき、所定の範囲内に泡があるか否か判定する泡判定処理と、を実行する。
本発明の他の一側面は、処理装置、メモリ、入出力インタフェース、およびこれらを接続するバスを備える情報処理装置による自動分析方法である。この方法において、入出力インタフェースは液体を入れた容器を撮影するカメラによって得られる撮影画像を受信し、メモリは撮影画像を記憶する。そして、処理装置は、撮影画像の高輝度領域を各々抽出する高輝度領域抽出処理と、高輝度領域抽出処理によって抽出した高輝度領域の各々について、各領域の画像位置と形状を表す統計量を取得する統計量取得処理と、統計量取得処理によって取得した統計量に基づき、高輝度領域の種分けをする高輝度領域種分け処理と、高輝度領域種分け処理によって種分けされた高輝度領域の中で泡候補と種分けされた高輝度領域について泡の範囲を推定する泡範囲推定処理と、泡範囲推定処理によって泡の範囲を推定した結果に基づき、所定の範囲内に泡があるか否か判定する泡判定処理と、を実行する。
本発明の他の一側面は、学習データをクラスタリングするクラスタリング処理と、クラスタリング処理でクラスタリングした結果を必要に応じて修正するクラスタリング修正処理と、必要に応じて修正された、あるいは修正されないクラスタリング結果を用い、このクラスタリング処理と等価なニューラルネットを初期値とするクラスタリング等価ニューラルネット準備する。このクラスタリング等価ニューラルネットを学習させることにより、学習済みのニューラルネットを得ることができる。
本発明によれば、安定に所定範囲内に泡があるか否か判定することができる効果がある。
以下の実施例の代表的な類型では、撮影画像の高輝度点の領域の位置と形状に着目する。撮影画像から高輝度点領域を抽出し、抽出した各領域の位置と形状を表す各種統計量を取り、各種統計量から各抽出領域の反射光の由来に応じた種分けをする。種わけによって得られた泡候補について、その形状に応じて泡の範囲を推定し、所定内に泡があるか否かを判定する。また、処理にニューラルネットを応用した例も説明する。
(1)本発明の第1の実施例
以下、第1の実施例を記す。
以下、第1の実施例を記す。
(1−1)泡検知部分の構成(図2)
図2は、各実施例共通の泡検知部分の構成図である。血液や尿など検査対象となる液体試料200は、試験管201に納められ、倒れるようなことがないよう、ラック202の中に入れ固定している。
図2は、各実施例共通の泡検知部分の構成図である。血液や尿など検査対象となる液体試料200は、試験管201に納められ、倒れるようなことがないよう、ラック202の中に入れ固定している。
試験管201の上面から液体試料200を撮影できるように、リング照明211で照明する。リング照明211は、中央部分が空のリング状で、リング部分に複数のLEDを密に配して照明する。リング照明211の中央の中空部分の上部にカメラ212を設置し、上部から試験管201内を覗き、液体試料200の液面の状態を撮影する。撮影画像は、液体試料200の液面を捉え、液面の所定領域に泡があるか否か、画像処理により判定することができる。
カメラ212は、情報処理装置213に接続され、撮影した画像を情報処理装置213に送ることができる。情報処理装置213は例えば、中央処理装置(CPU:Central Processing Unit)231などの処理装置、揮発性もしくは不揮発性のメモリ232、入出力インタフェース217、およびこれらを接続するバス235を備え、例えば、サーバーのような装置が利用可能である。
情報処理装置213は、撮影画像を処理し、所定領域に泡があるか否か判定し、結果を表示装置215に表示することができる。また、情報処理装置213は、磁気ディスク装置のような記憶装置214に撮影画像や判定結果等を保存することができる。記憶装置214はまた、以下の実施例の処理で利用するための各種データを、データベース233として格納する。更に、情報処理装置213は、ネットワーク218を通し、ネットワーク218に接続された他のサーバーやパソコン等の計算装置や各種情報機器に撮影画像や判定結果等を送ることもできる。
その他、情報処理装置213は、入出力インタフェース217を通し、検査装置の各種機器を操作したり、検査装置の検査結果を受け取り、ネットワーク218を通し、ネットワーク218に繋がった所定のサーバー等の情報機器に、検査結果を送ることができる。以上のべた各種の操作は、情報処理装置213が、メモリ232に格納された所定のプログラムを処理装置であるCPU231で実行し、その結果を表示装置215に表示することで、行うことができる。オペレータは、マウスやキーボード等の入力装置216により操作を入力指示し、情報処理装置213が操作指示を受け取り、操作指示に応じた所定のプログラムで処理が行われ、入出力インタフェース217やネットワーク218を通し、所定の機器の所定の動作が行われる。
なお、図2では、ネットワーク218に接続された各種情報機器の一例として計算装置221、計算装置に接続した表示装置222、入力装置223を示した。また、情報処理装置213はアクセラレータ234を備えていても良い。アクセラレータ234は、たとえばFPGA(Field-Programmable Gate Array)のようなハードウェアで構成され、CPU231の一部の処理を分担する。この場合、CPU231とアクセラレータ234は協働して処理装置を構成する。
(1−2)撮影と分注に係る構成(図3)
図3は、各実施例共通の撮影と分注に係る構成図である。分注装置301は、図中矢印で示すように水平面の回転と上下動ができる。また、静電センサーと分注プローブを具儀し、分注プローブ先端302が液面に接触すると感応し、液面検知もできる。
図3は、各実施例共通の撮影と分注に係る構成図である。分注装置301は、図中矢印で示すように水平面の回転と上下動ができる。また、静電センサーと分注プローブを具儀し、分注プローブ先端302が液面に接触すると感応し、液面検知もできる。
試験管201は、分注位置に来るとリング照明211で照らされ、カメラ212で撮影される。カメラ212の撮影時は、分注プローブは、カメラ212の撮影の邪魔にならない位置にある。
カメラ212の撮影後、撮影画像の中の所定範囲(分注プローブ先端302が位置する可能性のある所定の誤差を含む範囲)に泡のないことを情報処理装置213が判定すると、以下の分注を行う。最初に、分注装置301は水平面の回転を行い、分注プローブ先端302が、試験管201の上部に位置する。この時、試験管201の中心と分注プローブ先端の軸線303は所定の誤差の範囲で一致する。次に、分注プローブ先端302は下に移動し、液体試料200の液面に接触すると、分注装置301に具備された静電センサーが感応し、液面を検知する。分注プローブ先端302は液面検知後、更に所定量下に移動し、液体試料200の中に浸漬し、その後、液体試料200を所定量吸引する。吸引後、分注プローブ先端302は上に移動し、更に、分注装置301は水平方向に回転して、吸引していた液体を反応容器411に吐き出す。これにより、試験管201に入っていた液体試料200を、反応容器411に所定量分注することになる。
しかしながら、液体試料200の液面に泡があると、静電センサーは泡表面を液面と誤検出し、液体試料200を所定量吸引することができない。よって、本実施例では液体試料200の液面の泡の有無を検出する構成を備える。すなわち、カメラ212の撮影後、撮影画像の中の所定範囲(分注プローブ先端302が位置する可能性のある所定の誤差を含む範囲)に泡があることを情報処理装置213が判定すると、分注を行わず、泡があるため分注しなかったことを表示装置215に表示し、オペレータに知らせる。
ここで、液体試料200の液面に泡があるのに、泡がないと情報処理装置213が判断し、分注を行おうとして、分注プローブ先端302が泡に接触する場合を考える。分注プローブ先端302が泡に接触した場合は、分注装置301に具備した静電センサーは泡を液面と誤検知し、分注プローブ先端302は液体試料200に浸漬せずに吸引し、正しく分注ができないことになる。ただし、泡が小さく、所定量の大きさがない泡の場合は、分注プローブ先端302は液体試料に浸漬して所定量吸引し、正しく分注ができる。所定範囲に、所定量の大きさの泡がある場合は、正しく泡があると判定することが重要となる。その他、泡がないのに泡があると情報処理装置213が誤検知すると分注しないため、情報処理装置213は、所定範囲に泡がない場合は泡がないと正しく判定することも重要である。
(1−3)各実施例共通の全体構成(図4)
図4は、各実施例共通の自動分析装置400の全体構成図である。自動分析装置400は、搬送機構401、反応ディスク402、試薬ディスク403、試料用の分注装置301、試薬用の分注装置404、攪拌装置405、光度計406、洗浄装置407、情報処理装置213、記憶装置214、入出力インタフェース217を具備する。入出力インタフェース217は情報処理装置213に外付けされているが、図2の例のように情報処理装置213に内蔵されていてもよい。
図4は、各実施例共通の自動分析装置400の全体構成図である。自動分析装置400は、搬送機構401、反応ディスク402、試薬ディスク403、試料用の分注装置301、試薬用の分注装置404、攪拌装置405、光度計406、洗浄装置407、情報処理装置213、記憶装置214、入出力インタフェース217を具備する。入出力インタフェース217は情報処理装置213に外付けされているが、図2の例のように情報処理装置213に内蔵されていてもよい。
搬送機構401は、液体試料200を入れた試験管201を固定したラック202を搬送する。図4では、左上の投入口からラック202を投入する。ラック202は右側に移動し、分注位置で液体試料200の分注をし、その後、右上の搬出口からラック202が出る。なお、図4の左上部分に投入口の位置にあるラック202aと分注位置にあるラック202bを図示した。
図4の分注位置にあるラック202bは、図2、図3ではラック202として図示している。この分注位置で、上記(1−2)節で記載した分注動作があり、液体試料200の所定量が、液体試料の分注位置にある反応容器413に分注される。
試薬ディスク403は、円周上に複数の試薬容器が納めら、図4では所定のタイミングで自由に回転、静止し、試薬の分注位置に移動した試薬容器412から試薬用の分注装置404により、試薬の分注位置に移動した反応容器413に所定の試薬を所定量分注することができる。
反応ディスク402は円周上に複数の反応容器が収められ、図4では所定のタイミングで反時計回りに回転、静止を繰り返すことができる。液体試料200の所定量の分注を受けた反応容器411は、反応ディスク402の回転とともに、位置を移動し、試薬の分注位置に移動し、試薬の分注位置にある反応容器413は、所定の試薬の所定量の分注を受ける。試薬の分注を受けた反応容器内には、所定量の液体試料と所定量の試薬が入っており、攪拌装置405で攪拌され、反応が進み、光度測定位置に移動した反応容器414は、光度計406によって光度測定が行われ、投入した試薬に対応した成分分析がされる。成分分析後、洗浄装置407で反応容器が洗浄される。
情報処理装置213は、入出力インタフェース217を通し、上記各機器の制御を行う。また、情報処理装置213は、記憶装置214に撮影画像や判定結果等を保存する。その他、処理装置は、上記(1−1)節で記載した動作を行うことができる。
(1−4)その他の構成
以上で述べた構成の他、様々な構成を取ることができる。例えば、上記図2、図3、図4では、ラック202(202a,202b)は、液体試料200を収めた試験管201を1つ固定するようになっているが、複数の試験管を固定し、順次所定の分注を行うようにすることもできる。
以上で述べた構成の他、様々な構成を取ることができる。例えば、上記図2、図3、図4では、ラック202(202a,202b)は、液体試料200を収めた試験管201を1つ固定するようになっているが、複数の試験管を固定し、順次所定の分注を行うようにすることもできる。
また、上記図2、図3では、液体試料200は、試験管201に納めるようになっているが、試験管201ではなく、カップ等、他の容器を用いることもできる。その他、図4では、泡の有無をカメラ212で撮影し、判定する場所は、液体試料200の分注を行う位置であったが、その他にも、試薬ディスク403の分注位置にある試薬容器412を撮影するカメラを設置し、試薬の分注前に試薬容器412の所定内に泡があるか否か判定することもできる。また、反応ディスク402側でも、攪拌装置405が攪拌した後に、反応容器が来る位置にカメラを設置し、攪拌後に泡がなく光度測定が正常に行えるか否か判定することもできる。
(1−5)第1の実施例における泡検知処理のフロー
図1は、第1の実施例における泡検知処理のフロー図である。図1の符号をステップ番号として、説明する。なお、各ステップの手順(処理)を実施する手段は、情報処理装置213のCPU231が、その手順を実行するための所定のプログラムに基づいて動作することにより行われる。よって各処理の主語は、便宜的にCPUとすることがある。プログラムはメモリ232に記憶され、必要に応じて読み出される。また、処理に必要なデータもメモリ232に格納することができる。これらのプログラムやデータは、必要に応じて記憶装置214から読み出しても良いし、ネットワーク218経由で取得しても良い。なお、メモリ232は情報処理装置213がアクセスできるものであれば、その形態や配置は任意である。なお、ソフトウェアではなく、その一部または全部を、同等の機能を有するFPGAのようなハードウェアで構成することも可能である。
図1は、第1の実施例における泡検知処理のフロー図である。図1の符号をステップ番号として、説明する。なお、各ステップの手順(処理)を実施する手段は、情報処理装置213のCPU231が、その手順を実行するための所定のプログラムに基づいて動作することにより行われる。よって各処理の主語は、便宜的にCPUとすることがある。プログラムはメモリ232に記憶され、必要に応じて読み出される。また、処理に必要なデータもメモリ232に格納することができる。これらのプログラムやデータは、必要に応じて記憶装置214から読み出しても良いし、ネットワーク218経由で取得しても良い。なお、メモリ232は情報処理装置213がアクセスできるものであれば、その形態や配置は任意である。なお、ソフトウェアではなく、その一部または全部を、同等の機能を有するFPGAのようなハードウェアで構成することも可能である。
プログラム自体、当該プログラムによって実行される処理、あるいは当該処理を実行するための物理的手段を、「機能」、「処理」、「ステップ」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。従って、各ステップ番号の手順(処理)は、それを実行する対応した手段があり、理解を容易にするために各ステップ番号の後の括弧内に対応した手段名を記すことがある。
ステップ101:(画像撮影手段の実行)
液体試料200を入れた試験管201を固定したラック202を試験管201の上部からカメラ212で撮影する。なお、撮影した画像データは、情報処理装置213に送られ、メモリ232に格納され、情報処理装置213でステップ102以下の画像処理が泡判定ステップ110として行われる。
液体試料200を入れた試験管201を固定したラック202を試験管201の上部からカメラ212で撮影する。なお、撮影した画像データは、情報処理装置213に送られ、メモリ232に格納され、情報処理装置213でステップ102以下の画像処理が泡判定ステップ110として行われる。
ステップ102:(高輝度領域抽出手段の前半部分(閾値の決定手段)の実行)
閾値の設定方法は種々あり任意であるが、本実施例では画像の高輝度領域を決める閾値を以下の手順で求める。
閾値の設定方法は種々あり任意であるが、本実施例では画像の高輝度領域を決める閾値を以下の手順で求める。
(1) 画像の所定領域内の中で輝度の最大値を求める。
(2) 画像の所定領域内で最大値から所定値引いた値までの間の輝度値を持つ画素を除いた平均値(以下、「条件付き平均値」と呼ぶ)を求める。
(3) 条件付き平均値と最大値の所定の中間値を求める。所定の中間値は、例えば、条件付き平均値と最大値との距離が等距離の中間値(之を50%の中間値と呼ぶ)にしたり、条件付き平均値と最大値との距離が、1:3の距離の中間値(之を25%の中間値と呼ぶ)にしたりすることができる。なお、何%の中間値にしたら良いのかこのパラメータの設定は、事前に取得した画像郡を入力し、以下のステップ103以下の判定処理を行い、最も判定結果が良好な場合の中間値のパラメータに設定することができる。
(2) 画像の所定領域内で最大値から所定値引いた値までの間の輝度値を持つ画素を除いた平均値(以下、「条件付き平均値」と呼ぶ)を求める。
(3) 条件付き平均値と最大値の所定の中間値を求める。所定の中間値は、例えば、条件付き平均値と最大値との距離が等距離の中間値(之を50%の中間値と呼ぶ)にしたり、条件付き平均値と最大値との距離が、1:3の距離の中間値(之を25%の中間値と呼ぶ)にしたりすることができる。なお、何%の中間値にしたら良いのかこのパラメータの設定は、事前に取得した画像郡を入力し、以下のステップ103以下の判定処理を行い、最も判定結果が良好な場合の中間値のパラメータに設定することができる。
ステップ103:(高輝度領域抽出手段の後半部分の実行)
図5にステップ103の詳細手順を記した。ステップ103は、ステップ501とステップ502の2つのステップからなる。
図5にステップ103の詳細手順を記した。ステップ103は、ステップ501とステップ502の2つのステップからなる。
(1)ステップ501:(2値化手段の実行)
ステップ102で求めた閾値に基づき、画像を2値化する。即ち、画像の各画素の輝度値が閾値以上であれば、その画素の値を1とし、閾値より低ければ0とした2値化画像を作成する。2値化画像により、資料液面の輝度の高い部分が抽出される。輝度の高い部分の位置や形状は、泡やゴミなどの液面の状況や、照明の照射条件や撮影条件に依存する。以降の処理では、輝度の高い部分を所定手順に従って分類していく。
ステップ102で求めた閾値に基づき、画像を2値化する。即ち、画像の各画素の輝度値が閾値以上であれば、その画素の値を1とし、閾値より低ければ0とした2値化画像を作成する。2値化画像により、資料液面の輝度の高い部分が抽出される。輝度の高い部分の位置や形状は、泡やゴミなどの液面の状況や、照明の照射条件や撮影条件に依存する。以降の処理では、輝度の高い部分を所定手順に従って分類していく。
(2)ステップ502:(2値化画像からの領域抽出手段)
2値化画像の画素値1の部分の連結した領域を抽出し、各領域に番号を付して区別する。連結領域の抽出は、以下の手順を実行することにより行われる。
(a)2値化画像の左上から右方向に、右端に行き、左上に戻り先の左上の画素から1画素下の位置に行き、また右方向に進むというようにして、画像をまんべんなくサーチする。
(b)上記(a)のサーチをしている時に、2値化画像の輝度値が1のものがあれば、その点を基点にして、左右、上下、斜め方向も含め、その点を中心に3*3画素の値を見て、画素値が1のものの領域を見つける。
(c)上記(b)で新たに見つけた画素値が1の領域のそれぞれについて、3*3画素の値を見て、それまでに見つけた画像が1の領域以外の新たな画素が1の領域を見つける。
(d)上記(c)で見つかった新たな領域があれば、更に同様の処理を繰り返し、新たに見つかる輝度が1の連結領域がなくなるまで処理を繰りかえす。これにより、輝度が1の連結領域が1つ抽出され、番号を付す。
(e)上記(a)に戻り、過去に抽出した連結領域外の輝度が1の画素を見つけると、同様にその画素と連結した連結領域を抽出し、その番号を付す。
(f)以上を画像をまんべんなくサーチして終了するまで行う。これにより、2値化画像の輝度1の連結領域を抽出し、それぞれの連結領域に番号が付される。
2値化画像の画素値1の部分の連結した領域を抽出し、各領域に番号を付して区別する。連結領域の抽出は、以下の手順を実行することにより行われる。
(a)2値化画像の左上から右方向に、右端に行き、左上に戻り先の左上の画素から1画素下の位置に行き、また右方向に進むというようにして、画像をまんべんなくサーチする。
(b)上記(a)のサーチをしている時に、2値化画像の輝度値が1のものがあれば、その点を基点にして、左右、上下、斜め方向も含め、その点を中心に3*3画素の値を見て、画素値が1のものの領域を見つける。
(c)上記(b)で新たに見つけた画素値が1の領域のそれぞれについて、3*3画素の値を見て、それまでに見つけた画像が1の領域以外の新たな画素が1の領域を見つける。
(d)上記(c)で見つかった新たな領域があれば、更に同様の処理を繰り返し、新たに見つかる輝度が1の連結領域がなくなるまで処理を繰りかえす。これにより、輝度が1の連結領域が1つ抽出され、番号を付す。
(e)上記(a)に戻り、過去に抽出した連結領域外の輝度が1の画素を見つけると、同様にその画素と連結した連結領域を抽出し、その番号を付す。
(f)以上を画像をまんべんなくサーチして終了するまで行う。これにより、2値化画像の輝度1の連結領域を抽出し、それぞれの連結領域に番号が付される。
ステップ104:(統計量取得手段の実行)
上記ステップ103で抽出した高輝度領域(連結領域)の各々について、位置と形状を表す各統計量を計算する。後の処理では、これら統計量を利用して、各高輝度領域の由来を判定する。
上記ステップ103で抽出した高輝度領域(連結領域)の各々について、位置と形状を表す各統計量を計算する。後の処理では、これら統計量を利用して、各高輝度領域の由来を判定する。
図7に、ステップ104の詳細を記した。ステップ104は、ステップ701、ステップ702、ステップ703の3つのステップからなる。
ステップ701:(画像座標系で算出できる統計量を求める手段の実行)
画像座標系で算出できる統計量には例えば以下のものがある。座標系には任意のものを用いることができるが、本実施例では画像中心を原点とした極座標系(円座標系)を用いることにした。
・統計量1:領域の面積。
・統計量2:画像中心から領域重心までの距離。
・統計量3:画像中心から領域の最短距離。
・統計量4:画像中心から領域の最長距離。
・統計量5:領域の重心の位置座標。
・統計量6:領域の円の度合いを反映した量1(下記のE1)。
(数1)
E1 = pai * sqrt((2*v)/pai)/s
ただし、paiは円周率、sqrtは平方根を取る演算、vは領域の重心から各領域内の点の距離を2乗した値を加算したもの、sは領域の面積である。
画像座標系で算出できる統計量には例えば以下のものがある。座標系には任意のものを用いることができるが、本実施例では画像中心を原点とした極座標系(円座標系)を用いることにした。
・統計量1:領域の面積。
・統計量2:画像中心から領域重心までの距離。
・統計量3:画像中心から領域の最短距離。
・統計量4:画像中心から領域の最長距離。
・統計量5:領域の重心の位置座標。
・統計量6:領域の円の度合いを反映した量1(下記のE1)。
(数1)
E1 = pai * sqrt((2*v)/pai)/s
ただし、paiは円周率、sqrtは平方根を取る演算、vは領域の重心から各領域内の点の距離を2乗した値を加算したもの、sは領域の面積である。
上記 E1は、円であれば1、円から外れた形状になると、円からの外れ具合を反映して1より大きな値になる。vやsは離散誤差があり、小さい領域ではE1は1より小さな値になる時もある。
・統計量7:領域がドーナッツ状の場合に、内部に円を書いたものも含めた形状の円の度合いを反映した量2(下記のE2)
(数2)
E2 = pai * sqrt((2*v/pai+vmin*vmin*vmin*vmin)/(s+pai*vmin*vmin)
ただし、vminは領域の重心から、その領域の各画素の中で距離が最も短い所の距離。領域がドーナッツ型の場合、内部の中空域の半径にあたる。この時、内部の中空域に円を塗りつぶしたものも含む形状の円の度合いを反映した量になる。
・統計量7:領域がドーナッツ状の場合に、内部に円を書いたものも含めた形状の円の度合いを反映した量2(下記のE2)
(数2)
E2 = pai * sqrt((2*v/pai+vmin*vmin*vmin*vmin)/(s+pai*vmin*vmin)
ただし、vminは領域の重心から、その領域の各画素の中で距離が最も短い所の距離。領域がドーナッツ型の場合、内部の中空域の半径にあたる。この時、内部の中空域に円を塗りつぶしたものも含む形状の円の度合いを反映した量になる。
以上のように、抽出した各領域について、例えば画像中心を基点にした各種統計量を計算する。
ステップ702:(液面直接反射光の領域を仮決めする手段の実行)
各領域の中から、液面直接反射光を由来とする高輝度領域を仮決めする。液面直接反射光は、例えばリング照明211からの光線が液面で直接反射されたものである。以下、照明からの光線が対象に直接当たって反射されているものを直接反射光といい、他のものに一度当たってから対象に当たって反射されているものを2次反射光ということにする。
各領域の中から、液面直接反射光を由来とする高輝度領域を仮決めする。液面直接反射光は、例えばリング照明211からの光線が液面で直接反射されたものである。以下、照明からの光線が対象に直接当たって反射されているものを直接反射光といい、他のものに一度当たってから対象に当たって反射されているものを2次反射光ということにする。
例えば、上記「統計量6」の「円の度合い1(E1)」が所定量より小さく(円に近く)、更に、「統計量1」の「面積」が所定量より小さいものを液面直接反射光の領域の候補とし、これ等の候補の中から、画像の所定の範囲内で「統計量1」の「面積」が最大のものを探し、その内側に別の候補があれば、最も内側のものを液面直接反射光の領域と仮決めし、内側に別の候補がなければ、それを液面直接反射光の領域と仮きめすることにより決めることができる。なお、仮決めする液面直接反射光の領域がない場合は、仮決めする液面直接反射光の領域の重心は画像中心とする。これは、液面直接反射光は、画像の中心付近にある所定の大きさのものが多いという知見に基づく。
ステップ703:(液面直接反射光の領域の重心を中心とした統計量を求める手段の実行)
ステップ702で求めた液面直接反射光の領域の重心を用いて、例えば、以下の統計量を求める。
ステップ702で求めた液面直接反射光の領域の重心を用いて、例えば、以下の統計量を求める。
統計量8:液面直接反射光の領域の重心を中心として、液面直接反射光の重心から着目する連結領域(着目領域)の重心に向かう線を縦座標、それと直交する座標を横座標として座標変換し、着目領域の縦方向に中空部分があればそれを除外した厚みを求め、縦方向の厚みの最大値に対する横方向の幅の割合(縦射影の横長度と呼ぶ)。ただし、縦方向の厚みの最大値は、横方向の所定の端の部分については評価しないこともできる。
統計量9:液面直接反射光の領域の重心を中心として、液面直接反射光の重心から着目領域の重心に向かう線を縦座標、それと直交する座標を横座標として座標変換し、着目領域の縦方向に中空部分を入れた厚みを求め、縦方向の厚みの最大値に対する横方向の幅の割合(縦中空有りの横長度と呼ぶ)。ただし、縦方向の中空部分を入れた厚みの最大値は、横方向の所定の端の部分については評価しないこともできる。
ステップ105:(高輝度領域種分け手段の実行)(図8)
ステップ104で取得した統計量を基に、各高輝度領域を種分けする。ステップ105では、各種統計量から各高輝度領域の種分けをする。高輝度領域の種類としては、液面の直接反射光由来の領域、液面の2次反射光由来の領域、泡表面の直接反射光由来の領域、泡表面の2次反射光由来の領域、およびゴミその他による領域等がある。
ステップ104で取得した統計量を基に、各高輝度領域を種分けする。ステップ105では、各種統計量から各高輝度領域の種分けをする。高輝度領域の種類としては、液面の直接反射光由来の領域、液面の2次反射光由来の領域、泡表面の直接反射光由来の領域、泡表面の2次反射光由来の領域、およびゴミその他による領域等がある。
本実施例の用途においては、液面と泡を弁別することが重要であり、液面の直接反射光、2次反射光を特定することが重要である。光源の光軸と試験管の中心軸が一致し、光が平らな液面に垂直に入射すれば、液面の直接反射光は画像中央で光源の形を反映し、液面の2次反射光はリング状になることが多い。しかし、実際には軸はずれ、液面は平らではない。
また、泡は丸く歪んでいるため反射光の作用も複雑である。泡の2次反射光には、光が試験管内壁に当たってから泡表面に当たり反射されるもの、光が液面に当たってから泡表面に当たり反射されるものがある。場合によっては、試験管の壁で反射し、液面で反射し、更に泡表面で反射する3次以上の反射光もあるが、実用上2次反射光に含めて考えてよい。
ステップ105ではステップ104で得た特徴量を駆使した種分けによって、泡表面の直接反射光由来の領域、および、泡表面の2次反射光由来の領域を抽出し、泡候補を選定する。特徴量の解釈の仕方は複雑であり多岐に渡る。代表的なものを挙げると、例えば、以下の種分けを行う。
「統計量1」の「面積」が所定量より大きいもの(面積大のもの)。これは、液面での2次反射光由来の領域である可能性が高い。上記所定量はパラメータとして予め定めておく(以下の各所定量も同様)。
「統計量6」の「円の度合いを示した量1」が所定量より大きいもの(円から離れたもの)。これは、液面での2次反射光由来の領域である可能性が高い。
「統計量8」の「縦射影の横長度」が所定量より大きいもの(横長のもの)。これは、液面での2次反射光由来の高輝度領域であるものが多い。
液面での2次反射光は理想的にはリング状になることが多いが、実際には三日月型のリング断片になることが多い。よって、所定の大きさで横長の高輝度領域を、液面の2次反射光由来の領域と判定する。
「統計量9」の「縦中空有りの横長度」が所定量より小さいもの(中空のもの)。中空のものとは、例えば高輝度領域の形状が、O型、H型、U型のようなものである。これは、泡の膜の曲面で2次反射した高輝度領域であるものが多く、他の種分けより優先して泡の2次反射光と判定する。
上記ステップ702で仮決めした液面直接反射光の領域があれば、それが液面直接反射光の領域になり、なければ、上記までで種分けされていないものの中で、最大の面積を持つものを液面直接反射光と判定する。
また、液面直接反射光と種分けされた領域から所定距離D1内にある高輝度領域を、泡でないものと種分けする。大きな泡は試験管の内壁側に付着して形成されやすく、そのため、画像中心あるいは液面直接反射光に近く、単独にある高輝度領域は泡でなくゴミ等である可能性が高い。
図8は、液面を上から撮影した画像の模式図であり、四角いラック202の中に円形の試験管201納められている状況を想定したものである。図中の黒い部分の輝度が高く、白い部分の輝度が低い。
例えば、図8の場合、統計量1と統計量6により、撮影画像801の領域811は所定の大きさの範囲の円形であるために、液面直接反射光と種分けされる。領域811の近傍にあるゴミ821は、液面直接反射光と種分けされた領域811から所定距離D1内にあるとし、泡でないものと種分けすることができる。
また、液面直接反射光と種分けされた領域から所定距離D2(D2>D1)内にあり、液面直接反射光の領域までの距離の間にある画像輝度の最大値と最小値の差が所定内にある高輝度領域を泡でないものと種分けする。液面直接反射光から少し遠い位置にある、ゴミか泡かが距離D1のみからは判定できない高輝度領域は、輝度変化をチェックする。高輝度領域が泡由来のものであれば、泡の内側と外側で濃度(輝度)が違うため、輝度変化があれば泡、なければゴミ等と判定することができる。
例えば、図8の場合、ゴミ822は、液面直接反射光と種分けされた領域811から所定距離D2内にあり、ゴミ822から液面直接反射光の領域811までの間にある画像輝度の最大値と最小値が所定内にあるので泡でないと種分けすることができる。
上記種分けで統計量9で(中空のもの)に種わけたものに加え、上記種わけに当たらなかったものは、泡での反射光由来の領域と判定し、泡候補とする。
泡候補と種分けされた領域の中心から所定距離内に、他の高輝度領域がある場合は、この高輝度領域は小さな泡で、検知すべき泡でないとして泡候補から外す。なお、この泡候補から外すものは、面積が所定内より小さいものであるなど条件を入れることもできる。
小さい泡は、高輝度点が弱いため、高輝度点の抽出ステップ103で閾値により除外できるものが多い。しかし、液面2次反射光のリング上あるいは近傍にある小さい泡は、泡全体が高輝度点に映る場合がある。この時、リングと泡の境は暗くなり、領域抽出すると、小さな円状の泡と、小さな円状の泡を内包したリング(リングは途切れている場合もある)になる場合がある。
例えば、図8の場合、小さな泡824は、この領域の中心から所定内に、別の高輝度領域812(ここでは、管壁で反射し更に液面で反射する2次反射光由来のリング状領域)があるので、小さな泡と判断し、検知すべき泡でないとして泡候補から外すことができる。
その他にも、例えば図8の場合、ゴミ823は、この高輝度領域から液面直接反射光811へ向かう途中に、泡の有無を判定する所定の判定円800まで辿り着かないうちに、別の高輝度領域812があるため、ゴミ、または、所定の判定円800の中にまで行かない泡で、所定の領域内の泡でないと種分けし、泡検知から外れるようにすることもできる。これは、一つの泡の範囲内には、分離した複数の高輝度領域が含まれることが考えにくいという知見による。
なお、判定円800は判定処理のための基準を示すものであり、撮影画像801に含まれるものではない。判定円800は、例えば液体試料200の液面において、分注プローブ先端302の接触が想定される範囲の外縁であり、判定円800内側の泡の有無を検知することが重要である。
その他、ゴミや小さい泡、所定の領域にない泡を、その特徴を掴んだ統計量を基に、泡でないものとして種分けすることができる。
ステップ106:(泡範囲推定手段の実行)
上記ステップ105で(泡候補)となった高輝度領域について、泡の範囲を推定する。例えば以下のように推定する。
上記ステップ105で(泡候補)となった高輝度領域について、泡の範囲を推定する。例えば以下のように推定する。
「統計量6」の「領域の円の度合いを反映した量1」が所定量以下の場合(所定の丸さを持った場合)、「統計量1」の「面積」の平方根に所定の値を掛けた値を泡径とする。即ちこの泡候補の領域の中心からここで算出した泡径までの距離を泡の範囲と推定する。このほか、以上の泡径の推定距離に所定量のオフセットを載せ、泡径の推定値を増減することもできる。
「統計量6」の「領域の円の度合いを反映した量1」が所定量より大きい場合(所定の丸さを持たない場合)、この泡候補の領域の輪郭から所定の距離を泡の範囲とする。
図9と図10に、以上の泡範囲推定の様子を示す。撮影画像901には、(泡候補)となった高輝度領域が911〜914まで4つあり、それらの泡膜が921〜924まである。泡膜921〜924は、実際の撮影画像901からは見えない(あるいは見えにくい)ので推定する必要がある。泡の有無を判定する所定の判定円800には、泡膜922と泡膜924が入っており、高輝度領域922と924は所定の範囲に泡が入っていると判定される必要がある。領域913,914は「統計量9」の「縦中空有りの横長度」が所定量より小さいものとして抽出されている。
図10に、(泡候補)となった高輝度領域が911〜914について、上記の泡範囲推定手段で泡を推定した推定距離1031〜1034を示した。所定の丸さを持つ高輝度領域911と912は、それぞれ、上記所定の丸さを持つ場合の推定方法で泡の推定をし、所定の丸さを持たない高輝度領域913と914は、上記所定の丸さを持たない場合の推定方法で泡の範囲を推定している。泡範囲の推定では、必ずしも、泡膜まで正確に推定はできないが、近い範囲を推定し、実用上、以下のステップ107の泡範囲の判定に供することができる。
ステップ107:(所定内に泡があるか否か判定する泡判定手段の実行)
上記ステップ106で推定した泡の範囲に基づき、画像の中心から所定内(例えば判定円800内)に泡の範囲が入っているものが一つでもある場合、泡有りと判定する。画像の中心から所定内に泡の範囲が入っているものが一つもない場合は泡なしと判定する。
上記ステップ106で推定した泡の範囲に基づき、画像の中心から所定内(例えば判定円800内)に泡の範囲が入っているものが一つでもある場合、泡有りと判定する。画像の中心から所定内に泡の範囲が入っているものが一つもない場合は泡なしと判定する。
図1の各処理で行われる判定のための所定値(パラメータ)や閾値算出のルールは、予めユーザが設定しておき、例えば、記憶装置214のデータベース233に格納しておく。パラメータ等は、液体試料200の種類や容量、試験管201の種類や容量、自動分析装置400の動作条件によって変更することが好ましい。すなわち、液体試料200の粘度や分量、試験管201の大きさや形状、搬送機構401の搬送速度やリング照明211の照射条件によって変更することが望ましい。このため、例えばユーザは、予め各種条件下で液体試料の状態と画像データを比較し、パラメータ等を決めておくことができる。そして、各条件に合わせて、パラメータ等を複数準備して、データベース233に格納しておき、測定時の条件に合わせて適切なものを選択し、メモリ232にダウンロードし、図1の処理に用いればよい。
(1−6)2つの閾値を利用する高輝度領域抽出手段について
高輝度領域抽出手段は、上記(1−5)では、ステップ102で閾値を1つ決定し、ステップ103で、その閾値に基づいて2値化した画像を1つ作り、高輝度領域を抽出した。
高輝度領域抽出手段は、上記(1−5)では、ステップ102で閾値を1つ決定し、ステップ103で、その閾値に基づいて2値化した画像を1つ作り、高輝度領域を抽出した。
その他にも、数多くの高輝度領域の抽出方法がある。一例として、ここでは、2つの閾値を求め、2つの2値化した画像を作り高輝度領域を抽出する方法を記す。
ステップ102のその他の例:(2閾値決定手段の実行)
上記(1−5)のステップ2で説明した中間値を2つ求め、2つの閾値とする。例えば、50%の中間値と25%の中間値など、所定の2つの中間値のパラメータに基づき、2つの閾値を求める。
上記(1−5)のステップ2で説明した中間値を2つ求め、2つの閾値とする。例えば、50%の中間値と25%の中間値など、所定の2つの中間値のパラメータに基づき、2つの閾値を求める。
ステップ103のその他の例
(1) ステップ501のその他の例(2つの2閾値化画像を作成する手段の実行)。上記の2つの閾値に基づいて2値化した画像を2つ作成する。
(2) ステップ502のその他の例(2つの2値化画像による領域抽出手段の実行)。上記の2つの2値化画像について、輝度の高い閾値に基づいて2値化した2値化画像を種にし、輝度の低い閾値に基づいて2値化した2値化画像を領域拡張の参照画像として領域拡張して各高輝度領域を抽出する。
(1) ステップ501のその他の例(2つの2閾値化画像を作成する手段の実行)。上記の2つの閾値に基づいて2値化した画像を2つ作成する。
(2) ステップ502のその他の例(2つの2値化画像による領域抽出手段の実行)。上記の2つの2値化画像について、輝度の高い閾値に基づいて2値化した2値化画像を種にし、輝度の低い閾値に基づいて2値化した2値化画像を領域拡張の参照画像として領域拡張して各高輝度領域を抽出する。
図6に、上記の2つの閾値を用いた2値化画像を利用した高輝度領域の抽出処理の模式図を示した。以下、図6を用いて、説明する。
撮影画像の例601には、液面での直接反射光の高輝度領域611と、管壁で一旦反射して液面で更に2次反射したリング状のやや高輝度の領域612と、その中でゴミ等により高輝度になった突発的な不安定要因による高輝度領域613、および614がある。また、泡で直接反射した高輝度領域615と薄い泡膜616があり、更に、やや高輝度のゴミ617、背景部の高輝度領域618がある。
撮影画像の例601を2つの閾値のうちの輝度の高い方の閾値で2値化する処理692により2値化した画像602は、液面直接反射光の高い閾値の2値化領域621と、リング状の中の不安定要因による高い閾値の2値化領域623と624、泡での直接反射の高い閾値の2値化領域625、背景部の高い閾値の2値化領域618がある。ここでは、リング状の管壁を経由して液面で2次反射したやや高輝度の領域612は出てこず、薄い泡膜616ややや高輝度のゴミは出て来ない。
撮影画像の例601を、低い方の閾値で2値化する処理693により2値化した画像603は、液面直接反射光の低い閾値の2値化領域631と、リング状の低い閾値の2値化領域632、泡での直接反射の低い閾値の2値化領域635と、やや高輝度のゴミの低い閾値の2値化領域637、背景部の低い閾値の2値化領域618がある。ここでも、薄い泡膜616は出て来ない。
高い閾値の2値化画像602を種にして低い閾値の2値化画像を参照して領域拡張する。例えば、2値化画像602の2値化領域623と624に対応する、2値化画像603の領域(座標)を参照し、当該領域を2値化画像603の領域632に領域拡張して抽出する。これによると、液面直接反射の領域641(之は631と一致する)と、リング領域642(之は632と一致する)と、泡での直接反射の領域645(之は635と一致する)と背景部の領域648(之は638と一致する)が抽出される。
もし、高い閾値の2値化画像602だけで領域抽出すると、リング領域642は抽出されず、不安定要因による高い閾値の2値化領域623と624が抽出され、泡での直接反射光の領域625と形態の区別が付き難く、泡と誤認する原因になる。
また、もし、低い閾値の2値化画像603だけで領域抽出すると、ゴミの低い閾値の2値化領域637が抽出され、これも、泡での直接反射光の領域625と形態の区別が付き難く、泡と誤認する原因になる。
以上のように、2つの閾値を用いて領域抽出すると、やや低い輝度を持ったゴミを抽出せず、高い輝度を持ったリングでの不安定領域もリングとして安定に抽出するため、泡と誤認することが少なくなり、安定に泡の検知ができる利点がある。このように、図6の手法をもちいると、図8の高輝度領域812のようなリング状の領域を安定して検出することができる。
(1−7)2つの閾値を利用する高輝度領域抽出手段の数々について
以上の(1−5)、(1−6)では、閾値を用いて2値化画像を作成して領域抽出したが、その他にも、数多くの2値化方法が提案されており、それらの方法も用いることができる。例えば、画像のエッジを抽出し、輝度だけでなく、エッジがあれば領域拡張を止めることを加えた領域拡張方法や、画像の小さな領域毎に閾値を変化させて領域拡張する方法などを用いることもできる。その他にも、画像にポテンシャルを定義して領域を分割する方法など、数多くの方法が提案されており、それらを用いることもできる。
以上の(1−5)、(1−6)では、閾値を用いて2値化画像を作成して領域抽出したが、その他にも、数多くの2値化方法が提案されており、それらの方法も用いることができる。例えば、画像のエッジを抽出し、輝度だけでなく、エッジがあれば領域拡張を止めることを加えた領域拡張方法や、画像の小さな領域毎に閾値を変化させて領域拡張する方法などを用いることもできる。その他にも、画像にポテンシャルを定義して領域を分割する方法など、数多くの方法が提案されており、それらを用いることもできる。
(1−8)その他
以上の実施例では、撮影は、試験管上部から行ったが、斜め上等、泡の状態を観測できる角度から撮影することができる。また、上記では泡が高輝度点の領域として捕らえたが、低輝度や中輝度の領域として映る場合は、高輝度点を抽出する2値化ではなく、低輝度領域を抽出する2値化や中期度領域を抽出することもできる。
以上の実施例では、撮影は、試験管上部から行ったが、斜め上等、泡の状態を観測できる角度から撮影することができる。また、上記では泡が高輝度点の領域として捕らえたが、低輝度や中輝度の領域として映る場合は、高輝度点を抽出する2値化ではなく、低輝度領域を抽出する2値化や中期度領域を抽出することもできる。
以上の実施例では、高輝度領域を抽出し、抽出した高輝度領域の位置や形状に着目した統計量を計算して、抽出した高輝度領域の種分けを行い、泡判定を行った。この他にも、エッジの領域を抽出し、エッジ領域の位置や形状に着目した統計量を計算して、抽出したエッジ領域の種分けを行い、泡判定を行うこともできる。また、高輝度領域の抽出とエッジ領域の抽出の双方を行い、それぞれの特徴に合った統計量を計算して、それぞれの抽出した領域の種分けをして、双方の種分けから総合的に泡判定を行うこともできる。
例えば、エッジを示す量は、着目点を囲む3*3領域の中の着目点を除く8点の平均値と着目点との差で求めることができる。エッジ領域の抽出は、求めたエッジを示す量が所定値より大きいものを2値化した2値化画像を求め、この2値化画像を上記実施例のステップ502と同様な処理を行ってエッジの領域の抽出を行うことができる。また、上記(1−6)のように、閾値を2つ用意し、2つの閾値で2値化したエッジ領域画像2つから、安定したエッジ領域を抽出することもできる。
その他、エッジを示す量を着目点から周囲の点の差が最も高い値と輝度変化方向のベクトルとして現すこともできる。エッジの抽出は、エッジのベクトルが隣り合うもの同士、それぞれ双方の所定角度内で最大である場合は結びつくものとして、結び付くものを抽出することによりエッジ領域の抽出を行うこともできる。この場合、安定してエッジを抽出することができるという利点がある。また、着目点から所定の距離内のエッジの方向を所定内にする制限を加えたり、エッジの方向変化を所定内にするといったエッジの方向の変化に制限を加えることにより、なめらかなエッジ領域を抽出することもできる。
抽出したエッジ領域の統計量は、例えば、エッジ領域が中心(x0,y0)、半径rの円上にあるとして、エッジがその円上から離れた距離の2乗和が最小になるような、中心(x0,y0)、半径rを求め、そのエッジ領域の統計量の一つにすることもできる。この場合、泡であれば、円状(多少いびつな場合有り)にエッジがあるので、泡の中心(いびつな場合は中心付近)が、ここで求めた上記中心(x0,y0)となる。また、同一の泡のエッジが途切れていて、複数のエッジ領域になっていても、これ等の上記中心(x0,y0)は、各々近い値になり、同一の泡のエッジであることが分る。そして、泡であれば、泡での一次反射の高輝度領域の重心と、上記中心(x0,y0)も、近い値になっている。液面下の分離剤の場合は、エッジがあっても一次反射の高輝度領域が見えない場合があり、エッジの上記中心(x0,y0)の近くに高輝度領域の重心がないので、これは泡でなく、分離剤であることも分る。
その他、エッジ領域の統計量として、曲率や、それに類する単位長さ当たりの方向の変化を示す値を計算することもできる。また、高輝度領域の縁にあたるエッジ領域は、高輝度域が一次反射と二次反射が重なって抽出された場合、両者を分離できるエッジ領域が抽出されている場合があり、高輝度領域を一次反射と二次反射の2つの部分に分け、その面積や位置関係からどちらが一次反射でどちらが二次反射か知ることもできる。また、高輝度領域が大きい場合、その縁に当たるエッジ領域の曲率や上記中心(x0,y0)と、その近傍にある高輝度領域の有無や大きさ等を見ることにより、泡表面での2次反射なのか、液面の1次、または2次反射なのか、膜による反射なのかなど、より細かく種分けをして泡検知することができる。
(2)第2の実施例
以下、本発明の第2の実施例を記す。
以下、本発明の第2の実施例を記す。
(2−1)構成
第2の実施例のハードウェア構成は、上記第1の実施例に記載した構成と同じである。処理において異なる部分を以下に説明する。各処理に対応するプログラムはメモリ232に格納されるものとする。
第2の実施例のハードウェア構成は、上記第1の実施例に記載した構成と同じである。処理において異なる部分を以下に説明する。各処理に対応するプログラムはメモリ232に格納されるものとする。
(2−2)第2の実施例における泡検知処理のフロー(図11)
図11は、第2の実施例における泡検知処理のフロー図である。
第1の実施例における泡検知処理のフローの図1と比較すると、図1のステップ102が図11のステップ102aになり、ステップ100がパラメータを変えたステップ100aと100bの2つあり、パラメータを変えた2系統の処理になった。また、この2系統の処理に伴い、泡判定の処理結果が2つ出ることから、それ等を統合して最終的に泡の有無を判定する総合判定のステップ1108を追加した。これ等の追加・変更があるので、泡判定ステップ110が泡判定ステップ1110になった。
図11は、第2の実施例における泡検知処理のフロー図である。
第1の実施例における泡検知処理のフローの図1と比較すると、図1のステップ102が図11のステップ102aになり、ステップ100がパラメータを変えたステップ100aと100bの2つあり、パラメータを変えた2系統の処理になった。また、この2系統の処理に伴い、泡判定の処理結果が2つ出ることから、それ等を統合して最終的に泡の有無を判定する総合判定のステップ1108を追加した。これ等の追加・変更があるので、泡判定ステップ110が泡判定ステップ1110になった。
以下、図11について、上記変更・追加部のみについて、以下説明する。
ステップ102a:(第2の実施例における高輝度領域抽出手段の前半部分(3つの閾値の決定手段)の実行)
上記第1の実施例のステップ102と同様の手順で条件付き中間値を3つ求める。例えば、50%の中間値と25%の中間値と15%の中間値の3つを求め、これ等を3つの閾値とする。
上記第1の実施例のステップ102と同様の手順で条件付き中間値を3つ求める。例えば、50%の中間値と25%の中間値と15%の中間値の3つを求め、これ等を3つの閾値とする。
ステップ100a:(上・中2つの閾値に基づいて2値化し領域抽出・種分け・泡膜推定・泡判定を行う手段の実行)
ステップ102aで求めた3つの閾値のうち、輝度の高い閾値に基づいて画像を2値化した2値化画像を種にし、輝度の中間の閾値に基づいて2値化した2値化画像を領域拡張の参照画像として領域拡張し、各高輝度領域を抽出する(第1の領域拡張手段の実行)。そして、ステップ100の中のステップ104、105、106、107の処理と同じ処理を実行し、泡の有無を判定する。
ステップ102aで求めた3つの閾値のうち、輝度の高い閾値に基づいて画像を2値化した2値化画像を種にし、輝度の中間の閾値に基づいて2値化した2値化画像を領域拡張の参照画像として領域拡張し、各高輝度領域を抽出する(第1の領域拡張手段の実行)。そして、ステップ100の中のステップ104、105、106、107の処理と同じ処理を実行し、泡の有無を判定する。
ステップ100b:(上・下2つの閾値に基づいて2値化し領域抽出・種分け・泡膜推定・泡判定を行う手段の実行)。
ステップ102aで求めた3つの閾値のうち、輝度の高い閾値に基づいて画像を2値化した2値化画像を種にし、輝度の低い閾値に基づいて2値化した2値化画像を領域拡張の参照画像として領域拡張し、各高輝度領域を抽出する(第2の領域拡張手段の実行)。そして、同様に、ステップ100の中のステップ104、105、106、107の処理と同じ処理を実行し、泡の有無を判定する。
なお、輝度の高い閾値に基づいて画像を2値化するのは、ステップ100aでも行っており、ステップ100bではこの処理は省き、上記100aの2値化画像を使用することができる。結果として、3つの閾値のそれぞれについて2値化画像を作成する(3つの2値化画像取得手段の実行)ことになる。第1および第2の領域拡張手段による処理の原理は、図6で説明したものと同様である。
ステップ1108:(泡総合判定手段の実行)
上記ステップ100aと上記ステップ100bの2つの泡判定結果を基に、泡があるか否か総合判定をする。例えば、2つの泡判定結果が、共に泡有りの時のみ、泡有りとし、他は泡なしと総合判定することができる。
上記ステップ100aと上記ステップ100bの2つの泡判定結果を基に、泡があるか否か総合判定をする。例えば、2つの泡判定結果が、共に泡有りの時のみ、泡有りとし、他は泡なしと総合判定することができる。
(2−3)第2の実施例の特徴
第2の実施例は、上・中・下の3つの閾値を用い、上と中の閾値を用いた泡判定結果と、上・下の閾値を用いた泡判定結果の双方を用いて総合判定する。例えば、上と中の閾値を用いた第1の領域拡張で、領域拡張を十分行えないために泡でないのに泡と判定してしまった場合に、上と下の閾値を用いた第2の領域拡張で、領域拡張が十分行えて、泡でないと正しく判定できる場合がある。このような場合、総合判定1108で、双方が泡と判定しない限り泡と判定しないことにすれば、一方が泡無しという正しい判定を行うことにより、正しく泡無しと判定できることが増えるという利点がある。
第2の実施例は、上・中・下の3つの閾値を用い、上と中の閾値を用いた泡判定結果と、上・下の閾値を用いた泡判定結果の双方を用いて総合判定する。例えば、上と中の閾値を用いた第1の領域拡張で、領域拡張を十分行えないために泡でないのに泡と判定してしまった場合に、上と下の閾値を用いた第2の領域拡張で、領域拡張が十分行えて、泡でないと正しく判定できる場合がある。このような場合、総合判定1108で、双方が泡と判定しない限り泡と判定しないことにすれば、一方が泡無しという正しい判定を行うことにより、正しく泡無しと判定できることが増えるという利点がある。
(3)第3の実施例
以下、本発明の第3の実施例を記す。
以下、本発明の第3の実施例を記す。
(3−1)構成
第3の実施例のハードウェア構成は、上記第1の実施例に記載した構成と同じである。
第3の実施例のハードウェア構成は、上記第1の実施例に記載した構成と同じである。
(3−2)第3の実施例における泡検知処理のフロー(図12)
図12は、第3の実施例における泡検知処理のフロー図である。第2の実施例における泡検知処理のフローの図11と比較すると、図11のステップ102aが図12のステップ102bになり、ステップ100aと100bの他に、ステップ100cとステップ100dを追加し、4系統の処理になった。この4系統の処理に伴い、泡判定の処理結果が4つ出ることから、ステップ1208でそれらを総合的に泡判定する。これ等の追加・変更があるので、ステップ1110がステップ1210になった。
図12は、第3の実施例における泡検知処理のフロー図である。第2の実施例における泡検知処理のフローの図11と比較すると、図11のステップ102aが図12のステップ102bになり、ステップ100aと100bの他に、ステップ100cとステップ100dを追加し、4系統の処理になった。この4系統の処理に伴い、泡判定の処理結果が4つ出ることから、ステップ1208でそれらを総合的に泡判定する。これ等の追加・変更があるので、ステップ1110がステップ1210になった。
以下、図12について、上記変更・追加部に着目して以下説明する。
ステップ102b:(輝度の高い画像に合わせた、閾値決定手段と、輝度の低い画像に合わせた、閾値決定手段の実行)
上記第1の実施例のステップ102と同様の手順で条件付き中間値を6つ求める。例えば、輝度の高い画像に合わせた3つの中間値(閾値)と、輝度の低い画像に合わせた3つの中間値(閾値)を作る。
上記第1の実施例のステップ102と同様の手順で条件付き中間値を6つ求める。例えば、輝度の高い画像に合わせた3つの中間値(閾値)と、輝度の低い画像に合わせた3つの中間値(閾値)を作る。
ステップ100a、ステップ100b、ステップ1108:(第1の高輝度抽出手段と泡総合判定手段の実行)
上記、ステップ102bの輝度の高い画像に合わせた3つの中間値(閾値)に基づき、第2の実施例と同様に、高輝度領域を抽出し、ステップ1108で泡の総合判定をする(第1の総合泡判定)。
上記、ステップ102bの輝度の高い画像に合わせた3つの中間値(閾値)に基づき、第2の実施例と同様に、高輝度領域を抽出し、ステップ1108で泡の総合判定をする(第1の総合泡判定)。
ステップ100c、ステップ100d、ステップ1108cd:(第2の高輝度抽出手段と泡総合判定手段の実行)
上記、ステップ102bの輝度の低い画像に合わせた3つの中間値(閾値)に基づき、第2の実施例と同様に、高輝度領域を抽出し、ステップ1108cdで泡の総合判定をする(第2の総合泡判定)。
上記、ステップ102bの輝度の低い画像に合わせた3つの中間値(閾値)に基づき、第2の実施例と同様に、高輝度領域を抽出し、ステップ1108cdで泡の総合判定をする(第2の総合泡判定)。
なお、泡の範囲の推定に用いるパラメータ等、詳細のパラメータは、ステップ100cや100dは、ステップ100aや100bと異なったパラメータに設定することもできる。
ステップ1209:(泡包括判定手段の実行)
上記、ステップ1108で得られた第1の総合泡判定結果とステップ1108cdで得られた第2の総合泡判定結果から更に包括的に泡判定を行う。
上記、ステップ1108で得られた第1の総合泡判定結果とステップ1108cdで得られた第2の総合泡判定結果から更に包括的に泡判定を行う。
例えば、第1の総合泡判定結果と第2の総合泡判定結果のどちらか一方が泡と判定されている場合は、泡有りとすることなどができる。
また、どちらか一方の総合泡判定で泡有りと判断しても、直ぐに包括判定で泡有りとせずに、他方の総合泡判定の前の2つの泡判定をチェックして、そのどちらかで泡有りと判定していれば、包括判定で泡有りと判定することも可能である。また、総合泡判定で泡有りと判断した泡候補が本当に泡であるか、他方の総合泡判定の前に行われた領域データや2値化画像をみて、再度詳細に泡か否か判断することなどもできる。
(3−3)第3の実施例の特徴
第3の実施例は、第2の実施例を2つ備えて包括的に判定を行ったものである。高い輝度を持つ画像に合わせた閾値で泡を総合判定した第1の総合判定結果だけでは、低い輝度を持つ画像に対応できない場合、低い輝度を持つ画像に合わせた閾値で泡を総合判定した第2の総合判定結果も加えて、低い輝度を持つ画像にも対応した泡判定結果ができる。また、内部で4つの判定結果を持つことから、泡候補の状態を更に詳細に調べることができ、より確かな泡判定をできるという利点がある。
第3の実施例は、第2の実施例を2つ備えて包括的に判定を行ったものである。高い輝度を持つ画像に合わせた閾値で泡を総合判定した第1の総合判定結果だけでは、低い輝度を持つ画像に対応できない場合、低い輝度を持つ画像に合わせた閾値で泡を総合判定した第2の総合判定結果も加えて、低い輝度を持つ画像にも対応した泡判定結果ができる。また、内部で4つの判定結果を持つことから、泡候補の状態を更に詳細に調べることができ、より確かな泡判定をできるという利点がある。
(4)第4の実施例
(4−1)構成
本発明の第4の実施例のハードウェア構成概要は、上記第1の実施例に記載した構成と同じである。実施例1〜実施例3では、処理に用いるパラメータや閾値は、ユーザがデータベースとして複数準備し、液体試料200の種類や容量、その他の分析時の条件に応じて、ユーザが選択する例を示した。実施例4では、ニューラルネットワークにより撮影画像の種わけを行い、自動的にパラメータ等を選択する例を示す。ニューラルネットワークはソフトウェアで実装してもよいし、図2のアクセラレータ234でハードウェアとして実装してもよい。
(4−1)構成
本発明の第4の実施例のハードウェア構成概要は、上記第1の実施例に記載した構成と同じである。実施例1〜実施例3では、処理に用いるパラメータや閾値は、ユーザがデータベースとして複数準備し、液体試料200の種類や容量、その他の分析時の条件に応じて、ユーザが選択する例を示した。実施例4では、ニューラルネットワークにより撮影画像の種わけを行い、自動的にパラメータ等を選択する例を示す。ニューラルネットワークはソフトウェアで実装してもよいし、図2のアクセラレータ234でハードウェアとして実装してもよい。
実施例4では、撮影画像の中心からの半径毎のヒストグラムを作成したヒストグラムマップを作成する。そして、ニューラルネットワークはヒストグラムマップを参照して、撮影画像の種分けを行い、種分けされた種類に応じて、その後の処理のパラメータを設定する。液体試料200の種類や容量、その他の分析時の条件が同じでも、液面の状態は同じとは限らないので、本実施例では、より精密なパラメータ設定が可能である。
(4−2)第4の実施例の処理フローを実施する装置
図13は、第4の実施例の処理フローである。ステップ101はカメラ212が行い、ステップ1310は情報処理装置213が所定のプログラム等に基づいて実行し、ステップ1300はネットワーク218に接続した計算装置221が行う。学習用画像データ1331や代表クラスデータ1332、クラスタリングフラグデータ1333、修正フラグデータ1344、ニューラルネットパラメータ1335は、計算装置221内のハードディスクに保存される。
図13は、第4の実施例の処理フローである。ステップ101はカメラ212が行い、ステップ1310は情報処理装置213が所定のプログラム等に基づいて実行し、ステップ1300はネットワーク218に接続した計算装置221が行う。学習用画像データ1331や代表クラスデータ1332、クラスタリングフラグデータ1333、修正フラグデータ1344、ニューラルネットパラメータ1335は、計算装置221内のハードディスクに保存される。
(4−3)第4の実施例の処理フロー1
図13の左側のフロー図に基づき、自動分析装置400側が行う処理フロー(ステップ101と1310)を説明する。これらの処理は、実施例1〜3と同様に、ソフトウェアあるいはハードウェアで実行される。
図13の左側のフロー図に基づき、自動分析装置400側が行う処理フロー(ステップ101と1310)を説明する。これらの処理は、実施例1〜3と同様に、ソフトウェアあるいはハードウェアで実行される。
ステップ101では、実施例1と同様に、カメラ212が画像を撮影する。
ステップ1310は、情報処理装置213が実行するもので、自動分析装置400側の処理となる。以下のステップ1302とステップ100eからなる。
ステップ1302では、以下のステップ1321と1322によって、ステップ100eで利用するパラメータを計算する。
ステップ1321は、撮影画像の中心からの半径毎のヒストグラムを作成したヒストグラムマップを作成する。ヒストグラムマップの横軸は画像の半径、縦軸は輝度値である。画像の輝度値は例えば、0から255迄の整数値で表現された画像とする。また、画像の輝度値が0から255迄の整数値で表現されていない場合も、0から255迄の整数値に輝度転換することもできる。ヒストグラムマップの作成は以下の手順で行うことができる。
(1) ヒストグラムマップの値を全て初期値0にする。
(2) 画像の各画素毎に、画像中心からの半径を計算し、該当するヒストグラムマップの(半径,画像輝度値)の値を1増加する。ただし、画像半径は、小数の場合は四捨五入して整数化することができる。また、場合によっては、半径を整数演算で5で割った値を横軸の値としても良い。
(3) 以上の操作を画像の全画素毎に行う。
(4) 場合によっては、同じ半径(横軸の値が同じもの)のヒストグラムを、そのヒストグラムの面積で規格化したものをヒストグラムマップの値とすることもできる。
(1) ヒストグラムマップの値を全て初期値0にする。
(2) 画像の各画素毎に、画像中心からの半径を計算し、該当するヒストグラムマップの(半径,画像輝度値)の値を1増加する。ただし、画像半径は、小数の場合は四捨五入して整数化することができる。また、場合によっては、半径を整数演算で5で割った値を横軸の値としても良い。
(3) 以上の操作を画像の全画素毎に行う。
(4) 場合によっては、同じ半径(横軸の値が同じもの)のヒストグラムを、そのヒストグラムの面積で規格化したものをヒストグラムマップの値とすることもできる。
ステップ1322では、画像種分けとパラメータ設定を行う。上記ステップ1321で作成したヒストグラムマップを入力として、所定のニューラルネットで画像の種分けをする。
ここで種分けされた画像種に応じて、以下のステップ100eで用いるパラメータ値を設定する。パラメータ値には、画像の2値化を行う閾値や、泡径を推定するためのパラメータ値などがある。これ等のパラメータは、事前に種分けされた画像毎に以下のステップ100eの泡検知処理の判定結果が良好なパラメータを選択して登録したものである。例えば、パラメータ(群)は画像種毎にデータベース233として記憶装置214に格納しておき、必要に応じてメモリ232にダウンロードする。ここでは、画像の種分けに応じ、これ等の登録データを引き出すことにより、パラメータを設定する。
なお、ここで用いる所定のニューラルネットは、後に説明する図13の右側のステップ1300で、事前に学習されたパラメータに基づくニューラルネットである。
ステップ100eは、第1の実施例におけるステップ100と同等の処理で泡を検知する。ここで用いる閾値等のパラメータ値は、上記ステップ1322で作られたものである。
(4−4)第4の実施例の処理フロー2
図13の右側のフロー図に基づき、ネットワーク218に接続した計算装置221が行う処理フロー(ステップ1300)を説明する。ステップ1300の処理は、自動分析装置400の情報処理装置213がステップ1322で実行するニューラルネットのパラメータを決定する処理である。以下、ステップ1300の詳細を説明する。
図13の右側のフロー図に基づき、ネットワーク218に接続した計算装置221が行う処理フロー(ステップ1300)を説明する。ステップ1300の処理は、自動分析装置400の情報処理装置213がステップ1322で実行するニューラルネットのパラメータを決定する処理である。以下、ステップ1300の詳細を説明する。
事前に学習用画像データ1331を収集する。学習用画像データ1331は、自動分析装置400のカメラ212が撮影した画像を、ネットワーク218を通し、計算装置221に転送することにより収集できる。
ステップ1321bでは、学習用画像データ1331の画像のヒストグラムマップを取る。ヒストグラムマップは、ステップ1321で説明したヒストグラムマップと同等のものを用いる。
ステップ1341では、ヒストグラムマップを利用した画像のクラスタリングをする。ここでは、相関に基づくクラスタリングを行う。詳細は(4−5)で述べる。
クラスタリングにより、各クラスを代表する登録画像とそのヒストグラムマップからなる代表クラスデータ1332と、各学習用画像データがどのクラスに属すかを示したクラスタリングフラグデータ1333が得られる。ただし、このクラスタリングで得られた分類は十分でなく、若干の誤りを含むことを想定している。
ステップ1342では、ステップ1341で得られたクラスタリングフラグデータ1333を修正する。修正の詳細は(4−6)で述べる。この修正により、各学習用データの十分な分類が行われた修正クラスタリングフラグデータ1344が得られる。
ステップ1343では、ステップ1342で得られた修正クラスタリングフラグデータ1344を用い、ステップ1341で行ったクラスタリングと等価なニューラルネットを初期値としたクラスタリング等価ニューラルネットを学習させる。詳細は(4−7)で述べる。
学習の結果、修正クラスタリングフラグデータ1344の結果と近いクラス分けを行う、ニューラルネットのパラメータ1334が得られる。ここで得られたニューラルネットのパラメータ1334は、自動分析装置400の情報処理装置213がステップ1322で実行するニューラルネットのパラメータに設定される。このパラメータ1334は、ネットワーク218を通して転送することができる。
(4−5)クラスタリング手段の詳細説明
図14に、計算装置221がステップ1341でクラスタリングを実行する際に、表示装置222に表示される画面の例を示した。クラスタリングする対象は、学習用画像データ1331で、試験管を上部から撮影した泡がある時の画像やない時の画像が数多くあるものとする。例えば、画像が1万画像あるとする。クラスタリングは、これ等の1万画像をヒストグラムマップが似ているもの同士を同じクラスに属すものとして、クラス分類する。たとえば、相関に基づくクラス分類は、各画像のヒストグラムマップの相関を取り、相関値が高いもの(似ているもの)を集めて一つのクラスにする。各種方法が提案されているが、ここでは、例として図14のように、手動で登録画像に近いものを集めて行く方法で種分けする場合を示す。
図14に、計算装置221がステップ1341でクラスタリングを実行する際に、表示装置222に表示される画面の例を示した。クラスタリングする対象は、学習用画像データ1331で、試験管を上部から撮影した泡がある時の画像やない時の画像が数多くあるものとする。例えば、画像が1万画像あるとする。クラスタリングは、これ等の1万画像をヒストグラムマップが似ているもの同士を同じクラスに属すものとして、クラス分類する。たとえば、相関に基づくクラス分類は、各画像のヒストグラムマップの相関を取り、相関値が高いもの(似ているもの)を集めて一つのクラスにする。各種方法が提案されているが、ここでは、例として図14のように、手動で登録画像に近いものを集めて行く方法で種分けする場合を示す。
表示画面1401の右上に着目データを指定するスクロールバー1421があり、着目画像の番号を表示する表示部1422に、スクロールバー1421で指定した着目画像の画像番号が表示される。スクロールバー1421で指定し、表示部1422に表示された画像番号の画像が、左上の画像表示部1411に表示され、そのヒストグラムマップがヒストグラムマップ表示部1412に表示される。また、相関値表示部1413には、着目画像と各々の登録画像のヒストグラムマップの相関値が表示される。相関値表示部1413には、閾値が設定されていて、それが点線で表示される。この閾値は、各代表データ毎に設定することができる。
各データは、代表として登録した登録データとのヒストグラムマップの相関値からその代表データ毎の閾値を引いた値が最も高いものにクラス分けされるが、この値が0より低い場合は、どのクラスにも属さないことになる。
登録データは、着目画像を表示した状態で、登録ボタン1441を押すと登録され、そのカタログが、カタログ表示部1451に表示される。登録データを取りやめたい場合は、登録データを選択してから削除ボタン1442を押すとその登録データは消される。実行ボタン1443を押すと、登録データと各画像のヒストグラムマップ間の相関が計算され、相関値から閾値を引いた値が0より大きければ、最もこの値が高いクラスにそのデータは分類される。なお、登録したクラスはクラス番号が1から始まり、どのクラスにも属さない場合は、クラス番号0とする。
実行ボタン1443を押して、クラス分けすると、各クラス毎に相関値が高い順番にデータがソートされ、順序づけることができる。クラス指定スクロールバー1431でクラスを指定すると、クラス番号表示部1432にそのクラス番号が表示される。相関値順にデータ指定するスクロールバー1433で相関値順での順番を指定すると、順番表示部1434にその順番が表示される。スクロールバー1433で指定されたデータの元々のデータ順番にスクロールバー1421のスクロールが移動し、表示部1422に元々のデータ順番が表示され、画像表示部1411にその画像が表示される。また、ヒストグラムマップ表示部1412にその画像のヒストグラムマップが表示され、更に、相関値表示部1413にその画像と各登録画像のヒストグラムマップ間の相関値が実線で表示される。以上のインタフェースで、相関値が低いデータをチェックし、クラスの代表データの登録や削除、閾値の変更を行うことで、より適切なクラス分けができるようになる。
ある程度適切なクラス分けができるようにあれば、そこで終了する。これにより、各クラスを代表する登録画像とそのヒストグラムマップからなる代表クラスデータ1332と、各学習用画像データがどのクラスに属するかを示したクラスタリングフラグデータ1333が得られる。
なお、着目した画像と、登録した画像のヒストグラムマップ間の相関は、以下の数3で計算される。
(数3)
V(z,x) = Σij (z(i,j)*x(i,j)) / (| z | ・ | x | )
ここで、V(z,x)は、着目する画像のヒストグラムマップ x と、着目する登録画像のヒストグラムマップ z の相関値で、 i,jはヒストグラムマップの座標で、Σij は全座標について和を取ることを意味する。| z | 、| x | は、以下の数4と数5で計算される。
(数4)
| z | = sqrt ( Σij (z(i,j) * z(i,j)))
(数5)
| x | = sqrt ( Σij (x(i,j) * x(i,j)))
なお、 sqrt( ) は、平方根を取ることを意味する。
(数3)
V(z,x) = Σij (z(i,j)*x(i,j)) / (| z | ・ | x | )
ここで、V(z,x)は、着目する画像のヒストグラムマップ x と、着目する登録画像のヒストグラムマップ z の相関値で、 i,jはヒストグラムマップの座標で、Σij は全座標について和を取ることを意味する。| z | 、| x | は、以下の数4と数5で計算される。
(数4)
| z | = sqrt ( Σij (z(i,j) * z(i,j)))
(数5)
| x | = sqrt ( Σij (x(i,j) * x(i,j)))
なお、 sqrt( ) は、平方根を取ることを意味する。
(4−6)クラスタリング修正手段の詳細説明
図15に、計算装置221がクラスタリングの修正ステップ1342を実行する際に表示装置222に表示される画面の例を示した。図15の右上のデータの指定部分やその他の表示部分は、図14と殆ど同一である。ステップ1341で登録した代表クラスデータ1332に基づき、指定した画像と各クラスの代表画像との相関を求め、各クラス毎に相関値の高い順にデータがソートされる所は、ステップ1341と同様である。
図15に、計算装置221がクラスタリングの修正ステップ1342を実行する際に表示装置222に表示される画面の例を示した。図15の右上のデータの指定部分やその他の表示部分は、図14と殆ど同一である。ステップ1341で登録した代表クラスデータ1332に基づき、指定した画像と各クラスの代表画像との相関を求め、各クラス毎に相関値の高い順にデータがソートされる所は、ステップ1341と同様である。
クラスを指定するクラス指定スクロールバー1431で指定した相関値順のスクロールバー435で相関値の低いデータを指定すると、登録データと類似度の低い画像が選ばれ、画像表示部1411に表示され、そのヒストグラムマップがヒストグラムマップ表示部1412に表示される。また、各クラスの代表画像とのヒストグラムマップの相関値が相関値表示部1413に実線で表示される。
これ等の表示を見て、もし、分類が異なり、他のクラスに分類した方が良い場合は、そのクラス番号を変更クラス表示入力部1541に入れ、変更ボタン1542を押すと、その指定したクラスに変更できる。まだ登録されていないクラス番号を指定すると、分類クラスが増える。
このように、相関値の低いデータをある程度見て、クラス分類の誤りを修正する。修正し終えたら終了する。これにより、クラス分類を修正した修正クラスタリングフラグデータ1344ができる。
(4−7)ニューラルネット学習手段について
図16に基づいて、ニューラルネットの学習ステップ1343について述べる。
図16に基づいて、ニューラルネットの学習ステップ1343について述べる。
(4−7−1)クラスタリングと等価なニューラルネットの作成ステップ1612について
相関値に基づいてクラスタリングした場合、クラスタリングと等価なニューラルネットを作ることがができる。相関の数3の式を見ると、数4、数5の式の結果がそれぞれ1になるように、データが規格化されていると、以下の数6で相関値を計算できる。
(数6)
V(z’,x’) = Σij (z’(i,j) * x’(i,j))
ただし、z’、x’は、z’=z/|z|、x’=x/|x| のように規格化している。
一方、図16のニューラルネットは、以下の数7、数8のように記すことができる。
(数7)
X[k]p = f(Y[k]p)
(数8)
Y[k]p = Σq (W[k]pq * X[k−1]q + b[k]p)
ここで、kはニューラルネットの層の順番、p,qは、各層でのデータの順番、X[k]pは、k層のp番目のニューロンの出力値、Y[k]pは、k層のp番目のニューロンの内部での値、f(・)は、活性化関数、W[k]pqは、k-1層のq番目のニューロンからk層のp番目のニューロンに向かうシナプス結合の重み、b[k]pは、k層のp番目のニューロンのバイアスである。
相関値に基づいてクラスタリングした場合、クラスタリングと等価なニューラルネットを作ることがができる。相関の数3の式を見ると、数4、数5の式の結果がそれぞれ1になるように、データが規格化されていると、以下の数6で相関値を計算できる。
(数6)
V(z’,x’) = Σij (z’(i,j) * x’(i,j))
ただし、z’、x’は、z’=z/|z|、x’=x/|x| のように規格化している。
一方、図16のニューラルネットは、以下の数7、数8のように記すことができる。
(数7)
X[k]p = f(Y[k]p)
(数8)
Y[k]p = Σq (W[k]pq * X[k−1]q + b[k]p)
ここで、kはニューラルネットの層の順番、p,qは、各層でのデータの順番、X[k]pは、k層のp番目のニューロンの出力値、Y[k]pは、k層のp番目のニューロンの内部での値、f(・)は、活性化関数、W[k]pqは、k-1層のq番目のニューロンからk層のp番目のニューロンに向かうシナプス結合の重み、b[k]pは、k層のp番目のニューロンのバイアスである。
なお、活性化関数f(・)は、各種提案されているが、ここでは、0より大きいとそのままの値、0以下は0とすることにする。ここで、画像の座標(i,j)を1次元の順番で表すと、数6は、以下の数9のように表すことができる。
(数9)
V(z’,x’) = Σq (z’q * x’q)
ここで、選んだ代表点がp番目の代表点としてz’pと表し、各代表点毎に設定した閾値をcpとすると、相関値から閾値を引いた値は以下の数10のようになる。
(数10)
V(z’,x’)− cp = Σq (z’pq * x’q)−cp
ここで、数8と数10を比較し、第1層から第2層までのニューラルネットに着目すると、以下の対応が可能である。
Y[2]p= V(z’,x’)− cp、W[2]pq = z’pq、X[1]q = x’q 、b[2]p =−cp
即ち、ニューロンの第一層の出力値 X[1]を規格化したヒストグラムマップとし、第1層から第2層に向かう重みW[2]pq を p番目の登録データの規格化したヒストグラムマップとし、第2層でのバイアスb[2]p を p番目の登録データの閾値の符号を逆転させたものに設定すると、第2層のp番目のニューロンは、クラスタリングで用いたp番目の代表データと画像のヒストグラムマップの相関値から閾値を引いた値になる。これ等第2層の各ニューロンの出力値X[2]pの中で最大となるものを選べば(ただし、最大となるものの値が0の場合は、どのクラスにも属さないとすれば)、上記クラスタリングと等価なクラスタリングができるニューラルネットとなる。
(数9)
V(z’,x’) = Σq (z’q * x’q)
ここで、選んだ代表点がp番目の代表点としてz’pと表し、各代表点毎に設定した閾値をcpとすると、相関値から閾値を引いた値は以下の数10のようになる。
(数10)
V(z’,x’)− cp = Σq (z’pq * x’q)−cp
ここで、数8と数10を比較し、第1層から第2層までのニューラルネットに着目すると、以下の対応が可能である。
Y[2]p= V(z’,x’)− cp、W[2]pq = z’pq、X[1]q = x’q 、b[2]p =−cp
即ち、ニューロンの第一層の出力値 X[1]を規格化したヒストグラムマップとし、第1層から第2層に向かう重みW[2]pq を p番目の登録データの規格化したヒストグラムマップとし、第2層でのバイアスb[2]p を p番目の登録データの閾値の符号を逆転させたものに設定すると、第2層のp番目のニューロンは、クラスタリングで用いたp番目の代表データと画像のヒストグラムマップの相関値から閾値を引いた値になる。これ等第2層の各ニューロンの出力値X[2]pの中で最大となるものを選べば(ただし、最大となるものの値が0の場合は、どのクラスにも属さないとすれば)、上記クラスタリングと等価なクラスタリングができるニューラルネットとなる。
図16の4層のニューラルネットの場合、初期値として、W[k]pq=δpq、b[k]p=0に設定し、上記のように第2層のW[2]pq,b[2]pを設定すると、第4層の出力値X[4]は、上記クラスタリングでの相関値に閾値を引いた値が各々出力され、その最大値を出力するニューロンの番号にクラス分けする(ただし、その最大値が0の場合はどのクラスにも属さないとする)と、上記ステップ1341で行ったクラスタリングと等価なニューラルネットができあがる。
(4−7−2)ニューラルネットの学習について
ニューラルネットの学習の仕方については、既に数多くの文献に示されているので詳細は省略する。ニューラルネットの最も簡単な学習方法は、バックプロパゲーションとして広く知られており、その他、それを改良した方法が各種提案され、ここではそれらの広く知られた方法を用い、学習する。なお、ここでは4層の深層のニューラルネットワークなので、所謂深層学習として広く知られた方法を用いる。例えば、3層の学習を基本として下の層から順次学習して行く。
ニューラルネットの学習の仕方については、既に数多くの文献に示されているので詳細は省略する。ニューラルネットの最も簡単な学習方法は、バックプロパゲーションとして広く知られており、その他、それを改良した方法が各種提案され、ここではそれらの広く知られた方法を用い、学習する。なお、ここでは4層の深層のニューラルネットワークなので、所謂深層学習として広く知られた方法を用いる。例えば、3層の学習を基本として下の層から順次学習して行く。
図16は全体の学習の流れを概念的に示す。即ち、図13のステップ1341で行ったクラスタリングの結果できた代表クラスデータ1332を用い、上記(4−7−1)に記載したクラスタリングと等価なニューラルネットのパラメータを作成する処理(ステップ1612)を行い、ニューラルネット1611の各パラメータを設定する。
そして、学習用画像データ1331を用い、図13のステップ1321cで学習画像のヒストグラムマップを作成し、それを第1層1601に入力し、第1層1601では入力データの規格化を行い、以後、第2層1602、第3層1603、第4層1604の処理を行う。第4層の出力値をステップ1613に入力する。ステップ1613は、修正クラスタリングフラグデータ1344を参照して、望ましい出力値との差を計算し、所謂バックプロパゲーション法に基づき、ニューラルネット1611の各パラメータの更新量を計算する。この更新量に基づき、各パラメータを更新、更にデータを入力してまた更新量を計算して更新するということをくり返して、徐々に目的とする修正クラスタリングフラグデータ1344の結果と近い結果が出るようになって行く。
(4−7−3)クラスタリング等価ニューラルネットから所定量離れない学習
上記(4−7−2)記載の通常の学習を行った場合、初期値として設定したクラスタリング等価ニューラルネットワークから離れたパラメータ値を持つネットワークになる場合がある。ステップ1613で更新量を計算後、各パラメータ値が初期値として設定したパラメータから所定量離れる場合は、その範囲に留めるように更新を変更することにより、初期に設定したクラスタリング等価ニューラルネットから所定量離れないことを保証したニューラルネットの学習ができる。
上記(4−7−2)記載の通常の学習を行った場合、初期値として設定したクラスタリング等価ニューラルネットワークから離れたパラメータ値を持つネットワークになる場合がある。ステップ1613で更新量を計算後、各パラメータ値が初期値として設定したパラメータから所定量離れる場合は、その範囲に留めるように更新を変更することにより、初期に設定したクラスタリング等価ニューラルネットから所定量離れないことを保証したニューラルネットの学習ができる。
その他、修正フラグデータの結果とニューラルネットワークの結果を比較して評価する評価関数に更新後のパラメータと初期のパラメータの差の2乗の項に比例した項を加え、所期のパラメータからあまり離れないように制御した学習を行うこともできる。
このように、初期のパラメータとあまり離れないようにすると、学習してもクラスタリングした時の状態に近いニューラルネットができるので、過学習を避ける効果が期待できるという効果がある。
(4−8)特徴
以上のニューラルネットを用いた画像の種分けでは、画像の種わけに応じた適切な領域拡張の敷値や泡範囲の推定パラメータの設定が可能になるという利点があり、泡検知の精度が向上することが可能になるという効果がある。
以上のニューラルネットを用いた画像の種分けでは、画像の種わけに応じた適切な領域拡張の敷値や泡範囲の推定パラメータの設定が可能になるという利点があり、泡検知の精度が向上することが可能になるという効果がある。
また、画像の適切な種分けをする検討を行う際に、事前に学習データの種わけを行う必要があるが、上記クラスタリング手段により、大まかな種分けが楽に行うことができ、上記クラスタリング修正手段ではニューラルネットの学習処理により、一部のデータのみ注意深く種分けをすることで、全体の種分けにかかる時間が、全て人手による種分けを行うよりも少なくて済むという効果がる。
上記クラスタリングでは、ニューラルネットと対比可能な形態でクラスタリングが可能なので、クラスタリング等価のニューラルネットが作成できるという利点がある。上記ニューラルネットでは、クラスタリング等価のニューラルネットを作ることにより、ニューラルネットの初期値をクラスタリングと等価な状態に設定できるので、ニューラルネットの学習にかかる時間が短くなるという効果がある。
(4−9)その他
以上のクラスタリング手段は、クラス毎に閾値を設定してクラス毎に相関値から閾値を引いた値の中で最大のものをその画像を種分けしたクラスに割り当てるとしたが、閾値を0にして相関値の最大のものをその種分けクラスに割り当てるということもできる。その場合、閾値の初期値は0で、上記のオフセットの初期値b[2]pは0となる。
以上のクラスタリング手段は、クラス毎に閾値を設定してクラス毎に相関値から閾値を引いた値の中で最大のものをその画像を種分けしたクラスに割り当てるとしたが、閾値を0にして相関値の最大のものをその種分けクラスに割り当てるということもできる。その場合、閾値の初期値は0で、上記のオフセットの初期値b[2]pは0となる。
その他、クラスタリング手段は各種提案されており、そのクラスタリング手段と等価な計算機能を持ったネット構造を持つニューラルネットも構築でき、以上と同様のことを行うこともできる。
以上の実施例では、クラスタリングと等価なニューラルネットワークの初期値を作ったが、クラスタリングと全く等価ではなく、実質このクラスタリングに近い結果をもたらすニューラルネットワークを作り、このクラスタリングに近いニューラルネットワークの初期値を作り、同様に学習させることもできる。この場合、クラスタリングと等価なニューラルネットワークの構築が複雑で難しい場合、それと実質似た機能を持つより単純なニューラルネットワークを作り、それを利用することができるという利点がある。本明細書では、このような単純化された形態等も含め「等価なニューラルネットワーク」と表現することにする。
以上の実施例では、画像のヒストグラムマップを用いて画像の種わけをしたが、画像自体を入力として画像の種分けをしたり、画像から他の情報を引き出してそれを入力として、同様に画像の種わけを行うこともできる。
以上の実施例では、画像の種分けをして、以後の領域抽出に続く泡検知のパラメータを画像の種わけに応じて適切に設定することにしたが、その他にも、泡自体の形を種分けし、画像の何処にどのような泡があるか認識して、所定の範囲に泡があるか判定する場合にも、同様に、泡の形態の登録データを作り、画像の何処にどのような泡があるのかを検知するニューラルネットの学習を行うことができる。この場合、ニューラルネットには、画像認識で広く用いられるコンボリューション層を用意し、その上に、図16のような通常のニューラルネットを載せるコンボリューショナルニューラルネットワークを用いることができる。その再、クラスタリングでも、画像をコンボリューション層に通し、コンボリューション層の出力結果をクラスタリングの入力として、上記と同様に泡のクラス分けをし、同様にクラスタリングと等価なニューラルネットを作成し、それを初期値としてニューラルネットの学習を行うことができる。
また、画像のどの部分に泡があるか検知するニューラルネットは、その他の物体を登録することにより、その他の物体の検知機能になり、各種検知機能を持った装置に適用することができる。
以上の実施例では、画像の種分け毎にそれに合ったパラメータを事前に作成していた。他の方法では、画像毎に泡判定プログラムのパラメータを変えた判定結果のリストを作り、画像とこの判定結果のリストから泡判定を正しく行っているか否かを見て、パラメータごとに泡判定正誤リストを作成し、画像とパラメータごとの泡判定正誤リストを学習データとして学習させ、正しく泡判定を行うパラメータを学習したニューラルネットワークを作成することもできる。
また、泡判定プログラムは上記実施例1を使うだけではなく、その他の別の泡判定プログラムを使い、同様に判定結果のリストを作り判定の正誤リストを作成し、画像とこれ等の正誤リストを学習データとして、どのプログラムのどのパラメータで正しく泡判定を行うか学習させることもできる。
(4−10)第4の実施例のニューラルネットについて
第4の実施例は、泡検知のパラメータを決めるために、上記の特徴あるニューラルネットを用いた。上記ニューラルネットは、泡検知の他にも、他の課題にも適用することができる。例えば、血液検査結果のクラスタリングをして、病気との因果関係が分り易い修正をした修正フラグを作り、この血液検査結果のクラスタリングと等価なニューラルネットを作り、これを初期値としたニューラルネットの学習をすることもできる。その他、白血球の形状によるクラスタリングを行い、その修正フラグを作り、クラスタリングと等価なニューラルネットを作り、これを初期値とした学習をすることなどもできる。
第4の実施例は、泡検知のパラメータを決めるために、上記の特徴あるニューラルネットを用いた。上記ニューラルネットは、泡検知の他にも、他の課題にも適用することができる。例えば、血液検査結果のクラスタリングをして、病気との因果関係が分り易い修正をした修正フラグを作り、この血液検査結果のクラスタリングと等価なニューラルネットを作り、これを初期値としたニューラルネットの学習をすることもできる。その他、白血球の形状によるクラスタリングを行い、その修正フラグを作り、クラスタリングと等価なニューラルネットを作り、これを初期値とした学習をすることなどもできる。
(5)その他の実施例
上記実施例では、自動分析装置を例に、泡検知処理を説明した。本実施例は、泡だけでなく、試験管に蓋をした状態や、試験管にパラフィルムを貼った状態、シール栓をしたままの状態、使用が許されない容器を使用した場合など、泡以外の自動分析を阻害する要因(異常)を検知する場合にも上記実施例と同様の処理を用いることができる。例えば、各高輝度領域(抽出領域)の各種統計量を取り、各領域の種分けをし、所望の阻害要因(異常)があるか否か判定し、所望の異常があれば、ユーザにその旨を知らせることができる。
上記実施例では、自動分析装置を例に、泡検知処理を説明した。本実施例は、泡だけでなく、試験管に蓋をした状態や、試験管にパラフィルムを貼った状態、シール栓をしたままの状態、使用が許されない容器を使用した場合など、泡以外の自動分析を阻害する要因(異常)を検知する場合にも上記実施例と同様の処理を用いることができる。例えば、各高輝度領域(抽出領域)の各種統計量を取り、各領域の種分けをし、所望の阻害要因(異常)があるか否か判定し、所望の異常があれば、ユーザにその旨を知らせることができる。
以上詳細に説明した実施例に拠れば、液体試料を入れた試験管等の容器を上部から撮影する撮影手段を持った自動分析装置において、撮影画像の高輝度領域を抽出し、各高輝度領域について、画像位置と形状を表す統計量を取得し、これ等統計量に基づき、各高輝度領域の種分けをする。高輝度領域種の種分けで泡候補と種分けされた高輝度領域について、泡の範囲を推定する。泡の範囲を推定した結果に基づき、所定の範囲何に泡があるか否か判定する。泡のない場合は、液体試料の分注を行い、成分分析を行い、泡の有る場合は、液体試料の分注を行わず、その旨を報告・記録することができる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
200…液体試料、201…試験管、202…ラック、211…リング照明、212…カメラ、213…情報処理装置、214…記憶装置、215…表示装置、216…入力装置、217…入出力インタフェース、218…ネットワーク、221…計算装置、222…表示装置、223…入力装置、301…分注装置、302…分注プローブ先端、303…分注プローブ先端の軸線、400…自動分析装置、401…搬送機構、402…反応ディスク、403…試薬ディスク、404…試薬用の分注装置、405…攪拌装置、406…光度計、407…洗浄装置、202a…投入口の位置にあるラック202a、分注位置にあるラック202bである。
Claims (15)
- 処理装置、メモリ、入出力インタフェース、およびこれらを接続するバスを備える自動分析装置において、
前記入出力インタフェースは、
液体を入れた容器を撮影するカメラによって得られる撮影画像を受信し、
前記メモリは、
前記撮影画像を記憶し、
前記処理装置は、
前記撮影画像の高輝度領域を各々抽出する高輝度領域抽出処理と、
前記高輝度領域抽出処理によって抽出した高輝度領域の各々について、各領域の画像位置と形状を表す統計量を取得する統計量取得処理と、
前記統計量取得処理によって取得した統計量に基づき、前記高輝度領域の種分けをする高輝度領域種分け処理と、
前記高輝度領域種分け処理によって種分けされた高輝度領域の中で泡候補と種分けされた高輝度領域について泡の範囲を推定する泡範囲推定処理と、
前記泡範囲推定処理によって泡の範囲を推定した結果に基づき、所定の範囲内に泡があるか否か判定する泡判定処理と、
を実行することを特徴とした自動分析装置。 - 前記請求項1において、前記高輝度領域抽出処理は、
第1の閾値と、前記第1の閾値より輝度の低い第2の閾値を生成する処理と、
前記第1の閾値によって、前記撮影画像から、第1の高輝度領域を含む第1の2値化画像を作成する処理と、
前記第2の閾値によって、前記撮影画像から、第2の高輝度領域を含む第2の2値化画像を作成する処理と、
前記第1の2値化画像を種画像にし、前記第2の2値化画像を参照画像として、前記第1の高輝度領域を前記第2の高輝度領域に領域拡張する処理と、
を含むことを特徴とした自動分析装置。 - 前記請求項1において、前記高輝度領域種分け処理は、
液面直接反射光と種分けされた領域あるいは画像中心から所定距離D1内にある高輝度領域を、泡でないものと種分けする処理、
を含むことを特徴とした自動分析装置。 - 前記請求項1において、前記高輝度領域種分け処理は、
液面直接反射光と種分けされた領域あるいは画像中心から所定距離D2内にあり、前記液面直接反射光までの間にある画像輝度の最大値と最小値の差が所定内にある高輝度領域を、泡でないものと種分けする処理、
を含むことを特徴とする自動分析装置。 - 前記請求項1において、前記高輝度領域種分け処理は、
泡候補と種分けされた領域の中心から所定距離内に、他の高輝度領域がある場合は、当該泡候補と種分けされた領域を、検知すべき泡でないとして泡候補から外す処理、
を含むことを特徴とする自動分析装置。 - 前記請求項1において、前記泡範囲推定処理は、
所定の丸さを持った泡候補と種分けされた高輝度領域については、該高輝度領域の面積の平方根を泡の範囲の推定に用いる処理、
を含むことを特徴とする自動分析装置。 - 前記請求項1において、前記泡範囲推定処理は、
所定の丸さを持たない前記泡候補と種わけされた高輝度領域については、該高輝度領域の輪郭から所定の距離を泡の範囲とする処理、
を含むことを特徴とする自動分析装置。 - 前記請求項1において、前記高輝度領域抽出処理は、
第1の閾値と、前記第1の閾値より輝度の低い第2の閾値と、前記第2の閾値より輝度の低い第3の閾値を生成する処理と、
前記第1の閾値によって、前記撮影画像から、第1の高輝度領域を含む第1の2値化画像を作成する処理と、
前記第2の閾値によって、前記撮影画像から、第2の高輝度領域を含む第2の2値化画像を作成する処理と、
前記第3の閾値によって、前記撮影画像から、第3の高輝度領域を含む第3の2値化画像を作成する処理と、
前記第1の2値化画像を種画像にし、前記第2の2値化画像を参照画像として、前記第1の高輝度領域を前記第2の高輝度領域に領域拡張する第1の領域拡張処理と、
前記第1の2値化画像を種画像にし、前記第3の2値化画像を参照画像として、前記第1の高輝度領域を前記第3の高輝度領域に領域拡張する第2の領域拡張処理と、
前記第1の領域拡張処理に基づく泡判定結果と、前記第2の領域拡張処理に基づく泡判定結果の両方を用いて泡の有無を総合判定する総合判定処理と、
を含むことを特徴とする自動分析装置。 - 前記請求項8において、前記高輝度領域抽出処理は、
第4の閾値と、前記第4の閾値より輝度の低い第5の閾値と、前記第5の閾値より輝度の低い第6の閾値を生成する処理と、
前記第4の閾値によって、前記撮影画像から、第4の高輝度領域を含む第4の2値化画像を作成する処理と、
前記第5の閾値によって、前記撮影画像から、第5の高輝度領域を含む第5の2値化画像を作成する処理と、
前記第6の閾値によって、前記撮影画像から、第6の高輝度領域を含む第6の2値化画像を作成する処理と、
前記第4の2値化画像を種画像にし、前記第5の2値化画像を参照画像として、前記第4の高輝度領域を前記第5の高輝度領域に領域拡張する第3の領域拡張処理と、
前記第4の2値化画像を種画像にし、前記第6の2値化画像を参照画像として、前記第4の高輝度領域を前記第6の高輝度領域に領域拡張する第4の領域拡張処理と、
前記第3の領域拡張処理に基づく泡判定結果と、前記第4の領域拡張処理に基づく泡判定結果の両方を用いて泡の有無を総合判定する第2の総合判定処理と、
前記総合判定処理の判定結果と前記第2の総合判定処理の判定結果の両方を用いて泡の有無を包括判定する包括判定処理と、
を含むことを特徴とする自動分析装置。 - 前記請求項1において、前記高輝度領域抽出処理は、
前記撮影画像の中心からの半径毎のヒストグラムを作成したヒストグラムマップを作成するヒストグラム作成処理と、
前記ヒストグラムマップを参照して、前記撮影画像の種分けをする画像種分け処理と、
前記画像種分け処理により画像が種分けされた種類に応じて、前記高輝度領域抽出処理および前記高輝度領域種分け処理の、少なくとも一つに用いるパラメータを設定するパラメータ設定処理と、
を含むことを特徴とする自動分析装置。 - 前記請求項10において、前記画像種分け処理は、
ニューラルネットにより行われる、
ことを特徴とする自動分析装置。 - 処理装置、メモリ、入出力インタフェース、およびこれらを接続するバスを備える情報処理装置による自動分析方法において、
前記入出力インタフェースは、
液体を入れた容器を撮影するカメラによって得られる撮影画像を受信し、
前記メモリは、
前記撮影画像を記憶し、
前記処理装置は、
前記撮影画像の高輝度領域を各々抽出する高輝度領域抽出処理と、
前記高輝度領域抽出処理によって抽出した高輝度領域の各々について、各領域の画像位置と形状を表す統計量を取得する統計量取得処理と、
前記統計量取得処理によって取得した統計量に基づき、前記高輝度領域の種分けをする高輝度領域種分け処理と、
前記高輝度領域種分け処理によって種分けされた高輝度領域の中で泡候補と種分けされた高輝度領域について泡の範囲を推定する泡範囲推定処理と、
前記泡範囲推定処理によって泡の範囲を推定した結果に基づき、所定の範囲内に泡があるか否か判定する泡判定処理と、
を実行することを特徴とした自動分析方法。 - 前記請求項12において、前記高輝度領域種分け処理は、
(1)液面直接反射光と種分けされた領域あるいは画像中心から所定距離D1内にある高輝度領域を、泡でないものと種分けする処理、
(2)液面直接反射光と種分けされた領域あるいは画像中心から所定距離D2内にあり、前記液面直接反射光までの間にある画像輝度の最大値と最小値の差が所定内にある高輝度領域を、泡でないものと種分けする処理、
(3)泡候補と種分けされた領域の中心から所定距離内に、他の高輝度領域がある場合は、当該泡候補と種分けされた領域を、検知すべき泡でないとして泡候補から外す処理、
の前記(1)乃至(3)の処理のうちの少なくとも一つを含む、
ことを特徴とした自動分析方法。 - 前記請求項12において、前記泡範囲推定処理は、
(1)所定の丸さを持った泡候補と種分けされた高輝度領域については、該高輝度領域の面積の平方根を泡の範囲の推定に用いる処理、および、
(2)所定の丸さを持たない前記泡候補と種わけされた高輝度領域については、該高輝度領域の輪郭から所定の距離を泡の範囲とする処理、のうちの少なくとも一つを含む、
ことを特徴とする自動分析装置。 - 前記請求項12において、前記高輝度領域抽出処理は、
前記撮影画像の中心からの半径毎のヒストグラムを作成したヒストグラムマップを作成するヒストグラム作成処理と、
前記ヒストグラムマップを参照して、ニューラルネットを用いて、前記撮影画像の種分けをする画像種分け処理と、
前記画像種分け処理により画像が種分けされた種類に応じて、前記高輝度領域抽出処理および前記高輝度領域種分け処理の、少なくとも一つに用いるパラメータを設定するパラメータ設定処理と、
を含み、
前記ニューラルネットは、
前記撮影画像の複数を学習データとし、該学習データの複数画像から前記ヒストグラム作成処理でそれぞれヒストグラムマップを作成し、該ヒストグラムマップをクラスタリングするクラスタリング処理と、
前記クラスタリング処理のクラスタリング結果を用い、前記クラスタリング処理と等価なニューラルネットを初期値とするクラスタリング等価ニューラルネットを学習させるニューラルネット学習処理と、
により生成されたものである、
ことを特徴とした自動分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016251183A JP2018105690A (ja) | 2016-12-26 | 2016-12-26 | 自動分析装置および自動分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016251183A JP2018105690A (ja) | 2016-12-26 | 2016-12-26 | 自動分析装置および自動分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018105690A true JP2018105690A (ja) | 2018-07-05 |
Family
ID=62787057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016251183A Ceased JP2018105690A (ja) | 2016-12-26 | 2016-12-26 | 自動分析装置および自動分析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018105690A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020139915A (ja) * | 2019-03-01 | 2020-09-03 | 富士レビオ株式会社 | 分析装置、検体前処理装置、訓練装置、プログラム、情報処理方法、学習モデルおよび学習モデルの生成方法 |
JP2022515119A (ja) * | 2018-12-18 | 2022-02-17 | テカン・トレーディング・アクチェンゲゼルシャフト | ニューラルネットワークによる液体処理操作の分類 |
CN114113535A (zh) * | 2021-12-13 | 2022-03-01 | 哈尔滨理工大学 | 一种小当量炸药水下爆炸气泡面积测量装置及方法 |
CN115512284A (zh) * | 2022-09-21 | 2022-12-23 | 江阴市花园铝塑包装有限公司 | 塑料瓶牛奶封口膜完整分析系统及方法 |
WO2024009570A1 (ja) * | 2022-07-07 | 2024-01-11 | 大塚電子株式会社 | 検査装置および検査方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007309889A (ja) * | 2006-05-22 | 2007-11-29 | Olympus Corp | 異物検出装置及び異物検出方法 |
JP2013088114A (ja) * | 2011-10-13 | 2013-05-13 | Hitachi High-Technologies Corp | 液面状態検出装置、自動分析装置および液面状態検出方法 |
US20130315486A1 (en) * | 2010-11-16 | 2013-11-28 | Roche Diagnostics Operations, Inc. | Method and apparatus for detecting foam on a liquid surface in a vessel |
WO2016121449A1 (ja) * | 2015-01-28 | 2016-08-04 | 株式会社 日立ハイテクノロジーズ | 液面検査装置、自動分析装置および処理装置 |
-
2016
- 2016-12-26 JP JP2016251183A patent/JP2018105690A/ja not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007309889A (ja) * | 2006-05-22 | 2007-11-29 | Olympus Corp | 異物検出装置及び異物検出方法 |
US20130315486A1 (en) * | 2010-11-16 | 2013-11-28 | Roche Diagnostics Operations, Inc. | Method and apparatus for detecting foam on a liquid surface in a vessel |
JP2013088114A (ja) * | 2011-10-13 | 2013-05-13 | Hitachi High-Technologies Corp | 液面状態検出装置、自動分析装置および液面状態検出方法 |
WO2016121449A1 (ja) * | 2015-01-28 | 2016-08-04 | 株式会社 日立ハイテクノロジーズ | 液面検査装置、自動分析装置および処理装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022515119A (ja) * | 2018-12-18 | 2022-02-17 | テカン・トレーディング・アクチェンゲゼルシャフト | ニューラルネットワークによる液体処理操作の分類 |
JP7405852B2 (ja) | 2018-12-18 | 2023-12-26 | テカン・トレーディング・アクチェンゲゼルシャフト | ニューラルネットワークによる液体処理操作の分類 |
JP2020139915A (ja) * | 2019-03-01 | 2020-09-03 | 富士レビオ株式会社 | 分析装置、検体前処理装置、訓練装置、プログラム、情報処理方法、学習モデルおよび学習モデルの生成方法 |
JP7273542B2 (ja) | 2019-03-01 | 2023-05-15 | 富士レビオ株式会社 | 分析装置、検体前処理装置、訓練装置、プログラム、情報処理方法、学習モデルおよび学習モデルの生成方法 |
CN114113535A (zh) * | 2021-12-13 | 2022-03-01 | 哈尔滨理工大学 | 一种小当量炸药水下爆炸气泡面积测量装置及方法 |
CN114113535B (zh) * | 2021-12-13 | 2023-06-16 | 哈尔滨理工大学 | 一种小当量炸药水下爆炸气泡面积测量方法 |
WO2024009570A1 (ja) * | 2022-07-07 | 2024-01-11 | 大塚電子株式会社 | 検査装置および検査方法 |
CN115512284A (zh) * | 2022-09-21 | 2022-12-23 | 江阴市花园铝塑包装有限公司 | 塑料瓶牛奶封口膜完整分析系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018105690A (ja) | 自動分析装置および自動分析方法 | |
JP6870826B2 (ja) | 側方多視点から試料を定量化するように構成された方法及び装置 | |
JP6976257B2 (ja) | マルチビューの特徴付けのための方法及び装置 | |
US10489904B2 (en) | Assessing risk of breast cancer recurrence | |
CN107532125B (zh) | 用于视觉系统的基于图像的管槽圆形检测 | |
JP2020507836A (ja) | 重複撮像を予測した手術アイテムの追跡 | |
JP4765890B2 (ja) | 異物検出装置 | |
CN111656358A (zh) | 分析捕获的图像以确定测试成果 | |
CN110892272B (zh) | 装置、试料的状态的判别方法以及分析系统 | |
CN108830332A (zh) | 一种视觉车辆检测方法及系统 | |
JPWO2016121449A1 (ja) | 液面検査装置、自動分析装置および処理装置 | |
JP2018512567A (ja) | 検査室自動化のためのサイドビューサンプルチューブ画像におけるバーコードタグ検出 | |
JPH11510282A (ja) | 分類のロバストネス測定装置および方法 | |
JP2018512567A5 (ja) | ||
CN112115898A (zh) | 多指针仪表检测方法、装置、计算机设备及存储介质 | |
CN115131596A (zh) | 缺陷分类装置、方法以及程序 | |
JP2007298444A (ja) | 分析装置 | |
CN110866931A (zh) | 图像分割模型训练方法及基于分类的强化图像分割方法 | |
GB2329014A (en) | Automated identification of tubercle bacilli | |
JP4038210B2 (ja) | 自動流動顕微鏡のための粒子抽出 | |
CN112948765A (zh) | 用于确定在第一组分和第二组分之间的水平延伸界面的竖直位置的方法和设备 | |
Suksawatchon et al. | Shape Recognition Using Unconstrained Pill Images Based on Deep Convolution Network | |
US20230230399A1 (en) | Instrument parameter determination based on Sample Tube Identification | |
LU102902B1 (en) | Instrument parameter determination based on sample tube identification | |
US20230024468A1 (en) | Systems and methods to process electronic images to determine histopathology quality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190418 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200325 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200421 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20200901 |