(57)【要約】【課題】対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類する。【解決手段】分類装置101は、受付部102、ニューラルネットワーク部103、分類部104を備える。受付部102は、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、を受け付ける。分類部104は、対象をニューラルネットワーク部103により分類する。ここで、ニューラルネットワーク部103において、畳み込み部105は、与えられた特徴マップの各要素と、受け付けられた1以上の属性パラメータと、を畳み込む。【選択図】図1
2019095980.tif 000002
【特許請求の範囲】
【請求項１】
対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付ける受付部と、
前記対象をニューラルネットワークにより分類する分類部と、
を備え、前記ニューラルネットワークは、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む畳み込み部
を備えることを特徴とする分類装置。
【請求項２】
前記受け付けられた対象画像が、前記特徴マップとして、前記ニューラルネットワークに与えられる
ことを特徴とする請求項1に記載の分類装置。
【請求項３】
前記畳み込み部は、前記与えられた特徴マップに含まれる特徴要素間に、前記受け付けられた1以上の属性パラメータをそれぞれ要素値とする1以上の属性要素を、所定周期で周期的に挿入した中間マップに対して、前記所定周期と同じ大きさの畳み込みカーネルを、前記畳み込みカーネルと同じ大きさのストライドで適用する
ことを特徴とする請求項1に記載の分類装置。
【請求項４】
前記畳み込みカーネルは、前記特徴マップに由来する1つの特徴要素と、前記1以上の属性要素と、を畳み込む
ことを特徴とする請求項3に記載の分類装置。
【請求項５】
前記畳み込みカーネルの大きさにおける幅および高さの
一方は、1であり、
他方は、前記1以上の属性要素の数に1を加算した長さである
ことを特徴とする請求項4に記載の分類装置。
【請求項６】
前記畳み込み部は、さらに、前記与えられた特徴マップの周囲のいずれか少なくとも一辺に対して、パディングを行い、
前記パディングがされる領域において前記カーネルが適用される位置のうち、前記特徴要素に適用されるべき位置には、前記属性パラメータに起因する値を有する要素をパディングする
ことを特徴とする請求項4に記載の分類装置。
【請求項７】
前記受け付けられた1以上の属性パラメータの数は、1であり、
前記属性パラメータに起因する値は、前記受け付けられた属性パラメータの値である
ことを特徴とする請求項6に記載の分類装置。
【請求項８】
前記受け付けられた1以上の属性パラメータの数は、複数であり、
前記属性パラメータに起因する値は、前記受け付けられた属性パラメータの単純平均値もしくは重み付き平均である
ことを特徴とする請求項6に記載の分類装置。
【請求項９】
前記パディングを行わずに学習を行ってカーネルを求め、
前記求められたカーネルによる重みを前記重み付き平均において使用して、前記パディングを行ってから、再度学習を行う
ことを特徴とする請求項8に記載の分類装置。
【請求項１０】
分類装置が、対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付ける受付ステップと、
前記分類装置が、前記対象をニューラルネットワークにより分類する分類ステップと、
を備え、前記ニューラルネットワークにおいて、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む
ことを特徴とする分類方法。
【請求項１１】
コンピュータに、
対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付け、
前記対象をニューラルネットワークにより分類する
処理を実行させるプログラムであって、前記ニューラルネットワークは、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む畳み込み部
を備えることを特徴とするプログラム。
【請求項１２】
コンピュータに、
対象に対応付けられた特徴マップと、前記対象に対応付けられた1以上の属性パラメータと、を取得し、
前記取得された特徴マップの各要素と、前記取得された1以上の属性パラメータと、を畳み込むことにより、新たな特徴マップを生成する
処理を実行させることを特徴とするプログラム。
【請求項１３】
請求項11または12に記載のプログラムが記録されたことを特徴とするコンピュータ読取可能な非一時的な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類するのに好適な、分類装置、分類方法、プログラム、ならびに、情報記録媒体に関する。
【背景技術】
【０００２】
従来から、畳み込み層を有するニューラルネットワークにより、画像を分類する技術が提案されている。
【０００３】
このような畳み込みニューラルネットワークでは、複数の畳み込み層の間にプーリング層(部分サンプリング層)を適宜挟み込んで、画像の局所情報を階層的に畳み込むことにより、当該画像を精度良く分類できるようにする。従来は、畳み込み層とプーリング層を交互に配置するのが一般的であったが、近年では、プーリング層を利用せず、もしくは、適宜省いて、主として畳み込み層により、学習ならびに判別を行う手法についての研究も進められている。
【０００４】
このような技術では、学習段階で、対象を表した画像(各種の写真等)を多数あらかじめ用意し、分類結果が確定している画像を教師データとして利用して畳み込みニューラルネットワークに学習をさせる。運用段階では、分類したい画像(分類結果が不明の画像)を上記の畳み込みニューラルネットワークに与えて、得られる特徴マップ(二値、スカラー、ベクトル、マトリックス等により表現される)に基づいて分類を行う。
【０００５】
これらのニューラルネットワークの実装においては、コンピュータが有するCPU(Central Processing Unit)の制御の下、コプロセッサとして画像処理に適したGPU(Graphic Processing Unit)を活用することで、高速な学習および判定を行うことが、広く行われている。
【０００６】
さて、特許文献1では、皮膚画像を用いて皮膚の疾患を診断するために、皮膚画像に対して第1変換を施した第1画像を第1畳み込みネットワークに与え、当該皮膚画像に対して第2変換を施した第2画像を第2畳み込みネットワークに与え、2つの畳み込みネットワークから得られた識別値を統合して、判定を行っている。
【０００７】
一方で、患者に対して白内障手術などの内眼手術を適用すべきか否かを判断する場合、現在は、当該患者の角膜内皮の写真を撮影し、角膜内皮細胞の密度、面積、六角形細胞の出現頻度などを、医師や検査技師が手作業もしくは手作業とコンピュータによる半自動処理を組み合わせて測定し、これらの情報を元に、医師が患者に対する内眼手術のリスクの高低、ひいては、内眼手術をすべきか否か、を判定している。
【０００８】
したがって、患者の症状が現出しやすい部位の写真に基いて、当該症状におけるリスクを判定するために、畳み込みニューラルネットワークを適用することが可能であると考えられる。
【０００９】
しかしながら、医師は、患部やその写真を目視で観察するだけではなく、患者の年齢、性別、身長、体重、肥満度、骨密度など、種々の属性パラメータを総合して勘案することにより、疾患の診断やリスクの有無の判断を行っている。
【００１０】
特許文献1では、2つの畳み込みニューラルネットワークの出力を統合しているので、当該技術を利用すれば、対象の画像と対象の属性パラメータを統合することは、一見容易に思える。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2017-45341号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献1に開示される技術では、複数の畳み込みニューラルネットワークの出力を、例えば平均することによって統合を行い、最終判定値を得ることとしている。単純な平均であったとしても、それなりの性能が得られるのは、当該畳み込みニューラルネットワークに与えられる画像が、同じ原画像から変換されたものであるからと思われる。
【００１３】
しかしながら、画像に起因する出力と、画像以外の属性パラメータに起因する出力と、を統合する場合には、このような単純な「平均」は適用できない。また、「平均」として、重み付き平均を採用する場合には、適切な重みを定めることが困難である。
【００１４】
ニューラルネットワークをGPUにて処理するためのライブラリTensorFlowならびにKerasでは、複数の出力を単純に連結するライブラリ関数Concatenateがある。しかしながら、これを利用するとしても、両者を連結する際の重みの調整は十分とはいえず、高精度の分類は難しい。
【００１５】
このため、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類する技術が強く求められている。
【００１６】
本発明は、上記の課題を解決するもので、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類する分類装置、分類方法、プログラム、ならびに、情報記録媒体に関する。
【課題を解決するための手段】
【００１７】
本発明に係る分類装置は、
対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付け、
前記対象をニューラルネットワークにより分類し、
前記ニューラルネットワークは、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む畳み込み部
を備える。
【発明の効果】
【００１８】
本発明によれば、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類する分類装置、分類方法、プログラム、ならびに、情報記録媒体を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る分類装置の概要構成を示す説明図である。
【図２】健康な被験者の角膜内皮を撮影した医療写真の例を示す図面代用写真である。
【図３】健康な被験者の角膜内皮を撮影した医療写真をモノクロ化して示す説明図である。
【図４】疾患のある被験者の角膜内皮を撮影した医療写真の例を示す図面代用写真である。
【図５】疾患のある被験者の角膜内皮を撮影した医療写真をモノクロ化して示す説明図である。
【図６】健康な被験者の対象画像の一例を示す図面代用写真である。
【図７】健康な被験者の対象画像の一例をモノクロ化して示す説明図である。
【図８】疾患のある被験者の対象画像の一例を示す図面代用写真である。
【図９】疾患のある被験者の対象画像の一例をモノクロ化して示す説明図である。
【図１０】特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。
【図１１】特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。
【図１２】特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。
【図１３】本実施例に係るニューラルネットワークの画像フィルターの構成を示す説明図である。
【図１４】パディングの様子を示す説明図である。
【図１５】パディングの様子を示す説明図である。
【発明を実施するための形態】
【００２０】
以下に、本発明の実施形態を説明する。なお、本実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、本実施形態の各要素もしくは全要素を、これと均等なものに置換した実施形態を採用することが可能である。また、各実施例にて説明する要素は、用途に応じて適宜省略することも可能である。このように、本発明の原理にしたがって構成された実施形態は、いずれも本発明の範囲に含まれる。
【００２１】
(構成)
図1は、本発明の実施形態に係る分類装置の概要構成を示す説明図である。以下、本図を参照して概要を説明する。
【００２２】
本図に示すように、本実施形態に係る分類装置101は、受付部102、ニューラルネットワーク部103、分類部104を備える。
【００２３】
この分類装置101は、典型的には、プログラムをコンピュータが実行することによって実現される。当該コンピュータは、各種の出力装置や入力装置に接続され、これらの機器と情報を送受する。
【００２４】
コンピュータにて実行されるプログラムは、当該コンピュータが通信可能に接続されたサーバにより配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)やフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【００２５】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROM等などの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態における情報処理装置が実現されることになる。一般的には、コンピュータのCPUは、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、CPUがアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャでは、RAMへの明示的なプログラムのロードは不要なこともある。なお、プログラムの実行の過程で必要とされる各種情報は、RAM内に一時的(temporary)に記録しておくことができる。
【００２６】
さらに、上記のように、コンピュータは、GPUを備え、各種画像処理計算を高速に行うためのGPUを備えることが望ましい。GPUならびにTensorFlow等のライブラリを使うことで、CPUの制御の下、各種の人工知能処理における学習機能や分類機能を利用することができるようになる。
【００２７】
なお、汎用のコンピュータにより本実施形態の情報処理装置を実現するのではなく、専用の電子回路を用いて本実施形態の情報処理装置を構成することも可能である。この態様では、プログラムを電子回路の配線図やタイミングチャート等を生成するための素材として利用することもできる。このような態様では、プログラムに定められる仕様を満たすような電子回路がFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態の情報処理装置を実現する。
【００２８】
以下では、理解を容易にするため、分類装置101は、コンピュータがプログラムを実行することによって実現される態様を想定して説明する。
【００２９】
さて、受付部102は、分類の対象に係る画像と、当該対象に係る1以上の属性パラメータと、の入力を受け付ける。
【００３０】
ニューラルネットワーク部103は、1以上、典型的には複数の畳み込み層を有する(図示を省略)。また上述のように、畳み込み層同士の間には、プーリング層が、適宜挟み込まれる(図示を省略)。
【００３１】
各畳み込み層には、特徴マップが入力として与えられると、これを畳み込み、新たな特徴マップを生成する。プーリング層が設けられている場合は、畳み込み層から出力された特徴マップにサンプリング処理を行って、新たな特徴マップを生成する。そして、得られた特徴マップは、別の畳み込み層に渡され、…のように、繰り返し畳み込み演算が行われることになる。
【００３２】
畳み込み層においては、複数の要素を畳み込む際に線形和の演算を行うが、線形和の係数は、ニューラルネットワークにおける学習時にバックプロパゲーションによって自動的に調節される。
【００３３】
本実施形態では、上記のような畳み込み(およびプーリング)の繰り返しの前後もしくは間に、新たな畳み込み部105を設け、特徴マップMの各要素と、受け付けられた1以上の属性パラメータと、を畳み込む。
【００３４】
特徴マップMを表す画像の各画素と、1以上の属性パラメータと、を畳み込むと、元の画像と同じサイズの特徴マップNが得られる。
【００３５】
一般に、L次元の特徴マップMの各要素をM[i1, i2, …, iL]に対して、A個の属性パラメータp1, p2, …, pAを畳み込むことにより得られる新たな特徴マップNは、L次元であり、その各要素N[i1, i2, …, iL]は、重み係数w0, w1, w2, …, wAを用いて、
N[i1, i2, …, iL] = w0M[i1, i2, …, iL] +Σj=1A wjpj
のように畳み込み計算がされる。
【００３６】
このようにして畳み込み計算がされて得られた特徴マップには、対象について得られた画像情報と属性パラメータとが統合して埋め込まれていることになる。
【００３７】
しかも、画像情報と各属性パラメータとを統合する際の重み係数w0, w1, w2, …, wAは、ニューラルネットにおける学習時に、バックプロパゲーションによって自動的に調整される。このため、複数の情報を統合する際の重みは、用意された学習用データによって、適切に決定されることになる。この点に、本実施形態の特徴の一つがある。
【００３８】
分類部104は、ニューラルネットワーク部103の出力に基づいて、対象の分類を行う要素であり、ニューラルネットワーク部103から最終的に得られた二値、スカラー値、ベクトル値、あるいは、マトリックス値の特徴量に基いて、対象の分類を行う。
【００３９】
このように、本実施形態に係る分類装置101における特徴は、ある段の畳み込み層において、入力として与えられる特徴マップの各要素と、与えられた属性パラメータと、を畳み込んでから、次段に渡す点にあり、それ以外の構成については、畳み込みニューラルネットワークにおける種々の公知技術をそのまま適用することができる。
【００４０】
以下、被験者の角膜内皮を撮影した画像と、当該被験者の年齢からなる属性パラメータと、によって、内眼手術のリスクを判定する態様に、適宜触れつつ、本実施形態について説明する。
【００４１】
図2は、健康な被験者の角膜内皮を撮影した医療写真の例を示す図面代用写真である。
図3は、健康な被験者の角膜内皮を撮影した医療写真をモノクロ化して示す説明図である。
図4は、疾患のある被験者の角膜内皮を撮影した医療写真の例を示す図面代用写真である。
図5は、疾患のある被験者の角膜内皮を撮影した医療写真をモノクロ化して示す説明図である。
これらは、従来の医療現場で利用された画像であり、本実施形態に係る分類装置の性能を検証するために利用するものである。
【００４２】
これらの画像の左側には、角膜内皮を撮影した写真が配置され、右側には、撮影日時や被験者番号などの文字情報が画像として配置されている。
【００４３】
また、左側の写真においては、一部の細胞の中心に白点が描かれ、細胞の境界に白線が描かれている。これは、医師や検査技師が、鮮明に撮影された領域において、各細胞の中心点に白点を描いた後、当該白点を基準として、検査機器が各細胞の境界を画像認識して白線を描いたものである。
【００４４】
この白線に基づいて、検査機器は、角膜内皮細胞の密度、面積、六角形細胞の出現頻度等の情報を計算する。計算された情報は、画像の右側に文字情報として描画されている。
【００４５】
左側の写真画像部分は、約300ドット×480ドットのピクセルサイズを有する。本実施形態では、写真のうち、境界線や白点が描かれていない領域から、56ドット×56ドットの小画像を切り抜き、これを学習用および判定用の対象画像として利用する。
【００４６】
図6は、健康な被験者の対象画像の一例を示す図面代用写真である。
図7は、健康な被験者の対象画像の一例をモノクロ化して示す説明図である。
図8は、疾患のある被験者の対象画像の一例を示す図面代用写真である。
図9は、疾患のある被験者の対象画像の一例をモノクロ化して示す説明図である。
これらの図に示すように、本実施形態において利用した対象画像単独は、必ずしも鮮明ではない。ただし、このような対象画像であっても、十分な精度で被験者の分類ができる点に、本実施形態の特徴がある。なお、対象画像のサイズや数は、適用される用途に応じて、適宜変更が可能である。
【００４７】
また、本具体例では、1個の属性パラメータp1として、被験者の年齢を採用している。年齢を数値化するにあたっては、年齢をそのまま利用するのが最も単純であるが、ある程度の幅を持った年齢層を、たとえば、年齢の十の位の数値で表す等としても良いし、誕生日からの月齢や日齢を採用しても良い。
【００４８】
年齢に加えて、たとえば、身長、体重等の複数の属性パラメータを採用する場合には、これらを数値化すれば良い。身長や体重などのスカラー値は、その値をそのまま採用しても良いし、画素値(一般には、0乃至255、あるいは、0乃至65535)として表現できるように、適宜変換を施しても良い。
【００４９】
また、性別や住んでいる地域など、被験者の選択肢的な特徴を属性パラメータとする場合には、たとえば、男を0、女を1で表現する、等のように、選択肢番号を利用して1つの属性としても良いし、選択肢毎に属性パラメータを用意し、当該選択肢に該当するか否かの論理値を当該属性パラメータとしても良い。たとえば、男性については、適当な正定数kに対して、pk=1, pk+1=0とし、女性については、pk=0, pk+1=1とする等である。
【００５０】
また、住んでいる地域が、たとえば、B個の地方に分類される場合には、適当な正定数hに対して、属性パラメータph, ph+1, ph+2, …, ph+B-1を考え、住んでいる地域の番号がb (0≦b≦9)であれば、
ph+b = 1; 
ph+i = 0 (i≠b)
のように、選択肢毎の論理値を二値で表現することができる。
【００５１】
さて、各対象画像は、グレイスケール画像であれば2次元である。本実施形態においては、上述の通り、幅W、高さHの画像Mの各画素M[x,y] (x = 0, 1, …, W-1; y = 0, 1, …, H-1)と、年齢の属性パラメータp1と、に対して
N[x,y] = w0M[x,y] + w1p1
という畳み込み演算を適用することになる。
【００５２】
さて、GPUを用いたライブラリにおける畳み込み演算を利用すれば、画像内の各位置について、注目する位置の画素ならびにその周辺の画素の画素値に対する線形和を高速に計算することができる。
【００５３】
このとき、注目する位置をずらす量をストライド、注目する画素ならびにその周辺の画素からなる領域の大きさを、カーネルサイズと呼び、畳み込み演算が適用される領域に対して線形和の係数を並べたものをカーネルもしくは畳み込みカーネルと呼ぶ。
【００５４】
したがって、上記の畳み込み演算を、GPUを用いたライブラリにより高速に計算するには、重み係数w0, w1を並べたカーネルを作り、各画素M[x,y]と、属性パラメータp1と、に対して、当該カーネルが適用されるように、各画素M[x,y]と、属性パラメータp1と、を並べた中間画像Kを生成すれば良いことになる。
【００５５】
たとえば、画像Mを1ドット幅の縦方向の帯状に分割し、その間に属性パラメータp1を画素値とする1ドット幅の帯状の画像を挟み込むことで、中間画像Kを作ることができる。すなわち、並べた中間画像Kの各画素の画素値は、各画素M[x,y]と、属性パラメータp1と、に対して、
K[2x,y] = M[x,y]; 
K[2x+1,y] = p1
のように定めることができる。
【００５６】
図10は、特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。本図においては、理解を容易にするため、入力される特徴マップである画像Mを3×4ドットのサイズで表現し、画素値をハッチにて表現している。本図に示すように、画像Mは、縦方向の帯に分割され、その間に属性パラメータp1を画素値として有する画素Dが挿入される。
【００５７】
また、本図Mに示すように、畳み込みカーネルCのサイズは、幅2ドット、高さ1ドットである。また、ストライドは、畳み込みカーネルのサイズと同じで、横2ドット、縦1ドットとする。本図では、このストライドによって、カーネルCが適用されて出力される特徴マップNの一つの特徴値が出力される複数の画素のグループを、太線で囲んで表記している。
【００５８】
すると、この畳み込み演算によって、新たな特徴マップNを生成することができる。
N[x,y] = Σj=01 wjK[2x+j,y]
これは、画像処理で行われる一般的な畳み込み演算であり、ライブラリを利用することで、高速な学習ならびに判別が可能である。
【００５９】
なお、上記例では、特徴マップの第1インデックスによって属性パラメータの挟み込みを行ったが、第2インデックスを採用しても良い。この場合、中間画像Kの各画素の画素値は、各画素M[x,y]と、属性パラメータp1と、に対して、
K[x,2y] = M[x,y]; 
K[x,2y+1] = p1
のように定めることができる。図11は、特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。本図においても、上記例と同様の仕様にて、画像M、中間画像K、カーネルCの関係を図示している。
【００６０】
この態様での畳み込みカーネルCのサイズおよびストライドは、幅(横)1ドット、高さ(縦)2ドットとすれば良い。すると、対象画像Mと属性パラメータの畳み込みは、
N[x,y] = Σj=01 wjK[x,2y+j]
により計算できる。
【００６１】
一般に、L次元の特徴マップに対してA個の属性パラメータを挟み込む際には、いずれのインデックスを利用しても良い。たとえば、第1インデックスに対して挟み込む場合には、
K[(A+1)i1, i2, …, iL] = M[i1, i2, …, iL]; 
K[(A+1)i1+1, i2, …, iL] = p1; 
K[(A+1)i1+2, i2, …, iL] = p2; 
…; 
K[(A+1)i1+A, i2, …, iL] = pA
のように、一旦中間画像Kを生成する。
【００６２】
そしてカーネルサイズおよびストライドが(A+1)×1×…×1の畳み込み演算
N[x,y] = Σj=0A wjK[(A+1)x+j,y]
を行うことで、特徴マップNを得ることができる。
【００６３】
第kインデックスに対して挟み込む場合には、中間画像Kは、
K[(A+1)i1, i2, …, iL] = M[i1, i2, …, iL]; 
K[(A+1)i1+1, i2, …, iL] = p1; 
K[(A+1)i1+2, i2, …, iL] = p2; 
…; 
K[(A+1)i1+A, i2, …, iL] = pA
となり、カーネルサイズおよびストライドは、第kインデックスについては(A+1)、それ以外のインデックスについては1となる。
【００６４】
図12は、特徴マップMから生成された中間画像Kに対してカーネルCを適用する様子を示す説明図である。本図では、サイズ3×4の2次元の特徴マップMの第1インデックスに対して、2個の属性パラメータからなる画素Dを挟み込んだ場合について、上記の例と同様に、中間画像KおよびカーネルCを図示している。
【００６５】
なお、RGB三原色のカラー画像を特徴マップとすることもできる。この場合、特徴マップは3次元により表現されることになる。画像のX軸方向が1次元目、Y軸方向が2次元目、RGBの色のチャンネル方向が3次元目である。
【００６６】
TensorFlowやKerasでは、X軸(横方向、第1インデックス)、Y軸(縦方向、第2インデックス)のほか、色のチャンネル方向(第3インデックス)についても、ライブラリによる畳み込み演算がサポートされている。
【００６７】
色のチャンネル方向における畳み込み演算には、たとえば、RGB画像をグレイスケール画像に変換する演算等がある。したがって、畳み込みに第3インデックスを利用した場合であっても、高速な学習ならびに判別が可能である。
【００６８】
たとえば、対象画像がグレイスケール画像であり、属性パラメータが1つもしくは2つの場合は、RGBのいずれかのチャンネルを当該グレイスケール画像とし、残りのチャンネルにおける画素を各属性パラメータの値で埋め尽くすこととしてから、RGB方向に畳み込めば、高速な学習および判別ができることになる。
【００６９】
このほか、第3インデックス以降として、時間経過を採用することもできる。人工知能ライブラリによって動画の特徴を抽出する場合には、時間経過の軸方向の畳み込み演算を利用するので、この場合にも、第3インデックス以降の畳み込み演算を担う高速なライブラリが用意されることが期待される。このようなライブラリを利用すると、同じ被験者について期間をおいて撮影した複数の画像により、患部の時間経過を見て、各種の診断を行うことができる。
【００７０】
この場合、時間経過に応じた写真群がない場合には、時間経過軸方向に、各属性パラメータを並べて、時間経過軸方向に畳み込みを行えば良いことになる。
【００７１】
図13は、本実施例に係るニューラルネットワークの画像フィルターの構成を示す説明図である。本例は、被験者の角膜内皮写真と被験者の年齢から、内眼手術のリスクを学習および判定する構成である。以下、本図を参照して説明する。
【００７２】
対象画像Mは、受付部102にて受け付けられているが、本図に示すように、挟み込み層201は、対象画像Mに対して属性パラメータを周期的に挟み込むことにより、中間画像Kを生成する。
【００７３】
そして、畳み込み層202において挟み込みを行ったインデックスにおけるサイズおよびストライドを、属性パラメータの個数Aに1を加算した値、それ以外のインデックスにおけるサイズおよびストライドを、1としたカーネルにより、中間画像Kを畳み込む。これにより、対象画像Mと属性パラメータとが埋め込まれた、対象画像Mと同じサイズの特徴マップNが得られる。すなわち、畳み込み部105は、挟み込み層201と、畳み込み層202と、によって実現される。
【００７４】
以降の構成は、通常の畳み込みニューラルネットワークで分類を行う場合と同様である。本図では、かなり単純で高速な構成を採用している。すなわち、畳み込み層251a、プーリング層252a、畳み込み層251b、プーリング層252bを経て、平滑層253、全結合層254a、全結合層254bに至る。
【００７５】
全結合層254bの出力は、二値、スカラー値、ベクトル値のいずれでも良い。二値の場合には、内眼手術のリスクの高低が、そのまま対応付けられる。スカラー値の場合は、当該スカラー値がリスクの度合を示すので、閾値との比較によって可否を決める。ベクトル値の場合には、ベクトル値を分類するための超平面をサポートベクターマシン等を用いて求めれば良い。
【００７６】
学習段階では、内眼手術のリスクの高低と、全結合層254bの出力と、を照合してバックプロパゲーションを行ない、畳み込み部105の畳み込み層202を含む各層における重み係数が自動調整されて、対象写真と年齢とを総合的に判断するための学習がなされることになる。
【００７７】
分類段階では、被験者の対象写真と属性パラメータを与えることで、内眼手術のリスクの高低に関する出力が、全結合層254bから得られることになる。
【００７８】
なお、畳み込み層251aから全結合層254bまでの構成は、用途や計算機の性能、試行実験における傾向、設計者の経験等に基づいて、任意に変更が可能である。本実施形態は、対象画像の各画素に属性パラメータを畳み込んだ後は、以降の各層の構成については、通常の画像認識用のニューラルネットワーク等をそのままライブラリ的に利用することが可能である点に特徴がある。
【００７９】
また、上記の例では、最初に対象画像に属性パラメータを畳み込んでから、以降の層に渡すこととしていたが、対象画像に対して畳み込みおよびプーリングを行って得られた中間の対象マップに対して、属性パラメータを畳み込むこととしても良い。
【００８０】
すなわち、挟み込み層201および畳み込み層202からなる畳み込み部105は、ニューラルネットワーク内の任意の層の間に配置が可能な部品である。したがって、ニューラルネットワーク内の任意の層の間に、特徴パラメータの特徴値と属性パラメータを畳み込む層を挿入することで、対象画像と属性パラメータを統合した学習および判断が可能となる。いずれの層間に挿入するか、ならびに、そのほかの層の構成については、事前実験等によって定めることができる。
【００８１】
このほか、挟み込み層201により中間画像Kを明示的に生成するのを省略して、畳み込み層202において、特徴マップの各要素と属性パラメータとを畳み込む演算を、GPU等を用いて行うライブラリを作成することにより、実現しても良い。
【００８２】
(実験結果)
被験者の角膜内皮写真から得た対象画像と、当該被験者の年齢と、に基いて学習ならびに分類を行う実験を行った。被験者総数は34歳から88歳までの51人であり、陰性(低リスク)25人、陽性(高リスク)26人である。
【００８３】
各被験者の角膜内皮写真は、8ビットグレイスケール画像で約300×480ドットであり、その中から、医師や検査技師が書き込んだ白線や白点がない(比較的不明瞭な)領域から、56×56ドットの対象画像を1枚乃至20枚抜き出した。対象画像および年齢のセットの総数は、661個である。
【００８４】
そして、528個(セット全体の8割)の学習用セットをランダムに選んで、上記の分類装置101に学習させた後、残りの133個(セット全体の2割)を分類用セットとして、分類の正解率を求める試行を、100回行った。
【００８５】
なお、従来技術Aとして、対象画像のみを用いて年齢を参照しない場合、従来技術Bとして、ニューラルネット内で特徴マップと年齢をConcatenateにより連結した場合との対比を行った。
【００８６】
本実施例では、まず、対象画像に年齢を畳み込み(挟み込み層201および畳み込み層202)、以降の層(畳み込み層251aから全結合層254bまで)は、従来技術Aと同じ構成のニューラルネットワークを利用して実験を行った。
【００８７】
すると、従来技術Aでは、正解率76.64%、従来技術Bでは、正解率80.52%であるのに対し、本実施例によれば、正解率87.48%で分類が可能となり、精度が向上していることがわかる。
【００８８】
(他の実施形態)
上記実施例では、挟み込み層201において、特徴マップMの画素列(あるいは画素行)と交互に、属性パラメータDの列(あるいは行)を配置することによって中間画像Kを得ていたが、本実施例では、交互に追加された後についても、さらに属性パラメータDの列(あるいは行)を、はみ出して追加する。はみ出して追加された部分をパディング領域といい、元の領域、すなわち、特徴マップMに起因する画素と属性パラメータDに起因する画素とが交互に配置されている非パディング領域という。
【００８９】
属性パラメータをはみ出して追加する場合には、非パディング領域内では、カーネル内の特徴マップの画素が配置されるべき場所(本図の例では左側)と、カーネル内の属性パラメータが配置されるべき場所(本図の例では右側)と、に、何を配置するか、によって、種々のバリエーションが考えられる。また、どの程度の数の列を追加するか、によっても、種々のバリエーションが考えられる。
【００９０】
図14は、パディングの様子を示す説明図である。以下本図に示す例を参照して説明する。
【００９１】
本例では、カーネルの右と左の両方に属性パラメータを並べて追加している。すなわち、パディング領域(W≦x<W+P)においては、
K[2x,y] = p1; 
K[2x+1,y] = p1
としたことになる。
【００９２】
本例のパディングについて、角膜内皮写真と年齢による上記の実験諸元に対して、はみ出し量Pを元の対象マップサイズの幅Wの半分乃至同(P=W/2ならびにP=W)として、実験を行ったところ、正解率が、88.67%乃至88.89%と向上した。
【００９３】
図15は、パディングの様子を示す説明図である。以下、本図に示す例を参照して説明する。
【００９４】
本例では、上記の例とは異なり、左側には属性パラメータを、右側には値0を、それぞれ配置している。すなわち、パディング領域(W≦x<W+P)においては、
K[2x,y] = p1; 
K[2x+1,y] = 0
としたことになる。
【００９５】
本図例でも同様の実験を行なったところ、さらに分離性能が向上し、P=W/2では88.8%、P=Wでは89.2%となった。
【００９６】
これは、カーネル内において、特徴マップに由来する画素に対する重み係数が乗じられる場所に、属性パラメータに由来する値を配置することで、過学習が防止されるからと考えられる。
【００９７】
属性パラメータが複数ある場合には、それらの単純平均もしくは重み付き平均eを用いて、パディング領域については、
K[(A+1)i1, i2, …, iL] = e
K[(A+1)i1+1, i2, …, iL] = p1; 
K[(A+1)i1+2, i2, …, iL] = p2; 
…; 
K[(A+1)i1+A, i2, …, iL] = pA
とする、あるいは、
K[(A+1)i1, i2, …, iL] = e
K[(A+1)i1+1, i2, …, iL] = 0; 
K[(A+1)i1+2, i2, …, iL] = 0; 
…; 
K[(A+1)i1+A, i2, …, iL] = 0
とすることで、さらに性能の向上をすることができる。
【００９８】
なお、パディング領域K[(A+1)i1+1, i2, …, iL]乃至K[(A+1)i1+A, i2, …, iL]においては、属性パラメータp1乃至pAや0で埋めるかわりに、0以外の定数や乱数などを用いても良い。このほか、特徴マップMの画素値を転記あるいは間引いて入れることも可能である。
【００９９】
なお、学習用データにおける被験者の各属性の平均をeとして採用することもできる。たとえば、上記の実験の諸元において、学習用データの被験者の平均年齢を求め、各被験者についてe(平均年齢)とp1(当該被験者の年齢)を並べて、P=Wによりパディングした場合、精度が91.3%となった。
【０１００】
各被験者に複数の属性パラメータが割り当てられており、被験者毎に重み付き平均eを求めるためには、以下の手法が考えられる。まず、パディングを行わずに学習を行って、カーネルCにおける重みw0, w1, w2, …, wAを一旦求める。
【０１０１】
つぎに、この重みによって平均eを求める。すなわち、
e = Σj=1A wjpj/Σj=1A wj
とする。
【０１０２】
そして、上記のパディングを行ってから、もう一度学習をやり直す。
【０１０３】
学習用の各被験者について複数の属性パラメータの重み付き平均eを求めた後は、e, p1, p2, …, pAの繰り返しをパディングすることができる。これは、上記実験例では、被験者の年齢の繰り返しをパディングすること(正解率88.67%-88.89%)に相当する。
【０１０４】
また、学習用の全被験者について重み付き平均eのさらに平均Eを求めて、e, p1, p2, …, pA の繰り返しをパディングすることとしても良い。これは、上記実験例では、学習用被験者の平均年齢と、当該被験者の年齢と、の繰り返しをパディングすること(正解率91.3%)に相当する。
【０１０５】
このように、非パディング領域において特徴マップに起因する特徴量に適用されるカーネル内の位置については、パディング領域では、属性パラメータに起因する値をパディングすることで、分離性能をより高めることができる。
【０１０６】
また、上記の各種のパディング手法のいずれを採用するか、は、用途等に応じて、適宜事前実験を行うことにより、対象に応じて最も正解率の高い手法を採用することができる。
【０１０７】
(他の応用例)
上記実施例では、具体例として、角膜内皮写真と年齢の組み合わせに本願発明を適用した例について説明したが、医療用写真と患者の各種の属性パラメータを組み合わせた任意の診断や判定において、上記の分類装置101を適用することが可能である。
【０１０８】
このほか、結婚相談所において紹介相手のマッチングを行う場合や、俳優やモデルなどの芸能人の候補者の将来の人気を予測する場合においても、上記の分類装置101を適用することが可能である。これらの分野においては、対象となる人物の顔写真と当該人物の年齢、性別、身長等の属性パラメータが重要なファクターとなるからである。
【０１０９】
(まとめ)
以上説明したように、本実施形態に係る分類装置は、
対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付ける受付部と、
前記対象をニューラルネットワークにより分類する分類部と、
を備え、前記ニューラルネットワークは、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む畳み込み部
を備える。
【０１１０】
また本実施形態に係る分類装置において、
前記受け付けられた対象画像が、前記特徴マップとして、前記ニューラルネットワークに与えられる
ように構成することができる。
【０１１１】
また本実施形態に係る分類装置において、
前記畳み込み部は、前記与えられた特徴マップに含まれる特徴要素間に、前記受け付けられた1以上の属性パラメータをそれぞれ要素値とする1以上の属性要素を、所定周期で周期的に挿入した中間マップに対して、前記所定周期と同じ大きさの畳み込みカーネルを、前記畳み込みカーネルと同じ大きさのストライドで適用する
ように構成することができる。
【０１１２】
また本実施形態に係る分類装置において、
前記畳み込みカーネルは、前記特徴マップに由来する1つの特徴要素と、前記1以上の属性要素と、を畳み込む
ように構成することができる。
【０１１３】
また本実施形態に係る分類装置において、
前記畳み込みカーネルの大きさにおける幅および高さの
一方は、1であり、
他方は、前記1以上の属性要素の数に1を加算した長さである
ように構成することができる。
【０１１４】
また本実施形態に係る分類装置において、
前記畳み込み部は、さらに、前記与えられた特徴マップの周囲のいずれか少なくとも一辺に対して、パディングを行い、
前記パディングがされる領域において前記カーネルが適用される位置のうち、前記特徴要素に適用されるべき位置には、前記属性パラメータに起因する値を有する要素をパディングする
ように構成することができる。
【０１１５】
また本実施形態に係る分類装置において、
前記受け付けられた1以上の属性パラメータの数は、1であり、
前記属性パラメータに起因する値は、前記受け付けられた属性パラメータの値である
ように構成することができる。
【０１１６】
また本実施形態に係る分類装置において、
前記受け付けられた1以上の属性パラメータの数は、複数であり、
前記属性パラメータに起因する値は、前記受け付けられた属性パラメータの単純平均値もしくは重み付き平均である
ように構成することができる。
【０１１７】
また本実施形態に係る分類装置において、
前記パディングを行わずに学習を行ってカーネルを求め、
前記求められたカーネルによる重みを前記重み付き平均において使用して、前記パディングを行ってから、再度学習を行う
ように構成することができる。
【０１１８】
本実施形態に係る分類方法は、
分類装置が、対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付ける受付ステップと、
前記分類装置が、前記対象をニューラルネットワークにより分類する分類ステップと、
を備え、前記ニューラルネットワークにおいて、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む。
【０１１９】
本実施形態に係るプログラムは、コンピュータに、
対象が撮影された対象画像と、前記対象に対応付けられた1以上の属性パラメータと、を受け付け、
前記対象をニューラルネットワークにより分類する
処理を実行させるプログラムであって、前記ニューラルネットワークは、
与えられた特徴マップの各要素と、前記受け付けられた1以上の属性パラメータと、を畳み込む畳み込み部
を備える。
【０１２０】
本実施形態に係るプログラムは、コンピュータに、
対象に対応付けられた特徴マップと、前記対象に対応付けられた1以上の属性パラメータと、を取得し、
前記取得された特徴マップの各要素と、前記取得された1以上の属性パラメータと、を畳み込むことにより、新たな特徴マップを生成する
処理を実行させる。
【０１２１】
当該プログラムは、非一時的なコンピュータ読取可能な情報記録媒体に記録して配布、販売することができる。また、コンピュータ通信網等の一時的な伝送媒体を介して配布、販売することができる。
【０１２２】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０１２３】
本発明によれば、対象が撮影された対象画像と、対象に対応付けられた1以上の属性パラメータと、に基づいて、ニューラルネットワークにより対象を分類する分類装置、分類方法、プログラム、ならびに、情報記録媒体を提供することができる。
【符号の説明】
【０１２４】
101 分類装置
102 受付部
103 ニューラルネットワーク部
104 分類部
105 畳み込み部
201 挟み込み層
202 畳み込み層
251a, 251b 畳み込み層
252a, 252b プーリング層
253 平滑層
254a, 254b 全結合層
【図１】
2019095980.tif 000003
【図２】
2019095980.tif 000004
【図３】
2019095980.tif 000005
【図４】
2019095980.tif 000006
【図５】
2019095980.tif 000007
【図６】
2019095980.tif 000008
【図７】
2019095980.tif 000009
【図８】
2019095980.tif 000010
【図９】
2019095980.tif 000011
【図１０】
2019095980.tif 000012
【図１１】
2019095980.tif 000013
【図１２】
2019095980.tif 000014
【図１３】
2019095980.tif 000015
【図１４】
2019095980.tif 000016
【図１５】
2019095980.tif 000017