(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024088190
(43)【公開日】2024-07-02
(54)【発明の名称】モデル生成装置、モデル生成方法およびプログラム
(51)【国際特許分類】
G06V 10/70 20220101AFI20240625BHJP
G06T 7/00 20170101ALI20240625BHJP
G06N 3/045 20230101ALI20240625BHJP
G06N 20/00 20190101ALI20240625BHJP
【FI】
G06V10/70
G06T7/00 350B
G06N3/045
G06N20/00 160
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022203246
(22)【出願日】2022-12-20
(71)【出願人】
【識別番号】000135771
【氏名又は名称】株式会社パスコ
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100180806
【弁理士】
【氏名又は名称】三浦 剛
(74)【代理人】
【氏名又は名称】阿形 直起
(72)【発明者】
【氏名】大津 光巧
(72)【発明者】
【氏名】中村 翔
(72)【発明者】
【氏名】冨田 茂
(72)【発明者】
【氏名】洲濱 智幸
(72)【発明者】
【氏名】島崎 康信
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA03
5L096EA39
5L096GA26
5L096GA34
5L096GA51
5L096HA11
5L096JA11
5L096JA18
5L096KA04
5L096LA05
5L096MA07
(57)【要約】
【課題】異なる画素数の画像を用いて画像分類モデルを効率的に学習させることを可能とするモデル生成装置等を提供する。
【解決手段】モデル生成装置は、第1の画素数を有する第1画像を分割して生成された、それぞれが第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、複数の分割画像が入力された場合に第1画像のクラスを出力するように学習させる第1学習部と、第1学習モデルを用いて、第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、第2画像が入力された場合に第2画像のクラスを出力するように学習させる第2学習部と、学習された第2学習モデルを出力する出力部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させる第1学習部と、
前記第1学習モデルを用いて、前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように学習させる第2学習部と、
前記学習された第2学習モデルを出力する出力部と、
を有することを特徴とするモデル生成装置。
【請求項2】
前記第2学習部は、前記第1学習部により学習された第1抽出器のパラメータを前記第2抽出器の初期パラメータとして設定する、
請求項1に記載のモデル生成装置。
【請求項3】
前記第1学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習部は、入力された特徴量が前記集約器により集約された特徴量であるか否かを識別するように学習された識別器に、前記第2抽出器により抽出された特徴量が入力された場合に、前記第2抽出器により抽出された特徴量が前記集約器により集約された特徴量であると識別されるように前記第2抽出器を学習させる、
請求項1に記載のモデル生成装置。
【請求項4】
前記第1学習モデルは、前記集約器により集約された特徴量に基づいて前記第1画像のクラスを出力する第1分類器をさらに含み、
前記第2学習モデルは、前記第2抽出器により抽出された特徴量に基づいて前記第2画像のクラスを出力する第2分類器をさらに含み、
前記第2学習部は、前記第1学習部により学習された第1分類器のパラメータを前記第2分類器の初期パラメータとして設定する、
請求項3に記載のモデル生成装置。
【請求項5】
前記第2学習部は、前記集約器により集約された特徴量と前記第2抽出器により抽出された特徴量とを用いて前記識別器を学習させる第1学習と、前記第2画像を用いて前記第2抽出器を学習させる第2学習とを交互に実行する、
請求項3に記載のモデル生成装置。
【請求項6】
前記第1画像および前記第2画像は、同一の受容野を有する画像である、
請求項1に記載のモデル生成装置。
【請求項7】
モデル生成装置によって実行されるモデル生成方法であって、
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1学習モデルを用いて、前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように学習させ、
前記学習された第2学習モデルを出力する、
ことを含むことを特徴とするモデル生成方法。
【請求項8】
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1学習モデルを用いて、前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように学習させ、
前記学習された第2学習モデルを出力する、
ことをコンピュータに実行させることを特徴とするプログラム。
【請求項9】
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させる第1学習部と、
前記第1学習モデルを用いて、前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように学習させる第2学習部と、
前記学習された第2学習モデルを出力する出力部と、
を有することを特徴とするモデル生成装置。
【請求項10】
モデル生成装置によって実行されるモデル生成方法であって、
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1学習モデルを用いて、前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように学習させ、
前記学習された第2学習モデルを出力する、
ことを含むことを特徴とするモデル生成方法。
【請求項11】
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1学習モデルを用いて、前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように学習させ、
前記学習された第2学習モデルを出力する、
ことをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成装置、モデル生成方法およびプログラムに関する。
【背景技術】
【0002】
画像分類モデルを用いて、地上を撮影した衛星画像をその土地被覆の種類等に応じて分類する技術が注目されている。衛星画像の画像分類モデルを学習させるためには、同一の画素数を有する多数の衛星画像が教師データとして必要となるが、衛星ごとに空間分解能が異なる場合があるため、そのような衛星画像の収集は容易ではない。そこで、異なる画素数の画像を用いた学習を可能とすることが求められる。
【0003】
非特許文献1には、ADDA(Adversarial Discriminative Domain Adaptation)と呼ばれるドメイン適応手法が記載されている。ADDAによれば、学習用データの分布と分類対象データの分布とが異なる場合でも、学習用データを用いて学習した結果を画像分類モデルの学習に利用することが可能となる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Adversarial Discriminative Domain Adaptation, E. Tzeng, Judy Hoffman, Kate Saenko, and Trevor Darrell, Proceedings of IEEE conference on computer vision and pattern recognition, 2007
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、異なる画素数の画像からは異なるスケールの特徴量が抽出されるため、ADDAを衛星画像の画像分類モデルに適用しても十分な効果が得られない場合がある。
【0006】
本発明は、上述の課題を解決するためになされたものであり、異なる画素数の画像を用いて学習モデルを効率的に学習させることを可能とするモデル生成装置、モデル生成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の実施形態に係るモデル生成装置は、第1の画素数を有する第1画像を分割して生成された、それぞれが第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、複数の分割画像が入力された場合に第1画像のクラスを出力するように学習させる第1学習部と、第1学習モデルを用いて、第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、第2画像が入力された場合に第2画像のクラスを出力するように学習させる第2学習部と、学習された第2学習モデルを出力する出力部と、を有することを特徴とする。
【0008】
また、第2学習部は、第1学習部により学習された第1抽出器のパラメータを第2抽出器の初期パラメータとして設定することが好ましい。
【0009】
また、第1学習モデルは、複数の分割画像の特徴量を集約する集約器をさらに含み、第2学習部は、入力された特徴量が集約器により集約された特徴量であるか否かを識別するように学習された識別器に、第2抽出器により抽出された特徴量が入力された場合に、第2抽出器により抽出された特徴量が集約器により集約された特徴量であると識別されるように第2抽出器を学習させることが好ましい。
【0010】
また、第1学習モデルは、集約器により集約された特徴量に基づいて第1画像のクラスを出力する第1分類器をさらに含み、第2学習モデルは、第2抽出器により抽出された特徴量に基づいて第2画像のクラスを出力する第2分類器をさらに含み、第2学習部は、第1学習部により学習された第1分類器のパラメータを第2分類器の初期パラメータとして設定することが好ましい。
【0011】
また、第2学習部は、集約器により集約された特徴量と第2抽出器により抽出された特徴量とを用いて識別器を学習させる第1学習と、第2画像を用いて第2抽出器を学習させる第2学習とを交互に実行することが好ましい。
【0012】
また、第1画像および第2画像は、同一の受容野を有する画像であることが好ましい。
【0013】
本発明の実施形態に係るモデル生成方法は、モデル生成装置によって実行されるモデル生成方法であって、第1の画素数を有する第1画像を分割して生成された、それぞれが第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、複数の分割画像が入力された場合に第1画像のクラスを出力するように学習させ、第1学習モデルを用いて、第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、第2画像が入力された場合に第2画像のクラスを出力するように学習させ、学習された第2学習モデルを出力する、ことを含むことを特徴とする。
【0014】
本発明の実施形態に係るプログラムは、第1の画素数を有する第1画像を分割して生成された、それぞれが第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、複数の分割画像が入力された場合に第1画像のクラスを出力するように学習させ、第1学習モデルを用いて、第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、第2画像が入力された場合に第2画像のクラスを出力するように学習させ、学習された第2学習モデルを出力する、ことをコンピュータに実行させることを特徴とする。
【0015】
本発明の実施形態に係るモデル生成装置は、第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、第1画像が入力された場合に第1画像のクラスを出力するように学習させる第1学習部と、第1学習モデルを用いて、第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、複数の分割画像が入力された場合に第2画像のクラスを出力するように学習させる第2学習部と、学習された第2学習モデルを出力する出力部と、を有することを特徴とする。
【0016】
本発明の実施形態に係るモデル生成方法は、モデル生成装置によって実行されるモデル生成方法であって、第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、第1画像が入力された場合に第1画像のクラスを出力するように学習させ、第1学習モデルを用いて、第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、複数の分割画像が入力された場合に第2画像のクラスを出力するように学習させ、学習された第2学習モデルを出力する、ことを含むことを特徴とする。
【0017】
本発明の実施形態に係るプログラムは、第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、第1画像が入力された場合に第1画像のクラスを出力するように学習させ、第1学習モデルを用いて、第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、複数の分割画像が入力された場合に第2画像のクラスを出力するように学習させ、学習された第2学習モデルを出力する、ことをコンピュータに実行させることを特徴とする。
【発明の効果】
【0018】
本発明に係るモデル生成装置、モデル生成方法およびプログラムは、異なる画素数の画像を用いて学習モデルを効率的に学習させることを可能とする。
【図面の簡単な説明】
【0019】
【
図1】画像分類システム1の機能ブロック図である。
【
図2】学習モデルの例について説明するための模式図である。
【
図3】第1モデル生成処理の流れの例を示すフロー図である。
【
図4】第1事前学習処理の流れの例を示すフロー図である。
【
図5】第1識別学習処理の流れの例を示すフロー図である。
【
図6】抽出学習処理の流れの例を示すフロー図である。
【
図7】学習モデルの例について説明するための模式図である。
【
図8】第2モデル生成処理の流れの例を示すフロー図である。
【
図9】第2事前学習処理の流れの例を示すフロー図である。
【
図10】第2識別学習処理の流れの例を示すフロー図である。
【
図11】抽出集約学習処理の流れの例を示すフロー図である。
【
図12】画像分類処理の流れの例を示すフロー図である。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明及びその均等物に及ぶ点に留意されたい。
【0021】
図1は、本発明の実施形態に係る画像分類システム1の機能ブロック図である。画像分類システム1は、画像の分類モデルを学習させて学習済みモデルを生成するともに、生成された学習済みモデルを用いて画像を分類する。画像分類システム1は、モデル生成装置2および画像分類装置3を有する。モデル生成装置2および画像分類装置3は、ネットワークNを介して相互に通信する。
【0022】
モデル生成装置2は、PC(Personal Computer)、サーバ、携帯電話機、スマートフォン、タブレット端末、ゲーム機等の情報処理端末である。モデル生成装置2は、第1の画素数の画像を用いて、第1の画素数とは異なる第2の画素数の画像の分類モデルを学習させ、学習済みモデルを出力する。モデル生成装置2は、記憶部21、通信部22および処理部23を有する。
【0023】
記憶部21は、プログラムおよびデータを記憶するための構成であり、例えば半導体メモリを備える。記憶部21は、プログラムとして、処理部23による処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等を記憶する。プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等のコンピュータ読取可能かつ非一時的な可搬型記憶媒体から記憶部21にインストールされる。
【0024】
通信部22は、モデル生成装置2を他の装置と通信可能にする構成であり、通信インタフェース回路を備える。通信部22が備える通信インタフェース回路は、有線LAN(Local Area Network)又は無線LAN等の通信インタフェース回路である。通信部22は、データを他の装置から受信して処理部23に供給するとともに、処理部23から供給されたデータを他の装置に送信する。
【0025】
処理部23は、モデル生成装置2の動作を統括的に制御する構成であり、一つまたは複数のプロセッサおよびその周辺回路を備える。処理部23は、例えば、CPU(Central Processing Unit)を備える。処理部23は、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を備えてもよい。処理部23は、記憶部21に記憶されているプログラムに基づいてモデル生成装置2の各種処理が適切な手順で実行されるように、各構成の動作を制御するとともに、各種の処理を実行する。
【0026】
処理部23は、第1学習部231、第2学習部232および出力部233を機能ブロックとして有する。これらの各部は、処理部23がプログラムを実行することによって実現される機能モジュールである。これらの各部は、ファームウェアとしてモデル生成装置2に実装されてもよい。
【0027】
モデル生成装置2は、大きい画素数を有する画像を用いて小さい画素数を有する画像の分類モデルを学習させる第1モデル生成処理、および小さい画素数を有する画像を用いて大きい画素数を有する画像の分類モデルを学習させる第2モデル生成処理のうちの少なくとも一方を実行する。
【0028】
画像分類装置3は、PC、サーバ、携帯電話機、スマートフォン、タブレット端末、ゲーム機等の情報処理端末である。画像分類装置3は、第1モデル生成処理または第2モデル生成処理を実行したモデル生成装置2によって生成された学習済みモデルを用いて画像を分類する。画像分類装置3は、記憶部31、通信部32および処理部33を有する。
【0029】
記憶部31は、プログラムおよびデータを記憶するための構成であり、例えば半導体メモリを備える。記憶部31は、プログラムとして、処理部33による処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等を記憶する。プログラムは、CD-ROM、DVD-ROM等のコンピュータ読取可能かつ非一時的な可搬型記憶媒体から記憶部31にインストールされる。
【0030】
通信部32は、画像分類装置3を他の装置と通信可能にする構成であり、通信インタフェース回路を備える。通信部32が備える通信インタフェース回路は、有線LAN(Local Area Network)又は無線LAN等の通信インタフェース回路である。通信部32は、データを他の装置から受信して処理部33に供給するとともに、処理部33から供給されたデータを他の装置に送信する。
【0031】
処理部33は、画像分類装置3の動作を統括的に制御する構成であり、一つまたは複数のプロセッサおよびその周辺回路を備える。処理部33は、例えば、CPUを備える。処理部33は、GPU、DSP、LSI、ASIC、FPGA等を備えてもよい。処理部33は、記憶部31に記憶されているプログラムに基づいて画像分類装置3の各種処理が適切な手順で実行されるように、各構成の動作を制御するとともに、各種の処理を実行する。
【0032】
処理部33は、取得部331、分類部332および出力部233を機能ブロックとして有する。これらの各部は、処理部33がプログラムを実行することによって実現される機能モジュールである。これらの各部は、ファームウェアとして画像分類装置3に実装されてもよい。
【0033】
図2は、第1モデル生成処理を実行するモデル生成装置2の記憶部21に記憶される学習モデルの例について説明するための模式図である。記憶部21は、第1の画素数を有する第1画像IM1のクラスを出力する第1学習モデルLM1、第1の画素数よりも小さい第2の画素数を有する第2画像IM2のクラスを出力する第2学習モデルLM2、および識別器DCを記憶する。画像のクラスは、例えば、樹木が枯死している領域が画像に含まれているか否かを示す2要素のone-hotベクトルである。第1画像および第2画像は、同一の広さの受容野を有する。すなわち、第1画像および第2画像が衛星画像である場合、第1画像および第2画像は同一の広さの地理的領域の状態を示す画像であり、第1画像の空間分解能が第2画像の空間分解能よりも高い。モデル生成装置2は、第1モデル生成処理において、第2学習モデルLM2を学習させて出力する。
【0034】
第1学習モデルLM1は、第1抽出器EX1、集約器AGおよび第1分類器CL1を有する。第1抽出器EX1は、第1画像IM1を分割して生成された、第2の画素数を有する複数の分割画像SGのそれぞれの特徴量を抽出する。第1抽出器EX1は、例えば畳み込みニューラルネットワークである。集約器AGは、複数の分割画像SGの特徴量を集約する。集約器AGは、例えば複数の分割画像SGのそれぞれの特徴量を重み付けして加算する。第1分類器CL1は、集約された特徴量に基づいて、複数の分割画像SGの分割元である第1画像IM1のクラスを出力する。第1分類器CL1は、例えば人工ニューラルネットワークである。
【0035】
第2学習モデルLM2は、第2抽出器EX2および第2分類器CL2を有し、第1学習モデルを用いて学習される。第2抽出器EX2は、第2画像IM2の特徴量を抽出する。第2抽出器EX2は、第1抽出器EX1のパラメータを転移可能なモデルであり、例えば第1抽出器EX1と同一の層構成を有する畳み込みニューラルネットワークである。第2分類器CL2は、抽出された特徴量に基づいて、第2画像IM2のクラスを出力する。第2分類器CL2は、第1分類器CL1のパラメータを転移可能なモデルであり、例えば第1分類器CL1と同一の層構成を有する人工ニューラルネットワークである。
【0036】
識別器DCは、入力された特徴量が集約器AGによって集約された複数の分割画像SGの特徴量、および第2抽出器EX2によって抽出された第2画像IM2の特徴量のいずれであるかを識別して識別結果を出力する。識別器DCは、例えば人工ニューラルネットワークである。識別結果は、例えば、特徴量が集約器AGによって集約されたものであるか否かを示す2要素のone-hotベクトルである。
【0037】
図3は、モデル生成装置2によって実行される第1モデル生成処理の流れの例を示すフロー図である。第1モデル生成処理は、第1学習モデルLM1を用いて第2学習モデルLM2を学習させる処理である。第1モデル生成処理は、記憶部21に記憶されたプログラムに基づいて、処理部23がモデル生成装置2の他の構成と協働することにより実現される。
【0038】
最初に、第1学習部231は、複数の分割画像SGが入力された場合に第1画像IM1のクラスを出力するように第1学習モデルLM1の第1抽出器EX1、集約器AGおよび第1分類器CL1を学習させる第1事前学習処理を実行する(ステップS101)。第1事前学習処理の詳細は後述する。
【0039】
次に、ステップS102-S105において、第2学習部232は、第1学習モデルを用いて、第2画像IM2が入力された場合に第2画像IM2のクラスを出力するように第2学習モデルLM2を学習させる。
【0040】
まず、第2学習部232は、第2抽出器EX2および第2分類器CL2の初期パラメータを設定する(ステップS102)。第2学習部232は、第1事前学習処理において学習された第1抽出器EX1のパラメータを第2抽出器EX2の初期パラメータとして設定する。また、第2学習部232は、第1事前学習処理において学習された第1分類器CL1のパラメータを第2分類器CL2のパラメータとして設定する。
【0041】
次に、第2学習部232は、入力された特徴量が集約器AGにより集約された特徴量であるか否かを識別するように識別器DCを学習させる第1識別学習処理を実行する(ステップS103)。第1識別学習処理の詳細は後述する。
【0042】
次に、第2学習部232は、第2抽出器EX2を学習させる抽出学習処理を実行する(ステップS104)。第2抽出器EX2は、第2画像IM2が入力された場合に第2画像IM2の特徴量を抽出するとともに、抽出された特徴量が集約器AGによって集約された特徴量であると識別器DCが誤って識別するように学習される。抽出学習処理の詳細は後述する。
【0043】
次に、第2学習部232は、第2学習モデルLM2の学習の終了条件が満たされたか否かを判定する(ステップS105)。終了条件は、例えば所定回数だけ第1識別学習処理および抽出学習処理が実行されたことである。終了条件は、第1識別学習処理または抽出学習処理におけるパラメータの変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0044】
終了条件が満たされていない場合(ステップS105-No)、第1モデル生成処理はステップS103に戻る。すなわち、第2学習部232は、第1識別学習処理と抽出学習処理とを交互に実行する。第1識別学習処理および抽出学習処理は、それぞれ第1学習および第2学習の一例である。なお、ステップS103より前にステップS104が実行されてもよい。
【0045】
終了条件が満たされた場合(ステップS105-Yes)、出力部233は学習された第2学習モデルLM2を出力する(ステップS106)。例えば、出力部233は、通信部22を介して、第2学習モデルを画像分類装置3に送信する。以上で、第1モデル生成処理が終了する。
【0046】
図4は、第1事前学習処理の流れの例を示すフロー図である。第1事前学習処理は、第1モデル生成処理のステップS101において実行される。
【0047】
最初に、第1学習部231は、教師データを取得する(ステップS201)。第1事前学習処理における教師データは、複数の第1画像IM1と各第1画像IM1のクラスとが関連付けられたデータである。第1学習部231は、あらかじめ記憶部21に記憶された教師データを取得する。第1学習部231は、通信部22を介して他の装置から教師データを取得してもよい。
【0048】
次に、第1学習部231は、取得した教師データに含まれる第1画像IM1を分割して、それぞれが第2の画素数を有する複数の分割画像SGを生成する(ステップS202)。複数の分割画像SGは、第1画像IM1の全ての画素に対応する画素が少なくとも一つの分割画像SGに含まれるように生成される。すなわち、第1画像IM1の全ての領域が少なくとも一つの分割画像に含まれる。また、各分割画像SGに対応する領域の一部は相互に重なっていてもよい。
【0049】
次に、第1学習部231は、第1抽出器EX1に各分割画像SGを入力することにより、各分割画像SGの特徴量を抽出する(ステップS203)。第1学習部231は、複数の分割画像SGを第1抽出器EX1に入力し、第1抽出器EX1によって抽出された特徴量を取得する。第1学習部231は、複数の分割画像SGと抽出された特徴量とを関連付ける。
【0050】
次に、第1学習部231は、抽出された複数の分割画像SGの特徴量を集約器AGに入力することにより集約する(ステップS204)。例えば、集約器AGは、複数の分割画像SGの特徴量を重み付けして加算することにより集約する。第1学習部231は、集約器AGによって集約された特徴量を取得する。
【0051】
次に、第1学習部231は、集約された特徴量を第1分類器CL1に入力することにより第1画像IM1のクラスを出力する(ステップS205)。例えば、第1分類器CL1は、各要素の値が0以上1以下である2要素のベクトルをクラスとして出力する。第1分類器CL1は、要素の値が0以上1以下である1要素のベクトル(スカラー値)をクラスとして出力してもよい。
【0052】
次に、第1学習部231は、教師データに含まれる第1画像IM1のクラスと、第1分類器CL1から出力されたクラスとに基づいて、損失を算出する(ステップS206)。損失は、教師データに含まれる第1画像IM1のクラスと、第1分類器CL1から出力されたクラスとの間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。
【0053】
次に、第1学習部231は、第1学習モデルLM1のパラメータを更新する(ステップS207)。第1学習部231は、第1学習モデルLM1の第1抽出器EX1、集約器AGおよび第1分類器CL1のうちの少なくとも一つのパラメータを更新する。パラメータは、ステップS206で算出される損失が小さくなるように更新される。パラメータは、例えば誤差逆伝搬法、および最急降下法または確率的勾配降下法等の勾配降下法によって更新される。
【0054】
次に、第1学習部231は、第1学習モデルLM1の学習の終了条件が満たされているか否かを判定する(ステップS208)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0055】
終了条件が満たされていない場合(ステップS208-No)、第1事前学習処理はステップS201に戻り、第1学習部231は再び教師データを取得する。
【0056】
終了条件が満たされた場合(ステップS208-Yes)、第1事前学習処理が終了する。
【0057】
なお、上述した説明では、第1事前学習処理は一つの教師データが入力されるごとにパラメータが更新される、いわゆるオンライン学習の処理であるものとしたが、このような例に限られない。第1事前学習処理は、複数の教師データが入力されるごとにパラメータが更新される、いわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS201-S205の処理がバッチサイズに相当する回数だけ繰り返された後にステップS206-S208の処理が実行される。
【0058】
図5は、第1識別学習処理の流れの例を示すフロー図である。第1識別学習処理は、第1モデル生成処理のステップS103において実行される。
【0059】
最初に、第2学習部232は、教師データを取得する(ステップS301)。第1識別学習処理における教師データは、特徴量とラベルとが関連付けられたデータである。ラベルは、特徴量が集約器AGによって集約されたものであるか否かを示す要素と、第2抽出器EX2によって出力された特徴量であるか否かを示す要素とを含む2要素のベクトルである。
【0060】
教師データに含まれる特徴量は、第1学習モデルLM1および第2学習モデルLM2にそれぞれ第1画像IM1および第2画像IM2を入力することにより取得される。集約器AGによって集約された特徴量は、第1事前学習処理によってパラメータが更新された第1抽出器EX1および集約器AGを用いて取得される。第2抽出器EX2によって抽出された特徴量は、第1事前学習処理によって更新された第1抽出器EX1のパラメータを初期パラメータとして設定された第2抽出器EX2を用いて取得される。
【0061】
なお、特徴量を取得するために用いられる第1画像IM1は、第1事前学習処理において教師データに含まれる第1画像IM1と同一の画像でもよく、異なる画像でもよい。また、特徴量を取得するために用いられる第2画像IM2は、後述する抽出学習処理において教師データに含まれる第2画像IM2と同一の画像でもよく、異なる画像でもよい。
【0062】
次に、第2学習部232は、教師データに含まれる特徴量を識別器DCに入力することにより、識別結果を出力する(ステップS302)。例えば、識別器DCは、各要素の値が0以上1以下である2要素のベクトルを識別結果として出力する。
【0063】
次に、第2学習部232は、教師データに含まれるラベルと、識別器DCから出力された識別結果とに基づいて、損失を算出する(ステップS303)。損失は、教師データに含まれるラベルと、識別器DCから出力された識別結果との間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。
【0064】
次に、第2学習部232は、識別器DCのパラメータを更新する(ステップS304)。パラメータは、ステップS303で算出される損失が小さくなるように更新される。パラメータは、例えば誤差逆伝搬法、および最急降下法または確率的勾配降下法等の勾配降下法によって更新される。
【0065】
次に、第2学習部232は、識別器DCの学習の終了条件が満たされているか否かを判定する(ステップS305)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0066】
終了条件が満たされていない場合(ステップS305-No)、第1識別学習処理はステップS301に戻り、第2学習部232は再び教師データを取得する。
【0067】
終了条件が満たされた場合(ステップS305-Yes)、第1識別学習処理が終了する。
【0068】
なお、上述した説明では、第1識別学習処理はいわゆるオンライン学習の処理であるものとしたが、第1識別学習処理はいわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS301-S302の処理がバッチサイズに相当する回数だけ繰り返された後にステップS303-S305の処理が実行される。
【0069】
図6は、抽出学習処理の流れの例を示すフロー図である。抽出学習処理は、第1モデル生成処理のステップS104において実行される。
【0070】
最初に、第2学習部232は、教師データを取得する(ステップS401)。抽出学習処理における教師データは、複数の第2画像IM2と各第2画像IM2のクラスとが関連付けられたデータである。第2学習部232は、あらかじめ記憶部21に記憶された教師データを取得する。第2学習部232は、通信部22を介して他の装置から教師データを取得してもよい。
【0071】
次に、第2学習部232は、第2抽出器EX2に第2画像IM2を入力することにより、第2画像IM2の特徴量を抽出する(ステップS402)。第2学習部232は、第2画像IM2を第2抽出器EX2に入力し、第2抽出器EX2によって抽出された特徴量を取得する。
【0072】
次に、第2学習部232は、抽出された特徴量を第2分類器CL2に入力することにより第2画像IM2のクラスを出力する(ステップS403)。例えば、第2分類器CL2は、各要素の値が0以上1以下である2要素のベクトルをクラスとして出力する。第2分類器CL2は、要素の値が0以上1以下である1要素のベクトル(スカラー値)をクラスとして出力してもよい。
【0073】
次に、第2学習部232は、抽出された特徴量を識別器DCに入力することにより、識別結果を出力する(ステップS404)。例えば、識別器DCは、各要素の値が0以上1以下である2要素のベクトルを識別結果として出力する。
【0074】
次に、第2学習部232は、教師データに含まれる第2画像IM2のクラス、第2分類器CL2から出力されたクラス、および識別器DCから出力された識別結果に基づいて、損失を算出する(ステップS405)。損失は、第1損失および第2損失を含み、例えば第1損失および第2損失の重み付け和である。
【0075】
第1損失は、教師データに含まれる第2画像IM2のクラスと第2分類器CL2から出力されたクラスとの間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。第2損失は、識別器DCから出力された識別結果の誤差が小さいほど大きくなる値である。抽出学習処理における特徴量は第2抽出器EX2によって抽出されたものであるため、集約器AGによって集約された特徴量であることを示す識別結果についての第2損失は小さくなり、第2抽出器EX2によって抽出された特徴量であることを示す識別結果についての第2損失は大きくなる。すなわち、第2損失は、第2抽出器EX2が抽出した特徴量が識別器DCをどの程度欺くことができているかを示す、いわゆる敵対損失である。第2損失は、例えばクロスエントロピー誤差の負値である。
【0076】
次に、第2学習部232は、第2抽出器EX2のパラメータを更新する(ステップS406)。パラメータは、ステップS405で算出される損失が小さくなるように更新される。パラメータは、例えば誤差逆伝搬法、および最急降下法または確率的勾配降下法等の勾配降下法によって更新される。
【0077】
次に、第2学習部232は、第2抽出器EX2の学習の終了条件が満たされているか否かを判定する(ステップS407)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0078】
終了条件が満たされていない場合(ステップS407-No)、抽出学習処理はステップS401に戻り、第2学習部232は再び教師データを取得する。
【0079】
終了条件が満たされた場合(ステップS407-Yes)、抽出学習処理が終了する。
【0080】
なお、上述した説明では、抽出学習処理はいわゆるオンライン学習の処理であるものとしたが、抽出学習処理はいわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS401-S404の処理がバッチサイズに相当する回数だけ繰り返された後にステップS405-S407の処理が実行される。
【0081】
以上説明したように、モデル生成装置2は、第1学習モデルを、第1の画素数を有する第1画像を分割して生成された、それぞれが第2の画素数を有する複数の分割画像が入力された場合に第1画像のクラスを出力するように学習させる。また、モデル生成装置2は、第1学習モデルを用いて、第2学習モデルを、第2画像が入力された場合に第2画像のクラスを出力するように学習させる。第1画像を第2の画素数を有する複数の分割画像に分割して学習させることにより、第1学習モデルに含まれる第1抽出器と第2学習モデルに含まれる第2抽出器とに同一の構成の学習モデルを用いることができる。したがって、モデル生成装置2は、異なる画素数の画像を用いて画像分類モデルを効率的に学習させることを可能とする。
【0082】
また、モデル生成装置2は、学習された第1抽出器のパラメータを第2抽出器の初期パラメータとして設定する。これにより、モデル生成装置2は、第1抽出器のパラメータを第2抽出器に転移して、画像分類モデルをより効率的に学習させることを可能とする。
【0083】
また、モデル生成装置2は、集約器により集約された特徴量と第2抽出器により抽出された特徴量とを用いて識別器を学習させる識別学習処理と、第2画像を用いて第2抽出器を学習させる抽出学習処理とを交互に実行する。高い画素数を有する第1画像から抽出された特徴量は、低い画素数を有する第2画像から抽出された特徴量よりも画像の特徴を適切に反映していると考えられる。モデル生成装置2は、第2画像から抽出された特徴量が第1画像から抽出された特徴量に近づくように第2抽出器を学習させることにより、画像分類モデルの分類精度を高めることを可能とする。
【0084】
また、第1画像および第2画像は、同一の広さの受容野を有する。これにより、樹木が枯死している領域のように、画像を分類するときに着目すべき領域が同一のスケールで画像に表示されるようになるため、パラメータが転移された第2抽出器が第2画像から特徴量を適切に抽出できるようになる。第1画像および第2画像が同一の広さの受容野を有することにより、モデル生成装置2は第2抽出器の初期パラメータを適切に設定し、第2抽出器を効率的に学習させることを可能とする。
【0085】
図7は、第2モデル生成処理を実行するモデル生成装置2の記憶部21に記憶される学習モデルの例について説明するための模式図である。記憶部21は、第3の画素数を有する第3画像のクラスを出力する第3学習モデルLM3、第3の画素数よりも大きい第4の画素数を有する第4画像のクラスを出力する第4学習モデルLM4、および識別器DCを記憶する。第3画像および第4画像は、同一の広さの受容野を有する。モデル生成装置2は、第2モデル生成処理において、第4学習モデルLM4を学習させて出力する。
【0086】
第3学習モデルLM3は、第3抽出器EX3および第3分類器CL3を有する。第3抽出器EX3は、第3画像IM3の特徴量を抽出する。第3抽出器EX3は、例えば畳み込みニューラルネットワークである。第3分類器CL3は、抽出された特徴量に基づいて、第3画像IM3のクラスを出力する。第3分類器CL3は、例えば人工ニューラルネットワークである。
【0087】
第4学習モデルLM4は、第4抽出器EX4、集約器AGおよび第4分類器CL4を有する。第4抽出器EX4は、第4画像IM4を分割して生成された、第3の画素数を有する複数の分割画像SGのそれぞれの特徴量を抽出する。第4抽出器EX4は、第3抽出器EX3のパラメータを転移可能なモデルであり、例えば第3抽出器EX3と同一の層構成を有する畳み込みニューラルネットワークである。集約器AGは、複数の分割画像SGの特徴量を集約する。第4分類器CL4は、集約された特徴量に基づいて、複数の分割画像SGの分割元である第4画像IM4のクラスを出力する。第4分類器CL4は、第3分類器CL3のパラメータを転移可能なモデルであり、例えば第3分類器CL3と同一の層構成を有する人工ニューラルネットワークである。
【0088】
識別器DCは、入力された特徴量が第3抽出器EX3によって抽出された第3画像IM3の特徴量、および集約器AGによって集約された複数の分割画像SGの特徴量のいずれであるかを識別して識別結果を出力する。
【0089】
図8は、モデル生成装置2によって実行される第2モデル生成処理の流れの例を示すフロー図である。第2モデル生成処理は、第3学習モデルLM3を用いて第4学習モデルLM4を学習させる処理である。第2モデル生成処理は、記憶部21に記憶されたプログラムに基づいて、処理部23がモデル生成装置2の他の構成と協働することにより実現される。
【0090】
最初に、第1学習部231は、第3画像IM3が入力された場合に第3画像IM3のクラスを出力するように第3学習モデルLM3の第3抽出器EX3および第3分類器CL3を学習させる第2事前学習処理を実行する(ステップS501)。第2事前学習処理の詳細は後述する。
【0091】
次に、ステップS502-S505において、第2学習部232は、第3学習モデルLM3を用いて、第4画像IM4が入力された場合に第4画像IM4のクラスを出力するように第4学習モデルLM4を学習させる。
【0092】
まず、第2学習部232は、第4抽出器EX4および第4分類器CL4の初期パラメータを設定する(ステップS502)。第2学習部232は、第2事前学習処理において学習された第3抽出器EX3のパラメータを第4抽出器EX4の初期パラメータとして設定する。また、第2学習部232は、第2事前学習処理において学習された第3分類器CL3のパラメータを第4分類器CL4のパラメータとして設定する。
【0093】
次に、第2学習部232は、入力された特徴量が第3抽出器EX3により抽出された特徴量であるか否かを識別するように識別器DCを学習させる第2識別学習処理を実行する(ステップS503)。第2識別学習処理の詳細は後述する。
【0094】
次に、第2学習部232は、第4抽出器EX4および集約器AGを学習させる抽出集約学習処理を実行する(ステップS504)。第4抽出器EX4および集約器AGは、第4画像IM4の分割画像SGが入力された場合に各分割画像SGの特徴量を抽出して集約するとともに、集約された特徴量が第3抽出器EX3によって抽出された特徴量であると識別器DCが誤って識別するように学習される。抽出集約学習処理の詳細は後述する。
【0095】
次に、第2学習部232は、第4学習モデルLM4の学習の終了条件が満たされたか否かを判定する(ステップS505)。終了条件は、例えば所定回数だけ第2識別学習処理および抽出集約学習処理が実行されたことである。終了条件は、第2識別学習処理または抽出集約学習処理におけるパラメータの変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0096】
終了条件が満たされていない場合(ステップS505-No)、第2モデル生成処理はステップS503に戻る。すなわち、第2学習部232は、第2識別学習処理と抽出集約学習処理とを交互に実行する。第2識別学習処理および抽出集約学習処理は、それぞれ第1学習および第2学習の他の一例である。なお、ステップS503より前にステップS504が実行されてもよい。
【0097】
終了条件が満たされた場合(ステップS505-Yes)、出力部233は学習された第4学習モデルLM4を出力する(ステップS506)。例えば、出力部233は、通信部22を介して、第4学習モデルを画像分類装置3に送信する。以上で、第2モデル生成処理が終了する。
【0098】
図9は、第2事前学習処理の流れの例を示すフロー図である。第2事前学習処理は、第2モデル生成処理のステップS501において実行される。
【0099】
最初に、第1学習部231は、教師データを取得する(ステップS601)。第2事前学習処理における教師データは、複数の第3画像IM3と各第3画像IM3のクラスとが関連付けられたデータである。
【0100】
次に、第1学習部231は、第3抽出器EX3に第3画像IM3を入力することにより、第3画像IM3の特徴量を抽出する(ステップS602)。
【0101】
次に、第1学習部231は、抽出された特徴量を第3分類器CL3に入力することにより第3画像IM3のクラスを出力する(ステップS603)。例えば、第3分類器CL3は、各要素の値が0以上1以下である2要素のベクトルをクラスとして出力する。第3分類器CL3は、要素の値が0以上1以下である1要素のベクトル(スカラー値)をクラスとして出力してもよい。
【0102】
次に、第1学習部231は、教師データに含まれる第3画像IM3のクラスと、第3分類器CL3から出力されたクラスとに基づいて、損失を算出する(ステップS604)。損失は、教師データに含まれる第3画像IM3のクラスと、第3分類器CL3から出力されたクラスとの間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。
【0103】
次に、第1学習部231は、第3学習モデルLM3のパラメータを更新する(ステップS605)。第1学習部231は、第3学習モデルLM3の第3抽出器EX3および第3分類器CL3のうちの少なくとも一つのパラメータを更新する。パラメータは、ステップS604で算出される損失が小さくなるように更新される。パラメータは、例えば誤差逆伝搬法、および最急降下法または確率的勾配降下法等の勾配降下法によって更新される。
【0104】
次に、第1学習部231は、第3学習モデルLM3の学習の終了条件が満たされているか否かを判定する(ステップS606)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0105】
終了条件が満たされていない場合(ステップS606-No)、第2事前学習処理はステップS601に戻り、第1学習部231は再び教師データを取得する。
【0106】
終了条件が満たされた場合(ステップS606-Yes)、第2事前学習処理が終了する。
【0107】
なお、上述した説明では、第2事前学習処理はいわゆるオンライン学習の処理であるものとしたが、第2事前学習処理はいわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS601-S603の処理がバッチサイズに相当する回数だけ繰り返された後にステップS604-S605の処理が実行される。
【0108】
図10は、第2識別学習処理の流れの例を示すフロー図である。第2識別学習処理は、第2モデル生成処理のステップS503において実行される。
【0109】
最初に、第2学習部232は、教師データを取得する(ステップS701)。第2識別学習処理における教師データは、特徴量とラベルとが関連付けられたデータである。第1識別学習処理における教師データは、特徴量とラベルとが関連付けられたデータである。ラベルは、特徴量が第3抽出器EX3によって集約されたものであるか否かを示す要素と、集約器AGによって出力された特徴量であるか否かを示す要素とを含む2要素のベクトルである。
【0110】
教師データに含まれる特徴量は、第3学習モデルLM3および第4学習モデルLM4にそれぞれ第3画像IM3および第4画像IM4を入力することにより取得される。第3抽出器EX3によって抽出された特徴量は、第2事前学習処理によってパラメータが更新された第3抽出器EX3を用いて取得される。集約器AGによって集約された特徴量は、第2事前学習処理によって更新された第3抽出器EX3のパラメータを初期パラメータとして設定された第4抽出器EX4および集約器AGを用いて取得される。集約器AGの初期パラメータは、既定値であってもよく、ランダムに設定されてもよい。
【0111】
なお、特徴量を取得するために用いられる第3画像IM3は、第2事前学習処理において教師データに含まれる第3画像IM3と同一の画像でもよく、異なる画像でもよい。また、特徴量を取得するために用いられる第4画像IM4は、後述する抽出集約学習処理において教師データに含まれる第4画像IM4と同一の画像でもよく、異なる画像でもよい。
【0112】
次に、第2学習部232は、教師データに含まれる特徴量を識別器DCに入力することにより、識別結果を出力する(ステップS702)。例えば、識別器DCは、各要素の値が0以上1以下である2要素のベクトルを識別結果として出力する。
【0113】
次に、第2学習部232は、教師データに含まれるラベルと、識別器DCから出力された識別結果とに基づいて、損失を算出する(ステップS703)。損失は、教師データに含まれるラベルと、識別器DCから出力された識別結果との間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。
【0114】
次に、第2学習部232は、識別器DCのパラメータを更新する(ステップS704)。パラメータは、ステップS703で算出される損失が小さくなるように更新される。パラメータは、例えば誤差逆伝搬法、および最急降下法または確率的勾配降下法等の勾配降下法によって更新される。
【0115】
次に、第2学習部232は、識別器DCの学習の終了条件が満たされているか否かを判定する(ステップS705)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0116】
終了条件が満たされていない場合(ステップS705-No)、第2識別学習処理はステップS701に戻り、第2学習部232は再び教師データを取得する。
【0117】
終了条件が満たされた場合(ステップS705-Yes)、第2識別学習処理が終了する。
【0118】
なお、上述した説明では、第2識別学習処理はいわゆるオンライン学習の処理であるものとしたが、第2識別学習処理はいわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS701-S702の処理がバッチサイズに相当する回数だけ繰り返された後にステップS703-S705の処理が実行される。
【0119】
図11は、抽出集約学習処理の流れの例を示すフロー図である。抽出集約学習処理は、第2モデル生成処理のステップS504において実行される。
【0120】
最初に、第2学習部232は、教師データを取得する(ステップS801)。抽出集約学習処理における教師データは、複数の第4画像IM4と各第4画像IM4のクラスとが関連付けられたデータである。
【0121】
次に、第2学習部232は、取得した教師データに含まれる第4画像IM4を分割して、それぞれが第3の画素数を有する複数の分割画像SGを生成する(ステップS802)。
【0122】
次に、第2学習部232は、第4抽出器EX4に各分割画像SGを入力することにより、各分割画像SGの特徴量を抽出する(ステップS803)。第2学習部232は、複数の分割画像SGと抽出された特徴量とを関連付けて記憶する。
【0123】
次に、第2学習部232は、抽出された複数の分割画像SGの特徴量を集約器AGに入力することにより集約する(ステップS804)。第2学習部232は、集約器AGによって集約された特徴量を取得する。
【0124】
次に、第2学習部232は、集約された特徴量を第4分類器CL4に入力することにより第4画像IM4のクラスを出力する(ステップS805)。例えば、第4分類器CL4は、各要素の値が0以上1以下である2要素のベクトルをクラスとして出力する。第4分類器CL4は、要素の値が0以上1以下である1要素のベクトル(スカラー値)をクラスとして出力してもよい。
【0125】
次に、第2学習部232は、集約された特徴量を識別器DCに入力することにより、識別結果を出力する(ステップS806)。
【0126】
次に、第2学習部232は、教師データに含まれる第4画像IM4のクラス、第4分類器CL4から出力されたクラス、および識別器DCから出力された識別結果に基づいて、損失を算出する(ステップS807)。損失は、第3損失および第4損失を含み、例えば第3損失および第4損失の重み付け和である。
【0127】
第3損失は、教師データに含まれる第4画像IM4のクラスと第4分類器CL4から出力されたクラスとの間の差異の大きさを示す値であり、例えばクロスエントロピー誤差である。第4損失は、識別器DCから出力された識別結果の誤差が小さいほど大きくなる値である。抽出集約学習処理における特徴量は集約器AGによって集約されたものであるため、第3抽出器EX3によって抽出された特徴量であることを示す識別結果についての第4損失は小さくなり、集約器AGによって集約された特徴量であることを示す識別結果についての第4損失は大きくなる。すなわち、第4損失は、集約器AGが集約した特徴量が識別器DCをどの程度欺くことができているかを示す、いわゆる敵対損失である。第4損失は、例えばクロスエントロピー誤差の負値である。
【0128】
次に、第2学習部232は、第4抽出器EX4および集約器AGのうちの少なくとも一つのパラメータを更新する(ステップS808)。パラメータは、ステップS807で算出される損失が小さくなるように更新される。
【0129】
次に、第2学習部232は、第4学習モデルLM4の学習の終了条件が満たされているか否かを判定する(ステップS809)。終了条件は、例えばパラメータの更新が所定回数だけ行われたことである。終了条件は、パラメータの更新による変化量が閾値未満であることでもよい。終了条件は、上述した複数の条件のうちの少なくとも一つが満たされること、または全てが満たされることでもよい。
【0130】
終了条件が満たされていない場合(ステップS809-No)、抽出集約学習処理はステップS801に戻り、第2学習部232は再び教師データを取得する。
【0131】
終了条件が満たされた場合(ステップS809-Yes)、抽出集約学習処理が終了する。
【0132】
なお、上述した説明では、抽出集約処理はいわゆるオンライン学習の処理であるものとしたが、このような例に限られない。抽出集約学習処理は、いわゆるミニバッチ学習またはバッチ学習の処理でもよい。この場合、ステップS801-S806の処理がバッチサイズに相当する回数だけ繰り返された後にステップS807-S809の処理が実行される。
【0133】
以上説明したように、モデル生成装置2は、第3学習モデルを、第3画像が入力された場合に第3画像のクラスを出力するように学習させる。また、モデル生成装置2は、第3学習モデルを用いて、第4学習モデルを、第4の画素数を有する第4画像を分割して生成された、それぞれが第3の画素数を有する複数の分割画像が入力された場合に第4画像のクラスを出力するように学習させる。第4画像を第3の画素数を有する複数の分割画像に分割して学習させることにより、第3学習モデルに含まれる第3抽出器と第3学習モデルに含まれる第2抽出器とに同一の構成の学習モデルを用いることができる。したがって、モデル生成装置2は、異なる画素数の画像を用いて画像分類モデルを効率的に学習させることを可能とする。
【0134】
図12は、画像分類装置3によって実行される画像分類処理の流れの例を示すフロー図である。画像分類処理は、第1モデル生成処理において出力された第2学習モデルまたは第2モデル生成処理において出力された第4学習モデルを用いて、画像分類装置3が画像を分類する処理である。画像分類処理は、第2学習モデルまたは第4学習モデルが記憶部31に記憶された状態で実行される。画像分類処理は、記憶部31に記憶されたプログラムに基づいて、処理部33が画像分類装置3の他の構成と協働することにより実現される。
【0135】
最初に、取得部331は、分類される画像を取得する(ステップS901)。分類される画像は、記憶部31に記憶されている学習モデルに応じた画素数の画像である。すなわち、記憶部31に第2学習モデルが記憶されている場合には、分類される画像は第2の解像度の画像であり、第4学習モデルが記憶されている場合には、分類される画像は第4の解像度の画像である。取得部331は、通信部32を介して、分類される画像を受信することにより取得する。
【0136】
次に、分類部332は、記憶部31に記憶された学習済みモデルを用いて、取得した画像を分類する(ステップS902)。分類部332は、取得した画像を学習済みモデルに入力し、学習済みモデルから出力されたクラスに基づいて画像を分類する。例えば、分類部332は、学習済みモデルから出力されたクラスである2要素のベクトルのうち大きい値を有する要素に対応するクラスに画像を分類する。
【0137】
次に、出力部333は、分類結果を出力する(ステップS903)。出力部333は、通信部32を介して、他の装置に分類結果を送信することにより出力する。分類結果は、学習済みモデルから出力されたクラス自体でもよい。以上で、画像分類処理が終了する。
【0138】
以上説明したように、画像分類装置3は、第1モデル生成処理または第2モデル生成処理において出力された学習済みモデルを記憶し、画像を学習済みモデルに入力することにより画像を分類する。このようにすることで、画像分類装置3は、分類対象の画像とは異なる画素数の画像に基づいて分類対象の画像を適切に分類することを可能とする。
【0139】
画像生成システム1には、次のような変形例が適用されてもよい。
【0140】
上述した説明では、第1モデル生成処理のステップS102において、第2学習部232が第1抽出器および第1分類器のパラメータを第2抽出器および第2分類器の初期パラメータとして設定するものとしたが、このような例に限られない。第2抽出器および第2分類器のパラメータは、第1抽出器および第1分類器のパラメータとは関わりなく既定値に設定されてもよい。このようにしても、第1識別学習処理および抽出学習処理において第2抽出器によって抽出される特徴量が集約器によって集約された特徴量に近づくように第2抽出器が学習されるため、異なる画素数の画像を用いて学習モデルを効率的に学習させることが可能となる。
【0141】
同様に、第4抽出器および第4分類器のパラメータは、第3抽出器および第3分類器のパラメータとは関わりなく既定値に設定されてもよい。このようにしても、異なる画素数の画像を用いて学習モデルを効率的に学習させることが可能となる。
【0142】
上述した説明では、第1抽出器および第2抽出器が同一の構成を有する学習モデルであるものとしたが、このような例に限られない。第1抽出器と第2抽出器とは、異なる構成を有する学習モデルでもよい。例えば、第1抽出器と第2抽出器とは、異なる層数またはノード数を有する畳み込みニューラルネットワークであってよい。この場合、ステップS102において、第2学習部232は、第1抽出器のパラメータの一部を第2抽出器の初期パラメータとして設定し、または第1抽出器のパラメータを第2抽出器の初期パラメータの一部として設定してもよい。
【0143】
同様に、第3抽出器と第4抽出器とは、異なる構成を有する学習モデルでもよい。この場合、第2モデル生成処理のステップS502において、第2学習部232は、第1抽出器のパラメータの一部を第2抽出器の初期パラメータとして設定し、または第1抽出器のパラメータを第2抽出器の初期パラメータの一部として設定してもよい。
【0144】
上述した説明では、第1事前学習処理のステップS204において、集約器は各分割画像から抽出された特徴量を重み付け加算して集約するものとしたが、このような例に限られない。例えば、集約器は、各分割画像から抽出された特徴量の差分をとることにより特徴量を集約してもよい。また、集約器は、各分割画像から抽出された特徴量を結合することにより集約してもよい。例えば、集約器は、各分割画像から抽出された特徴量ベクトルを複数の分割画像の位置関係に基づいて空間方向に結合する。集約器は、各分割画像から抽出された特徴量ベクトルを各チャネルの特徴量とする複数のチャネルからなる特徴量を算出してもよい。
【0145】
同様に、第2事前学習処理のステップS604において、集約器は、各分割画像から抽出された特徴量の差分をとることにより特徴量を集約してもよい。また、集約器は、各分割画像から抽出された特徴量を結合することにより集約してもよい。
【0146】
上述した説明では、記憶部21が識別器DCを記憶するものとしたが、このような例に限られず、記憶部21は識別器DCを記憶しなくてもよい。この場合、第1モデル生成処理のステップS103の第1識別学習処理および第2モデル生成処理のステップS503の第2識別学習処理は省略されてもよい。このようにしても、抽出器のパラメータの転移により、異なる画素数の画像を用いて学習モデルを効率的に学習させることが可能となる。
【0147】
上述した説明では、第1学習モデルLM1および第2学習モデルLM2は、画像のクラスとして、樹木が枯死している領域が画像に含まれているか否かを出力するものとしたが、このような例に限られない。画像のクラスは、任意の基準に基づく画像の分類であってよい。また、3個以上の画像のクラスが設定されてもよい。この場合、第1学習モデルLM1および第2学習モデルLM2は、画像のクラスの個数に等しい要素を有するベクトルを出力する。
【0148】
上述したモデル生成装置2または画像分類装置3の機能は、複数の装置によって実現されてもよい。
【0149】
当業者は、本発明の範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。例えば、上述した実施形態及び変形例は、本発明の範囲において、適宜に組み合わせて実施されてもよい。
【符号の説明】
【0150】
2 モデル生成装置
231 第1学習部
232 第2学習部
233 出力部
【手続補正書】
【提出日】2024-04-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させる第1学習部と、
前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させる第2学習部と、
前記学習された第2学習モデルを出力する出力部と、を有し、
前記第1学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習部は、入力された特徴量が前記集約器により集約された前記複数の分割画像の特徴量であるか否かを識別するように学習された識別器に、前記第2抽出器により抽出された前記第2画像の特徴量が入力された場合に、前記第2抽出器により抽出された前記第2画像の特徴量が前記集約器により集約された前記複数の分割画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするモデル生成装置。
【請求項2】
前記第2学習部は、前記第1学習部により学習された第1抽出器のパラメータを前記第2抽出器の初期パラメータとして設定する、
請求項1に記載のモデル生成装置。
【請求項3】
前記第1学習モデルは、前記集約器により集約された特徴量に基づいて前記第1画像のクラスを出力する第1分類器をさらに含み、
前記第2学習モデルは、前記第2抽出器により抽出された特徴量に基づいて前記第2画像のクラスを出力する第2分類器をさらに含み、
前記第2学習部は、前記第1学習部により学習された第1分類器のパラメータを前記第2分類器の初期パラメータとして設定する、
請求項1に記載のモデル生成装置。
【請求項4】
前記第2学習部は、前記集約器により集約された特徴量と前記第2抽出器により抽出された特徴量とを用いて前記識別器を学習させる第1学習と、前記第2画像を用いて前記第2抽出器を学習させる第2学習とを交互に実行する、
請求項1に記載のモデル生成装置。
【請求項5】
前記第1画像および前記第2画像は、同一の受容野を有する画像である、
請求項1に記載のモデル生成装置。
【請求項6】
モデル生成装置によって実行されるモデル生成方法であって、
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させ、
前記学習された第2学習モデルを出力することを含み、
前記第1学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習モデルの学習において、入力された特徴量が前記集約器により集約された前記複数の分割画像の特徴量であるか否かを識別するように学習された識別器に、前記第2抽出器により抽出された前記第2画像の特徴量が入力された場合に、前記第2抽出器により抽出された前記第2画像の特徴量が前記集約器により集約された前記複数の分割画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするモデル生成方法。
【請求項7】
第1の画素数を有する第1画像を分割して生成された、それぞれが前記第1の画素数よりも小さい第2の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第1抽出器を含む第1学習モデルを、前記複数の分割画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第2の画素数を有する第2画像の特徴量を抽出する第2抽出器を含む第2学習モデルを、前記第2画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させ、
前記学習された第2学習モデルを出力することをコンピュータに実行させ、
前記第1学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習モデルの学習において、入力された特徴量が前記集約器により集約された前記複数の分割画像の特徴量であるか否かを識別するように学習された識別器に、前記第2抽出器により抽出された前記第2画像の特徴量が入力された場合に、前記第2抽出器により抽出された前記第2画像の特徴量が前記集約器により集約された前記複数の分割画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするプログラム。
【請求項8】
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させる第1学習部と、
前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させる第2学習部と、
前記学習された第2学習モデルを出力する出力部と、
を有し、
前記第2学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習部は、入力された特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であるか否かを識別するように学習された識別器に、前記集約器により集約された前記複数の分割画像の特徴量が入力された場合に、前記集約器により集約された前記複数の分割画像の特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするモデル生成装置。
【請求項9】
モデル生成装置によって実行されるモデル生成方法であって、
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させ、
前記学習された第2学習モデルを出力することを含み、
前記第2学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習モデルの学習において、入力された特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であるか否かを識別するように学習された識別器に、前記集約器により集約された前記複数の分割画像の特徴量が入力された場合に、前記集約器により集約された前記複数の分割画像の特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするモデル生成方法。
【請求項10】
第1の画素数を有する第1画像の特徴量を抽出する第1抽出器を含む第1学習モデルを、前記第1画像が入力された場合に前記第1画像のクラスを出力するように学習させ、
前記第1の画素数よりも大きい第2の画素数を有する第2画像を分割して生成された、それぞれが前記第1の画素数を有する複数の分割画像のそれぞれの特徴量を抽出する第2抽出器を含む第2学習モデルを、前記複数の分割画像が入力された場合に前記第2画像のクラスを出力するように前記第1学習モデルを用いて学習させ、
前記学習された第2学習モデルを出力することをコンピュータに実行させ、
前記第2学習モデルは、前記複数の分割画像の特徴量を集約する集約器をさらに含み、
前記第2学習モデルの学習において、入力された特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であるか否かを識別するように学習された識別器に、前記集約器により集約された前記複数の分割画像の特徴量が入力された場合に、前記集約器により集約された前記複数の分割画像の特徴量が前記第1抽出器により抽出された前記第1画像の特徴量であると識別されるように前記第2抽出器を学習させる、
ことを特徴とするプログラム。