(57)【要約】【課題】画像識別の精度の向上を図る。【解決手段】画像識別装置１００は、入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成部１１と、入力画像からクロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成部１２と、クロップ画像を識別するクロップ画像識別器１３と、非クロップ画像を識別する非クロップ画像識別器１４と、クロップ画像識別器１３による識別結果と非クロップ画像識別器１４による識別結果との両者を用いて最終的な識別結果を取得する識別結果決定部１５と、を備える。【選択図】図１
2020101927.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成部と、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成部と、
前記クロップ画像を識別するクロップ画像識別器と、
前記非クロップ画像を識別する非クロップ画像識別器と、
前記クロップ画像識別器による識別結果と、前記非クロップ画像識別器による識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定部と、
を備える画像識別装置。
【請求項２】
前記クロップ画像生成部は、前記入力画像から前記識別対象領域を取得し、前記識別対象領域に所定のマージン領域を含めた画像として、前記クロップ画像を生成する、
請求項１に記載の画像識別装置。
【請求項３】
前記クロップ画像生成部は、機械学習で得られた識別対象領域判定器により前記識別対象領域を取得する、
請求項２に記載の画像識別装置。
【請求項４】
前記クロップ画像生成部は、前記非クロップ画像識別器の活性化マップで活性化している領域を抽出することにより前記識別対象領域を取得する、
請求項２に記載の画像識別装置。
【請求項５】
前記非クロップ画像生成部は、前記入力画像に対してエッジ強調処理及びサイドカット処理を行った画像として、前記非クロップ画像を生成する、
請求項１から４のいずれか１項に記載の画像識別装置。
【請求項６】
前記非クロップ画像生成部は、前記入力画像を前記非クロップ画像とする、
請求項１から４のいずれか１項に記載の画像識別装置。
【請求項７】
前記識別結果決定部は、前記クロップ画像識別器の出力値と前記非クロップ画像識別器の出力値との平均を求めることによって、最終的な識別結果を取得する、
請求項１から６のいずれか１項に記載の画像識別装置。
【請求項８】
前記識別結果決定部は、前記クロップ画像識別器の出力層と前記非クロップ画像識別器の出力層とを連結して全結合層を構成し、前記全結合層を介した出力層によって、最終的な識別結果を取得する、
請求項１から６のいずれか１項に記載の画像識別装置。
【請求項９】
さらに、前記クロップ画像識別器の出力値と、前記非クロップ画像識別器の出力値と、を表示する表示部を備える、
請求項１から８のいずれか１項に記載の画像識別装置。
【請求項１０】
前記識別対象領域は病変領域である、
請求項１から９のいずれか１項に記載の画像識別装置。
【請求項１１】
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップと、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップと、
前記クロップ画像でクロップ画像識別器を学習させるクロップ画像学習ステップと、
前記非クロップ画像で非クロップ画像識別器を学習させる非クロップ画像学習ステップと、
を含む識別器学習方法。
【請求項１２】
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップと、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップと、
前記クロップ画像を識別するクロップ画像識別ステップと、
前記非クロップ画像を識別する非クロップ画像識別ステップと、
前記クロップ画像識別ステップによる識別結果と、前記非クロップ画像識別ステップによる識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定ステップと、
を含む画像識別方法。
【請求項１３】
画像識別装置のコンピュータに、
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップ、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップ、
前記クロップ画像を識別するクロップ画像識別ステップ、
前記非クロップ画像を識別する非クロップ画像識別ステップ、及び、
前記クロップ画像識別ステップによる識別結果と、前記非クロップ画像識別ステップによる識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像識別装置、識別器学習方法、画像識別方法及びプログラムに関する。
【背景技術】
【０００２】
画像を識別する技術として、識別結果が判明している画像データを学習データとして用いて、ディープニューラルネットワーク（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＤＮＮ）を学習させ、学習済みのＤＮＮを用いて画像識別する技術が知られている。画像識別技術においては、識別対象となる画像に特段の制限はなく、任意の画像データを識別対象とすることができるが、画像データに目盛り等が一緒に写り込んでいる場合がある。例えば、皮膚疾患等の患部を撮影する場合、患部のサイズを明確にするために目盛り等を一緒に撮影する場合が多い。また、患部の画像に限らず、例えば、花の画像等、対象物のサイズを明確にしたい画像の場合には、目盛り等を一緒に撮影した方がサイズがわかりやすいので、このような場合、学習用の画像データにも目盛り等が一緒に写り込んでいることが多い。
【０００３】
この場合、一緒に写り込んだ目盛り等が画像識別に悪影響を与えてしまうことが考えられることから、例えば、非特許文献１においては、疾患領域である前景画像をクロップし、リサイズして画像分類する技術が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】N. C. F. Codella ; Q. B. Nguyen ; S. Pankanti ; D. A. Gutman ; B. Helba ; A. C. Halpern ; J. R. Smith，“Deep learning ensembles for melanoma recognition in dermoscopy images”，IBM Journal of Research and Development, Volume.61 Issue 4/5, July-Sept. 2017, Pages:5:1-5:15
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に記載されている技術によれば、疾患領域をクロップし（切り取り）、リサイズすることにより、画像に写り込んだ目盛り等の影響を低減することができるが、元画像のアスペクト比、サイズ等の情報が失われてしまうことから、画像識別の精度が下がってしまうという問題があった。
【０００６】
本発明は、上記問題を解決するためになされたものであり、画像識別の精度の向上を図ることができる画像識別装置、識別器学習方法、画像識別方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の画像識別装置は、
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成部と、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成部と、
前記クロップ画像を識別するクロップ画像識別器と、
前記非クロップ画像を識別する非クロップ画像識別器と、
前記クロップ画像識別器による識別結果と、前記非クロップ画像識別器による識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定部と、
を備える。
【発明の効果】
【０００８】
本発明によれば、画像識別の精度の向上を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る画像識別装置の機能構成を示す図である。
【図２】実施形態１に係るクロップ画像学習処理のフローチャートである。
【図３】実施形態１に係るクロップ画像生成処理のフローチャートである。
【図４】クロップ画像生成処理を説明する図である。
【図５】実施形態１に係る非クロップ画像学習処理のフローチャートである。
【図６】実施形態１に係る非クロップ画像生成処理のフローチャートである。
【図７】非クロップ画像生成処理を説明する図である。
【図８】実施形態１に係る識別処理のフローチャートである。
【図９】実施形態１に係る画像識別装置に病変領域を入力した時のクロップ画像識別器及び非クロップ画像識別器の活性化状況を説明する図である。
【図１０】本発明の変形例２に係る識別結果決定部を説明する図である。
【図１１】変形例２に係る全体学習処理のフローチャートである。
【図１２】変形例２に係る識別処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る画像識別装置等について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１１】
（実施形態１）
本発明の実施形態１に係る画像識別装置１００は、識別対象の領域をクロップした画像で学習させたＤＮＮ識別器と、クロップしない画像で学習させたＤＮＮによる識別器と、を用いて未知の画像を識別する。画像識別装置１００は、このような２種類のＤＮＮによる識別器の出力を両方とも用いることで、画像識別の精度を向上させることができる。このような画像識別装置１００について、以下に説明する。
【００１２】
実施形態１に係る画像識別装置１００は、図１に示すように、制御部１０、記憶部２０、画像入力部３１、出力部３２、通信部３３、操作入力部３４、を備える。
【００１３】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成され、記憶部２０に記憶されたプログラムを実行することにより、後述する各部（クロップ画像生成部１１、非クロップ画像生成部１２、クロップ画像識別器１３、非クロップ画像識別器１４、識別結果決定部１５）の機能を実現する。
【００１４】
記憶部２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、制御部１０のＣＰＵが実行するプログラム及び必要なデータを記憶する。
【００１５】
画像入力部３１は、学習用の画像データ又は識別する（未知の）画像データを入力するためのデバイスである。制御部１０は、画像入力部３１を介して画像データを取得する。画像入力部３１としては、制御部１０が画像データを取得できるなら、任意のデバイスを使用することができる。例えば、記憶部２０に画像データを記憶させておき、制御部１０が記憶部２０を読み出すことによって画像データを取得する場合は、記憶部２０が画像入力部３１を兼ねることになる。また、制御部１０が通信部３３を介して外部のサーバ等から画像データを取得する場合は、通信部３３が画像入力部３１を兼ねることになる。
【００１６】
出力部３２は、制御部１０が、画像入力部３１から入力した画像を識別した結果等を出力するためのデバイスである。例えば、出力部３２は、液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｏｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイである。この場合、出力部３２は、表示部として機能する。ただし、画像識別装置１００は、出力部３２としてこのようなディスプレイ（表示部）を備えてもよいし、外部のディスプレイを接続するためのインタフェースとしての出力部３２を備えてもよい。画像識別装置１００は、インタフェースとしての出力部３２を備える場合は、出力部３２を介して接続した外部のディスプレイに識別結果等を表示する。出力部３２は、出力手段として機能する。
【００１７】
通信部３３は、外部の他の装置（例えば、画像データのデータベースが格納されているサーバ等）とデータの送受信を行うためのデバイス（ネットワークインタフェース等）である。制御部１０は、通信部３３を介して画像データを取得することができる。
【００１８】
操作入力部３４は、画像識別装置１００に対するユーザの操作入力を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル等である。画像識別装置１００は、操作入力部３４を介して、ユーザからの指示等を受け付ける。操作入力部３４は、操作入力手段として機能する。
【００１９】
次に、制御部１０の機能について説明する。制御部１０は、クロップ画像生成部１１、非クロップ画像生成部１２、クロップ画像識別器１３、非クロップ画像識別器１４、識別結果決定部１５、の機能を実現する。
【００２０】
クロップ画像生成部１１は、画像入力部３１を介して入力された入力画像から識別対象領域を取得し、取得した該識別対象領域にマージン領域を加えた正方形画像を切り取り（クロップし）、それをクロップ画像識別器１３の入力サイズにリサイズした画像（クロップ画像）を生成する。クロップ画像生成部１１が、入力画像から識別対象領域を含む画像を切り取る処理をクロップ処理と言う。
【００２１】
非クロップ画像生成部１２は、画像入力部３１を介して入力された入力画像にＨＰＦ（Ｈｉｇｈ  Ｐａｓｓ  Ｆｉｌｔｅｒ）処理を施すことによって、エッジを強調した画像（非クロップ画像）を生成する。なお、非クロップ画像生成部１２は、ＨＰＦ処理以外の処理によってエッジを強調した画像を生成してもよい。
【００２２】
クロップ画像識別器１３及び非クロップ画像識別器１４は、どちらもＤＮＮの一種である畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）による画像の識別器である。制御部１０が、ＣＮＮによる識別器を実現するプログラムを実行することにより、制御部１０はクロップ画像識別器１３としても機能し、また、非クロップ画像識別器１４としても機能する。
【００２３】
クロップ画像識別器１３は、クロップ画像生成部１１が生成したクロップ画像が入力される入力層と、入力されたクロップ画像の識別結果が出力される出力層と、入力層及び出力層以外の層である中間層と、を有し、クロップ画像を識別した結果を出力層から出力する。
【００２４】
非クロップ画像識別器１４は、非クロップ画像生成部１２が生成した非クロップ画像が入力される入力層と、入力された非クロップ画像の識別結果が出力される出力層と、入力層及び出力層以外の層である中間層と、を有し、非クロップ画像を識別した結果を出力層から出力する。
【００２５】
識別結果決定部１５は、クロップ画像識別器１３からの出力（クロップ画像の識別結果）と、非クロップ画像識別器１４からの出力（非クロップ画像の識別結果）と、の両者を用いて最終的な識別結果を得る。基本的には、識別結果決定部１５は、クロップ画像識別器１３からの出力と非クロップ画像識別器１４からの出力とを単純に加算平均して最終的な識別結果を得る。しかし、これに限定されるものではない。識別結果決定部１５は、最終的な識別結果を得る際に、クロップ画像識別器１３からの出力と非クロップ画像識別器１４からの出力とを、それぞれに所定の重みを乗算して、加重平均を取ってもよい。識別結果決定部１５は、識別結果決定手段として機能する。
【００２６】
以上、画像識別装置１００の機能構成について説明した。次に、クロップ画像や非クロップ画像を用いてＣＮＮ（クロップ画像識別器１３及び非クロップ画像識別器１４）を学習させる処理について、説明する。
【００２７】
まず、クロップ画像を用いてクロップ画像識別器１３を学習させるクロップ画像学習処理について、図２を参照して説明する。この処理は、クロップ画像識別器１３を学習させる際に実行される。また、この処理を実行する前に、正解ラベルを付けた学習用画像データを用意しておく必要がある。正解ラベルとは、その正解ラベルが付いた画像が何の画像かを示すものであり、例えば、疾患画像を入力すると疾患名を出力するＣＮＮを用意したいのであれば、「疾患名」を正解ラベルとして各学習用画像データに付けておく必要がある。別の例として、花の画像の画像を入力するとその花の名称を出力するＣＮＮを用意したいのであれば、「花の名称」を正解ラベルとして各学習用画像データに付けておく必要がある。
【００２８】
まず、制御部１０は、画像入力部３１を介して学習用画像データを取得する（ステップＳ１０１）。そして、クロップ画像生成部１１は、後述するクロップ画像生成処理を行って、ステップＳ１０１で取得した学習用画像データからクロップ画像を生成する（ステップＳ１０２）。ステップＳ１０２は、クロップ画像生成ステップとも呼ばれる。
【００２９】
次に、制御部１０は、クロップ画像生成部１１が生成したクロップ画像をクロップ画像識別器１３に入力し、学習用画像データに付けられていた正解ラベルに基づいて、クロップ画像識別器１３を学習させる（ステップＳ１０３）。ステップＳ１０３は、クロップ画像学習ステップとも呼ばれる。
【００３０】
そして、制御部１０は、学習を終了するか否かを判定する（ステップＳ１０４）。例えば、学習用画像データを予め決められた枚数（例えばＭ枚）学習させたら学習を終了する。学習させていない学習用画像データが残っている場合等、学習を終了しないなら（ステップＳ１０４；Ｎｏ）、ステップＳ１０１に戻る。学習を終了するなら（ステップＳ１０４；Ｙｅｓ）、クロップ画像学習処理を終了する。
【００３１】
次に、上記ステップＳ１０２で行われるクロップ画像生成処理について、図３のフローチャートと図４の具体例を参照して説明する。この処理は、与えられた入力画像からクロップ画像を生成する処理である。
【００３２】
まず、クロップ画像生成部１１は、与えられた入力画像から、識別対象となる領域を取得する（ステップＳ１１１）。与えられた入力画像の例として、図４の左上の図では、識別対象１０１１（例えば疾患画像）と目盛り１０１２が写っている入力画像１０１０が示されている。そして、図４の右上の図では、クロップ画像生成部１１が取得した識別対象となる領域１０２０が示されている。識別対象となる領域の取得方法は任意であるが、例えば、クロップ画像生成部１１は、予め機械学習で得られた識別対象領域判定器により自動的に領域１０２０を抽出（及び取得）する。このような識別対象領域判定器は、例えば、学習用の教師データとして、画像データとその画像に対応する前景マップ（識別対象領域の正解データを人間が作成したもの）を大量に用意しておき、この教師データをＣＮＮに入力して学習させることによって、作成することができる。
【００３３】
識別対象となる領域の取得に関しては、上述したような機械学習による方法に限定されるわけではない。ユーザが操作入力部３４を介して入力画像１０１０中の識別対象となる領域１０２０を指定し、ユーザが指定した領域１０２０をクロップ画像生成部１１が取得してもよい。また、機械学習等により自動的に抽出した領域１０２０をユーザが操作入力部３４を介して修正可能にしておき、ユーザが修正した識別対象領域をクロップ画像生成部１１が取得するようにしてもよい。
【００３４】
次に、クロップ画像生成部１１は、ステップＳ１１１で取得した識別対象の領域に外接する矩形領域を抽出する（ステップＳ１１２）。図４の左真ん中の図では、識別対象１０１１に外接する矩形領域１０３０が抽出されている様子が示されている。この矩形領域１０３０は、正方形でなくてもよい。
【００３５】
そして、クロップ画像生成部１１は、ステップＳ１１２で抽出した矩形領域にマージン領域を付加した正方形領域をクロップ（切り取り）する（ステップＳ１１３）。なお、上述の矩形領域１０３０が長方形だった場合には、マージンの縦横の量を調節することによってクロップする領域を正方形にする。図４の右真ん中の図では、矩形領域１０３０に斜線で表したマージン領域１０４１を付加した正方形領域１０４０が示されているが、この正方形領域１０４０がクロップされる（切り取られる）ことになる。
【００３６】
マージン領域１０４１の大きさを規定するマージン１０４２の長さは、矩形領域１０３０の大きさに応じて変化させてもよいし、一定の長さに設定してもよい。矩形領域１０３０の大きさに応じて変化させる場合は、例えば「矩形領域１０３０の一辺の長さの１０％」等と設定すればよい。また、矩形領域１０３０が長辺と短辺とからなる長方形の領域の場合は、例えば「長辺側は矩形領域１０３０の長辺の長さの１０％のマージンを両側に付加し、短辺側はマージンを付加した長辺の長さに合わせるように両側に付加する」等と設定すればよい。
【００３７】
そして、クロップ画像生成部１１は、ステップＳ１１３でクロップした正方形領域を、ＣＮＮ（クロップ画像識別器１３）の入力サイズに合わせてリサイズし（ステップＳ１１４）、処理を終了する。このリサイズされた正方形領域の画像がクリップ画像である。図４の左下の図では、リサイズされた正方形領域１０５０が示されているが、これは、ステップＳ１１３で切り出された正方形領域１０４０がリサイズされて拡大されたものである。正方形領域１０５０に含まれている識別対象１０１１も正方形領域１０５０と同じ倍率でリサイズされるので、拡大された状態になっている。
【００３８】
以上のクロップ画像生成処理により、入力画像に含まれる識別対象がクローズアップされたクロップ画像が生成される。そして、生成されたクロップ画像を用いて、上述のクロップ画像学習処理により、クロップ画像識別器１３が学習されることになる。
【００３９】
次に、非クロップ画像を用いて非クロップ画像識別器１４を学習させる非クロップ画像学習処理について、図５を参照して説明する。この処理は、非クロップ画像識別器１４を学習させる際に実行される。上述のクロップ画像学習処理と同様、非クロップ画像学習処理を実行する前に、正解ラベルを付けた学習用画像データを用意しておく必要があるが、この学習データは、上述のクロップ画像学習処理で用いた学習データと同一のデータでよい。
【００４０】
まず、制御部１０は、画像入力部３１を介して学習用画像データを取得する（ステップＳ２０１）。そして、非クロップ画像生成部１２は、後述する非クロップ画像生成処理を行って、ステップＳ２０１で取得した学習用画像データから非クロップ画像を生成する（ステップＳ２０２）。ステップＳ２０２は、非クロップ画像生成ステップとも呼ばれる。
【００４１】
次に、制御部１０は、非クロップ画像生成部１２が生成した非クロップ画像を非クロップ画像識別器１４に入力し、学習用画像データに付けられていた正解ラベルに基づいて、非クロップ画像識別器１４を学習させる（ステップＳ２０３）。ステップＳ２０３は、非クロップ画像学習ステップとも呼ばれる。
【００４２】
そして、制御部１０は、学習を終了するか否かを判定する（ステップＳ２０４）。例えば、学習用画像データを予め決められた枚数（例えばＭ枚）学習させたら学習を終了する。学習させていない学習用画像データが残っている場合等、学習を終了しないなら（ステップＳ２０４；Ｎｏ）、ステップＳ２０１に戻る。学習を終了するなら（ステップＳ２０４；Ｙｅｓ）、非クロップ画像学習処理を終了する。
【００４３】
次に、上記ステップＳ２０２で行われる非クロップ画像生成処理について、図６のフローチャートと図７の具体例を参照して説明する。この処理は、与えられた入力画像から非クロップ画像を生成する処理である。
【００４４】
まず、非クロップ画像生成部１２は、与えられた入力画像にＨＰＦ処理（エッジ強調処理）を行う（ステップＳ２１１）。与えられた入力画像の例として、図７の上の図では、識別対象１０１１（例えば疾患画像）と目盛り１０１２が写っている入力画像１０１０が示されている。そして、図７の真ん中の図では、入力画像１０１０がＨＰＦ処理されたことによって、エッジ強調された識別対象１０６１と、エッジ強調された目盛り１０６２と、を含む画像１０６０になったことが示されている。
【００４５】
次に非クロップ画像生成部１２は、ＨＰＦ処理した入力画像の両サイドをカットして（これをサイドカット処理という）、正方形領域を切り出し（ステップＳ２１２）、処理を終了する。図７の下の図では、正方形領域１０７０が示されているが、これは図７の真ん中の図にある画像１０６０の両サイドを点線１０６３でカットしたものである。
【００４６】
以上の非クロップ画像生成処理により、入力画像のエッジが強調された非クロップ画像が生成される。そして、生成された非クロップ画像を用いて、上述の非クロップ画像学習処理により、非クロップ画像識別器１４が学習されることになる。
【００４７】
以上のようにして、クロップ画像識別器１３と非クロップ画像識別器１４を学習させることにより、画像識別装置１００は、未知の入力画像を識別できるようになる。次に、未知の入力画像を識別する識別処理について、図８を参照して説明する。この処理は、未知の画像を識別する際に実行される。
【００４８】
まず、制御部１０は、画像入力部３１を介して画像識別装置１００に識別を行わせる未知画像を取得する（ステップＳ３０１）。
【００４９】
次に、クロップ画像生成部１１は、上述したクロップ画像生成処理（図３）により、ステップＳ３０１で取得した未知画像からクロップ画像を生成する（ステップＳ３０２）。そして、制御部１０は、生成されたクロップ画像をクロップ画像識別器１３に入力して、クロップ画像識別器１３の出力値を取得する（ステップＳ３０３）。ステップＳ３０３は、クロップ画像識別ステップとも呼ばれる。
【００５０】
次に、非クロップ画像生成部１２は、上述した非クロップ画像生成処理（図６）により、ステップＳ３０１で取得した未知画像から非クロップ画像を生成する（ステップＳ３０４）。そして、制御部１０は、生成された非クロップ画像を非クロップ画像識別器１４に入力して、非クロップ画像識別器１４の出力値を取得する（ステップＳ３０５）。ステップＳ３０５は、非クロップ画像識別ステップとも呼ばれる。なお、ステップＳ３０２からステップＳ３０３の処理と、ステップＳ３０４からステップＳ３０５の処理とは、並行に処理を進めてもよいし、図８とは逆にステップＳ３０４からステップＳ３０５の処理を、ステップＳ３０２からステップＳ３０３の処理に先行して行ってもよい。
【００５１】
そして、識別結果決定部１５は、ステップＳ３０３で取得したクロップ画像識別器１３の出力値とステップＳ３０５で取得した非クロップ画像識別器１４の出力値とを加算平均して、最終的な識別結果を決定する（ステップＳ３０６）。ステップＳ３０６は、識別結果決定ステップとも呼ばれる。
【００５２】
そして、制御部１０は、識別結果決定部１５が決定した最終的な識別結果を出力部３２に出力し（ステップＳ３０７）、処理を終了する。なお、ステップＳ３０７では、制御部１０は、最終的な識別結果だけでなく、クロップ画像識別器１３の出力及び非クロップ画像識別器１４の出力をも出力部３２に出力してもよい。
【００５３】
以上説明した識別処理により、画像識別装置１００は、クロップ画像と非クロップ画像を両方とも用いることによって、識別精度の向上を図ることができる。また、クロップ画像生成部１１では、識別対象領域をマージン領域を付加して切り出しているため、識別対象領域の端部（例えば病変領域境界のエッジ部分）を失う危険性を大幅に減らすことができる。しかも、クロップ画像生成部１１では、クロップ画像の生成時に正方形で切り出しているため、画像のアスペクト比が保たれ、クロップ画像識別器１３においては、アスペクト比も識別のための情報として利用できる。
【００５４】
具体例として、図９に示すように、脂漏性角化症の病変領域１１０１を含む入力画像１１００をクロップ画像識別器１３と非クロップ画像識別器１４のそれぞれに入力して、ＣＡＭ（Ｃｌａｓｓ  Ａｃｔｉｖａｔｉｏｎ  Ｍａｐｐｉｎｇ）による活性化マップを作成すると、クロップ画像識別器１３では中央領域を中心に活性反応を示し、非クロップ画像識別器１４では病変領域全体に活性反応を示すことが確認できる。これは、クロップ画像識別器１３の場合は、必ず中央領域に病変領域が存在することが期待されるのに対し、非クロップ画像識別器１４では必ずしも中央領域に病変領域が存在することが期待できないので、非クロップ画像識別器１４では病変領域判定も含めて処理をしなければならないという違いによるものと考えられる。
【００５５】
なお、図９に示す活性化マップ１１１０は、入力画像１１００をクロップ画像識別器１３に入力した際の各症例（メラノーマ（ＭＭ）、脂漏性角化症（ＳＫ）、色素性母斑（ＮＣＮ））のＣＡＭによる活性化領域を示した図である。そして、図９に示す活性化マップ１１２０は、入力画像１１００を非クロップ画像識別器１４に入力した際の各症例のＣＡＭによる活性化領域を示した図である。どちらの図も、活性度が高い領域ほど黒く示されている。また、図９には、各識別器による各症例のスコア（出力値）も示されている。
【００５６】
図９に示されているように、クロップ画像識別器１３による各症例のスコアは、メラノーマ（ＭＭ）が０．０８９０、脂漏性角化症（ＳＫ）が０．８６８１、色素性母斑（ＮＣＮ））が０．０４２９であり、非クロップ画像識別器１４による各症例のスコアは、メラノーマ（ＭＭ）が０．３１４５、脂漏性角化症（ＳＫ）が０．５７１３、色素性母斑（ＮＣＮ））が０．１１４２である。
【００５７】
図９に示す症例のように、病変領域の大きい症例画像の場合、（一般的に悪性症例の方が病変領域のサイズが大きいので）非クロップ画像識別器１４のスコアは悪性側（ＭＭ側）に傾く傾向があり、図９においても、非クロップ画像識別器１４によるメラノーマ（ＭＭ）のスコア（０．３１４５）は比較的高い値になっている。しかし、クロップ画像識別器１３では、病変領域の大きさが正規化されているため、病変領域の大きさに依存せず、病変領域内部の構造が重視されて識別が行われる。したがって、図９に示す例では、クロップ画像識別器１３が、脂漏性角化症（ＳＫ）の所見である白い点（稗粒腫様?腫）や、黒い点（面皰様開大）を検出した結果、脂漏性角化症（ＳＫ）のスコア（０．８６８１）が高くなったものと推測される。
【００５８】
このように、画像識別装置１００は、クロップ画像識別器１３が識別対象領域の内部構造を重視して識別を行い、非クロップ画像識別器１４が入力画像全体から捉えられる特徴によって識別を行うと考えられ、この両方の識別結果を用いて最終的な識別結果を決定するため、識別精度を向上させることができる。
【００５９】
（変形例１）
実施形態１では、クロップ画像生成部１１は、人手で作成した前景マップを用いて機械学習した識別対象領域判定器により、識別対象となる領域を自動的に抽出した。しかし、識別対象となる領域を自動的に抽出する方法として、図９に示したような活性化マップを用いる方法もある。この変形例１について説明する。
【００６０】
変形例１に係る画像識別装置１００の機能構成は実施形態１と同じく、図１で示されるものである。ただし、変形例１では、制御部１０は、クロップ画像学習処理を行う前に、まず、非クロップ画像学習処理（図５）を行って、非クロップ画像識別器１４を学習済みにしておく。そして、クロップ画像生成処理（図３）のステップＳ１１１において、制御部１０は、まず、入力画像を非クロップ画像識別器１４に入力して、非クロップ画像識別器１４の活性化マップを取得する。そして、活性化マップで、所定の基準値以上に活性化している領域を識別対象領域として抽出する。
【００６１】
活性化マップの生成方法にはいくつかの種類があるが、図９に示したようなＣＡＭによる活性化マップや、Ｇｒａｄ−ＣＡＭ（Ｇｒａｄｉｅｎｔ−ｗｅｉｇｈｔｅｄ  Ｃｌａｓｓ  Ａｃｔｉｖａｔｉｏｎ  Ｍａｐｐｉｎｇ）による活性化マップの場合は、識別クラス毎の活性化マップが得られるので、識別クラス毎に得られた各活性化マップを全て加算して平均を取った活性化マップ（ここでは「総合活性化マップ」と呼ぶことにする）を用いて識別対象領域を抽出する。例えば、総合活性化マップの全ての要素の平均値を求め、総合活性化マップ上で、値が当該平均値以上になっている部分を識別対象領域とする。
【００６２】
活性化マップの生成において、ＣＡＭやＧｒａｄ−ＣＡＭを用いるのではなく、単純にＣＮＮの出力層の直前の全結合層の直前の中間層の各要素（特徴マップ）をチャネル方向に平均したものを活性化マップとする活性化マップ生成方法もある。このような活性化マップを用いる場合は、この活性化マップを上述の総合活性化マップと同様に扱うことができる。例えば、この活性化マップの全ての要素の平均値を求め、該活性化マップ上で、値が当該平均値以上になっている部分を識別対象領域とする。
【００６３】
変形例１に係る画像識別装置１００は、クロップ画像生成処理（図３）のステップＳ１１１において、活性化マップを用いて識別対象領域を抽出する点以外は、実施形態１に係る画像識別装置１００と同じである。変形例１に係る画像識別装置１００は、実施形態１に係る画像識別装置１００が備える効果に加え、識別対象領域を抽出するための判定器の学習を別途行う必要がない（非クロップ画像識別器１４を学習させることによって、非クロップ画像識別器１４が識別対象領域を抽出するための判定器にも利用可能になる）という効果がある。
【００６４】
（変形例２）
実施形態１では、識別結果決定部１５は、クロップ画像識別器１３からの出力と非クロップ画像識別器１４からの出力との平均（加算平均や加重平均）を取ることにより最終的な識別結果を得ていた。しかし、これに限定されるものではない。識別結果決定部１５は、クロップ画像識別器１３の出力層と、非クロップ画像識別器１４の出力層と、を連結して全結合層に入力し、該全結合層を介した新たな出力層によって最終的な識別結果を得てもよい。このような変形例２について説明する。
【００６５】
変形例２に係る画像識別装置１００の機能構成は実施形態１と同じく、図１で示されるものである。変形例２に係る識別結果決定部１５は、図１０に示すように、クロップ画像識別器１３の出力層１３０１と、非クロップ画像識別器１４の出力層１４０１と、を連結して全結合層として、新たな出力層１５０１に接続して最終的な識別結果を得る。
【００６６】
変形例２では、識別結果決定部１５の出力層１５０１についても、ニューラルネットの学習を行う必要がある。このための全体学習処理について、図１１を参照して説明する。この処理は、クロップ画像学習処理（図２）及び非クロップ画像学習処理（図５）が完了した後に行うと、学習時間の短縮を図ることができる。しかし、クロップ画像学習処理（図２）や非クロップ画像学習処理（図５）を行う前に全体学習処理を行うことも可能であり、この場合は、全体学習処理が完了した時点で、クロップ画像識別器１３及び非クロップ画像識別器１４の学習も完了していることになるため、別途クロップ画像学習処理（図２）及び非クロップ画像学習処理（図５）を行う必要はなくなる。
【００６７】
まず、制御部１０は、画像入力部３１を介して学習用画像データを取得する（ステップＳ４０１）。そして、クロップ画像生成部１１は、クロップ画像生成処理（図３）を行って、ステップＳ４０１で取得した学習用画像データからクロップ画像を生成する（ステップＳ４０２）。また、非クロップ画像生成部１２は、非クロップ画像生成処理（図６）を行って、ステップＳ４０１で取得した学習用画像データから非クロップ画像を生成する（ステップＳ４０３）。なお、ステップＳ４０２とステップＳ４０３とは、並行に処理を進めてもよいし、図１１とは逆にステップＳ４０３の処理をステップＳ４０２の処理より先に行ってもよい。
【００６８】
そして、制御部１０は、図１０に示すようなクロップ画像識別器１３と非クロップ画像識別器１４とを接続したＣＮＮにおいて、クロップ画像生成部１１が生成したクロップ画像（正方形領域１０５０）をクロップ画像識別器１３に入力し、非クロップ画像生成部１２が生成した非クロップ画像（正方形領域１０７０）を非クロップ画像識別器１４に入力し、学習用画像データに付けられていた正解ラベルに基づいて、出力層１３０１と出力層１４０１とを連結した全結合層と識別結果決定部１５の出力層１５０１との間の全結合接続の重みを学習させる（ステップＳ４０４）。
【００６９】
そして、制御部１０は、学習を終了するか否かを判定する（ステップＳ４０５）。例えば、学習用画像データを予め決められた枚数（例えばＭ枚）学習させたら学習を終了する。学習させていない学習用画像データが残っている場合等、学習を終了しないなら（ステップＳ４０５；Ｎｏ）、ステップＳ４０１に戻る。学習を終了するなら（ステップＳ４０５；Ｙｅｓ）、全体学習処理を終了する。
【００７０】
以上のようにして、識別結果決定部１５の出力層１５０１へのニューラルネットを学習させることにより、変形例２に係る画像識別装置１００は、未知の入力画像を識別できるようになる。次に、変形例２に係る画像識別装置１００で未知の入力画像を識別する識別処理について、図１２を参照して説明する。この処理は、未知の画像を識別する際に実行される。
【００７１】
まず、制御部１０は、画像入力部３１を介して画像識別装置１００に識別を行わせる未知画像を取得する（ステップＳ５０１）。
【００７２】
そして、クロップ画像生成部１１は、クロップ画像生成処理（図３）を行って、ステップＳ５０１で取得した未知画像からクロップ画像を生成する（ステップＳ５０２）。また、非クロップ画像生成部１２は、非クロップ画像生成処理（図６）を行って、ステップＳ５０１で取得した未知画像から非クロップ画像を生成する（ステップＳ５０３）。なお、ステップＳ５０２とステップＳ５０３とは、並行に処理を進めてもよいし、図１２とは逆にステップＳ５０３の処理をステップＳ５０２の処理より先に行ってもよい。
【００７３】
そして、識別結果決定部１５は、図１０に示すようなクロップ画像識別器１３と非クロップ画像識別器１４とを接続したＣＮＮにおいて、クロップ画像生成部１１が生成したクロップ画像をクロップ画像識別器１３に入力し、非クロップ画像生成部１２が生成した非クロップ画像を非クロップ画像識別器１４に入力する。そして、出力層１５０１に出力される出力値によって、最終的な識別結果を決定する（ステップＳ５０４）。
【００７４】
そして、制御部１０は、識別結果決定部１５が決定した最終的な識別結果を出力部３２に出力し（ステップＳ５０５）、処理を終了する。なお、ステップＳ５０５では、制御部１０は、最終的な識別結果だけでなく、クロップ画像識別器１３の出力（図１０の出力層１３０１の各要素の値）及び非クロップ画像識別器１４の出力（図１０の出力層１４０１の各要素の値）をも出力部３２に出力してもよい。
【００７５】
以上説明した識別処理により、変形例２に係る画像識別装置１００は、クロップ画像と非クロップ画像を両方とも用いることによって、識別精度の向上を図ることができる。
【００７６】
なお、上述の実施形態及び変形例では、ＣＮＮによる識別器を実現するプログラムを制御部１０が実行することにより、制御部１０はクロップ画像識別器１３や非クロップ画像識別器１４としても機能することとしていたが、これに限られない。画像識別装置１００は、制御部１０とは別に（例えば、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、専用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の）クロップ画像識別器１３や非クロップ画像識別器１４の機能を実現するデバイスを備えてもよい。
【００７７】
また、上述の実施形態１では主に皮膚の疾患を例にとって説明したが、本発明は皮膚科の分野に限定されるものではなく、広く一般の画像識別の分野において適用可能である。例えば、花の識別、細菌の顕微鏡写真の識別等にも適用できる。
【００７８】
また、上述の実施形態及び変形例は適宜組み合わせることができる。例えば、変形例１と変形例２とを組み合わせることにより、活性化マップで識別対象となる領域を自動的に抽出し、図１０に示すようにクロップ画像識別器１３と非クロップ画像識別器１４とを接続して出力層１５０１から最終的な識別結果を取得する画像識別装置１００を構成してもよい。
【００７９】
また、上述の実施形態及び変形例では、非クロップ画像生成部１２が、入力画像のエッジを強調した画像を生成するものとして説明したが、これに限られない。非クロップ画像生成部１２は、入力画像をクロップしないことが重要であり、入力画像をそのまま非クロップ画像としてもよい。
【００８０】
なお、画像識別装置１００の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施形態では、画像識別装置１００が行う画像識別処理のプログラムが、記憶部２０のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）、メモリカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【００８１】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００８２】
（付記１）
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成部と、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成部と、
前記クロップ画像を識別するクロップ画像識別器と、
前記非クロップ画像を識別する非クロップ画像識別器と、
前記クロップ画像識別器による識別結果と、前記非クロップ画像識別器による識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定部と、
を備える画像識別装置。
【００８３】
（付記２）
前記クロップ画像生成部は、前記入力画像から前記識別対象領域を取得し、前記識別対象領域に所定のマージン領域を含めた画像として、前記クロップ画像を生成する、
付記１に記載の画像識別装置。
【００８４】
（付記３）
前記クロップ画像生成部は、機械学習で得られた識別対象領域判定器により前記識別対象領域を取得する、
付記２に記載の画像識別装置。
【００８５】
（付記４）
前記クロップ画像生成部は、前記非クロップ画像識別器の活性化マップで活性化している領域を抽出することにより前記識別対象領域を取得する、
付記２に記載の画像識別装置。
【００８６】
（付記５）
前記非クロップ画像生成部は、前記入力画像に対してエッジ強調処理及びサイドカット処理を行った画像として、前記非クロップ画像を生成する、
付記１から４のいずれか１つに記載の画像識別装置。
【００８７】
（付記６）
前記非クロップ画像生成部は、前記入力画像を前記非クロップ画像とする、
付記１から４のいずれか１つに記載の画像識別装置。
【００８８】
（付記７）
前記識別結果決定部は、前記クロップ画像識別器の出力値と前記非クロップ画像識別器の出力値との平均を求めることによって、最終的な識別結果を取得する、
付記１から６のいずれか１つに記載の画像識別装置。
【００８９】
（付記８）
前記識別結果決定部は、前記クロップ画像識別器の出力層と前記非クロップ画像識別器の出力層とを連結して全結合層を構成し、前記全結合層を介した出力層によって、最終的な識別結果を取得する、
付記１から６のいずれか１つに記載の画像識別装置。
【００９０】
（付記９）
さらに、前記クロップ画像識別器の出力値と、前記非クロップ画像識別器の出力値と、を表示する表示部を備える、
付記１から８のいずれか１つに記載の画像識別装置。
【００９１】
（付記１０）
前記識別対象領域は病変領域である、
付記１から９のいずれか１つに記載の画像識別装置。
【００９２】
（付記１１）
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップと、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップと、
前記クロップ画像でクロップ画像識別器を学習させるクロップ画像学習ステップと、
前記非クロップ画像で非クロップ画像識別器を学習させる非クロップ画像学習ステップと、
を含む識別器学習方法。
【００９３】
（付記１２）
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップと、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップと、
前記クロップ画像を識別するクロップ画像識別ステップと、
前記非クロップ画像を識別する非クロップ画像識別ステップと、
前記クロップ画像識別ステップによる識別結果と、前記非クロップ画像識別ステップによる識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定ステップと、
を含む画像識別方法。
【００９４】
（付記１３）
画像識別装置のコンピュータに、
入力画像から識別対象領域を含む画像を切り取る処理であるクロップ処理を行ったクロップ画像を生成するクロップ画像生成ステップ、
前記入力画像から前記クロップ処理を行っていない非クロップ画像を生成する非クロップ画像生成ステップ、
前記クロップ画像を識別するクロップ画像識別ステップ、
前記非クロップ画像を識別する非クロップ画像識別ステップ、及び、
前記クロップ画像識別ステップによる識別結果と、前記非クロップ画像識別ステップによる識別結果と、の両者を用いて最終的な識別結果を取得する識別結果決定ステップ、
を実行させるためのプログラム。
【符号の説明】
【００９５】
１０…制御部、１１…クロップ画像生成部、１２…非クロップ画像生成部、１３…クロップ画像識別器、１４…非クロップ画像識別器、１５…識別結果決定部、２０…記憶部、３１…画像入力部、３２…出力部、３３…通信部、３４…操作入力部、１００…画像識別装置、１０１０，１１００…入力画像、１０１１，１０６１…識別対象、１０１２，１０６２…目盛り、１０２０…領域、１０３０…矩形領域、１０４０，１０５０，１０７０…正方形領域、１０４１…マージン領域、１０４２…マージン、１０６０…画像、１０６３…点線、１１０１…病変領域、１１１０，１１２０…活性化マップ、１３０１，１４０１，１５０１…出力層
【図１】
2020101927.tif 000003
【図２】
2020101927.tif 000004
【図３】
2020101927.tif 000005
【図４】
2020101927.tif 000006
【図５】
2020101927.tif 000007
【図６】
2020101927.tif 000008
【図７】
2020101927.tif 000009
【図８】
2020101927.tif 000010
【図９】
2020101927.tif 000011
【図１０】
2020101927.tif 000012
【図１１】
2020101927.tif 000013
【図１２】
2020101927.tif 000014