(57)【要約】【課題】画像から高い精度で真のオブジェクトを検出し、かつ、誤ったオブジェクトの検出率が低い画像処理を実現する。【解決手段】画像からオブジェクトを検出するための画像処理を実行する計算機であって、演算装置および前記演算装置に接続される記憶装置を備え、前記画像処理を実現するためのモデルを定義するモデル情報を複数格納するモデル情報データベースを保持し、前記演算装置は、評価画像が入力された場合、前記複数のモデル情報の各々に基づいて、前記評価画像から前記オブジェクトを検出するための識別処理を実行し、前記複数のモデル情報の各々に基づく前記識別処理によって得られた出力結果を統合することによって、オブジェクトの検出結果を出力する。【選択図】  図２
2020112937.tif 000002
【特許請求の範囲】
【請求項１】
画像からオブジェクトを検出するための画像処理を実行する計算機であって、
演算装置および前記演算装置に接続される記憶装置を備え、
前記画像処理を実現するためのモデルを定義するモデル情報を複数格納するモデル情報データベースを保持し、
前記演算装置は、
評価画像が入力された場合、前記複数のモデル情報の各々に基づいて、前記評価画像から前記オブジェクトを検出するための識別処理を実行し、
前記複数のモデル情報の各々に基づく前記識別処理によって得られた出力結果を統合することによって、前記オブジェクトの検出結果を出力することを特徴とする計算機。
【請求項２】
請求項１に記載の計算機であって、
前記演算装置は、前記出力結果に関する論理積の演算を実行する第１論理演算、および前記出力結果に関する論理和の演算を実行する第２論理演算を実行することによって、前記複数の出力結果を統合することを特徴とする計算機。
【請求項３】
請求項２に記載の計算機であって、
前記モデル情報は、任意の大きさの前記オブジェクトを検出するためのモデルを定義する情報であり、
前記演算装置は、
前記評価画像のサイズを任意のサイズに縮小することによって、拡張評価画像を生成し、
前記拡張評価画像に対して、少なくとも一つの前記モデル情報に基づく前記識別処理を実行することを特徴とする計算機。
【請求項４】
請求項３に記載の計算機であって、
前記演算装置は、一つの前記評価画像に対して、異なるサイズの前記拡張評価画像を複数生成することを特徴とする計算機。
【請求項５】
請求項２に記載の計算機であって、
前記モデル情報を生成するための学習処理に用いる学習データを格納する学習データデータベースを保持し、
前記演算装置は、
前記学習データを任意のサイズに縮小して拡張学習データを生成し、
前記複数の学習データの各々から生成された拡張学習データのグループを設定し、
前記グループに含まれる前記複数の拡張学習データを用いた学習処理を実行することによって前記モデル情報を生成し、
前記モデル情報データベースに前記生成されたモデル情報を格納することを特徴とする計算機。
【請求項６】
請求項５に記載の計算機であって、
前記演算装置は、
前記オブジェクトを含む前記拡張学習データを選択し、前記選択された拡張学習データから前記オブジェクトを包含する所定の大きさの部分画像を生成し、
複数の前記部分画像および少なくとも一つの前記オブジェクトを含まない前記拡張学習データから構成される変換学習データを生成し、
前記変換学習データを用いた学習処理を実行することを特徴とする計算機。
【請求項７】
請求項２に記載の計算機であって、
前記モデル情報を生成するための学習処理に用いる学習データを格納する学習データデータベースを保持し、
前記演算装置は、
初期の前記モデル情報を生成し、
終了条件が満たされるまで、前記学習データを用いた学習処理を繰り返し実行することによって前記モデル情報を更新し、
前記モデル情報の格納条件を満たすか否かを判定し、
前記モデル情報の格納条件が満たされたと判定された場合、前記学習処理の実行回数を示す値が付与された前記モデル情報を前記学習データデータベースに格納することを特徴とする計算機。
【請求項８】
計算機が実行する、画像からオブジェクトを検出するための画像処理方法をであって、
前記計算機は、
演算装置および前記演算装置に接続される記憶装置を有し、
前記画像からオブジェクトを検出するための画像処理を実現するためのモデルを定義するモデル情報を複数格納するモデル情報データベースを保持し、
前記画像処理方法は、
前記演算装置が、評価画像が入力された場合、前記複数のモデル情報の各々に基づいて、前記評価画像から前記オブジェクトを検出するための識別処理を実行する第１のステップと、
前記演算装置が、前記複数のモデル情報の各々に基づく前記識別処理によって得られた出力結果を統合することによって、前記オブジェクトの検出結果を出力する第２のステップと、を含むことを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法であって、
前記第２のステップは、前記演算装置が、前記出力結果に関する論理積の演算を実行する第１論理演算、および前記出力結果に関する論理和の演算を実行する第２論理演算を実行することによって、前記複数の出力結果を統合するステップを含むことを特徴とする画像処理方法。
【請求項１０】
請求項９に記載の画像処理方法であって、
前記モデル情報は、任意の大きさの前記オブジェクトを検出するためのモデルを定義する情報であり、
前記第１のステップは、
前記演算装置が、前記評価画像のサイズを任意のサイズに縮小することによって、拡張評価画像を生成する第３のステップと、
前記演算装置が、前記拡張評価画像に対して、少なくとも一つの前記モデル情報に基づく前記識別処理を実行する第４のステップと、を含むことを特徴とする画像処理方法。
【請求項１１】
請求項１０に記載の画像処理方法であって、
前記第３のステップは、前記演算装置が、一つの前記評価画像に対して、異なるサイズの前記拡張評価画像を複数生成するステップを含むことを特徴とする画像処理方法。
【請求項１２】
請求項９に記載の画像処理方法であって、
前記計算機は、前記モデル情報を生成するための学習処理に用いる学習データを格納する学習データデータベースを保持し、
前記画像処理方法は、
前記演算装置が、前記学習データを任意のサイズに縮小して拡張学習データを生成する第５のステップと、
前記演算装置が、前記複数の学習データの各々から生成された拡張学習データのグループを設定する第６のステップと、
前記演算装置が、前記グループに含まれる前記複数の拡張学習データを用いた学習処理を実行することによって前記モデル情報を生成する第７のステップと、
前記演算装置が、前記モデル情報データベースに前記生成されたモデル情報を格納する第８のステップと、を含むことを特徴とする画像処理方法。
【請求項１３】
請求項１２に記載の画像処理方法であって、
前記第７のステップは、
前記演算装置が、前記オブジェクトを含む前記拡張学習データを選択し、前記選択された拡張学習データから前記オブジェクトを包含する所定の大きさの部分画像を生成するステップと、
前記演算装置が、複数の前記部分画像および少なくとも一つの前記オブジェクトを含まない前記拡張学習データから構成される変換学習データを生成するステップと、
前記演算装置が、前記変換学習データを用いた学習処理を実行するステップと、を含むことを特徴とする画像処理方法。
【請求項１４】
請求項９に記載の画像処理方法であって、
前記モデル情報を生成するための学習処理に用いる学習データを格納する学習データデータベースを保持し、
前記画像処理方法は、
前記演算装置が、初期の前記モデル情報を生成するステップと、
前記演算装置が、終了条件が満たされるまで、前記学習データを用いた学習処理を繰り返し実行することによって前記モデル情報を更新するステップと、
前記演算装置が、前記モデル情報の格納条件を満たすか否かを判定するステップと、
前記モデル情報の格納条件が満たされたと判定された場合、前記演算装置が、前記学習処理の実行回数を示す値が付与された前記モデル情報を前記学習データデータベースに格納するステップと、を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを用いた画像処理に関する。
【背景技術】
【０００２】
近年、ディープラーニングの中核技術の一つである畳み込みニューラルネットワーク（以下、ＣＮＮと記載する）が様々な分野で用いられている。ＣＮＮは、１つ以上のノードから構成される層を含み、各層のノードの接続がネットワークを形成する構造のモデルである。なお、ＣＮＮに含まれる層には、畳み込み演算が実行される層を少なくとも１つ含む。
【０００３】
例えば、医用分野では、ＣＴ（Ｃｏｍｐｕｔｅｒ  Ｔｏｍｏｇｒａｐｈｙ）画像、ＭＲＩ（Ｍａｇｎｅｔｉｃ  Ｒｅｓｏｎａｎｃｅ  Ｉｍａｇｉｎｇ）画像、Ｘ線画像、超音波画像等を処理するためのＣＮＮを利用して、精度の高い病変の検出、病変の自動計測、病変のレポート生成等を実現してきている。また、監視カメラ、家庭用ビデオカメラ、および携帯電話端末等の画像を処理するＣＮＮを利用して、画像の中から人物等の被写体を検出し、画像から文書、文字、グラフ、図形等を認識することが行われている。
【０００４】
画像からオブジェクトを検出するためのＣＮＮを用いた画像の処理結果には、目的とするオブジェクト以外のオブジェクトが検出される場合がある。オブジェクトの検出精度を低下させることなく、誤ったオブジェクトの検出率を低減させるための技術として、例えば、特許文献１に記載の技術が知られている。
【０００５】
特許文献１には、「教師あり画像分類器により検証用画像の分類をする情報処理システムであって、検証用画像の入力をする画像入力手段と、前記画像入力手段により入力された検証用画像と類似する画像を抽出する類似画像抽出手段と、前記類似画像抽出手段により抽出した画像にラベルを付与することで教師データを作成する教師データ作成手段と、前記教師データ作成手段により作成された教師データを用いて、前記教師あり画像分類器を学習させる学習手段と、を備える」ことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１１１７３１号公報
【非特許文献】
【０００７】
【非特許文献１】Armato SG III, McLennan G, Bidaut L, McNitt-Gray MF, Meyer CR, Reeves AP, Zhao B, Aberle DR, Henschke CI, Hoffman EA, Kazerooni EA, MacMahon H, van Beek EJR, Yankelevitz D, et al.:  The Lung Image Database Consortium (LIDC) and Image Database Resource Initiative (IDRI): A completed reference database of lung nodules on CT scans. Medical Physics, 38: 915--931, 2011
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載のように、誤検出結果をフィードバックするための学習処理を実行した場合、誤ったオブジェクトの検出率が低減する。しかし、手動で誤検出結果を入力する必要がある。また、当該学習処理によって、オブジェクトの検出精度に影響を与える可能性がある。
【０００９】
本発明は、真のオブジェクトの検出精度が高く、かつ、誤ったオブジェクトの検出率が低い画像処理を実現する技術を提供する。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。すなわち、画像からオブジェクトを検出するための画像処理を実行する計算機であって、演算装置および前記演算装置に接続される記憶装置を備え、前記画像処理を実現するためのモデルを定義するモデル情報を複数格納するモデル情報データベースを保持し、前記演算装置は、評価画像が入力された場合、前記複数のモデル情報の各々に基づいて、前記評価画像から前記オブジェクトを検出するための識別処理を実行し、前記複数のモデル情報の各々に基づく前記識別処理によって得られた出力結果を統合することによって、前記オブジェクトの検出結果を出力する。
【発明の効果】
【００１１】
本発明によれば、真のオブジェクトの検出精度が高く、かつ、誤ったオブジェクトの検出率が低い画像処理を実現できる。上記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１の計算機の構成例を示す図である。
【図２】実施例１の計算機が実行する処理の概要を説明する図である。
【図３Ａ】実施例１におけるＣＮＮの構造の一例を示す図である。
【図３Ｂ】実施例１におけるＣＮＮの構造の一例を示す図である。
【図４】実施例１の学習部が実行する第１データ変換処理を説明するフローチャートである。
【図５】実施例１の第１データ変換処理の流れを説明する図である。
【図６】実施例１の学習部が実行する学習処理を説明するフローチャートである。
【図７】実施例１の学習処理の流れを示す図である。
【図８】実施例１の画像処理部が実行する第２データ変換処理を説明するフローチャートである。
【図９】実施例１の画像処理部が実行する検出処理を説明するフローチャートである。
【図１０】実施例１の第２データ変換処理および検出処理の流れを示す図である。
【図１１】実施例１の画像処理部が実行する第３データ変換処理を説明するフローチャートである。
【図１２】実施例１の画像処理部が実行する統合処理を説明するフローチャートである。
【図１３】実施例１の第３データ変換処理および統合処理の流れを示す図である。
【図１４】実施例１の統合処理の流れのバリエーションを示す図である。
【図１５】実施例１の論理演算子の構造例を示す図である。
【図１６】実施例１の画像処理部が実行する処理の流れを示す図である。
【図１７】実施例１の画像処理部が実行する処理の流れを示す図である。
【図１８】実施例２の学習部が実行する学習処理を説明するフローチャートである。
【図１９Ａ】実施例２の変換学習データの一例を示す図である。
【図１９Ｂ】実施例２の変換学習データの一例を示す図である。
【図１９Ｃ】実施例２の変換学習データの一例を示す図である。
【図１９Ｄ】実施例２の変換学習データの一例を示す図である。
【図１９Ｅ】実施例２の変換学習データの一例を示す図である。
【図１９Ｆ】実施例２の変換学習データの一例を示す図である。
【図１９Ｇ】実施例２の変換学習データの一例を示す図である。
【図２０】実施例３の学習部が実行する学習処理を説明するフローチャートである。
【図２１】実施例３の画像処理部が実行する検出処理を説明するフローチャートである。
【図２２】実施例４のシステムの構成例を示す図である。
【発明を実施するための形態】
【００１３】
本発明は、画像からオブジェクトを検出する処理を含む画像処理を実現するＣＮＮを用いたオブジェクトの検出技術を提供する。
【００１４】
ここで、ＣＮＮは、後述のように、複数のノードから構成される複数の層をネットワーク状に接続する。ノードとは、人工ニューロン単体のことであり、ユニットとも呼ばれる。
【００１５】
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面は本発明の原理に則った具体的な実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１６】
本実施例では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装および形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成および構造の変更および多様な要素の置き換えが可能であることを理解する必要がある。したがって、以降の記述をこれに限定して解釈してはならない。
【００１７】
実施例を説明するための図において、同一の構成には原則として同一の符号を付し、その繰り返しの説明は省略する。
【実施例１】
【００１８】
図１は、実施例１の計算機１００の構成例を示す図である。
【００１９】
計算機１００は、演算装置１０１、メモリ１０２、ストレージ装置１０３、通信インタフェース１０４、出力インタフェース１０５、および入力インタフェース１０６を備える。前述の各ハードウェアはバス１０７を介して互いに接続される。
【００２０】
演算装置１０１は、計算機１００全体を制御する装置であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。演算装置１０１は、メモリ１０２に格納されるプログラムを実行する。演算装置１０１がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部として動作する。以下の説明では、機能部を主語に処理を説明する場合、演算装置１０１が当該機能部を実現するプログラムを実行していることを示す。
【００２１】
メモリ１０２は、演算装置１０１が実行するプログラムおよびプログラムが使用する情報を格納する。また、メモリ１０２はプログラムが一時的に使用するワークエリアを含む。メモリ１０２は、設定部１１０、学習部１１１、および画像処理部１１２を実現するプログラムを格納する。
【００２２】
設定部１１０は、学習対象のＣＮＮ２００（図２参照）を構築する。学習部１１１は、学習データＤＢ１２０に格納される学習データ１２１を用いてＣＮＮ２００の学習処理を実行する。学習部１１１は、学習結果としてＣＮＮ２００の定義情報であるモデル情報１３１を生成し、モデル情報ＤＢ１３０に格納する。画像処理部１１２は、複数のモデル情報１３１を用いて、入力された画像に対して任意の画像処理を実行する。
【００２３】
実施例１のＣＮＮ２００は、画像からオブジェクトを検出するための識別処理を実現するためのモデルである。また、画像処理部１１２は、入力された画像からオブジェクトを検出するための画像処理を実行する。
【００２４】
ストレージ装置１０３は、データを永続的に格納する記憶装置であり、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）およびＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。ストレージ装置１０３は、学習データＤＢ１２０およびモデル情報ＤＢ１３０を格納する。
【００２５】
学習データＤＢ１２０は、入力データ５００（図５参照）および正解データ５１０（図５参照）から構成される学習データ１２１を格納するデータベースである。モデル情報ＤＢ１３０は、ＣＮＮ２００の構造を管理するための情報であるモデル情報１３１を格納するデータベースである。モデル情報１３１には、ハイパーパラメータおよびネットワーク構造等が格納される。
【００２６】
なお、メモリ１０２に格納されるプログラムおよび情報は、ストレージ装置１０３に格納されてもよい。この場合、演算装置１０１がストレージ装置１０３からプログラムおよび情報を読み出し、メモリ１０２にロードし、さらに、メモリ１０２にロードされたプログラムを実行する。
【００２７】
通信インタフェース１０４は、ネットワーク１５０を介して、画像取得装置等の外部装置と通信するためのインタフェースである。計算機１００は、通信インタフェース１０４を介して、各種画像、ＣＮＮ２００の構造に関する情報、外部装置を制御するためのコマンド等を送受信する。
【００２８】
ネットワーク１５０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、イントラネットワーク、インターネット、携帯電話網、固定電話網等である。接続方式は有線および無線のいずれでもよい。なお、計算機１００は、通信インタフェース１０４を介して、外部装置と直接接続してもよい。
【００２９】
出力インタフェース１０５は、ディスプレイ１６０等の出力装置と接続するためのインタフェースである。ディスプレイ１６０には、各種画像、ＣＮＮ２００の構造に関する情報、学習処理および画像処理の進捗状況等が表示される。
【００３０】
入力インタフェース１０６は、キーボード１７０およびマウス１８０等の入力装置に接続するためのインタフェースである。ＣＮＮ２００の設計者（以下、ユーザと記載する。）は、入力装置を用いて各種値を設定し、また、各種コマンドを入力する。
【００３１】
図２は、実施例１の計算機１００が実行する処理の概要を説明する図である。
【００３２】
学習部１１１は、学習データ１２１を用いて、学習に使用する拡張学習データ２１０を生成するための第１データ変換処理を実行する（ステップＳ１００）。第１データ変換処理は、学習データ１２１を水増しするために実行される。
【００３３】
学習部１１１は、複数の拡張学習データ２１０を用いて、複数のモデル情報１３１を生成するための学習処理を実行する（ステップＳ２００）。これによって、複数のモデル情報１３１が生成される。
【００３４】
画像処理部１１２は、評価データ２２０が入力された場合、モデル情報１３１によって定義されるＣＮＮ２００に入力する拡張評価データ２３０を生成するための第２データ変換処理を実行する（ステップＳ３００）。第２データ変換処理は、評価データ２２０を水増しするために実行される。
【００３５】
画像処理部１１２は、複数の拡張評価データ２３０のオブジェクトを検出するための検出処理を実行する（ステップＳ４００）。検出処理では、複数のＣＮＮ２００による識別処理がシーケンシャルまたはパラレルに実行される。各ＣＮＮ２００からは、オブジェクトの検出結果を含む出力データ２４０が生成される。
【００３６】
画像処理部１１２は、複数の出力データ２４０に対して第３データ変換処理を実行し（ステップＳ５００）、第３データ変換処理が実行された出力データ２４０を用いて統合処理を実行する（ステップＳ６００）。後述するように、統合処理では、論理積および論理和等の論理演算が行われる。
【００３７】
各モデル情報１３１に対応するＣＮＮ２００は、同一の学習データ１２１から生成された拡張学習データ２１０を用いて生成される。したがって、各ＣＮＮ２００に基づく識別処理では、真のオブジェクトは、画像（拡張評価データ２３０）の同じ位置に検出される。一方、誤ったオブジェクトは、画像（拡張評価データ２３０）のランダムな位置に検出される。したがって、複数のＣＮＮ２００から出力された出力データ２４０の論理演算を実行することによって、誤ったオブジェクトを除去し、かつ、真のオブジェクトを高い精度で検出することができる。
【００３８】
図３Ａおよび図３Ｂは、実施例１におけるＣＮＮ２００の構造の一例を示す図である。
【００３９】
実施例１では、ＣＮＮ２００による画像処理を利用した肺がんＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｔｅｃｔｉｏｎ／Ｄｉａｇｎｏｓｉｓ）システムを一例として説明する。
【００４０】
ＣＡＤシステムは、画像処理を実行することによって、病変の検出、病変の正常／異常の識別、サイズ計測、病変種類の区別等を、自動または半自動で行うシステムである。当該システムは、複数の医師がボリュームデータを読影するのと並行して、ＣＡＤがボリュームデータを解析し、解析結果を医師に提示する。これによって、病変見落としを防止できる。
【００４１】
画像処理部１１２には、ＣＴ装置等によって撮影された胸部断層画像（ボリュームデータ）が評価データ２２０として入力される。評価データ２２０には、胸部断層画像を構成する複数の評価スライス画像３００を含む。画像処理部１１２は、評価スライス画像３００に映っている結節を検出するための画像処理を実行し、評価スライス画像３００における結節の位置を示す出力スライス画像３３０を含む出力データ２４０を出力する。
【００４２】
結節が映っている評価スライス画像３００からは、結節に対応する位置にＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）３５０を含む出力スライス画像３３０が出力される。図３Ａでは、矩形領域３４０にＲＯＩ３５０を含む出力スライス画像３３０が出力される。なお、矩形領域３４０は説明のために追加したものであり、実際の画像には表示されない。
【００４３】
以下の説明では、結節に対応するＲＯＩ３５０をＴＰ−ＲＯＩ（Ｔｒｕｅ  ｐｏｓｉｔｉｖｅ−ｒｅｓｉｏｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）３５１と記載し、結節以外の物体に対応するＲＯＩ３５０をＦＰ−ＲＯＩ（Ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ−ｒｅｓｉｏｎ  ｏｆ  ｉｎｔｅｒｅｓｔ）３５２と記載する。
【００４４】
実施例１の出力スライス画像３３０は二値化された画像として出力されるものとする。具体的には、ＲＯＩ３５０は白（輝度値＝１）、その他の部分は黒（輝度値＝０）となる画像とする。なお、出力スライス画像３３０は二値化された画像でなくてもよい。例えば、結節である確率に応じて輝度値を連続的に変化させた画像でもよい。この場合、結節である確率が高い場合、輝度を大きくし、結節である確率が低い場合、輝度値を小さくする表示方法が考えられる。
【００４５】
前述のような画像処理を実現するＣＮＮ２００の構造について説明する。
【００４６】
実施例１のＣＮＮ２００は、３つの層から構成される。第１層は境界検出層３１０であり、第２層は移動層３１１であり、また、第３層は結合層３１２である。各層３１０、３１１、３１２は少なくとも１つのノード３２０から構成される。ここで、図３Ｂを用いてノード３２０の構造について説明する。
【００４７】
ノード３２０は、畳み込み演算３２１、加算演算３２２、および活性化関数３２３から構成される。
【００４８】
畳み込み演算３２１では、水平方向がｉ画素、垂直方向がｊ画素であるｋ枚のスライス画像から構成されるｎ個の３次元ブロックから構成される入力画素群ｘ＿ａに対して３次元畳み込み演算が実行される。なお、ｎは整数であり、添字ａは０から（ｋ−１）までの整数である。３次元畳み込み演算は、３次元ブロックと同じサイズであるｋ個の重み係数群を用意し、ブロック中の各画素に対して対応する係数を乗算し、その値の総和を算出する演算である。
【００４９】
加算演算３２２では、畳み込み演算３２１の結果にバイアスを加算する。
【００５０】
活性化関数３２３は、加算演算３２２から入力された値に基づいて、１画素の出力ｙを算出する。活性化関数３２３は、例えば、ＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）、Ｃｌｉｐｐｅｄ  ＲｅＬＵ、Ｌｅａｋｙ  ＲｅＬＵ、シグモイド関数、ステップ関数、ハイパボリックタンジェント（ｔａｎｈ）関数等を用いる。
【００５１】
評価データ２２０の全ての画素に対して、前述の３次元ブロック処理を実行することによって３次元の画像を得ることができる。
【００５２】
なお、水平方向、垂直方向、スライス方向のそれぞれの端でパディングを行って、統合出力データ２５０のサイズを評価データ２２０と一致させる処理が行われてもよい。
【００５３】
なお、人物、動物、自動車、二輪車、放置物、危険物等を検出するＣＮＮ２００も同様の構造で実現できる。また、入力される画像は静止画でもよし、動画でもよい。
【００５４】
次に、ＣＮＮ２００に含まれる境界検出層３１０、移動層３１１、および結合層３１２の構造について説明する。
【００５５】
境界検出層３１０は、オブジェクトの輪郭に対応する境界を検出する。評価データ２２０に結節が含まれている場合、結節の近似形状である立体であるＲＯＩ３５０が含まれる出力データ２４０が出力される。
【００５６】
移動層３１１は、境界検出層３１０によって検出されたオブジェクトの境界に基づいて、任意の形状の結節を検出する。
【００５７】
移動層３１１は、オブジェクトの境界を画像上に設定した基準点に移動させ、境界に対応する値を加算する畳み込み演算が行われる。なお、基準点は任意に設定された点であり、ここでは「おおむね結節の中心あたりの点」とする。
【００５８】
結合層３１２は、基準点に移動させた境界線分の値の合計値を算出し、ＲＯＩ３５０の検出結果を出力する。具体的には、結合層３１２のノード３２０では、移動層３１１の出力に重み係数を乗算した値の総和を算出する演算が行われる。すなわち、移動層３１１の各ノードの出力を受け付け、１（＝１×１）画素の畳み込み演算を行う１つのノード３２０から構成される。
【００５９】
実施例１のＣＮＮ２００は以下のような特性を有する。境界検出層３１０において、結節の境界上からは正値が出力され、境界以外の部分ではゼロが出力される。そのため、境界を基準点に移動させ、境界の値を加算した結果、基準点では極めて大きな正値が出力され、基準点以外の点では、ゼロまたは小さい値が出力される。したがって、境界検出層３１０がＭ種類の境界線分を検出し、移動層３１１がＮ個の方向に境界を移動する畳み込み演算を実行する場合、ＣＮＮ２００は（Ｍ×Ｎ）個の境界の組合せによって定まる形状の結節を検出できる。すなわち、ＣＮＮ２００は任意の形状のオブジェクトを検出する識別器として機能する。
【００６０】
次に、ＣＮＮ２００を構築するために学習部１１１が実行する処理について説明する。
【００６１】
図４は、実施例１の学習部１１１が実行する第１データ変換処理を説明するフローチャートである。図５は、実施例１の第１データ変換処理の流れを説明する図である。図６は、実施例１の学習部１１１が実行する学習処理を説明するフローチャートである。図７は、実施例１の学習処理の流れを示す図である。
【００６２】
実施例１の学習データ１２１は、ボリュームデータである入力データ５００およびボリュームデータである正解データ５１０から構成される。入力データ５００は、２次元（ｘｙ平面）の入力スライス画像５０１が当該平面に垂直な軸（ｚ軸）方向に複数枚並べられたデータである。正解データ５１０は、２次元（ｘｙ平面）の正解スライス画像５１１が当該平面に垂直な軸（ｚ軸）方向に複数枚並べられたデータである。
【００６３】
入力データ５００には、結節が映っている入力スライス画像５０１が少なくとも１つ含まれる。結節を含む入力スライス画像５０１に対応づけられた正解スライス画像５１１には、ＲＯＩ３５０に対応するマスク５１２が含まれる。
【００６４】
まず、第１データ変換処理について説明する。学習部１１１は、学習データＤＢ１２０から学習データ１２１を読み出し、拡張学習データ２１０を生成する（ステップＳ１０１）。具体的には、以下のような処理が実行される。
【００６５】
（処理Ａ１）学習部１１１は、１つの学習データ１２１に含まれる入力データ５００および正解データ５１０に対して、等方性補間処理を実行する。入力スライス画像５０１間の間隔が入力スライス画像５０１の画素の間隔より大きい場合、また、正解スライス画像５１１間の間隔が正解スライス画像５１１の画素の間隔より大きい場合、画素の間隔とスライスが間の間隔をそろえるために、入力スライス画像５０１および正解スライス画像５１１の補間を行う等方性補間処理（スライス間のポリフェーズフィルタ処理）が実行される。
【００６６】
（処理Ａ２）学習部１１１は、補間された入力スライス画像５０１を含む入力データ５００に対して縮小処理を実行し、サイズが異なる複数の拡張スライス画像（拡張入力データ５５０および拡張正解データ５６０）を生成する。
【００６７】
なお、等方性補間処理は実行されなくてもよい。以上がステップＳ１０１の処理の説明である。
【００６８】
次に、学習部１１１は、縮小率に応じて入力グループを設定し、拡張学習データ２１０を各入力グループに分類する（ステップＳ１０２）。その後、学習部１１１は、第１データ変換処理を終了し、学習処理を開始する。
【００６９】
学習部１１１は、初期のＣＮＮ２００を構築するための初期設定を実行する（ステップＳ２０１）。これによって、学習前のＣＮＮ２００の構造を定義するモデル情報１３１が生成される。
【００７０】
次に、学習部１１１は、ターゲット入力グループを選択し（ステップＳ２０２）、ターゲット入力グループに含まれる拡張学習データ２１０を用いて順伝播処理を実行する（ステップＳ２０３）。順伝播処理とは、入力されたデータがＣＮＮ等のネットワークを伝播し、出力結果を得る処理をいう。具体的には、以下のような処理が実行される。
【００７１】
（処理Ｂ１）学習部１１１は、拡張入力データ５５０に含まれる結節の大きさを計測し、結節の大きさが所定の範囲の拡張入力データ５５０を選択する。学習部１１１は、選択された拡張入力データ５５０および対応する拡張正解データ５６０から構成される拡張学習データ２１０を画像処理部１１２に入力する。
【００７２】
（処理Ｂ２）画像処理部１１２は、モデル情報１３１に基づいて、拡張入力データ５５０に含まれる拡張入力スライス画像７００を処理することによって、拡張出力スライス画像７２０から構成される拡張出力データ７１０を生成する。結節が映っている拡張入力スライス画像７００が入力された場合、ＲＯＩ３５０を含む拡張出力スライス画像７２０が生成される。
【００７３】
なお、（処理Ｂ１）および（処理Ｂ２）を所定回数実行してもよい。以上が順伝播処理の説明である。
【００７４】
次に、学習部１１１は逆伝播処理を実行する（ステップＳ２０４）。逆伝播処理とは、出力側から入力側に向けて、ＣＮＮ等のネットワークの各層のパラメータの更新結果が伝播し、全ての層のパラメータを更新する処理をいう。具体的には、以下のような処理が実行される。
【００７５】
学習部１１１は、拡張出力データ７１０および拡張学習データ２１０の誤差の大きさを評価するロス値を算出する。学習部１１１は、ロス値に基づいて、ＣＮＮ２００の出力側から入力側に向けて、各層の重み係数およびバイアス等のパラメータを更新する。
【００７６】
パラメータの総数を次元数とする多次元空間において、パラメータを更新するアルゴリズム（オプティマイザ）としては、最急降下法、ＳＧＤ（Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｓｃｅｎｔ：確率的勾配降下法）、Ｍｏｍｅｎｔｕｍ  ＳＤＧ、Ａｄａｍ、ＡｄａＧｒａｄ、ＡｄａＤｅｌｔａ、ＲＭＳＰｒｏｐ、ＳＭＯＲＭＳ３等がある。実施例１では、オプティマイザに限定されない。最急降下法を採用した場合、学習部１１１は、１回学習する度に、誤差が小さくなる方向および度合いを示す勾配を算出し、当該勾配に基づいてパラメータを更新する。
【００７７】
以上が逆伝播処理の説明である。
【００７８】
次に、学習部１１１は、逆伝播処理の結果に基づいて、モデル情報１３１を更新する（ステップＳ２０５）。
【００７９】
次に、学習部１１１は、終了条件を満たすか否かを判定する（ステップＳ２０６）。
【００８０】
例えば、学習部１１１は、モデル情報１３１の更新回数（世代数）が所定の閾値より大きい場合、終了条件を満たすと判定する。また、学習部１１１は、ロス値が所定の閾値以下である場合、終了条件を満たすと判定する。
【００８１】
終了条件を満たさないと判定された場合、学習部１１１はステップＳ２０３に戻り、同様の処理を実行する。
【００８２】
終了条件を満たすと判定された場合、学習部１１１は、全ての入力グループの処理が完了したか否かを判定する（ステップＳ２０７）。
【００８３】
全ての入力グループの処理が完了していないと判定された場合、学習部１１１は、ステップＳ２０２に戻り、同様の処理を実行する。
【００８４】
全ての入力グループの処理が完了したと判定された場合、学習部１１１は、学習処理を終了する。
【００８５】
ここで、具体例を用いて、縮小率および入力グループについて説明する。実施例１では、ＮＣＩ（Ｎａｔｉｏｎａｌ  Ｃａｎｃｅｒ  Ｉｎｓｔｉｔｕｔｅ）により提供される胸部ＣＴ画像データベース（非特許文献１参照）を用いて、結節を検出するためのＣＮＮ２００を生成した。当該データベースには、ボリュームデータ（入力データ５００）および医師の所見（正解データ５１０）から構成される１０１８症例のデータ（学習データ１２１）が格納される。以下、データベースに格納されるデータを実験データとも記載する。
【００８６】
実験データを分析した結果、実験データに含まれる結節の長径は、５．４画素から７６．７画素の範囲であることが分かった。検出するオブジェクトのサイズの範囲が大きい場合、オブジェクトの検出精度を高くすることは難しい。
【００８７】
そこで、結節の長径を、一例として、「５画素から１０画素」、「７画素から１４画素」、「１０画素から２０画素」、「１４画素から２８画素」、「２０画素から４０画素」、「２８画素から５６画素」、「４０画素から８０画素」に区分し、各区分に属する結節の長径が５画素から１０画素の範囲に入るように縮小率を設定した。なお、本発明は、これらの画素数や縮小率に限定されるものではない。
【００８８】
すなわち、実施例１では、学習部１１１は、入力データ５００および正解データ５１０を、一例として、１倍、１／１．４倍、１／２倍、１／２．８倍、１／４倍、５．６倍、または１／８倍に縮小することによって、拡張入力データ５５０および拡張正解データ５６０を生成する。すなわち、一つの学習データ１２１から７つの拡張学習データ２１０が生成される。なお、本発明は、これらの縮小率に限定されるものではない。
【００８９】
また、学習部１１１は、一例として、「５画素から１０画素」、「１０画素から２０画素」、「２０画素から４０画素」、「４０画素から８０画素」を１つのグループ（第１学習グループ）に設定し、また、「７画素から１４画素」、「１４画素から２８画素」、「２８画素から５６画素」を１つのグループ（第２学習グループ）に設定する。なお、本発明は、これらの画素数に限定されるものではない。
【００９０】
学習部１１１は、第１学習グループに含まれる拡張学習データ２１０を用いて学習処理を実行し、また、第２学習グループに含まれる拡張学習データ２１０を用いて学習処理を実行する。
【００９１】
前述した一例の画素数に縮小した画像を用いた学習処理によって、５画素から１０画素の結節を検出するＣＮＮ２００が２つ生成される。このように生成された２つのＣＮＮ２００は、異なるサイズの結節を検出する識別器として機能する。
【００９２】
２つのＣＮＮ２００によって検出される結節のサイズは、互いに、オーバーラップするように設定されている。検出可能な結節のサイズに２画素から３画素のマージンがある場合、２つのＣＮＮ２００から得られる出力データ２４０には、同じ位置に結節を示すＴＰ−ＲＯＩ３５１が含まれる。そのため、２つの出力データ２４０を統合することによって、高い精度で結節を検出できる。
【００９３】
一方、誤ったオブジェクトを示すＦＰ−ＲＯＩ３５２は、ランダムな位置に出現することから、２つのＣＮＮ２００によって検出されるＦＰ−ＲＯＩ３５２の位置は異なることが期待される。そのため、２つの出力データ２４０を統合することによって、効率的に、ＦＰ−ＲＯＩ３５２を取り除くことができる。
【００９４】
次に、画像処理部１１２が実行する処理について説明する。
【００９５】
図８は、実施例１の画像処理部１１２が実行する第２データ変換処理を説明するフローチャートである。図９は、実施例１の画像処理部１１２が実行する検出処理を説明するフローチャートである。図１０は、実施例１の第２データ変換処理および検出処理の流れを示す図である。
【００９６】
まず、第２データ変換処理について説明する。画像処理部１１２は、評価データ２２０に対して等方性補間処理および縮小処理を実行することによって拡張評価データ２３０を生成する（ステップＳ３０１）。
【００９７】
等方性補間処理は、第１データ変換処理において実行される処理と同一である。縮小処理では、第１データ変換処理において実行される処理と同一である。すなわち、画像処理部１１２は１個の評価データ２２０から７個の拡張評価データ２３０を生成する。なお、等方性補間処理は実行されなくてもよい。
【００９８】
次に、画像処理部１１２は、縮小率に応じて評価グループを設定し、拡張評価データ２３０を各評価グループに分類する（ステップＳ３０２）。その後、画像処理部１１２は、第２データ変換処理を終了し、検出処理を開始する。
【００９９】
画像処理部１１２は、モデル情報ＤＢ１３０からターゲットモデル情報１３１を選択する（ステップＳ４０１）。
【０１００】
次に、画像処理部１１２は、ターゲットモデル情報１３１に対応する評価グループを特定し、特定された評価グループに含まれる拡張評価データ２３０を取得する（ステップＳ４０２）。
【０１０１】
次に、画像処理部１１２は、ターゲットモデル情報１３１に基づいて、拡張評価データ２３０に対する識別処理を実行する（ステップＳ４０３）。これによって、出力データ２４０が生成される。評価データ２２０に含まれる結節の大きさは未知であるが、大きさが異なる拡張評価データ２３０をＣＮＮ２００に入力することによって、いずれかの大きさの結節を検出することができる。
【０１０２】
次に、画像処理部１１２は、モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了したか否かを判定する（ステップＳ４０４）。
【０１０３】
モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了していないと判定された場合、画像処理部１１２は、ステップＳ４０１に戻り、同様の処理を実行する。
【０１０４】
モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了したと判定された場合、画像処理部１１２は検出処理を終了する。
【０１０５】
図１１は、実施例１の画像処理部１１２が実行する第３データ変換処理を説明するフローチャートである。図１２は、実施例１の画像処理部１１２が実行する統合処理を説明するフローチャートである。図１３は、実施例１の第３データ変換処理および統合処理の流れを示す図である。図１４は、実施例１の統合処理の流れのバリエーションを示す図である。図１５は、実施例１の論理演算子の構造例を示す図である。
【０１０６】
画像処理部１１２は、各ＣＮＮ２００から出力された出力データ２４０の拡大処理を実行する（ステップＳ５０１）。
【０１０７】
出力データ２４０の拡大率は、出力データ２４０を出力したＣＮＮ２００に入力された拡張評価データ２３０の縮小率に基づいて決定される。具体的には、拡大率および縮小率の積が１となるように拡大率が設定される。
【０１０８】
次に、画像処理部１１２は、拡大された出力データ２４０のサンプリングを実行する（ステップＳ５０２）。
【０１０９】
具体的には、画像処理部１１２は、出力データ２４０のデータサイズ（スライス画像の数）が評価データ２２０のデータサイズ（スライス画像の数）と同一となるように、等方性補間処理において追加されたスライス画像を削除する。このとき、単純にスライス画像を間引くだけではなく、スライス補間処理（スライス間のポリフェーズフィルタ処理）を行ってもよい。以下、このスライス補間処理についても、サンプリングと称して説明する。なお、等方性補間処理が実行されていない場合、サンプリングは実行されなくてもよい。
【０１１０】
次に、画像処理部１１２は、サンプリングが行われた出力データ２４０を二値画像に変化するための二値化処理を実行し（ステップＳ５０３）、第３データ変換処理を終了する。
【０１１１】
具体的には、画像処理部１１２は、画像中の結節部分が白または黒となるように画像を二値化する。実施例１では、結節の部分が白（輝度値が１）となるように画像が二値化される。なお、二値化処理は実行されなくてもよい。
【０１１２】
次に、画像処理部１１２は、第３データ変換処理が実行された複数の出力データ２４０を統合するための論理演算を実行することによって統合出力データ２５０を生成する（ステップＳ６０１）。その後、画像処理部１１２は統合処理を終了する。
【０１１３】
実施例１では、図１３に示すように、画像処理部１１２は、縮小率の小さい順に出力データ２４０のペアを形成し、各ペアの第３データ変換処理後の出力データ２４０の論理積の演算を行って第１出力データを生成する。さらに、画像処理部１１２は、各ペアの第１出力データの論理和の演算を行って統合出力データ２５０を生成する。
【０１１４】
なお、図１３に示す論理演算は一例であってこれに限定されない。例えば、図１４に示すような論理演算でもよい。
【０１１５】
ここで、論理積および論理和は、図１５に示すような論理演算子１５００を用いて実現できる。論理演算子１５００は、２つの乗算器１５１０、１５１１、加算器１５１２、および活性化関数１５１３から構成される。
【０１１６】
論理演算子１５００に入力値ｘ＿０および入力値ｘ＿１が入力された場合、乗算器１５１０は、重みｗ＿０および入力値ｘ＿０の積を算出し、乗算器１５１１は、重みｗ＿１および入力値ｘ＿１の積を算出する。加算器１５１２は、乗算器１５１０および乗算器１５１１が算出した値と、バイアスとを加算する。活性化関数１５１３は、加算器１５１２によって算出された値に基づいて値を出力する。
【０１１７】
論理積を実現する場合、重みｗ＿０および重みｗ＿１を「０．３」とし、バイアスを「０」とし、活性化関数１５１３は、加算器１５１２によって算出された値が「０．５」より大きい場合、出力値「１」を出力し、それ以外は「０」を出力するように設定すればよい。前述の設定が行われた論理演算子１５００は、縮小率がｋの画像の画素および縮小率がｋ’の画像の画素の各々の輝度値が「１」である場合、出力値として「１」を出力する。すなわち、２つの画像の同じ位置の画素にＲＯＩ３５０が存在する場合、第１出力データには結節を示すＲＯＩ３５０が含まれる。これによって、ＦＰ−ＲＯＩ３５２を効率的に除去することができる。
【０１１８】
なお、論理演算子１５００に入力値が３つ以上入力される場合、全ての入力値が「１」の場合にのみ出力値が「１」となる。
【０１１９】
論理和を実現する場合、重みｗ＿０および重みｗ＿１を「０．７」とし、バイアスを「０」とし、活性化関数１５１３は、加算器１５１２によって算出された値が「０．５」より大きい場合、出力値「１」を出力し、それ以外は「０」を出力するように設定すればよい。前述の設定が行われた論理演算子１５００は、縮小率がｋの画像の画素および縮小率がｋ’の画像の画素のいずれかの輝度値が１である場合、出力値として「１」を出力する。すなわち、各画像にＲＯＩ３５０を含む出力データが生成される。これによって、各種サイズの結節の検出結果を含む出力データを提示することができる。
【０１２０】
なお、論理演算子１５００に入力値が３つ以上入力される場合、いずれか入力値が「１」の場合、出力値が「１」となる。
【０１２１】
以上で説明したように、計算機１００は、評価データ２２０を入力した複数のＣＮＮ２００から出力された結果を統合することによって、ＴＰ−ＲＯＩ３５１の検出精度が高く、かつ、ＦＰ−ＲＯＩ３５２の検出率が低い画像処理を実現できる。
【０１２２】
（変形例１）
図１６は、実施例１の画像処理部１１２が実行する処理の流れを示す図である。
【０１２３】
画像処理部１１２は、各ＣＮＮ２００に全ての拡張評価データ２３０を入力する。画像処理部１１２は、同じ縮小率の拡張評価データ２３０の識別結果の論理積の演算を行って第２出力データを算出する。また、画像処理部１１２は、縮小率の小さい順に出力データ２４０のペアを形成し、各ペアの第２出力データの論理積の演算を行って第３出力データを算出する。さらに、画像処理部１１２は、各ペアの第３出力データの論理和の演算を行って統合出力データ２５０を生成する。
【０１２４】
（変形例２）
図１７は、実施例１の画像処理部１１２が実行する処理の流れを示す図である。
【０１２５】
画像処理部１１２は、各ＣＮＮ２００に全ての拡張評価データ２３０を入力する。画像処理部１１２は、同じ縮小率の拡張評価データ２３０の識別結果を混合する。例えば、ＣＮＮ２００が２つである場合、式（１）にしたがった処理が実行される。
【０１２６】
【数１】
2020112937.tif 000003
【０１２７】
ここで、ｙ１、ｙ２は、ＣＮＮ２００から出力された画像の画素の特徴量を表す。また、ｋ１は任意の係数を表す。ｋ１が１の場合、ｙ１が出力され、ｋ１が１／２の場合、ｙ１およびｙ２の平均値が出力される。
【０１２８】
画像処理部１１２は、縮小率の小さい順に出力データ２４０のペアを形成し、各ペアの混合出力の論理積の演算を行って第４出力データを算出する。さらに、画像処理部１１２は、各ペアの第４出力データの論理和の演算を行って統合出力データ２５０を生成する。
【実施例２】
【０１２９】
実施例２では、学習処理で用いる学習データ１２１に特徴がある。以下、実施例１との差異を中心に実施例２について説明する。
【０１３０】
実施例２の計算機１００の構成は実施例１と同一であるため、説明を省略する。実施例２の学習部１１１が実行する第１データ変換処理は実施例１と同一であるため、説明を省略する。画像処理部１１２が実行する第２データ変換処理、検出処理、第３データ変換処理、および統合処理は実施例１と同一であるため、説明を省略する。また、実施例２のＣＮＮ２００の構造は実施例１と同一であるため、説明を省略する。
【０１３１】
実施例２では、学習部１１１が実行する学習処理が異なる。
【０１３２】
図１８は、実施例２の学習部１１１が実行する学習処理を説明するフローチャートである。図１９Ａ、図１９Ｂ、図１９Ｃ、図１９Ｄ、図１９Ｅ、図１９Ｆ、および図１９Ｇは、実施例２の変換学習データ１９００の一例を示す図である。
【０１３３】
実施例２では、学習部１１１は、入力グループを選択した後（ステップＳ２０２）、拡張学習データ２１０から、変換入力データ１９１０および変換正解データ１９２０から構成される変換学習データ１９００を生成する（ステップＳ２５１）。変換学習データ１９００は、効率的な学習処理を実行するために、データ長およびデータ形式等が調整された学習データである。具体的には、以下のような処理が実行される。
【０１３４】
学習部１１１は、入力グループに含まれる拡張学習データ２１０の中から、５画素から１０画素の大きさの結節を含む拡張学習データ２１０（第１拡張学習データ）を所定の数だけ選択する。また、学習部１１１は、入力グループに含まれる拡張学習データ２１０の中から拡張学習データ２１０（第２拡張学習データ）を所定の数だけ選択する。なお、結節を含まない拡張学習データ２１０を第２拡張学習データに選択することが望ましいが、結節が含まれる拡張学習データ２１０が第２拡張学習データとして選択されてもよい。
【０１３５】
学習部１１１は、第１拡張学習データおよび第２拡張学習データから、任意のデータサイズのスライス画像を含む変換学習データ１９００を生成する。データサイズは、学習データグループ毎に設定される。
【０１３６】
ここで、図１９Ａから図１９Ｇを用いて、変換学習データ１９００の具体的な生成方法について説明する。
【０１３７】
第１学習グループに含まれる変換学習データ１９００の変換入力データ１９１０および変換正解データ１９２０は、一例として、水平方向が１０２４画素および垂直方向が５１２画素であるスライス画像を３２枚含むものとする。また、第２学習グループに含まれる変換学習データ１９００の変換入力データ１９１０および変換正解データ１９２０は、一例として、水平方向が７２０画素および垂直方向が３６０画素であるスライス画像を３０枚含むものとする。なお、本発明は、これらの画素数に限定されるものではない。
【０１３８】
変換入力データ１９１０の右側のデータ領域には、結節以外の組織を学習するための画像が設定され、変換入力データ１９１０の左側のデータ領域には、結節を学習するための画像が設定される。
【０１３９】
学習部１１１は、第２拡張学習データの拡張入力データ５５０を変換入力データ１９１０の右側のデータ領域に設定する。また、学習部１１１は、第２拡張学習データの拡張正解データ５６０を変換正解データ１９２０の右側のデータ領域に設定する。なお、学習部１１１は、必要に応じて、拡張入力データ５５０を縮小してもよい。
【０１４０】
学習部１１１は、第１拡張学習データの拡張入力データ５５０から結節を含む所定のサイズの部分入力画像を切り出し、変換入力データ１９１０の左側のデータ領域に設定する。また、学習部１１１は、第１拡張学習データの拡張正解データ５６０のＲＯＩ３５０を含む所定のサイズの部分正解画像を切り出し、変換正解データ１９２０の左側のデータ領域に設定する。
【０１４１】
実施例１では、第１学習グループから選択された第１拡張学習データからは、一例として、３２×３２のサイズの部分入力画像および部分正解画像が切り出される。したがって、変換入力データ１９１０および変換正解データ１９２０に設定される部分入力画像および部分正解画像の数はそれぞれ２５６個である。また、第２学習グループから選択された第１拡張学習データからは、３０×３０のサイズの部分入力画像および部分正解画像が切り出される。したがって、変換入力データ１９１０および変換正解データ１９２０に設定される部分入力画像および部分正解画像の数はそれぞれ１４４個である。なお、本発明は、これらの画像サイズに限定されるものではなく、以下の説明においても同様である。
【０１４２】
図１９Ａは、縮小率が１である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、５１２×５１２のサイズの第２拡張学習データが１個含まれる。変換入力データ１９１０の吹出は部分入力画像を表し、変換正解データ１９２０の吹出は部分入力画像に対応する部分正解画像を表す。
【０１４３】
図１９Ｂは、縮小率が１／２である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、２５６×２５６のサイズの第２拡張学習データが４個含まれる。
【０１４４】
図１９Ｃは、縮小率が１／４である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、１２８×１２８のサイズの第２拡張学習データが１６個含まれる。
【０１４５】
図１９Ｄは、縮小率が１／８である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、６４×６４のサイズの第２拡張学習データが６４個含まれる。
【０１４６】
図１９Ｅは、縮小率が１／１．４である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、３６０×３６０のサイズの第２拡張学習データが１個含まれる。
【０１４７】
図１９Ｆは、縮小率が１／２．８である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、１８０×１８０のサイズの第２拡張学習データが４個含まれる。
【０１４８】
図１９Ｇは、縮小率が１／５．６である拡張学習データ２１０から生成された変換学習データ１９００を表す。変換入力データ１９１０の右側には、９０×９０のサイズの第２拡張学習データが１６個含まれる。
【０１４９】
実施例２によれば、データフォーマットを整えた学習データを生成することによって、異なるデータサイズの画像を用いた学習処理を効率的かつ高速に実行できる。
【実施例３】
【０１５０】
実施例３では生成する学習部１１１および画像処理部１１２が実行する処理が異なる。以下、実施例１との差異を中心に実施例３について説明する。
【０１５１】
実施例３の計算機１００の構成は実施例１と同一であるため、説明を省略する。また、実施例３のＣＮＮ２００の構造は実施例１と同一であるため、説明を省略する。
【０１５２】
実施例３の学習部１１１は、第１データ変換処理を実行せずに、学習データ１２１を用いた学習処理を実行する。
【０１５３】
図２０は、実施例３の学習部１１１が実行する学習処理を説明するフローチャートである。
【０１５４】
実施例３では、学習部１１１は学習回数（世代数）を管理するためのカウンタを保持する。また、現在のモデル情報１３１をモデル情報ＤＢ１３０に格納するタイミングを示す格納条件が予め設定される。例えば、４００世代毎にモデル情報１３１を格納することが考えられる。なお、本発明は設定される格納条件に限定されない。
【０１５５】
第１データ変換処理が実行されないため、入力データは設定されない。そのため、ステップＳ２０３およびステップＳ２０８の処理が実行されない。
【０１５６】
ステップＳ２０５では、学習部１１１はカウンタを更新する。その後、学習部１１１は、カウンタの値に基づいて、格納条件を満たすか否かを判定する（ステップＳ２６１）。
【０１５７】
格納条件を満たさないと判定された場合、学習部１１１はステップＳ２０６に進む。
【０１５８】
格納条件を満たすと判定された場合、学習部１１１は、ステップＳ２０５において更新されたモデル情報１３１をモデル情報ＤＢ１３０に格納する（ステップＳ２６２）。その後、学習部１１１はステップＳ２０６に進む。
【０１５９】
このように、実施例３のモデル情報ＤＢ１３０には、世代が異なるモデル情報１３１が格納される。
【０１６０】
実施例３の画像処理部１１２は、第２データ変換処理および第３データ変換処理を実行しない。実施例３では、評価データ２２０に対して検出処理が実行される。
【０１６１】
図２１は、実施例３の画像処理部１１２が実行する検出処理を説明するフローチャートである。
【０１６２】
画像処理部１１２は、モデル情報ＤＢ１３０からターゲットモデル情報１３１を選択する（ステップＳ４０１）。
【０１６３】
次に、画像処理部１１２は、ターゲットモデル情報１３１に基づいて、評価データ２２０に対する識別処理を実行する（ステップＳ４５１）。これによって、出力データ２４０が生成される。
【０１６４】
次に、画像処理部１１２は、モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了したか否かを判定する（ステップＳ４０４）。
【０１６５】
モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了していないと判定された場合、画像処理部１１２は、ステップＳ４０１に戻り、同様の処理を実行する。
【０１６６】
モデル情報ＤＢ１３０に格納される全てのモデル情報１３１に対応する識別処理が完了したと判定された場合、画像処理部１１２は検出処理を終了する。
【０１６７】
実施例３の統合処理は、実施例１と同一である。
【０１６８】
実施例３によれば、評価データ２２０を入力した複数のＣＮＮ２００から出力された結果を統合することによって、ＴＰ−ＲＯＩ３５１の検出精度が高く、かつ、ＦＰ−ＲＯＩ３５２の検出率が低い画像処理を実現できる。
【実施例４】
【０１６９】
実施例４では、実施例１、実施例２、および実施例３で説明したＣＮＮ２００の学習および評価データ２２０に含まれる結節の検出を実現するシステムを説明する。
【０１７０】
図２２は、実施例４のシステムの構成例を示す図である。
【０１７１】
システムは、画像取得装置２２００、学習装置２２１０、画像処理装置２２２０、およびデータ管理装置２２３０から構成される。各装置はネットワーク２２４０を介して接続される。
【０１７２】
画像取得装置２２００は画像を取得する装置である。画像取得装置２２００が取得した画像は、学習データ１２１または評価データ２２０として扱われる。画像取得装置２２００は、例えば、ＣＴ装置、Ｘ線透視撮像装置、ＭＲＩ装置、および超音波プローブ（探触子）等の医療用装置、監視カメラ、ビデオカメラ、デジタルカメラ、並びに、スマートフォン等である。
【０１７３】
学習装置２２１０は、学習部１１１に対応する機能を有し、ＣＮＮ２００の学習処理を実行する。画像処理装置２２２０は、画像処理部１１２に対応する機能を有し、入力された画像を用いて画像処理を実行する。
【０１７４】
学習装置２２１０および画像処理装置２２２０は、汎用計算機を用いて実現できる。
【０１７５】
データ管理装置２２３０は、学習データ１２１、評価データ２２０、統合出力データ２５０、およびモデル情報１３１等を管理する。データ管理装置２２３０は、例えば、複数の記憶媒体を有するストレージシステムを用いて実現できる。データ管理装置２２３０は、外部から入力された指示にしたがって、データの読み出し、およびデータの格納等を行う。
【０１７６】
なお、学習装置２２１０および画像処理装置２２２０は１つの装置にまとめてもよい。
【０１７７】
なお、各装置が実行する処理は実施例１、実施例２、および実施例３で説明した処理と同一であるため説明を省略する。
【０１７８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１７９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、およびそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１８０】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）等の広範囲のプログラムまたはスクリプト言語で実装できる。
【０１８１】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１８２】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１８３】
１００  計算機
１０１  演算装置
１０２  メモリ
１０３  ストレージ装置
１０４  通信インタフェース
１０５  出力インタフェース
１０６  入力インタフェース
１０７  バス
１１０  設定部
１１１  学習部
１１２  画像処理部
１２０  学習データＤＢ
１２１  学習データ
１３０  モデル情報ＤＢ
１３１  モデル情報
１５０、２２４  ネットワーク
１６０  ディスプレイ
１７０  キーボード
１８０  マウス
２００  ＣＮＮ
２１０  拡張学習データ
２２０  評価データ
２３０  拡張評価データ
２４０  出力データ
２５０  統合出力データ
３００  評価スライス画像
３１０  境界検出層
３１１  移動層
３１２  結合層
３２０  ノード
３２１  畳み込み演算
３２２  加算演算
３２３  活性化関数
３３０  出力スライス画像
３４０  矩形領域
３５０  ＲＯＩ
３５１  ＴＰ−ＲＯＩ
３５２  ＦＰ−ＲＯＩ
５００  入力データ
５０１  入力スライス画像
５１０  正解データ
５１１  正解スライス画像
５１２  マスク
５５０  拡張入力データ
５６０  拡張正解データ
７００  拡張入力スライス画像
７１０  拡張出力データ
７２０  拡張出力スライス画像
１５００  論理演算子
１５１０、１５１１  乗算器
１５１２  加算器
１５１３  活性化関数
１９００  変換学習データ
１９１０  変換入力データ
１９２０  変換正解データ
２２００  画像取得装置
２２１０  学習装置
２２２０  画像処理装置
２２３０  データ管理装置
【図１】
2020112937.tif 000004
【図２】
2020112937.tif 000005
【図３Ａ】
2020112937.tif 000006
【図３Ｂ】
2020112937.tif 000007
【図４】
2020112937.tif 000008
【図５】
2020112937.tif 000009
【図６】
2020112937.tif 000010
【図７】
2020112937.tif 000011
【図８】
2020112937.tif 000012
【図９】
2020112937.tif 000013
【図１０】
2020112937.tif 000014
【図１１】
2020112937.tif 000015
【図１２】
2020112937.tif 000016
【図１３】
2020112937.tif 000017
【図１４】
2020112937.tif 000018
【図１５】
2020112937.tif 000019
【図１６】
2020112937.tif 000020
【図１７】
2020112937.tif 000021
【図１８】
2020112937.tif 000022
【図１９Ａ】
2020112937.tif 000023
【図１９Ｂ】
2020112937.tif 000024
【図１９Ｃ】
2020112937.tif 000025
【図１９Ｄ】
2020112937.tif 000026
【図１９Ｅ】
2020112937.tif 000027
【図１９Ｆ】
2020112937.tif 000028
【図１９Ｇ】
2020112937.tif 000029
【図２０】
2020112937.tif 000030
【図２１】
2020112937.tif 000031
【図２２】
2020112937.tif 000032