(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241106BHJP
G06N 3/0464 20230101ALI20241106BHJP
G06N 3/096 20230101ALI20241106BHJP
【FI】
G06N20/00 130
G06N3/0464
G06N3/096
(21)【出願番号】P 2024502032
(86)(22)【出願日】2023-10-16
(86)【国際出願番号】 JP2023037339
【審査請求日】2024-01-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】522418303
【氏名又は名称】Olive株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】竹内 精治
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2023-131287(JP,A)
【文献】国際公開第2020/027073(WO,A1)
【文献】特表2020-519995(JP,A)
【文献】川島寛乃ほか,深層学習を用いた画像分類の継続学習におけるクラス難易度を考慮した容量制御,コンピュータソフトウェア,日本,一般社団法人日本ソフトウェア科学会,2023年07月25日,Vol.40, No.3,pp.16-28,ISSN:0289-6540
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00ー99/00
(57)【特許請求の範囲】
【請求項1】
入力された
学習情報に
含まれる情報であって当該情報に基づいた推定を行う推定器に特徴を学習させる情報のうち
、当該推定における重要性
であって血流に応じた色変化が期待できるか否かに基づく重要性が
最も高い、肌が露出している領域の情報である第1情報であって当該推定の元となる本質的データである第1情報を少なくとも含む第1学習情報と、当該第1情報に加えて所定の第2情報であって当該推定の元となる本質的データとは異な
り肌が露出している領域を含まない情報である第2情報を含む第2学習情報とを取得する取得部と、
前記第1学習情報
と、当該第1学習情報を入力した際に前記推定器が出力した出力情報とを用いて、前記推定器の学習を行い、前記第1学習情報を用いた学習後に、前記第2学習情報
と、当該第2学習情報を入力した際に前記第1学習情報を用いた学習が行われた推定器が出力した出力情報とを用いて、前記第1学習情報を用いた学習が行われた推定器の学習を行う学習部と
を有することを特徴とする情報処理装置。
【請求項2】
前記取得部は、
前記本質的データのみが含まれるデータ群と付加情報を段階的に増やした複数のデータ群それぞれを比較対象とした際に、前記第1学習情報よりも付加情報が多いデータ群として選択されたデータ群である前記第2学習情報を取得する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記学習部は、
前記第1学習情報と、前記第1学習情報を前記推定器に入力した際に前記推定器が出力する第1出力情報との差が所定の条件を満たすようになるまで、前記第1学習情報を用いた学習を行い、
前記第2学習情報と、当該第2学習情報を前記推定器に入力した際に前記推定器が出力する第2出力情報との差が所定の条件を満たすようになるまで、前記第1学習情報を用いた学習が行われた推定器の学習を行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記学習部は、
前記第1学習情報に対する前記第1出力情報の損失が所定の閾値以下に収束するまで、前記第1学習情報を用いた学習を行い、
前記第2学習情報に対する前記第2出力情報の損失が所定の閾値以下に収束するまで、前記第2学習情報を用いた学習を行う
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記学習部は、
前記第1学習情報を用いた学習よりも低い学習率で前記第2学習情報が有する特徴を前記推定器に学習させる
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項6】
前記取得部は、
前記第1学習情報として、前記推定器を用いた状態の推定対象となる人物の情報を第1情報として含む情報を取得し、前記第2学習情報として、当該人物以外の情報を第2情報として含む情報を取得する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項7】
前記取得部は、
前記第1学習情報として、前記推定器を用いた状態の推定対象となる人物の情報のうち所定種別の情報を第1情報として含む情報を取得し、前記第2学習情報として、当該人物の情報のうち当該所定種別以外の種別の情報を第2情報として含む情報を取得する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項8】
前記取得部は、
前記第1学習情報及び前記第2学習情報として、動画像を構成する画像を取得し、
前記学習部は、
前記推定器として、前記動画像を構成する画像に基づいて前記動画像に撮影された撮影対象の状態の推定を行うニューラルネットワークの学習を行う
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項9】
前記学習部は、
前記ニューラルネットワークとして
入力された動画像に基づいた特徴を抽出するニューラルネットワークである第1構成部分と、
前記動画像に基づいたオプティカルフローの特徴と、前記第1構成部分により抽出された特徴とに基づいて、推定のための情報を生成する第2構成部分と
を有するニューラルネットワークの学習を行う
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記学習部は、
前記動画像を構成する画像に対するデータ拡張後又はデータ前処理後の画像に基づいて前記動画像に撮影された撮影対象の状態の推定を行うニューラルネットワークの学習を行う
ことを特徴とする請求項8に記載の情報処理装置。
【請求項11】
コンピュータが実行する情報処理方法であって、
入力された
学習情報に
含まれる情報であって当該情報に基づいた推定を行う推定器に特徴を学習させる情報のうち
、当該推定における重要性
であって血流に応じた色変化が期待できるか否かに基づく重要性が
最も高い、肌が露出している領域の情報である第1情報であって当該推定の元となる本質的データである第1情報を少なくとも含む第1学習情報と、当該第1情報に加えて所定の第2情報であって当該推定の元となる本質的データとは異な
り肌が露出している領域を含まない情報である第2情報を含む第2学習情報とを取得する取得工程と、
前記第1学習情報
と、当該第1学習情報を入力した際に前記推定器が出力した出力情報とを用いて、前記推定器の学習を行い、前記第1学習情報を用いた学習後に、前記第2学習情報
と、当該第2学習情報を入力した際に前記第1学習情報を用いた学習が行われた推定器が出力した出力情報とを用いて、前記第1学習情報を用いた学習が行われた推定器の学習を行う学習工程と
を含むことを特徴とする情報処理方法。
【請求項12】
入力された
学習情報に
含まれる情報であって当該情報に基づいた推定を行う推定器に特徴を学習させる情報のうち
、当該推定における重要性
であって血流に応じた色変化が期待できるか否かに基づく重要性が
最も高い、肌が露出している領域の情報である第1情報であって当該推定の元となる本質的データである第1情報を少なくとも含む第1学習情報と、当該第1情報に加えて所定の第2情報であって当該推定の元となる本質的データとは異な
り肌が露出している領域を含まない情報である第2情報を含む第2学習情報とを取得する取得手順と、
前記第1学習情報
と、当該第1学習情報を入力した際に前記推定器が出力した出力情報とを用いて、前記推定器の学習を行い、前記第1学習情報を用いた学習後に、前記第2学習情報
と、当該第2学習情報を入力した際に前記第1学習情報を用いた学習が行われた推定器が出力した出力情報とを用いて、前記第1学習情報を用いた学習が行われた推定器の学習を行う学習手順と
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、各種情報から推定を行う技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した技術では、各種情報から推定を行う際に、リアルタイムで適切に推定することができなかった。
【0005】
本願は、上記に鑑みてなされたものであって、各種情報から推定を行う際に、リアルタイムで適切に推定することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、入力された情報に基づいた推定を行う推定器に特徴を学習させる情報のうち当該推定における重要性が所定の条件を満たす第1情報を少なくとも含む第1学習情報と、当該第1情報に加えて所定の第2情報を含む第2学習情報とを取得する取得部と、前記第1学習情報を用いて、前記推定器の学習を行い、前記第1学習情報を用いた学習後に、前記第2学習情報を用いて、前記第1学習情報を用いた学習が行われた推定器の学習を行う学習部とを有することを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、各種情報から推定を行う際に、リアルタイムで適切に推定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理システムの構成例を示す図である。
【
図2】
図2は、実施形態に係る情報処理の一例を示す図である。
【
図3】
図3は、モデルの全体的な流れを説明するための説明図である。
【
図4】
図4は、実施形態に係る学習処理を説明するための説明図である。
【
図5】
図5は、実施形態に係る情報表示装置の構成例を示す図である。
【
図6】
図6は、実施形態に係る情報処理装置の構成例を示す図である。
【
図7】
図7は、実施形態に係るセンサ情報記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係るモデル情報記憶部の一例を示す図である。
【
図9】
図9は、第1のモデルのアーキテクチャの一例を示す図である。
【
図10】
図10は、第2のモデルのアーキテクチャの一例を示す図である。
【
図11】
図11は、第3のモデルのアーキテクチャの一例を示す図である。
【
図12】
図12は、実施形態に係る情報処理の手順の一例を示すフローチャート(1)である。
【
図13】
図13は、実施形態に係る情報処理の手順の一例を示すフローチャート(2)である。
【
図14】
図14は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
フォトプレスモグラフィー(Photoplethysmography;PPG)と呼ばれる光を用いて血流を測定する技術が知られている。例えば、各種の循環器系を有する動物は、体内を血液が流れているが、かかる血液の流れ、すなわち血流は、心臓の脈動により量が変化する。このような心臓の脈動は、動物の身体的な状況や精神的な状況により速さ(すなわち脈拍)や強さ(すなわち血圧)などが変化する。このため、血流量の変化により、動物の身体的、精神的状況を推定することができるとも言える。
【0011】
ここで、一般的な恒温動物(特に哺乳類)の血液は、ヘモグロビンを有しているため、特定波長の光(特に、緑色の光)を選択的に吸収することが知られている。そして、血圧や心拍数の増大により、血流量が増加すると、特定波長の光の吸収量も増大することとなる。PPGにより血流を測定する測定装置は、皮膚(肌)などに光を照射し、反射光をフォトダイオードなどにより測定する。そして、測定装置は、照射した光における特定波長の光の強度と、反射光における特定波長の光の強度とから、特定波長の光の吸光度を算出し、算出した吸光度に基づき、血流量を推定することができる。
【0012】
また、PPGの技術を応用して、動画像から血流量の変動を示すパルス、すなわちPPGパルスの測定も可能である。動画像からPPGパルスを測定する技術は、VPPGとも呼ばれる(同技術はRemote PPGやrPPGなどとも呼ばれる事がある)。例えば、肌には血流が存在するため、かかる血流の変化により、特定波長の光の吸光度が変化する結果、血流の変化により肌の色合いが変化する。VPPGは、肌の色合いの変化をもとにPPGパルスを測定する技術である。顔は血管が集中しているため、顔の皮膚は特に測定に適していることが知られている。
【0013】
VPPGには種々の方法があることが知られている。例えば、対象者が座位などの行動状態ではない場合には、動画像から顔を検出する所定のアルゴリズム(例えば、Viola-Jones法など)を用いて顔を検出し、顔全体又は顔の一部の光信号のチャネルを用いて、PPGパルスの測定を行う方法が知られている。また、ブラインド信号源分離(Blind Source Separation;BSS)を用いて心拍信号を生信号と分離させることで、PPGパルスの測定を行う方法が知られている。また、パワースペクトル密度(Power Spectral Density;PSD)解析を用いて生信号から心拍信号を抽出することで、PPGパルスの測定を行う方法が知られている。NLMS(Normalized Least Mean Squared)適応フィルタを用いて背景の明るさを調整し、明るさの変化による影響を抑制することで、PPGパルスの測定を行う方法が知られている。
【0014】
また、明るさの変化による影響を抑制する方法に限られず、動きの変化による影響を抑制する方法も知られている。例えば、画素ベースの遠隔PPGセンサを用いてロバスト推定を可能にするアルゴリズムを用いた方法が知られている。また、例えば、Farneback法を使用したオプティカルフロー(Optical Flow)のアルゴリズムを用いてフレーム間の各画像画素の並進移動を考慮する方法が知られている。なお、Farneback法を使用したオプティカルフローアルゴリズムは、高密度オプティカルフローアルゴリズムであり、Lucas-Kanade法を使用したオプティカルフローアルゴリズムよりも情報処理の負荷が大きくなり得る。
【0015】
また、色空間のシフトによって、明るさの変化による影響や、動きの変化による影響などが効果的に抑制され得る。また、計算効率がよいため、BVP(容積脈波)推定の遅延も抑制され得る。また、RGB(Red Green Blue)は、フィルタリング処理を必要とする。また、PCA(主成分分析)及びICA(独立成分分析)を必要とするため、色空間のシフトが必要になり得る。なお、PCA及びICAは、いずれも寸法を縮尺する方法であり、BVP推定の遅延が大きくなり得る。
【0016】
そして、上述したVPPGの方法は、長短期記憶メモリ層(Long Short Term Memory Layers)や、動画像からVPPGを測定するアテンションマスクなどと組み合わせた人工的な畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)などを用いることが知られている。しかしながら、これらのニューラルネットワークは、精度を向上させるためにノード数やレイヤ数などが増大する傾向にあり、リアルタイムの利用には負荷が大きくなり得る。
【0017】
下記実施形態では、VPPGを測定するために畳み込みニューラルネットワークを用いる。また、畳み込みニューラルネットワークの使用において、ネットワークの大きさを削減して軽量にすることで、リアルタイムの利用が可能になる。
【0018】
また、従来、各種情報から推定を行う技術が知られている。例えば、動画像から対象者の生体情報を読み取ることで、対象者の状態を把握するための技術が知られている。例えば、顔画像から心拍データを作成し、対象者のストレス状態を把握するための技術が知られている。
【0019】
しかしながら、上述した技術では、各種情報から推定を行う際に、リアルタイムで適切に推定することができなかった。例えば、上述した技術では、情報処理の負荷が大きくロバストな状態推定ができないため、動画像から対象者の状態をリアルタイムで適切に推定することができなかった。
【0020】
(実施形態)
〔1.情報処理システムの構成〕
まず、実施形態に係る情報処理システム1について説明する。
図1は、実施形態に係る情報処理システム1の構成例を示す図である。
図1に示すように、情報処理システム1は、情報表示装置10と、情報処理装置100とが含まれる。情報表示装置10と、情報処理装置100とは所定の通信網(ネットワークN)を介して、有線又は無線により通信可能に接続される。なお、
図1に示した情報処理システム1には、複数台の情報表示装置10及び複数台の情報処理装置100が含まれてもよい。
【0021】
情報表示装置10は、対象者によって利用される情報処理装置である。情報表示装置10は、実施形態における処理を実現可能であれば、どのような装置であってもよい。また、情報表示装置10は、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDAなどの装置であってもよい。
図2に示す例においては、情報表示装置10がノート型PCである場合を示す。
【0022】
情報表示装置10は、例えば、スマートフォンやタブレットなどのスマートデバイスであり、4G~5G(Generation)やLTE(Long Term Evolution)などの無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、情報表示装置10は、液晶ディスプレイなどの画面であって、タッチパネルの機能を有する画面を有し、対象者から指やスタイラスなどによりタップ操作、スライド操作、スクロール操作など、コンテンツなどの表示データに対する各種の操作を受け付けてもよい。
図2では、情報表示装置10は対象者Uによって利用される。例えば、情報表示装置10
1乃至10
Nは、それぞれ、対象者U1乃至UNによって利用される。また、例えば、情報表示装置10
Xは、対象者UXによって利用される。対象者U1乃至UNは、ニューラルネットワークの学習データを作成するために集められた対象者であり、対象者UXは、学習済みのニューラルネットワークを適用することで状態が推定される対象者である。また、情報表示装置10は、対象者Uを撮影するために、カメラなどの撮像装置を有してもよい。
【0023】
情報処理装置100は、動画像から対象者の状態をリアルタイムで適切に推定することを目的とした情報処理装置であり、実施形態における処理を実現可能であれば、どのような装置であってもよい。情報処理装置100は、例えば、対象者の状態に基づいてサービスを提供するサーバ装置やクラウドシステムなどにより実現される。情報処理装置100は、例えば、動画像から対象者の少なくとも皮膚の一部を含む皮膚画像を作成し、畳み込みニューラルネットワークを用いることで、対象者の状態をリアルタイムで推定する。
【0024】
なお、
図1では、情報表示装置10と情報処理装置100とが別装置である場合を示したが、情報表示装置10と情報処理装置100とが一体であってもよい。
【0025】
ここで、情報処理装置100が実行する情報処理の一例に先駆けて、情報処理装置100がニューラルネットワークを用いたVPPGをリアルタイムに実現可能な点について概要を説明する。
【0026】
情報処理装置100は、大まかに3段階の情報処理により、画像から対象者の状態を推定する。具体的には、画像から対象者が撮影された範囲を抽出する処理、抽出した範囲から対象者のPPGパルスを推定する処理、及びPPGパルスから対象者の状態を推定する処理を行う。これら処理においては、それぞれ別個のニューラルネットワークが採用される。
【0027】
一般に、抽出した範囲から対象者のPPGパルスを推定する処理で用いられる畳み込みニューラルネットワークは、画像からPPGパルスを推定するため、多くのノード数やレイヤ数を有することとなり、規模が大きくなりやすい。このため、ニューラルネットワークを用いた処理において、計算量が多くなり、リアルタイム性が毀損する場合がある。
【0028】
ここでニューラルネットワークによる情報処理の精度を向上させるには、ノード数やレイヤ数といったNNの規模を増大する方法だけではなく、学習方法を改善することにより実現可能な場合がある。出願人は、NNの規模を増大させずに、NNの学習方法によりNNの精度を向上させる方法について発見した。
【0029】
NNの精度を向上させることができるのであれば、リアルタイムに実行可能な規模のNNであったとしても、規模がより大きいNNと同様もしくはそれ以上の精度を確保することが可能となる。換言すると、VPPGにおいてある一定の精度が必要とされる場合に、出願人が発見したNNの学習方法により学習を行うのであれば、従来よりもNNの規模を小さくし、リアルタイムで実行可能なNNを学習することができる。
【0030】
そこで、情報処理装置100は、新たなNNの学習方法によりNNの学習をおこなうことで、NNの規模の増大を防ぎ、リアルタイムにVPPGを実行可能なNNを提供することを実現する。
【0031】
なお、抽出した範囲から対象者のPPGパルスを推定する処理のNNのみならず、画像から対象者が撮影された範囲を抽出する処理のNNや、PPGパルスから対象者の状態を推定する処理のNNも同様に、新たなNNの学習方法を採用することで、リアルタイム性を担保することができる。
【0032】
〔2.情報処理の一例〕
図2は、実施形態に係る情報処理システム1の情報処理の一例を示す図である。対象者U1乃至UNは、座位の状態であり、生体センサ(例えば、PPGセンサや呼吸センサなど)が装着されている。例えば、耳たぶにPPGセンサが装着され、胸下に呼吸センサが装着されてもよい。なお、PPGセンサや呼吸センサは生体センサの一例であり、これらの例に限定されなくてもよい。対象者U1乃至UNは、ニューラルネットワークの学習のために、例えば、初めはリラックスした状態を保つように促され、そのあとストレス状態を起こす暗算問題を解くように促される。また、対象者UXは、座位の状態であるが、PPGセンサなどの生体センサは装着されていない。
【0033】
下記実施形態では、情報処理装置100が、対象者Uの少なくとも皮膚の一部を含む皮膚画像の一例として顔画像を抽出する場合を例に挙げて説明するが、抽出される皮膚画像は顔画像に限定されなくてもよい。例えば、下記実施形態において、情報処理装置100は、対象者Uの腕画像や脚画像などの抽出を行ってもよい。また、下記実施形態では、情報処理装置100が、対象者Uの状態の一例としてストレス状態を推定する場合を例に挙げて説明するが、推定される状態はストレス状態に限定されなくてもよい。例えば、下記実施形態において、情報処理装置100は、対象者Uの感情に関する状態(例えば、喜怒哀楽など)の推定を行ってもよい。
【0034】
(学習処理)
以下、情報処理装置100の学習処理を説明する。情報処理装置100は、対象者U1乃至UNを撮影した撮影情報(動画像に対応)を取得する(ステップS101)。例えば、情報処理装置100は、対象者U1乃至UNをリアルタイムで撮影した撮影情報を取得する。具体的には、撮影情報は、動画像を構成する画像である。
【0035】
情報処理装置100は、取得した撮影情報から、対象者U1乃至UNの少なくとも皮膚の一部を含む皮膚画像として、顔画像を抽出する(ステップS102)。例えば、情報処理装置100は、シングルショットマルチボックス検出器(Single-Shot Multi-box Detector;SSD)を適用することで顔画像を抽出する。撮影情報から顔画像を抽出するために用いられるモデルを、以下適宜、「第1のモデル」とする。なお、下記実施形態において、撮影情報から顔画像を抽出する方法であればどのような方法が用いられてもよく、第1のモデルを用いた方法に限定されなくてもよい。シングルショットマルチボックス検出器は、第1のモデルの一例である。
【0036】
情報処理装置100は、抽出した顔画像を、畳み込みアテンションニューラルネットワーク(Convolutional Attention Neural Network;CAN)に適用することで、対象者U1乃至UNのストレス状態を推定するための情報(例えば、心拍データや呼吸データなど)を生成する(ステップS103)。顔画像からストレス状態を推定するための情報を生成するために用いられるモデルを、以下適宜、「第2のモデル」とする。畳み込みアテンションニューラルネットワークは、第2のモデル(推定器に対応)の一例である。
【0037】
情報処理装置100は、生成した情報から、対象者U1乃至UNのストレス状態を推定する(ステップS104)。例えば、情報処理装置100は、残差畳み込みニューラルネットワーク(例えば、並列1D残差畳み込みニューラルネットワークなど)を適用することでストレス状態を推定する。ストレス状態を推定するために用いられるモデルを、以下適宜、「第3のモデル」とする。なお、下記実施形態において、ストレス状態を推定する方法であればどのような方法が用いられてもよく、第3のモデルを用いた方法に限定されなくてもよい。残差畳み込みニューラルネットワークは、第3のモデルの一例である。
【0038】
下記実施形態において、第1のモデル、第2のモデル及び第3のモデルをまとめて、以下適宜、「モデル」とする。情報処理装置100は、対象者U1乃至UNの情報を正解データとしてモデルの学習を行う(ステップS105)。例えば、情報処理装置100は、対象者U1乃至UNの情報を正解データとして、第2のモデルを学習させる。この際、情報処理装置100は、対象者U1乃至UNの情報を正解データとして、第1のモデル及び第3のモデルのうち少なくともいずれかのモデルの学習を行ってもよい。また、情報処理装置100は、モデルから出力された情報と、PPGセンサなどの実際の生体センサの情報とを用いて、モデルから出力された情報が、生体センサの情報に近づくようにモデルを学習させる。例えば、情報処理装置100は、第3のモデルから出力された情報(ストレス状態を示す情報)が、生体センサの情報に近づくようにモデル(第1のモデル、第2のモデル、第3のモデル、第1のモデル/第2のモデル、第1のモデル/第3のモデル、第2のモデル/第3のモデル又は第1のモデル/第2のモデル/第3のモデル)を学習させる。
【0039】
ここで、
図3を用いて、モデルの全体的な流れを説明する。
図3は、モデルの全体的な流れを説明するための説明図である。第1ステップでは、第1のモデルを用いて、人の顔など、動画像の中から対象者状態情報の推定元として適切な領域(例えば、人の顔や手など、人の肌、つまり血流に応じて色が変化すると推定される領域を含む領域)を抽出し、抽出動画像を生成する。
【0040】
第2ステップでは、第2のモデルを用いて、抽出動画像から対象者の状態を推定する元となる情報であり、例えば、血流や脈拍などを示唆する生体示唆情報を生成する。第2のモデルは、抽出動画像のうち、血流が検知可能な領域を抽出する血流検知可能領域抽出部と、抽出動画像のオプティカルフローの特徴を処理するオプティカルフロー処理部とを有する。血流検知可能領域抽出部は、抽出画像の各画素のうち、どの領域を重視すべきかを示す情報、すなわち、アテンションを生成し、オプティカルフロー処理部は、オプティカルフロー画像の各領域について、アテンションに応じた重要度を考慮し、オプティカルフロー画像から生体示唆情報の生成を行う。また、第3ステップでは、第3のモデルを用いて、生体示唆情報から対象者状態情報を生成する。対象者状態情報とは、例えば、対象者Uの感情に関する情報などである。
【0041】
(学習環境)
以下、学習環境について説明する。なお、実施形態に係る学習環境は以下の例に限定されなくてもよい。実施形態に係る学習環境の一例として、例えば、生体センサがBiosignal Plux Hubに接続されてもよい。また、例えば、生体センサのサンプリングレートが所定のサンプリングレート(例えば、256Hzや700Hzなど)に設定されてもよい。また、例えば、一般的なウェブカメラを用いて、解像度が所定の画素(例えば、680×420画素など)、フレームレートが所定のFPS(例えば、30FPSなど)の動画像が撮影されてもよい。また、例えば、顔から所定の距離(例えば、0.5mなど)の位置にカメラが設置されてもよい。また、例えば、コントラストを上げるために、背景が黒色になるように黒色の布などが使用されてもよい。また、例えば、リラックスした状態を促すセッションと、暗算問題を解くように促すセッションとの各セッションのあとに、主観評価としてSAM(Self-Assessment Manikin)を用いて、喜びや不快、ストレスなどが評価されてもよい(例えば、喜びや不快やストレスなどの度合いが評価されてもよい)。また、例えば、サンプル数を増やすために複数のカメラで撮影されてもよい。また、例えば、顔の一部が隠れている場合でも適用可能なように対象者がマスクを着用した状態も撮影されてもよい。
【0042】
また、例えば、異なる時間フレーム、異なる撮影角度、異なる撮影距離及び異なる撮影照度(照明設定)などでデータセットが作成されてもよい。また、例えば、異なる属性(例えば、年齢や性別や国籍や肌の色など)の対象者などでデータセットが作成されてもよい。また、例えば、一部の学習環境では対象者がマスクを着用した状態、一部の学習環境では対象者がマスクを着用しない状態などでデータセットが作成されてもよい。また、例えば、一部の学習環境では背景が黒色の状態、一部の学習環境では背景が黒色以外(例えば、白色など)の状態などでデータセットが作成されてもよい。また、例えば、一部の学習環境では対象者が平常状態(例えば、ストレスフリーの状態など)、一部の学習環境では対象者がストレス状態などでデータセットが作成されてもよい。また、例えば、動画像それぞれにおいて、顔以外の領域の背景動画などを抽出することで、顔のない場合のデータセットが作成されてもよい。また、例えば、雑誌や画面上の顔を撮影したフェイクの顔動画などを撮影することで、フェイクの顔に対しても適用可能なようなデータセットが作成されてもよい。また、例えば、複数の異なる角度、照度、年齢、距離及び肌の色などの種々の情報を含むデータセットが作成されてもよい。
【0043】
情報処理装置100は、例えば、このように作成されたデータセットを用いて、対象者である人物の情報を第1情報として含む情報を取得し、対象者である人物以外の情報を第2情報として含む情報を取得してもよい。また、情報処理装置100は、例えば、このように作成されたデータセットを用いて、対象者である人物の情報のうち所定種別の情報を第1情報として含む情報を取得し、対象者である人物の情報のうち所定種別以外の種別の情報を第2情報として含む情報を取得してもよい。また、情報処理装置100は、例えば、このように作成されたデータセットを用いて、対象者である人物の肌の情報を第1情報として含む情報を取得し、対象者である人物の情報のうち肌以外の情報を第2情報として含む情報を取得してもよい。
【0044】
(データ拡張及びデータ前処理)
以下、データ拡張及びデータ前処理について説明する。なお、実施形態に係るデータ拡張及びデータ前処理は以下の例に限定されなくてもよい。推定処理において精度の高い結果を得るために、データ拡張及びデータ前処理のうち少なくともいずれかの処理がモデルの学習前に行われてもよい。また、データ拡張又はデータ前処理は、情報処理装置100により行われてもよいし、外部の情報処理装置などを介して行われてもよい。
【0045】
実施形態に係るデータ拡張の一例として、例えば、撮影情報に対して所定の変換処理が行われてもよい。例えば、回転(例えば、ランダム回転など)、追加(例えば、画素追加など)、反転(例えば、左右反転や上下反転など)及びせん断などの変換が行われてもよい。また、これらの変換がランダムに行われてもよい。データ拡張は、人為的にサンプル数を増やすために行われてもよい。また、データ拡張は、オリジナルのデータセットに含まれない場合でも適応可能なようにモデルを汎化させるうえでも効果的である。
【0046】
実施形態に係るデータ前処理の一例として、例えば、撮影情報に対して所定の変換処理が行われてもよい。例えば、顔のサイズが所定の画素サイズ(例えば、36×36画素など)に変換されてもよい。また、例えば、モデルの学習のために、オプティカルフローの特徴が抽出されて正規化されてもよい。また、実施形態に係るデータ前処理の一例として、例えば、PPGセンサなどの生体センサの情報に対して所定の変換処理が行われてもよい。例えば、フィルタリング処理によってノイズ除去が行われてもよい。
【0047】
(推定処理)
以下、情報処理装置100の推定処理を説明する。なお、学習処理と同様の説明は適宜省略する。情報処理装置100は、対象者UXを撮影した撮影情報を取得する(ステップS201)。例えば、情報処理装置100は、対象者UXをリアルタイムで撮影した撮影情報を取得する。
【0048】
情報処理装置100は、取得した撮影情報から、対象者UXの少なくとも皮膚の一部を含む皮膚画像として、顔画像を抽出する(ステップS202)。この際、情報処理装置100は、シングルショットマルチボックス検出器などの第1のモデルを用いてもよい。そして、情報処理装置100は、抽出した顔画像を、学習済みの第2のモデルである畳み込みアテンションニューラルネットワークに適用することで、対象者UXのストレス状態を推定するための情報(生体示唆情報)を生成する(ステップS203)。このように、情報処理装置100は、学習処理で学習させた学習済みのモデルに適用することで、対象者UXのストレス状態を推定するための情報(生体示唆情報)を生成する。そして、情報処理装置100は、生成した情報から、対象者UXのストレス状態を推定する(ステップS204)。この際、情報処理装置100は、残差畳み込みニューラルネットワークなどの第3のモデルを用いてもよい。
【0049】
ここで、
図4を用いて、実施形態に係る学習処理について更に説明する。
図4は、実施形態に係る学習処理を説明するための説明図である。具体的には、本質的データから徐々に情報を追加するような付加データを段階的に学習させることで、サイズが小さくても、最終的に精度が高いモデルの生成が可能になる。例えば、情報処理装置100は、学習データとして、顔など、肌が露出している部分のみ(つまり、血流に応じた色変化が期待できる部分のみ)を原則的学習データとして生成し、体部分や背景部分など、付加的情報を段階的に多くした画像群を生成する。そして、付加的情報量が少ない順で、第1データ群、第2データ群、第3データ群といったデータ群を生成し、付加的情報量が少ない順で学習を行う。第1データ群で学習して、誤差が所定の閾値以下となったら、次に第2データ群で学習する。これを行うことで、モデルは、被服の特徴や背景の特徴に基づく処理をいきなり行うのではなく、原理原則的に推定処理の元としてほしい部分の特徴から、原則的な学習を行い、徐々に付加的情報量を増やすことで、例外的条件を推定するといった学習を行うことが可能になる。この結果、モデルの学習は、原理原則的な情報に基づく精度の最適化が行われ、徐々に、付加的情報を考慮した更なる精度の最適化が行われるので、例外に基づく精度の最適化ではなく、原理原則に基づきつつ例外を考慮した最適化が行われる結果、精度を高めることが可能になる。この結果、モデルサイズが小さいモデルでも、精度を担保することができるので、リアルタイム性を担保することが可能になる。例えば、第1データ群では、背景部分の特徴をなくすために黒色の背景を用いて学習を行い、第2データ群では、背景部分の特徴に黒色とその他の色を加えた背景を用いて学習を行い、第3データ群では、第2データ群までの背景部分の特徴と顔が映っていないフレームのセクションは顔のないサンプルを生成するために学習を行い(第3データ群では、例えば、フレームの中に顔が映っている箇所と、顔が映っていない箇所とが存在する場合、顔が映っていないフレーム箇所は「顔が存在しない」と学習させてもよい)、第4データ群では、第3データ群までの特徴と、雑誌、新聞、外部スクリーン等から取得した偽の顔フレームを用いて学習を行うといったように、原理原則のみが含まれるデータ群と、付加情報を段階的に増やした複数のデータ群とを準備し、付加情報が少ない順に、データ群ごとに学習を行う。このように、例外から学習を行うのではなく、原理原則を学習させておいて、付加情報を段階的に増やすことで、付加情報によるエラーに対するロバスト性の向上が可能になる。
【0050】
〔3.情報表示装置の構成〕
次に、
図5を用いて、実施形態に係る情報表示装置10の構成について説明する。
図5は、実施形態に係る情報表示装置10の構成例を示す図である。
図5に示すように、情報表示装置10は、通信部11と、入力部12と、出力部13と、制御部14とを有する。
【0051】
(通信部11)
通信部11は、例えば、NIC(Network Interface Card)などによって実現される。そして、通信部11は、所定のネットワークNと有線又は無線で接続され、所定のネットワークNを介して、情報処理装置100などとの間で情報の送受信を行う。
【0052】
(入力部12)
入力部12は、対象者からの各種操作を受け付ける。
図2に示す例では、対象者U(対象者U1乃至UN及びUX)からの各種操作を受け付ける。例えば、入力部12は、タッチパネル機能により表示面を介して対象者からの各種操作を受け付けてもよい。また、入力部12は、情報表示装置10に設けられたボタンや、情報表示装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0053】
(出力部13)
出力部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどによって実現されるタブレット端末などの表示画面であり、各種情報を表示するための表示装置である。例えば、出力部13は、情報処理装置100から送信された情報を表示する。
【0054】
(制御部14)
制御部14は、例えば、コントローラ(Controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって、情報表示装置10内部の記憶装置に記憶されている各種プログラムがRAM(Random Access Memory)を作業領域として実行されることにより実現される。例えば、この各種プログラムには、情報表示装置10にインストールされたアプリケーションのプログラムが含まれる。例えば、この各種プログラムには、対象者をリアルタイムで撮影するアプリケーションのプログラムが含まれる。また、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現される。
【0055】
図5に示すように、制御部14は、撮影部141を有し、以下に説明する情報処理の作用を実現又は実行する。
【0056】
(撮影部141)
撮影部141は、リアルタイムで撮影する。例えば、撮影部141は、対象者をリアルタイムで撮影する。また、撮影部141は、撮影した撮影情報をリアルタイムで外部の情報処理装置へ送信する。例えば、撮影部141は、撮影した撮影情報をリアルタイムで情報処理装置100などの他の情報処理装置へ送信する。
【0057】
〔4.情報処理装置の構成〕
次に、
図6を用いて、実施形態に係る情報処理装置100の構成について説明する。
図6は、実施形態に係る情報処理装置100の構成例を示す図である。
図6に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者から各種操作を受け付ける入力部(例えば、キーボードやマウスなど)や、各種情報を表示するための表示部(例えば、液晶ディスプレイなど)を有してもよい。
【0058】
(通信部110)
通信部110は、例えば、NICなどによって実現される。そして、通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、情報表示装置10などとの間で情報の送受信を行う。
【0059】
(記憶部120)
記憶部120は、例えば、RAM、フラッシュメモリなどの半導体メモリ素子、又は、ハードディスク、光ディスクなどの記憶装置によって実現される。
図6に示すように、記憶部120は、センサ情報記憶部121と、モデル情報記憶部122とを有する。
【0060】
センサ情報記憶部121は、PPGセンサなどの生体センサの情報を記憶する。例えば、センサ情報記憶部121は、モデルの学習のために対象者に装着された生体センサの情報を記憶する。ここで、
図7に、実施形態に係るセンサ情報記憶部121の一例を示す。
図7に示すように、センサ情報記憶部121は、「センサ情報ID」、「対象者ID」、「学習環境」、「センサ情報」といった項目を有する。
【0061】
「センサ情報ID」は、センサ情報を識別するための識別情報を示す。「対象者ID」は、対象者を識別するための識別情報を示す。「学習環境」は、学習環境を示す。
図7に示す例では、「学習環境」に「学習環境#1」や「学習環境#2」といった概念的な情報が格納される例を示したが、実際には、サンプリングレートを示す数値、解像度を示す数値、フレームレートを示す数値、対象者との距離を示す数値、撮影角度を示す数値、撮影照度を示す数値、対象者の属性を示す情報、対象者のマスク着用の有無を示す情報、背景の色を示す情報、ストレスの有無を示す情報などが格納される。「センサ情報」は、生体センサの情報を示す。
図7に示す例では、「センサ情報」に「センサ情報#1」や「センサ情報#2」といった概念的な情報が格納される例を示したが、実際には、PPGセンサで測定された心拍データや、呼吸センサで測定された呼吸データなどの生データなどが格納される。また、データ拡張後又はデータ前処理後のデータなどが格納されてもよい。
【0062】
モデル情報記憶部122は、モデルに関する情報を記憶する。例えば、モデル情報記憶部122は、生体センサの情報に近づくように学習させたモデルに関する情報を記憶する。ここで、
図8に、実施形態に係るモデル情報記憶部122の一例を示す。
図8に示すように、モデル情報記憶部122は、「モデルID」、「モデル種別」、「モデル情報」、「学習データ」といった項目を有する。
【0063】
「モデルID」は、モデルを識別するための識別情報を示す。「モデル種別」は、第1のモデルであるか、第2のモデルであるか又は第3のモデルであるかを識別するための種別を示す。「モデル情報」は、モデルに関する情報を示す。
図8に示す例では、「モデル情報」に「モデル情報#1」や「モデル情報#2」といった概念的な情報が格納される例を示したが、実際には、モデルの要素や重みを示す情報などが格納される。「学習データ」は、モデルの学習に用いられた学習データを示す。
図8に示す例では、「学習データ」に「学習データ#1」や「学習データ#2」といった概念的な情報が格納される例を示したが、実際には、モデルの学習に用いられた撮影情報などが格納される。また、データ拡張後又はデータ前処理後の撮影情報などが格納されてもよい。
【0064】
(制御部130)
制御部130は、コントローラであり、例えば、CPUやMPUなどによって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASICやFPGAなどの集積回路により実現される。
【0065】
図6に示すように、制御部130は、取得部131と、抽出部132と、生成部133と、推定部134と、学習部135とを有し、以下に説明する情報処理の作用を実現又は実行する。なお、制御部130の内部構成は、
図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0066】
(取得部131)
取得部131は、各種情報を取得する。取得部131は、外部の情報処理装置から各種情報を取得する。例えば、取得部131は、情報表示装置10などの他の情報処理装置から各種情報を取得する。
【0067】
取得部131は、記憶部120から各種情報を取得する。例えば、取得部131は、センサ情報記憶部121やモデル情報記憶部122から各種情報を取得する。また、取得部131は、取得した各種情報を記憶部120に格納する。例えば、取得部131は、センサ情報記憶部121やモデル情報記憶部122に各種情報を格納する。
【0068】
取得部131は、対象者をリアルタイムで撮影した撮影情報を取得する。例えば、取得部131は、外部の情報処理装置からリアルタイムで送信された撮影情報を取得する。例えば、取得部131は、情報表示装置10などの他の情報処理装置からリアルタイムで送信された撮影情報を取得する。
【0069】
(抽出部132)
抽出部132は、取得部131により取得された撮影情報から、対象者の少なくとも皮膚の一部を含む皮膚画像(例えば、顔画像など)を抽出する。例えば、抽出部132は、第1のモデル(例えば、シングルショットマルチボックス検出器など)を用いて皮膚画像を抽出する。この際、抽出部132は、例えば、既存のモデルである第1のモデルを用いて皮膚画像を抽出してもよいし、後述の学習部135により生成された第1のモデルを用いて皮膚画像を抽出してもよいし、後述の学習部135により既存の第1モデルを学習させた学習後の第1のモデルを用いて皮膚画像を抽出してもよい。
【0070】
ここで、
図9を用いて、実施形態に係る第1のモデルの詳細を説明する。なお、シングルショットマルチボックス検出器を例に挙げて説明する。
図9は、第1のモデルのアーキテクチャの一例を示す図である。第1のモデルは、撮影情報を所定サイズの領域に順次分割して分割された領域ごとに順次検出を行うスライシング法に基づくアーキテクチャであってもよいし、撮影情報を所定数の領域に予め分割して分割された領域ごとに検出を行うグリッドセル法に基づくアーキテクチャであってもよい。
【0071】
図9において、IN1が撮影情報であり、第1のモデルのアーキテクチャであるA1に入力される入力情報である。また、OU1が皮膚画像であり、A1から出力される出力情報である。第1のモデルは、アーキテクチャに複数のCNNを含んでもよい。例えば、第1のモデルは、MobileNet-v2に基づく全層畳み込みニューラルネットワークと、残差畳み込みニューラルネットワークとのそれぞれを少なくとも含んでもよい。
【0072】
第1のモデルの学習方法について説明する。第1のモデルの学習方法の一例として、例えば、平均二乗誤差(Mean Squared Error)などの損失関数が用いられてもよい。また、例えば、ADAM(Lr=0.001)などの最適化手法が用いられてもよい。また、例えば、パディングが「有効」などに設定されてもよい。また、例えば、エポック数が「32」などに設定されてもよい。また、例えば、バッチサイズが「32」などに設定されてもよい。第1のモデルは、動画像の各フレームを構成する画像を入力した際に、人の顔や手など、肌が露出している部分、すなわち、血流を推定することができる光学的特性を有する範囲を抽出するように、ノード間の接続係数がバックプロパゲーションなどにより修正されることで学習されてもよい。
【0073】
第1のモデルにおいて、例えば、MobileNet-v2は、ImageNetデータセットで学習が行われてもよい。また、例えば、MobileNet-v2から取得された重みは、固定して学習が行われてもよい。また、例えば、残差畳み込みニューラルネットワークは、所定のデータセット(例えば、顔境界ボックスを含むWIDERなどのパブリックデータセットなど)の半分を用いて学習が行われてもよい。また、例えば、重みの固定を解除して、学習率を10万分の1ほどまで下げて学習が行われてもよい。また、例えば、対象者のマスク着用時のロバスト性を高めるために所定のデータセット(例えば、顔境界ボックスと98点のランドマークとを含むWFLWなどのパブリックデータセットなど)を用いて更なる学習が行われてもよい。また、例えば、プーリング層を使用せずにストライド2を用いて学習が行われてもよい。
【0074】
(生成部133)
生成部133は、徐々に情報を追加するような付加データを段階的に学習させることで、サイズが小さくても、最終的に精度が高いモデルである第2のモデルを生成する。具体的には、生成部133は、原理原則のみが含まれるデータ群と、付加情報を段階的に増やした複数のデータ群とを準備し、付加情報が少ない順に、データ群ごとに学習を行うことで、第2のモデルを生成する。例えば、生成部133は、(1)顔のみで学習を行うためのデータ群と、(2)顔と体のみで学習を行うためのデータ群と、(3)顔と体と背景(白黒)とで学習を行うためのデータ群と、(4)顔と体と背景(カラー)とで学習を行うためのデータ群とを準備して、付加情報が少ない(1)、(2)、(3)及び(4)の順に、データ群ごとに学習を行うことで、第2のモデルを生成する。また、例えば、生成部133は、同様にフェイクの顔や体で学習を行うためのデータ群を準備して、データ群ごとに学習を行うことで、第2のモデルを生成する。例えば、生成部133は、対象者の顔と対象者の体で学習を行うためのデータ群と、フェイクの顔と対象者の体で学習を行うためのデータ群と、フェイクの顔とフェイクの体で学習を行うためのデータ群を準備して、データ群ごとに学習を行うことで、第2のモデルを生成する。また、生成部133は、誤差が所定の閾値以下となったら(再度損失収束に達したら)、付加情報が次に少ないデータ群で学習を行い、これを繰り返すことで、例外的条件を推定するといった学習を行うことで、第2のモデルを生成する。このように、生成部133は、原理原則的に推定処理の元としてほしい部分の特徴から原則的な学習を行い、誤差が所定の閾値以下となったら、付加情報が次に少ないデータ群で学習を行い、徐々に付加的情報量を増やすことで、例外的条件を推定するといった学習を行うことで、第2のモデルを生成する。
【0075】
生成部133は、抽出部132により抽出された皮膚画像から、対象者の生体示唆情報(例えば、心拍データや呼吸データなど)を生成する。例えば、生成部133は、第2のモデル(例えば、畳み込みアテンションニューラルネットワークなど)を用いて対象者の生体示唆情報を生成する。この際、生成部133は、例えば、既存のモデルである第2のモデルを用いて対象者の生体示唆情報を生成してもよいし、後述の学習部135により生成された第2のモデルを用いて対象者の生体示唆情報を生成してもよいし、後述の学習部135により既存の第2モデルを学習させた学習後の第2のモデルを用いて対象者の生体示唆情報を生成してもよい。
【0076】
ここで、
図10を用いて、実施形態に係る第2のモデルの詳細を説明する。なお、畳み込みアテンションニューラルネットワークを例に挙げて説明する。
図10は、第2のモデルのアーキテクチャの一例を示す図である。
【0077】
図10において、IN2が皮膚画像であり、第2のモデルのアーキテクチャであるA2に入力される入力情報である。また、OU2が対象者の生体示唆情報であり、A2から出力される出力情報である。OU2は、信号平衡化のためにトレンドが除去されてもよい。また、IN21は、IN2のオプティカルフローの特徴を抽出することで生成された情報であり、IN22は、アテンションマスクに用いるためにIN2を正規化することで生成された情報である。すなわち、A2は、IN22をアテンションマスクに用いて、IN21に適用することで畳み込みを行う。A2は、動画像に基づいた特徴を抽出する第1構成部分と、動画像に基づいたオプティカルフローの特徴とに基づいて推定のための情報を生成する第2構成部分とを含む。
【0078】
第2のモデルの学習方法について説明する。第2のモデルの学習方法の一例として、例えば、平均二乗誤差などの損失関数が用いられてもよい。また、例えば、Adaptive-Delta(Lr=1.0~0.1~0.01~0.001)などの最適化手法が用いられてもよい。また、例えば、パディングが「有効」などに設定されてもよい。また、例えば、ストライドが「1」などに設定されてもよい。また、例えば、エポック数が「370」などに設定されてもよい。また、例えば、バッチサイズが「128」などに設定されてもよい。また、例えば、バッチサイズが、フレーム深度(A2の設計時に設定されたパラメータ)の倍数になるように設定されてもよい。また、例えば、独立信号とみなして各バッチが設定されてもよい。第2のモデルは、肌が露出している部分を少なくとも含む皮膚画像を入力した際に、その部分の光学的特性に基づく生体示唆情報を抽出するように、ノード間の接続係数がバックプロパゲーションなどにより修正されることで学習されてもよい。
【0079】
第2のモデルにおいて、例えば、所定のデータセット(例えば、PUREなどのパブリックデータセットなど)で学習が行われたあと、不要な生体データを除いたデータセット(例えば、プライベートデータセットなど)で学習が行われてもよい。例えば、心拍データを用いて学習が行われる場合には、呼吸データを除いたデータセットで学習が行われてもよい。
【0080】
第2のモデルにおいて、例えば、ランダムに設定された重みで学習が行われてもよい。また、例えば、「1.0」の高学習率で学習が行われてもよい。また、例えば、初めは顔の動画像のみで学習が行われてもよい。このように、初めは基本の情報のみで学習が行われてもよい。また、例えば、対象者の一部のデータが学習に用いられてもよい。例えば、20%ほどのデータが評価に用いられ、残りの80%ほどのデータが学習に用いられてもよい。また、例えば、所定の回数繰り返したあと、学習率を下げて学習が行われてもよい。例えば、学習率を10分の1に下げて学習が行われてもよい。また、例えば、初めは顔の動画像のみで学習が行われたが、次に背景画像を含めて学習が行われてもよい。このように、基本の情報から徐々に情報を増やしながら学習が行われてもよい。また、例えば、損失収束に達したあと(評価損失の低下が止まったあと)、再度損失収束に達するまで学習が行われてもよい。例えば、フェイクの顔画像で学習が行われてもよい。また、例えば、損失収束に達したあと、学習率を下げて学習が行われてもよい。また、例えば、学習率を下げるプロセスを繰り返してモデルをファインチューニングしながら学習が行われてもよい。また、例えば、特定の環境にモデルが対応できるように、専用ファインチューニングを適用して学習が行われてもよい。
【0081】
また、第2のモデルは、
図3における、抽出動画像のうち、血流が検知可能な領域を抽出する血流検知可能領域抽出部と、抽出動画像のオプティカルフローの特徴を処理するオプティカルフロー処理部とを有してもよい。
【0082】
(推定部134)
推定部134は、生成部133により生成された情報から、対象者の状態(例えば、ストレス状態など)を推定する。例えば、推定部134は、第3のモデル(例えば、残差畳み込みニューラルネットワークなど)を用いて対象者の状態を推定する。この際、推定部134は、例えば、既存のモデルである第3のモデルを用いて対象者の状態を推定してもよいし、後述の学習部135により生成された第3のモデルを用いて対象者の状態を推定してもよいし、後述の学習部135により既存の第3モデルを学習させた学習後の第3のモデルを用いて対象者の状態を推定してもよい。
【0083】
ここで、
図11を用いて、実施形態に係る第3のモデルの詳細を説明する。なお、残差畳み込みニューラルネットワークを例に挙げて説明する。
図11は、第3のモデルのアーキテクチャの一例を示す図である。
【0084】
図11において、IN3が生成部133により生成された情報であり、第3のモデルのアーキテクチャであるA3に入力される入力情報である。また、OU3が対象者の状態を示す情報であり、A3から出力される出力情報である。IN3は、例えば、サンプリングレートが128Hz、シグナルレングスが10秒、スライスが2秒の情報である。
【0085】
第3のモデルの学習方法について説明する。第3のモデルの学習方法の一例として、例えば、多クラス交差エントロピー(Categorical Cross Entropy)や、二値交差エントロピー(Binary Cross Entropy)などの損失関数が用いられてもよい。また、例えば、ADAMなどの最適化手法が用いられてもよい。また、例えば、パディングが「有効」などに設定されてもよい。また、例えば、エポック数が「100」などに設定されてもよい。また、例えば、バッチサイズが「64」などに設定されてもよい。第3のモデルは、肌が露出している部分の光学的特性に基づく生体示唆情報を入力した際に、その部分の光学的特性に基づいて推定される対象者の状態を示す情報を抽出するように、ノード間の接続係数がバックプロパゲーションなどにより修正されることで学習されてもよい。
【0086】
第3のモデルにおいて、例えば、所定のデータセット(例えば、WESADなどのパブリックデータセットなど)で学習が行われたあと、異なるデータセット(例えば、プライベートデータセットなど)で更なる学習が行われてもよい。
【0087】
(学習部135)
学習部135は、モデルの学習を行う。例えば、学習部135は、第1のモデル、第2のモデル及び第3のモデルのうち少なくともいずれかのモデルの学習を行う。例えば、学習部135は、学習データである対象者の情報を正解データとして、学習データをモデルに入力した際に、モデルから出力される情報が、実際の生体センサ情報に近づくようにモデルを学習させる。
【0088】
学習部135は、例えば、所定のデータセット(例えば、WIDERやWFLWなど)を用いて、第1のモデルの学習を行う。第1のモデルは、既存のモデルであってもよいし、学習部135により生成されたモデルであってもよいし、既存のモデルを所定のデータセットを用いて学習させた学習後のモデルであってもよい。
【0089】
学習部135は、例えば、所定のデータセット(例えば、PUREなど)を用いて、第2のモデルの学習を行う。第2のモデルは、既存のモデルであってもよいし、学習部135により生成されたモデルであってもよいし、既存のモデルを所定のデータセットを用いて学習させた学習後のモデルであってもよい。
【0090】
学習部135は、例えば、所定のデータセット(例えば、WESADなど)を用いて、第3のモデルの学習を行う。第3のモデルは、既存のモデルであってもよいし、学習部135により生成されたモデルであってもよいし、既存のモデルを所定のデータセットを用いて学習させた学習後のモデルであってもよい。
【0091】
学習部135は、例えば、モデルに特徴を学習させる情報のうち、推定における重要性が所定の条件を満たす第1情報を少なくとも含む情報(第1学習情報に対応)を用いて、モデルの学習を行う。そして、学習部135は、例えば、第1情報に加えて所定の第2情報を含む情報(第2学習情報に対応)を用いて、モデルの更なる学習を行う。
【0092】
学習部135は、例えば、第1学習情報と、第1学習情報をモデルに入力した際にモデルが出力する出力情報(第1出力情報に対応)との差が所定の条件を満たすようになるまで、第1学習情報を用いた学習を行う。また、学習部135は、例えば、第2学習情報と、第2学習情報をモデルに入力した際にモデルが出力する出力情報(第2出力情報に対応)との差が所定の条件を満たすようになるまで、第1学習情報を用いた学習が行われたモデルの学習を行う。
【0093】
学習部135は、例えば、第1学習情報に対する第1出力情報の損失が所定の閾値以下に収束するまで、第1学習情報を用いた学習を行う。また、学習部135は、例えば、第2学習情報に対する第2出力情報の損失が所定の閾値以下に収束するまで、第2学習情報を用いた学習を行う。
【0094】
学習部135は、例えば、第1学習情報を用いた学習よりも低い学習率で第2学習情報が有する特徴をモデルに学習させる。
【0095】
〔5.情報処理のフロー〕
次に、
図12及び13を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。
図12及び13は、実施形態に係る情報処理システム1による情報処理の手順を示すフローチャートである。
【0096】
図12に示すように、情報処理装置100は、対象者をリアルタイムで撮影した撮影情報を取得する(ステップS301)。
【0097】
情報処理装置100は、第1のモデルを用いて、対象者の少なくとも皮膚の一部を含む皮膚画像を抽出する(ステップS302)。
【0098】
情報処理装置100は、第2のモデルを用いて、対象者の状態を推定するための情報を生成する(ステップS303)。
【0099】
情報処理装置100は、第3のモデルを用いて、対象者の状態を推定する(ステップS304)。
【0100】
図13に示すように、情報処理装置100は、第1情報を少なくとも含む第1学習情報と、第1情報に加えて所定の第2情報を含む第2学習情報とを取得する(ステップS401)。
【0101】
情報処理装置100は、第1学習情報を用いて、第2のモデルの学習を行い、第1学習情報を用いた学習後に、第2学習情報を用いて、第2のモデルの更なる学習を行う(ステップS402)。
【0102】
〔6.変形例〕
上述した実施形態に係る情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理システム1の他の実施形態について説明する。
【0103】
上記実施形態では、情報処理装置100が、情報表示装置10によりリアルタイムで撮影された対象者の撮影情報を取得する場合を示したが、この例に限定されなくてもよい。例えば、情報処理装置100は、外部の情報処理装置などから、予め録画された録画情報を取得してもよい。例えば、情報処理装置100は、予め録画された動画像に出演している対象者の状態の推定を行ってもよい。これにより、情報処理装置100は、例えば、予め録画された動画像に適用することで、映画やドラマなどにおいて撮影時に出演者がどのような状態であったかなどを可視化することも可能になる。
【0104】
〔7.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、学習部135とを有する。取得部131は、入力された情報に基づいた推定を行う推定器に特徴を学習させる情報のうち推定における重要性が所定の条件を満たす第1情報を少なくとも含む第1学習情報と、第1情報に加えて所定の第2情報を含む第2学習情報とを取得する。学習部135は、第1学習情報を用いて、推定器の学習を行い、第1学習情報を用いた学習後に、第2学習情報を用いて、第1学習情報を用いた学習が行われた推定器の学習を行う。
【0105】
これにより、実施形態に係る情報処理装置100は、各種情報から推定を行う際に、リアルタイムで適切に推定することができる。
【0106】
また、学習部135は、第1学習情報と、第1学習情報を推定器に入力した際に推定器が出力する第1出力情報との差が所定の条件を満たすようになるまで、第1学習情報を用いた学習を行い、第2学習情報と、第2学習情報を推定器に入力した際に推定器が出力する第2出力情報との差が所定の条件を満たすようになるまで、第1学習情報を用いた学習が行われた推定器の学習を行う。
【0107】
これにより、実施形態に係る情報処理装置100は、基本情報から徐々に情報を増やしながら学習させることで、小さいモデルで精度の高い推定を可能にすることができる。
【0108】
また、学習部135は、第1学習情報に対する第1出力情報の損失が所定の閾値以下に収束するまで、第1学習情報を用いた学習を行い、第2学習情報に対する第2出力情報の損失が所定の閾値以下に収束するまで、第2学習情報を用いた学習を行う。
【0109】
これにより、実施形態に係る情報処理装置100は、徐々に情報を増やす際に学習に関する条件を設定することで、より精度の高い学習を可能にすることができる。
【0110】
また、学習部135は、第1学習情報を用いた学習よりも低い学習率で第2学習情報が有する特徴を推定器に学習させる。
【0111】
これにより、実施形態に係る情報処理装置100は、学習処理の負荷を軽減させながら精度の高い学習を可能にすることができる。
【0112】
また、取得部131は、第1学習情報として、推定器を用いた状態の推定対象となる人物の情報を第1情報として含む情報を取得し、第2学習情報として、人物以外の情報を第2情報として含む情報を取得する。
【0113】
これにより、実施形態に係る情報処理装置100は、人物の状態推定への適用を可能にすることができる。
【0114】
また、取得部131は、第1学習情報として、推定器を用いた状態の推定対象となる人物の情報のうち所定種別の情報を第1情報として含む情報を取得し、第2学習情報として、人物の情報のうち所定種別以外の種別の情報を第2情報として含む情報を取得する。
【0115】
これにより、実施形態に係る情報処理装置100は、人物の状態推定への適用の際に、人物のいかなる情報を基本情報としてモデルの学習を可能にすることができる。
【0116】
また、取得部131は、第1学習情報として、推定器を用いた状態の推定対象となる人物の肌の情報を第1情報として含む情報を取得し、第2学習情報として、人物の情報のうち肌以外の情報を第2情報として含む情報を取得する。
【0117】
これにより、実施形態に係る情報処理装置100は、人物の状態推定への適用の際に、人物の肌情報を基本情報としてモデルの学習を可能にすることができる。
【0118】
また、取得部131は、第1学習情報及び第2学習情報として、動画像を構成する画像を取得する。また、学習部135は、推定器として、動画像を構成する画像に基づいて動画像に撮影された撮影対象の状態の推定を行うニューラルネットワークの学習を行う。
【0119】
これにより、実施形態に係る情報処理装置100は、動画像からリアルタイムでの撮影対象の状態推定を可能にすることができる。
【0120】
また、学習部135は、ニューラルネットワークとして入力された動画像に基づいた特徴を抽出するニューラルネットワークである第1構成部分と、動画像に基づいたオプティカルフローの特徴と、第1構成部分により抽出された特徴とに基づいて、推定のための情報を生成する第2構成部分とを有するニューラルネットワークの学習を行う。
【0121】
これにより、実施形態に係る情報処理装置100は、オプティカルフローの特徴を基に学習を行うことが可能になるため、効率的な学習を可能にすることができる。
【0122】
また、学習部135は、動画像を構成する画像に対するデータ拡張後又はデータ前処理後の画像に基づいて動画像に撮影された撮影対象の状態の推定を行うニューラルネットワークの学習を行う。
【0123】
これにより、実施形態に係る情報処理装置100は、データ拡張又はデータ前処理を行うことで、より精度の高い学習を可能にすることができる。
【0124】
〔8.ハードウェア構成〕
また、上述してきた実施形態に係る情報表示装置10及び情報処理装置100は、例えば、
図14に示すような構成のコンピュータ900によって実現される。
図14は、情報表示装置10及び情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ900は、CPU910、RAM920、ROM930、HDD940、通信インターフェイス(I/F)950、入出力インターフェイス(I/F)960、及びメディアインターフェイス(I/F)970を有する。
【0125】
CPU910は、ROM930又はHDD940に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM930は、コンピュータ900の起動時にCPU910によって実行されるブートプログラムや、コンピュータ900のハードウェアに依存するプログラムなどを格納する。
【0126】
HDD940は、CPU910によって実行されるプログラム、及び、かかるプログラムによって使用されるデータなどを格納する。通信インターフェイス950は、所定の通信網を介して他の機器からデータを取得してCPU910へ送り、CPU910が生成したデータを所定の通信網を介して他の機器へ送信する。
【0127】
CPU910は、入出力インターフェイス960を介して、ディスプレイやプリンタなどの出力装置、及び、キーボードやマウスなどの入力装置を制御する。CPU910は、入出力インターフェイス960を介して、入力装置からデータを取得する。また、CPU910は、生成したデータを、入出力インターフェイス960を介して出力装置へ出力する。
【0128】
メディアインターフェイス970は、記録媒体980に格納されたプログラム又はデータを読み取り、RAM920を介してCPU910に提供する。CPU910は、かかるプログラムを、メディアインターフェイス970を介して記録媒体980からRAM920上にロードし、ロードしたプログラムを実行する。記録媒体980は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)などの光学記録媒体、MO(Magneto-Optical disk)などの光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリなどである。
【0129】
例えば、コンピュータ900が実施形態に係る情報表示装置10及び情報処理装置100として機能する場合、コンピュータ900のCPU910は、RAM920上にロードされたプログラムを実行することにより、制御部14及び130の機能を実現する。コンピュータ900のCPU910は、これらのプログラムを記録媒体980から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0130】
〔9.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0131】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0132】
また、上述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0133】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0134】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0135】
1 情報処理システム
10 情報表示装置
11 通信部
12 入力部
13 出力部
14 制御部
100 情報処理装置
110 通信部
120 記憶部
121 センサ情報記憶部
122 モデル情報記憶部
130 制御部
131 取得部
132 抽出部
133 生成部
134 推定部
135 学習部
141 撮影部
N ネットワーク
【要約】
各種情報から推定を行う際に、リアルタイムで適切に推定する。情報処理装置(100)は、取得部(131)と、学習部(135)とを有する。取得部(131)は、入力された情報に基づいた推定を行う推定器に特徴を学習させる情報のうち推定における重要性が所定の条件を満たす第1情報を少なくとも含む第1学習情報と、第1情報に加えて所定の第2情報を含む第2学習情報とを取得する。学習部(135)は、第1学習情報を用いて、推定器の学習を行い、第1学習情報を用いた学習後に、第2学習情報を用いて、第1学習情報を用いた学習が行われた推定器の学習を行う。