(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240611BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2020048008
(22)【出願日】2020-03-18
【審査請求日】2023-03-10
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(73)【特許権者】
【識別番号】594164542
【氏名又は名称】キヤノンメディカルシステムズ株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】古川 大介
(72)【発明者】
【氏名】山嵜 深
(72)【発明者】
【氏名】佐藤 清秀
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2016-99668(JP,A)
【文献】特表2019-517701(JP,A)
【文献】国際公開第2020/031243(WO,A1)
【文献】国際公開第2016/093090(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出部と、
前記領域抽出部によって抽出された前記抽出領域
に基づいて前記識別器の学習に使用する学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成部と、
前記ターゲット画像と前記正解画像との組を教師データに追加する教師データ追加部と、
前記教師データに含まれる前記正解画像内の前記学習領域を参照して前記識別器の学習を行う学習部と、
を備え
、
前記学習部は、重みを用いて前記ターゲット画像と前記正解画像とに関する損失関数の値を計算する
ことを特徴とする画像処理装置。
【請求項2】
前記領域特定部は、前記領域抽出部によって抽出された前記抽出領域を連結した連結領域を作成し、作成した連結領域の面積を基に前記学習領域を特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記領域特定部は、前記作成した連結領域のうち面積が大きい方からN(Nは2以上の整数)番目以降の領域を前記学習領域として特定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記領域特定部は、前記領域抽出部によって抽出された前記抽出領域から、前記抽出領
域の長さに関する特徴、前記抽出領域の面積に関する特徴、前記抽出領域の形状に関する特徴、前記抽出領域を構成する画素の画素値に関する特徴のうち少なくとも1つの特徴に基づいて、前記識別器の学習に使用する学習領域を選択することを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記領域特定部は、前記領域抽出部によって抽出された前記抽出領域から、前記抽出領域のうち面積が最大である領域の境界から所定の距離を超えて離れている領域を、前記識別器の学習に使用する学習領域として選択することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
前記生成部は、前記領域特定部によって選択された前記学習領域以外の領域が前記識別器の学習に使用されないことを示すように前記正解画像を生成することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
識別器を用いてターゲット画像から注目領域であると識別した領域を第1の抽出領域として抽出し、前記第1の抽出領域の抽出に用いる画像処理とは異なる画像処理を実行して前記ターゲット画像から注目領域として第2の抽出領域を抽出する領域抽出部と、
前記第1の抽出領域と前記第2の抽出領域との比較に基づいて、前記識別器の学習に使用する学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことまたは注目領域であることを示す正解画像を生成する生成部と、
を備えることを特徴とする画像処理装置。
【請求項8】
前記領域特定部は、前記第1の抽出領域であり、かつ、前記第2の抽出領域でない領域と、前記第1の抽出領域でなく、かつ、前記第2の抽出領域である領域とのうち少なくとも一方の領域を前記学習領域として特定することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記生成部は、前記領域特定部によって特定された前記学習領域のうち、前記第1の抽出領域であり、かつ、前記第2の抽出領域でない領域が注目領域ではないことを示し、前記領域特定部によって特定された前記学習領域のうち、前記第1の抽出領域でなく、かつ、前記第2の抽出領域である領域が注目領域であることを示すように前記正解画像を生成することを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記領域特定部は、前記領域抽出部によって抽出された前記第1の抽出領域から、前記第1の抽出領域の長さに関する特徴、前記第1の抽出領域の面積に関する特徴、前記第1の抽出領域の形状に関する特徴、前記第1の抽出領域を構成する画素の画素値に関する特徴のうち少なくとも1つの特徴に基づいて、前記識別器の学習に使用する学習領域を選択することを特徴とする請求項7から9のいずれか一項に記載の画像処理装置。
【請求項11】
前記領域特定部は、前記領域抽出部によって抽出された前記第1の抽出領域から、前記第2の抽出領域のうち面積が最大である領域の境界から領域の内側または外側に向かって所定の距離を超えて離れている領域を、前記識別器の学習に使用する学習領域として選択することを特徴とする請求項7から10のいずれか一項に記載の画像処理装置。
【請求項12】
前記生成部は、前記領域特定部によって特定された前記学習領域以外の領域が学習に使用されないことを示すように前記正解画像を生成することを特徴とする請求項7から11のいずれか一項に記載の画像処理装置。
【請求項13】
前記領域抽出部は、前記識別器を用いずにグラフカット・セグメンテーション法によっ
て前記第2の抽出領域を抽出することを特徴とする請求項7から12のいずれか一項に記載の画像処理装置。
【請求項14】
前記注目領域に対応する画素数と前記注目領域以外の領域の画素数との比に基づいて計算された重みを記憶する記憶部をさらに備え、
前記学習部は、前記記憶部から前記重みを取得する
ことを特徴とする請求項
1に記載の画像処理装置。
【請求項15】
前記学習部は、前記ターゲット画像と画像の特徴が最も類似している類似画像内における注目領域の画素数と前記注目領域以外の領域の画素数との比を用いて前記ターゲット画像と前記正解画像とに関する損失関数の値を計算することを特徴とする請求項
1に記載の画像処理装置。
【請求項16】
前記学習部は、前記類似画像内における注目領域の画素数と前記注目領域以外の領域の画素数との比に基づく重みを前記ターゲット画像に対する正解画像の画素値に適用することで前記損失関数の値を計算することを特徴とする請求項
15に記載の画像処理装置。
【請求項17】
識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出ステップと、
前記領域抽出ステップによって抽出された前記抽出領域
に基づいて前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成ステップと、
前記ターゲット画像と前記正解画像との組を教師データに追加する教師データ追加ステップと、
前記教師データに含まれる前記正解画像内の前記学習領域を参照して前記識別器の学習を行う学習ステップと、
を含
み、
前記学習ステップは、重みを用いて前記ターゲット画像と前記正解画像とに関する損失関数の値を計算する
ことを特徴とする画像処理方法。
【請求項18】
識別器を用いてターゲット画像から注目領域であると識別した領域を第1の抽出領域として抽出し、前記第1の抽出領域の抽出に用いる画像処理とは異なる画像処理を実行して前記ターゲット画像から注目領域として第2の抽出領域を抽出する領域抽出ステップと、
前記第1の抽出領域と前記第2の抽出領域との比較に基づいて、前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことまたは注目領域であることを示す正解画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項19】
前記ターゲット画像と前記正解画像との組を教師データに追加する教師データ追加ステップをさらに含むことを特徴とする請求項
18に記載の画像処理方法。
【請求項20】
請求項
17から
19のいずれか一項に記載の画像処理方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項21】
識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出部と、
前記領域抽出部によって抽出された前記抽出領域に基づいて前記識別器の学習に使用す
る学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成部と、
を備え、
前記領域特定部は、前記領域抽出部によって抽出された前記抽出領域を連結した連結領域を作成し、作成した前記連結領域の面積を基に誤抽出した領域を特定し、前記誤抽出した領域を前記学習領域として特定する
ことを特徴とする画像処理装置。
【請求項22】
前記領域特定部は、前記作成した連結領域のうち面積が大きい方からN(Nは2以上の整数)番目以降の領域を前記学習領域として特定することを特徴とする請求項21に記載の画像処理装置。
【請求項23】
識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出ステップと、
前記領域抽出ステップによって抽出された前記抽出領域に基づいて前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成ステップと、
を備え、
前記領域特定ステップは、前記領域抽出ステップによって抽出された前記抽出領域を連結した連結領域を作成し、作成した前記連結領域の面積を基に誤抽出した領域を特定し、前記誤抽出した領域を前記学習領域として特定する
ことを特徴とする画像処理方法。
【請求項24】
前記領域特定ステップは、前記作成した連結領域のうち面積が大きい方からN(Nは2以上の整数)番目以降の領域を前記学習領域として特定することを特徴とする請求項23に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法およびプログラムに関し、特に機械学習に用いる画像データを効率よく作成するための技術に関する。
【背景技術】
【0002】
画像処理技術の1つにセグメンテーションがある。セグメンテーションとは、画像内の注目領域と注目領域以外の領域を区別する処理のことであり、領域抽出、領域分割、画像分割とも呼ばれる。セグメンテーションに関連する種々の手法が提案されているが、近年では機械学習に基づく手法が注目されている。
【0003】
機械学習に基づく手法による注目領域の区別の精度は、学習データに用いる画像の数にも依存するため、できるだけ多くの画像を学習データとして準備することが望ましい。しかしながら、学習データに含まれる正解データとしての正解画像の作成は労力を要する作業であるため、正解画像を効率的に作成する技術が求められる。そこで、例えば特許文献1では、手動もしくは自動で正解画像を作成した後、作成した正解画像を基に、より精度の高い正解画像を作成する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術において、正解画像の作成には、画像の各画素に対して注目領域であるか否かのラベルを手動で付す必要があるため、正解画像の作成者に対する作業負荷の増大が無視できない。
【0006】
本発明は上記の事情に鑑みてなされたものであり、画像内の領域を識別するための学習における精度の高い正解画像を、作業負荷を抑えつつ作成することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出部と、
前記領域抽出部によって抽出された前記抽出領域に基づいて前記識別器の学習に使用する学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成部と、
前記ターゲット画像と前記正解画像との組を教師データに追加する教師データ追加部と、
前記教師データに含まれる前記正解画像内の前記学習領域を参照して前記識別器の学習を行う学習部と、
を備え、
前記学習部は、重みを用いて前記ターゲット画像と前記正解画像とに関する損失関数の値を計算する
ことを特徴とする画像処理装置を含む。
また、本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を
第1の抽出領域として抽出し、前記第1の抽出領域の抽出に用いる画像処理とは異なる画像処理を実行して前記ターゲット画像から注目領域として第2の抽出領域を抽出する領域抽出部と、
前記第1の抽出領域と前記第2の抽出領域との比較に基づいて、前記識別器の学習に使用する学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことまたは注目領域であることを示す正解画像を生成する生成部と、
を備えることを特徴とする画像処理装置を含む。
また、本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出部と、
前記領域抽出部によって抽出された前記抽出領域に基づいて前記識別器の学習に使用する学習領域を特定する領域特定部と、
前記領域特定部によって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成部と、
を備え、
前記領域特定部は、前記領域抽出部によって抽出された前記抽出領域を連結した連結領域を作成し、作成した前記連結領域の面積を基に誤抽出した領域を特定し、前記誤抽出した領域を前記学習領域として特定する
ことを特徴とする画像処理装置を含む。
【0008】
さらに、本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を抽出領域として抽出する領域抽出ステップと、
前記領域抽出ステップによって抽出された前記抽出領域に基づいて前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成ステップと、
前記ターゲット画像と前記正解画像との組を教師データに追加する教師データ追加ステップと、
前記教師データに含まれる前記正解画像内の前記学習領域を参照して前記識別器の学習を行う学習ステップと、
を含み、
前記学習ステップは、重みを用いて前記ターゲット画像と前記正解画像とに関する損失関数の値を計算する
ことを特徴とする画像処理方法を含む。
また、本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を第1の抽出領域として抽出し、前記第1の抽出領域の抽出に用いる画像処理とは異なる画像処理を実行して前記ターゲット画像から注目領域として第2の抽出領域を抽出する領域抽出ステップと、
前記第1の抽出領域と前記第2の抽出領域との比較に基づいて、前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことまたは注目領域であることを示す正解画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法を含む。
また、本開示は、識別器を用いてターゲット画像から注目領域であると識別した領域を
抽出領域として抽出する領域抽出ステップと、
前記領域抽出ステップによって抽出された前記抽出領域に基づいて前記識別器の学習に使用する学習領域を特定する領域特定ステップと、
前記領域特定ステップによって特定された前記学習領域が注目領域ではないことを示す正解画像を生成する生成ステップと、
を備え、
前記領域特定ステップは、前記領域抽出ステップによって抽出された前記抽出領域を連結した連結領域を作成し、作成した前記連結領域の面積を基に誤抽出した領域を特定し、前記誤抽出した領域を前記学習領域として特定する
ことを特徴とする画像処理方法を含む。
【0009】
さらに、本開示は、上記画像処理方法の各ステップをコンピュータに実行させるためのプログラムを含む。
【発明の効果】
【0010】
本発明によれば、画像内の領域判定のための学習における正解データとして精度の高い画像を、作業負荷を抑えつつ作成することができる技術を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係る画像処理装置の機能部の一例を示す機能ブロック図
【
図2】第1実施形態における画像処理の結果を示す図
【
図3】第1実施形態における注目領域の判定処理を模式的に示す図
【
図4】第1実施形態における注目領域の判定処理を模式的に示す別の図
【
図5】第1実施形態における画像処理のフローを表す図
【
図6】第1実施形態における学習処理のフローを表す図
【
図7】第2実施形態に係る画像処理装置の機能部の一例を示す機能ブロック図
【
図9】第2実施形態における画像処理の結果を示す図
【
図10】第2実施形態における注目領域の判定処理を模式的に示す図
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において構成要素、部材、処理の一部は省略して表示する。
【0013】
以下では、X線コンピュータ断層撮像(X線CT)装置で撮影された腹部CT画像内に描出されている肝臓を例に挙げて、以下の実施形態を説明する。しかしながら、以下の実施形態は、肝臓のみならず、他の臓器、骨、筋肉など人体のあらゆる構造物に対して適用可能である。以下の実施形態は、核磁気共鳴画像撮像装置(MRI)装置、ポジトロン断層撮像(PET)装置、超音波撮像装置で撮像された断層画像や、カメラで撮影された通常の画像に対しても適用可能である。また、以下の実施形態は、2次元画像と3次元画像のいずれにも適用可能である。さらに、以下の実施形態は、一般的な物体を撮影した画像
に対しても適用可能である。また、本発明の実施形態は以下の実施形態に限定されるものではない。
【0014】
(第1実施形態)
図1を参照して、第1実施形態に係る画像処理装置の構成について説明する。第1実施形態に係る画像処理装置100は、正解画像生成部101と学習部102からなる。例えば、メモリに記憶されているプログラムをCPUが読み込み実行することにより、画像処理装置100内の正解画像生成部101と学習部102の機能を提供することができる。画像処理装置100は、CPUの他に、正解画像生成部101と学習部102の演算を担当するプロセッサ(GPU、FPGAなど)を備えていてもよい。また、メモリは、プログラムを非一時的に記憶するためのメモリ、受信信号などのデータを一時記憶しておくためのメモリ、CPUが使用するワーキングメモリなどを含むとよい。
【0015】
正解画像生成部101は、X線CT装置で撮影された画像において抽出すべき領域(注目画像)を示す正解画像を生成する。より具体的には、正解画像生成部101は、学習データの正解データとしての画像の基になる画像に対して所定の識別器を適用して、該画像から注目領域の抽出を行う。以下では、正解画像生成部101が処理する画像を、ターゲット画像と称する。ここで、識別器について説明する。識別器は、セグメンテーションを行うための識別器であり、第1実施形態では、教師データを用いた学習された識別器が用いられる。以下では、ターゲット画像内に描出されている解剖学的構造物のうち、識別器が抽出しようとする臓器の領域を、注目領域とする。識別器はターゲット画像内の注目領域をおおむね正しく抽出することができるが、すべての注目領域を完全に抽出できない可能性がある。そこで、正解画像生成部101は、ターゲット画像内で識別器が正しく抽出できなかった領域を、識別器の学習に使用する学習領域として特定する。そして、特定した学習領域を基に、ターゲット画像に対応する正解画像を生成する。また、学習部102は、ターゲット画像と、正解画像生成部101により作成された正解画像と組とした教師データを用いて、識別器を学習する。
【0016】
ここで、従来技術による正解画像の作成および識別器の学習と、第1実施形態に係る画像処理装置100で実行される正解画像の作成および識別器の学習との違いを説明する。従来技術では、正解画像を作成する際に、正解画像の作成者は、正解画像の基となる画像内のすべての画素について、注目領域であるか否かを示す情報としてのラベルを付与する。そして、識別器の学習では、該作成された正解画像における画像内のすべての画素について、識別器の出力が画素に付与されたラベルと一致するよう、識別器のパラメータを決定する。すなわち、従来技術では、識別器が注目領域を正しく識別できるか否かにかかわらず、画像内のすべての画素について注目領域であるか否かのラベルを付与して識別器の学習を行う。
【0017】
しかしながら、正解画像の作成の手間を省き識別器の学習を効率よく行う上では、識別器が注目領域を正しく識別できる画素に対してラベルを付与することは必須ではない。そこで、本実施形態では、まず正解画像生成部101が、正解画像の基となる画像(ターゲット画像)を識別器に識別させる。そして、正解画像生成部101は、ターゲット画像を構成する画素のうち、識別器が注目領域を正しく識別できなかった画素のみにラベルを付与する。さらに、学習部102は、正解画像生成部101によってラベルが付与された画素のみを参照して、識別器の学習を行う。したがって、第1実施形態における正解画像の作成および識別器の学習では、ターゲット画像において識別器が識別を誤る画素のみにラベルを付与し、ラベルが付与された画素のみを参照して識別器の学習を行うことを特徴とする。
【0018】
図1を参照して、第1実施形態に係る画像処理装置100の構成についてさらに詳しく
説明する。
図1に示すように、正解画像生成部101は、ターゲット画像を取得するデータ取得部110、上記の識別器を用いてターゲット画像から注目領域を抽出する領域抽出部120を有する。さらに、正解画像生成部101は、識別器の学習に使用する領域の情報を取得する領域特定部130、学習のための正解画像を生成する生成部150、作成された正解画像とターゲット画像との組を教師データに追加する教師データ追加部160を有する。また、領域特定部130は、領域抽出部120によって抽出された領域を候補領域とみなして候補領域から学習に使用する学習領域を選択する領域選択部140としての機能も有する。なお、第1実施形態において、正解画像生成部101は領域選択部140を有していなくても本実施形態の効果を得ることが可能である。なお、学習領域は、正解画像において注目領域であるか否かを示すラベルが付与された領域であり、識別器の学習に使用されないことを示すラベルが付与された領域以外の領域を意味する。
【0019】
学習部102は、教師データを取得するデータ取得部170、教師データを参照して上記の識別器の学習を行う識別器学習部180を有する。また、画像処理装置100は、画像処理装置100への入力となるデータや画像処理装置100が出力するデータを記憶するためのデータサーバ200に接続されている。データサーバ200は記憶部として機能し、コンピュータ記憶媒体の一例であり、ハードディスクドライブ(HDD)やソリッドステイトドライブ(SSD)に代表される大容量情報記憶装置である。データサーバ200は、画像処理装置100内に保持されていてもよいし、画像処理装置100外に別途設けられネットワークを介して通信可能に構成されていてもよい。
【0020】
データ取得部110は、データサーバ200からターゲット画像を取得する。ターゲット画像は、ターゲット画像内に注目領域が描出されている画像でもよいし、注目領域が描出されていない画像でもよい。データ取得部110は、取得したターゲット画像を領域抽出部120、領域特定部130、教師データ追加部160にそれぞれ送信する。
【0021】
ここで、
図2A~
図2Cを参照して、正解画像生成部101が処理するターゲット画像について説明する。
図2Aの画像310が、ターゲット画像の一例である。ターゲット画像310は、ある患者の腹部を撮影して得られた3次元腹部CT画像の1つの断面(横断面)である。ターゲット画像310内の領域311と領域312とで示される部分が肝臓であり、識別器の識別対象である領域(注目領域)である。ターゲット画像310には、不図示の肝臓以外の臓器、例えば、脾臓や左腎臓等も描出されている。ここでは、これらの肝臓以外の臓器の領域は、注目領域ではないものとする。
【0022】
領域抽出部120は、ターゲット画像に対して上記の識別器を適用し、ターゲット画像内に描出されている注目領域を抽出する。領域抽出部120は、抽出された領域を領域特定部130に送信する。以下の説明では、領域抽出部120の処理結果(抽出された領域)を抽出結果と称する。また、領域抽出部120によって注目領域であると識別(抽出)された領域を抽出領域と称する。
【0023】
第1実施形態における識別器は、画像のセグメンテーションに使用可能な識別器であれば、どのような識別器であってもよい。領域抽出部120が使用可能な識別器の一例として、SVM(Support Vector Machine)、AdaBoost(Adaptive Boosting)、ニ
ューラルネットワークなどが挙げられる。
【0024】
図2Bに示す画像320は、抽出結果の一例である。画像320内の領域321と領域322は、識別器による画像310の注目領域311と注目領域312の抽出によって得られる抽出領域である。注目領域311と抽出領域321、注目領域312と抽出領域322をそれぞれ比較すると、識別器が注目領域311と注目領域312の大部分を正しく抽出できていることがわかる。しかしながら、画像320内の領域323(説明の都合上
、境界を点線で示す)のように、識別器が注目領域として正しく抽出できなかった領域も存在する。また、画像320内の領域324のように、注目領域の一部ではないが、識別器が注目領域として誤って抽出した領域も存在する。
【0025】
領域特定部130は、領域抽出部120による抽出結果を参照して、ターゲット画像において、学習部102が識別器を学習する際に使用する学習領域を特定する。したがって、学習領域は領域抽出部120によって抽出された抽出領域でもある。領域特定部130は、抽出領域の中から誤って抽出された領域を特定し、特定した領域に抽出結果が誤りであることを示す情報(ラベル)を付与して、当該領域を識別器の学習領域として特定する。例えば、領域特定部130は、抽出領域のうち、面積が最大の領域を除いた領域を学習領域として特定する。
図2Bに示す例の場合、領域特定部130は、画像320内の2つの領域、すなわち(1)領域321および領域322を結合した領域と、(2)領域324とのそれぞれについて、領域の面積を計算する。
図2Bでは、説明の都合上、領域321と領域322とを区別しているが、これら2つの領域は互いに接している。そこで、領域特定部130は、これら互いに接する領域321、322を連結した連結領域を作成し、2つの領域321、322を1つの連結領域として面積を計算する。この場合、計算される面積が最大の領域は、連結領域321、322であることが分かる。そこで、領域特定部130は、連結領域321、322と領域324のうち、画像内の占有面積が最大ではない領域、すなわち、領域324を学習領域として特定する。
【0026】
画像330は、領域特定部130による上記の画像320に対する処理結果を示している。図に示すように、画像330において、画像320における領域321、322に対応する領域は除外され、領域324に対応する領域334が学習領域として特定される。なお、領域特定部130は、4連結や8連結などの連結手法を用いて抽出領域の連結領域を作成してもよい。また、注目領域が3次元の領域である場合、6連結や26連結などの連結手法を用いて抽出領域の連結領域を作成してもよい。また、領域特定部130が特定する学習領域は1つに限られない。例えば、領域特定部130は、ターゲット画像において、3つ以上の領域から学習領域を特定する場合は、領域の面積が大きい方からN(Nは2以上の整数)番目以降の領域を学習領域として特定してもよい。これにより、例えば、画像内で注目領域が2つ以上の領域に分かれている場合でも、各領域を学習領域として特定することが可能となる。
【0027】
領域選択部140は、領域特定部130で特定された学習領域を候補領域とみなして、各候補領域に対して、学習部102における識別器の学習に使用するか否かの判定を行う。したがって、候補領域は領域抽出部120によって抽出された抽出領域でもある。ここでは、領域特定部130によって特定された候補領域について、以下に説明する特徴を評価し、その評価結果が所定の条件を満たすか否かを判定することを、判定処理と称する。領域選択部140は、以下に示す5つの判定処理1~5のうち少なくとも1つを実行する。領域選択部140は判定処理1~4の少なくとも1つを実行することで、領域の長さ、面積、形状のうちの1つ以上に関する特徴、領域を構成する画素の濃淡値に関する特徴のうち少なくとも1つを評価する。そして、領域選択部140は、評価した特徴が所定の条件を満たす場合に、その領域を学習に使用すると判定して選択する。これに加えて/この代わりに、領域選択部140は判定処理5を実行することで、注目領域として正しく抽出された領域をより確実に除外した上で学習領域を特定する。そして、領域選択部140は、学習に使用すると判定された候補領域の情報を生成部150に送信する。
【0028】
次に、領域選択部140が実行する判定処理について説明する。
【0029】
[判定処理1:領域の長さに基づく判定]
領域選択部140は、候補領域について、画像に設定されたXY直交座標におけるX軸
方向とY軸方向のそれぞれに沿った領域の長さを計算する。
図4Aに、領域特定部130よって特定された画像410内の候補領域411の一例を示す。領域選択部140は、領域411について、X軸方向の長さ412、Y軸方向の長さ413を取得する。領域選択部140は、それぞれの長さ412、413が所定の閾値や範囲の条件を満たす場合に、領域411を学習領域として選択する。
【0030】
領域選択部140は、領域の慣性主軸とそれに直交する軸とに沿ったそれぞれの長さを計算してもよい。
図4Bに、領域特定部130によって特定された別の画像420内の候補領域421の一例を示す。また、
図4Bには、候補領域421の慣性主軸422とそれに直交する軸423が示されている。領域選択部140は、領域421の2つの軸422、423を特定し、それぞれの軸に沿った長さ424、425を計算する。領域選択部140は、それぞれの長さ424、425が所定の閾値や範囲の条件を満たす場合に、領域421を学習領域として選択する。
【0031】
画像が3次元画像であり候補領域が3次元の領域である場合は、画像に互いに直交するXYZ座標が設定され、領域選択部140は、X、Y、Z各軸方向に沿った長さを計算してもよいし、慣性主軸とそれに直交するに沿った長さを3次元で計算してもよい。
【0032】
[判定処理2:領域の面積に基づく判定]
領域選択部140は、候補領域の面積を計算する。そして、領域選択部140は、候補領域の面積が所定の閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択する。判定処理2において、候補領域が3次元の領域である場合は、領域選択部140は、候補領域の体積を計算し、当該体積が閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択してもよい。
【0033】
[判定処理3:領域の形状に基づく判定]
領域選択部140は、候補領域の形状を表す特徴量を計算する。ここで、形状を表す特徴量の例としては、候補領域の周囲長、円形度、モーメントなどが挙げられる。領域選択部140は、候補領域の形状を表す特徴量が閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択する。判定処理3において、候補領域が3次元の領域である場合は、領域選択部140は、例えば候補領域の表面積や球形度を計算し、当該表面積や当該球形度が閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択してもよい。
【0034】
また、領域選択部140は、あらかじめ作成された学習に使用する領域の形状を示すテンプレートと、候補領域の形状とを比較することで、候補領域を学習領域として選択する否かを決定してもよい。この場合、領域選択部140は、データサーバ200から識別器の学習に使用する領域の形状を示すテンプレートを取得する。そして、領域選択部140は、取得したテンプレートが示す形状と候補領域の形状との間の類似度を計算する。例えば、類似度には、Dice係数、Jaccard index、Sum of Squared Differenceなどが含まれる。そして、領域選択部140は、類似度が閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択する。
【0035】
[判定処理4:領域を構成する画素の画素値に基づく判定]
領域選択部140は、候補領域を構成している画素の画素値の統計値を計算する。統計値の例としては、画素値の最大値、最小値、平均値、標準偏差、画素値の出現頻度を表すヒストグラムなどが挙げられる。領域選択部140は、統計値が閾値や範囲の条件を満たす場合に、当該候補領域を学習領域として選択する。統計値がヒストグラムである場合は、領域選択部140は、テンプレートが示すヒストグラムと候補領域について計算したヒストグラムとの間の類似度を評価するために、カルバック・ライブラー・ダイバージェン
スを計算してもよい。この場合は、領域選択部140は、データサーバ200から識別器の学習に使用する領域の画素値のヒストグラムを取得する。そして、領域選択部は、候補領域から計算したヒストグラムと、データサーバ200から取得したヒストグラムとの間で、カルバック・ライブラー・ダイバージェンスを計算する。なお、カルバック・ライブラー・ダイバージェンスは公知であり、その計算の詳細についての説明は省略する。
【0036】
なお、上記の判定処理1~4において、領域選択部140が学習領域を選択する際に採用する閾値や範囲の条件としては、閾値以上、閾値以下、範囲内、範囲外などが適宜用いられてよい。これにより、注目領域として想定される大きさ、面積、特徴量、統計値などの上記の基準から外れるような領域を学習領域として選択することができる。
【0037】
[判定処理5:最大連結領域の境界からの距離1に基づく判定]
本判定処理では、領域選択部140は、学習領域の画像内における位置に関する特徴に基づいて、識別器の学習に使用する領域を選択する。具体的には、領域選択部140は、候補領域について、領域抽出部120により抽出された最大連結領域の境界からの距離を計算する。そして、領域選択部140は、候補領域内で、最大連結領域の境界から所定の距離より離れている領域を学習領域として選択する。
【0038】
図4A~
図4Dを参照しながら、判定処理5の詳細について説明する。
図4Aに示す画像510は、領域抽出部120によって取得された抽出結果である。画像510においては、領域511、512を合わせた領域と領域513の2つの領域が、抽出領域である。説明の都合上、領域511と領域512を個別の領域とする。また、
図4Bに示す画像520は、領域特定部130による処理結果である。領域特定部130は、抽出領域のうち互いに接する領域(図の場合は領域511と領域512)を連結した連結領域を作成する。上記の通り4連結や8連結などによって連結領域が作成されてよい。
図4Aに示すように、領域511と領域512の連結領域は、画像510内で占有面積が最大である最大連結領域である。このため、領域特定部130は、最大領域である領域511、512を学習領域から除外する。一方、領域513は最大連結領域ではないため、領域特定部130は、領域513を学習領域の候補領域として特定する。これにより、領域特定部130は、作成した連結領域のうち面積が最大である最大領域以外の領域を学習領域の候補領域として特定する。
図4Bにおける候補領域521は、
図4Aにおける領域513に対応する領域である。
【0039】
領域選択部140は、候補領域521について、最大連結領域511および512の境界から所定の距離を超えて離れた位置に存在する領域を、学習領域として選択する。
図4Cに、この処理の結果を模式的に示した画像530を示す。画像530では、輪郭線531と輪郭線532が、最大連結領域511および512の境界を表す。また、点線533が、最大連結領域511および512から所定の距離だけ離れた位置を表す。領域535は、最大連結領域511および512から所定の距離を超えて離れている。そこで、領域選択部140は、領域535を学習領域として選択する。一方、領域534は、最大連結領域511および512から所定の距離以内の位置に存在する。そのため、領域選択部140は、領域534を学習領域から除外する。
【0040】
図4Dは、領域選択部140の上記の判定処理5によって選択される学習領域を模式的に示した画像540を示す。画像540内の領域541が、画像530の領域535に対応している。領域選択部140は、上記の判定処理1~5の少なくとも1つの判定処理を実行し、領域特定部130によって特定された領域の中から学習領域を選択する。
【0041】
なお、正解画像生成部101は、領域選択部140による判定処理を行わなくても学習領域を示す正解画像を生成することができる。そのため、正解画像生成部101は、領域
選択部140を備えない構成としてもよい。正解画像生成部101が選択部140を備えない場合は、領域特定部130が、特定した領域を生成部150に送信する。
【0042】
次に生成部150の処理について説明する。生成部150は、領域特定部130または領域選択部140から送信された学習領域に基づいて、ターゲット画像に対応する正解画像を生成する。生成された正解画像は教師データ追加部160に送信される。
【0043】
生成部150が領域特定部130または領域選択部140から受信する領域は、注目領域ではない領域のうち、識別器が「注目領域ではない」として識別できなかった領域、すなわち注目領域として誤って識別した領域である。そこで、生成部150は、受信した領域内の各画素に対して、「注目領域ではない」というラベルを付与する。
図2Cに示す画像330を例として用いて説明すると、生成部150は、画像330内の領域334を構成する各画素に対して「注目領域ではない」というラベルを付与する。一方、生成部150は、学習領域以外の領域、すなわち画像330内の領域334以外の領域335に対して各画素に「学習に使用しない」というラベルを付与する。また、
図4Dに示す画像540を例として用いて説明すると、生成部150は、画像540内の領域541を構成する各画素に対して「注目領域ではない」というラベルを付与する。一方、生成部150は、画像540内の領域541以外の領域542を構成する各画素に対して「学習に使用しない」というラベルを付与する。そして、生成部150は、付与したラベルを各画素の画素値として保持する画像を、正解画像として生成する。
【0044】
教師データ追加部160は、データ取得部110から受信したターゲット画像と生成部150から受信した正解画像を1つの組として対応付ける。そして、教師データ追加部160は、組となったターゲット画像と正解画像を、データサーバ200に格納されている教師データに追加する。本実施形態では、データサーバ200に格納されている教師データには、画像内の注目領域に「注目領域である」というラベルが付与され、それ以外の領域に「注目領域ではない」というラベルが付与された正解画像があらかじめ含まれていてもよい。以下に説明する識別器の学習においては、識別器が適用された画像だけでなく、このようなあらかじめ作成された正解画像も用いることができる。
【0045】
なお、教師データ追加部160は、ターゲット画像と組になっている正解画像を図示しない表示部に出力してもよい。表示部の一例として、ディスプレイが挙げられる。表示部は、正解画像のみを表示してもよいし、正解画像と当該正解画像と組になっているターゲット画像とを表示してもよい。
【0046】
次に、
図5を参照して、正解画像生成部101が実行する教師データの作成処理について説明する。
【0047】
(S1010)
ステップS1010において、データ取得部110は、データサーバ200からターゲット画像を取得する。そして、データ取得部110は、取得したターゲット画像を領域抽出部120、領域選択部140、教師データ追加部160にそれぞれ送信する。
【0048】
(S1020)
ステップS1020において、領域抽出部120は、ステップS1010においてデータ取得部110から受信したターゲット画像に識別器を適用して、ターゲット画像から識別器が注目領域と識別した領域を抽出領域として抽出する。そして、領域抽出部120は、抽出した抽出領域を抽出結果として領域特定部130に送信する。
【0049】
(S1030)
ステップS1030において、領域特定部130は、領域抽出部120から受信した抽出結果を参照して、識別器の学習領域の候補領域を特定する。ここで、正解画像生成部101が領域選択部140を有する場合は、領域特定部130は、特定した領域を、学習領域の候補領域として領域選択部140に送信する。一方、正解画像生成部101が領域選択部140を有しない場合は、領域特定部130は、特定した領域を学習領域として生成部150に送信する。
【0050】
(S1040)
ステップS1040において、領域選択部140は、領域特定部130から、学習領域の候補領域を受信する。すなわち、領域選択部140は、領域特定部130から受信した領域を候補領域であるとみなす。領域選択部140は、各候補領域に対して、判定処理1~5の少なくとも1つの判定処理を実行することで学習領域を決定する。そして、領域選択部140は、識別器の学習に使用すると決定した学習領域を示す情報を生成部150に送信する。判定処理1~5の詳細については、領域選択部140の処理に関する上記の説明のとおりである。なお、正解画像生成部101が領域選択部140を有しない場合は、ステップS1040の処理は実行されず、処理はステップS1030からS1050に進む。
【0051】
(S1050)
ステップS1050において、生成部150は、領域特定部130、または領域選択部140で選択された学習領域に基づいて、ターゲット画像に対応する正解画像を生成する。そして、生成部150は正解画像を教師データ追加部160に送信する。正解画像の生成処理の詳細については、生成部150の説明で述べたとおりである。
【0052】
(S1060)
ステップS1060において、教師データ追加部160は、データ取得部110から受信したターゲット画像と、生成部150から受信した正解画像とを、組となるように互いに対応付ける。そして、教師データ追加部160は、ターゲット画像と正解画像の組を、データサーバ200に記憶されている教師データに追加する。
【0053】
(S1070)
ステップS1070において、正解画像生成部101は、教師データが作成されていないターゲット画像、すなわち正解画像と組となっていないターゲット画像が存在するか否かを判定する。教師データが作成されていないターゲット画像が存在する場合は(S1070:Yes)、正解画像生成部101は、処理をS1010に戻して当該ターゲット画像を取得する。一方、教師データが作成されていないターゲット画像が存在しない場合は(S1070:No)、正解画像生成部101は、本フローチャートの処理を終了する。
【0054】
上記のフローチャートの処理によって、正解画像生成部101は、ターゲット画像に対応する正解画像を生成する。
【0055】
次に、
図1を参照して、学習部102について説明する。
図1に示すように、学習部102は、データ取得部170と識別器学習部180を有する。
【0056】
データ取得部170は、データサーバ200から教師データを取得し、取得した教師データを識別器学習部180に送信する。教師データには、上記の正解画像生成部101の教師データ追加部160によって追加されたターゲット画像と正解画像との組が含まれる。そして、ターゲット画像を学習データ、正解画像を正解データとして用いて識別器が学習される。
【0057】
学習部102は、データ取得部170によってデータサーバ200から教師データを取得し、取得した教師データを用いて上記の識別器の学習を行う。学習部102は、学習によって識別器の調整のためのパラメータを取得する。なお、識別器のパラメータは公知であるためパラメータの詳細な説明については省略する。そして、学習部102は、取得した識別器のパラメータをデータサーバ200に記憶する。
【0058】
画像処理装置100において使用する識別器の種類に応じて、識別器に適用される学習アルゴリズムは一意に決まる。なお、識別器に適用される学習アルゴリズムは公知のものである。学習部102は、これらの公知の学習アルゴリズムを修正したアルゴリズムを実行する。公知の学習アルゴリズムと識別器学習部180で実行される学習アルゴリズムの違いは、識別器のパラメータを決定する際に計算される損失関数の計算方法である。
【0059】
学習部102は、正解画像内の画素のうち「注目領域である」または「注目領域ではない」というラベルが付与されている画素(学習領域)のみを参照して、損失関数の値を計算する。一方、学習部102は、「学習に使用しない」というラベルが付与されている画素は学習領域ではないため、損失関数の値の計算に使用しない。したがって、本実施形態では、学習部102は、正解画像内の「学習に使用しない」というラベルが付与されている画素に対しては以下に説明する損失関数の処理を省略する。これにより、画像処理装置100における教師データを用いた学習の処理負荷が従来の学習に伴う処理負荷に比べて軽減されることが期待できる。
【0060】
次に、本実施形態における、損失関数の計算方法について、ニューラルネットワークで一般的に使用されるbinary cross entropyを例に挙げて説明する。ここでは、教師データにT組の学習データであるターゲット画像Iiと正解データである正解画像Riの組が含まれているとする(i=1,2・・・T)。ターゲット画像Iiに識別器を適用して得られる注目領域を抽出した結果の抽出画像をOiとする。正解画像Riと抽出画像Oiの画像サイズをM(ピクセル)×N(ピクセル)とし、正解画像の画素値をRi(x,y)、抽出画像の画素値をOi(x,y)とする(1≦x≦M、1≦y≦N)。
【0061】
上記のとおり、生成部150は、正解画像の画素値を3つのラベル(「注目領域である」、「注目領域ではない」、「学習に使用しない」)で表現する。また、学習部102では、公知の学習アルゴリズムによる表現形式を用いて、ラベル「注目領域である」に対する画素値を1、ラベル「注目領域ではない」に対応する画素値を0とする。以下の説明では、便宜上、学習領域以外の領域の画素の画素値を「学習に使用しない」と表現するが、ラベル「学習に使用しない」に対応する画素値は、当該画素を学習に使用しないことが示す限り、任意の画素値が用いられてよい。本実施形態における損失関数の値Eの計算式は、以下の式(1)で表される。
【数1】
【0062】
式(1)の右辺では、学習に使用しない画素について、Ri(x,y)logOi(x,y)の値を「0」としている。これにより、学習に使用しない画素が、損失関数の値Eに影響を与えないようにしている。式(1)は、正解画像生成部101でターゲット画像に対して「学習に使用しない」というラベルが付与された画素を、識別器の学習において、損失関数の値の計算に使用しないことを表す式の一例である。
【0063】
損失関数の値Eの計算方法は、式(1)を用いる計算方法に限定されない。例えば、正解画像内の画素のうち画素値が「学習に使用しない」以外の画素に対応するターゲット画像の画素だけを参照して、損失関数の値Eを計算してもよい。学習部102は、正解画像R
iを走査して、画素値が「学習に使用しない」以外の画素を要素に持つリストを作成する。ここでは、作成されたリストをPで表す。Pは以下の式(2)で示される。
【数2】
【0064】
次に、学習部102は、以下の式(3)を用いて損失関数の値Eを計算する。
【数3】
【0065】
なお、上記の説明では、binary cross entropyを用いて損失関数を計算するが、他の計算方法(cross entropy、Mean Square Errorなど)を用いても同様に損失関数を計算することができる。
【0066】
また、学習部102は、ターゲット画像Ii内に描出されている抽出領域の画素数と、抽出領域以外の領域(背景領域)の画素数の比から計算される重みを使用して、損失関数の値を計算してもよい。この場合、学習部102は、重みを表す式w(l)を決定する。重みを表す式w(l)は、以下の式(4)で表される。
【0067】
【数4】
ここで、W
fgとW
bgは、それぞれ重みの値を表す実数であり、定数である。W
fgとW
bgは、識別器が処理する典型的な画像に描出されている注目領域の画素数と注目領域以外の領域(背景領域)の画素数の比に基づいて決定される。W
fgとW
bgを決定する方法の1つとして、データサーバ200に格納されている教師データに含まれる正解画像から決定する方法が挙げられる。具体的には、以下の式(5)、(6)によってW
fgとW
bgが決定される。
【数5】
【数6】
ここで、Gは集合であり、Gは正解画像生成部101により追加された正解画像以外の画像を示すインデックスを要素に持つ。#
fg(R
j)は、正解画像R
jの画素のうち、画素値が1である画素の数である。#
bg(R
j)は、正解画像R
jの画素のうち、画素値が0である画素の数である。また、学習部102は、損失関数の値を計算する前に、式
(5)および式(6)を用いてW
fgとW
bgの値を計算してもよいし、事前に計算されたW
fgとW
bgの値をデータサーバ200から取得してもよい。
【0068】
また、重みを表す式は、ターゲット画像I
iに応じて変更してもよい。この場合、重みを表す式w
i(l)は、以下の式(7)で表される。
【数7】
ここで、W
fg(i)とW
bg(i)は、重みの値を表す実数であり、ターゲット画像I
iに応じて変化する変数である。学習部102は、複数の画像間における画像の類似度に基づいて、複数の画像から、ターゲット画像I
iと画像の類似度が近似する類似画像としての画像を特定する。画像の類似度が互いにどの程度近似するものを類似画像とするかは適宜決定することができる。そして、学習部102は、特定した類似画像内に描出されている注目領域の画素数と注目領域以外の領域(背景領域)の画素数との比を基にW
fg(i)とW
bg(i)の値を決定する。
【0069】
次に、W
fg(i)とW
bg(i)の値の決定方法の具体例について説明する。学習部102は、データサーバ200に格納されている教師データに含まれるターゲット画像のうち、ターゲット画像I
iとI
i以外のターゲット画像I
kとの間の画像の類似度を計算する。そして、類似度が最も高いターゲット画像(ここではターゲット画像I
k’とする)を特定する。次に、学習部102は、I
k’に対応する正解画像R
k’から、以下の式(8)、(9)を用いてW
fg(i)とW
bg(i)の値を決定する。
【数8】
【数9】
【0070】
学習部102によってW
fg(i)とW
bg(i)の値を決定する方法は、データサーバ200に格納されている教師データを使用する上記の方法に限定されない。例えば、識別器が処理する典型的な画像と、その画像内に描出されている注目領域の画素数と注目領域以外の領域(背景領域)の画素数とを組にして、データサーバ200に記憶してもよい。ここで、典型的な画像の例としては、ターゲット画像に含まれる撮像対象の部位のうち他よりも多い部位の画像やターゲット画像と色相、彩度、明度、輝度などの特徴量が同等である画像など、学習部102によって処理される数が多い種類の画像が挙げられる。この場合、学習部102は、データサーバ200に格納されている、典型的な画像のそれぞれについて類似度を計算する。そして、学習部102は、最も類似度が高い画像における注目領域の画素数N
fgと、注目領域以外の領域(背景領域)の画素数N
bgを、データサーバ200から取得する。そして、学習部102は、以下の式(10)、(11)を用いて、W
fg(i)とW
bg(i)の値を決定することができる。
【数10】
【数11】
【0071】
学習部102は、式(4)または式(7)によってw(l)またはw
i(l)を決定した後、w(l)またはw
i(l)と以下の式(12)を用いて損失関数の値Eを計算する。
【数12】
【0072】
なお、式(12)による損失関数の計算の例では、w
i(l)を使用するが、式(4)によってw(l)を決定する場合は、式(12)においてw
i(l)をw(l)で置き換えればよい。式(12)の代わりに以下の式(13)を用いて損失関数の値Eを計算してもよい。
【数13】
ここで、式(13)に示す損失関数の計算式は、式(3)に示す損失関数の計算式に対応する式である。
【0073】
学習部102は、上記の式(1)、(3)、(8)、(9)を用いて、損失関数の値Eを計算する。以上が、学習部102による損失関数の値の計算に関する説明である。
【0074】
次に、
図6を参照しながら、学習部102による識別器の学習処理について説明する。学習部102は、公知の学習アルゴリズムを用いて識別器の学習を行う。ここでは、ニューラルネットワークの学習アルゴリズムを例に挙げて、学習部102の学習処理について説明する。なお、以下に説明する処理ステップのうち、ステップS2040を除く処理ステップでは、公知のニューラルネットワークの学習アルゴリズムにおける処理と同様の処理が実行される。
【0075】
(S2010)
ステップS2010において、学習部102のデータ取得部170は、データサーバ200から教師データを取得する。
【0076】
(S2020)
ステップS2020において、学習部102は、識別器のパラメータの初期値を設定する。本ステップでは、例えば、Heらが提案した初期値の決定方法([Kaiming He, et al., “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” ICCV, 2015])や、定数値や乱数値を初期値とする方法など、公知
の方法が用いられて、初期値が設定される。
【0077】
(S2030)
ステップS2030において、学習部102は、教師データに含まれるそれぞれのター
ゲット画像に識別器を適用して、ターゲット画像内に描出されている注目領域を抽出する。
図6に示すように、ステップS2030からステップS2060が繰り返し実行される。ステップS2030の初回実行時は、学習部102は、ステップS2020で設定されたパラメータを識別器のパラメータとして使用する。そして、ステップS2030の二回目以降の実行時は、学習部102は、ステップS2050において計算されたパラメータを識別器のパラメータとして使用する。
【0078】
(S2040)
ステップS2040において、学習部102は、損失関数の値E[t]を計算する。ここで添え字「t」は、ステップS2030からステップS2060までの処理がt回目の実行であることを意味する。学習部102は、上記の損失関数の計算方法に従って損失関数の値E[t]を計算する。
【0079】
(S2050)
ステップS2050において、学習部102は、識別器のパラメータを計算する。具体的には、学習部102は、勾配降下法、Stochastic Gradient Descent(SGD)、Adamなどのような、公知の計算方法を用いて、パラメータを計算する。その後、学習部102は、識別器のパラメータを本ステップで得られたパラメータに置き換えることで、識別器のパラメータを更新する。
【0080】
(S2060)
ステップS2060において、学習部102は、識別器のパラメータの更新を終了するか否か、すなわち識別器の学習を終了するか否かの判断を行う。例えば、学習部102は、前回のステップS2040の処理で計算された損失関数の値E[t-1]と今回のステップS2040の処理で計算された損失関数の値E[t]との差を計算する。そして、計算した差が所定の値よりも大きい場合、学習部102は、処理をステップS2030に戻す。一方、計算した差が所定の値以下の場合、学習部102は、処理をステップS2070に進める。
【0081】
(S2070)
ステップS2070において、学習部102は、S2050において更新された識別器のパラメータをデータサーバ200に送信する。
【0082】
本実施形態に係る画像処理装置100は、ターゲット画像において識別器が正しく抽出できない領域を、効率よく取得することができる。そして、画像処理装置100は、取得した領域に基づいて正解画像を作成することで、識別器が正しく抽出できる領域は学習の対象外とする。これにより、画像処理装置100では、識別器が正しく抽出できない領域だけを用いた識別器の学習を行うことで、識別器の学習に伴う処理負荷を軽減して学習効率を高めることができる。
【0083】
(第2実施形態)
図7を参照して、第2実施形態に係る画像処理装置700について説明する。画像処理装置700は、生成画像生成部701と学習部702を有する。画像処理装置700の学習部702は、第1実施形態における画像処理装置100の学習部102と同じ動作を行ため、学習部702の詳細な説明はここでは省略する。なお、正解の分かっている正解画像に対して、第一抽出手段による抽出を行い、第一の抽出手段による抽出結果と、正解画像との差から、学習領域を特定してもよい。さらに特定された学習領域に基づいて正解画像を生成し、損失関数を計算してもよい。
【0084】
正解画像生成部701は、データ取得部710、第1領域抽出部720、第2領域抽出
部730、領域特定部740、領域選択部750、生成部760、教師データ追加部770を有する。正解画像生成部701の各部のうち、第1領域抽出部720、領域特定部740、教師データ追加部770は、第1実施形態における画像処理装置100の領域抽出部120、領域特定部130、教師データ追加部160と同じ動作を行う。このため、これらの処理部の詳細な説明はここでは省略する。
【0085】
データ取得部710は、第1実施形態に係るデータサーバに対応するデータサーバ200からターゲット画像を取得する。ターゲット画像は、ターゲット画像内に注目領域が描出されている画像でもよいし、注目領域が描出されていない画像でもよい。データ取得部710は、取得したターゲット画像を第1領域抽出部720、第2領域抽出部730、領域選択部750、教師データ追加部770に送信する。
【0086】
第2領域抽出部730は、ターゲット画像に対して、第1領域抽出部720で実行される画像処理とは異なる手法の画像処理を適用して、ターゲット画像内に描出されている注目領域を抽出する。第2領域抽出部730は、抽出した抽出領域を領域特定部740に送信する。以下の説明では、第1領域抽出部720により抽出された領域を第1の抽出領域と称し、第2領域抽出部730により抽出された領域を第2の抽出領域と称する。また、第1領域抽出部720による処理の結果を第1の抽出結果と称し、第2領域抽出部730による処理の結果を第2の抽出結果と称する。
【0087】
ここで、第2領域抽出部730が実行する画像処理について説明する。第2領域抽出部730は、第1領域抽出部720が用いる画像処理手法と異なれば、任意の画像処理手法を用いてよいが、好ましい画像処理手法はグラフカット・セグメンテーション法である。グラフカット・セグメンテーション法は公知の画像処理手法であり、例えば、特許公報US6973212に詳細が開示されている。以下では、この特許公報に開示の内容と同様の説明については省略し、異なる点を中心に説明する。
【0088】
グラフカット・セグメンテーション法では、画素ノードとターミナル・ノードSの間をつなぐエッジ(t-link)に、エネルギーとして、その画素ノードに対応する画素が注目領域の画素であることを表す値(尤度)が設定される。また、画素ノードとターミナル・ノードTの間をつなぐエッジ(t-link)に、エネルギーとして、その画素ノードに対応する画素が注目領域の画素ではないことを表す値(尤度)が設定される。それぞれの尤度は、第一の抽出部720で実行される識別器の出力値が使用される。
【0089】
また、第1領域抽出部720によって抽出された第1の抽出領域に含まれる画素を前景シードとする。また、第1の抽出領域に含まれる画素から所定の距離を超えて離れた位置にある画素を背景シードとする。そして、前景シードに対応する画素ノードとターミナル・ノードSの間のエッジ(t-link)、および背景シードに対応する画素ノードとターミナル・ノードTの間のエッジ(t-link)に有意に大きな値が設定される。このような値を設定してグラフカット・セグメンテーション法を実行することで、第2領域抽出部730はターゲット画像から注目領域として第2の抽出領域を抽出する。
【0090】
図9を参照しながら、第2領域抽出部730によって抽出される第2の抽出領域について説明する。
図9Aに示す画像910が、ターゲット画像である。また、画像910内の領域911と領域912が、注目領域である。
図9Bに示す画像920は、第1領域抽出部720が識別器を用いてターゲット画像910から注目領域を抽出した結果(第1の抽出結果)を示す画像である。画像920内の領域921と領域922は、識別器によって注目領域911と注目領域912が抽出されることで得られる領域である。また、画像920内の領域923は、識別器によって注目領域として正しく抽出されなかった領域である。また、画像920内の領域924は、注目領域の一部ではないが、識別器によって注
目領域として誤って抽出された領域である。
【0091】
図9Cに示す画像930は、第2領域抽出部730がグラフカット・セグメンテーション法によってターゲット画像910から注目領域として第2の抽出領域を抽出した結果(第2の抽出結果)を示す画像である。画像910の注目領域911と画像930の第2の抽出領域931、画像910の注目領域912と画像930の第2の抽出領域932をそれぞれ比較すると分かるように、第2領域抽出部730により注目領域911、912の大部分が正しく抽出される。また、画像920(第1の抽出結果)と画像930(第2の抽出結果)とを比較すると分かるように、第1の抽出結果では正しく抽出されなかった領域923が、第2の抽出結果では正しく抽出されている。また、画像930では、識別器によって誤って抽出された領域924は抽出されていない。したがって、第2の領域抽出部730は、第1の領域抽出部720よりも高い精度で注目領域を抽出することができる。
【0092】
領域特定部740は、第1領域抽出部720によって抽出された第1の抽出結果と、第2領域抽出部730によって抽出された第2の抽出結果を参照して、学習部702が識別器を学習する際に使用する領域を取得する。領域特定部740は、取得した領域を領域選択部750に送信する。
【0093】
領域特定部740は、第1の抽出結果に含まれる誤抽出された領域を、学習に使用する領域として取得する。領域特定部740は、例えば、第1領域抽出部720により注目領域として抽出された領域(第1の抽出領域)であり、かつ、第2領域抽出部730により注目領域として抽出されなかった領域を、識別器の学習に使用する領域として取得する。
図9Bの例において、画像920内の領域921、領域922、領域924は、第1領域抽出部720により注目領域として抽出された領域(第1の抽出領域)である。
図9Cの例において、画像930内の領域935は、第2領域抽出部730により注目領域として抽出されなかった領域である。
【0094】
また、画像920内の領域924は、第1領域抽出部720により注目領域として抽出された第1の抽出領域であり、かつ、第2領域抽出部730により注目領域として抽出されなかった領域である。そこで、領域特定部740は、領域921、領域922、領域924と、領域935の比較に基づいて、領域924を、注目領域ではないが第1領域抽出部720によって誤って注目領域として抽出された領域(以下、過抽出領域と称する)として特定する。そして、領域特定部740は、領域924を、識別器の学習に使用する領域として特定する。
【0095】
領域特定部740は、また、第1領域抽出部720により注目領域として抽出されなかった領域であり、かつ、第2領域抽出部730により注目領域として抽出された第2の抽出領域も、識別器の学習に使用する領域として特定する。例えば、画像920内の領域923と領域925は、第1領域抽出部720により注目領域として抽出されなかった領域である。また、画像930内の領域931と領域932は、第2領域抽出部730により注目領域として抽出された第2の抽出領域である。ここで、領域923は、第1領域抽出部720により注目領域として抽出されなかった領域であり、かつ、第2領域抽出部730により注目領域として抽出された第2の抽出領域である。そこで、領域特定部740は、領域923、領域925、領域931、領域932の比較に基づいて、領域923を、注目領域であるが第1領域抽出部720によって注目領域として正しく抽出されなかった領域(以下、未抽出領域と称する)と特定する。そして、領域特定部740は、領域923を、識別器の学習に使用する領域として特定する。
【0096】
図9Dの画像940が、領域特定部740の上記の処理によって特定された識別器の学
習に使用する領域を示す画像である。画像940に示すように、領域特定部740によって、画像920内の領域923と領域924が、それぞれ識別器の学習に使用する領域943と領域944として特定される。
【0097】
なお、領域特定部740は、必ずしも領域943を特定する処理と領域944を特定する処理を行う必要はなく、これらの処理のうち一方の処理を行って識別器の学習に使用する領域を特定してもよい。
【0098】
領域選択部750は、領域特定部740で特定された領域を候補領域とみなして、各候補領域について、学習部702による識別器の学習に使用するか否かの判定を行う。そして、領域選択部750は、学習に使用すると判定した領域を示す情報を生成部760に送信する。
【0099】
領域選択部750は、第1実施形態に係る画像処理装置100の領域選択部140が実行する上記の判定処理1~4に加えて、以下の判定処理6を実行する。なお、以下の説明では、領域特定部740によって取得されるそれぞれの領域を候補領域と称する。
【0100】
[判定処理6:最大連結領域の境界からの距離2に基づく判定]
領域選択部750は、候補領域について、第2領域抽出部730によって取得された領域内の最大連結領域の境界からの距離を計測する。なお、一例として、最大連結領域の境界から候補領域までの距離は、互いの領域の境界の最短距離とすることができる。そして、領域選択部750は、候補領域のうち、最大連結領域の境界から所定の距離を超えて離れている候補領域を学習に使用する領域であるとして選択する。
【0101】
図10A~10Fを参照しながら、候補領域から識別器の学習に使用する領域を特定する領域選択部750の処理について説明する。
図10Aに示す画像1010は、第1領域抽出部720によって取得された第1の抽出結果である。画像1010において、領域1011、領域1012、領域1013が、第1の抽出領域である。次に、画像1020は、第2領域抽出部730によって取得された第2の抽出結果である。領域1021と領域1022が、第2の抽出領域である。画像1030は、領域特定部740の処理結果である。領域特定部740は画像1010と画像1020を比較することにより、領域1031と領域1032を学習に使用する領域(候補領域)として取得している。
【0102】
領域選択部750は、はじめに、第2領域抽出部730により取得された第2の抽出領域のうち、面積が最大となる最大連結領域を特定する。
図10Bに示す画像1020では、領域1021と領域1022とが、領域選択部750により特定される最大連結領域である。
【0103】
次に、領域選択部750は、第2の抽出領域のうち、最大連結領域1021および1022の内側に存在する領域を特定する。そして、領域選択部750は、特定された領域について、領域1021、1022を連結した最大連結領域の境界から所定の距離より、さらに内側に存在する領域を、学習に使用する領域(候補領域)として選択する。この処理を模式的に示した画像が、
図10Dの画像1040である。画像1040では、輪郭線1041と輪郭線1042が、最大連結領域を構成する領域1021と領域1022の境界に対応する。そして、点線1043と点線1044が、最大連結領域1021、1022の境界から領域の内側に向かって所定の距離だけ離れた位置を表す。
【0104】
領域選択部750は、第2の抽出領域のうち、領域1031を最大連結領域1021および1022の内側に存在する領域として特定する。そして、領域選択部750は、領域1031のうち、最大連結領域1021、1022の境界から所定の距離を超えて離れて
存在する領域1045を、学習に使用する領域(候補領域)として選択する。一方、領域選択部750は、領域1031のうち、最大連結領域1021、1022の境界から所定の距離以内に存在する領域1046を、学習に使用する領域(候補領域)からは除外して選択しない。
【0105】
また、領域選択部750は、第2の抽出領域のうち、最大連結領域1021、1022の外側に存在する領域を特定する。そして、領域選択部750は、特定された領域のうち、最大連結領域1021、1022の境界から所定の距離を超えて離れて存在する領域を、学習に使用する領域(候補領域)として選択する。この処理を模式的に示した画像が、
図10Eの画像1050である。画像1050では、輪郭線1051と輪郭線1052が、最大連結領域を構成する領域1021と領域1022の境界に対応する。そして、点線1053が、最大連結領域1021、1022の境界から領域の外側に向かって所定の距離だけ離れた位置を表す。
【0106】
領域選択部750は、第2の抽出領域のうち、領域1032を最大連結領域1021、1022の外側に存在する領域として特定する。そして、領域選択部750は、領域1032のうち、最大連結領域1021、1022の境界から所定の距離を超えて離れて存在する領域1055を、学習に使用する領域(候補領域)として選択する。一方、領域選択部750は、領域1032のうち、最大連結領域1021、1022の境界から所定の距離以内に存在する領域1054を、学習に使用する領域(候補領域)からは除外して選択しない。
【0107】
最後に、
図10Fに示す画像1060が、領域選択部750が上記の判定処理6を実行して選択した学習に使用する領域を示す画像である。画像1060において、領域1061が、
図10Dに示す画像1040の領域1045に対応している。また、画像1060において、領域1062が、
図10Eに示す画像1050の領域1055に対応している。
【0108】
領域選択部750は、判定処理1、判定処理2、判定処理3、判定処理4、判定処理6の少なくとも一つの判定処理を実行し、領域特定部740で取得された領域の中から、学習に使用する領域を選択的に取得する。
【0109】
なお、本実施形態では、正解画像生成部701は、識別器の学習に使用する領域を取得するために、領域選択部750による判定処理を実行する必要はない。したがって、正解画像生成部701は、領域選択部750を有しない構成としてもよい。正解画像生成部701が領域選択部750を有しない場合は、領域特定部740が、上記の処理によって特定した領域を生成部760に送信する。
【0110】
次に、生成部760は、領域特定部740または領域選択部750から送信された学習に使用する領域に基づいて、ターゲット画像に対応する正解画像を生成する。
【0111】
具体的には、生成部760は、第1領域抽出部720により注目領域として抽出されなかった領域であり、かつ、第2領域抽出部730により注目領域として抽出された領域である領域を構成する画素に「注目領域である」というラベルを付与する。
図9Dに示す画像940を例に説明すると、生成部760は、領域943を構成する画素に対して「注目領域である」というラベルを付与する。また、
図10Fに示す画像1060を例に説明すると、生成部760は、領域1061を構成する画素に対して「注目領域である」というラベルを付与する。
【0112】
また、生成部760は、第1領域抽出部720により注目領域として抽出された領域で
あり、かつ、第2領域抽出部730により注目領域として抽出されなかった領域である領域を構成する画素に「注目領域ではない」というラベルを付与する。
図9Dに示す画像940を例に説明すると、生成部760は、領域944を構成する画素に対して「注目領域ではない」というラベルを付与する。また、
図10Fに示す画像1060を例に説明すると、生成部760は、領域1062を構成する画素に対して「注目領域ではない」というラベルを付与する。
【0113】
最後に、生成部760は、「注目領域である」または「注目領域ではない」というラベルが付与されなかった画素に、「学習に使用しない」というラベルを付与する。
図9Dに示す画像940を例に説明すると、生成部760は、領域943、944以外の領域945を構成する画素に対して「学習に使用しない」というラベルを付与する。また、
図10Fに示す画像1060を例に説明すると、生成部760は、領域1061、1062以外の領域1063を構成する画素に対して「学習に使用しない」というラベルを付与する。そして、生成部760は、上記の処理によって付与したそれぞれのラベルを各画素の画素値として保持する画像を正解画像として生成する。生成部760は、生成した正解画像を教師データ追加部770に送信する。
【0114】
次に、
図8のフローチャートを参照しながら、正解画像生成部701が実行する処理について説明する。
【0115】
(S3010)
ステップS3010において、データ取得部710は、データサーバ200から教師データを取得する。そして、データ取得部710は、取得したターゲット画像を第1領域抽出部720、第2領域抽出部730、領域選択部750(ある場合)、教師データ追加部770にそれぞれ送信する。
【0116】
(S3020)
ステップS3020において、第1領域抽出部720は、データ取得部710からターゲット画像を取得する。そして、第1領域抽出部720は、ターゲット画像に識別器を適用して、ターゲット画像内に描出されている注目領域を抽出する。第1領域抽出部720は、抽出した領域を第2領域抽出部730に送信する。
【0117】
(S3030)
ステップS3030において、第2領域抽出部730は、データ取得部710からターゲット画像を取得する。また、第2領域抽出部730は、第1領域抽出部720から第1の抽出結果を取得する。そして、第2領域抽出部730は、ターゲット画像に第1領域抽出部720が用いる画像処理手法とは異なる画像処理手法を用いて、ターゲット画像から注目領域として第2の抽出領域を抽出する。第2領域抽出部730は、抽出された領域を第2領域抽出部740に送信する。
【0118】
(S3040)
ステップS3040において、領域特定部740は、第1領域抽出部720から受信した第1の抽出結果と第2領域抽出部730から受信した第2の抽出結果を参照して、識別器の学習に使用する領域を特定する。正解画像生成部701が領域選択部750を有する場合は、領域特定部740は、特定した領域を、学習に使用する領域の候補領域として領域選択部750に送信する。一方、正解画像生成部701が領域選択部750を有しない場合は、領域特定部740は、特定した領域を、学習に使用する領域として生成部760に送信する。
【0119】
(S3050)
ステップS3050において、選領域択部750は、領域特定部740から識別器の学習に使用する領域の候補領域を取得する。すなわち、領域選択部750は、領域特定部740から受信した領域を候補領域とみなす。領域選択部750は、それぞれの候補領域について、領域の形状に関する特徴、領域の濃淡値に関する特徴、画像内の領域の位置に関する特徴のうち、少なくとも1つを基準として、学習に使用する領域か否かを判定する。そして、領域選択部750は、学習に使用する領域として判定した領域の情報を生成部760に送信する。ここで、領域選択部750が実行する判定処理は、上記の領域選択部750の説明のとおりである。なお、正解画像生成部701が領域選択部750を有しない場合は、ステップS3050の処理は実行されず、処理はステップS3040からS3060に進む。
【0120】
(S3060)
ステップS3060において、生成部760は、領域特定部740または領域選択部750で選択された学習に使用する領域に基づいて、ターゲット画像に対応する正解画像を生成する。ここで、生成部760が正解画像を生成する処理は、上記の生成部760の説明のとおりである。そして、生成部760は、生成した正解画像を教師データ追加部770に送信する。
【0121】
(S3070)
ステップS3070において、教師データ追加部770は、データ取得部710から受信したターゲット画像と生成部760から受信した正解画像とを組となるように対応付ける。そして、教師データ追加部770は、対応付けられたターゲット画像と正解画像との組を、データサーバ200に記憶されている教師データに追加する。
【0122】
以上のように、正解画像生成部701は、データサーバ200から取得したターゲット画像に対応する正解画像を生成する。
【0123】
なお、学習部702が実行する処理については、第1実施形態に係る画像処理装置100の学習部102の処理、具体的にはステップS2010~ステップS2070の処理と同じであるため、ここでは説明を省略する。
【0124】
以上より、第2実施形態に係る画像処理装置700は、ターゲット画像において識別器が正しく抽出できない2種類の領域を効率よく取得することができる。ここで、2種類の領域とは、(1)注目領域であるが、注目領域として正しく抽出されない領域と、(2)注目領域ではないが、誤って注目領域として抽出される領域である。そして、取得結果の領域に基づいてラベルが付与された正解画像を作成することで、識別器が正しく抽出できない領域を識別器の学習に使用しつつ、識別器が正しく抽出できる領域は学習の対象外とすることで、識別器の学習効率を向上させることができる。
【0125】
(その他の実施形態)
上述した実施形態は本発明の具体例を示すものにすぎない。本発明の範囲は上述した実施形態の構成に限られることはなく、その要旨を変更しない範囲のさまざまな実施形態を採ることができる。
【0126】
また、開示の技術は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インターフェイス機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、1つの機器からなる装置に適用しても良い。
【0127】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。かかる記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【符号の説明】
【0128】
100:画像処理装置
120:領域抽出部
130:領域特定部
150:生成部
160:教師データ追加部