(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】認識システム、認識方法、プログラム、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240903BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2020186047
(22)【出願日】2020-11-06
【審査請求日】2023-09-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100101454
【氏名又は名称】山田 卓二
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(74)【代理人】
【識別番号】100091524
【氏名又は名称】和田 充夫
(74)【代理人】
【識別番号】100161883
【氏名又は名称】北出 英敏
(72)【発明者】
【氏名】籔内 智浩
(72)【発明者】
【氏名】吉田 英司
【審査官】山田 辰美
(56)【参考文献】
【文献】LEDIG,Chistian et al.,Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network,2017 IEEE Conference on Computer Vision and Pattern Recognition,米国,IEEE,2017年11月09日,p.105-p.114,https://ieeexplore.org/document/8099502
【文献】PARK,Taesung et al.,Semantic Image Synthesis With Spatially-Adaptive Normalizaiton,2019 IEEE Conference on Computer Vision and Pattern Recognition,米国,IEEE,2020年01月09日,p.2332-p.2341,https://ieeexplore.ieee.org/document/8953676
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
学習済みモデルを記憶する記憶装置と、
前記記憶装置にアクセス可能な演算回路と、
を備え、
前記学習済みモデルは、
対象物が第1解像度で写る第1解像度画像の入力に対して、前記第1解像度画像を前記第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像及び前記第1解像度画像と前記第2解像度画像との差分に相当する差分画像を出力するように学習された第1モデル部と、
前記第2解像度画像及び前記差分画像の入力に対して前記対象物の特徴量を出力するように学習された第2モデル部と、
を含み、
前記演算回路は、
前記第1解像度画像を対象画像として取得する取得処理と、
前記取得処理で取得した前記対象画像を前記学習済みモデルに与えて、前記対象画像に写る対象物の特徴量を前記学習済みモデルに算出させる推論処理と、
を実行する、
認識システム。
【請求項2】
前記推論処理は、前記対象画像に写る対象物の特徴量に基づいて前記対象物の認識を行うことを含む、
請求項1に記載の認識システム。
【請求項3】
前記演算回路は、前記推論処理の結果を出力する出力処理を実行する、
請求項1又は2に記載の認識システム。
【請求項4】
学習済みモデルを記憶する記憶装置にアクセス可能な演算回路により実行される認識方法であって、
前記学習済みモデルは、
対象物が第1解像度で写る第1解像度画像の入力に対して、前記第1解像度画像を前記第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像及び前記第1解像度画像と前記第2解像度画像との差分に相当する差分画像を出力するように学習された第1モデル部と、
前記第2解像度画像及び前記差分画像の入力に対して前記対象物の特徴量を出力するように学習された第2モデル部と、
を含み、
前記認識方法は、
前記第1解像度画像を対象画像として取得する取得処理と、
前記取得処理で取得した前記対象画像を前記学習済みモデルに与えて、前記対象画像に写る対象物の特徴量を前記学習済みモデルに算出させる推論処理と、
を含む、
認識方法。
【請求項5】
請求項4に記載の認識方法を、前記演算回路に実行させるための、
プログラム。
【請求項6】
モデルを準備する準備ステップと、
前記準備ステップで準備した前記モデルを用いて機械学習を実行する学習ステップと、
を含み、
前記モデルは、第1モデル部と、第2モデル部と、第3モデル部と、を含み、
前記第1モデル部は、対象物が第1解像度で写る第1解像度画像の入力に対して、前記第1解像度画像を前記第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像及び前記第1解像度画像と前記第2解像度画像との差分に相当する差分画像を出力するためのモデルであり、
前記第2モデル部は、前記第1モデル部からの前記第2解像度画像及び前記差分画像の入力に対して前記対象物の特徴量を出力するためのモデルであり、
前記第3モデル部は、前記第2モデル部からの前記対象物の特徴量の入力に対して前記対象物の認識の結果を出力するためのモデルであり、
前記学習ステップは、前記第1解像度画像を入力、前記第1解像度画像に写る対象物の認識の結果を正解とする学習用データセットを用いた機械学習により、前記モデルに前記第1解像度画像と前記前記第1解像度画像に写る対象物の特徴量との関係を学習させることを含む、
学習方法。
【請求項7】
前記準備ステップは、
前記第1解像度画像を入力、前記第2解像度画像及び前記差分画像を正解とする学習用データセットを生成する生成ステップと、
前記生成ステップで生成された学習用データセットを用いて前記第1モデル部に前記第1解像度画像と前記第2解像度画像及び前記差分画像との関係を学習させる事前学習ステップと、
を含む、
請求項6に記載の学習方法。
【請求項8】
前記生成ステップは、
前記第2解像度画像を取得する第1ステップと、
前記第1ステップで取得した前記第2解像度画像を前記第1解像度の画像に変換して前記第1解像度画像を生成する第2ステップと、
前記第1ステップで取得した前記第2解像度画像と前記第2ステップで生成した前記第1解像度画像とから前記差分画像を生成する第3ステップと、
前記第2ステップで生成した前記第1解像度画像を入力、前記第1ステップで用意した前記第2解像度画像及び前記第3ステップで生成した前記差分画像を正解とする学習用データセットを生成する第4ステップと、
を含む、
請求項7に記載の学習方法。
【請求項9】
前記第3ステップは、前記第2ステップで生成した前記第1解像度画像を前記第1ステップで取得した前記第2解像度画像と同じ画像サイズに拡大し、拡大後の前記第1解像度画像と前記第1ステップで取得した前記第2解像度画像との画素値の差分に基づいて前記差分画像を生成する、
請求項8に記載の学習方法。
【請求項10】
前記差分画像の各画素値の範囲は、拡大後の前記第1解像度画像と前記第1ステップで取得した前記第2解像度画像の各画素値の範囲より狭い、
請求項9に記載の学習方法。
【請求項11】
前記モデルは、前記第2解像度画像の入力に対して、前記第2解像度画像が前記第1モデル部で生成された画像か否かの判定の結果を出力するための第4モデル部を含み、
前記学習ステップは、前記第4モデル部から出力される前記判定の結果に基づいて前記第1モデル部と前記第4モデル部との少なくとも一方の追加学習を実行することを含む、
請求項6~10のいずれか一つに記載の学習方法。
【請求項12】
対象物が第1解像度で写る第1解像度画像の入力に対して、前記第1解像度画像を前記第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像及び前記第1解像度画像と前記第2解像度画像との差分に相当する差分画像を出力するように学習され
、前記第1解像度画像の入力に対して前記第2解像度画像及び前記差分画像を出力するようにコンピュータを機能させる第1モデル部と、
前記第2解像度画像及び前記差分画像の入力に対して前記対象物の特徴量を出力するように学習され
、前記第2解像度画像及び前記差分画像の入力に対して前記特徴量を出力するようにコンピュータを機能させる第2モデル部と、
を含む、
学習済みモデル。
【請求項13】
対象物が写る基準画像を取得する第1ステップと、
前記基準画像を前記基準画像よりも低い解像度の低解像度画像に変換する第2ステップと、
前記基準画像と前記低解像度画像との差分に相当する差分画像を生成する第3ステップと、
前記低解像度画像を入力、前記基準画像及び前記差分画像を正解とする学習用データセットを生成する第4ステップと、
を含む、
学習用データセット生成方法
。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、認識システム、認識方法、プログラム(コンピュータプログラム)、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法に関する。本開示は、特に、画像に写る対象物に関する認識システム、認識方法、プログラム(コンピュータプログラム)、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法に関する。
【背景技術】
【0002】
非特許文献1は、ディープラーニングを用いた顔認識の技術を開示する。非特許文献1では、顔認識に用いる画像の解像度の低さの影響を低減するために、低解像度の画像から高解像度の画像を生成する生成ネットワーク(超解像ネットワーク)を利用し、超解像ネットワークにより得られる高解像度の画像をもとに顔認識を実行することを開示する。
【先行技術文献】
【非特許文献】
【0003】
【文献】Bayram Bayramli,他3名,“FH-GAN: Face Hallucination and Recognition using Generative Adversarial”,[online],2019年5月16日,[2020年9月3日検索],Cornell University,インターネット<URL:https://arxiv.org/abs/1905.06537>
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、対象物の認識の精度の向上が図れる、認識システム、認識方法、プログラム、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様の認識システムは、学習済みモデルを記憶する記憶装置と、記憶装置にアクセス可能な演算回路と、を備える。学習済みモデルは、第1モデル部と、第2モデル部と、を含む。第1モデル部は、第1解像度画像の入力に対して、第2解像度画像及び差分画像を出力するように学習されたモデルである。第1解像度画像は、対象物が第1解像度で写る画像である。第2解像度画像は、第1解像度画像を第1解像度より高い第2解像度に変換して得られる画像に相当する。差分画像は、第1解像度画像と第2解像度画像との差分に相当する画像である。第2モデル部は、第2解像度画像及び差分画像の入力に対して対象物の特徴量を出力するように学習されたモデルである。演算回路は、第1解像度画像を対象画像として取得する取得処理と、取得処理で取得した対象画像を学習済みモデルに与えて、対象画像に写る対象物の特徴量を学習済みモデルに算出させる推論処理と、を実行する。
【0006】
本開示の一態様の認識方法は、学習済みモデルを記憶する記憶装置にアクセス可能な演算回路により実行される認識方法である。学習済みモデルは、第1モデル部と、第2モデル部と、を含む。第1モデル部は、第1解像度画像の入力に対して、第2解像度画像及び差分画像を出力するように学習されたモデルである。第1解像度画像は、対象物が第1解像度で写る画像である。第2解像度画像は、第1解像度画像を第1解像度より高い第2解像度に変換して得られる画像に相当する。差分画像は、第1解像度画像と第2解像度画像との差分に相当する画像である。第2モデル部は、第2解像度画像及び差分画像の入力に対して対象物の特徴量を出力するように学習された。認識方法は、第1解像度画像を対象画像として取得する取得処理と、取得処理で受け取った対象画像を学習済みモデルに与えて、対象画像に写る対象物の特徴量を学習済みモデルに算出させる推論処理と、を含む。
【0007】
本開示の一態様のプログラムは、認識方法を、演算回路に実行させるための、プログラムである。
【0008】
本開示の一態様の学習方法は、モデルを準備する準備ステップと、準備ステップで準備したモデルを用いて機械学習を実行する学習ステップと、を含む。モデルは、第1モデル部と、第2モデル部と、第3モデル部と、を含む。第1モデル部は、第1解像度画像の入力に対して、第2解像度画像及び差分画像を出力するためのモデルである。第1解像度画像は、対象物が第1解像度で写る画像である。第2解像度画像は、第1解像度画像を第1解像度より高い第2解像度に変換して得られる画像に相当する。差分画像は、第1解像度画像と第2解像度画像との差分に相当する画像である。第2モデル部は、第1モデル部からの第2解像度画像及び差分画像の入力に対して対象物の特徴量を出力するためのモデルである。第3モデル部は、第2モデル部からの対象物の特徴量の入力に対して対象物の認識の結果を出力するためのモデルである。学習ステップは、第1解像度画像を入力、第1解像度画像に写る対象物の認識の結果を正解とする学習用データセットを用いた機械学習により、モデルに第1解像度画像と第1解像度画像に写る対象物の特徴量との関係を学習させることを含む。
【0009】
本開示の一態様の学習済みモデルは、第1モデル部と、第2モデル部と、を含む。第1モデル部は、第1解像度画像の入力に対して、第2解像度画像及び差分画像を出力するように学習されたモデルである。第1解像度画像は、対象物が第1解像度で写る画像である。第2解像度画像は、第1解像度画像を第1解像度より高い第2解像度に変換して得られる画像に相当する。差分画像は、第1解像度画像と第2解像度画像との差分に相当する画像である。第2モデル部は、第2解像度画像及び差分画像の入力に対して対象物の特徴量を出力するように学習されたモデルである。
【0010】
本開示の一態様の蒸留モデルは、学習済みモデルの蒸留により生成される。
【0011】
本開示の一態様の認識システムは、蒸留モデルを記憶する記憶装置と、記憶装置にアクセス可能な演算回路と、を備える。演算回路は、取得処理と、推論処理と、を実行する。取得処理は、第1解像度画像を対象画像として取得する処理である。推論処理は、取得処理で取得した対象画像を蒸留モデルに与えて、対象画像に写る対象物の特徴量を蒸留モデルに算出させる処理である。
【0012】
本開示の一態様の学習用データセット生成方法は、第1ステップと、第2ステップと、第3ステップと、第4ステップと、を含む。第1ステップは、対象物が写る基準画像を取得するステップである。第2ステップは、基準画像を基準画像よりも低い解像度の低解像度画像に変換するステップである。第3ステップは、基準画像と低解像度画像との差分に相当する差分画像を生成するステップである。第4ステップは、低解像度画像を入力、基準画像及び差分画像を正解とする学習用データセットを生成するステップである。
【発明の効果】
【0013】
本開示の態様によれば、対象物の認識の精度の向上が図れる、という効果を奏する。
【図面の簡単な説明】
【0014】
【
図2】認識システムで実行される学習済みモデルを用いた認識方法の説明図
【
図4】認識システムで用いる学習済みモデルを生成するための学習方法のフローチャート
【
図6】学習方法を実行する学習システムのブロック図
【発明を実施するための形態】
【0015】
(1)実施の形態
(1-1)概要
図1は、一実施の形態の認識システム10を示す。認識システム10は、対象物100の認識を行うためのシステムである。特に、認識システム10は、対象物100の写る画像のデータを撮像システム200から取得し、画像に写る対象物100の認識の結果を制御システム300に提供し、制御システム300にて認識の結果に応じた動作を実行させるために用いられる。
【0016】
対象物100は、認識システム10による認識の対象となる視認可能な物体である。対象物100は、本実施の形態では、人を想定している。対象物100は、人に限らず、人以外の動物等の生物であってもよい。対象物100は、生物に限らず、無生物であってもよい。無生物の例としては、二輪車、自動車、船舶、航空機等の乗り物やドローン等を含む移動物体が挙げられる。対象物100は、物体の全体に限らず、物体の一部であってもよい。
【0017】
撮像システム200は、対象物100が写る画像のデータを生成するためのシステムである。本実施の形態では、「対象物100が写る」は、対象物100の全部ではなく少なくとも一部が写ることをいう。例えば、対象物100が人である場合、人の顔が写る画像は、対象物100が写る画像であるといえる。撮像システム200は、認識システム10に通信可能に接続され、対象物100が写る画像のデータを認識システム10に提供することが可能である。撮像システム200は、1以上のカメラ(デジタルカメラ)を含む。
【0018】
制御システム300は、対象物100の認識の結果に応じた動作を実行する機能を持つシステムである。一例では、制御システム300は、工場、店舗、ビル(ビル全体、フロア内)等の施設の扉の制御に利用され得る。制御システム300は、対象物100の認識の結果が、対象物100が扉の通行を許可されている人であれば、扉の施錠を解除することができる。別例では、制御システム300は、ロボットの動作(行動)の制御に利用され得る。制御システム300は、対象物100の認識の結果に応じてロボットの動作を決定することができる。制御システム300は、認識システム10に通信可能に接続され、対象物100の認識の結果を認識システム10から受け取ることが可能である。制御システム300は、1以上のメモリ及び1以上のプロセッサ等を含むコンピュータシステムを含む。
【0019】
認識システム10は、
図1に示すように、学習済みモデルM10を記憶する記憶装置12と、記憶装置12にアクセス可能な演算回路13と、を備える。学習済みモデルM10は、
図2に示すように、第1モデル部M11と、第2モデル部M12と、を含む。第1モデル部M11は、対象物100が第1解像度で写る第1解像度画像P10の入力に対して、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像P20及び差分画像P30を出力するように学習されたモデルである。差分画像P30は、第1解像度画像P10と第2解像度画像P20との差分に相当する画像である。第2モデル部M12は、第1モデル部M11からの第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F11を出力するように学習されたモデルである。演算回路13は、
図3に示すように、第1解像度画像P10を対象画像として取得する取得処理S11と、取得処理S11で取得した対象画像を学習済みモデルM10に与えて、対象画像に写る対象物100の特徴量F11を学習済みモデルM10に算出させる推論処理S12と、を実行する。
【0020】
このように、認識システム10は、対象物100が写る第1解像度画像P10から対象物100の特徴量F11を抽出するにあたって、第1解像度画像P10よりも解像度が高い第2解像度画像P20とともに、差分画像P30を利用する。第2解像度画像P20は第1解像度画像P10よりも解像度が高いから、第1解像度画像P10と同じ対象物100を第1解像度画像P10よりも近くで写した画像とであるといえる。対象物100を近くで写した画像のほうが、対象物100の認識の精度の向上が期待できることは経験上明らかである。この点を考慮すると、対象物100との距離が大きくなることによって失われる情報は、対象物100の認識の精度への影響が大きいと考えられる。例えば、第1解像度画像P10及び第2解像度画像P20が人の顔の画像である場合、対象物100との距離が大きくなることによって失われる情報は、顔の目、鼻、口等に関する詳細な情報が挙げられる。一方で、顔の輪郭等の情報は、第1解像度画像P10及び第2解像度画像P20の間で保持されていると考えられる。差分画像P30は、第1解像度画像P10と第2解像度画像P20との差分に相当する画像であるから、対象物100との距離が大きくなることで第2解像度画像P20から失われた情報を表しているといえる。認識システム10が利用する学習済みモデルM10は、差分画像P30を第2高解像度画像P20とともに利用して、対象物100が写る第1解像度画像P10から対象物100の特徴量F11を抽出する。したがって、認識システム10によれば、対象物100の認識の精度の向上が図れる。
【0021】
(1-2)詳細
(1-2-1)認識システム
以下、認識システム10について詳細に説明する。認識システム10は、
図1に示すように、インタフェース11と、記憶装置12と、演算回路13と、を備える。本実施の形態では、認識システム10は、1台のサーバで実現される。
【0022】
インタフェース11は、認識システム10への情報の入力、及び、認識システム10からの情報の出力に利用される。インタフェース11は、入出力装置111と、通信装置112と、を含む。入出力装置111は、ユーザからの情報の入力のための入力装置、及び、ユーザへの情報の出力のための出力装置としての機能を有する。入出力装置111は、1以上のヒューマン・マシン・インタフェースを備える。ヒューマン・マシン・インタフェースの例としては、キーボード、ポインティングデバイス(マウス、トラックボール等)、タッチパッド等の入力装置、ディスプレイ、スピーカ等の出力装置、タッチパネル等の入出力装置が挙げられる。通信装置112は、外部装置又はシステムと通信可能に接続される。本実施の形態では、通信装置112は、通信ネットワークを通じた撮像システム200及び制御システム300との通信に用いられる。通信装置112は、1以上の通信インタフェースを備える。通信装置112は、通信ネットワークに接続可能であり、通信ネットワークを通じた通信を行う機能を有する。通信装置112は、所定の通信プロトコルに準拠している。所定の通信プロトコルは、周知の様々な有線及び無線通信規格から選択され得る。
【0023】
記憶装置12は、演算回路13が利用する情報及び演算回路13で生成される情報を記憶するために用いられる。記憶装置12は、1以上のストレージ(非一時的な記憶媒体)を含む。ストレージは、例えば、ハードディスクドライブ、光学ドライブ、及びソリッドステートドライブ(SSD)のいずれであってもよい。また、ストレージは、内蔵型、外付け型、およびNAS(network-attached storage)型のいずれであってもよい。
【0024】
記憶装置12に記憶される情報は、学習済みモデルM10と、データベースD10と、を含む。
図1では、記憶装置12が、学習済みモデルM10とデータベースD10との全てを記憶している状態を示している。学習済みモデルM10及びデータベースD10は常に記憶装置12に記憶されている必要はなく、演算回路13で必要とされるときに記憶装置12に記憶されていればよい。
【0025】
学習済みモデルM10は、認識システム10で対象物100の認識に用いられる。
図2に示すように、学習済みモデルM10は、第1解像度画像P10の入力に対して、第1解像度画像P10に写る対象物100の特徴量F11を出力するように学習されている。学習済みモデルM10は、第1モデル部M11と、第2モデル部M12と、を含む。
【0026】
第1モデル部M11は、第1解像度画像P10の入力に対して、第2解像度画像P20及び差分画像P30を出力するように学習されたモデル(学習済みモデル)である。第1解像度画像P10は、対象物100が第1解像度で写る画像である。本実施の形態では、対象物100は人である。第1解像度画像P10は、対象物100の全部ではなく一部の特徴部分が写る画像を想定している。特徴部分は、対象物100の認識に貢献し得る部分であって、本実施の形態では、対象物100の顔を想定している。第2解像度画像P20は、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像に相当する。これは、第2解像度画像P20を取得する方法に関係なく、第2解像度画像P20が、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像と内容が同一又は実質的に同一であることを意味する。更に別の表現では、第2解像度画像P20は、第1解像度画像P10と同じ構図で対象物100が写るものの、解像度が第1解像度画像P10よりも高い画像であるといえる。つまり、第2解像度画像P20は、対象物100が、第1解像度画像P10と同じ構図であるが第1解像度より高い第2解像度で写る画像である。換言すれば、第1解像度画像P10は、第2解像度画像P20を第2解像度より低い第1解像度に変換して得られる画像に相当する。これは、第1解像度画像P10を取得する方法に関係なく、第1解像度画像P10が、第2解像度画像P20を第2解像度より低い第1解像度に変換して得られる画像と内容が同一又は実質的に同一であることを意味する。更に別の表現では、第1解像度画像P10は、第2解像度画像P20と同じ構図で対象物100が写るものの、解像度が第2解像度画像P20よりも低い画像であるといえる。つまり、第1解像度画像P10は、対象物100が、第2解像度画像P20と同じ構図であるが第2解像度より低い第1解像度で写る画像である。第1解像度画像P10と第2解像度画像P20との関係において、第1解像度画像P10は、対象物100の低解像度画像であり、第2解像度画像P20は、対象物100の高解像度画像である。例えば、第1解像度は、22×26ピクセルであり、第2解像度は、112×96ピクセルである。差分画像P30は、第1解像度画像P10と第2解像度画像P20との差分に相当する画像である。第1解像度画像P10と第2解像度画像P20とは、対象物100が同じ構図であるが異なる解像度で写る画像である。よって、差分画像P30は、第1解像度画像P10と第2解像度画像P20との解像度の差に起因する対象物100の見え方の差を示す画像であるといえる。解像度の差は、対象物100までの距離の差と考えることができる。よって、差分画像P30は、対象物100との距離が大きくなることで第1解像度画像P10において第2解像度画像P20から失われた情報を表しているといえる。第1モデル部M11は、詳しくは後述するが、ニューラルネットワークの構造を有するモデルを用いて、第1解像度画像P10を入力、第2解像度画像P20及び差分画像P30を正解とする学習用データセットを用いた機械学習(教師あり学習)を実行することによって生成される学習済みモデルから得られる。本実施の形態では、第1モデル部M11は、第1解像度画像P10よりも解像度が高い第2解像度画像P20を出力するから、超解像ネットワークであるともいえる。
【0027】
第2モデル部M12は、第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F11を出力するように学習されたモデル(学習済みモデル)である。対象物100の特徴量F11は、演算回路13において対象物100の認識(識別)に利用される情報である。特徴量F11は、例えば、n次元のベクトルで表される(nは任意の整数)。第2モデル部M12は、詳しくは後述するが、ニューラルネットワークの構造を有するモデルを用いて、第2解像度画像P20及び差分画像P30を入力、対象物100の認識の結果を正解とする学習用データセットを用いた機械学習(教師あり学習)を実行することによって生成される学習済みモデルから得られる。本実施の形態では、第1解像度画像P10及び第2解像度画像P200は、対象物100の顔が写る画像であるから、第2モデル部M12は、顔認識ネットワークであるともいえる。
【0028】
学習済みモデルM10では、第1モデル部M11の出力は、第2モデル部M12の入力に接続される。よって、第1解像度画像P10の入力に対して第1モデル部M11から出力される第2解像度画像P20及び差分画像P30が、第2モデル部M12に入力され、 第2モデル部M12から、特徴量F11が出力される。
【0029】
以上述べた学習済みモデルM10は、後述する学習システム20により生成される。学習済みモデルM10の生成方法(学習方法)については、後述の「(1-2-2)学習方法」にて詳細に説明する。
【0030】
データベースD10は、認識システム10において認識(識別)する対象物100に関するデータベースである。データベースは、認識システム10において認識する対象物100毎に、対象物100の識別情報と照合用の特徴量F12との対応関係を含んでいる。識別情報は、対象物100に付与された識別番号を含む。照合用の特徴量F12は、学習済みモデルM10で得られる特徴量F11との照合に利用される。本実施の形態では、対象物100は人であり、データベースD10は、例えば、人物Aの場合、識別情報は、人物Aの識別情報であり、特徴量F12は人物Aが写る画像から学習済みモデルM10によって得られた特徴量F11に対応する。特徴量F12は、例えば、特徴量F11と同じ次元のベクトルである。
【0031】
演算回路13は、認識システム10の動作を制御する回路である。演算回路13は、インタフェース11に接続され、記憶装置12にアクセス可能(つまり、学習済みモデルM10及びデータベースD10にアクセス可能)である。演算回路13は、例えば、1以上のプロセッサ(マイクロプロセッサ)と1以上のメモリとを含むコンピュータシステムにより実現され得る。1以上のプロセッサが(1以上のメモリ又は記憶装置12に記憶された)プログラムを実行することで、演算回路13としての機能を実現する。プログラムは、ここでは記憶装置12に予め記録されているが、インターネット等の電気通信回線を通じて、又はメモリカード等の非一時的な記録媒体に記録されて提供されてもよい。
【0032】
演算回路13は、取得処理S11と、推論処理S12と、出力処理S13と、を実行するように構成される(
図3参照)。
【0033】
取得処理S11は、第1解像度画像P10を対象画像として取得する処理である。本実施の形態では、取得処理S11は、第1解像度画像P10を対象画像として間接的に取得する。認識システム10は、撮像システム200にインタフェース11を通じて接続されている。取得処理S11は、インタフェース11を通じて撮像システム200から得た画像から、第1解像度画像P10を抽出して対象画像として取得する。具体的には、取得処理S11は、撮像システム200からの画像から、対象物100の写る領域を対象画像(第1解像度画像P10)として抽出する。本実施の形態では、第1解像度画像P10は、対象物100の顔の画像であるから、取得処理S11は、撮像システム200からの画像から、対象物100の顔の画像を抽出する。取得処理S11は、第1解像度画像P10を対象画像として直接的に取得することもできる。例えば、撮像システム200からインタフェース11を通じて第1解像度画像P10が認識システム10に与えられれば、取得処理S11は、与えられた第1解像度画像P10をそのまま対象画像として取得することができる。
【0034】
推論処理S12は、取得処理S11で取得した対象画像を学習済みモデルM10に与えて、対象画像に写る対象物100の特徴量F11を学習済みモデルM10に算出させる処理である。特に、本実施の形態では、推論処理S12は、対象画像に写る対象物100の特徴量F11に基づいて対象物100の認識をすることを含む。より詳細には、推論処理S12は、対象画像に写る対象物100の特徴量F11を、記憶装置12のデータベースD10の特徴量F12と比較することで、特徴量F11と特徴量F12との一致度(類似度)を求め、類似度に基づいて対象画像に写る対象物100の認識を行う。本実施の形態では、特徴量F11及び特徴量F12はn次元のベクトルであるから、特徴量F11と特徴量F12との一致度は、コサイン類似度又はユークリッド距離等によって評価することができる。一例として、推論処理S12は、複数の特徴量F12のうち特徴量F11との一致度が最も高く、かつ一致度が閾値以上である特徴量F12に関連付けられた対象物100を、対象画像に写る対象物100として認識する。
【0035】
出力処理S13は、推論処理S12の結果を出力する処理である。本実施の形態では、推論処理S12の結果は、対象画像に写る対象物100の認識結果R21を含む。認識システム10は、制御システム300にインタフェース11の通信装置を通じて接続されている。出力処理S13は、インタフェース11を通じて制御システム300に、推論処理S12の結果を出力する。また、出力処理S13は、インタフェース11の入出力装置を通じて、推論処理S12の結果をユーザに出力することができる。例えば、出力処理S13は、インタフェース11の入出力装置により推論処理S12の結果の出力のための画面を提示することができる。
【0036】
以上述べたように、認識システム10は、学習済みモデルM10を記憶する記憶装置12と、記憶装置12にアクセス可能な演算回路13と、を備える。学習済みモデルM10は、第1モデル部M11と、第2モデル部M12と、を含む。第1モデル部M11は、対象物100が第1解像度で写る第1解像度画像P10の入力に対して、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像P20及び差分画像P30を出力するように学習されたモデルである。差分画像P30は、第1解像度画像P10と第2解像度画像P20との差分に相当する画像である。第2モデル部M12は、第1モデル部M11からの第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F11を出力するように学習されたモデルである。演算回路13は、
図3に示すように、第1解像度画像P10を対象画像として取得する取得処理S11と、取得処理S11で取得した対象画像を学習済みモデルM10に与えて、対象画像に写る対象物100の特徴量F11を学習済みモデルM10に算出させる推論処理S12と、を実行する。この認識システム10によれば、対象物100の認識の精度の向上が図れる。
【0037】
換言すれば、認識システム10は、以下の方法(認識方法)を実行しているといえる。認識方法は、記憶装置12にアクセス可能な演算回路13で実行され、取得処理S11と、推論処理S12と、を含む。このような認識方法によれば、認識システム10と同様に、対象物100の認識の精度の向上が図れる。
【0038】
認識システム10は、演算回路13を利用して実現されている。つまり、認識システム10が実行する方法(認識方法)は、演算回路13がプログラムを実行することにより実現され得る。このプログラムは、演算回路13に、上記の認識方法を実行させるためのコンピュータプログラムである。このようなプログラムによれば、認識システム10と同様に、対象物100の認識の精度の向上が図れる。
【0039】
認識システム10で用いられる学習済みモデルM10は、第1モデル部M11と、第2モデル部M12と、を含む。第1モデル部M11は、対象物100が第1解像度で写る第1解像度画像P10の入力に対して、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像P20及び差分画像P30を出力するように学習されたモデルである。差分画像P30は、第1解像度画像P10と第2解像度画像P20との差分に相当する画像である。第2モデル部M12は、第1モデル部M11からの第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F11を出力するように学習されたモデルである。この学習済みモデルM10によれば、対象物100の認識の精度の向上が図れる。
【0040】
(1-2-2)学習方法
次に、認識システム10で用いる学習済みモデルM10を生成するための学習方法を説明する。学習方法は、
図4に示すように、準備処理S21と、学習処理S22と、を含む。
【0041】
準備処理S21は、
図5に示すようなモデルM20を準備する処理である。モデルM20は、学習済みモデルM10を生成するために用いられる。モデルM20は、第1モデル部M21と、第2モデル部M22と、第3モデル部M23と、第4モデル部M24と、を含む。
【0042】
第1モデル部M21は、対象物100が第1解像度で写る第1解像度画像P10の入力に対して、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像P20及び第1解像度画像P10と第2解像度画像P20との差分に相当する差分画像P30を出力するためのモデルである。第1モデル部M21は、ニューラルネットワークの構造、本実施の形態では、畳み込みニューラルネットワーク(CNN)の構造を有する。畳み込みニューラルネットワークは、入力層と出力層との間に、適宜の数の、畳み込み層、プーリング層、活性化関数、全結合層等を有する。特に、第1モデル部M21は、学習済みモデルM10の第1モデル部M11のような超解像ネットワークを生成するための構造を有する。例えば、第1モデル部M21の構造としては、参考文献(Christian Ledig,他10名,“Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network”,[online],2016年9月15日,[2020年9月7日検索],Cornell University,インターネット<URL:https://arxiv.org/abs/1609.04802>)の
図4に提示されている生成ネットワークの構造を利用することが可能である。
【0043】
第2モデル部M22は、第1モデル部M21からの第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F11を出力するためのモデルである。第2モデル部M22は、ニューラルネットワークの構造、本実施の形態では、畳み込みニューラルネットワーク(CNN)の構造を有する。特に、第2モデル部M22は、学習済みモデルM10の第2モデル部M12のような顔認識ネットワークを生成するための構造を有する。例えば、第2モデル部M22の構造としては、非特許文献1に例示されている顔認識ネットワークの構造を利用することが可能である。本実施の形態では、第2解像度画像P20は、第2モデル部M22の入力層に入力されるが、差分画像P30は第2モデル部M22の入力層には入力されない。差分画像P30は、第2モデル部M22の入力層とは別の畳み込み層等を通じてパラメータに変換されて、第2モデル部M22で用いられる。パラメータは、例えば、入力層に入力された画像の正規化されたデータに対して固有のスケールとシフトで変換を行うためのパラメータ(バッチノーマリゼーションで用いられるγ,β)が挙げられる。例えば、参考文献(Taesung Park,他3名,“Semantic Image Synthesis with Spatially-Adaptive Normalization”,[online],2019年3月18日,[2020年9月7日検索],Cornell University,インターネット<URL:https://arxiv.org/abs/1903.07291)には、セグメンテーションマスクを畳み込み層で畳み込んで得たテンソルを、バッチノーマリゼーションのパラメータγ,βとして利用することが開示されている。
【0044】
第3モデル部M23は、第2モデル部M22からの対象物100の特徴量F11の入力に対して対象物100の認識の結果(認識結果)R21を出力するためのモデルである。第3モデル部M23は、識別器であり、例えば、K近傍法(KNN)、サポートベクターマシーン(SVM)等のアルゴリズムを用いることができる。
【0045】
第4モデル部M24は、第2解像度画像P20の入力に対して、第2解像度画像P20が第1モデル部M21で生成された画像か否かの判定の結果(判定結果)R22を出力するためのモデルである。第4モデル部M24は、ニューラルネットワークの構造、本実施の形態では、畳み込みニューラルネットワーク(CNN)の構造を有する。第4モデル部M24は、識別ネットワークを生成するための構造を有する。第4モデル部M24は、第1モデル部M21とともに、敵対的生成ネットワーク(GAN)を構成するために用いられる。第4モデル部M24の構造としては、上記の参考文献の
図4に提示されている識別ネットワークの構造を利用することが可能である。
【0046】
準備処理S21は、
図4に示すように、生成ステップS210と、事前学習ステップS211と、を含む。
【0047】
生成ステップS210は、学習用データセット(第1学習用データセット)D21を生成するステップである。第1学習用データセットD21は、第1解像度画像P10を入力、第2解像度画像P20及び差分画像P30を正解とする学習用データセットである。つまり、生成ステップS210は、学習用データセットD21を生成するための学習用データセット生成方法である。
【0048】
生成ステップS210は、
図4に示すように、第1ステップS210aと、第2ステップS210bと、第3ステップS210cと、第4ステップS210dと、を含む。
【0049】
第1ステップS210aは、対象物100が写る基準画像を取得するステップである。基準画像は、対象物100が第2解像度で写る画像である。つまり、第1ステップS210aは、第2解像度画像P20を取得するステップであるといえる。しかしながら、基準画像は、第1解像度画像P10を第1解像度より高い第2解像度に変換して得られる画像ではなく、対象物100を第2解像度で撮像して得られた画像、又は、対象物100を第2解像度より高い第3解像度で撮像して得られた画像から第3解像度を第2解像度に変換して得られた画像を想定している。以下では、必要に応じて、学習済みモデルM10の第1モデル部M11で得られる第2解像度画像P20を符号P21で表す。第1ステップ210aで取得される第2解像度画像P20を符号P22で表す。モデルM20の第1モデル部M21で得られる第2解像度画像P20を符号P23で表す。
【0050】
第2ステップS210bは、基準画像(第2解像度画像P22)を基準画像よりも低い解像度の低解像度画像に変換するステップである。本実施の形態では、基準画像は、第2解像度よりも低い第1解像度の低解像度画像に変換される。つまり、第2ステップS210bは、第1ステップS210aで取得した第2解像度画像P22を第1解像度の画像に変換して第1解像度画像P10を生成するステップであるといえる。ここで、低解像度画像は、対象物100を第1解像度で撮像して得られた画像、又は、対象物100を第1解像度より低い第4解像度で撮像して得られた画像から第4解像度を第1解像度に変換して得られた画像ではなく、第2解像度画像P22を第2解像度より低い第1解像度に変換して得られる画像を想定している。以下では、第2解像度画像P22から生成される低解像度画像である第1解像度画像P10と対象物100を第1解像度で撮像して得られた画像等の第1解像度画像P10とを区別するために、必要に応じて、後者は符号P11で表し、前者は符号P12で表す。第2ステップ210bでは、第1ステップ210aで取得した第2解像度画像(基準画像)P22よりも画像サイズが小さい第1解像度画像(低解像度画像)P12が生成される。第2解像度画像P22から第1解像度画像P12への変換は、平均値補間等の既知の方法により実現可能である。
【0051】
第3ステップS210cは、基準画像(第2解像度画像P22)と低解像度画像(第1解像度画像P12)との差分に相当する差分画像P30を生成するステップである。第3ステップS210cは、第1ステップ210aで取得した第2解像度画像P22と第2ステップS210bで生成した第1解像度画像P12とから差分画像P30を生成するステップであるといえる。第3ステップS210cは、第2ステップ210bで生成した第1解像度画像P12を第1ステップS210aで取得した第2解像度画像P22と同じ画像サイズに拡大する。第3ステップS210cは、拡大後の第1解像度画像P12と第1ステップS210aで取得した第2解像度画像P22との画素値の差分に基づいて差分画像P30を生成する。これによって、第1解像度画像P11と第2解像度画像P22とで画素値間の差分を容易に求めることができる。第1解像度画像P12の拡大は、バイキュービック補間等の既知の方法により実現可能である。差分画像P30の各画素値の範囲は、第1解像度画像P11と第2解像度画像P22の各画素値の範囲より狭い。例えば、第1解像度画像P11と第2解像度画像P22の各画素値の範囲が0~255である場合に、差分画像P30の各画素値の範囲は0~15に設定されてよい。つまり、第3ステップS210cは、拡大後の第1解像度画像P12と第1ステップS210aで取得した第2解像度画像P22との差分そのままの画像を低諧調化して差分画像P30を生成する。これによって、第1解像度画像P12と第2解像度画像P22とで差のある部分が明確に差分画像P30に反映される。以下では、必要に応じて、学習済みモデルM10の第1モデル部M11で得られる差分画像P30を符号P31で表す。第3ステップ210cで生成される差分画像P30を符号P32で表す。モデルM20の第1モデル部M21で得られる差分画像P30を符号P33で表す。
【0052】
第4ステップS210dは、(第1)学習用データセットD21を生成するステップである。第1学習用データセットD21は、低解像度画像(第1解像度画像P12)を入力、基準画像(第2解像度画像P22)及び差分画像P32を正解とする学習用データセットである。つまり、第4ステップS210dは、第2ステップS210bで生成した第1解像度画像P12を入力、第1ステップS210aで取得した第2解像度画像P22及び第3ステップS210cで生成した差分画像P32を正解とする学習用データセットを生成するステップであるともいえる。
【0053】
事前学習ステップS211は、生成ステップS210で生成された学習用データセットD21を用いて第1モデル部M21に第1解像度画像P10(P12)と第2解像度画像P20(P22)及び差分画像P30(P32)との関係を学習させる。これによって、第1モデル部M21は、第1解像度画像P10(P12)の入力に対して、第2解像度画像P23及び差分画像P33を出力するように学習されることになる。事前学習ステップS211は、必要に応じて、第2モデル部M22及び第3モデル部M23の事前学習を含んでよい。第2解像度画像P20及び差分画像P30を入力、認識結果R21を正解とする学習用データセットを用いて第2モデル部M22及び第3モデル部M23に第2解像度画像P20及び差分画像P30と認識結果R21との関係を学習させてよい。第2モデル部M22及び第3モデル部M23として予め学習済みのモデルを用いる場合には、事前学習ステップS211での第2モデル部M22及び第3モデル部M23の事前学習は不要である。事前学習ステップS211は、必要に応じて、第4モデル部M24の事前学習を含んでよい。例えば、第1ステップ210aで取得される第2解像度画像P22と第1モデル部M21で生成される第2解像度画像P23とを用いて、第4モデル部M24をある程度訓練しておいてよい。第4モデル部M24として予め学習済みのモデルを用いる場合には、事前学習ステップS211での第4モデル部M24の事前学習は不要である。
【0054】
学習ステップS21は、(第2)学習用データセットD22を用いた機械学習により、モデルM20に第1解像度画像P12と第1解像度画像P12に写る対象物100の特徴量F21との関係を学習させることを含む。第2学習用データセットD22は、第1解像度画像P12を入力、第1解像度画像P12に写る対象物100の認識の結果(認識結果R21)を正解とする学習用データセットである。学習ステップS21は、第4モデル部M24から出力される判定の結果(判定結果)R22に基づいて第1モデル部M21と第4モデル部M24との少なくとも一方の追加学習を実行することを含んでよい。
【0055】
このようにして機械学習がされたモデルM20からは、第1モデル部M21及び第2モデルM22の学習済みパラメータを取得することができる。第1モデル部M21及び第2モデルM22の学習済みパラメータと、第1モデル部M21及び第2モデルM22の推論プログラムとを用いて、
図2に示す学習済みモデルM10を実装することが可能となる。
【0056】
以上述べた学習方法は、例えば、
図6に示す学習システム20により実行可能である。学習システム20は、インタフェース21と、記憶装置22と、演算回路23と、を備える。本実施の形態では、学習システム20は、1台のサーバで実現される。
【0057】
インタフェース21は、学習システム20への情報の入力、及び、学習システム20からの情報の出力に利用される。インタフェース21は、入出力装置211と、通信装置212と、を含む。入出力装置211は、ユーザからの情報の入力のための入力装置、及び、ユーザへの情報の出力のための出力装置としての機能を有する。入出力装置211は、1以上のヒューマン・マシン・インタフェースを備える。ヒューマン・マシン・インタフェースの例としては、キーボード、ポインティングデバイス(マウス、トラックボール等)、タッチパッド等の入力装置、ディスプレイ、スピーカ等の出力装置、タッチパネル等の入出力装置が挙げられる。通信装置212は、外部装置又はシステムと通信可能に接続される。通信装置212は、1以上の通信インタフェースを備える。通信装置212は、通信ネットワークに接続可能であり、通信ネットワークを通じた通信を行う機能を有する。通信装置112は、所定の通信プロトコルに準拠している。所定の通信プロトコルは、周知の様々な有線及び無線通信規格から選択され得る。
【0058】
記憶装置22は、演算回路23が利用する情報及び演算回路23で生成される情報を記憶するために用いられる。記憶装置22は、1以上のストレージ(非一時的な記憶媒体)を含む。ストレージは、例えば、ハードディスクドライブ、光学ドライブ、及びソリッドステートドライブ(SSD)のいずれであってもよい。また、ストレージは、内蔵型、外付け型、およびNAS(network-attached storage)型のいずれであってもよい。
【0059】
記憶装置22に記憶される情報は、モデルM20と、学習用データD20と、を含む。学習用データD20は、第1学習用データセットD21と、第2学習用データセットD22と、を含む。
図6では、記憶装置22が、モデルM20と学習用データD20との全てを記憶している状態を示している。モデルM20及び学習用データD20は常に記憶装置22に記憶されている必要はなく、演算回路23で必要とされるときに記憶装置22に記憶されていればよい。
【0060】
演算回路23は、学習システム20の動作を制御する回路である。演算回路23は、インタフェース21に接続され、記憶装置22にアクセス可能(つまり、モデルM20及び学習用データD20にアクセス可能)である。演算回路23は、例えば、1以上のプロセッサ(マイクロプロセッサ)と1以上のメモリとを含むコンピュータシステムにより実現され得る。1以上のプロセッサが(1以上のメモリ又は記憶装置22に記憶された)プログラムを実行することで、演算回路23としての機能を実現する。プログラムは、ここでは記憶装置22に予め記録されているが、インターネット等の電気通信回線を通じて、又はメモリカード等の非一時的な記録媒体に記録されて提供されてもよい。
【0061】
演算回路23は、学習方法(準備ステップS21及び学習ステップS22を含む)を実行するように構成される。
【0062】
以上述べたように、学習システム20は、演算回路23を備える。演算回路23は、モデルM20を準備する準備処理S21と、準備ステップS21で準備したモデルM20を用いて機械学習を実行する学習ステップS22とを含む学習方法を実行する。モデルM20は、第1モデル部M21と、第2モデル部M22と、第3モデル部M23と、を含む。第1モデル部M21は、対象物100が第1解像度で写る第1解像度画像P20の入力に対して、第1解像度画像P20を第1解像度より高い第2解像度に変換して得られる画像に相当する第2解像度画像P20及び第1解像度画像P10と第2解像度画像P20との差分に相当する差分画像P30を出力するためのモデルである。第2モデル部M21は、第1モデル部M22からの第2解像度画像P20及び差分画像P30の入力に対して対象物100の特徴量F21を出力するためのモデルである。第3モデル部M23は、第2モデル部M22からの対象物100の特徴量F21の入力に対して対象物100の認識の結果R21を出力するためのモデルである。学習ステップS22は、第1解像度画像P10を入力、第1解像度画像P10に写る対象物100の認識の結果R21を正解とする学習用データセットD21を用いた機械学習により、モデルM20に第1解像度画像P10と第1解像度画像P10に写る対象物100の特徴量F21との関係を学習させることを含む。この学習システム20によれば、対象物100の認識の精度の向上が図れる。
【0063】
換言すれば、学習システム20は、以下の方法(学習方法)を実行しているといえる。学習方法は、演算回路23で実行され、準備ステップS21と、学習ステップS22と、を含む。このような学習方法によれば、学習システム20と同様に、対象物100の認識の精度の向上が図れる。
【0064】
学習システム20は、演算回路23を利用して実現されている。つまり、学習システム20が実行する方法(学習方法)は、演算回路23がプログラムを実行することにより実現され得る。このプログラムは、演算回路23に、上記の学習方法を実行させるためのコンピュータプログラムである。このようなプログラムによれば、学習システム20と同様に、対象物100の認識の精度の向上が図れる。
【0065】
(1-3)性能評価
学習済みモデルM10の顔認識の性能を評価するための試験を行った。試験では、学習済みモデルM10の顔認識の性能を相対的に評価するために、
図2に示す学習済みモデルM10において、差分画像P30を省略した学習済みモデルの顔認識の性能の評価も行った。この差分画像P30を省略した学習済みモデルは、非特許文献1の学習済みモデルを想定している。顔認識の性能の評価のためのデータには、顔認識の公開ベンチマークの一つであるLFWデータセット(http://vis-www.cs.umass.edu/lfw/)を利用し、同一人物だが種類が異なる画像のペアと異なる人物の画像のペアをそれぞれ3000組、計6000組を用意して正答率を評価した。非特許文献1の学習済みモデルでは、正答率は、98.64%となったのに対して、学習済みモデルM10によれば、正答率は98.82%となった。これは、学習済みモデルM10によれば、エラー率を10%程度改善できていることを示している。
【0066】
(2)変形例
本開示の実施の形態は、上記実施の形態に限定されない。上記実施の形態は、本開示の課題を達成できれば、設計等に応じて種々の変更が可能である。以下に、上記実施の形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
【0067】
一変形例では、認識システム10において、演算回路13は、学習済みモデルM10に追加学習を行うこと再利用モデルを生成し、再利用モデルを利用して、推論処理S12を実行してよい。換言すれば、演算回路13は、学習済みモデルM10の追加学習(再学習)を行う学習処理を実行してよい。
【0068】
一変形例では、認識システム10において、記憶装置12は、学習済みモデルM10に変えて、蒸留モデルを記憶してもよい。蒸留モデルは、学習済みモデルM10の蒸留により生成されるモデルである。この場合、認識システム10は、蒸留モデルを記憶する記憶装置12と、記憶装置12にアクセス可能な演算回路13と、を備える。演算回路13は、取得処理S11と、推論処理S12と、を実行する。取得処理S11は、第1解像度画像P10を対象画像として取得する処理である。推論処理S12は、取得処理S11で取得した対象画像を蒸留モデルに与えて、対象画像に写る対象物100の特徴量F11を蒸留モデルに算出させる処理である。この場合でも、対象物100の認識の精度の向上が図れる。
【0069】
一変形例では、認識システム10において、取得処理S11は、例えば、インタフェース11の入出力装置により第1解像度画像P10の入力のための画面を提示し、ユーザは画面の指示にしたがって第1解像度画像P10を入力することが可能である。第1解像度画像P10の入力は、外部装置又はシステムから第1解像度画像P10を認識システム10に入力することだけではなく、認識システム10が記憶しているデータから第1解像度画像P10として使用するデータを特定することも含んでよい。推論処理S12は、必ずしも認識結果R11まで求めなくてもよく、特徴量F11を推論処理の結果としてもよい。出力処理S13は、例えば、インタフェース11の入出力装置により推論処理の結果の出力のための画面を提示してよい。
【0070】
一変形例では、学習方法において、モデルM20の第1モデル部M21からの第2解像度画像P23及び差分画像P33は、2チャンネルの画像として第2モデル部M22(の入力層)に入力されてもよい。この場合、学習済みモデルM10の第1モデル部M11からの第2解像度画像P21及び差分画像P31も、2チャンネルの画像として第2モデル部M12(の入力層)に入力される。
【0071】
一変形例では、差分画像P30は、第1解像度画像P10と第2解像度画像P20の各画素値の差分自体を各画素値とする画像であってもよい。
【0072】
一変形例では、準備ステップS21は必須ではない。学習用データセットD21は予め用意されていてもよいからである。学習ステップS22での、モデルM20のエンド・トゥー・エンドの学習に代えて、モデルM20の第1モデル部M21~第4モデル部M24の個別の学習を実行することとしてもよい。モデルM20は、第4モデル部M24を含んでいなくてもよい。つまり、GANを用いた学習は必須ではない。
【0073】
一変形例では、認識システム10及び学習システム20がそれぞれ異なるコンピュータシステムで実現されることは必須ではない。認識システム10及び学習システム20は単一のコンピュータシステムで実現されてもよい。
【0074】
一変形例では、認識システム10のインタフェース11及び学習システム20のインタフェース21は、それぞれ、入出力装置と通信装置との両方を備える必要はない。
【0075】
一変形例では、認識システム10及び学習システム20の各々は、複数台のサーバ等のコンピュータシステムで実現されてもよい。つまり、認識システム10及び学習システム20の各々における複数の機能(構成要素)が、1つの筐体内に集約されていることは必須ではなく、認識システム10及び学習システム20の各々の構成要素は、複数の筐体に分散して設けられていてもよい。さらに、認識システム10及び学習システム20の各々の少なくとも一部の機能、例えば、演算回路13,23の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0076】
(3)態様
上記実施の形態及び変形例から明らかなように、本開示は、下記の態様を含む。以下では、実施の形態との対応関係を明示するためだけに、符号を括弧付きで付している。
【0077】
第1の態様は、認識システム(10)であって、学習済みモデル(M10)を記憶する記憶装置(12)と、前記記憶装置(12)にアクセス可能な演算回路(13)と、を備える。前記学習済みモデル(M10)は、第1モデル部(M11)と、第2モデル部(M12)と、を含む。前記第1モデル部(M10)は、第1解像度画像(P10)の入力に対して、第2解像度画像(P20)及び差分画像(P30)を出力するように学習されたモデルである。前記第1解像度画像(P10)は、対象物(100)が第1解像度で写る画像である。前記第2解像度画像(P20)は、前記第1解像度画像(P10)を前記第1解像度より高い第2解像度に変換して得られる画像に相当する。前記差分画像(P30)は、前記第1解像度画像(P10)と前記第2解像度画像(P20)との差分に相当する画像である。前記第2モデル部(M12)は、前記第2解像度画像(P20)及び前記差分画像(P30)の入力に対して前記対象物の特徴量(F11)を出力するように学習されたモデルである。前記演算回路(13)は、取得処理(S11)と、推論処理(S12)と、を実行する。前記取得処理(S11)は、前記第1解像度画像(P10)を対象画像として取得する。前記推論処理(S12)は、前記取得処理(S11)で取得した前記対象画像を前記学習済みモデル(M10)に与えて、前記対象画像に写る対象物(100)の特徴量(F11)を前記学習済みモデル(M10)に算出させる。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0078】
第2の態様は、第1の態様に基づく認識システム(10)である。第2の態様では、前記推論処理(S12)は、前記対象画像に写る対象物の特徴量(F11)に基づいて前記対象物の認識を行うことを含む。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0079】
第3の態様は、第1又は第2の態様に基づく認識システム(10)である。第3の態様では、前記演算回路(13)は、前記推論処理(S12)の結果を出力する出力処理(S13)を実行する。この態様によれば、推論処理(S12)の結果を提示できる。
【0080】
第4の態様は、学習済みモデル(M10)を記憶する記憶装置(12)にアクセス可能な演算回路(13)により実行される認識方法である。前記学習済みモデル(M10)は、第1モデル部(M11)と、第2モデル部(M12)と、を含む。前記第1モデル部(M10)は、第1解像度画像(P10)の入力に対して、第2解像度画像(P20)及び差分画像(P30)を出力するように学習されたモデルである。前記第1解像度画像(P10)は、対象物(100)が第1解像度で写る画像である。前記第2解像度画像(P20)は、前記第1解像度画像(P10)を前記第1解像度より高い第2解像度に変換して得られる画像に相当する。前記差分画像(P30)は、前記第1解像度画像(P10)と前記第2解像度画像(P20)との差分に相当する画像である。前記第2モデル部(M12)は、前記第2解像度画像(P20)及び前記差分画像(P30)の入力に対して前記対象物の特徴量(F11)を出力するように学習されたモデルである。前記認識方法は、取得処理(S11)と、推論処理(S12)と、を含む。前記取得処理(S11)は、前記第1解像度画像(P10)を対象画像として取得する。前記推論処理(S12)は、前記取得処理(S11)で取得した前記対象画像を前記学習済みモデル(M10)に与えて、前記対象画像に写る対象物(100)の特徴量(F11)を前記学習済みモデル(M10)に算出させる。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0081】
第5の態様は、第4の態様に基づく認識方法を、前記演算回路(13)に実行させるための、プログラムである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0082】
第6の態様は、学習方法であって、モデル(M20)を準備する準備ステップ(S21)と、前記準備ステップ(S21)で準備した前記モデル(M20)を用いて機械学習を実行する学習ステップ(S22)と、を含む。前記モデル(M20)は、第1モデル部(M21)と、第2モデル部(M22)と、第3モデル部(M23)と、を含む。前記第1モデル部(M21)は、第1解像度画像(P10)の入力に対して、第2解像度画像(P20)及び差分画像(P30)を出力するためのモデルである。前記第1解像度画像(P10)は、対象物(100)が第1解像度で写る画像である。前記第2解像度画像(P20)は、前記第1解像度画像(P10)を前記第1解像度より高い第2解像度に変換して得られる画像に相当する。前記差分画像(P30)は、前記第1解像度画像(P10)と前記第2解像度画像(P20)との差分に相当する画像である。前記第2モデル部(M22)は、前記第1モデル部(M21)からの前記第2解像度画像(P20)及び前記差分画像(P30)の入力に対して前記対象物の特徴量(F21)を出力するためのモデルである。前記第3モデル部(M23)は、前記第2モデル部(M22)からの前記対象物(100)の特徴量(F21)の入力に対して前記対象物(100)の認識の結果(R21)を出力するためのモデルである。前記学習ステップ(S22)は、前記第1解像度画像(P10)を入力、前記第1解像度画像(P10)に写る対象物(100)の認識の結果(R21)を正解とする学習用データセット(D22)を用いた機械学習により、前記モデル(M20)に前記第1解像度画像(P10)と前記前記第1解像度画像(P10)に写る対象物の特徴量(F21)との関係を学習させることを含む。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0083】
第7の態様は、第6の態様に基づく学習方法である。第7の態様では、前記準備ステップ(S21)は、生成ステップ(S210)と、事前学習ステップ(S211)と、を含む。前記生成ステップ(S210)は、前記第1解像度画像(P10)を入力、前記第2解像度画像(P20)及び前記差分画像(P30)を正解とする学習用データセット(D21)を生成するステップである。前記事前学習ステップ(S211)は、前記生成ステップ(S210)で生成された学習用データセット(D21)を用いて前記第1モデル部(M21)に前記第1解像度画像(P10)と前記第2解像度画像(P20)及び前記差分画像(P30)との関係を学習させるステップである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0084】
第8の態様は、第7の態様に基づく認識システム(10)である。第8の態様では、前記生成ステップ(S210)は、第1ステップ(S210a)と、第2ステップ(S210b)と、第3ステップ(S210c)と、第4ステップ(S210d)と、を含む。前記第1ステップ(S210a)は、前記第2解像度画像(P20)を取得するステップである。前記第2ステップ(S210b)は、前記第1ステップ(S210a)で取得した前記第2解像度画像(P20)を前記第1解像度の画像に変換して前記第1解像度画像(P10)を生成するステップである。前記第3ステップ(S210c)は、前記第1ステップ(S210a)で取得した前記第2解像度画像(P20)と前記第2ステップ(S210b)で生成した前記第1解像度画像(P10)とから前記差分画像(P30)を生成するステップである。前記第4ステップ(S210d)は、前記第2ステップ(S210b)で生成した前記第1解像度画像(P10)を入力、前記第1ステップ(210a)で用意した前記第2解像度画像(P20)及び前記第3ステップ(S210c)で生成した前記差分画像(P30)を正解とする学習用データセット(D21)を生成するステップである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0085】
第9の態様は、第8の態様に基づく学習方法である。第9の態様では、前記第3ステップ(S210c)は、前記第2ステップ(S210b)で生成した前記第1解像度画像(P10)を前記第1ステップ(S210a)で取得した前記第2解像度画像(P20)と同じ画像サイズに拡大する。前記第3ステップ(S210c)は、拡大後の前記第1解像度画像(P10)と前記第1ステップ(S210a)で取得した前記第2解像度画像(P20)との画素値の差分に基づいて前記差分画像(P30)を生成する。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0086】
第10の態様は、第9の態様に基づく学習方法である。第10の態様では、前記差分画像(P30)の各画素値の範囲は、拡大後の前記第1解像度画像(P10)と前記第1ステップ(S210a)で取得した前記第2解像度画像(P20)の各画素値の範囲より狭い。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0087】
第11の態様は、第6~第10の態様のいずれか一つに基づく学習方法である。第11の態様では、前記モデル(M20)は、前記第2解像度画像(P20)の入力に対して、前記第2解像度画像(P20)が前記第1モデル部(M21)で生成された画像か否かの判定の結果(R22)を出力するための第4モデル部(M24)を含む。前記学習ステップ(S22)は、前記第4モデル部(M24)から出力される前記判定の結果(R22)に基づいて前記第1モデル部(M21)と前記第4モデル部(M24)との少なくとも一方の追加学習を実行することを含む。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0088】
第12の態様は、学習済みモデル(M10)であって、第1モデル部(M11)と、第2モデル部(M12)と、を含む。前記第1モデル部(M10)は、第1解像度画像(P10)の入力に対して、第2解像度画像(P20)及び差分画像(P30)を出力するように学習されたモデルである。前記第1解像度画像(P10)は、対象物(100)が第1解像度で写る画像である。前記第2解像度画像(P20)は、前記第1解像度画像(P10)を前記第1解像度より高い第2解像度に変換して得られる画像に相当する。前記差分画像(P30)は、前記第1解像度画像(P10)と前記第2解像度画像(P20)との差分に相当する画像である。前記第2モデル部(M12)は、前記第2解像度画像(P20)及び前記差分画像(P30)の入力に対して前記対象物の特徴量(F11)を出力するように学習されたモデルである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0089】
第13の態様は、第12の態様に基づく学習済みモデル(M10)の蒸留により生成される、蒸留モデルである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0090】
第14の態様は、認識システム(10)であって、第13の態様に基づく蒸留モデルを記憶する記憶装置(12)と、前記記憶装置(12)にアクセス可能な演算回路(13)と、を備える。前記演算回路(13)は、取得処理(S11)と、推論処理(S12)と、を実行する。前記取得処理(S11)は、前記第1解像度画像(P10)を対象画像として取得する処理である。前記推論処理(S12)は、前記取得処理(S11)で取得した前記対象画像を前記蒸留モデルに与えて、前記対象画像に写る対象物(100)の特徴量(F11)を前記蒸留モデルに算出させる処理である。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0091】
第15の態様は、学習用データセット生成方法であって、第1ステップ(S210a)と、第2ステップ(S210b)と、第3ステップ(S210c)と、第4ステップ(S210d)と、を含む。前記第1ステップ(S210a)は、対象物(100)が写る基準画像(P22)を取得するステップである。前記第2ステップ(S210b)は、 前記基準画像(P22)を前記基準画像(P22)よりも低い解像度の低解像度画像(P12)に変換するステップである。前記第3ステップ(S210c)は、前記基準画像(P22)と前記低解像度画像(P12)との差分に相当する差分画像(P30)を生成するステップである。前記第4ステップ(S210d)は、前記低解像度画像(P12)を入力、前記基準画像(P22)及び前記差分画像(P30)を正解とする学習用データセット(D11)を生成するステップである。この態様によれば、対象物(100)の認識の精度の向上が図れる。
【0092】
なお、第2又は第3の態様は、第4及び第14の態様にも適宜変更して適用することが可能である。
【0093】
(4)用語
本開示では、機械学習に関する用語を以下のように定義して用いる。
【0094】
「学習済みモデル」とは「学習済みパラメータ」が組み込まれた「推論プログラム」をいう。
【0095】
「学習済みパラメータ」とは、学習用データセットを用いた学習の結果、得られたパラメータ(係数)をいう。学習済みパラメータは、学習用データセットを学習用プログラムに対して入力することで、一定の目的のために機械的に調整されることで生成される。学習済みパラメータは、学習の目的にあわせて調整されているものの、単体では単なるパラメータ(数値等の情報)にすぎず、これを推論プログラムに組み込むことで初めて学習済みモデルとして機能する。例えば、ディープラーニングの場合には、学習済みパラメータの中で主要なものとしては、各ノード間のリンクの重み付けに用いられるパラメータ等がこれに該当する。
【0096】
「推論プログラム」とは、組み込まれた学習済みパラメータを適用することで、入力に対して一定の結果を出力することを可能にするプログラムをいう。例えば、入力として与えられた画像に対して、学習の結果として取得された学習済みパラメータを適用し、当該画像に対する結果(認証や判定)を出力するための一連の演算手順を規定したプログラムである。
【0097】
「学習用データセット」とは、訓練データセットともいい、生データに対して、欠測値や外れ値の除去等の前処理や、ラベル情報(正解データ)等の別個のデータの付加等、あるいはこれらを組み合わせて、変換・加工処理を施すことによって、対象とする学習の手法による解析を容易にするために生成された二次的な加工データをいう。学習用データセットには、生データに一定の変換を加えていわば「水増し」されたデータを含むこともある。
【0098】
「生データ」とは、ユーザやベンダ、その他の事業者や研究機関等により一次的に取得されたデータであって、データベースに読み込むことができるよう変換・加工処理されたものをいう。
【0099】
「学習用プログラム」とは、学習用データセットの中から一定の規則を見出し、その規則を表現するモデルを生成するためのアルゴリズムを実行するプログラムをいう。具体的には、採用する学習手法による学習を実現するために、コンピュータに実行させる手順を規定するプログラムがこれに該当する。
【0100】
「追加学習」とは、既存の学習済みモデルに、異なる学習用データセットを適用して、更なる学習を行うことで、新たに学習済みパラメータを生成することを意味する。
【0101】
「再利用モデル」とは、追加学習により新たに生成された学習済みパラメータが組み込まれた推論プログラムを意味する。
【0102】
「蒸留」とは、既存の学習済みモデルへの入力および出力結果を、新たな学習済みモデルの学習用データセットとして利用して、新たな学習済みパラメータを生成することを意味する。
【0103】
「蒸留モデル」とは、蒸留により新たに生成された学習済みパラメータが組み込まれた推論プログラムを意味する。
【産業上の利用可能性】
【0104】
本開示は、認識システム、認識方法、プログラム(コンピュータプログラム)、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法に適用可能である。具体的には画像に写る対象物に関する認識システム、認識方法、プログラム(コンピュータプログラム)、学習方法、学習済みモデル、蒸留モデル、及び、学習用データセット生成方法に、本開示は適用可能である。
【符号の説明】
【0105】
10 認識システム
12 記憶装置
13 演算回路
M10 学習済みモデル
M11 第1モデル部
M12 第2モデル部
M20 モデル
M21 第1モデル部
M22 第2モデル部
M23 第3モデル部
M24 第4モデル部
D21 学習用データセット
D22 学習用データセット
P10 第1解像度画像
P20 第2解像度画像
P30 差分画像
F11,F12 特徴量
R11,R21 認識の結果(認識結果)
R22 判定の結果(判定結果)
S11 取得処理
S12 推論処理
S13 出力処理
S21 準備ステップ
S210 生成ステップ
S210a 第1ステップ
S210b 第2ステップ
S210c 第3ステップ
S210d 第4ステップ
S211 事前学習ステップ
S22 学習ステップ
100 対象物