以下、本発明の好ましい実施形態として、本発明を撮像装置(例えば、デジタルカメラ、内視鏡用カメラ、顕微鏡用カメラ等)と外部装置を有する撮像システムに適用した例について説明する。この撮像システムの概略は以下の通りである。カメラは、外部機器とネットを通じて接続することができる。この外部装置は、画像を記録することができ、この記録された画像に対して、作業者は目視し、目的とする箇所の判定し、この範囲をアノテーション(注釈)情報とする。例えば、医師が患者の患部の内視鏡画像等を目視し、患部をマウスやカーソル等を用いて指定するアノテーション作業を行い、この指定された範囲の情報をアノテーション情報とする。
医師等の作業者は、アノテーション作業を開始するにあたって、作業時間、画像枚数等を指定しておく(例えば、図5のS11参照)。手動によるアノテーション作業の開始後に、予め指定した作業時間が経過すると、または画像枚数についてアノテーション作業を行うと、それまでに付与が終了したアノテーション情報を用いて、深層学習を行う(例えば、図5のS19参照)。この深層学習と並行して、手動によるアノテーション作業も行う(例えば、図5のS21)。
深層学習が終了すると、この深層学習で生成された推論モデルを用いて、アノテーション情報を推論によって付与し(例えば、図5のS25参照)、作業者は推論結果を目視し、正しく患部等の目的物を指示しているか否かを判定する。この判定の結果、適合の場合には、教師用データとして使用し、一方、不適合の場合には、作業者が手動でアノテーション情報を修正し、教師用データとして使用できるようにする。これらの教師用データを用いて、更に深層学習を行うことにより、より信頼性の高い推論モデルを生成することができる。
また、所定時間または所定枚数の画像について、アノテーション作業を行うと、教師用データ作成用のアノテーション情報付き画像と、検証用のアノテーション情報付き画像に、分離する(例えば、図5のS17参照)。教師用データ用のアノテーション情報付き画像は、推論モデル生成のための深層学習に使用する。検証用のアノテーション情報付き画像は、生成された推論モデルの信頼性を検証する際に使用する。
図1は、本発明の一実施形態に係る撮像システムの主として電気的構成を示すブロック図を示す。この撮像システムは、情報取得装置10と外部装置20を有する。情報取得装置10としては、カメラ、撮像部を有するスマートフォン、撮像部を有するPC(パーソナルコンピュータ)、撮像部を有するタブレット等、撮像部を有する内視鏡、撮像部の取り付けられた顕微鏡装置の画像情報を取得可能な機器であればよい。
情報取得装置10は、画像処理および制御部1、情報取得部2、姿勢センサ3、記録部4、操作判定部5、通信部6、表示部8、タッチパネル8aを有する。
情報取得部2は、対象物の画像データを取得する。この情報取得部2は、対象物の光学像を形成するための光学系と、この光学像を画像信号に変換するための撮像素子と、この撮像素子の制御および画像信号の読み出し等を行う撮像回路等を有する。撮像回路は、更に、画像信号の増幅処理や、画像データに変換するためのAD変換回路等を有する。情報取得部2は、取得した画像データを画像処理および制御部1に出力する。
姿勢センサ3は、ジャイロセンサ、加速度センサ等を有する。姿勢センサ3は、情報取得装置10の姿勢を検知し、検知結果を画像処理および制御部1に出力する。なお、姿勢センサ3としては、傾きセンサであってもよく、この場合は、情報取得装置10の傾きを検知する。また、姿勢センサ3は電子コンパスであってもよく、この場合は、例えば、情報取得装置10の光学系の向いている方向を検知する。
記録部4は、電気的に書き換え可能な不揮発性メモリを有し、このメモリは、情報取得装置10に装着可能な記録媒体であってもよく、また情報取得装置10に固定された半導体メモリや、ハードディスク等であってもよい。記録部4は、推論情報4a、画像データ4b、各種データ4c等を記録する。推論情報4aは、外部装置20内の学習部によって深層学習がなされ、生成された推論モデル等の推論情報である。画像データ4bは、情報取得部2によって取得され、画像処理および制御部1によって画像処理が施された画像データである。各種データ4cは、情報取得装置10を動作させるための各種調整データ等である。
操作判定部5は、ユーザが情報取得装置10に対して指示を与えるインターフェースであり、各種操作ボタン、操作ダイヤル等の操作部材を有する。操作判定部5は、操作部材の操作状態を判定するための判定回路を有し、判定結果は、画像処理および制御部1に出力される。
通信部6は、無線通信および/または有線通信を行うための通信回路を有する。通信部6は、外部装置20内の通信部30と送受信を行う。通信部6を介して、情報取得装置10は画像データを外部装置20に送信し、外部装置20から推論モデルを受信する。
表示部8は、液晶ディスプレイ(LCD)や有機EL等のディスプレイを有する。表示部8は、情報取得部2によって取得された画像データに基づいてライブビュー画像を表示し、また記録部4に記録された画像データ4bに基づく画像を再生表示する。また、表示部8の表示面にはタッチパネル8bが設けられている。タッチパネル8bは、ユーザのタッチ操作を検知し、この検知結果を画像処理および制御部1に出力する。
画像処理および制御部1は、制御部1a、画像処理部1b、推論部1c、関連判定部1d、ガイド作成部1e、表示制御部1fを有する。画像処理および制御部1は、プロセッサであり、また、ASIC(Application Specific Integrated Circuit)によって、構成してもよい。制御部1aは、CPU(Central Processor Unit)を有し、記録部4に記憶されているプログラムに従って、情報取得装置10の各部を制御することによって、全体を制御する。
画像処理部1bは、画像処理回路を有し、情報取得部2によって取得された画像データに対して、種々の画像処理を施す。種々の画像処理としては、例えば、ノイズ処理、WBゲイン補正、輪郭強調、偽色補正等の様々な画像処理がある。また、画像処理部1bは、表示部8におけるライブビュー画像に適した画像処理を施し、記録部4に記録する際に適した画像処理を施す。
推論部1cは、ハードウエアで構成された推論エンジンを有してもよく、また、CPU等のプロセッサによってソフトウエアによる推論処理を実現してもよい。推論部1cは、外部装置20の学習部26において生成された推論モデルを入力して、ニューラル・ネットワークの重み付けや結合の強さを設定する。また、推論部1cは、情報取得部2によって取得された画像データを入力し、推論を行う。
推論部1cは、例えば、情報取得装置10が内視鏡の場合には、患部の位置や、患部の症状等を推論する。推論部1cは、この推論結果は関連判定部1dに出力し、前後の画像の時系列的な関連性を判定した上で、推論結果をガイド作成部1eに出力する。ガイド作成部1eは、表示部8に、患部の位置や症状等を、操作者にガイドする。このガイドにあたって、関連判定部1dは、画像の時系列的変化を判定し、例えば、患部の位置を通り過ぎてしまった場合に、ガイド作成部1eは、観察位置を戻すようなガイドを出力する。
表示制御部1fは、表示制御回路を有し、表示部8における表示の制御を行う。例えば、情報取得部2によって取得した対象物をライブビュー表示し、また記録部4に記録されている画像を再生表示する。強調部1faは、ガイド表示する場合等、ユーザに特に気づいてもらいたい箇所を強調する表示を行うための制御を行う。
外部装置20は、制御部21、情報記録部22、再生部23、指定操作部24、汎用分類部25、学習部26、通信部30を有する。外部装置20は、パーソナルコンピュータ(PC)等のスタンドアロン装置であってもよく、またインターネット上で接続されているサーバであってもよい。PC等のスタンドアロン装置の場合には、画像データは、通信部を介さず、USBメモリ等から入力するようにしてもよい。
制御部21は、プロセッサであり、また、ASIC(Application Specific Integrated Circuit)によって、構成してもよい。また、この制御部21は、CPU(Central Processing Unit)を有し、記憶部に記憶されたプログラムに従って、外部装置20内の各部を制御し、全体を制御する。
制御部21は、再生制御部21a、特定部分判定部21b、学習・検証分離部21c、仮学習部21dを有する。これらの各部は、ハードウエア回路で構成してもよく、またCPUがプログラムに従って実現するようにしてもよい。
再生制御部21aは、複数のアノテーションを付与する対象物(画像)を、再生部23に個々に順次再生する。すなわち、対象物記録DB22aに記憶されている画像を、順次読出し、この画像を再生部23の表示モニタに再生表示する。再生制御部21aは、再生制御回路を有し、この再生制御回路によって画像の再生制御を行うようにしてもよい。
特定部分判定部21bは、外部装置20の操作者によって指定された特定部分を判定する。再生制御部21aによって、再生部23に対象物画像が再生表示されると、操作者は指定操作部24を操作することによって、特定部分を指定する(例えば、図3、4、および図5のS15等参照)。特定部分判定部21bは、この指定された特定部分を認識し、再生表示された画像の画像データに関連付けて記録する。この特定部分は、アノテーション情報となる。特定部分としては、例えば、内視鏡画像の場合には、患部の範囲等がある。
学習・検証分離部21cは、アノテーション情報が付与された画像を、深層学習の際に使用画像と、推論モデルの信頼性の検証の際に使用する画像に分ける。すなわち、アノテーション情報が付与された画像は、教師用データとして使用することができる。この教師用データは、推論モデルを生成する際の深層学習に使用でき、また推論モデルの信頼性の検証に使用できる。推論モデル生成用に使用した教師用データは、信頼性の検証に使用できないことから、学習・検証分離部21cは、アノテーション情報が付与された画像を、深層学習の際に使用するか、信頼性の検証の際に使用するかを決める(例えば、図5のS17参照)。
仮学習部21dは、外部装置20の操作者によって、対象物記録DB22aに記録されている画像の内の一部の画像について、特定部分の指定を行うアノテーション作業が終了すると、完了したアノテーション付き画像(教師用データ)を用いて、深層学習を行う(例えば、図5のS19参照)。この深層学習は、特定部分を抽出(認識)するための学習である。この学習によって特定部分を抽出するための推論モデルを生成する。生成された推論モデルは、情報記録部22に仮学習結果記録22bとして記録される。
情報記録部22は、電気的に書き換え可能な不揮発性メモリであり、種々のデータ・画像等を記憶する。情報記録部22には、対象物記録DB(データベース)22aと、仮学習結果記録22bが記録される。対象物記録DB22aは、情報取得部2によって取得され、通信部6を通じて外部装置20に送信されてきた画像データである。なお、この対象物記録DB22aは、多数の情報取得装置10から画像データによって構成され、また他のサーバ等に記録されている画像データを含むようにしてもよい。仮学習結果記録22bは、前述したように、仮学習部21dによって、生成された推論モデルである。
再生部23は、液晶ディスプレイ(LCD)や有機EL等のディスプレイを有し、外部装置20に外付けされていてもよい。この再生部23には、情報記録部22に記録された対象物記録DBに基づく画像が順次表示される。ここで表示された画像は、後述するように操作者によってアノテーション情報が付与されるアノテーション作業がなされる(図3、図4、図5のS15,S21等参照)。また、指定操作部24によって指定された領域が表示される。
再生部23は、アノテーションの対象となる対象物を含み得る複数の画像を、個々に順次再生する再生部として機能する(例えば、図3、図4等参照)。また、再生部23は、分類部による汎用分類に従って、複数の画像を、個々に順次再生する再生部として機能する(例えば、図9のS14参照)。
指定操作部24は、マウスやタッチパネル等による操作を行うインターフェースであり、外部装置20に外付けされていてもよい。指定操作部24は、再生部23に表示された画像に対して、操作者が特定部分を指定する。特定部分としては、例えば、前述したように、患部のある範囲等がある。この指定操作部24による特定部分の指定については、図3および図4を用いて後述する。また、指定操作部24によって、ユーザ(作業者)が手動でアノテーションを行う作業時間、またはデータ量(画像数で代用してもよい)等を設定することができる(例えば、図5のS11参照)。この作業時間やデータ量の設定は、作業開始時に設定するが、作業開始時に限らず、作業中に設定してもよく、また設定した作業時間やデータ量等を作業中に修正してもよい。
指定操作部24は、再生部で再生された画像内の対象物の特定部分を手動操作により指定する指定部として機能する(例えば、図3、図4、図5のS15、S21、図9のS14、S22a等参照)。また、指定操作部24は、手動操作により特定部分を指定する作業時間またはデータ量を設定するための設定部として機能する(例えば、図5のS11、図6(a)、図7のS12、図8(a)参照)。また、学習部によって推論モデル作成を行う際に、並行して、指定部は複数の画像の内で、特定部分を指定していない残りの画像に対して、手動操作により対象物の特定部分を指定する(例えば、図5のS19、S21、図7のS20、S22、図9のS20a、S22a参照)。設定部において設定された作業時間またはデータ量に従って、特定部分を手動操作によって指定する時間と、推論モデルを作成する時間の配分を行う(例えば、図5のS15、S21、およびS27のT0、図7のS16およびS22のT0/2参照)。
汎用分類部25は、対象物記録部DB22aの内の画像を、画像の明るさ、色調・色彩、ピント状態等の画像パターンに基づいて、分類する。外部装置20の操作者が、対象物記録部DB22aの全ての画像に対して、アノテーション作業(特定部分の指定を行う作業)を行うのは、膨大な時間がかかってしまう。そこで、その一部を仮学習部21dによって生成された推論モデルを利用すれば、時間を短縮することができる。この場合、操作者がアノテーション作業を施す画像として、深層学習で推論モデルを生成する際の苦手画像を選択すれば、推論モデルの信頼性を向上させることができる。また、アノテーション作業を行う画像を多様化することによって、推論モデルの信頼性を向上させることができる。
なお、教師用データは公開されているデータがある。例えば、特定の画像を扱う団体が研究用に配布しているデータや、評価者によって販売されているデータや、画像検索によって簡単に画像をサービスによって入手できるデータ等がある。これらのデータは、何枚セットとかの集合として使えるので、これを使ってアノテーションしてもよい。この場合、何枚セットとか仕様がわかっているので、「何時間作業する」という指定を行う代わりに、これをアノテーション時にスペック情報として入力してもよい。もちろん、このデータ量を手動入力し、作業量を見積もっても同様の効果を奏する。画像の中の特定部分を手動操作によって指定する時間と、学習によって推論モデルを作成する時間の配分を、一枚の画像のアノテーションにかかる時間から決定してもよい。
汎用分類部25は、画像を明るさ、色彩・色調、画像のコントラスト等、パターン分類を行う。例えば、明るい暗い、ボケてる、ボケてない、赤っぽい、青っぽいに基づいて、分類してもよい。手動アノテーションを担当した者によって分類してもよい。さらに、この分類の際に、画像の特徴でクラス分類して選んだ各クラスで10個×クラス数10のように、所定数の画像を選択してもよい。また、アノテーション作業の順位付けを行い、優先順位の高い画像から、アノテーション作業を行うようにすればよい(例えば、図9のS3、S5参照)。
汎用分類部25は、汎用的な画像クラス分類に従って記複数の画像を分類し、分類に応じて、特定部分を手動操作によって指定する画像を選択する分類部として機能する(例えば、図9のS3、S14等参照)。また、分類部は、特定部分を手動操作によって指定する際に、画像の優先順位を指定する(例えば、図9のS3、S14等参照)。また、汎用分類部25は、ノテーションの対象となり得る対象物を含みうる複数の画像を、汎用分類に沿って分類する分類部として機能する(例えば、図9のS3、S14等参照)。
学習部26は、ハードウエアで構成された推論エンジンを有してもよく、また、CPU等のプロセッサによってソフトウエアによって推論処理を実現してもよい。学習部26は、アノテーション情報化部27によって作成されたアノテーション付きの画像データ、すなわち教師データを用いて、深層学習を行い、推論モデルを作成する。作成された推論モデルは、通信部30を通じて、情報取得装置10内の推論部1cに送信される。
学習部26は、所謂人工知能(AI)を用いて深層学習(機械学習)を行う。具体的には、学習部26は、アノテーション情報化部27によって作成されたアノテーション付き画像(教師用データ)を母集合とすると共に教師データとして用いて、深層学習を行う。すなわち、ニューラル・ネットワークの入力層にアノテーション付き画像の画像データを入力し、出力結果が教師用データのアノテーション情報となるように、中間層の重み付けを決定する。この中間層の重み付け(結合の強さ)が推論モデルとして出力される。深層学習については、図2を用いて後述する。
なお、本実施形態においては、学習部26と仮学習部21dは、分離して配置している。しかし、両者とも深層学習を行うことから、学習部26が仮学習部21dを兼用してもよく、逆に仮学習部21dが学習部26を兼用してもよい。また、制御部21内に仮学習部21dを配置したが、これに限らず、仮学習部21dを制御部21の外部に配置するようにしてもよい。さらに、学習部26を制御部21内に配置するようにしてもよい。
学習部26(または仮学習部21d)は、設定部により設定された作業時間またはデータ量(または画像数)に基づいた時間またはデータ量(または画像数)について、指定部によって特定部分を指定が終了し、複数の画像のうち上記特定部分を手動操作により指定するために別画像に変更する際に、対象物と特定部分の関係を教師データとして用いて学習することによって、推論モデルを作成する学習部として機能する(例えば、図5のS19、図7のS20、図9のS20a参照)。また、学習部によって推論モデルが作成された後に、複数の画像の中で残っている画像に対して、推論モデルによる推論を利用して、特定部分を指定する(例えば、図5、図7および図9のS25参照)。
また、学習部26は、複数の画像のうち特定部分を手動操作により指定するために別画像に変更する際に、学習用の画像セットと、正解用の画像セットに分離し、学習用画像セットの対象物と特定部分の関係を教師データとして用いて学習して推論モデルを作成し、正解用の画像セットで推論モデルを検証する学習部として機能する(例えば、図5のS17、S19、S23参照)。
通信部30は、無線通信および/または有線通信を行うための通信回路を有する。この通信部30は、情報取得装置10内の通信部6と送受信を行う。通信部30を介して、情報取得装置10から画像データを受信し、また、外部装置20は推論モデルを情報取得装置10に送信する。
次に、深層学習について、説明する。「深層学習(ディープ・ラーニング)」は、ニューラル・ネットワークを用いた「機械学習」の過程を多層構造化したものである。情報を前から後ろに送って判定を行う「順伝搬型ニューラル・ネットワーク」が代表的なものである。順伝搬型ニューラル・ネットワークは、最も単純なものでは、N1個のニューロンで構成される入力層、パラメータで与えられるN2個のニューロンで構成される中間層、判別するクラスの数に対応するN3個のニューロンで構成される出力層の3層があればよい。入力層と中間層、中間層と出力層の各ニューロンはそれぞれが結合加重で結ばれ、中間層と出力層はバイアス値が加えられることによって、論理ゲートを容易に形成できる。
ニューラル・ネットワークは、簡単な判別を行うのであれば3層でもよいが、中間層を多数にすることにより、機械学習の過程において複数の特徴量の組み合わせ方を学習することも可能となる。近年では、9層~152層のものが、学習にかかる時間や判定精度、消費エネルギーの観点から実用的になっている。また、画像の特徴量を圧縮する、「畳み込み」と呼ばれる処理を行い、最小限の処理で動作し、パターン認識に強い「畳み込み型ニューラル・ネットワーク」を利用してもよい。また、より複雑な情報を扱え、順番や順序によって意味合いが変わる情報分析に対応して、情報を双方向に流れる「再帰型ニューラル・ネットワーク」(全結合リカレントニューラルネット)を利用してもよい。
これらの技術を実現するために、CPUやFPGA(Field Programmable Gate Array)等の従来からある汎用的な演算処理回路を使用してもよい。しかし、これに限らず、ニューラル・ネットワークの処理の多くが行列の掛け算であることから、行列計算に特化したGPU(Graphic Processing Unit)やTensor Processing Unit(TPU)と呼ばれるプロセッサを利用してもよい。近年ではこのような人工知能(AI)専用ハードの「ニューラル・ネットワーク・プロセッシング・ユニット(NPU)」がCPU等その他の回路とともに集積して組み込み可能に設計され、処理回路の一部になっている場合もある。
その他、機械学習の方法としては、例えば、サポートベクトルマシン、サポートベクトル回帰という手法もある。ここでの学習は、識別器の重み、フィルター係数、オフセットを算出するものあり、これ以外にも、ロジスティック回帰処理を利用する手法もある。機械に何かを判定させる場合、人間が機械に判定の仕方を教える必要がある。本実施形態においては、画像の判定を、機械学習により導出する手法を採用したが、そのほか、人間が経験則・ヒューリスティクスによって獲得したルールを適応するルールベースの手法を用いてもよい。
次に、図2を用いて、外部装置20内の学習部26における深層学習を行うための教師用データと、学習部26が行う深層学習について説明する。
図2(a)は、学習部26が行う教師用データを示す。A画像41は、情報取得部2によって取得された画像である。B答え42は、アノテーション化部27によって生成されたアノテーション情報である。学習用画像群43aは、アノテーション情報が付与された画像群(教師用データ)である。この画像群(教師用データ)を用いて、学習部26内のニューラル・ネットワーク(ネットワークのデザイン)44における深層学習を行う。検証用画像群43bは、学習用画像群43aと同じくアノテーション情報が付与された画像で群であるが、深層学習には使用せず、深層学習によって生成された推論モデルの信頼性の検証に使用される。
図2(b)は、学習部26が行う深層学習と、推論部1cが行う推論を説明する図である。画像群43の内の画像をニューラル・ネットワーク44の入力層に入力し、画像群43の内の答え(アノテーション情報)を出力層に与える。そして、各入力に対して、各出力が一致するように、中間層(ニューラル・ネットワーク44)の各層におけるニューロンの結合の強さや重み付け決めていく。中間層の結合の強さや重み付けが推論モデルとなる。学習部26によって生成された推論モデル(中間層の結合の強さや重み付け)は、推論部1cに格納され、推論の際に使用される。
図2に示す深層学習は、外部装置20内の学習部26において行われるが、これ以外にも制御部21内の仮学習部21dにおいても、深層学習が行われる。仮学習部21dにおいて行う深層学習は、対象物の特定部分を抽出し、指示するための推論モデルを生成する(例えば、図5のS19参照)。
次に、図3を用いて、外部装置20の操作者が行うアノテーション作業の例について説明する。図3(a)は、再生部23の表示画面23aに、対象物記録DB22aから読み出した画像が表示されている様子を示す。操作者は、表示画面23aに表示された対象物51の範囲を、特定部分として、カーソル55によって指示するための作業を行う。まず、表示画面23aの右側に表示された指示用形状53a~53cの中から、操作者は対象物51の特定部分に適した形状を選択する。図3に示す例では、特定部分は、四角形状であることから、操作者は四角形の指示用形状53bを選択する。この選択は、指定操作部24によって行う。
図3(a)において、操作者は指示用形状53bを選択すると、指定操作部24を操作して、図3(b)に示すように、指示用形状54を対象物51の位置まで移動させる。そして、図3(c)に示すように、指示用形状54bの角部分を下側に延ばすことにより、指示用形状54bが対象物51の全体を覆うように広げる。この状態で、操作者は表示画面23aの右下に表示されている「済み」アイコン57を選択する。この選択によって、図3(d)に示すように、対象物51の範囲を特定範囲として決定することができる。
図4を用いて、外部装置20の操作者が行うアノテーション作業の他の例について説明する。図3に示したアノテーション作業例は、指示用形状53a~53cの形状自体は変えず、その大きさを変更するだけであった。図4に示すアノテーション作業例は、指示用形状53a~53cの形状自体を変形することができる。
図4(a)においても、再生部23の表示画面23aに、対象物記録DB22aから読み出した画像が表示されている。操作者は、表示画面23aに表示された対象物52の範囲を、特定部分として指示するために、まず、表示画面23aの右側に表示された指示用形状53a~53cの中から、対象物52の特定部分に適した形状を選択する。図4に示す例では、特定部分は、豆状であることから、操作者は円形の指示用形状53aを、指定操作部24によって選択する。
図4(a)において、操作者は指示用形状53aを選択すると、指定操作部24を操作して、図4(b)に示すように、指示用形状54aを対象物52の位置まで移動させる。図4(b)に示す状態では、指示用形状54aと対象物52の間には隙間があることから、指示用形状54aの形状を対象物53の形状に近くなるように、指示用形状54aを変形させる。
まず、円形の指示用形状54aの直径をカーソル55によって調整する。続いて、凹み型の修正用のアイコン53eを選択し、図4(c)に示すように、円形の指示用形状54aの外側から押し込むように操作する。また、図4(d)に示すように、円形の指示用形状54aの内側から引き込むように操作する。なお、アイコン53dは、直線状の修正用アイコンである。修正用アイコン53d、53eを操作することによって、図4(e)に示すように、対象物52の範囲を特定範囲として決定することができる。この状態で、操作者は表示画面23aの右下に表示されている「済み」アイコン57を選択する。この選択によって、図4(e)に示すように、対象物52の範囲を特定範囲として決定することができる。ここでのアノテーション作業は、PCとマウスを使用する例について説明した。しかし、もっと単純にタッチパネルを有するデバイスにおいて、作業者が指やタッチペン等によって、領域指定するような応用も可能である。
このように、アノテーション時には、様々なステップからなる操作を行う必要があり、このステップのいくつかをAIで代用することによって作業性を向上させることができる。例えば、最初に囲み図形を作成する候補の選択や、囲み図形の大きさの選択や、囲み図形を重ね合わせる等のステップをAIによって自動化させてもよい。これらのステップのいくつかが自動化されるだけで作業性が増し、また作業時間が短縮でき、さらに作業者のストレスが軽減する。図4(c)、(d)に示すアイコン53d、53e等のアイコンも初めから自動選択されていると同様の効果を奏する。
カメラや携帯機器等の情報端末に搭載するタイプの推論エンジンは、層の数が少なく消費電力が少ないながら高性能が求められるコンパクトタイプであり、PC等に搭載され、病変を探すノーマルタイプの推論エンジンとは異なる。製品に搭載するコンパクトタイプの推論エンジンは、少ない層で高精度判断するための学習は困難であり、また時間がかかるため、正確なアノテーションも重要である。したがって、コンパクトタイプ推論エンジン用の正確な作業を行うには、作業者に通常以上のストレスがかかる。
次に、図5に示すフローチャートを用いて、アノテーションの動作について説明する。このアノテーションは、まず、外部装置20の操作者が再生部23に表示された画像の中から対象物41、42の特定部分を選択し、この特定部分をアノテーション情報として、画像データに関連付ける。手動アノテーションを所定時間の間行うと、または所定枚数の画像を手動アノテーションによって処理すると、アノテーション用の推論モデルを生成するための深層学習を行い、また並行して手動アノテーションを実行する。推論モデルが生成されると、以後、推論モデルによる推論によってアノテーションを付与する。図5に示すフローにおいて、一部のステップ(S15、S21)は、操作者が行うが、他のステップは外部装置20の制御部21内のCPUがメモリに記憶されたプログラムに従って外部装置20内の各部を制御することにより実現する。
図5に示すアノテーションの動作が開始すると、まず、作業時間Tを設定する(S11)。このステップでは、外部装置20の操作者が、指定操作部24を操作することによって、図6(a)に示すように、作業時間を入力する。なお、作業時間に代えて、作業枚数を入力するようにしてもよい。作業者が、例えば、医師等の専門家の場合、多忙であり、教師用データ作成のためのアノテーション作業に費やすことのできる時間に限りがある。そこで、ステップS11では作業時間(または作業枚数)を予め設定できるようにしている。
作業時間Tを設定すると、次に、作業時間Tを3分割した時間T0を設定する(S13)。アノテーション動作では、後述するように、手動アノテーション(S15参照)、手動アノテーションと深層学習の並行実施(S19、S21参照)、および推論によるアノテーション(S25参照)の3つの段階がある。このステップでは、それぞれの時間を設定する。なお、本実施形態においては、T0は作業時間Tを3等分した時間としているが、それぞれの時間は、3等分せずに、異ならせてもよい。また、ステップS19とS21における時間も、同一の時間でなくてもよい。
次に、時間T0で手動アノテーションを行う(S15)。ここでは、外部装置20の操作者が、図3および図4を用いて説明したように、再生部23に表示された画像を目視しながら、指定操作部24を操作して、対象物の特定部分を指定する。この処理によって、画像にアノテーション情報が付与される。
手動アノテーションが開始されてから時間T0が経過すると、教師用画像群と検証用画像群に分離する(S17)。図2を用いて説明したように、アノテーション情報が付与された画像の内、一部を学習用画像群とし、残りを検証用画像群に分ける。
教師用画像群と検証用画像群に分離すると、手動アノテーションの結果を用いて学習する(S19)。ここでは、ステップS15において手動アノテーションによってアノテーション情報が付与され、ステップS17において教師用画像群(教師用データ)として分離された画像群を用いて、深層学習を行う。この深層学習は、画像の中から対象物の特定部分を指定(抽出)する推論を行うための推論モデルを生成する。学習中は、図6に示すように、学習実行中マーク58が表示される。
ステップS19における学習と並行して、時間T0で手動アノテーションを行う(S21)。ここでは、ステップS15と同様に、外部装置20の操作者が、図3および図4を用いて説明したように、再生部23に表示された画像を目視しながら、指定操作部24を操作して、対象物の特定部分を指定する。なお、作業中は、図6(b)に示すように、作業経過時間表示部59に、経過時間が表示される。操作者は、作業経過時間表示部59の棒グラフの長さによって、経過時間を知ることができる。この作業経過時間表示部59の棒グラフの長さは最長で、作業時間T0に対応するようにすると、作業時間T0と経過時間の関係が分かりやすい。
ステップS19における学習が終了し、また時間T0の手動アノテーションが終了すると、検証結果を点数表示する(S23)。ステップS19において、教師用画像群を用いて推論モデルを生成している。このステップでは、生成された推論モデルに、ステップS17において分離した検証用画像群を教師用データとして入力し、その信頼性を算出する。算出された信頼性、例えば、80%(80点)等を図6(c)の表示画面23aの左下等に表示するようにしてもよい。
検証結果を表示すると、次に、手動アノテーションの未実施画像に対し、学習式アノテーションを行う(S25)。ステップS15およびS21において、手動アノテーションによって、画像に対してアノテーション情報を付与している。このステップでは、S15およびS21においてアノテーション情報が付与されなかった残りの画像に対して、ステップS19において生成された推論モデルを用いて、学習部26または仮学習部21dにおける推論によって、アノテーション情報を付与する。学習式アノテーションは、推論モデルを用いて行うので、処理時間は極めて短時間(一瞬)である。
ステップS25において、学習式アノテーションを行うと、アノテーション手直し入力を行う(S27)。ここでは、ステップS25において行われた、推論結果に基づくアノテーション情報(すなわち、対象物の特定部分)を、図6(c)に示すように表示する。操作者は、この表示を見て、適切にアノテーション情報が付与されたか否かを判断する。適切にアノテーション情報が付与されていない場合には、指定操作部24を操作し、指示用形状53a~53c、カーソル55等によって、アノテーション情報の修正を行う。修正の仕方は、図3および図4と同様である。このアノテーション手直しの時間はT0であり、ステップS15、S21およびステップS27における作業時間を合計すると、ステップS11において設定した作業時間Tとなる。
ステップS27において、アノテーション手直し入力を行うと、次に、アノテーション済み画像を教師データ化する(S29)。ここでは、ステップS15、S21において手動アノテーションでアノテーションが付与され、またステップS25、S27において、学習式アノテーションによってアノテーションが付与された画像群を教師データとする。この教師データを用いて、学習部26は深層学習を行い、推論モデルを生成することができる。
このように、アノテーションのフローにおいては、操作者が予め作業時間Tを設定しておくと(S11参照)、この時間に基づいて、手動アノテーションの時間T0(ステップS15、S21参照)、および学習式アノテーションの結果を修正する時間T0が決まり、この時間に沿ってアノテーションの時間配分がなされる。このため、医師等の専門家に負担をかけることなくアノテーション作業を行うことができる。
また、手動アノテーションによってアノテーション情報が付与された画像群を用いて、アノテーション情報を付与するための深層学習を行い、推論モデルを生成している(S19参照)。この生成された推論モデルを用いて、手動アノテーションがなされていない画像群に対してアノテーションを付与する推論を実施している(S25参照)。推論を行うことによって、短時間に大量にアノテーション情報を付与することが可能となる。また、推論モデル生成のための学習を行っている間も、手動操作によってアノテーションを付与するようにしている(S21参照)。このように、2つの処理を並行して行うことができることから、効率的にアノテーションが実施される。
また、手動アノテーションによって作成された画像群から、教師用画像群と検証用画像群を分離し(S17参照)、教師用画像群を用いてアノテーション用の推論モデルを生成し(S19参照)、検証用画像を用いて生成された推論モデルの信頼性を検証している。このため、手動でアノテーション情報が付与された画像群を有効に活用することができる。
次に、図5に示したアノテーション動作の第1の変形例を、図7に示すフローチャートを用いて説明する。図5に示した例では、ステップS15およびS21において行う手動アノテーションの作業時間と、アノテーションの手直しの時間を合計した作業時間Tを予め設定していた。本変形例では、手動アノテーションにかかる作業時間を考慮し、学習式アノテーションによるアノテーションの補助を開始する時間T0を予め設定するようにしている。
図7に示すフローチャートは、図5のフローチャートと比較し、ステップS11~S15をステップS12、S16に置き換え、ステップS19、S21、S25、S27をステップS20、S22、S28に置き換える以外は、同じである。そこで、相違点を中心に説明する。
図7に示すアノテーションのフローが開始すると、まず、補助希望開始時間T0を設定する(S12)。ここでの「補助」は、ステップS25における学習式アノテーションを開始する時間である。補助希望開始時間T0までは、手動アノテーションを行い(S16、S22)、補助希望開始時間T0になると、学習式アノテーションによるアノテーションを行う(S25)。ここでは、外部装置20の操作者が、指定操作部24を操作することによって、図8(a)に示すように、補助希望開始時間を入力する。なお、時間に代えて、作業枚数を入力するようにしてもよい。
補助希望開始時間T0を設定すると、次に、手動アノテーションを行う(S16)。ここでは、外部装置20の操作者が、図3および図4を用いて説明したように、再生部23に表示された画像を目視しながら、指定操作部24を操作して、対象物の特定部分を指定する。この処理によって、画像にアノテーション情報が付与される。この手動アノテーションは、時間T0/2の間、行う。
ステップS16において手動アノテーションを開始して、時間T0/2が経過すると、教師用画像群と検証用画像群に分離する(S17)。教師用画像群と検証用画像群に分離すると、手動アノテーションの結果を用いて学習する(S20)。ここでは、ステップS17において教師用画像群(教師用データ)として分離された画像群を用いて、深層学習を行う。学習中は、図8に示すように、学習実行中マーク58が表示される。なお、図7のフローにおいては、手動アノテーション学習の時間は、T0/2で行うようにしてもよい。
ステップS20における学習と並行して、時間T0/2で手動アノテーションを行う(S22)。ここでは、ステップS16と同様に、外部装置20の操作者が、図3および図4を用いて説明したように、再生部23に表示された画像を目視しながら、指定操作部24を操作して、対象物の特定部分を指定する。なお、作業中は、図8(b)に示すように、作業経過時間表示部59に、経過時間が表示される。操作者は、作業経過時間表示部59の棒グラフの長さによって、経過時間を知ることができる。この作業経過時間表示部59の棒グラフの長さは最長で、作業時間T0に対応するようにすると、作業時間T0と経過時間の関係が分かりやすい。また、棒グラフが右端に達すると、ステップS25における学習式アノテーション、すなわち、補助付きのアノテーションになる。
ステップS20において学習が終了すると、アノテーション情報付与用の推論モデルが生成される。この推論モデルに、ステップS17において分離した検証用画像群を用いて、生成された推論モデルの信頼性を検証してもよい。ステップS22において、手動アノテーションを行っている際に、信頼性の検証がなされ、その信頼性が所定値以上であれば、手動アノテーションを終了してもよい。
ステップS20において学習が終わると、またはステップS22において時間T0/2の手動アノテーションが終わると、手動アノテーション未実施画像に対して学習式アノテーションを行う(S25)。
学習式アノテーションを行うと、次に、アノテーション手直し入力を行う(S28)。ここでは、ステップS25において行われた、推論結果に基づくアノテーション情報(すなわち、対象物の特定部分)を、図8(b)に示すように表示する。操作者は、この表示を見て、適切にアノテーション情報が付与されたか否かを判断する。図5のステップS27と同様、適切にアノテーション情報が付与されていない場合には、指定操作部24を操作し、指示用形状53a~53c、カーソル55等によって、アノテーション情報の修正を行う。修正の仕方は、図3および図4と同様である。
ステップS27において、アノテーション手直し入力を行うと、次に、アノテーション済み画像を教師データ化する(S29)。ここでは、ステップS15、S21において手動アノテーションでアノテーションが付与され、またステップS25、S28において、学習式アノテーションによってアノテーションが付与された画像群を教師データとする。この教師データを用いて、学習部26は深層学習を行い、推論モデルを生成することができる。
このように、図7に示すアノテーションのフローにおいては、操作者が予め補助希望開始時間T0を設定しておくと(S12参照)、アノテーション作業を開始してから、補助希望時間T0が経過すると、学習式アノテーションによって、アノテーションがなされる(S25参照)。この間だけ、外部装置20の操作者は、手動アノテーションを行えばよい。学習式アノテーションによってアノテーション情報が付与された画像は、必要に応じて、アノテーションの手直しを行えばよい。このため、医師等の専門家に負担をかけることなくアノテーション作業を行うことができる。
なお、本変形例においては、ステップS16とS22における手動アノテーションでは、それぞれT0/2の時間で処理するとしているが、各時間はT0を2等分した時間でなくてもよい。適宜、不均等に分割してもよい。
次に、図5に示したアノテーション動作の第2の変形例を、図9に示すフローチャートを用いて説明する。本変形例では、手動アノテーションを行うに先立って、画像を分類し、アノテーションを行う際の順位付けを行う。この分類付けに従って、手動アノテーションの際の順位付けする。画像分類と順位付けによって、アノテーション用の推論モデルの信頼性を高くすることができる。
図9に示すフローチャートは、図5のフローチャートと比較し、ステップS1~S3を追加し、ステップS11~S23をステップS14~S24に置き換える以外は、同じである。そこで、相違点を中心に説明する。
図9に示すアノテーションのフローが開始すると、まず、類似の学習があるか否かを判定する(S1)。アノテーションを付与するにあたって、既に、類似のアノテーションを付与したことがあるかを判定する。他の医師等の専門家によって、類似の画像群についてアノテーションが付与されている場合があれば、別の部位であっても、その際に行った学習式アノテーションが利用できる。このステップでは、利用できる学習があるか判定する。
ステップS1における判定の結果、類似の学習がない場合には、次に、画像を分類し、アノテーションの順位をつける(S3)。画像を分類し、それぞれの分類について、所定数ずつ表示できるように分類を付ける。すなわち、手動アノテーションを行う際に、画像の特徴に偏りがあると、特定の部分についてのみ推論モデルの信頼性が高く、他の部分については推論モデルの信頼性が低くなってしまう。そこで、画像を分類し、各分類ごとに、画像を選択することにより、万遍なく多様性に富んだ画像について、手動アノテーションができるようにしている。画像分類は、画像の明るさ、色調・色彩、ピント状態等の画像パターンに基づいて行う。また、アノテーションの順位付けを行う。順位付けは、各分類における代表的なパターンや、学習式アノテーションの苦手とする画像が、優先順位が高くなるようにしてもよい。
ステップS3において、画像を分類し、アノテーションの順位付けを行うと、次に、高優先度画像を手動アノテーションする(S14)。ステップS3において、アノテーションを行う際の順位付けがなされているので、図10(b)に示すように、優先順位の高い画像から順次、再生部23に表示する。外部装置20の操作者が再生部23に表示された画像を目視しながら、図3および図4を用いて説明したように、指定操作部24を操作して、対象物の特定部分を指定する。この処理によって、画像にアノテーション情報が付与される。この手動アノテーションは、時間Tsの間、行う。
ステップS16において手動アノテーションを開始して、時間Tsが経過すると、教師用画像群と検証用画像群に分離する(S17)。ステップS14において優先度の高い画像について手動アノテーションを行って、取得したアノテーション情報付きの画像を、教師用画像群と検証用画像群に分離する。
教師用画像群と検証用画像群に分離すると、手動アノテーションの結果を用いて学習する(S20a)。ここでは、ステップS14において優先度の高い画像についてアノテーション情報が付与された教師用画像群(教師用データ)を用いて、深層学習を行う。なお、図9のフローにおいては、手動アノテーション学習の時間は、Tsで行うようにしてもよい。
ステップS20aにおける学習と並行して、時間Tsで手動アノテーションを行う(S22a)。ここでは、優先度が高い画像としてステップS14において手動アノテーションがなされた画像以外の画像に対して、外部装置20の操作者が、図3および図4を用いて説明したように、再生部23に表示された画像を目視しながら、指定操作部24を操作して、対象物の特定部分を指定する。
ステップS20aにおいて学習すると、またはステップS22aにおいて手動アノテーションを行うと、次に、仮学習済みか否かを判定する(S24)。このステップでは、ステップS20aにおける学習が終了したか否かを判定する。この判定は、ステップS17において分離した教師用画像群の全てについて、学習が終了したかを判定する。しかし、全ての教師用画像群について学習が終了しなくても、一定数の画像群について学習が終了した場合に、学習が終了したと判定してもよく、また、検証用画像群を用いて、所定のレベル以上の信頼性があることを検証できれば、学習を終了するようにしてもよい。この判定の結果、仮学習が終了していない場合には、ステップS20a、S22aに戻る。
一方、ステップS24における判定の結果、仮学習が終了した場合には、またはステップS1における判定の結果類似学習が有る場合には、手動アノテーション未実施画像に対し、学習式アノテーションを行う(S25)。ここでは、ステップS20aにおいて生成したアノテーション用の推論モデル、またはステップS1における検索の結果、類似学習があった場合にはこの類似学習によって生成したアノテーション用の推論モデルを用いて、学習式アノテーションを行う。続いて、ノテーションの手直し入力を行い(S28)、アノテーション済み画像を教師データ化する(S29)。教師データを生成すると、このアノテーションのフローを終了する。
このように、図9に示すアノテーションのフローにおいては、手動アノテーションを行うに先立って、画像を分類している(S3参照)。この分類に基づいて、各分類ごとに画像を選択することにより、万遍なく多様性に富んだ画像について、手動アノテーションを行っている。このため、アノテーション用の推論モデルの信頼性を向上させることができる。また、手動アノテーションを行う画像について、優先順位を付けている(S3参照)。この優先順位に従って、手動アノテーションを行っている(S14参照)。このため、手動アノテーションのための時間が少なくても、効率的かつ信頼性の高い手動アノテーションを行うことができる。
以上説明したように、本発明の一実施形態や変形例においては、手動操作により、アノテーションの対象となる得る対象物の特定部分を指定する作業時間またはデータ量(または画像数で代用)を設定し(例えば、図5のS11参照)、設定された作業時間またはデータ量(または画像数で代用)に応じて、対象物を含みうる複数の画像を、個々に順次に再生し、再生された画像内の上記対象物の特定部分を手動操作により指定する第1の手動アノテーションと(例えば、図5のS15参照)、第1の手動アノテーションが終了した後、設定された作業時間またはデータ量(または画像数で代用)に応じて、複数の画像のうち特定部分を手動操作により指定する第2のアノテーションと(例えば、図5のS21参照)、第2のアノテーションと並行して、第1のアノテーションにおいて取得した対象物と特定部分の関係を教師データとして用いて学習することによって、推論モデルを作成する(例えば、図5のS25参照)。このため、医師等の専門家に負担をかけることなくアノテーション作業を行うことができる。
また、本発明の一実施形態や変形例においては、アノテーションの対象となる対象物を含み得る複数の画像を、個々に順次再生し、再生された画像内の対象物の特定部分を手動操作により指定し(例えば、図5のS15、S21等参照)、複数の画像のうち特定部分を手動操作により指定するために別画像に変更する際に、学習用の画像セットと正解用の画像セットに分離し(例えば、図5のS17参照)、学習用画像セットの対象物と特定部分の関係を教師データとして用いて学習して推論モデルを作成し(例えば、図5のS19参照)、正解用の画像セットで推論モデルを検証する(例えば、図5のS23参照)。手動アノテーションでアノテーション情報を付与した画像を、推論モデル作成用の画像群と、推論モデル検証用の画像群に分けていることから、推論モデルの作成と、その推論モデルの検証に有効に活用することができる。
また、本発明の一実施形態や変形例においては、アノテーションの対象となり対象物を含み得る複数の画像を、汎用分類に沿って分類し(例えば、図9のS3参照)、汎用分類に従って分類された複数の画像を、個々に順次再生し、再生された画像内の対象物の特定部分を手動操作により指定する(例えば、図9のS14参照)。アノテーションの対象となる画像を特定の偏りがなく選択できることから、作成された推論モデルの信頼性を向上させることができる。
なお、本発明の一実施形態や変形例においては、対象物の特定部分として、患者の内視鏡画像に写っている患部を例として説明した。しかし、対象物およびその特定部分は、この例に限られない。
また、本発明の一実施形態や変形例においては、手動アノテーションの結果を用いて学習を行うと共に、並行して手動アノテーションを行っていた(例えば、図5のS19、S21、図7のS20、S22、図9のS20a、22a参照)。この2つの処理の設定時間は同じにしていたが、同じでなくても構わない。また、図5に示した例のみ、検証結果を表示していたが(図5のS23)、図7および図9に示す例においても、学習の終了後に、検証用画像群を用いて検証し、その検証結果を表示してもよい。
カメラや携帯機器等の情報端末製品に搭載するコンパクトタイプの推論エンジンは、少ない層で高精度判断するための学習は困難であり、また時間がかかるため、正確なアノテーションや学習のさせ方に工夫することが望まれる。推論モデルを生成する時、学習に使用した画像によって推論モデルの仕様が変わるので、学習時の情報と連携して効率的な学習を行ってもよい。そこで、どのような学習をさせたかを示す情報をアノテーション作業時に設定し、この情報を情報取得装置10の記録部4に推論情報4aの一部として記録しておいてもよい。
例えば、一般の撮影画像によって取得した水平・垂直が揃った画像だけを用いて学習して生成された推論モデルによって推論を行う場合、上下左右の差異がある画像に対しては、正しい推論が出来ない可能性がある。そこで、推論情報4aから上述の情報を読み出し、撮像時に、姿勢センサ3からの水平または垂直の情報を加味して取得画像に対して、推論を行うことにより、正しい測定部位判定が可能となる。推論モデルを用いた推論を行う前に水平垂直の情報を入れて画像を判定させるような工夫は有効であり、この条件の情報や、画像を補正するためのセンサを有するようにすることが好ましい。学習時にこのような制約を入れるかどうかで、推論エンジンの仕様や性能が変わるので、アノテーション作業を進めながら、このような試行錯誤ができてもよいし、その試行錯誤を表示させてもよい。
同様に、対象物に対して特定の距離から得た画像ばかりを用いて学習を行うと、特定の距離以外で撮影された画像については、正しい推論が出来ない。このような画像で生成された推論モデルを用いて推論する場合は、距離の差異を打ち消すように遠い画像は拡大して、擬似的に近い画像にして推論モデルを用いて推論する等の工夫によって精度を向上させることができる。この場合、距離センサなどを併用して、画像を推論する時に、画像の拡大縮小の実際と学習データの差異を補う補正を行う。どのような学習データを使って作られたモデルであるかを示す情報を記憶するためのメモリを備えておき、推論モデルを用いて推論するときには、上述の情報を利用して、推論モデルが正しい推論ができるように画像を補正するような工夫を行うとよい。このような補正が必要かどうかを、アノテーション作業時に気づくことがあり、本実施形態のようなアノテーション作業時に、仮の学習を検証可能にする工夫は有意義である。
もちろん、撮影現場で起こる様々な撮影条件の差異に対応して、予め撮影現場での状況を加味、あるいは未知の状況までを対処できるように学習データも様々な状況を含むようなものを用意し、特定の報酬も与えて学習させる強化学習の手法で学習させてもよい。強化学習とは、試行錯誤を通じて「価値や効果を最大化するような行動」を学習するもので与えられた正解の出力をそのまま学習するのではなく、さらに良い回答が得られるよう学習させるものある。このような強化学習など教師なし学習を行うべきかどうかを判断することもアノテーション途中の仮学習反映表示にて早期の判断が可能となり、開発時の手間を減らすことが可能となる。
本発明では、以上のように、アノテーション作業途中における仮学習(あらかじめ決められた仮のルールによる学習)の反映によって、推論エンジン生成時の効率を高める効果もあるが、特に、本実施形態において示すような現場で端末機器において、使用されるような携帯端末向きのコンパクトタイプの推論エンジンを作成する時には、レイヤーの数、消費電流など消費エネルギーを考慮して、非常に手間のかかる学習を行って対処する必要があるので、この学習時の報酬の与え方などもアノテーション作業時に考察することができ、早めの判断や対応ができる。仮学習の結果を確認しながら、仕様の見直しなどを前倒しで行うフィードバックが可能となり、優れた性能の推論エンジンを得るのに時間短縮を含め総合的に寄与することができる。
また、図5等に示したフローチャートでは、作業量を作業時間で分割していたが、作業時間で分割する以外にデータ量で作業量を分割してもよい。データ量は画像数代用してもよい。最初に所定数の教師データを作成してから学習させるかを設定することによって、作業時間と同様に作業量の分割ができる。例えば1/3のデータを手動でアノテーションしてから、このアノテーションに基づく教師データを用いて学習する。そして、この学習結果(推論モデル)を用いた推論によって、残りの2/3のデータに対して機械化したアノテーションを行い、このアノテーションを人間がチェックする。良さそうなものや、十分なアノテーションがなされなかったが人間が手動で簡単に治せるものは、追加アノテーションし、再学習に使用してもよい。この作業を目標としている全データのアノテーションが完了するまで繰り返す。
このように本発明は、少量のアノテーション済みデータで学習した結果を、未着手のデータに適応することで、自動的にアノテーションができ、作業者の負荷やストレス、作業時間を軽減する効果がある。また、作業時間には、休憩時間を含んでもよく、例えば、作業に三日かかる場合は、作業者の帰宅時間も含めて作業時間、作業期間とし、休憩時間や帰宅時間を使って学習を行ってもよい。データ量で管理する場合も、同様の効果が得られるが、特定の時刻に学習を開始したり、作業が停止した時に学習を開始したり、作業または作業中断で所定時間経過したら学習するような応用もあり得る。休憩から戻った時までや、次に作業開始するまでの間に、自動アノテーション用の学習を行い、再度、作業開始する時に、直近の学習の効果が現れるようにしてもよい。ただし、これに限る必要もない。
また、本発明の一実施形態や変形例においては、再生部23、指定操作部24、汎用分類部25、学習部26等を、制御部21とは別体の構成としたが、各部の全部または一部をソフトウエアで構成し、制御部21内のCPUによって実行するようにしても勿論かまわない。また、制御部21内の各部を、制御部21の外にハードウエア回路によって設けてもよい。また、上述の各部は、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またDSP(Digital Signal Processor)等のソフトを利用したハードウエア構成を利用してもよい。これらは適宜組み合わせてもよいことは勿論である。
また、情報取得装置として、デジタルカメラを用いて例についても説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、取得した画像に対して、アノテーションを行うのであれば、本発明を適用することができる。
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。