【解決手段】画像解析装置は、処置卵の撮影画像から、前記処置卵に含まれる前核を検出する。次に、画像解析装置は、前記前核検出器により前核が検出された撮影画像から、前記前核の個数毎の確率を算出する。そして、画像解析装置は、前記前核の個数毎の確率を所定期間にわたり分析して前核の個数を判定し、前核の個数を離散値で出力する。
前記結果出力部は、前記所定期間において得られた個数のうち最大の個数を、当該処置卵に含まれる前核の個数と判定することを特徴とする請求項2に記載の画像解析装置。
前記前核輪郭候補検出器は、前記処置卵の撮影画像である入力データと、当該撮影画像に含まれる前記輪郭候補の形状を示す教師データとを含む複数の学習データにより学習済みであることを特徴とする請求項1乃至5のいずれか一項に記載の画像解析装置。
受精処置を施した処置卵の撮影画像から当該処置卵に含まれる前核の輪郭候補を検出し、検出された輪郭候補の画像と、撮影画像とから前記前核の個数毎の確率を算出する検出器と、
予め決められた制約条件下で、前記前核の個数毎の確率を所定期間にわたり分析して前核の個数を判定し、前核の個数を離散値で出力する結果出力部と、
を備えることを特徴とする画像解析装置。
【発明を実施するための形態】
【0016】
以下、本発明の好適な実施形態について説明する。
[システム構成]
図1は、実施形態に係る処置卵の画像解析システムの構成を示す。図示のように、画像解析システム100は、大別して、培養装置50と、記憶装置55と、画像解析装置60とを備える。
【0017】
培養装置50は、撮影装置の組み込まれたタイプの培養装置であり、図示しないチャンバ(室)に載置された培養容器10内の処置卵の画像を撮影し、記憶する。各培養容器10内には複数の処置卵が載置されており、培養装置50は処置卵を識別するための識別情報、例えば、処置卵が収容されているウェルの識別情報などと対応付けて撮影画像を記憶装置55に送信する。具体的には、培養装置50は、予め培養容器10内の各ウェル位置に対応したXY座標を記録しており、そのXY座標情報から、各ウェルを識別してもよいし、撮影開始時などに、各ウェル位置に対応付けるXY座標を微調整して、個別にウェル位置として座標登録をしてもよい。
【0018】
培養装置50は、撮影装置を構成する要素として、光源51と、カメラ52と、制御部53と、通信部54とを備える。光源51は、撮影のために培養容器10内の処置卵を上方から照明する。光源51は、点光源であっても面光源であっても、複数の点光源、面光源であってもよい。光源51による照明は、制御部53により制御される。
【0019】
カメラ52は、培養容器10の下方に移動可能に配置され、光源51により照明された状態の処置卵を撮影する。カメラ52は図示しないアクチュエータなどにより移動する。アクチュエータによるカメラ52の移動、及び、カメラ52による撮影は、制御部53により制御される。カメラ52は、観察開始から所定時間において、同じ培養容器10内の複数の処置卵を異なる時刻で撮影する。なお、同じ培養容器10内の複数の処置卵を撮影する場合、カメラ52が移動する代わりに培養容器10が移動する構造でもよく、カメラ52と培養容器10のいずれも移動せずに培養容器10内の処置卵全体を撮影する構造であってもよい。
【0020】
制御部53は、光源51による照明、カメラ52の移動及びカメラ52による撮影を制御する。また、制御部53は、カメラ52から撮影画像を取得した場合、通信部54を制御することで、撮影画像を記憶装置55に送信する。
【0021】
記憶装置55は、図示しない制御部、記憶部、通信部などを有し、各培養装置50から送信される撮影画像を受信し、受信した撮影画像を記憶する。この場合、例えば、記憶装置55は、培養装置50ごとにフォルダを設け、撮影画像を対応するフォルダに対応付けて記憶する。なお、記憶装置55は、上述のフォルダに対してチャンバごとのサブフォルダをさらに設け、撮影画像をチャンバごとに分類して記憶してもよい。また、記憶装置55は、画像解析装置60から撮影画像の取得要求を受信した場合に、当該取得要求により指定された撮影画像を画像解析装置60へ送信する。
【0022】
画像解析装置60は、PC(Personal Computer)などにより構成され、処置卵の撮影画像に基づいて、処置卵に含まれる前核を検出する。画像解析装置60は、主に、通信部61と、入力部62と、記憶部63と、表示部64と、制御部65とを備える。
【0023】
通信部61は、制御部65の制御に基づき、記憶装置55から処置卵の撮影画像を受信する。入力部62は、キーボード、マウス、回転操作が可能なホイールデバイス、タッチパネル、音声入力装置などであり、後述する前核数推定処理において使用される処置卵やその撮影画像などを指定する入力信号などを生成して制御部65へ供給する。記憶部63は、制御部65が実行するプログラム及びプログラムの実行に必要な情報を記憶する。例えば、記憶部63は、前核数推定処理に必要なプログラムを記憶する。表示部64は、制御部65の制御に基づき、前核数の検出結果を表示する。制御部65は、画像解析装置60の全体の制御を行う。制御部65は本発明の「前核輪郭候補検出器」、「確率検出器」の一例であり、表示部64は本発明の「結果出力部」の一例である。なお、「前核輪郭候補検出器」及び「確率検出器」は事前に正解データを与えることにより学習を行ったものである。
【0024】
[撮影画像]
図2は、培養容器10及び処置卵の撮影画像の例を示す。培養容器10は円形の容器であり、中央部に収容部11が形成されている。収容部11内には、複数(
図2の例では5×5=25個)のウェル12が形成されている。ウェル12は処置卵を収容するための窪みであり、1つのウェル12に1つの処置卵が収容される。
図2(A)に示すように、収容部11は培養液13で満たされている。
【0025】
図2(B)には、1つのウェル12の部分の撮影画像20が示されている。ウェル12内に処置卵が収容されている場合、撮影画像20は、ウェル12と、ウェル12内にある処置卵30とを含む。
図2(B)の例では、処置卵30は2つの前核32を含んでいる。培養装置50は、いわゆるタイムラプス観察により、同一の処置卵(即ち、同一のウェル12)についての撮影画像を所定時間間隔で複数生成し、記憶する。なお、培養装置50は、ウェル12毎に画像を撮影するものとする。
【0026】
[事前学習処理]
本実施形態では、処置卵の撮影画像のタイムラプス観察により、処置卵に含まれる前核数を推定する。前核数の推定においては、後述するように、処置卵内に存在する前核の輪郭の候補(以下、「前核輪郭候補」と呼ぶ。)を検出する前核輪郭候補検出処理、及び、前核数の確率を算出する前核数確率算出処理が行われる。ここで、本実施形態では、前核数輪郭候補検出処理及び前核数確率算出処理は、それぞれニューラルネットワークを用いた機械学習(ディープラーニング)を利用して行われる。そこで、まず、これらの実際の処理に先立って行われる事前学習について説明する。
【0027】
(前核輪郭候補検出処理のための事前学習)
画像解析装置60は、ニューラルネットワークを用いた機械学習を利用して前核輪郭候補検出処理を行う。なお、通常、前核は円形に近い形状であるため、前核輪郭候補は円周に近い形状である。
図3は、機械学習に利用する学習データの例を示す。学習データは、学習用入力データと、ニューラルネットワークからの目標出力である教師データとを含む。図示のように、学習用入力データとしては、処置卵30の画像(以下、「処置卵画像」とも呼ぶ。)25を用いる。なお、処置卵画像25は、ウェル12全体を含む撮影画像20から、処置卵30の部分を切り出した画像である。
【0028】
図4は、前核輪郭候補検出処理に用いるニューラルネットワークを事前学習する方法を模式的に示す。学習時には、
図3に示す学習データ、即ち、学習用入力データと教師データとをニューラルネットワーク71に与え、機械学習させる。この際、具体的には、
図4に示すように、処置卵画像25から所定サイズの領域(例えば、30×30画素の領域。以下、「画像パッチ」と呼ぶ。)21を抽出し、画像パッチ21の単位で学習用入力データをニューラルネットワーク71に入力する。画像パッチ21は、処置卵画像25内で1画素ずつ位置をシフトしつつ切り出される。一方、教師データは、1つの画像パッチ21毎に、その中心の画素値(白/黒)として用意される。画像パッチ21毎の目標出力を示す画素値を処置卵画像25の分だけ統合したものが、
図3に示す教師データとなる。このように、制御部65は、予め用意した学習用入力データと教師データを画像パッチ21の単位でニューラルネットワーク71に与えて学習を行う。
【0029】
(前核数確率算出処理のための事前学習)
画像解析装置60は、ニューラルネットワークを用いた機械学習を利用して前核数確率算出処理を行う。
図5は、前核数確率算出処理に用いるニューラルネットワークを事前学習する方法を模式的に示す。
図6は、前核数確率検出処理における入出力データの例を示す。学習データは、学習用入力データとして、処置卵画像25と、前核輪郭候補の検出結果とを含む。教師データは、前核数0個、1個、2個(それぞれ、「0PN」、「1PN」、「2PN」と記す。)の確率である。学習時には、上記の学習データを多数用いてニューラルネットワーク72を学習させる。
【0030】
[前核数推定処理]
次に、前核数推定処理について説明する。前核数推定処理は、処置卵の撮影画像に基づいて、処置卵に含まれる前核を検出し、前核の数を推定する処理であり、画像解析装置60により実行される。
図7は、前核数推定処理のフローチャートである。この処理は、画像解析装置60の制御部65が、予め用意されたプログラムを実行することにより実現される。なお、制御部65は、予め用意されたプログラムを実行する前に、ディープラーニングによる学習で判定用パラメータの最適化を事前に行っているものとする。
【0031】
まず、制御部65は、処理の対象となる処置卵の各時刻の撮影画像を記憶装置55から取得する(ステップS11)。具体的には、制御部65は、処理の対象となる処置卵について、受精処置後所定時間(例えば24時間程度)の間に所定の時間間隔で得られた撮影画像を記憶装置55から取得する。
【0032】
次に、制御部65は処置卵検出処理を行う(ステップS12)。処置卵検出処理は、ステップS11で得られた各画像から処置卵を検出する処理である。本実施形態では、制御部65は、ハフ変換により処置卵を検出する。ハフ変換とは、画像中から特定の構造(直線、真円、楕円など)を検出する手法であり、部分的に隠れている対象物や、僅かに変形している対象物なども検出することができる。受精卵は真円に近いので、ここでは制御部65はハフ変換により真円を検出する。
【0033】
図8(A)に処置卵の撮影画像20の一例を示す。制御部65は、ウェル12の内部の画素の明るさ(輝度)を解析し、明るさが隣の画素から急激に変わる画素を円周候補画素として検出する。そして、
図8(B)に示すように、制御部65は、円周候補画素と最も多く重なる真円を処置卵30として検出する。なお、制御部65は、一般的な処置卵のサイズの範囲に属する真円を処置卵として検出する。ハフ変換は、円周候補画素との重なりの多少に基づいて検出を行うので、処置卵の一部が隠れていたり、部分的に変形している場合でも、処置卵30を正しく検出することができる。
【0034】
次に、制御部65は、前核輪郭候補検出処理を行う(ステップS13)。
図4に示すように、制御部65は、学習済のニューラルネットワーク71を利用して、実際の計算、即ち、処置卵画像25からの前核輪郭候補の検出を行う。具体的には、制御部65は、実際の処置卵画像25を学習済のニューラルネットワーク71に入力し、実際の検出結果を出力する。これにより、
図4に示すように、実際の処置卵画像25から、処置卵に含まれる前核輪郭候補32aが検出される。
【0035】
前核輪郭候補が検出されると、次に制御部65は前核数確率算出処理を行う(ステップS14)。
図5に示すように、制御部65は、入力データとして、実際の処置卵画像25と、それに対応する実際の前核輪郭候補の検出結果をニューラルネットワーク72に入力する。なお、前核輪郭候補検出処理により前核の輪郭候補が検出されなかった場合は、その時の画像(通常は真っ黒な画像)が前核輪郭候補の検出結果としてニューラルネットワーク72に入力される。ニューラルネットワーク72は、実際の処置卵画像25及び実際の前核輪郭候補の検出結果に基づいて前核数の確率を計算し、出力する。こうして、1つの処置卵画像25について、その処置卵画像25に含まれる前核数が0個(0PN)である確率、1個(1PN)である確率、及び、2個(2PN)である確率がそれぞれ得られる。
【0036】
次に、制御部65は、予め用意された全ての処置卵画像25について、ステップS12〜S14の処理が完了したか否かを判定する(ステップS15)。全ての処置卵画像25について処理が完了していない場合(ステップS15:No)、処理はステップS12へ戻り、制御部65は、次の処置卵画像25についてステップS12〜S14の処理を実行する。
【0037】
こうして、全ての処置卵画像25についてステップS12〜S14の処理が完了すると(ステップS15:Yes)、制御部65は、各処置卵画像25について算出された前核数の確率を統合し、各時刻での前核数を判定する(ステップS16)。具体的には、まず制御部65は、
図6に例示するように全時刻における各前核数(0PN、1PN、2PN)の確率をグラフ化する。次に、制御部65は、各前核数のグラフに基づいて、所定の事前知識(制約条件)の下で最大の確率を有する前核数を決定する。本実施形態では、隠れマルコフモデルにより、全時刻において算出された前核数の確率と、事前知識(制約条件)から、最も確率の高い前核数の推移を計算する。
【0038】
詳しくは、本実施形態では、処置卵における前核の性質に基づき、以下の少なくとも1つを事前知識(制約条件)として使用する。
(1)起こりうる前核数は0PN、1PN、2PNの3状態であり、観察開始時の前核数は0PNである。
(2)時間の経過によって前核数が増加することはあるが、減少することは無い。
(3)統計的に、前核が発生しやすい時刻、消失しやすい時刻がある。典型的には、前核は観察開始から5時間程度で発生し、20時間程度で消失する。
(4)統計的に、0PN、1PN、2PN、それぞれの発生頻度が既知である。典型的には、0PN、1PN、2PNの発生頻度は、それぞれ10%、10%、80%程度である。
【0039】
図9(A)は、上記の事前知識(制約条件)を用いた前核数の判定例を示す。各前核数(0PN、1PN、2PN)の確率の推移が
図9(A)の各グラフのように得られたものとする。この例では、観察開始から15〜18時間の辺りで一時的に1PNの確率が高くなっているが、上記の事前知識(1)〜(4)を考慮すると、判定結果は2PNとすることが妥当である。
【0040】
図9(B)は、前核数の他の判定例を示す。各前核数(0PN、1PN、2PN)の確率の推移が
図9(B)の各グラフのように得られたものとする。この場合、観察開始から12〜22時間の期間では確率が1PNと2PNの間で頻繁に入れ替わっているが、上記の事前知識(1)〜(4)を考慮すると、判定結果は2PNとすることが妥当である。
【0041】
こうして、制御部65は、隠れマルコフモデルにより、各時刻における前核数を判定する。そして、各時刻における前核数が得られると、次に制御部65は全時刻での最大前核数を出力する(ステップS17)。即ち、制御部65は、全時刻を通した最大前核数を、その処置卵の最終的な前核数として出力する。
図10(A)は、ある処置卵について、各時刻における前核数の判定結果を示すグラフの一例である。
図10(A)の例では、前時刻を通した最大前核数は2PNであるので、その処置卵の前核数の判定結果は2PNとなる。
図10(B)は、他の処置卵について、各時刻における前核数の判定結果を示すグラフである。
図10(B)の例では、全時刻を通した最大前核数は1PNであるので、その処置卵の前核数の判定結果は1PNとなる。こうして、1つの処置卵について前核数が推定され、前核数推定処理は終了する。
【0042】
図11は、本実施形態による前核輪郭候補検出処理の方法に応じた前核数の判定精度を示す表である。
図11の表において、「元画像」とあるのは、機械学習による前核輪郭候補の検出を行わず、処置卵画像25の画像解析により前核数を検出した結果である。この場合、各前核数の判定の正解率は40〜60%程度、2PNの判定の正解率は52%にとどまっている。
【0043】
次に、「元画像+前核輪郭候補」とあるのは、前述の前核輪郭候補検出処理を実行した場合、即ち、機械学習により前核輪郭候補を検出した場合の結果である。この場合、各前核数の判定の正解率は60%以上、2PNの判定の正解率は74%となっており、前核輪郭候補の検出を行わない場合より判定精度は高くなっている。
【0044】
[前核数の表示]
次に、前核数推定処理により得られた前核数の表示例を説明する。制御部65は、前核数推定処理により得られた前核数を画像解析装置60の表示部64に表示する。
図12は、前核数を離散値として表示する場合の表示例を示す。
図12(A)は、前核数の経時的な推移を折れ線グラフにより示す例である。
図12(B)は、前核数の経時的な推移を色分けにより示す例である。
図12(C)は、前核数の経時的な推移をグラデーションを伴う色づけにより示す例である。この例では、前核数が変化する期間がグラデーションにより表現されている。
図12(D)は、前核数の経時的な推移を色の面積により示す例である。この例では、前核数が変化する期間が面積の変化により表現されている。
【0045】
[変形例]
(変形例1)
図1に示す画像解析システムでは、撮影装置の組み込まれた培養装置50で培養容器10内の処置卵を撮影し、その撮影画像を画像解析装置60で解析しているが、本発明の適用はこの形態には限られない。例えば、培養装置と撮影装置とを別個に構成し、培養容器から撮影装置へ培養容器10を移動して処置卵を撮影し、その撮影画像を画像解析装置60で解析してもよい。また、別の場所で撮影された撮影画像を画像解析装置60に入力し、解析してもよい。
【0046】
(変形例2)
上記の実施形態では、説明の便宜上、前核数が0、1、2のいずれかであるものとしているが、本発明は、前核数が0、1、2、3又はそれ以上である場合や、0、1、2、3、4又はそれ以上である場合にも適用可能である。
【0047】
(変形例3)
上記の実施形態では、処置卵検出処理においてハフ変換を利用して処置卵を検出しているが、その代わりに、ニューラルネットワークを利用して処置卵の候補を検出する処理として行ってもよい。
【0048】
(変形例4)
上記の前核数推定処理では、ステップS16において制御部65が所定の事前知識(制約条件)の下で最大の確率を有する前核数を決定する際に、処置卵の正常状態の制約条件として
「(1)起こりうる前核数は0PN、1PN、2PNの3状態であり、観察開始時の前核数は0PNである。
(2)時間の経過によって前核数が増加することはあるが、減少することは無い。」
との条件を使用している。これは即ち、「前核数は時間の経過とともに0PN→1PN→2PNと増加する」という制約条件を意味しているが、これに加えて、処置卵の異常状態の制約条件として、「前核数が時間の経過とともに0PN→2PN→1PNと変化する」などを定義してもよい。この場合には、制御部65は、正常状態の制約条件と異常状態の制約条件を選択的に適用し、当てはまる方の制約条件を用いて前核数を決定すればよい。これにより、処置卵が異常状態であるような場合には、最大の確率を有する前核数以外の前核数を正しい前核数として判定することができる。
【0049】
(変形例5)
上記の実施形態では、前核輪郭候補検出処理を行うニューラルネットワーク71と、前核数確率算出処理を行うニューラルネットワーク72とを別個に構成して2段階のニューラルネットワーク構成としているが、その代わりに、入力画像から前核数の判定結果を出力するような1段階のニューラルネットワークを構成してもよい。
【0050】
(変形例6)
上記の前核数推定処理では、ステップS17において、全時刻での最大前核数を出力しているが、ステップS16における前核数の判定処理においては、
図10に示すように前核数の時間毎の推移が取得されているので、これに基づいて前核数の変化点、例えば前核数が0PN→1PN、1PN→2PNと変化した時刻を示す情報を併せて出力してもよい。具体的には、前核数の変化点の時刻自体を出力することとしてもよいし、
図12(A)〜(D)の如きグラフを出力する際にそのグラフ上に前核数の変化点を示すようにしてもよい。
【0051】
(変形例7)
上記の前核数推定処理では、ステップS16において、所定の制約条件下で最大の確率を有する前核数を決定しているが、その代わりに、制約条件を用いない方法で前核数を決定することとしてもよい。例えば、前核数0、1、2などの確率のうち1つが最大となった状態が予め定めた時間以上継続した場合に、確率が最大となった個数であるとして前核数を判定してもよい。
【0052】
(変形例8)
上記の前核数推定処理では、ステップS13において教師データにより学習済のニューラルネットワーク71を用いて前核輪郭候補の検出を行っているが、これ以外の方法で前核輪郭候補を検出してもよい。例えば、ハフ変換により標準的な前核のサイズに近い円形部分を前核輪郭候補として検出してもよく、処置卵画像を2値化するなどの既知の手法により前核輪郭候補を検出してもよい。