(57)【要約】【課題】畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる画像分類器を提供する。【解決手段】画像データを分類する画像分類器は、画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、入力層に画像データが入力された場合、画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークと、分類対象の画像データを入力層に入力させる入力部と、分類対象の画像データが入力層に入力されたときの複数のニューロンの活動パターンに基づいて、画像データを分類する分類処理部とを備える。【選択図】図１
2020181404.tif 000002
【特許請求の範囲】
【請求項１】
画像データを分類する画像分類器であって、
前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークと、
分類対象の前記画像データを前記入力層に入力させる入力部と、
分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する分類処理部と
を備える画像分類器。
【請求項２】
前記学習済みニューラルネットワークは、
動画の時系列フレーム画像に基づいて次フレーム画像を予測する学習済みＰｒｅｄＮｅｔ（Deep Predictive Coding Network）を構成する少なくとも一つのニューラルネットワークの全部又は一部を含む
請求項１に記載の画像分類器。
【請求項３】
前記学習済みニューラルネットワークは階層構造を有し、
前記学習済みＰｒｅｄＮｅｔの最下層よりも上位層のニューラルネットワークを含む
請求項２に記載の画像分類器。
【請求項４】
前記学習済みニューラルネットワークは、
前記学習済みＰｒｅｄＮｅｔを構成する複数のニューラルネットワークを含み、
前記分類処理部は、
分類対象の前記画像データが第１の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記画像データが第２の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの活動パターンとに基づいて、前記画像データを分類する
請求項２又は請求項３に記載の画像分類器。
【請求項５】
前記学習済みニューラルネットワークは学習済みオートエンコーダを構成するニューラルネットワークの一部又は全部を含む
請求項１から請求項４のいずれか１項に記載の画像分類器。
【請求項６】
前記複数のニューロンの活動パターンと、前記画像データの分類を示す分類情報との対応関係を記憶する記憶部を備え、
前記分類処理部は、
分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記記憶部が記憶する前記対応関係とに基づいて、前記画像データを分類する
請求項１から請求項５のいずれか１項に記載の画像分類器。
【請求項７】
前記画像データが入力された場合、該画像データの分類を示す分類情報を出力する学習済み畳み込みニューラルネットワークと、
分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記画像データを前記学習済み畳み込みニューラルネットワークに入力して得られる分類情報との対応関係を前記記憶部に記憶させる追加処理部と
を備える請求項６に記載の画像分類器。
【請求項８】
画像データを分類する画像分類方法であって、
前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークを用意し、
分類対象の前記画像データを前記入力層に入力させ、
分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する
画像分類方法。
【請求項９】
コンピュータに、画像データを分類させる処理を実行させるためのコンピュータプログラムであって、
前記コンピュータに、
前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークの前記入力層に、分類対象の前記画像データを入力させ、
分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像分類器、画像分類方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
畳み込みニューラルネットワーク（CNN: Convolutional Neural Network）を用いた画像分類器が実用化されている。畳み込みニューラルネットワークは、教師あり深層学習により、画像の特徴を学習する。
【０００３】
一方、脳科学分野においては、脳が時系列的に入力される感覚刺激を予測し（予測符号化）、効率的な情報処理を実現しているとの理論仮説がある。大脳皮質における予測符号化の処理を模倣した動画像予測モデルとして、ＰｒｅｄＮｅｔ（Predictive Coding Network）と呼ばれるニューラルネットワークが注目されている（例えば、非特許文献１）。学習済みＰｒｅｄＮｅｔは、動画を構成する１枚のフレーム画像から、次のフレーム画像を予測して生成することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】William Lotter, Gabriel Kreiman & David Cox, “DEEP PREDICTIVE CODING NETWORKS FOR VIDEO PREDICTION AND UNSUPERVISED LEARNING”, ICLR 2017
【発明の概要】
【発明が解決しようとする課題】
【０００５】
畳み込みニューラルネットワークの深層学習には、学習用データとして大量のラベル付き画像データを用意する必要があるという技術的問題がある。一般的に、分類対象の画像は極めて多様である。例えば、同じ動物の画像であっても、動物の向き、動き、光の加減によって、画像の特徴は大きく変化する。このため、畳み込みニューラルネットワークを用いても柔軟に正しく対象物を認識し、分類できないケースが発生し得る。あらゆるパターンの学習用データを多量に用意することも考えられるが、適切にニューラルネットワークを学習させることが難しくなる等、限界がある。
【０００６】
本開示の目的は、畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる画像分類器、画像分類方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本態様に係る画像分類器は、画像データを分類する画像分類器であって、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークと、分類対象の前記画像データを前記入力層に入力させる入力部と、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する分類処理部とを備える。
【０００８】
本態様に係る画像分類方法は、画像データを分類する画像分類方法であって、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークを用意し、分類対象の前記画像データを前記入力層に入力させ、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する。
【０００９】
本態様に係るコンピュータプログラムは、コンピュータに、画像データを分類させる処理を実行させるためのコンピュータプログラムであって、前記コンピュータに、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークの前記入力層に、分類対象の前記画像データを入力させ、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する処理を実行させる。
【発明の効果】
【００１０】
本開示によれば、畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる画像分類器、画像分類方法及びコンピュータプログラムを提供することが可能となる。
【００１１】
なお、本願は、このような特徴的な分類処理部を備える画像分類器して実現することができるだけでなく、上記の通り、画像分類器の特徴的な処理をステップとする画像分類方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。また、画像分類器の一部又は全部を実現する半導体集積回路として実現したり、画像分類器を含むその他のシステムとして実現したりすることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は実施形態１に係る画像分類器の構成例を示すブロック図である。
【図２】図２は実施形態１に係る画像分類器のハードウェア構成を示すブロック図である。
【図３】図３は学習済みＰｒｅｄＮｅｔの構成例を示すブロック図である。
【図４】図４は学習済みＰｒｅｄＮｅｔのモジュールを示すブロック図である。
【図５】図５は分類器の学習手順を示すフローチャートである。
【図６】図６は特徴コードの一例を示す概念図である。
【図７】図７は特徴コードの他の例を示す概念図である。
【図８】図８は特徴コードと分類コードとの対応付け方法を示す概念図である。
【図９】図９は実施形態１に係る画像分類処理の手順を示すフローチャートである。
【図１０】図１０は画像分類方法を示す概念図である。
【図１１】図１１は実施形態２に係る画像分類器の構成例を示すブロック図である。
【図１２】図１２は実施形態３に係る学習済みニューラルネットワークを示す概念図である。
【発明を実施するための形態】
【００１３】
［本開示の実施形態の説明］
最初に本開示の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１４】
（１）本態様に係る画像分類器は、画像データを分類する画像分類器であって、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークと、分類対象の前記画像データを前記入力層に入力させる入力部と、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する分類処理部とを備える。
【００１５】
本態様にあっては、分類処理部は、学習済みニューラルネットワークの出力層から出力されるデータでは無く、学習済みニューラルネットワークを構成する複数のニューロンの活動パターンに基づいて、画像データを分類する。
学習済みニューラルネットワークは、入力層に画像データが入力された場合、当該画像データと所定の関連性を有する関連データを出力する機能を潜在的に有する。しかし、本態様においては、学習済みニューラルネットワークから出力される関連データを、基本的に画像分類に利用しない。また、学習済みニューラルネットワークは、必ずしも画像データの分類を目的にして教師あり学習されたものではない。とは言え、学習済みニューラルネットワークは、入力された画像データと所定の関連性を有する関連データを出力するように学習されているため、学習済みニューラルネットワークの中間層は、画像の何らかの特徴を認識する機能を獲得していると予想される。
本態様に係る分類処理部は、画像データが学習済みニューラルネットワークに入力されたときの中間層の活動パターンに基づいて、画像データを分類する。上記学習済みニューラルネットワークは教師なしで様々な画像データの特徴を学習することができ、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００１６】
（２）前記学習済みニューラルネットワークは、動画の時系列フレーム画像に基づいて次フレーム画像を予測する学習済みＰｒｅｄＮｅｔ（DeepPredictiveCodingNetwork）を構成する少なくとも一つのニューラルネットワークの全部又は一部を含む構成が好ましい。
【００１７】
学習済みＰｒｅｄＮｅｔは、動画の特徴を教師なしで学習することができる。学習済みＰｒｅｄＮｅｔは、動画により、画像データの様々な特徴を認識する機能を獲得している。本態様に係る画像分類器は、学習済みＰｒｅｄＮｅｔを構成するニューラルネットワークを用いることにより、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００１８】
（３）前記学習済みニューラルネットワークは階層構造を有し、前記学習済みＰｒｅｄＮｅｔの最下層よりも上位層のニューラルネットワークを含む構成が好ましい。
【００１９】
本態様にあっては、学習済みニューラルネットワークとして、学習済みＰｒｅｄＮｅｔを構成する上位層のニューラルネットワークを利用する。上位層のニューラルネットワークは、画像データのより本質的な特徴を認識し得るものである。本態様に係る画像分類器は、学習済みＰｒｅｄＮｅｔを構成する上位層のニューラルネットワークを用いることにより、より柔軟に対象物を認識し、画像データを分類することができる。
【００２０】
（４）前記学習済みニューラルネットワークは、前記学習済みＰｒｅｄＮｅｔを構成する複数のニューラルネットワークを含み、前記分類処理部は、分類対象の前記画像データが第１の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記画像データが第２の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの活動パターンとに基づいて、前記画像データを分類する構成が好ましい。
【００２１】
本態様にあっては、学習済みニューラルネットワークとして、学習済みＰｒｅｄＮｅｔを構成する複数のニューラルネットワークを利用する。本態様に係る画像分類器は、学習済みＰｒｅｄＮｅｔを構成する複数のニューラルネットワークを用いることにより、より柔軟に対象物を認識し、画像データを分類することができる。
【００２２】
（５）前記学習済みニューラルネットワークは学習済みオートエンコーダを構成するニューラルネットワークの一部又は全部を含む構成が好ましい。
【００２３】
オートエンコーダは、動画の特徴を教師なしで学習することができる。本態様に係る画像分類器は、学習済みオートエンコーダを構成するニューラルネットワークを用いることにより、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００２４】
（６）前記複数のニューロンの活動パターンと、前記画像データの分類を示す分類情報との対応関係を記憶する記憶部を備え、前記分類処理部は、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記記憶部が記憶する前記対応関係とに基づいて、前記画像データを分類する構成が好ましい。
【００２５】
本態様によれば、学習済みニューラルネットワークを構成する複数のニューロンの活動パターンと、記憶部が記憶する対応関係とに基づいて、画像データを分類することができる。
【００２６】
（７）前記画像データが入力された場合、該画像データの分類を示す分類情報を出力する学習済み畳み込みニューラルネットワークと、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンと、前記画像データを前記学習済み畳み込みニューラルネットワークに入力して得られる分類情報との対応関係を前記記憶部に記憶させる追加処理部とを備える構成が好ましい。
【００２７】
本態様によれば、学習済み畳み込みニューラルネットワークを利用することにより、学習済みニューラルネットワークを構成する複数のニューロンの活動パターン、画像データの分類情報とを自動的に対応付け、記憶部に追加することができる。
【００２８】
（８）本態様に係る画像分類方法は、画像データを分類する画像分類方法であって、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークを用意し、分類対象の前記画像データを前記入力層に入力させ、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する。
【００２９】
本態様によれば、態様（１）同様、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００３０】
（９）本態様に係るコンピュータプログラムは、コンピュータに、画像データを分類させる処理を実行させるためのコンピュータプログラムであって、前記コンピュータに、前記画像データが入力される入力層、及び複数のニューロンを含む多層の中間層を備え、前記入力層に前記画像データが入力された場合、該画像データと所定の関連性を有する関連データを出力することが可能な学習済みニューラルネットワークの前記入力層に、分類対象の前記画像データを入力させ、分類対象の前記画像データが前記入力層に入力されたときの前記複数のニューロンの活動パターンに基づいて、前記画像データを分類する処理を実行させる。
【００３１】
本態様によれば、態様（１）同様、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００３２】
［本発明の実施形態の詳細］
本発明の実施形態に係る画像分類器、画像分類方法及びコンピュータプログラムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３３】
以下、本発明をその実施形態を示す図面に基づいて具体的に説明する。
（実施形態１）
図１は実施形態１に係る画像分類器１の構成例を示すブロック図である。実施形態１に係る画像分類器１は、入力部１１と、学習済みニューラルネットワーク１２と、分類処理部１３と、認識データベース１４と、学習済みＣＮＮ（Convolutional  Neural  Network）１５と、出力部１６とを備える。
【００３４】
入力部１１は、分類対象である画像データを外部から取り込むインタフェースである。入力部１１は、入力された画像データを学習済みニューラルネットワーク１２と、学習済みＣＮＮ１５とに与える。
【００３５】
学習済みニューラルネットワーク１２は、入力層１２ａと、中間層（隠れ層）１２ｂと、出力層１２ｃとを備える。中間層１２ｂは、例えば、一又は複数の畳み込み層及びプーリング層を含む。なお中間層１２ｂの一部にドロップアウト層を設けても良い。また、中間層１２ｂは、プーリング層を備えない構成であっても良い。出力層１２ｃは必須の構成では無い。
当該学習済みニューラルネットワーク１２は、動画の時系列フレーム画像に基づいて次フレーム画像を予測する学習済みＰｒｅｄＮｅｔ３を構成しているニューラルネットワークの一部を抜き出して画像分類器１に適用したものである。詳細は後述する。
【００３６】
分類処理部１３は、分類対象の画像データが入力層１２ａに入力されたときの中間層１２ｂの活動パターンに基づいて、画像データを分類する処理を行う。以下、中間層１２ｂを構成する複数のニューロンの活動パターンを特徴コードと呼ぶ。
【００３７】
認識データベース１４は、ＤＢ１４ａ及び追加処理部１４ｂを備える。
ＤＢ１４ａは、ＩＤと、画像データの特徴を表した特徴コードと、画像データの分類を示す分類ラベル（分類情報）とを対応付けて記憶する。
追加処理部１４ｂは、画像データの特徴コードと、当該特徴コードに対応する分類ラベルとをＤＢ１４ａに登録する処理を行う。例えば、追加処理部１４ｂは、画像データが学習済みニューラルネットワーク１２の入力層１２ａに入力されたときの中間層１２ｂの活動パターンを表した特徴コードと、当該画像データを学習済みＣＮＮ１５に入力して得られる分類ラベルとを対応付けてＤＢ１４ａに記憶させる。
【００３８】
学習済みＣＮＮ１５は、公知の畳み込みニューラルネットワークを、学習用画像データを用いて深層学習させたものである。学習済みＣＮＮ１５は、入力層１５ａと、一又は複数の畳み込み層１５ｂ及びプーリング層１５ｃと、一又は複数の全結合層１５ｄと、出力層１５ｅとを備える。
入力層１５ａには画像データが入力される。入力層１５ａに入力された画像データは畳み込み層１５ｂへ出力される。
一又は複数の畳み込み層１５ｂ及びプーリング層１５ｃは、入力層１５ａに入力された画像データに対して、各層のフィル値又は重み係数に基づく演算を行う。畳み込み層１５ｂは、画像データに対するフィルタリング処理によって、画像データの特徴を抽出する。プーリング層１５ｃは、例えばマックスプーリング処理によってダウンサンプリングする。最後段のプーリング層１５ｃは、ダウンサンプリングされた画像データの各画素に対応するデータを全結合層１５ｄへ出力する。
一又は複数の全結合層１５ｄは、入力されたデータに対して、各層の重み係数に基づく演算を行うことによって、画像データの特徴量の分類を行う。最後段の全結合層１５ｄは、演算処理されたデータを出力層１５ｅへ出力する。
出力層１５ｅは、複数の分類ラベルに対応するニューロン（ノード）を有する。出力層１５ｅのニューロンの活性化関数は、例えばソフトマックス関数である。出力層１５ｅは、全結合層１５ｄから出力されたデータに基づいて、当該画像データが複数の各分類ラベルに該当する確率を示すデータを出力する。
【００３９】
このように構成された学習済みＣＮＮ１５の入力層１５ａに画像データが入力された場合、入力された画像データが、各分類ラベルに該当する確率を示したデータが出力層１５ｅから出力される。学習済みＣＮＮ１５は、出力層１５ｅから出力されたデータに基づいて、入力された画像データの分類ラベルを特定し、特定された分類ラベルを示すデータを認識データベース１４の追加処理部１４ｂへ出力する。なお、学習済みＣＮＮ１５は、出力層１５ｅから出力されたデータをそのまま追加処理部１４ｂへ出力しても良い。
【００４０】
出力部１６は、分類処理部１３による画像データの分類結果を出力するインタフェースである。分類結果は、画像データに対応する分類ラベルを示す情報である。例えば、分類結果は、入力された画像データの特徴コードと、ＤＢ１４ａに登録されている分類ラベルの特徴コードとの類似度の情報を出力する。また、分類結果は、両者の特徴コードの類似度が最も高い分類ラベルの情報であっても良い。出力部１６は、例えばディスプレイである。
【００４１】
図２は実施形態１に係る画像分類器１のハードウェア構成を示すブロック図である。画像分類器１はコンピュータである。画像分類器１はコンピュータの各構成部の動作を制御する制御部１ａを備える。制御部１ａには、記憶部１ｂ、入力部１１及び出力部１６が接続されている。
【００４２】
記憶部１ｂは、ハードディスク、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、フラッシュメモリ等の不揮発性メモリである。記憶部１ｂは、本実施形態１に係る画像分類方法をコンピュータに実施し、画像データを分類するためのコンピュータプログラム１ｃを記憶している。記憶部１ｂは、学習済みニューラルネットワーク１２及び学習済みＣＮＮ１５のフィルタ値ないし重み係数、ＤＢ１４ａのレコードを記憶する。
本実施形態１に係るコンピュータプログラム１ｃは、記録媒体にコンピュータ読み取り可能に記録されている態様でも良い。記憶部１ｂは、図示しない読出装置によって記録媒体から読み出されたコンピュータプログラム１ｃを記憶する。記録媒体はフラッシュメモリ等の半導体メモリである。また、記録媒体はＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、ＢＤ（Blu-ray(登録商標)Disc）等の光ディスクでも良い。更に、記録媒体は、フレキシブルディスク、ハードディスク等の磁気ディスク、磁気光ディスク等であっても良い。更にまた、図示しない通信網に接続されている図示しない外部サーバから本実施形態１に係るコンピュータプログラム１ｃをダウンロードし、記憶部１ｂに記憶させても良い。
【００４３】
制御部１ａは、ＣＰＵ（Central Processing Unit）、マルチコアＣＰＵ、ＧＰＵ（Graphics Processing Unit）、ＧＰＧＰＵ（General-purpose computing on graphics processing units）、ＴＰＵ（Tensor Processing Unit）等のプロセッサ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等の内部記憶装置、入出力インタフェース等を有し、インタフェースには、記憶部１ｂ、入力部１１及び出力部１６が接続されている。制御部１ａは、記憶部１ｂが記憶するコンピュータプログラム１ｃを実行することにより、実施形態１に係る画像分類方法を実施し、画像分類器１として動作する。
【００４４】
図３は学習済みＰｒｅｄＮｅｔ３の構成例を示すブロック図、図４は学習済みＰｒｅｄＮｅｔ３のモジュール３１を示すブロック図である。学習済みＰｒｅｄＮｅｔ３は、大脳皮質における予測符号化の処理を模倣して構成された深層ニューラルネットワークである。学習済みＰｒｅｄＮｅｔ３は、動画を構成する時系列のフレーム画像が入力された場合、動画の特徴を認識し、次に入力されるであろうフレーム画像を予測して出力することができる。学習済みＰｒｅｄＮｅｔ３は、複数のモジュール３１を下位層（低次）から上位層（高次）へスタックした階層構造を有する。最下層（第０層）よりも上層の各モジュール３１は、動画の特徴を表現したデータ、すなわち将来のフレーム画像を予測するために必要なデータを生成する。生成されたデータは上位層から下位層へ伝播する。最下層のモジュール３１は、上位層の各モジュール３１から伝播されたデータを用いて、次のフレーム画像を予測する。最下層のモジュール３１は、予測した動画のフレーム画像と、実際に入力されたフレーム画像との誤差を表したデータを上層へフィードバックする。同様にして、各モジュール３１は予測した動画の特徴と、実際に入力された動画の特徴との誤差を示したデータを下位層から上位層へ伝播させる。上位層の各モジュール３１はフィードバックされた誤差のデータを用いて、次のフレーム画像の特徴を表したデータを生成する。ＰｅｒｄＮｅｔは、高次層での動画の特徴予測と誤差のフィードバックという一連の処理により、動画のフレーム画像を予測する。
【００４５】
学習済みＰｒｅｄＮｅｔ３を構成する各モジュール３１は、入力画像処理部３１ａと、予測画像生成部３１ｂと、誤差算出部３１ｃと、特徴表現部３１ｄと、を備える。
【００４６】
入力画像処理部３１ａは、例えば畳み込み層及びプーリング層を有する。最下層の入力画像処理部３１ａには、動画のフレーム画像データが入力される。最下層よりも上位層の入力画像処理部３１ａには、一つ下の階層の誤差算出部３１ｃから出力される誤差画像データが入力される。入力画像処理部３１ａは、畳み込み層でフレーム画像データ又は誤差画像データの特徴を抽出し、プーリング層でダウンサンプリングする。入力画像処理部３１ａは画像処理されたフレーム画像データ又は誤差画像データを誤差算出部３１ｃへ出力する。
【００４７】
予測画像生成部３１ｂは畳み込み層を有する。予測画像生成部３１ｂには動画特徴データが入力される。動画特徴データは、特徴表現部３１ｄによって生成されるデータであり、動画の特徴を表したものである。予測画像生成部３１ｂ、入力された動画特徴データに基づいて、次に、入力画像処理部３１ａに入力されるフレーム画像データ又は誤差画像データを予測した予測画像データを生成する。予測画像生成部３１ｂで生成された予測画像データは、誤差算出部３１ｃに出力される。
【００４８】
誤差算出部３１ｃには、減算部及びＲｅＬＵ関数処理部を有する。誤差算出部３１ｃには、入力画像処理部３１ａから出力されたフレーム画像データ又は誤差画像データと、予測画像生成部３１ｂから出力された予測画像データとが入力される。減算部は、入力されたフレーム画像データ又は誤差画像データと、予測画像データとの差分を算出する。詳細には、減算部は、フレーム画像データ又は誤差画像データから予測画像データを減算して得られる差分と、予測画像データからフレーム画像データ又は誤差画像データを減算して得られる差分とを算出する。算出された差分は引数としてＲｅＬＵ関数に与えられる。誤差算出部３１ｃは、ＲｅＬＵ関数の戻り値である誤差画像データを特徴表現部３１ｄへ出力する。また、誤差算出部３１ｃは、誤差画像データを上位層の入力画像処理部３１ａへ出力する。
【００４９】
特徴表現部３１ｄは、例えば畳み込みＬＳＴＭである。畳み込みＬＳＴＭは、画像の特徴を掴むのに適した畳み込みニューラルネットワークと、時系列データを扱うのに適したリカレントニューラルネットワークの一種であるＬＳＴＭ（Long-Short Term Memory）とを組み合わせた結合したモデルである。特徴表現部３１ｄには、誤差算出部３１ｃから出力された誤差画像データと、上位層の特徴表現部３１ｄから出力された動画特徴データとが入力される。特徴表現部３１ｄは、上位層から得られた現時点の動画特徴データと、自身が算出した過去の動画特徴データと、誤差算出部３１ｃにて算出された過去の誤差画像データとに基づいて、動画の特徴を表現した動画特徴データを生成する。特徴表現部３１ｄは生成した動画特徴データを、同層の予測画像生成部３１ｂへ出力する。
【００５０】
このように構成された学習済みＰｒｅｄＮｅｔ３は、動画を構成する時系列のフレーム画像が入力されると、動画の特徴を教師なしで学習することができ、将来のフレーム画像を予測できるようになる。
【００５１】
本実施形態１に係る学習済みニューラルネットワーク１２は、当該学習済みＰｒｅｄＮｅｔ３を構成するニューラルネットワークの一部を抜き出したものである。言い換えると、本実施形態１に係る学習済みニューラルネットワーク１２は、動画予測を行う学習済みＰｒｅｄＮｅｔ３から、画像分類という異なる目的を有する画像分類器１へ移植されたニューラルネットワークと言える。従って、画像分類器１の学習済みニューラルネットワーク１２を構成している中間層１２ｂの重み係数は、学習済みＰｒｅｄＮｅｔ３を構成するニューラルネットのフィルタ値及び重み係数と同じである。
【００５２】
学習済みニューラルネットワーク１２として利用する学習済みＰｒｅｄＮｅｔ３の部位は特に限定されるものでは無いが、例えば、入力画像処理部３１ａを構成するニューラルネットワークを利用すれば良い。また、学習済みニューラルネットワーク１２としては、最下層よりも上位層のモジュール３１を構成するニューラルネットを用いることが好ましい。より好ましくは、第２層、第３層、又は第４層のモジュール３１を構成するニューラルネットを用いると良い。
【００５３】
図５は分類器の学習手順を示すフローチャートである。制御部１ａは、入力部１１に入力した複数の画像データを学習済みニューラルネットワーク１２の入力層１２ａに入力させる（ステップＳ１１）。制御部１ａは、複数の画像データそれぞれに対して、学習済みニューラルネットワーク１２の中間層１２ｂによる演算処理を実行する（ステップＳ１２）。制御部１ａは、中間層１２ｂを構成するニューロンの活動パターンを表した複数の画像データそれぞれの特徴コードを取得する（ステップＳ１３）。
【００５４】
図６は特徴コードの一例を示す概念図である。図６Ａ及び図６Ｂは、中間層１２ｂの任意の一層を構成している複数のニューロンの活動パターンを概念的に示したものである。例えば図６Ａ及び図６Ｂは最後段の複数のニューロンの活動パターンを示したものである。黒丸は発火しているニューロンを示し、白丸は発火していないニューロンを示している。特徴コードは、図６Ａ及び図６Ｂに示すように複数のニューロンそれぞれの発火、非発火の状態を一次元配列で示した情報である。なお、図６においては、各ニューロンの活動パターンを「１」（発火）、「０」（非発火）の２値で示しているが、これに限定されるものでは無い。例えば、各ニューロンの活性化関数がＲｅＬＵ関数である場合、特徴コードは、当該活性化関数の出力値を成分として有するものであっても良い。
【００５５】
図７は特徴コードの他の例を示す概念図である。図７Ａ及び図７Ｂは、複数層のニューロンの活動パターンを概念的に示したものである。特徴コードは、図７Ａ及び図７Ｂに示すように複数のニューロンそれぞれの発火、非発火の状態を二次元配列で示したものである。例えば、図７Ａ及び図７Ｂは、中間層１２ｂが複数層である場合、各層を構成する複数のニューロンそれぞれの活動パターンを示したものである。特徴コードは、図７Ａ及び図７Ｂに示すように複数のニューロンそれぞれの発火、非発火の状態を二次元配列で示した情報である。
【００５６】
ステップＳ１３の処理を終えた制御部１ａは、複数の画像データの特徴コードをクラスタリングする（ステップＳ１４）。特徴コードのクラスタリングは、公知の手法を用いれば良い。例えば制御部１ａは、主成分分析（PCA:Principal Component Analysis）及びｋ平均（k-means）法を用いて、特徴コードを複数のクラスタにクラスタリングする。クラスタリングによって、各クラスタの重心の特徴コードが求められる。
【００５７】
一方で、制御部１ａは、入力部１１に入力した上記複数の画像データを学習済みＣＮＮ１５の入力層１５ａに入力させ、各画像データの分類ラベルを特定する（ステップＳ１５）。なお、必ずしも全ての画像データの分類ラベルを特定する必要は無い。
【００５８】
次いで、制御部１ａは、ステップＳ１４でクラスタリングされた各クラスタの特徴コードと、当該クラスタに対応する分類ラベルとの対応関係を特定し、各クラスタの特徴コードと、分類ラベルとを対応付けてＤＢ１４ａに登録する（ステップＳ１６）。各クラスタの特徴コードに対応する分類ラベルは、例えばｋ近傍（k-Nearest Neighbor）法にて特定すると良い。当該クラスタに属する特徴コードに、分類ラベルが特定されているものと、特定されていないものが混在している場合、分類が特定されている特徴コードと、その分類ラベルとを用いて、当該クラスタの分類コードを決定すれば良い。
【００５９】
図８は特徴コードと分類コードとの対応付け方法を示す概念図である。星印、三角印、四角印、丸印は、異なるクラスタにクラスタリングされた画像データの特徴量を表している。黒塗り印は、分類ラベルが特定されたものを示し、白抜き印は分類ラベルが特定されなかったものを示している。各クラスタの分類ラベルは、黒塗り印で示された特徴コードに対応付けられている分類ラベルによって特定される。
【００６０】
このようにして、画像分類器１は、画像データの特徴コードと、分類ラベルとの対応関係をＤＢ１４ａに記憶することができる。
【００６１】
なお、上記した特徴コードと、分類ラベルとを対応付け方法は一例である。例えば、分類ラベルが付された学習用の画像データを用いて特徴コードと、分類ラベルとの対応関係を学習させるようにしても良い。この場合、学習済みニューラルネットワーク１２に複数の画像データを入力することによって、各学習データの特徴コードが得られる。そして、学習用の画像データには分類ラベルが付されているため、当該特徴コードの分類ラベルも一意に定まる。次いで、複数の特徴コードと、各特徴コードの分類ラベルとに基づいて、各分類ラベルと特徴コードとの対応関係を算出する。例えば、ＳＶＭ（support vector machine）等の分類器を用いて、特徴コードと分類ラベルとの対応関係を学習させれば良い。当該分類器に特徴コードが入力されると、当該特徴コードが属する分類ラベルが出力されるようになる。
【００６２】
図９は実施形態１に係る画像分類処理の手順を示すフローチャート、図１０は画像分類方法を示す概念図である。図１０中、黒丸は、入力された画像データの特徴コードを示している。制御部１ａは、入力部１１に入力された画像データを、学習済みニューラルネットワーク１２の入力層１２ａに入力させる（ステップＳ３１）。制御部１ａは、複数の画像データそれぞれに対して、学習済みニューラルネットワーク１２の中間層１２ｂによる演算処理を実行する（ステップＳ３２）。制御部１ａは、中間層１２ｂを構成するニューロンの活動パターンを表した複数の画像データそれぞれの特徴コードを取得する（ステップＳ３３）。
【００６３】
次いで、制御部１ａは、画像データの特徴コードと、ＤＢ１４ａに登録された情報とに基づいて、当該特徴コードに対応する分類ラベルを特定し、特定された分類ラベルを出力する（ステップＳ３４）。例えば、制御部１ａは、ＤＢ１４ａに登録されている各分類ラベルの特徴コード（クラスタの重心）と、入力画像データの特徴コードとの統計距離を比較し、最も近い特徴コードの分類ラベルを入力画像データの分類ラベルとして特定すれば良い。また、制御部１ａは、ＳＶＭを用いて、画像データに対応する分類ラベルを特定しても良い。
なお、上記説明では、分類器の学習と、画像分類処理とを分けて説明したが、未知の画像データが入力され、分類不能であった場合、制御部１ａは、分類ラベルを受け付け、当該未知の画像データの特徴コードと、分類ラベルとを対応付けてＤＢ１ａに記憶させると良い。また、この際、画像分類器１は、新規登録された当該分類ラベルを出力すると良い。
【００６４】
このように構成された実施形態１に係る学習分類器によれば、畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００６５】
特に、学習済みＰｒｅｄＮｅｔ３は、動画の特徴を教師なしで学習することができる。本実施形態１に係る画像分類器１は、学習済みＰｒｅｄＮｅｔ３を構成するニューラルネットワークを用いることにより、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００６６】
学習済みＰｒｅｄＮｅｔ３を構成する上位層のニューラルネットワークは、学習済みニューラルネットワーク１２として利用することにより、より柔軟に対象物を認識し、画像データを分類することができる。
【００６７】
本実施形態１によれば、画像分類器１は、入力される画像データを分類し、ＤＢ１４ａが記憶する情報に基づいて、当該画像データの分類ラベルを特定することができる。
【００６８】
本実施形態１によれば、学習済みＣＮＮ１５を利用することにより、特徴コードと、分類ラベルとの関係を自動的に学習し、ＤＢ１４ａに登録することができる。
【００６９】
なお、本実施形態１では、主に、学習済みニューラルネットワーク１２を用いて、画像データを分類する例を説明したが、学習済みニューラルネットワーク１２の分類結果と、学習済みＣＮＮ１５の分類結果とに基づいて、画像データの分類を特定するように構成しても良い。
例えば、学習済みニューラルネットワーク１２が画像データの分類に失敗し、学習済みＣＮＮ１５が画像データの分類に成功した場合、学習済みＣＮＮ１５の分類結果を出力するように構成しても良い。逆に学習済みＣＮＮ１５が画像データの分類に失敗し、学習済みニューラルネットワーク１２が画像データの分類に成功した場合、学習済みニューラルネットワーク１２の分類結果を出力する。また、学習済みニューラルネットワーク１２及び学習済みＣＮＮ１５双方の分類結果に基づいて、画像データのより確からしい分類ラベルを決定し、決定した分類ラベルを出力するように構成しても良い。
【００７０】
（実施形態２）
実施形態２に係る画像分類器２０１は、学習済みニューラルネットワーク２１２の構成が実施形態１と異なるため、以下では主に上記相違点を説明する。その他の構成及び作用効果は実施形態１と同様であるため、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００７１】
図１１は実施形態２に係る画像分類器２０１の構成例を示すブロック図である。実施形態２に係る学習済みニューラルネットワーク２１２は、学習済みＰｒｅｄＮｅｔ３を構成する複数のニューラルネットワークを含む。図１１では、学習済みニューラルネットワーク２１２が、第１のニューラルネットワーク２１２ａと、第２のニューラルネットワーク２１２ｂとを含む例を示している。第１のニューラルネットワーク２１２ａ及び第２のニューラルネットワーク２１２ｂは、最下層よりも上位層にある異なる階層のモジュール３１をそれぞれ構成しているニューラルネットワークである。
【００７２】
例えば、第１のニューラルネットワーク２１２ａは、学習済みＰｒｅｄＮｅｔ３の第２層のモジュール３１を構成する入力画像処理部３１ａ又は特徴表現部３１ｄを構成するニューラルネットワークである。第２のニューラルネットワーク２１２ｂは、学習済みＰｒｅｄＮｅｔ３の第３層のモジュール３１を構成する入力画像処理部３１ａ又は特徴表現部３１ｄを構成するニューラルネットワークである。
他の例では、第１のニューラルネットワーク２１２ａは、学習済みＰｒｅｄＮｅｔ３の第３層のモジュール３１を構成する入力画像処理部３１ａ又は特徴表現部３１ｄを構成するニューラルネットワークである。第２のニューラルネットワーク２１２ｂは、学習済みＰｒｅｄＮｅｔ３の第４層のモジュール３１を構成する入力画像処理部３１ａ又は特徴表現部３１ｄを構成するニューラルネットワークである。
【００７３】
分類処理部１３は、分類対象の前記画像データが第１の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの第１活動パターンと、前記画像データが第２の前記ニューラルネットワークの前記入力層に入力されたときの前記複数のニューロンの第２活動パターンとに基づいて、前記画像データを分類する。
【００７４】
実施形態２に係る画像分類器２０１によれば、学習済みニューラルネットワーク２１２として、学習済みＰｒｅｄＮｅｔ３を構成する複数のニューラルネットワーク２１２ａ、２１２ｂを利用する。本態様に係る画像分類器２０１は、学習済みＰｒｅｄＮｅｔ３を構成する複数のニューラルネットワーク２１２ａ、２１２ｂを用いることにより、より柔軟に対象物を認識し、画像データを分類することができる。
【００７５】
（実施形態３）
実施形態３に係る画像分類器１は、学習済みニューラルネットワーク３１２の構成が実施形態１と異なるため、以下では主に上記相違点を説明する。その他の構成及び作用効果は実施形態１と同様であるため、対応する箇所には同様の符号を付して詳細な説明を省略する。
【００７６】
実施形態３に係る学習済みニューラルネットワーク３１２は、学習済みオートエンコーダ４の一部を含む。
【００７７】
図１２は実施形態３に係る学習済みニューラルネットワーク３１２を示す概念図である。実施形態３に係る学習済みニューラルネットワーク３１２は、学習済みオートエンコーダ４を構成するニューラルネットワークの一部を抜き出したものである。
【００７８】
学習済みオートエンコーダ４は、入力層４ａ、畳み込み層４ｂ、中央隠れ層４ｃ、逆畳み込み層４ｄ及び出力層４ｅを備える。畳み込み層４ｂ、中央隠れ層４ｃ及び逆畳み込み層４ｄは中間層又は隠れ層である。中央隠れ層４ｃは、複数のニューロン（ノード）を有する。畳み込み層４ｂ及び逆畳み込み層４ｄはコンボリューション層及びデコンボリューション層とも呼ばれる。
【００７９】
入力層４ａには画像データが入力される。畳み込み層４ｂは、画像データを次元圧縮する層である。例えば、畳み込み層４ｂは、畳み込み処理を行うことにより、次元圧縮を行う。次元圧縮により、検査対象物の特徴量が抽出される。逆畳み込み層４ｄは、畳み込み層４ｂで次元圧縮されたデータを元の次元に復元する層である。次元圧縮されたデータは中央隠れ層４ｃを通じて逆畳み込み層４ｄに入力される。逆畳み込み層４ｄは、逆畳み込み処理を行い、元の次元に復元する。当該復元によって、入力された画像データの特徴を表した画像データが復元される。出力層４ｅは、畳み込み層４ｂ及び逆畳み込み層４ｄにて特徴抽出が行われた画像データを出力する。
【００８０】
オートエンコーダは、動画の特徴を教師なしで学習することができる。例えば、オートエンコーダは、入力された画像データと、出力された画像データとが同じになるように、オートエンコーダのニューラルネットワークを機械学習させる。
【００８１】
実施形態３に係る画像分類器１においては、学習済みオートエンコーダ４を構成する入力層４ａ、畳み込み層４ｂ及び中央隠れ層４ｃを抜き出して学習済みニューラルネットワーク３１２として利用する。
【００８２】
分類処理部１３は、画像データが学習済みニューラルネットワーク３１２に入力された場合、当該学習済みニューラルネットワーク３１２の中央隠れ層４ｃを構成する複数のニューロンの活動パターンを特徴コードとして取得する。分類処理部１３は、取得した特徴コードと、ＤＢ１４ａの情報とに基づいて、入力された画像データの分類ラベルを特定し、分類結果を外部へ出力する。
なお、ここでは、分類処理部１３は、中央隠れ層４ｃを構成する複数のニューロンの活動パターンを特徴コードとして取得する例を説明したが、畳み込み層４ｂを構成する複数のニューロンの活動パターンを特徴コードとして取得しても良い。また、分類処理部１３は、畳み込み層４ｂ及び中央隠れ層４ｃを構成する複数のニューロンの活動パターンを特徴コードとして取得するように構成しても良い。更に、分類処理部１３は、畳み込み層４ｂ、中央隠れ層４ｃ及び逆畳み込み層４ｄの少なくとも一つを構成する複数のニューロンの活動パターンを特徴コードとして取得するように構成しても良い。なお、中央隠れ層４ｃは、説明の便宜上のものであり、必須の構成では無い。
【００８３】
実施形態３に係る画像分類器１によれば、本態様に係る画像分類器１は、学習済みオートエンコーダ４を構成するニューラルネットワークを用いることにより、従来の畳み込みニューラルネットワークに比べ、より柔軟に対象物を認識し、画像データを分類することができる。
【００８４】
なお、実施形態１及び実施形態２を異なる実施形態として説明したが、学習済みＰｒｅｄＮｅｔ３を構成するニューラルネットワークと、学習済みオートエンコーダ４を構成するニューラルネットワークとの双方を、学習済みニューラルネットワークとして組み込むように構成しても良い。分類処理部１３は、各ニューラルネットワークから特徴コードを取得し、それぞれから取得した特徴コードに基づいて、画像データを分類することができる。異なる方法で学習される学習済みＰｒｅｄＮｅｔ３及び学習済みオートエンコーダ４のニューラルネットワークを利用することによって、より柔軟に画像データの特徴を分類することが可能になる。
【００８５】
また、本実施形態１−３では、学習済みＰｒｅｄＮｅｔ３又は学習済みオートエンコーダ４を構成する一部のニューラルネットワークを取り出して画像分類器１に適用する例を説明したが、これらの構成に限定されるものでは無い。学習済みＰｒｅｄＮｅｔ３又は学習済みオートエンコーダ４全体を学習済みニューラルネットワーク１２、３１２に組み込むように構成しても良い。動作中の学習済みＰｒｅｄＮｅｔ３又は学習済みオートエンコーダ４の所定の部位から、特徴コードを読み出すことによって、実施形態１−３と同様の画像分類を行うことが可能である。
【符号の説明】
【００８６】
１、２０１  画像分類器
１ａ  制御部
１ｂ  記憶部
１ｃ  コンピュータプログラム
２  記録媒体
３  学習済みＰｒｅｄＮｅｔ
４  学習済みオートエンコーダ
１１  入力部
１２、２１２、３１２  学習済みニューラルネットワーク
１２ａ  入力層
１２ｂ  中間層
１２ｃ  出力層
１３  分類処理部
１４  認識データベース
１４ａ  ＤＢ
１４ｂ  追加処理部
１５  学習済みＣＮＮ
１５ａ  入力層
１５ｂ  畳み込み層
１５ｃ  プーリング層
１５ｄ  全結合層
１５ｅ  出力層
１６  出力部
３１  モジュール
３１ａ  入力画像処理部
３１ｂ  予測画像生成部
３１ｃ  誤差算出部
３１ｄ  特徴表現部
２１２ａ  第１のニューラルネットワーク
２１２ｂ  第２のニューラルネットワーク
【図１】
2020181404.tif 000003
【図２】
2020181404.tif 000004
【図３】
2020181404.tif 000005
【図４】
2020181404.tif 000006
【図５】
2020181404.tif 000007
【図６】
2020181404.tif 000008
【図７】
2020181404.tif 000009
【図８】
2020181404.tif 000010
【図９】
2020181404.tif 000011
【図１０】
2020181404.tif 000012
【図１１】
2020181404.tif 000013
【図１２】
2020181404.tif 000014