(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161623
(43)【公開日】2024-11-19
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241112BHJP
G06V 10/82 20220101ALI20241112BHJP
【FI】
G06T7/00 350C
G06V10/82
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024150460
(22)【出願日】2024-09-02
(62)【分割の表示】P 2021543605の分割
【原出願日】2020-08-25
(31)【優先権主張番号】P 2019162687
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000153878
【氏名又は名称】株式会社半導体エネルギー研究所
(72)【発明者】
【氏名】小國 哲平
(72)【発明者】
【氏名】岡野 達也
(72)【発明者】
【氏名】秋元 健吾
(57)【要約】
【課題】使用者の疲労、眠気等を検出する機能を有する情報処理システムを提供する。
【解決手段】第1及び第2の情報処理装置を有し、機械学習による演算を行う機能を有する情報処理システム。第1の情報処理装置は、顔面を含む第1の動画を取得し、第1の動画に含まれる2以上の第1の画像から目を検出する機能を有する。また、第1の情報処理装置は、第1の画像から検出された目から瞳孔を検出してその大きさを算出し、瞳孔の大きさの経時変化を用いて学習を行う機能を有する。第2の情報処理装置は、顔面を含む第2の動画を取得し、第2の動画に含まれる2以上の第2の画像から目を検出する機能を有する。また、第2の情報処理装置は、第2の画像から検出された目から瞳孔を検出してその大きさを算出し、瞳孔の大きさの経時変化に対して、第1の情報処理装置によって行われた学習の結果に基づき推論を行う機能を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮像部と、機械学習による演算を行う機能を有する演算部と、を有し、
前記撮像部は、2フレーム以上の画像の集合である動画を取得する機能を有し、
前記演算部は、前記動画に含まれる前記画像のうち、2以上の前記画像のそれぞれから、第1の物体を検出する機能を有し、
前記演算部は、検出した前記第1の物体のそれぞれから、第2の物体を検出する機能を有し、
前記演算部は、検出した前記第2の物体のそれぞれについて、前記第2の物体の大きさを算出する機能を有し、
前記演算部は、前記第2の物体の大きさの経時変化を用いて学習を行う機能を有する情報処理装置。
【請求項2】
請求項1において、
前記機械学習は、ニューラルネットワークにより行う情報処理装置。
【請求項3】
請求項1又は2において、
前記動画には顔面が含まれ、前記第1の物体は目であり、前記第2の物体は瞳孔である情報処理装置。
【請求項4】
第1の動画に含まれる2以上の第1の画像に示される第1の物体の大きさの経時変化を用いて学習を行うことにより得られた学習結果に基づき推論を行う機能を有する情報処理装置であって、
前記情報処理装置は、第2の動画を取得する機能を有し、
前記情報処理装置は、前記第2の動画に含まれる2以上の第2の画像のそれぞれから、第2の物体を検出する機能を有し、
前記情報処理装置は、検出した前記第2の物体のそれぞれから、第3の物体を検出する機能を有し、
前記情報処理装置は、検出した前記第3の物体のそれぞれについて、前記第3の物体の大きさを算出する機能を有し、
前記情報処理装置は、前記第3の物体の大きさの経時変化に対して、前記学習結果に基づく推論を行う機能を有する情報処理装置。
【請求項5】
請求項4において、
前記学習、及び前記推論は、ニューラルネットワークにより行い、
前記学習結果は、重み係数を含む情報処理装置。
【請求項6】
請求項4又は5において、
前記第1の動画には第1の顔面が含まれ、前記第2の動画には第2の顔面が含まれ、前記第1及び第3の物体は瞳孔であり、前記第2の物体は目である情報処理装置。
【請求項7】
請求項6において、前記第2の顔面を有する者の疲労を推定する機能を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一態様は、情報処理装置に関する。また、本発明の一態様は、情報処理システムに関する。また、本発明の一態様は、情報処理方法に関する。また、本発明の一態様は、情報端末に関する。
【背景技術】
【0002】
スマートフォン、又はタブレット等の情報端末を長時間使用していると、使用者が疲労、眠気等を感じる場合がある。特に、情報端末の画面を長時間注視することにより、使用者が眼の疲労を感じる場合がある。特許文献1には、眼の疲労の検出装置、及び検出方法が開示されている。
【0003】
疲労、眠気等の有無により、瞳孔径が変化する。例えば、疲労、眠気ありの場合は、疲労、眠気なしの場合より瞳孔径が小さくなる。また、一般的に瞳孔径は周期的に変動するが、疲労、眠気ありの場合は、疲労、眠気なしの場合より瞳孔径の変動周期が長くなる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
スマートフォン、又はタブレット等の情報端末の使用中に、使用者の疲労、眠気等をリアルタイムで検出できると、例えば情報端末の動作を使用者の疲労、眠気等の有無に応じて変化させることができるため好ましい。疲労、眠気等をリアルタイムで検出する場合、使用している情報端末自体が、使用者の疲労、眠気等を推定する機能を有することが好ましい。しかしながら、特許文献1に示す方法で眼の疲労を検出するには、専用の装置が必要である。
【0006】
本発明の一態様は、使用者の疲労、眠気等をリアルタイムで検出する機能を有する情報処理装置を提供することを課題の一とする。又は、本発明の一態様は、精度良く使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することを課題の一とする。又は、本発明の一態様は、簡易な方法で使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することを課題の一とする。又は、本発明の一態様は、短時間で使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することを課題の一とする。
【0007】
本発明の一態様は、使用者の疲労、眠気等をリアルタイムで検出する機能を有する情報処理システムを提供することを課題の一とする。又は、本発明の一態様は、精度良く使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することを課題の一とする。又は、本発明の一態様は、簡易な方法で使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することを課題の一とする。又は、本発明の一態様は、短時間で使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することを課題の一とする。
【0008】
なお、複数の課題の記載は、互いの課題の存在を妨げるものではない。本発明の一形態は、例示したすべての課題を解決する必要はない。また、列記した以外の課題が、本明細書の記載から、自ずと明らかとなり、このような課題も、本発明の一形態の課題となり得る。
【課題を解決するための手段】
【0009】
本発明の一態様は、撮像部と、機械学習による演算を行う機能を有する演算部と、を有し、撮像部は、2フレーム以上の画像の集合である動画を取得する機能を有し、演算部は、動画に含まれる画像のうち、2以上の画像のそれぞれから、第1の物体を検出する機能を有し、演算部は、検出した第1の物体のそれぞれから、第2の物体を検出する機能を有し、演算部は、検出した第2の物体のそれぞれについて、第2の物体の大きさを算出する機能を有し、演算部は、第2の物体の大きさの経時変化を用いて機械学習を行う機能を有する情報処理装置である。
【0010】
また、上記態様において、機械学習は、ニューラルネットワークにより行ってもよい。
【0011】
また、上記態様において、動画には、顔面が含まれ、第1の物体は目であり、第2の物体は瞳孔であってもよい。
【0012】
また、本発明の一態様は、第1の動画に含まれる2以上の第1の画像に示される第1の物体の大きさの経時変化を用いて学習を行うことにより得られた学習結果に基づき推論を行う機能を有する情報処理装置であって、情報処理装置は、第2の動画を取得する機能を有し、情報処理装置は、第2の動画に含まれる2以上の第2の画像のそれぞれから、第2の物体を検出する機能を有し、情報処理装置は、検出した第2の物体のそれぞれから、第3の物体を検出する機能を有し、情報処理装置は、検出した第3の物体のそれぞれについて、第3の物体の大きさを算出する機能を有し、情報処理装置は、第3の物体の大きさの経時変化に対して、学習結果に基づく推論を行う機能を有する情報処理装置である。
【0013】
また、上記態様において、学習、及び推論は、ニューラルネットワークにより行い、学習結果は、重み係数を含んでもよい。
【0014】
また、上記態様において、第1の動画には、第1の顔面が含まれ、第2の動画には、第2の顔面が含まれ、第1及び第3の物体は瞳孔であり、第2の物体は目であってもよい。
【0015】
また、上記態様において、情報処理装置は、第2の顔面を有する者の疲労を推定する機能を有してもよい。
【発明の効果】
【0016】
本発明の一態様により、使用者の疲労、眠気等をリアルタイムで検出する機能を有する情報処理装置を提供することができる。又は、本発明の一態様により、精度良く使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することができる。又は、本発明の一態様により、簡易な方法で使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することができる。又は、本発明の一態様により、短時間で使用者の疲労、眠気等を推定する機能を有する情報処理装置を提供することができる。
【0017】
本発明の一態様により、使用者の疲労、眠気等をリアルタイムで検出する機能を有する情報処理システムを提供することができる。又は、本発明の一態様により、精度良く使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することができる。又は、本発明の一態様により、簡易な方法で使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することができる。又は、本発明の一態様により、短時間で使用者の疲労、眠気等を推定する機能を有する情報処理システムを提供することができる。
【0018】
なお、複数の効果の記載は、他の効果の存在を妨げるものではない。また、本発明の一態様は、必ずしも、例示した効果のすべてを有する必要はない。また、本発明の一態様について、上記以外の課題、効果、及び新規な特徴については、本明細書の記載及び図面から自ずと明らかになるものである。
【図面の簡単な説明】
【0019】
【
図1】
図1は、情報処理システムの構成例を示すブロック図である。
【
図2】
図2は、情報処理装置の動作方法の一例を示すフローチャートである。
【
図3】
図3は、情報処理装置の動作方法の一例を示すフローチャートである。
【
図4】
図4は、情報処理装置の動作方法の一例を示すフローチャートである。
【
図11】
図11は、本発明の一態様に適用することができるAnoGANについて説明する図である。
【発明を実施するための形態】
【0020】
以下に、本発明の実施の形態を説明する。ただし、本発明の一態様は、以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは、当業者であれば容易に理解される。したがって、本発明の一態様は、以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【0021】
また、本明細書に添付した図面では、構成要素を機能ごとに分類し、互いに独立したブロックとしてブロック図を示しているが、実際の構成要素は機能ごとに完全に切り分けることが難しく、一つの構成要素が複数の機能に関わることや、一つの機能を複数の構成要素で実現することもあり得る。
【0022】
(実施の形態1)
本実施の形態では、本発明の一態様の情報処理システム、及び当該情報処理システムを用いた情報処理方法について説明を行う。本発明の一態様の情報処理システム、及び情報処理方法では、スマートフォン、又はタブレット等の情報端末の使用者の疲労、眠気等を推定することができる。特に、情報端末の使用者の眼の疲労を検出することができる。
【0023】
<情報処理システムの構成例>
図1は、本発明の一態様の情報処理システムである、情報処理システム10の構成例を示すブロック図である。情報処理システム10は、情報処理装置20と、情報処理装置30と、を有する。
【0024】
情報処理装置20は、撮像部21と、表示部22と、演算部23と、主記憶部24と、補助記憶部25と、通信部26と、を有する。情報処理装置20が有する構成要素間でのデータ等の伝送は、伝送路27を介して行うことができる。また、情報処理装置30は、撮像部31と、表示部32と、演算部33と、主記憶部34と、補助記憶部35と、通信部36と、を有する。情報処理装置30が有する構成要素間でのデータ等の伝送は、伝送路37を介して行うことができる。
【0025】
撮像部21、及び撮像部31は、撮像を行い、撮像データを取得する機能を有する。表示部22、及び表示部32は、画像を表示する機能を有する。
【0026】
演算部23、及び演算部33は、演算処理を行う機能を有する。演算部23は、例えば撮像部21、主記憶部24、補助記憶部25、又は通信部26から伝送路27を介して演算部23に伝送されたデータに対して、所定の演算処理を行う機能を有する。演算部33は、例えば撮像部31、主記憶部34、補助記憶部35、又は通信部36から伝送路37を介して演算部33に伝送されたデータに対して、所定の演算処理を行う機能を有する。また、演算部23、及び演算部33は、機械学習による演算を行う機能を有する。例えば、ニューラルネットワークを用いて演算を行う機能を有する。演算部23、及び演算部33は、例えばCPU(Central Processing Unit)、及びGPU(Graphics Processing Unit)等を有することができる。
【0027】
主記憶部24、及び主記憶部34は、データ、及びプログラム等を記憶する機能を有する。演算部23は、主記憶部24に記憶されたデータ、及びプログラム等を読み込んで、演算処理を実行することができる。例えば、演算部23は、主記憶部24から読み込んだプログラムを実行することにより、主記憶部24から読み込んだデータに対して所定の演算処理を実行することができる。また、演算部33は、主記憶部34に記憶されたデータ、及びプログラム等を読み込んで、演算処理を実行することができる。例えば、演算部33は、主記憶部34から読み込んだプログラムを実行することにより、主記憶部34から読み込んだデータに対して所定の演算処理を実行することができる。
【0028】
主記憶部24、及び主記憶部34は、補助記憶部25、及び補助記憶部35より高速に動作することが好ましい。主記憶部24、及び主記憶部34は、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等を有することができる。
【0029】
補助記憶部25、及び補助記憶部35は、データ、及びプログラム等を、主記憶部24、及び主記憶部34より長期間記憶する機能を有する。補助記憶部25、及び補助記憶部35は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等を有することができる。また、補助記憶部25、及び補助記憶部35は、ReRAM(Resistive Random Access Memory、抵抗変化型メモリともいう)、PRAM(Phase change Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory、磁気抵抗型メモリともいう)、又はフラッシュメモリ等の不揮発性メモリを有していてもよい。
【0030】
通信部26は、情報処理装置20の外部に設けられた装置等に対して、データ等の送受信を行う機能を有する。通信部36は、情報処理装置30の外部に設けられた装置等に対して、データ等の送受信を行う機能を有する。例えば、通信部26から通信部36へデータ等を供給することにより、情報処理装置20から情報処理装置30へデータ等を供給することができる。また、通信部26、及び通信部36は、ネットワークにデータ等を供給する機能、及びネットワークからデータ等を取得する機能を有することができる。
【0031】
ここで、演算部23、及び演算部33が機械学習による演算を行う機能を有する場合、例えば演算部23が学習を行い、学習結果を情報処理装置20から情報処理装置30に供給することができる。例えば、演算部23、及び演算部33がニューラルネットワークを用いて演算を行う機能を有する場合、演算部23が学習を行って重み係数等を取得し、当該重み係数等を情報処理装置20から情報処理装置30に供給することができる。以上により、情報処理装置30に設けられる演算部33が学習を行わなくても、演算部33に入力されたデータに対して、情報処理装置20に設けられる演算部23による学習結果に基づいた推論を行うことができる。よって、演算部33の演算処理能力を、演算部23より低いものとすることができる。
【0032】
演算部23が学習を行い、学習結果を情報処理装置20から情報処理装置30に供給する場合、情報処理装置20は、例えばサーバに設けることができる。なお、情報処理装置20をサーバに設ける場合、情報処理装置20には撮像部21、及び表示部22を設けなくてもよい。つまり、撮像部21、及び表示部22を、情報処理装置20の外部に設けてもよい。
【0033】
また、情報処理装置30は、例えばスマートフォン、タブレット、パーソナルコンピュータ等の情報端末に設けることができる。また、情報処理装置20の構成要素の少なくとも一部と、情報処理装置30の構成要素の少なくとも一部と、の両方をサーバに設けてもよい。例えば、演算部23と、演算部33と、をサーバに設けてもよい。この場合、例えば情報端末が取得したデータを、ネットワークを介して演算部33に供給し、サーバに設けられている演算部33が当該データに対して推論等を行う。そして、推論結果を、ネットワークを介して情報端末に供給することにより、情報端末が推論結果を取得することができる。
【0034】
<情報処理方法の一例>
以下では、情報処理システム10を用いた情報処理方法の一例を説明する。具体的には、情報処理システム10が有する情報処理装置30が設けられている情報端末の使用者の、疲労、眠気等を、機械学習を用いた演算により推定する方法の一例を説明する。
【0035】
図2及び
図3は、疲労、眠気等を、機械学習を用いた演算により推定する方法の一例を説明するフローチャートである。学習については
図2に示し、推論については
図3に示す。
【0036】
学習方法の一例について
図2等を用いて説明する。まず、撮像部21が、動画を撮像する。例えば、人間の顔面を含む動画を撮像する(ステップS01)。ここで、動画とは、2フレーム以上の画像の集合を示す。詳細は後述するが、撮像部21が撮像した動画を基に学習データを作成し、演算部23が学習を行う。よって、例えば撮像部21が人間の顔面を含む動画を撮像する場合、性別、人種、体格等が異なる多数の人間に対して撮像部21が動画を撮像することが好ましい。
【0037】
なお、撮像部21が撮像した動画に対して、画像処理を行ってもよい。例えば、ノイズ除去、グレースケール化、正規化、コントラスト調整等を行うことができる。また、動画に含まれる画像に対して、2値化等を行ってもよい。このような処理を行うことにより、後のステップを精度良く行うことができる。例えば、後述するステップS02で行う第1の物体の検出を精度良く行うことができる。
【0038】
次に、撮像されたそれぞれの画像の中から、演算部23が第1の物体を検出する。第1の物体は、例えばステップS01で顔面の動画を撮像した場合は、目とすることができる(ステップS02)。第1の物体は、例えばカスケード型分類器によって検出することができる。例えば、Haar Cascadesによって検出することができる。なお、第1の物体を目とし、1枚の画像に両目が含まれている場合は、片方の目のみ検出することができる。
【0039】
その後、検出した第1の物体のそれぞれから、演算部23が第2の物体を検出する。例えば、第1の物体を目とすると、第2の物体は瞳孔とすることができる(ステップS03)。例えば、円形抽出により、目から瞳孔を検出することができる。目から瞳孔を検出する方法の詳細は後述する。
【0040】
ここで、瞳孔は、虹彩によって囲まれた穴であり、「黒目」と呼ぶことができる。瞳孔は、網膜に投射する光量を調整する機能を有する。また、虹彩は、例えば角膜と水晶体の間にある薄い膜であり、目で色のついた部分とすることができる。
【0041】
次に、検出した第2の物体のそれぞれについて、第2の物体の大きさを演算部23が算出する(ステップS04)。例えば、円形抽出により第2の物体を検出した場合、第2の物体の半径、又は直径を第2の物体の大きさとすることができる。また、第2の物体の形状を楕円形状に抽出した場合は、長軸の長さ、及び短軸の長さを第2の物体の大きさとすることができる。また、第2の物体の面積を、第2の物体の大きさとすることができる。
【0042】
その後、第2の物体の大きさを用いて、演算部23が学習を行い、学習結果を取得する(ステップS05)。具体的には、第2の物体の大きさの経時変化に基づき、学習結果を取得する。学習は、例えばニューラルネットワークを用いて行うことができる。この場合、学習結果は、前述のように重み係数等とすることができる。学習の方法の詳細は後述する。
【0043】
次に、情報処理装置20が、学習結果を情報処理装置30に供給する(ステップS06)。具体的には、演算部23が取得した学習結果を、伝送路27を介して通信部26に伝送し、その後通信部26から通信部36に供給する。通信部36に供給された学習結果は、補助記憶部35に記憶させることができる。また、学習結果を補助記憶部25に記憶させてもよい。
【0044】
次に、
図2に示す方法等により取得した学習結果に基づく推論方法の一例について、
図3等を用いて説明する。まず、撮像部31が、動画を撮像する。例えば、情報処理装置30が設けられている情報端末の使用者の顔面を含む動画を撮像する(ステップS11)。なお、
図2に示すステップS01において、撮像部21が撮像した動画に対して画像処理を行った場合には、同様の画像処理を撮像部31が撮像した動画に対して行うと、推論を精度良く行うことができるため好ましい。
【0045】
次に、撮影された動画に含まれるそれぞれの画像の中から、演算部33が第1の物体を検出する。第1の物体は、例えばステップS11で顔面の動画を撮像した場合は、目とすることができる(ステップS12)。第1の物体は、
図2に示すステップS02において使用した検出方法と同様の方法で検出することができる。
【0046】
その後、検出した第1の物体のそれぞれから、演算部33が第2の物体を検出する。例えば、第1の物体を目とすると、第2の物体は瞳孔とすることができる(ステップS13)。第2の物体は、
図2に示すステップS03において使用した検出方法と同様の方法で検出することができる。
【0047】
次に、検出した第2の物体のそれぞれについて、第2の物体の大きさを演算部33が算出する(ステップS14)。大きさの算出方法は、
図2に示すステップS04において使用した方法と同様の方法を用いることができる。
【0048】
その後、第2の物体の大きさの経時変化を基にして、
図2に示すステップS05で演算部23が取得した学習結果が入力された演算部33が、推論を行う。例えば、撮像部31が撮像した動画に、情報処理装置30が設けられている情報端末の使用者の顔面が含まれており、第2の物体が当該使用者の目の瞳孔である場合は、演算部33が当該使用者の疲労、眠気等を推定することができる(ステップS15)。推論の方法の詳細は後述する。
【0049】
なお、瞳孔の大きさは、疲労、眠気の有無だけでなく、例えば環境の明るさによっても変化する。よって、
図2に示すステップS01において、例えば同一人物の顔面の動画を、環境の明るさを異ならせて複数撮像することが好ましい。これにより、例えば環境の明るさによらず、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等を精度良く推定することができる。
【0050】
本発明の一態様では、前述のように疲労、眠気等を推定する機能を有する情報処理装置30を、スマートフォン、タブレット、パーソナルコンピュータ等の情報端末に設ける。これにより、情報端末の使用者の疲労、眠気等を、専用の装置を用いることなくリアルタイムで検出することができる。
【0051】
[瞳孔の検出方法の一例]
次に、ステップS03及びステップS13で行われる瞳孔の検出方法の一例を説明する。
図4は、瞳孔の検出方法の一例を示すフローチャートである。
【0052】
まず、演算部が、検出した目を含む画像である画像41を取得する(ステップS31)。
図5Aは、ステップS31について説明する模式図である。
図5Aに示すように、撮像部が撮像した画像から検出された目を含む画像41を、演算部が取得する。具体的には、ステップS03では、ステップS02で演算部23が検出した目を含む画像を、画像41として演算部23が取得する。また、ステップS13では、ステップS12で演算部33が検出した目を含む画像を、画像41として演算部33が取得する。なお、撮像部が撮像した画像がカラー画像である場合、演算部が画像41を取得した後に、当該演算部が画像41をグレースケールに変換してもよい。
【0053】
次に、画像41に対して、演算部が膨張処理を行って画像42を取得した後、収縮処理を行って画像43を取得する(ステップS32)。つまり、画像41に対してクロージング処理を行うことにより、画像43を取得する。
図5Bは、膨張処理、及び収縮処理について説明する模式図である。
【0054】
その後、演算部が、画像41から画像43を引き、画像44を取得する(ステップS33)。つまり、画像44は、画像41と画像43の差によって表される画像である。ステップS33では、演算部が画像41及び画像43を用いてBlack-hat変換を行うことによって、画像44を取得するということができる。
【0055】
次に、演算部が、ステップS31で取得した画像41と、ステップS33で取得した画像44と、を足し合わせ、画像45を取得する(ステップS34)。なお、ステップS31で画像41をグレースケールに変換した場合、ステップS34では、グレースケールに変換後の画像41と、画像44と、を足し合わせることができる。
【0056】
なお、ステップS32乃至ステップS34に示す処理は、その全て又は一部を行わなくてもよい。また、ステップS32乃至ステップS34に示す処理以外の処理を行ってもよい。
【0057】
その後、演算部が、画像45に対して画像処理を行い、画像46を取得する(ステップS35)。例えば、演算部が、画像45に対してノイズ除去、平滑化等の処理を行う。また、エッジ検出、二値化等の処理を行う。具体的には、例えば画像45に対して中間値フィルタによるノイズ除去、及びガウシアンフィルタによる平滑化を行った後、Canny法によるエッジ検出、及び二値化処理を行う。なお、ノイズ除去は、例えば移動平均フィルタにより行ってもよい。また、平滑化は、例えば移動平均フィルタ、又はメディアンフィルタにより行ってもよい。さらに、エッジ検出は、例えばラプラシアンフィルタにより行ってもよい。
【0058】
次に、画像46から、演算部が虹彩47を検出する。例えば、ハフ変換を用いることにより、虹彩47を検出することができる。ハフ変換を用いる場合、例えば円形に虹彩47を検出することができる。又は、例えば楕円形に虹彩47を検出することができる。なお、一般化ハフ変換を用いて虹彩47を検出してもよい。
【0059】
そして、検出した虹彩47を含む画像49を、演算部が取得する(ステップS36)。例えば、検出した虹彩47の、画像46における座標に基づいて、画像46から画像49を抽出する。
【0060】
図5Cは、ステップS36について説明する模式図である。例えば、画像49は、
図5Cに示すように、四辺が虹彩47と接する矩形とすることができる。例えば、円形に虹彩47を検出した場合、画像49は、四辺が虹彩47と接する正方形とすることができる。なお、画像49の各辺が、虹彩47と接していなくてもよい。例えば、虹彩47を中心とした所定の画素数の画像を、画像49としてもよい。
【0061】
次に、演算部が、画像49から瞳孔48を検出する(ステップS37)。例えば、ニューラルネットワークを用いた演算により、画像49から瞳孔48を検出する。
【0062】
ステップS37は、あらかじめ学習が行われたジェネレータを用いて行われる。ここで、ジェネレータは、機械学習による演算を行うプログラムであり、入力されたデータに対応するデータを出力する機能を有する。具体的には、ジェネレータは学習を行うことにより、当該ジェネレータに入力されたデータに対して推論を行うことができる。
【0063】
図6Aは、上記学習について説明する模式図である。ここで、学習を行うジェネレータをジェネレータ50とする。ジェネレータ50としてニューラルネットワークを用いる場合、ジェネレータ50は、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いることができる。特に、CNNの一種として、U-netを用いることが好ましい。U-netでは、入力画像を畳み込みによりダウンサンプリングした後、ダウンサンプリングによって得られた特徴量を用いて逆畳み込みによりアップサンプリングする。演算部23及び演算部33は、ジェネレータ50としての機能を有するということができる。
【0064】
ジェネレータ50の学習は、データ51及びデータ52を用いて、教師あり学習により行うことができる。データ51は、画像59の集合とすることができる。画像59には、虹彩57と瞳孔58が含まれる。画像59は、
図2に示すステップS01、ステップS02、及び
図4に示すステップS31乃至ステップS36と同様の方法で、情報処理装置20が取得することができる。なお、ステップS01では、撮像部21が顔面の動画を撮像するものとしているが、画像59を取得する場合は、動画を撮像しなくてもよい。例えば、撮像部21は、1人につき1枚(1フレーム)の画像を撮像してもよい。
【0065】
データ52は、画像59に含まれる瞳孔58の座標を示すデータである。具体的には、瞳孔58の部分の色を他の部分の色と異ならせた、2値の画像とすることができる。データ52は、例えば画像59に含まれる瞳孔58を塗りつぶすことにより取得することができる。又は、
図4に示すステップS31と同様の方法で目を含む画像を取得した後、当該目を含む画像が有する瞳孔58を塗りつぶすことにより、データ52を取得することができる。
【0066】
ジェネレータ50の学習は、データ51をジェネレータ50に入力した際に、出力データがデータ52に近づくように行われる。つまり、データ52を正解データとしてジェネレータ50の学習が行われる。ジェネレータ50が学習を行うことにより、ジェネレータ50は学習結果53を生成する。ジェネレータ50としてニューラルネットワークを用いる場合、学習結果53は、重み係数等とすることができる。
【0067】
ジェネレータ50の学習、つまり学習結果53の生成は、例えば情報処理装置20が有する演算部23が行うことができる。そして、学習結果53を情報処理装置20から情報処理装置30に供給することにより、演算部33も演算部23と同様の推論を行うことができるようになる。演算部23が生成した学習結果53は、例えば補助記憶部25に記憶させることができる。また、演算部23が生成し、情報処理装置30に供給された学習結果53は、例えば補助記憶部35に記憶させることができる。
【0068】
以上でジェネレータ50の学習が終了する。
【0069】
図6Bは、ステップS37について説明する模式図である。つまり、
図6Bは、画像49からの瞳孔48の検出について説明する模式図である。
【0070】
図6Bに示すように、ステップS37では、学習結果53が読み込まれたジェネレータ50に、ステップS36で演算部が取得した画像49を入力する。これにより、ジェネレータ50は、画像49に対して推論を行い、瞳孔48の座標を示すデータを出力することができる。例えば、ジェネレータ50は、瞳孔48の色を他の部分の色と異ならせた、2値の画像を出力することができる。
【0071】
以上の方法により、ステップS02又はステップS12において検出された目の中から、ステップS03又はステップS13において瞳孔を検出することができる。
【0072】
機械学習を用いた演算により瞳孔の検出を行うことで、例えば目視により瞳孔の検出を行う場合より、短時間で瞳孔の検出を行うことができる。また、例えば瞳孔に周囲の風景が映り込んでいたとしても、瞳孔を精度良く検出することができる。
【0073】
なお、ステップS37における瞳孔48の検出方法は、
図6A及び
図6Bに示す方法に限らない。例えば、画像49をカラーの画像とし、当該カラーの画像49をグレースケール化した後、瞳孔48のエッジ検出を行ってもよい。そして、エッジ検出を行った後、瞳孔48を検出してもよい。
【0074】
画像49のグレースケール化は、例えば部分的最小二乗(Partial Least Squares:PLS)回帰を用いて行うことができる。画像49をグレースケール化することにより、瞳孔48の輝度と、虹彩47の輝度と、の差を大きくすることができる。これにより、瞳孔48と虹彩47の境界を強調することができるので、瞳孔48のエッジ検出を精度良く行うことができる。したがって、瞳孔48を精度良く検出することができる。
【0075】
瞳孔48のエッジ検出は、例えばCanny法、又はラプラシアンフィルタにより行うことができる。また、エッジ検出を行った後の瞳孔48の検出は、例えばハフ変換を用いることにより行うことができる。ハフ変換を用いる場合、例えば円形に瞳孔48を検出することができる。又は、例えば楕円形に瞳孔48を検出することができる。なお、一般化ハフ変換を用いて瞳孔48を検出してもよい。
【0076】
ステップS03又はステップS13において、虹彩だけでなく瞳孔を検出する場合、ステップS01又はステップS11において、赤外線を用いて撮像を行うことができる。虹彩は、赤外線を反射する。一方、瞳孔は、赤外線を反射しない。よって、ステップS01又はステップS11において、赤外線を用いて撮像を行うことにより、虹彩と瞳孔をはっきりと区別することができる。したがって、瞳孔を精度良く検出することができる。
【0077】
[疲労、眠気等の推定方法の一例_1]
次に、機械学習を用いた演算による、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等の推定方法の一例を説明する。具体的には、ステップS05で行われる、瞳孔の大きさを用いた学習方法の一例を説明する。また、ステップS15において行われる、上記学習結果を基にした推論による疲労、眠気等の推定方法の一例を説明する。なお、以下では、第2の物体を瞳孔として説明を行う。
【0078】
図7A1は、ステップS05について説明する模式図である。ステップS05では、機械学習による演算を行うプログラムであるジェネレータ60の学習を行う。ジェネレータ60は、ニューラルネットワークを用いることができる。詳細は後述するが、ジェネレータ60には、例えば瞳孔の大きさの経時変化といった、時系列データを入力する。よって、ジェネレータ60としてニューラルネットワークを用いる場合、ジェネレータ60として再帰的ニューラルネットワーク(Recurrent Neural Network:RNN)を用いることが好ましい。又は、ジェネレータ60として、長・短期記憶(Long Short-Term Memory:LSTM)を用いることが好ましい。又は、ゲート付き回帰型ユニット(Gated Recurrent Unit:GRU)を用いることが望ましい。
【0079】
ジェネレータ60の学習は、データ61及びデータ62を用いて行うことができる。データ61は、ステップS04で取得されたデータであり、瞳孔の大きさの経時変化とすることができる。前述のように、例えば円形抽出により瞳孔を検出した場合、当該瞳孔の半径、又は直径を瞳孔の大きさとすることができる。また、瞳孔を楕円形状に検出した場合は、長軸の長さ、及び短軸の長さを瞳孔の大きさとすることができる。また、瞳孔の面積を、瞳孔の大きさとすることができる。
図7A1では、時刻1乃至n-1(nは3以上の整数)における、瞳孔の大きさの経時変化をデータ61としている。
【0080】
なお、データ61は、瞳孔の大きさと、虹彩の大きさと、の比の経時変化としてもよい。この場合、虹彩と瞳孔は、互いに同一種類の形状に抽出することが好ましい。例えば、虹彩を円形に抽出する場合は、瞳孔も円形に抽出することが好ましい。また、虹彩を楕円形に抽出する場合は、瞳孔も楕円形に抽出することが好ましい。データ61として、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とすることにより、例えばステップS37に示す方法で瞳孔を検出する場合、虹彩47と、瞳孔48と、を含む画像49の解像度を互いに異ならせることができる。例えば、第1の人間の虹彩47と瞳孔48を含む画像49の解像度と、第2の人間の虹彩47と瞳孔48を含む画像49の解像度と、を互いに異ならせることができる。
【0081】
データ62は、時刻nにおける瞳孔の大きさである。つまり、データ61に含まれる瞳孔の大きさを測定した時刻より後の時刻における瞳孔の大きさである。なお、データ61を、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合、データ62も、瞳孔の大きさと、虹彩の大きさと、の比とする。
【0082】
図7A2は、瞳孔径と、時刻と、の関係の一例を示す図である。
図7A2において、黒丸は瞳孔径の実測値を示す。他の図においても、実測点を黒丸で示す場合がある。
図7A2に示すように、データ62は、データ61に含まれる瞳孔の大きさを測定した時刻より後の時刻における瞳孔の大きさとすることができる。例えば、データ62は、データ61に含まれる瞳孔の大きさを測定した最後の時刻の次の時刻における、瞳孔の大きさとすることができる。
【0083】
ここで、ジェネレータ60に疲労の有無を推定する機能を持たせる場合は、疲労ありの者の瞳孔の大きさの経時変化は、データ61及びデータ62に含めない。つまり、データ61は、疲労なしの者の瞳孔の大きさの経時変化とし、データ62は、疲労なしの者の瞳孔の大きさとする。また、ジェネレータ60に眠気の有無を推定する機能を持たせる場合は、眠気ありの者の瞳孔の大きさの経時変化は、データ61及びデータ62に含めない。つまり、データ61は、眠気なしの者の瞳孔の大きさの経時変化とし、データ62は、眠気なしの者の瞳孔の大きさとする。
【0084】
ジェネレータ60の学習は、データ61をジェネレータ60に入力した際に、出力データがデータ62に近づくように行われる。つまり、データ62を正解データとしてジェネレータ60の学習が行われる。ジェネレータ60が学習を行うことにより、ジェネレータ60は学習結果63を生成する。ジェネレータ60としてニューラルネットワークを用いる場合、学習結果63は、重み係数等とすることができる。
【0085】
図7B1及び
図7B2は、ステップS15について説明する模式図であり、ジェネレータ60を用いて、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等を推定する方法の一例を示す図である。ステップS15では、まず、
図7B1に示すように、ステップS14によって取得された、瞳孔の大きさの経時変化を示すデータ64を、学習結果63が読み込まれたジェネレータ60に入力する。例えば、ステップS05におけるジェネレータ60の学習の際に、時刻1乃至n-1における、瞳孔の大きさの経時変化を入力データとして用いた場合は、ステップS15における推論の際にも、時刻1乃至n-1における、瞳孔の大きさの経時変化を入力データとする。つまり、データ64を、時刻1乃至n-1における、情報処理装置30が設けられている情報端末の使用者の瞳孔の大きさの経時変化とする。これにより、ジェネレータ60は、データ64に対して推論を行い、データ65を出力する。なお、さらに、時刻nにおける推論データであるデータ65を使用して、時刻2乃至nにおけるデータを入力データとし、時刻n+1におけるデータを推論してもよい。
【0086】
なお、データ61を、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ64も瞳孔の大きさと、虹彩の大きさと、の比の経時変化とする。データ64を瞳孔の大きさと、虹彩の大きさと、の比の経時変化とすることにより、例えばステップS37に示す方法で瞳孔を検出する場合、虹彩47と、瞳孔48と、を含む画像49の解像度を互いに異ならせることができる。例えば、時刻1における瞳孔48の大きさと、虹彩47の大きさと、の比を算出するために演算部が取得する画像49の解像度と、時刻n-1における瞳孔48の大きさと、虹彩47の大きさと、の比を算出するために演算部が取得する画像49の解像度と、を互いに異ならせることができる。
【0087】
データ65は、学習結果63を基に、データ64に対して推論を行うことにより算出された、データ64に含まれる瞳孔の大きさを測定した時刻より後の時刻における瞳孔の大きさの推定値である。例えば、データ64を、時刻1乃至n-1における瞳孔の大きさの経時変化とする場合、データ65は、時刻nにおける瞳孔の大きさとすることができる。
図7B1では、時刻1乃至n-1における瞳孔の大きさの実測値を、それぞれx
1乃至x
n-1と記載している。また、時刻nにおける瞳孔の大きさの推定値を、x
n(E)と記載している。なお、データ64を瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ65を瞳孔の大きさと、虹彩の大きさと、の比とする。
【0088】
次に、
図7B2に示すように、例えば時刻nにおける瞳孔の大きさの実測値を表すデータ66と、ジェネレータ60から出力されたデータであるデータ65とを比較する。つまり、例えば時刻nにおける瞳孔の大きさの実測値と、推定値とを比較する。比較結果により、疲労、眠気等の有無を推定する。例えば、ジェネレータ60が疲労の有無を推定する機能を有する場合、ジェネレータ60の学習は、例えば疲労なしの者の瞳孔の大きさの経時変化を入力データとして行われる。よって、情報処理装置30が設けられている情報端末の使用者が疲労なしの状態である場合は、データ65はデータ66に近いものとなる。つまり、データ65とデータ66の差分は小さいものとなる。一方、情報処理装置30が設けられている情報端末の使用者が疲労ありの状態である場合は、データ66とデータ65の差分は、情報処理装置30が設けられている情報端末の使用者が疲労なしの状態である場合より大きいものとなる。以上より、データ66とデータ65を比較することにより、情報処理装置30が設けられている情報端末の使用者の疲労の有無を推定することができる。眠気の有無を推定する場合も同様である。なお、データ65を瞳孔の大きさと、虹彩の大きさと、の比の推定値とした場合は、データ66を瞳孔の大きさと、虹彩の大きさと、の比の実測値とする。
【0089】
ジェネレータ60としての機能は、演算部23及び演算部33の両方に持たせることができる。この場合、情報処理装置20が有する演算部23がジェネレータ60の学習を行って学習結果63を生成し、学習結果63を情報処理装置20から情報処理装置30に供給することができる。以上により、情報処理装置30に設けられる演算部33が学習を行わなくても、演算部33に入力されたデータに対して、情報処理装置20に設けられる演算部23による学習結果に基づいた推論を行うことができる。よって、演算部33の演算処理能力を、演算部23より低いものとすることができる。なお、学習結果63は、補助記憶部25、及び補助記憶部35に記憶させることができる。
【0090】
[疲労、眠気等の推定方法の一例_2]
図8A及び
図8Bは、ステップS05について説明する模式図であり、上述の方法とは異なるジェネレータの学習方法の一例である。具体的には、
図8Aは、学習データとしてジェネレータに入力されるデータの作成方法の一例を示す図であり、
図8Bは、ジェネレータ80の学習方法の一例を示す図である。ジェネレータ80は、機械学習による演算を行うプログラムである。例えば、ジェネレータ80として、ニューラルネットワークを用いることができる。
【0091】
図8Aに示すデータ81は、ステップS04で取得されたデータであり、瞳孔の大きさの経時変化とすることができる。前述のように、例えば円形抽出により瞳孔を検出した場合、当該瞳孔の半径、又は直径を瞳孔の大きさとすることができる。また、瞳孔を楕円形状に検出した場合は、長軸の長さ、及び短軸の長さを瞳孔の大きさとすることができる。また、瞳孔の面積を、瞳孔の大きさとすることができる。なお、
図7A1に示す学習方法と同様に、データ81は、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とすることができる。
【0092】
ここで、データ81に対してフーリエ変換を行うことにより、データ82を生成する。
図8Aに示すように、フーリエ変換により、瞳孔径の経時変化を、瞳孔径の周波数特性に変換することができる。なお、データ81を、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ82は瞳孔の大きさと、虹彩の大きさと、の比の周波数特性とすることができる。
【0093】
ジェネレータ80の学習は、
図8Bに示すようにデータ82及びデータ83を用いて行うことができる。データ82は、前述のように瞳孔径の周波数特性を表す。データ83は、疲労の有無を示すラベルとすることができる。例えば、データ83として、疲労ありの者の瞳孔の大きさの周波数特性と、疲労なしの者の瞳孔の大きさの周波数特性と、の両方が含まれるようにする。そして、疲労ありの者の瞳孔の大きさの周波数特性には「疲労あり」というラベルを紐付け、疲労なしの者の瞳孔の大きさの周波数特性には「疲労なし」というラベルを紐付ける。また、データ83は、眠気の有無を示すラベルとしてもよい。
【0094】
ジェネレータ80の学習は、データ82をジェネレータ80に入力した際に、出力データがデータ83に近づくように行われる。つまり、データ83を正解データとしてジェネレータ80の学習が行われる。ジェネレータ80が学習を行うことにより、ジェネレータ80は学習結果84を生成する。ジェネレータ80としてニューラルネットワークを用いる場合、学習結果84は、重み係数等とすることができる。
【0095】
瞳孔の大きさの経時変化に対してフーリエ変換を行うことにより、ジェネレータ80に入力するデータを、時系列データではないデータとすることができる。これにより、ジェネレータ80としてRNNを用いなくても、ジェネレータ80は学習及び推論を行うことができる。
【0096】
図9A及び
図9Bは、ステップS15について説明する模式図であり、ジェネレータ80を用いて、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等を推定する方法の一例を示す図である。
【0097】
図9Aに示すデータ85は、ステップS04で取得されたデータであり、瞳孔の大きさの経時変化とすることができる。前述のように、例えば円形抽出により瞳孔を検出した場合、当該瞳孔の半径、又は直径を瞳孔の大きさとすることができる。また、瞳孔を楕円形状に検出した場合は、長軸の長さ、及び短軸の長さを瞳孔の大きさとすることができる。また、瞳孔の面積を、瞳孔の大きさとすることができる。なお、
図8Aに示すデータ81を瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ85も瞳孔の大きさと、虹彩の大きさと、の比の経時変化とする。
【0098】
ここで、データ85に対してフーリエ変換を行うことにより、データ86を生成する。
図9Aに示すように、フーリエ変換により、瞳孔径の経時変化を、瞳孔径の周波数特性に変換することができる。なお、データ85を、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ86は瞳孔の大きさと、虹彩の大きさと、の比の周波数特性とすることができる。
【0099】
そして、
図9Bに示すように、フーリエ変換後のデータ86をジェネレータ80に入力する。これにより、ジェネレータ80は、データ86に対して推論を行い、疲労の有無を表すデータ87を出力することができる。なお、
図9Bに示すデータ87が眠気の有無を示すラベルである場合は、ジェネレータ80が出力するデータ87は眠気の有無を示すデータとすることができる。
【0100】
ジェネレータ80としての機能は、ジェネレータ60としての機能、及びジェネレータ70としての機能と同様に、演算部23及び演算部33の両方に持たせることができる。これにより、演算部33の演算処理能力を、演算部23より低いものとすることができる。
【0101】
[疲労、眠気等の推定方法の一例_3]
図10Aは、ステップS05について説明する模式図であり、上述の方法とは異なるジェネレータの学習方法の一例である。
図10Aでは、ジェネレータ70の学習を行う。ジェネレータ70は、機械学習による演算を行うプログラムである。例えば、ジェネレータ70として、ニューラルネットワークを用いることができ、例えばオートエンコーダを用いることができる。
【0102】
ジェネレータ70が学習を行う際には、ジェネレータ70に、データ71を入力する。データ71は、ステップS04で取得されたデータであり、瞳孔の大きさの経時変化とすることができる。ここで、ジェネレータ70に疲労の有無を推定する機能を持たせる場合は、疲労ありの者の瞳孔の大きさの経時変化は、データ71に含めない。つまり、データ71は、疲労なしの者の瞳孔の大きさの経時変化とする。また、ジェネレータ70に眠気の有無を推定する機能を持たせる場合は、眠気ありの者の瞳孔の大きさの経時変化は、データ71に含めない。つまり、データ71は、眠気なしの者の瞳孔の大きさの経時変化とする。
【0103】
前述のように、例えば円形抽出により瞳孔を検出した場合、当該瞳孔の半径、又は直径を瞳孔の大きさとすることができる。また、瞳孔を楕円形状に検出した場合は、長軸の長さ、及び短軸の長さを瞳孔の大きさとすることができる。また、瞳孔の面積を、瞳孔の大きさとすることができる。
【0104】
なお、
図7A1に示す学習方法と同様に、データ71は、瞳孔の大きさと、虹彩の大きさと、の比の経時変化とすることができる。また、
図8Aに示す場合と同様に、例えば瞳孔の大きさの経時変化をフーリエ変換したものを、データ71として用いてもよい。
【0105】
ジェネレータ70の学習は、データ71をジェネレータ70に入力した際に、出力データであるデータ72が入力したデータ71に近づくように行われる。つまり、データ71とデータ72が等しくなるように、ジェネレータ70の学習が行われる。ジェネレータ70が学習を行うことにより、ジェネレータ70は学習結果73を生成する。ジェネレータ70としてニューラルネットワークを用いる場合、学習結果73は、重み係数等とすることができる。
【0106】
図10B1及び
図10B2は、ステップS15について説明する模式図であり、ジェネレータ70を用いて、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等を推定する方法の一例を示す図である。ステップS15では、まず、
図10B1に示すように、ステップS14によって取得された、瞳孔の大きさの経時変化を示すデータ74を、学習結果73が読み込まれたジェネレータ70に入力する。これにより、ジェネレータ70は、データ74に対して推論を行い、データ75を出力する。
【0107】
なお、データ71を瞳孔の大きさと、虹彩の大きさと、の比の経時変化とした場合は、データ74も瞳孔の大きさと、虹彩の大きさと、の比の経時変化とする。また、フーリエ変換後のデータを、データ71として用いた場合は、データ74も、フーリエ変換後のデータを用いる。例えば、データ71を瞳孔の大きさの経時変化をフーリエ変換したものとした場合は、データ74も瞳孔の大きさの経時変化をフーリエ変換したものとする。
【0108】
次に、
図10B2に示すように、ジェネレータ70に入力したデータであるデータ74と、ジェネレータ70から出力されたデータであるデータ75とを比較する。比較結果により、疲労、眠気等の有無を推定する。例えば、ジェネレータ70が疲労の有無を推定する機能を有する場合、ジェネレータ70の学習は、例えば疲労なしの者の瞳孔の大きさの経時変化を用いて行われる。よって、情報処理装置30が設けられている情報端末の使用者が疲労なしの状態である場合は、ジェネレータ70からの出力データであるデータ75は、ジェネレータ70への入力データであるデータ74に近いものとなる。つまり、データ74とデータ75の差分は小さいものとなる。一方、情報処理装置30が設けられている情報端末の使用者が疲労ありの状態である場合は、データ74とデータ75の差分は、情報処理装置30が設けられている情報端末の使用者が疲労なしの状態である場合より大きいものとなる。以上より、データ74とデータ75を比較することにより、情報処理装置30が設けられている情報端末の使用者の疲労の有無を推定することができる。眠気の有無を推定する場合も同様である。
【0109】
ジェネレータ70としての機能は、ジェネレータ60としての機能と同様に、演算部23及び演算部33の両方に持たせることができる。これにより、演算部33の演算処理能力を、演算部23より低いものとすることができる。
【0110】
[疲労、眠気等の推定方法の一例_4]
ステップS05で行われる学習、及びステップS15で行われる、当該学習結果を基にした推論は、敵対的生成ネットワーク(Generative Adversarial Network:GAN)を用いて行ってもよい。例えば、AnoGAN(Anormaly GAN)を用いて行ってもよい。
図11は、上記学習及び推論を行うことができるAnoGANについて説明する図である。
【0111】
図11に示すAnoGANは、ジェネレータ91と、ディスクリミネータ92と、を有する。ジェネレータ91、及びディスクリミネータ92は、ニューラルネットワークによって構成することができる。
【0112】
ディスクリミネータ92には、撮像により取得された、疲労、眠気等がない者の瞳孔の大きさの経時変化を表す時系列データであるデータ93が入力される。又は、ディスクリミネータ92には、データ94を入力されたジェネレータ91が生成した時系列データであるデータ95が入力される。ディスクリミネータ92は、当該入力されたデータが、撮像により取得されたデータ93か、ジェネレータ91が生成したデータ95か、のいずれであるのかの判定(真贋判定ともいう)を行う機能を有する。なお、データ93は、撮像により取得された、疲労、眠気等がない者の瞳孔の大きさの経時変化を表す時系列データを、フーリエ変換したデータとしてもよい。
【0113】
判定結果は、データ96として出力される。データ96は、例えば0から1の間の連続的な値とすることができる。この場合、例えばディスクリミネータ92は、学習終了後、入力されたデータが、撮像により取得されたデータ93である場合は、データ96として1に近い値を出力し、入力されたデータが、ジェネレータ91が生成したデータ95である場合は、データ96として0に近い値を出力するようにすればよい。
【0114】
データ94は、多次元の乱数(潜在変数ともいう)である。ここで、データ94が表す潜在変数を、潜在変数zとする。ジェネレータ91は、このようなデータ94を基にして、疲労、眠気等がない者の瞳孔の大きさの経時変化を表すデータにできる限り似たデータを生成する機能を有する。
【0115】
学習は、ディスクリミネータ92の学習と、ジェネレータ91の学習を交互に行う。すなわち、ディスクリミネータ92の学習時にはジェネレータ91を構成するニューラルネットワークの重み係数は固定される。また、ジェネレータ91の学習時にはディスクリミネータ92を構成するニューラルネットワークの重み係数は固定される。
【0116】
ディスクリミネータ92の学習時には、撮像により取得されたデータ93、又はジェネレータ91が生成したデータ95がディスクリミネータ92に入力される。ディスクリミネータ92に入力されるデータには正解ラベルが付与される。ディスクリミネータ92が出力するデータ96に対して、以下のように正解ラベルを定めることができる。例えば、ディスクリミネータ92にデータ93が入力された場合は、正解ラベルを“1”とし、ディスクリミネータ92にデータ95が入力された場合は、正解ラベルを“0”とする。以上のような方法で学習を行うことにより、ディスクリミネータ92は真贋判定を行うことができるようになる。
【0117】
ジェネレータ91の学習時には、潜在変数zを表すデータ94がジェネレータ91に入力される。そして、ジェネレータ91が、入力されたデータ94を基にして、データ95を生成する。データ96の正解ラベルは“1”とする。そして、ディスクリミネータ92から出力されるデータ96の値が“1”となるように、ジェネレータ91の学習が行われる。ジェネレータ91の学習が進むにつれて、ジェネレータ91は、撮像により取得されたデータ93に似たデータを、データ95として生成することができるようになる。
【0118】
ジェネレータ91の学習が完了すると、ジェネレータ91は、どのような潜在変数zがデータ94として入力されても、撮像により取得されたデータ93に似たデータ95を生成することができるようになる。
【0119】
次に推論時の動作を説明する。
【0120】
まず、撮影により、疲労、眠気等がない者の瞳孔の大きさの経時変化を表すデータが取得されたとする。この時、潜在変数の空間を探索し、上記疲労、眠気等がない者の瞳孔の大きさのデータに一番似たデータを生成する潜在変数z1を勾配降下法等により見出す。ジェネレータは91、学習によって、疲労、眠気等がない者の瞳孔の大きさの経時変化を表すデータに極めて似たデータを生成する機能を有する。したがって、ジェネレータが潜在変数z1から生成したデータと、撮影によって得られた上記疲労、眠気等がない者の瞳孔の大きさの経時変化を表すデータは、極めて似たものとなる。
【0121】
次に、撮像により、疲労、眠気等がある者の瞳孔の大きさの経時変化を表すデータが取得されたとする。この時、潜在変数の空間を探索し、上記疲労、眠気等がある者の瞳孔の大きさの経時変化を表すデータに一番近いデータを生成する潜在変数z2を、勾配降下法等により見出す。ジェネレータ91は、学習によって、疲労、眠気等がない者の瞳孔の大きさの経時変化を表すデータに極めて近いデータを生成する能力を有するが、疲労、眠気等がある者の瞳孔の大きさの経時変化を表すデータに似たデータを生成する能力は有さない。したがって、ジェネレータが潜在変数z2から生成したデータと、撮影によって得られた上記疲労、眠気等がある者の瞳孔の大きさの経時変化を表すデータとは、極めて似たデータとはならない。以上により、疲労、眠気等の有無を、ジェネレータ91によって推定することができる。
【0122】
以上、
図7乃至
図11に示すように、情報処理装置30は、情報処理装置30が設けられている情報端末の使用者の疲労、眠気等を、機械学習を用いた演算により推定する。機械学習を用いることにより、例えば疲労ありと推定する場合の特徴量の経時変化、及び疲労なしと推定する場合の特徴量の経時変化を手動で設定しなくても、疲労、眠気等を精度良く推定することができる。具体的には、例えば疲労ありと推定する場合の瞳孔の大きさの経時変化、及び疲労なしと推定する場合の瞳孔の大きさの経時変化を手動で設定しなくても、疲労、眠気等を精度良く推定することができる。また、例えば疲労ありと推定する場合の特徴量の経時変化、及び疲労なしと推定する場合の特徴量の経時変化を手動で設定しなくても、疲労、眠気等を推定することができるので、簡易な方法で疲労、眠気等を推定することができる。
【0123】
情報処理装置30により疲労、眠気等ありと推定された場合、例えば情報処理装置30が設けられている情報端末の表示部に、疲労、眠気等が生じている旨を示すアラームを表示することができる。これにより、例えば情報端末の使用者に、早めに当該情報端末の使用を中止するよう促すことができる。又は、情報処理装置30が設けられている情報端末の電源を切ることができる。これにより、情報端末の使用者に疲労、眠気等が発生しているにもかかわらず情報端末を使用し続けることによる、健康被害の発生を抑制することができる。
【符号の説明】
【0124】
10:情報処理システム、20:情報処理装置、21:撮像部、22:表示部、23:演算部、24:主記憶部、25:補助記憶部、26:通信部、27:伝送路、30:情報処理装置、31:撮像部、32:表示部、33:演算部、34:主記憶部、35:補助記憶部、36:通信部、37:伝送路、41:画像、42:画像、43:画像、44:画像、45:画像、46:画像、47:虹彩、48:瞳孔、49:画像、50:ジェネレータ、51:データ、52:データ、53:学習結果、57:虹彩、58:瞳孔、59:画像、60:ジェネレータ、61:データ、62:データ、63:学習結果、64:データ、65:データ、66:データ、70:ジェネレータ、71:データ、72:データ、73:学習結果、74:データ、75:データ、80:ジェネレータ、81:データ、82:データ、83:データ、84:学習結果、85:データ、86:データ、87:データ、91:ジェネレータ、92:ディスクリミネータ、93:データ、94:データ、95:データ、96:データ