JP7310931B2 - 視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法 - Google Patents
視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法 Download PDFInfo
- Publication number
- JP7310931B2 JP7310931B2 JP2021569686A JP2021569686A JP7310931B2 JP 7310931 B2 JP7310931 B2 JP 7310931B2 JP 2021569686 A JP2021569686 A JP 2021569686A JP 2021569686 A JP2021569686 A JP 2021569686A JP 7310931 B2 JP7310931 B2 JP 7310931B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- learning
- line
- extractor
- sight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Ophthalmology & Optometry (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Eye Examination Apparatus (AREA)
Description
本発明は、視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法に関する。
近年、対象者の視線方向を推定する様々な技術が開発されている。視線方向の推定方法の一例として、角膜反射法が知られている。角膜反射法では、光源から照射される光により角膜上に輝点(プルキニエ像)を生成し、生成された輝点と瞳孔との位置関係に基づいて視線を推定する。本手法によれば、顔の向き等に依らずに高精度に視線方向を推定することができる。しかしながら、本手法では、角膜上に輝点を生成できなければ、視線方向を推定するのが困難である。そのため、視線方向を推定可能な範囲が限られてしまう。加えて、頭部の位置の変動に影響を受けて、視線方向の推定精度が悪化してしまう可能性がある。
視線方向の推定方法の他の例として、瞳孔形状を利用した方法が知られている。本手法では、眼球の形状を球とみなし、瞳孔の輪郭を円とみなして、眼球の動きに伴って瞳孔の見掛け上の形状が楕円形になることを利用する。すなわち、本手法では、撮像画像に写る対象者の瞳孔形状をフィッティングし、得られた瞳孔形状(楕円)の傾き及び長径と短径との比に基づいて、視線方向を推定する。本手法によれば、計算手法がシンプルであるため、視線方向の推定にかかる処理コストを低減し、当該処理を高速化することができる。しかしながら、瞳孔形状を正確に取得できなければ、視線方向の推定精度が悪化してしまう可能性がある。そのため、撮影装置から頭部が離れてしまう、撮影装置の性能が低い等の理由により、得られる撮影画像における瞳孔の像が低解像度である場合には、瞳孔形状のフィッティングが困難であり、これにより、視線方向を推定するのが困難となってしまう可能性がある。
一方、特許文献1では、ニューラルネットワーク等の学習済みモデルを利用して、視線方向を推定する方法が提案されている。特許文献1で提案される方法では、対象者の顔を撮影することで得られた撮影画像から目の写る部分画像を抽出し、学習済みモデルを利用して、抽出された部分画像から対象者の視線方向を推定する。特許文献1で提案される手法によれば、対象者の頭部の位置の変動等に対してロバストでかつ高精度に視線方向を推定可能なシステムの実現を期待することができる。
本件発明者らは、従来の手法には、次のような問題点があることを見出した。すなわち、人間の網膜の中心には中心窩が存在し、この中心窩が高精細な中心視野での視覚に寄与することが知られている。そのため、人間の視線方向は、中心窩と瞳孔の中心とを結ぶ線により定義することができる。この中心窩の位置には個人差がある。つまり、中心窩は、網膜の完全な中心に位置しているとは限られず、個人差によりその位置は異なり得る。撮像装置により得られた撮像画像から、各個人の中心窩の位置を特定することは困難である。
従来の方法では、被験者から得られたデータに基づいて、視線方向を推定するためのモデルが構築される。しかしながら、運用場面で視線方向を推定する対象となる対象者と被験者との間には、中心窩の位置に個人差があり、撮影画像に同じように瞳孔が写っていても、視線方向が異なっている可能性がある。そのため、従来の方法では、この中心窩の位置の個人差に起因して、視線方向の推定精度が悪化し得るという問題点があった。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、対象者の視線方向を高精度に推定可能な技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る視線推定装置は、所定の方向を視る対象者の目の視線に関する特徴情報、及び前記対象者の目の視る前記所定の方向の真値を示す真値情報を含む較正情報を取得する情報取得部と、対象者の目の写る対象画像を取得する画像取得部と、機械学習により生成された学習済み推定モデルを利用して、前記対象画像に写る前記対象者の視線方向を推定する推定部であって、前記機械学習により、前記学習済み推定モデルは、被験者から得られた学習用較正情報及び学習用対象画像の入力に対して、当該学習用対象画像に写る当該被験者の視線方向の真値を示す正解情報に適合する出力値を出力するように訓練されており、前記視線方向を推定することは、取得された前記対象画像及び前記較正情報を当該学習済み推定モデルに入力し、当該学習済み推定モデルの演算処理を実行することで、前記対象画像に写る前記対象者の視線方向を推定した結果に対応する出力値を当該学習済み推定モデルから取得することにより構成される、推定部と、前記対象者の前記視線方向を推定した結果に関する情報を出力する出力部と、を備える。
当該構成では、対象者の視線方向を推定するのに、対象者の目の写る対象画像だけではなく、特徴情報及び真値情報を含む較正情報も利用する。特徴情報は、所定の方向を視る対象者の目の視線に関する。真値情報は、その所定の方向の真値を示す。特徴情報及び真値情報によれば、真値により既知の方向についてその視線を形成する目の特徴(すなわち、対象者の視線の個性)を把握することができる。したがって、当該構成によれば、視線方向の推定に較正情報を更に利用することにより、被験者及び対象者の間の個人差に起因する視線方向の違いを較正可能である。すなわち、個人差を考慮した上で、対象者の視線方向を推定することができる。そのため、対象者の視線方向を推定する精度の向上を図ることができる。
上記一側面に係る視線推定装置において、前記較正情報は、複数の異なる前記所定の方向それぞれに対応する前記特徴情報及び前記真値情報を含んでもよい。当該構成によれば、複数の異なる方向についての較正情報から対象者の視線の個性をより正確に把握可能であるため、対象者の視線方向を推定する精度の更なる向上を図ることができる。
上記一側面に係る視線推定装置において、前記特徴情報及び前記真値情報を含むことは、前記特徴情報及び前記真値情報を結合することにより導出される較正に関する較正特徴量を含むことにより構成されてよい。前記学習済み推定モデルは、第1抽出器及び推定器を備えてよい。前記学習済み推定モデルの演算処理を実行することは、取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、及び前記較正特徴量及び取得された前記第1特徴量を前記推定器に入力し、前記推定器の演算処理を実行すること、により構成されてよい。当該構成によれば、対象画像及び較正情報から対象者の視線方向を適切に推定可能な学習済み推定モデルを提供することができる。また、当該構成によれば、較正情報の情報量を低減することにより、対象者の視線方向を推定する情報処理のコストを低減することができ、これによって、当該情報処理の高速化を図ることができる。
上記一側面に係る視線推定装置において、前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像に関する第2特徴量により構成されてよい。前記情報取得部は、結合器を有してもよい。前記較正情報を取得することは、前記第2特徴量を取得すること、前記真値情報を取得すること、並びに取得された前記第2特徴量及び前記真値情報を前記結合器に入力し、前記結合器の演算処理を実行することで、前記較正特徴量に対応する出力値を前記結合器から取得すること、により構成されてよい。当該構成によれば、較正特徴量を導出する演算処理は、視線方向の推定処理ではなく、較正情報の取得処理内で実行される。そのため、推定処理の処理コストを抑えることができる。特に、対象画像の取得処理及び視線方向の推定処理を繰り返し実行する形態では、較正特徴量の導出が済んでいれば、繰り返しの演算において、既に導出された較正特徴量を使い回し、較正情報の取得処理の実行を省略可能である。したがって、一連の演算処理のコストを低減することができ、これによって、当該一連の演算処理の高速化を図ることができる。
上記一側面に係る視線推定装置において、前記情報取得部は、第2抽出器を更に有してもよい。前記第2特徴量を取得することは、前記基準画像を取得すること、及び取得された前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記第2特徴量に対応する出力値を前記第2抽出器から取得すること、により構成されてよい。当該構成によれば、所定の方向を視る対象者の目の視線の特徴が表れた特徴情報(第2特徴量)を適切に取得することができる。
上記一側面に係る視線推定装置において、前記学習済み推定モデルは、第1抽出器及び推定器を備えてよい。前記学習済み推定モデルの演算処理を実行することは、取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、並びに前記特徴情報、前記真値情報、及び取得された前記第1特徴量を前記推定器に入力し、前記推定器の演算処理を実行すること、により構成されてよい。当該構成によれば、対象画像及び較正情報から対象者の視線方向を適切に推定可能な学習済み推定モデルを提供することができる。
上記一側面に係る視線推定装置において、前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像に関する第2特徴量により構成されてよい。前記情報取得部は、第2抽出器を有してよい。前記較正情報を取得することは、前記基準画像を取得すること、取得された前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記第2特徴量に対応する出力値を前記第2抽出器から取得すること、及び前記真値情報を取得すること、により構成されてよい。当該構成によれば、所定の方向を視る対象者の目の視線の特徴が表れた特徴情報(第2特徴量)を適切に取得することができる。また、対象画像の取得処理及び視線方向の推定処理を繰り返し実行する形態では、第2特徴量の導出が済んでいれば、繰り返しの演算において、既に導出された第2特徴量を使い回し、較正情報の取得処理の実行を省略可能である。したがって、対象者の視線方向を指定するための一連の演算処理のコストを低減することができ、これによって、当該一連の演算処理の高速化を図ることができる。
上記一側面に係る視線推定装置において、前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像により構成されてよい。前記学習済み推定モデルは、第1抽出器、第2抽出器、及び推定器を備えてよい。前記学習済み推定モデルの演算処理を実行することは、取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記基準画像に関する第2特徴量に対応する出力値を前記第2抽出器から取得すること、並びに、取得された前記第1特徴量、取得された前記第2特徴量、及び前記真値情報を前記推定器に入力し、前記推定器の演算処理を実行すること、により構成されてよい。当該構成によれば、対象画像及び較正情報から対象者の視線方向を適切に推定可能な学習済み推定モデルを提供することができる。
上記一側面に係る視線推定装置において、前記学習済み推定モデルは、第1変換器及び推定器を備えてよい。前記学習済み推定モデルの演算処理を実行することは、取得された前記対象画像を前記第1変換器に入力し、前記第1変換器の演算処理を実行することで、前記対象者の視線方向に関する第1ヒートマップに対応する出力値を前記第1変換器から取得すること、並びに、取得された前記第1ヒートマップ、前記特徴情報、及び前記真値情報を前記推定器に入力し、前記推定器の演算処理を実行すること、により構成されてよい。当該構成によれば、対象画像及び較正情報から対象者の視線方向を適切に推定可能な学習済み推定モデルを提供することができる。
上記一側面に係る視線推定装置において、前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像から導出された、前記所定の方向を視る目の視線方向に関する第2ヒートマップにより構成されてよい。前記情報取得部は、第2変換器を有してよい。前記較正情報を取得することは、前記基準画像を取得すること、取得された前記基準画像を前記第2変換器に入力し、前記第2変換器の演算処理を実行することで、前記第2ヒートマップに対応する出力値を前記第2変換器から取得すること、前記真値情報を取得すること、及び前記所定の方向の真値に関する第3ヒートマップに前記真値情報を変換すること、により構成されてよい。前記第1ヒートマップ、前記特徴情報、及び前記真値情報を前記推定器に入力することは、前記第1ヒートマップ、前記第2ヒートマップ、及び前記第3ヒートマップを前記推定器に入力することにより構成されてよい。当該構成によれば、入力側のデータ形式として共通のヒートマップ形式を採用することにより、推定器の構成を比較的に簡易にすることができ、推定器内で各情報(特徴情報、真値情報及び対象画像)を統合し易くすることで、推定器の推定精度の向上を期待することができる。
上記一側面に係る視線推定装置において、前記画像取得部により前記対象画像の取得、及び前記推定部による前記対象者の視線方向の推定は繰り返し実行されてよい。当該構成によれば、対象者の視線方向の推定を継続的に行うことができる。
上記一側面に係る視線推定装置において、前記情報取得部は、前記対象者に所定の方向を視るように指示を出力した後、前記対象者の視線をセンサにより観測することで前記較正情報を取得してもよい。当該構成によれば、対象者の視線の個性が表れた較正情報を適切かつ簡易に取得することができる。
本発明の一側面は、上記各形態に係る視線推定装置で利用可能な学習済み推定モデルを生成する装置であってもよい。例えば、本発明の一側面に係るモデル生成装置は、所定の方向を視る被験者の目の視線に関する学習用特徴情報、及び前記被験者の目の視る前記所定の方向の真値を示す学習用真値情報を含む学習用較正情報を取得する第1取得部と、被験者の目の写る学習用対象画像、及び前記学習用対象画像に写る前記被験者の視線方向の真値を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する第2取得部と、取得された前記複数の学習データセットを使用して、推定モデルの機械学習を実施する機械学習部であって、機械学習を実施することは、前記各学習データセットについて、前記学習用対象画像及び前記学習用較正情報の入力に対して、対応する前記正解情報に適合する出力値を出力するように前記推定モデルを訓練することにより構成される、機械学習部と、を備える。
上記各形態に係る視線推定装置及びモデル生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る視線推定システムは、上記いずれかの形態に係る視線推定装置及びモデル生成装置により構成されてよい。
例えば、本発明の一側面に係る視線推定方法は、コンピュータが、所定の方向を視る対象者の目の視線に関する特徴情報、及び前記対象者の目の視る前記所定の方向の真値を示す真値情報を含む較正情報を取得するステップと、対象者の目の写る対象画像を取得するステップと、機械学習により生成された学習済み推定モデルを利用して、前記対象画像に写る前記対象者の視線方向を推定するステップであって、前記機械学習により、前記学習済み推定モデルは、被験者から得られた学習用較正情報及び学習用対象画像であって、当該学習用較正情報は前記較正情報と同種であり、当該学習用対象画像は前記対象画像と同種である、学習用較正情報及び学習用対象画像の入力に対して、当該学習用対象画像に写る当該被験者の視線方向の真値を示す正解情報に適合する出力値を出力するように訓練されており、前記視線方向を推定することは、取得された前記対象画像及び前記較正情報を当該学習済み推定モデルに入力し、当該学習済み推定モデルの演算処理を実行することで、前記対象画像に写る前記対象者の視線方向を推定した結果に対応する出力値を当該学習済み推定モデルから取得することにより構成される、ステップと、前記対象者の前記視線方向を推定した結果に関する情報を出力するステップと、を実行する、情報処理方法である。
また、例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、所定の方向を視る被験者の目の視線に関する学習用特徴情報、及び前記被験者の目の視る前記所定の方向の真値を示す学習用真値情報を含む学習用較正情報を取得するステップと、被験者の目の写る学習用対象画像、及び前記学習用対象画像に写る前記被験者の視線方向の真値を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、取得された前記複数の学習データセットを使用して、推定モデルの機械学習を実施するステップであって、機械学習を実施することは、前記各学習データセットについて、前記学習用対象画像及び前記学習用較正情報の入力に対して、対応する前記正解情報に適合する出力値を出力するように前記推定モデルを訓練することにより構成される、ステップと、を実行する、情報処理方法である。
本発明によれば、対象者の視線方向を高精度に推定することができる。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る視線推定システム100は、モデル生成装置1及び視線推定装置2を備えている。
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る視線推定システム100は、モデル生成装置1及び視線推定装置2を備えている。
本実施形態に係るモデル生成装置1は、対象者の視線方向の推定に利用可能な学習済み推定モデル3を生成するように構成されたコンピュータである。具体的には、本実施形態に係るモデル生成装置1は、学習用特徴情報及び学習用真値情報を含む学習用較正情報50を取得する。学習用特徴情報は、所定の方向を視る被験者の目の視線に関する。学習用真値情報は、被験者の目の視る所定の方向の真値を示す。所定の方向は、真値により既知の視線方向である。所定の方向の具体的な値は、特に限られなくてもよく、実施の形態に応じて適宜選択されてよい。所定の方向の一例として、対象者の視線方向を推定する場面で出現しやすい方向を選択するのが好ましい。
また、本実施形態に係るモデル生成装置1は、被験者の目の写る学習用対象画像53、及び正解情報55の組み合わせによりそれぞれ構成される複数の学習データセット51を取得する。正解情報55は、学習用対象画像53に写る被験者の視線方向の真値を示す。複数の学習データセット51には、学習用較正情報50と同様に、所定の方向を視る被験者から得られる学習データセットが含まれてもよい。なお、「学習用」は、機械学習に用いられることを指す。この「学習用」の記載は、省略されてよい。
そして、本実施形態に係るモデル生成装置1は、取得された複数の学習データセット51を使用して、推定モデル3の機械学習を実施する。機械学習を実施することは、各学習データセット51について、学習用対象画像53及び学習用較正情報50の入力に対して、対応する正解情報55に適合する出力値を出力するように推定モデル3を訓練することにより構成される。これにより、対象画像に写る被験者の視線方向を較正情報及び対象画像から推定する能力を獲得した学習済み推定モデル3を生成することができる。なお、「学習済み」は、「訓練済み」と読み替えられてもよい。
一方、視線推定装置2は、生成された学習済み推定モデル3を利用して、対象者Rの視線方向を推定するように構成されたコンピュータである。具体的に、本実施形態に係る視線推定装置2は、対象者Rについて、特徴情報及び真値情報を含む較正情報60を取得する。較正情報60は、被験者から得られる上記学習用較正情報50と同種のデータである。対象者Rは、被験者と同一人物であってもよいし、同一人物でなくてもよい。
特徴情報は、所定の方向を視る対象者Rの目の視線に関する。特徴情報は、所定の方向の視線を形成する目の特徴に関する成分を含んでいれば、その形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、特徴情報は、所定の方向を視る対象者の目の写る基準画像により構成されてよい。或いは、特徴情報は、当該基準画像から抽出される視線の特徴量により構成されてよい。特徴情報は、上記学習用特徴情報と同種のデータである。
真値情報は、対象者Rの目の視る所定の方向の真値を示す。真値のデータ形式、すなわち、視線方向の表現形式は、視線方向に関する情報を示すものであれば、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。視線方向は、例えば、仰俯角、方位角等の角度により表現されてよい。或いは、視線方向は、視野範囲内において注視された位置(以下、「注視位置」とも記載する)により表現されてよい。角度又は注視位置は、数値により直接的に表現されてもよいし、或いは、ヒートマップを用いて程度又は確率により表現されてもよい。真値情報は、上記学習用真値情報と同種のデータである。
較正情報60が特徴情報及び真値情報を含むことは、特徴情報及び真値情報をそのまま別々のデータとして(例えば、分離可能な形式で)含むことにより構成されてもよいし、或いは、特徴情報及び真値情報を結合することにより導出される情報(例えば、後述の較正特徴量)を含むことにより構成されてもよい。較正情報60の構成の一例は、後述する。
また、本実施形態に係る視線推定装置2は、対象者Rの目の写る対象画像63を取得する。本実施形態では、視線推定装置2は、カメラSに接続されており、このカメラSから対象画像63を取得することができる。対象画像63は、対象者Rの目の像を含み得るものであればよい。例えば、対象画像63は、カメラSにより得られたそのままの画像であってもよいし、或いは、得られた画像から抽出された部分画像であってもよい。部分画像は、例えば、カメラSにより得られた画像から少なくとも一方の目の写る範囲を抽出することで得られてよい。部分画像の抽出には、公知の画像処理が用いられてよい。
次に、本実施形態に係る視線推定装置2は、上記機械学習により生成された学習済み推定モデル3を利用して、対象画像63に写る対象者Rの目の視線方向を推定する。視線方向を推定することは、取得された対象画像63及び較正情報60を学習済み推定モデル3に入力し、当該学習済み推定モデル3の演算処理を実行することで、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を学習済み推定モデル3から取得することにより構成される。そして、本実施形態に係る視線推定装置2は、対象者Rの視線方向を推定した結果に関する情報を出力する。
以上のとおり、本実施形態では、対象者Rの視線方向を推定するのに、対象者Rの目の写る対象画像63だけではなく、特徴情報及び真値情報を含む較正情報60も利用する。特徴情報及び真値情報によれば、真値により既知の方向についてその視線を形成する目の特徴(すなわち、対象者Rの視線の個性)を把握することができる。したがって、本実施形態によれば、視線方向の推定に較正情報60を更に利用することにより、被験者及び対象者Rの間の個人差に起因する視線方向の違いを較正可能である。すなわち、個人差を考慮した上で、対象者Rの視線方向を推定することができる。そのため、本実施形態によれば、視線推定装置2において、対象者Rの視線方向を推定する精度の向上を図ることができる。また、本実施形態に係るモデル生成装置1によれば、そのような高精度に対象者Rの視線方向を推定可能な学習済み推定モデル3を生成することができる。
本実施形態は、対象者Rの視線方向を推定するあらゆる場面に適用されてよい。視線方向を推定する場面の一例として、例えば、車両を運転する運転者の視線方向を推定する場面、ロボット装置とコミュニケーションを取るユーザの視線方向を推定する場面、ユーザインタフェースにおいてユーザの視線方向を推定し、得られた推定結果を入力に利用する場面等を挙げることができる。運転者及びユーザは、対象者Rの一例である。視線方向の推定結果は、各場面に応じて適宜利用されてよい。
なお、図1の例では、モデル生成装置1及び視線推定装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び視線推定装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び視線推定装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
また、図1の例では、モデル生成装置1及び視線推定装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る視線推定システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び視線推定装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び視線推定装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
§2 構成例
[ハードウェア構成]
<モデル生成装置>
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
[ハードウェア構成]
<モデル生成装置>
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数のデータセット120、学習結果データ125等の各種情報を記憶する。
モデル生成プログラム81は、機械学習を実施することで学習済み推定モデル3を生成する後述の情報処理(図6)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。各データセット120は、学習画像121及び正解情報123の組み合わせにより構成される。学習結果データ125は、機械学習により生成された学習済み推定モデル3に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行してもよい。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、学習画像121を得るためのカメラに接続されてよい。
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81及び複数のデータセット120の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81及び複数のデータセット120の少なくともいずれかを取得してもよい。なお、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
<視線推定装置>
図3は、本実施形態に係る視線推定装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る視線推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
図3は、本実施形態に係る視線推定装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る視線推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
視線推定装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、視線推定プログラム82、較正情報60、学習結果データ125等の各種情報を記憶する。
視線推定プログラム82は、学習済み推定モデル3を利用して、対象画像63に写る対象者Rの視線方向を推定する後述の情報処理(図7)を視線推定装置2に実行させるためのプログラムである。視線推定プログラム82は、当該情報処理の一連の命令を含む。視線推定プログラム82、較正情報60、及び学習結果データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、視線推定装置2は、記憶媒体92から、視線推定プログラム82、較正情報60、及び学習結果データ125のうちの少なくともいずれかを取得してもよい。
また、図3の例では、視線推定装置2は、外部インタフェース24を介して、カメラS(撮像装置)に接続されている。これにより、視線推定装置2は、カメラSから対象画像63を取得することができる。ただし、カメラSとの接続方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。カメラSが通信インタフェースを備える場合、視線推定装置2は、通信インタフェース23を介して、カメラSに接続されてもよい。カメラSの種類は、実施の形態に応じて適宜選択されてよい。カメラSは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSは、対象者Rの目を撮影するように適宜配置されてよい。
なお、視線推定装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。視線推定装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、視線推定装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
[ソフトウェア構成]
<モデル生成装置>
図4A及び図4Bは、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4A及び図4Bに示されるとおり、本実施形態に係るモデル生成装置1は、収集部111、第1取得部112、第2取得部113、機械学習部114、及び保存処理部115をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
<モデル生成装置>
図4A及び図4Bは、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4A及び図4Bに示されるとおり、本実施形態に係るモデル生成装置1は、収集部111、第1取得部112、第2取得部113、機械学習部114、及び保存処理部115をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
収集部111は、複数のデータセット120を取得する。各データセット120は、被験者の目の写る学習画像121及び正解情報123の組み合わせにより構成される。正解情報123は、対応する学習画像121に写る被験者の視線方向の真値を示す。第1取得部112は、学習用特徴情報502及び学習用真値情報503を含む学習用較正情報50を取得する。学習用特徴情報502は、所定の方向を視る被験者の目の視線に関する。学習用真値情報503は、対応する学習用特徴情報502について被験者の目の視る所定の方向の真値を示す。本実施形態では、学習用較正情報50の取得に、所定の方向を視る被験者について得られたデータセット120を利用することができる。学習用較正情報50は、複数の異なる所定の方向それぞれに対応する学習用特徴情報502及び学習用真値情報503を含んでもよい。すなわち、人物の視線の個性を把握するための所定の方向は複数設定されてよく、較正情報は、設定された各所定の方向についての特徴情報及び真値情報を含んでもよい。
第2取得部113は、被験者の目の写る学習用対象画像53、及び当該学習用対象画像53に写る被験者の視線方向の真値を示す正解情報55の組み合わせによりそれぞれ構成される複数の学習データセット51を取得する。本実施形態では、上記各データセット120を学習データセット51として利用可能である。すなわち、上記学習画像121を学習用対象画像53として利用可能であり、上記正解情報123を正解情報55として利用可能である。機械学習部114は、取得された複数の学習データセット51を使用して、推定モデル3の機械学習を実施する。機械学習を実施することは、各学習データセット51について、学習用対象画像53及び学習用較正情報50の入力に対して、対応する正解情報55に適合する出力値を出力するように推定モデル3を訓練することにより構成される。
較正情報及び対象画像から人物の視線方向を推定するための演算を実行可能であれば、推定モデル3の構成は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。また、特徴情報及び真値情報に関する成分(すなわち、既知の方向の視線を形成する目の特徴に関する成分)が含まれていれば、較正情報のデータ形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。機械学習の手順は、推定モデル3及び較正情報の構成に応じて適宜決定されてよい。
図4Bに示されるとおり、本実施形態では、推定モデル3は、抽出器31及び推定器32を備える。抽出器31は、第1抽出器の一例である。また、本実施形態では、特徴情報及び真値情報を含むことは、特徴情報及び真値情報を結合することにより導出される較正に関する較正特徴量を含むことにより構成される。すなわち、較正情報は、較正特徴量により構成される。結合することは、単純に情報を一つにすることであってもよいし、或いは、情報を一つにすると共に情報を圧縮することを含んでもよい。本実施形態では、較正特徴量を取得するために、抽出器35及び結合器36が利用される。抽出器35は、第2抽出器の一例である。
抽出器31は、人物の目の写る画像(対象画像)の入力を受け付け、入力された画像に関する特徴量に対応する出力値を出力するように構成される。換言すると、抽出器31は、人物の目の写る画像から特徴量を抽出するように構成される。推定器32は、抽出器31により算出された特徴量及び較正特徴量の入力を受け付け、対応する画像(すなわち、入力された特徴量を得るために抽出器31に入力された画像)に写る人物の視線方向を推定した結果に対応する出力値を出力するように構成される。換言すると、推定器32は、画像の特徴量及び較正特徴量から人物の視線方向を推定するように構成される。抽出器31の出力は、推定器32の入力に接続される。
抽出器35は、抽出器31と同様に、人物の目の写る画像の入力を受け付け、入力された画像に関する特徴量に対応する出力値を出力するように構成される。抽出器35には、抽出器31と共通の抽出器を用いてもよいし(すなわち、抽出器35は抽出器31と同一)、抽出器31とは別の抽出器を用いてもよい(すなわち、抽出器35は抽出器31と不同)。結合器36は、特徴情報及び真値情報の入力を受け付け、入力された特徴情報及び真値情報の結合により導出される較正に関する較正特徴量に対応する出力値を出力するように構成される。本実施形態では、特徴情報は、所定の方向を視る人物(対象者)の目の写る基準画像に関する特徴量により構成される。基準画像を抽出器35に与えて、抽出器35の演算処理を実行することで、基準画像の特徴量に対応する出力値を抽出器35から得ることができる。そのため、抽出器35の出力は、結合器36の入力に接続される。各特徴量のデータ形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。
図4Aに示されるとおり、機械学習部114は、まず、各抽出器(31、35)として利用可能な訓練済みの抽出器を生成するために、抽出器41及び推定器43を備える学習モデル4を用意する。抽出器41は、各抽出器(31、35)に対応する。抽出器41の出力は、推定器43の入力に接続される。推定器43は、抽出器41により算出された特徴量の入力を受け付け、対応する画像(すなわち、入力された特徴量を得るために抽出器41に入力された画像)に写る人物の視線方向を推定した結果に対応する出力値を出力するように構成される。
機械学習部114は、取得された複数のデータセット120を使用して、学習モデル4の機械学習を実施する。機械学習部114は、各データセット120に含まれる学習画像121を抽出器41に入力し、抽出器41及び推定器43の演算処理を実行する。この演算処理により、機械学習部114は、学習画像121に写る被験者の視線方向を推定した結果に対応する出力値を推定器43から取得する。学習モデル4の機械学習では、機械学習部114は、各データセット120について、当該演算処理により推定器43から得られる出力値が正解情報123に適合するように、学習モデル4を訓練する。この機械学習の結果、訓練済みの抽出器41の出力(すなわち、特徴量)には、推定器43において被験者の視線方向を推定可能なように、学習画像121に含まれる被験者の目に関する成分が含まれるようになる。
各抽出器(31、35)に同一の抽出器を用いる場合、機械学習により生成された訓練済みの抽出器41が、各抽出器(31、35)として共通に利用されてよい。この場合、各抽出器(31、35)の情報量を低減することができ、かつ機械学習のコストを抑えることができる。一方、各抽出器(31、35)に別々の抽出器を用いる場合、機械学習部114は、少なくとも抽出器41の部分について別個の学習モデル4を用意し、それぞれの機械学習を実施してもよい。そして、それぞれの機械学習により生成された訓練済みの抽出器41が、各抽出器(31、35)として利用されてよい。各抽出器(31、35)には、訓練済みの抽出器41がそのまま利用されてもよいし、或いは訓練済みの抽出器41の複製が利用されてもよい。同様に、所定の方向が複数設定される場合、抽出器35は、設定された異なる方向毎に別々に用意されてもよいし、設定された複数の異なる方向に対して共通に用意されてもよい。複数の異なる法王に対して抽出器35を共通に用意する場合には、抽出器35の情報量を低減することができ、かつ機械学習のコストを抑えることができる。
次に、図4Bに示されるとおり、機械学習部114は、抽出器35、結合器36、及び推定モデル3を含む学習モデル30を用意する。本実施形態では、機械学習部114は、最終的に推定モデル3の推定器32が人物の視線方向を推定する能力を獲得するように、学習モデル30の機械学習を実施する。この学習モデル30の機械学習の間、結合器36の出力は、推定器32の入力に接続される。これにより、学習モデル30の機械学習において、推定器32及び結合器36は共に訓練される。
この機械学習の過程において、第1取得部112は、抽出器35及び結合器36を利用して、学習用較正情報50を取得する。具体的に、第1取得部112は、所定の方向を視る被験者の目の写る学習用基準画像501及びその所定の方向の真値を示す学習用真値情報503を取得する。第1取得部112は、所定の方向を視る被験者について得られたデータセット120に含まれる学習画像121を学習用基準画像501として取得し、正解情報123を学習用真値情報503として取得してもよい。
第1取得部112は、取得された学習用基準画像501を抽出器35に入力し、抽出器35の演算処理を実行する。これにより、第1取得部112は、学習用基準画像501に関する特徴量5021に対応する出力値を抽出器35から取得する。本実施形態では、学習用特徴情報502は、この特徴量5021により構成される。
続いて、第1取得部112は、取得された特徴量5021及び学習用真値情報503を結合器36に入力し、結合器36の演算処理を実行する。これにより、第1取得部112は、学習用特徴情報502及び学習用真値情報503の結合により導出される較正に関する特徴量504に対応する出力値を結合器36から取得する。特徴量504は、学習用の較正特徴量の一例である。本実施形態では、学習用較正情報50は、この特徴量504により構成される。第1取得部112は、これらの演算処理により、抽出器35及び結合器36を利用して、学習用較正情報50を取得することができる。
なお、所定の方向が複数設定される場合、第1取得部112は、複数の異なる所定の方向それぞれについて学習用基準画像501及び学習用真値情報503を取得してもよい。第1取得部112は、各学習用基準画像501を抽出器35に入力し、抽出器35の演算処理を実行してもよい。これにより、第1取得部112は、各特徴量5021を抽出器35から取得してもよい。続いて、第1取得部112は、取得された各特徴量5021及び各所定の方向についての学習用真値情報503を結合器36に入力し、結合器36の演算処理を実行してもよい。これらの演算処理により、第1取得部112は、複数の異なる所定の方向それぞれの学習用特徴情報502及び学習用真値情報503を結合することにより導出される特徴量504を取得してもよい。この場合、特徴量504には、複数の異なる所定の方向それぞれの学習用特徴情報502及び学習用真値情報503を集約した情報が含まれ得る。ただし、特徴量504を取得する方法は、このような例に限定されなくてもよい。その他の一例として、異なる所定の方向毎に特徴量504を算出するようにしてもよい。この場合、特徴量504の算出には共通の結合器36が用いられてもよいし、異なる所定の方向毎に別々の結合器36が用いられてもよい。
また、第2取得部113は、学習用対象画像53及び正解情報55の組み合わせによりそれぞれ構成される複数の学習データセット51を取得する。本実施形態では、第2取得部113は、収集された複数のデータセット120の少なくともいずれかを学習データセット51として使用してもよい。すなわち、第2取得部113は、データセット120の学習画像121を学習データセット51の学習用対象画像53として取得し、データセット120の正解情報123を学習データセット51の正解情報55として取得してもよい。
機械学習部114は、取得された各学習データセット51に含まれる学習用対象画像53を抽出器31に入力し、抽出器31の演算処理を実行する。この演算処理により、機械学習部114は、学習用対象画像53に関する特徴量54を抽出器31から取得する。続いて、機械学習部114は、結合器36から取得された特徴量504(学習用較正情報50)及び取得された特徴量54を推定器32に入力し、推定器32の演算処理を実行する。この演算処理により、機械学習部114は、学習用対象画像53に写る被験者の視線方向を推定した結果に対応する出力値を推定器32から取得する。学習モデル30の機械学習では、機械学習部114は、上記特徴量504の算出及び上記推定モデル3の演算処理を伴いながら、各学習データセット51について、この推定器32から得られる出力値が対応する正解情報55に適合するように学習モデル30を訓練する。
この学習モデル30の訓練は、各抽出器(31、35)の訓練を含んでもよい。或いは、上記学習モデル4の機械学習により、各抽出器(31、35)は、人物の視線方向を推定可能な成分を含む特徴量を画像から抽出する能力を獲得するように訓練されている。そのため、学習モデル30の訓練において、各抽出器(31、359の訓練は省略されてもよい。学習モデル30の機械学習により、結合器36は、特徴情報及び真値情報を結合することで人物の視線方向の推定に有益な較正特徴量を導出する能力を獲得することができる。また、推定器32は、抽出器31により得られる画像の特徴量及び結合器36により得られる較正特徴量から対応する画像に写る人物の視線方向を適切に推定する能力を獲得することができる。
なお、学習モデル30の機械学習において、特徴量504の算出に使用される学習用基準画像501及び学習用真値情報503は、その訓練で使用される学習データセット51と同一の被験者由来であることが好ましい。すなわち、学習用基準画像501、学習用真値情報503及び複数の学習データセット51が複数の異なる被験者それぞれから取得されていると想定する。この場合に、同一の被験者から得られた学習用基準画像501、学習用真値情報503及び複数の学習データセット51が学習モデル30の機械学習に使用されるように、それぞれの由来が識別されるのが好ましい。それぞれの由来(すなわち、被験者)は、例えば、識別子等の付加情報により識別されてよい。学習用基準画像501、学習用真値情報503及び複数の学習データセット51を複数のデータセット120から取得する場合、各データセット120は、この付加情報を更に含んでもよい。この場合、付加情報に基づいて、それぞれの由来である被験者を識別することができ、これによって、同一の被験者から得られた学習用基準画像501、学習用真値情報503及び複数の学習データセット51が学習モデル30の機械学習に使用されるようにすることができる。
保存処理部115は、学習済みの学習モデル30(すなわち、学習済み抽出器31、学習済み結合器36、及び学習済み推定モデル3)に関する情報を学習結果データ125として生成する。そして、保存処理部115は、生成された学習結果データ125を所定の記憶領域に保存する。
(各モデルの構成の一例)
各抽出器(31、35、41)、各推定器(32、43)、及び結合器36は、演算パラメータを有する機械学習可能なモデルにより構成される。それぞれに利用する機械学習モデルは、それぞれの演算処理を実行可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、各抽出器(31、35、41)には、畳み込みニューラルネットワークが用いられる。また、各推定器(32、43)及び結合器36には、全結合型ニューラルネットワークが用いられる。
各抽出器(31、35、41)、各推定器(32、43)、及び結合器36は、演算パラメータを有する機械学習可能なモデルにより構成される。それぞれに利用する機械学習モデルは、それぞれの演算処理を実行可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、各抽出器(31、35、41)には、畳み込みニューラルネットワークが用いられる。また、各推定器(32、43)及び結合器36には、全結合型ニューラルネットワークが用いられる。
図4A及び図4Bに示されるとおり、各抽出器(31、35、41)は、畳み込み層(311、351、411)及びプーリング層(312、352、412)を備えている。畳み込み層(311、351、411)は、与えられたデータに対する畳み込み演算を行うように構成される。畳み込み演算とは、与えられたデータと所定のフィルタとの相関を算出する処理に相当する。例えば、画像の畳み込みを行うことで、フィルタの濃淡パターンと類似する濃淡パターンを入力される画像から検出することができる。畳み込み層(311、351、411)は、この畳み込み演算に対応するニューロンであって、入力又は自分の層よりも前(入力側)に配置された層の出力の一部の領域に結合するニューロン(ノード)を備えている。プーリング層(312、352、412)は、プーリング処理を行うように構成される。プーリング処理は、与えられたデータのフィルタに対する応答の強かった位置の情報を一部捨て、当該データ内に現れる特徴の微小な位置変化に対する応答の不変性を実現する。例えば、プーリング処理では、フィルタ内の最も大きな値が抽出され、それ以外の値が削除されてよい。
各抽出器(31、35、41)に含まれる畳み込み層(311、351、411)及びプーリング層(312、352、412)の数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。図4A及び図4Bの例では、最も入力側(図の左側)には畳み込み層(311、351、411)が配置されており、この畳み込み層(311、351、411)が入力層を構成している。また、最も出力側(図の右側)にはプーリング層(312、352、412)が配置されており、このプーリング層(312、352、412)が出力層を構成している。ただし、各抽出器(31、35、41)の構造は、このような例に限定されなくてよい。畳み込み層(311、351、411)及びプーリング層(312、352、412)の配置は、実施の形態に応じて適宜決定されてよい。例えば、畳み込み層(311、351、411)及びプーリング層(312、352、412)は交互に配置されてよい。或いは、複数の畳み込み層(311、351、411)が連続して配置された後に、1又は複数のプーリング層(312、352、412)が配置されてもよい。また、各抽出器(31、35、41)に含まれる層の種類は、畳み込み層及びプーリング層に限られなくてもよい。各抽出器(31、35、41)には、例えば、正規化層、ドロップアウト層、全結合層等の他の種類の層が含まれてもよい。
本実施形態では、各抽出器(31、35)の構造は、それぞれに利用する抽出器41の構造に由来する。各抽出器(31、35)を別々に用意する場合、抽出器31及び抽出器35の間で構造は一致してもよいし、一致していなくてもよい。同様に、所定の方向が複数設定され、設定された異なる所定の方向毎に別々の抽出器35を用意する場合、各所定の方向に用意された抽出器35の構造は一致していてもよいし、或いは少なくとも一部の抽出器35の構造が他の抽出器35と異なっていてもよい。
一方、各推定器(32、43)及び結合器36は、1又は複数の全結合層(321、431、361)を備えている。各推定器(32、43)及び結合器36の備える全結合層(321、431、361)の数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。複数の全結合層を備える場合、最も入力側に配置された全結合層が入力層を構成し、最も出力側に配置された全結合層が出力層を構成する。入力層及び出力層の間に配置される全結合層は、中間(隠れ)層を構成する。1つの全結合層を備える場合、当該1つの全結合層が入力層及び出力層として動作する。
各全結合層(321、431、361)は、1又は複数のニューロン(ノード)を備える。各全結合層(321、431、361)に含まれるニューロン(ノード)の数は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。入力層に含まれるニューロンの数は、例えば、特徴量、真値情報等の入力されるデータ及びその形式に応じて決定されてよい。また、出力層に含まれるニューロンの数は、例えば、特徴量、推定結果等の出力されるデータ及びその形式に応じて決定されてよい。各全結合層(321、431、361)に含まれる各ニューロンは、隣接する層の全てのニューロンと結合される。ただし、各ニューロンの結合関係は、このような例に限定されなくてよく、実施の形態に応じて適宜決定されてよい。
畳み込み層(311、351、411)及び全結合層(321、431、361)の各結合には、重み(結合荷重)が設定される。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は任意に選択されてよい。畳み込み層(311、351、411)及び全結合層(321、431、361)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36の演算処理に利用される演算パラメータの一例である。
なお、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36の入力及び出力のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各推定器(32、43)の出力層は、推定結果を直接的に出力する(例えば、回帰する)ように構成されてもよい。或いは、各推定器(32、43)の出力層は、例えば、識別対象のクラス毎に1又は複数のニューロンを備え、各ニューロンから対応するクラスに該当する確率を出力する等のように、推定結果を間接的に出力するように構成されてもよい。また、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36の入力層は、上記基準画像、対象画像、特徴量、真値情報等の入力データ以外の他のデータの入力を更に受け付けるように構成されてもよい。入力データには、入力層に入力される前に任意の前処理が適用されてよい。
上記学習モデル4の機械学習では、機械学習部114は、各データセット120について、上記演算処理により推定器43から得られる出力値と正解情報123との間の誤差が小さくなるように、抽出器41及び推定器43の各演算パラメータの値の調整を繰り返す。これにより、訓練済みの抽出器41を生成することができる。また、上記学習モデル30の機械学習では、機械学習部114は、学習用基準画像501、学習用真値情報503、及び各学習データセット51について、上記演算処理により推定器32から得られる出力値と正解情報55との間の誤差が小さくなるように、各抽出器(31、35)、結合器36、及び推定器32の各演算パラメータの値の調節を繰り返す。この学習モデル30の機械学習では、各抽出器(31、35)の各演算パラメータの値の調整は省略されてもよい。これにより、学習済みの学習モデル30を生成することができる。
保存処理部115は、機械学習により生成された学習済み推定モデル3(抽出器31及び推定器32)、学習済み抽出器35、及び学習済み結合器36を再生するための学習結果データ125を生成する。それぞれを再生可能であれば、学習結果データ125の構成は任意であってよい。例えば、保存処理部115は、生成された学習済み推定モデル3、学習済み抽出器35、及び学習済み結合器36の演算パラメータの値を示す情報を学習結果データ125として生成する。場合によって、学習結果データ125には、それぞれの構造を示す情報が更に含まれてよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。保存処理部115は、生成された学習結果データ125を所定の記憶領域に保存する。
なお、本実施形態では、説明の便宜上、各抽出器(31、35)、推定器32及び結合器36の機械学習の結果が一つの学習結果データ125として保存される例を説明する。しかしながら、学習結果データ125の保存形式は、このような例に限定されなくてもよい。各抽出器(31、35)、推定器32及び結合器36の機械学習の結果は別々のデータとして保存されてもよい。
<視線推定装置>
図5A及び図5Bは、本実施形態に係る視線推定装置2のソフトウェア構成の一例を模式的に例示する。視線推定装置2の制御部21は、記憶部22に記憶された視線推定プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された視線推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5A及び図5Bに示されるとおり、本実施形態に係る視線推定装置2は、情報取得部211、画像取得部212、推定部213、及び出力部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、視線推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
図5A及び図5Bは、本実施形態に係る視線推定装置2のソフトウェア構成の一例を模式的に例示する。視線推定装置2の制御部21は、記憶部22に記憶された視線推定プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された視線推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5A及び図5Bに示されるとおり、本実施形態に係る視線推定装置2は、情報取得部211、画像取得部212、推定部213、及び出力部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、視線推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
情報取得部211は、所定の方向を視る対象者Rの目の視線に関する特徴情報602及び対象者Rの目の視る所定の方向の真値を示す真値情報603を含む較正情報60を取得する。図5Aに示されるとおり、本実施形態では、情報取得部211は、学習結果データ125を保持していることで、学習済みの抽出器35及び結合器36を有している。情報取得部211は、所定の方向を視る対象者Rの目の写る基準画像601を取得する。情報取得部211は、取得された基準画像を学習済みの抽出器35に入力し、当該抽出器35の演算処理を実行する。これにより、情報取得部211は、基準画像601に関する特徴量6021に対応する出力値を抽出器35から取得する。特徴量6021は、第2特徴量の一例である。本実施形態では、特徴情報602は、この特徴量6021により構成される。また、情報取得部211は、真値情報603を取得する。そして、情報取得部211は、取得された特徴量6021及び真値情報603を学習済みの結合器36に入力し、当該結合器36の演算処理を実行する。これにより、情報取得部211は、特徴情報602及び真値情報603の結合により導出される較正に関する特徴量604に対応する出力値を結合器36から取得する。特徴量604は、較正特徴量の一例である。本実施形態では、較正情報60は、この特徴量604により構成される。情報取得部211は、これらの演算処理により、学習済みの抽出器35及び結合器36を利用して、較正情報60(特徴量604)を取得することができる。
なお、上記学習済み推定モデル3の生成過程に対応して、較正情報60は、複数の異なる所定の方向それぞれに対応する特徴情報602及び真値情報603を含んでもよい。この場合、上記生成過程と同様に、情報取得部211は、複数の異なる所定の方向それぞれについて基準画像601及び真値情報603を取得してもよい。情報取得部211は、各基準画像601を学習済みの抽出器35に入力し、抽出器35の演算処理を実行することで、各特徴量6021を抽出器35から取得してもよい。続いて、情報取得部211は、取得された各特徴量6021及び各所定の方向についての真値情報603を学習済みの結合器36に入力し、結合器36の演算処理を実行してもよい。これにより、情報取得部211は、較正に関する特徴量604を結合器36から取得してもよい。この場合、特徴量604には、複数の異なる所定の方向それぞれの特徴情報602及び真値情報603を執着した情報が含まれ得る。ただし、特徴量604を取得する方法は、このような例に限定されなくてもよい。その他の一例として、上記生成過程に対応して、異なる所定の方向毎に特徴量604を算出するようにしてもよい。この場合、特徴量604の算出には共通の結合器36が用いられてもよいし、異なる所定の方向毎に別々の結合器36が用いられてよい。
図5Bに示されるとおり、画像取得部212は、対象者Rの目の写る対象画像63を取得する。推定部213は、学習結果データ125を保持していることで、機械学習により生成された学習済み推定モデル3を有している。推定部213は、この学習済み推定モデル3を利用して、対象画像63に写る対象者Rの目の視線方向を推定する。この推定処理として、推定部213は、取得された対象画像63及び較正情報60を学習済み推定モデル3に入力し、学習済み推定モデル3の演算処理を実行する。これにより、推定部213は、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を学習済み推定モデル3から取得する。
学習済み推定モデル3の演算処理は、学習済み推定モデル3の構成に応じて適宜決定されてよい。本実施形態では、学習済み推定モデル3は、学習済みの抽出器31及び推定器32を備えている。まず、推定部213は、取得された対象画像63を学習済みの抽出器31に入力し、抽出器31の演算処理を実行する。この演算処理により、推定部213は、対象画像63に関する特徴量64に対応する出力値を抽出器31から取得する。特徴量64は、第1特徴量の一例である。上記特徴量6021及び特徴量64はそれぞれ、画像特徴量と読み替えてもよい。続いて、推定部213は、情報取得部211により取得された特徴量604及び抽出器31から取得された特徴量64を推定器32に入力し、推定器32の演算処理を実行する。本実施形態では、学習済み推定モデル3の演算処理を実行することは、これらの抽出器31及び推定器32の演算処理を実行することにより構成される。これらの演算処理の結果、推定部213は、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を推定器32から得ることができる。出力部214は、対象者Rの視線方向を推定した結果に関する情報を出力する。
<その他>
モデル生成装置1及び視線推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び視線推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。すなわち、上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び視線推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
モデル生成装置1及び視線推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び視線推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。すなわち、上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び視線推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[モデル生成装置]
図6は、本実施形態に係るモデル生成装置1の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、モデル生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[モデル生成装置]
図6は、本実施形態に係るモデル生成装置1の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、モデル生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、収集部111として動作し、複数の学習用のデータセット120を被験者から収集する。各データセット120は、被験者の目の写る学習画像121、及び当該学習画像121に写る被験者の視線方向の真値を示す正解情報123の組み合わせにより構成される。
ステップS101では、制御部11は、収集部111として動作し、複数の学習用のデータセット120を被験者から収集する。各データセット120は、被験者の目の写る学習画像121、及び当該学習画像121に写る被験者の視線方向の真値を示す正解情報123の組み合わせにより構成される。
各データセット120は適宜生成されてよい。例えば、カメラS又はこれと同種のカメラ及び被験者を用意する。被験者の人数は適宜決定されてよい。被験者に様々な方向を視るように指示し、指示された方向を視る被験者の顔をカメラにより撮影する。これにより、学習画像121を取得することができる。学習画像121は、カメラにより得られたそのままの画像であってもよい。或いは、学習画像121は、カメラにより得られた画像に何らかの画像処理を適用することで生成されてもよい。取得された学習画像121に、被験者に指示した視線方向の真値を示す情報を正解情報123として関連付ける。複数の被験者が存在する場合、データセット120の由来を識別するために、被験者の識別子等の付加情報を更に関連付けてもよい。これらの処理により、各データセット120を生成することができる。なお、学習画像121及び正解情報123を取得する方法には、後述する基準画像601及び真値情報603を取得する方法(図8)と同種の方法が採用されてよい。
各データセット120は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各データセット120の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。データセット120をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記生成処理を実行することで、複数のデータセット120を取得する。一方、各データセット120を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数のデータセット120を取得する。一部のデータセット120がモデル生成装置1により生成され、その他のデータセット120が1又は複数の他のコンピュータにより生成されてもよい。
取得するデータセット120の件数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。複数のデータセット120を取得すると、制御部11は、次のステップS102に処理を進める。
(ステップS102)
ステップS102では、制御部11は、機械学習部114として動作し、収集された複数のデータセット120を使用して、学習モデル4の機械学習を実施する。この機械学習では、制御部11は、各データセット120について、学習画像121を抽出器41に入力することにより推定器43から得られる出力値(視線方向の推定結果)が、対応する正解情報123に適合するものとなるように、抽出器41及び推定器43を訓練する。なお、必ずしも収集された全てのデータセット120が学習モデル4の機械学習に使用されなければならない訳ではない。学習モデル4の機械学習に使用されるデータセット120は適宜選択されてよい。
ステップS102では、制御部11は、機械学習部114として動作し、収集された複数のデータセット120を使用して、学習モデル4の機械学習を実施する。この機械学習では、制御部11は、各データセット120について、学習画像121を抽出器41に入力することにより推定器43から得られる出力値(視線方向の推定結果)が、対応する正解情報123に適合するものとなるように、抽出器41及び推定器43を訓練する。なお、必ずしも収集された全てのデータセット120が学習モデル4の機械学習に使用されなければならない訳ではない。学習モデル4の機械学習に使用されるデータセット120は適宜選択されてよい。
一例として、まず、制御部11は、機械学習の処理対象となる抽出器41及び推定器43それぞれを構成するニューラルネットワークを用意する。各ニューラルネットワークの構造(例えば、層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習により得られた学習結果データに基づいて、抽出器41及び推定器43を用意してもよい。
次に、制御部11は、各データセット120の学習画像121を訓練データ(入力データ)として使用し、正解情報123を教師データ(教師信号、ラベル)として使用し、抽出器41及び推定器43の訓練処理を実行する。この訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
例えば、制御部11は、学習画像121を抽出器41に入力し、抽出器41の演算処理を実行する。すなわち、制御部11は、抽出器41の入力層(図4Aの例では、最も入力側に配置された畳み込み層411)に学習画像121を入力し、入力側から順に、例えば、ニューロンの発火判定等の各層(411、412)の順伝播の演算処理を実行する。この演算処理により、制御部11は、学習画像121から抽出された特徴量に対応する出力値を抽出器41の出力層(図4Aの例では、最も出力側に配置されたプーリング層412)から取得する。
続いて、制御部11は、抽出器41の演算処理と同様に、得られた出力値(特徴量)を推定器43の入力層(最も入力側に配置された全結合層431)に入力し、推定器43の順伝播の演算処理を実行する。この演算処理により、制御部11は、学習画像121に写る被験者の視線方向を推定した結果に対応する出力値を推定器43の出力層(最も出力側に配置された全結合層431)から取得する。
次に、制御部11は、推定器43の出力層から得られた出力値と正解情報123との間の誤差を算出する。誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層から得られる出力値と正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、抽出器41及び推定器43の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を出力側から順に算出する。制御部11は、算出された各誤差に基づいて、抽出器41及び推定器43の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
制御部11は、上記一連の更新処理により、各データセット120について、算出される出力値の誤差の和が小さくなるように、抽出器41及び推定器43の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の更新処理による抽出器41及び推定器43の各演算パラメータの値の調節を繰り返してもよい。
この機械学習の結果、制御部11は、各データセット120について、学習画像121に写る被験者の視線方向を適切に推定する能力を獲得した訓練済みの学習モデル4を生成することができる。また、訓練済みの抽出器41の出力(すなわち、特徴量)には、推定器43において被験者の視線方向を適切に推定可能なように、学習画像121に含まれる被験者の目に関する成分が含まれるようになる。学習モデル4の機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部11は、抽出器41の学習結果を利用して、推定モデル3を含む学習モデル30を用意する。
ステップS103では、制御部11は、抽出器41の学習結果を利用して、推定モデル3を含む学習モデル30を用意する。
本実施形態では、制御部11は、抽出器41の学習結果に基づいて、各抽出器(31、35)を用意する。すなわち、制御部11は、ステップS102により生成された訓練済みの抽出器41又はその複製を各抽出器(31、35)として利用する。各抽出器(31、35)を別々に用意する場合、又は、所定の方向が複数設定され、設定された異なる所定の方向毎に抽出器35を別々の用意する場合、上記ステップS102では、制御部11は、別個の学習モデル4を用意し、それぞれの機械学習を実施してもよい。そして、制御部11は、それぞれの機械学習により生成された訓練済みの抽出器41又はその複製を、各抽出器(31、35)に利用してもよい。
また、制御部11は、推定器32及び結合器36それぞれを構成するニューラルネットワークを用意する。上記抽出器41等と同様に、推定器32及び結合器36それぞれを構成するニューラルネットワークの構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習により得られた学習結果データに基づいて、推定器32及び結合器36を用意してもよい。各抽出器(31、35)、推定器32及び結合器36により構成される学習モデル30を用意すると、制御部11は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部11は、第1取得部112として動作し、学習用特徴情報502及び学習用真値情報503を含む学習用較正情報50を取得する。
ステップS104では、制御部11は、第1取得部112として動作し、学習用特徴情報502及び学習用真値情報503を含む学習用較正情報50を取得する。
本実施形態では、制御部11は、抽出器35及び結合器36を利用して、学習用較正情報50を取得する。具体的には、制御部11は、まず、所定の方向を視る被験者の目の写る学習用基準画像501及びその学習用基準画像501に写る被験者の視る所定の方向(視線方向)の真値を示す学習用真値情報503を取得する。制御部11は、所定の方向を視る被験者について得られたデータセット120に含まれる学習画像121を学習用基準画像501として取得し、正解情報123を学習用真値情報503として取得してもよい。或いは、制御部11は、学習用基準画像501及び学習用真値情報503をデータセット120とは別に取得してもよい。学習用基準画像501及び学習用真値情報503を取得する方法は、データセット120を生成する方法と同様であってよい。
次に、制御部11は、取得された学習用基準画像501を抽出器35の入力層(図4Bの例では、最も入力側に配置された畳み込み層351)に入力し、抽出器35の順伝播の演算処理を実行する。この演算処理により、制御部11は、学習用基準画像501に関する特徴量5021(学習用特徴情報502)に対応する出力値を抽出器35の出力層(図4Bの例では、最も出力側に配置されたプーリング層352)から取得する。続いて、制御部11は、取得された特徴量5021及び学習用真値情報503を結合器36の入力層(最も入力側に配置された全結合層361)に入力し、結合器36の順伝播の演算処理を実行する。この演算処理により、制御部11は、較正に関する特徴量504に対応する出力値を結合器36の出力層(最も出力側に配置された全結合層361)から取得する。
本実施形態では、制御部11は、これらの演算処理により、抽出器35及び結合器36を利用して、特徴量504により構成される学習用較正情報50を取得することができる。なお、上記のとおり、所定の方向が複数設定される場合、制御部11は、複数の異なる所定の方向それぞれについて学習用基準画像501及び学習用真値情報503を取得してもよい。そして、制御部11は、それぞれについて抽出器35及び結合器36の演算処理を実行することで、複数の異なる所定の方向それぞれの学習用特徴情報502及び学習用真値情報503を含む学習用較正情報50を取得してもよい。学習用較正情報50を取得すると、制御部11は、次のステップS105に処理を進める。
(ステップS105)
ステップS105では、制御部11は、第2取得部113として動作し、学習用対象画像53及び正解情報55の組み合わせによりそれぞれ構成される複数の学習データセット51を取得する。
ステップS105では、制御部11は、第2取得部113として動作し、学習用対象画像53及び正解情報55の組み合わせによりそれぞれ構成される複数の学習データセット51を取得する。
本実施形態では、制御部11は、収集された複数のデータセット120の少なくともいずれかを学習データセット51として使用してもよい。すなわち、制御部11は、データセット120の学習画像121を学習データセット51の学習用対象画像53として取得し、データセット120の正解情報123を学習データセット51の正解情報55として取得してもよい。或いは、制御部11は、各学習データセット51を上記データセット120とは別に取得してもよい。各学習データセット51を取得する方法は、データセット120を生成する方法と同様であってよい。
取得する学習データセット51の件数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。複数の学習データセット51を取得すると、制御部11は、次のステップS106に処理を進める。なお、ステップS105の処理を実行するタイミングは、このような例に限定されなくてもよい。後述するステップS106の処理を実行する前であれば、ステップS105の処理は任意のタイミングで実行されてよい。
(ステップS106)
ステップS106では、制御部11は、機械学習部114として動作し、取得された複数の学習データセット51を使用して、推定モデル3の機械学習を実施する。この機械学習では、制御部11は、各学習データセット51について、学習用対象画像53及び学習用較正情報50の入力に対して、対応する正解情報55に適合する出力値を出力するように推定モデル3を訓練する。
ステップS106では、制御部11は、機械学習部114として動作し、取得された複数の学習データセット51を使用して、推定モデル3の機械学習を実施する。この機械学習では、制御部11は、各学習データセット51について、学習用対象画像53及び学習用較正情報50の入力に対して、対応する正解情報55に適合する出力値を出力するように推定モデル3を訓練する。
本実施形態では、制御部11は、各学習データセット51の学習用対象画像53、学習用基準画像501、及び学習用真値情報503を訓練データとして使用し、各学習データセット51の正解情報55を教師データとして使用し、推定モデル3を含む学習モデル30の訓練処理を実行する。この訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
例えば、制御部11は、各学習データセット51に含まれる学習用対象画像53を抽出器31の入力層(図4Bの例では、最も入力側に配置された畳み込み層311)に入力し、抽出器31の順伝播の演算処理を実行する。この演算処理により、制御部11は、学習用対象画像53から抽出された特徴量54に対応する出力値を抽出器31の出力層(図4Bの例では、最も出力側に配置されたプーリング層312)から取得する。
続いて、制御部11は、結合器36から得られた特徴量504及び抽出器31から得られた特徴量54を推定器32の入力層(最も入力側に配置された全結合層321)に入力し、推定器32の順伝播の演算処理を実行する。この演算処理により、制御部11は、学習用対象画像53に写る被験者の視線方向を推定した結果に対応する出力値を推定器32の出力層(最も出力側に配置された全結合層321)から取得する。
次に、制御部11は、推定器32の出力層から得られた出力値と対応する正解情報55との間の誤差を算出する。上記学習モデル4の機械学習と同様に、誤差の算出には、任意の損失関数が用いられてよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、各抽出器(31、35)、結合器36、及び推定器32の各演算パラメータの値の誤差を出力側から順に算出する。制御部11は、算出された各誤差に基づいて、各抽出器(31、35)、結合器36、及び推定器32の各演算パラメータの値を更新する。上記学習モデル4の機械学習と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
制御部11は、上記ステップS104の特徴量504の算出及び上記推定モデル3の演算処理を伴いながら、上記一連の更新処理を実行する。これにより、制御部11は、学習用基準画像501、学習用真値情報503、及び各学習データセット51について、算出される出力値の誤差の和が小さくなるように、各抽出器(31、35)、結合器36、及び推定器32の各演算パラメータの値を調節する。上記学習モデル4の機械学習と同様に、所定の条件を満たすまで、制御部11は、上記一連の更新処理による各抽出器(31、35)、結合器36、及び推定器32の各演算パラメータの値の調節を繰り返してもよい。
なお、上記のとおり、同一の被験者から得られた学習用基準画像501、学習用真値情報503及び複数の学習データセット51が学習モデル30の機械学習に使用されるように、それぞれの由来である被験者が識別されてもよい。また、各抽出器(31、35)は、上記学習モデル4の機械学習により、人物の視線方向を推定可能な成分を含む特徴量を画像から抽出する能力を獲得するように訓練されている。そのため、上記更新処理において、各抽出器(31、35)の各演算パラメータの値を調節する処理は省略されてよい。また、上記ステップS104の処理は、推定器32の演算処理を実行する前の任意のタイミングで実行されてよい。例えば、抽出器31の演算処理を実行した後に、上記ステップS104の処理が実行されてもよい。
この機械学習の結果、制御部11は、各学習データセット51について、学習用基準画像501、学習用真値情報503、及び学習用対象画像53から人物の視線方向を適切に推定する能力を獲得した訓練済みの学習モデル30を生成することができる。すなわち、制御部11は、各学習データセット51に対して、人物の視線方向の推定に有益な較正特徴量を導出する能力を獲得した学習済み結合器36を生成することができる。また、制御部11は、各学習データセット51について、抽出器31により得られる画像の特徴量及び結合器36により得られる較正特徴量から対応する画像に写る人物の視線方向を適切に推定する能力を獲得した学習済み推定器32を生成することができる。学習モデル30の機械学習が完了すると、制御部11は、次のステップS107に処理を進める。
(ステップS107)
ステップS107では、制御部11は、保存処理部115として動作し、機械学習により生成された学習済みの学習モデル30(推定モデル3、抽出器35、及び結合器36)に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
ステップS107では、制御部11は、保存処理部115として動作し、機械学習により生成された学習済みの学習モデル30(推定モデル3、抽出器35、及び結合器36)に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。
学習結果データ125の保存が完了すると、制御部11は、本動作例に係る処理を終了する。
なお、生成された学習結果データ125は、任意のタイミングで視線推定装置2に適用されてよい。例えば、制御部11は、ステップS107の処理として又はステップS107の処理とは別に、学習結果データ125を視線推定装置2に転送してもよい。視線推定装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、例えば、視線推定装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、視線推定装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、視線推定装置2に予め組み込まれてもよい。
更に、制御部11は、上記ステップS101~ステップS107(又はステップS104~ステップS107)の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに作成してもよい。この繰り返しの際に、機械学習に使用するデータの少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で視線推定装置2に提供することで、視線推定装置2の保持する学習結果データ125を更新してもよい。
[視線推定装置]
図7は、本実施形態に係る視線推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、視線推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
図7は、本実施形態に係る視線推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、視線推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、制御部21は、情報取得部211として動作し、特徴情報602及び真値情報603を含む較正情報60を取得する。
ステップS201では、制御部21は、情報取得部211として動作し、特徴情報602及び真値情報603を含む較正情報60を取得する。
図8は、較正情報60を取得する方法の一例を模式的に例示する。本実施形態では、まず、制御部21は、対象者Rに所定の方向を視るように指示を出力する。図8の例では、出力装置26は、ディスプレイ261を含む。制御部21は、ディスプレイ261上、所定の方向に対応する位置にマーカMを表示する。そして、制御部21は、対象者Rに対して、ディスプレイ261に表示されたマーカMの方を視るように指示を出力する。指示の出力形式は、実施の形態に応じて適宜選択されてよい。出力装置26がスピーカを含む場合、指示の出力は、スピーカを介して音声により行われてもよい。また、出力装置26がディスプレイ261等の表示装置を含む場合、指示の出力は、表示装置を介して画像表示により行われてもよい。この指示を出力した後、制御部21は、マーカMの方を視る対象者Rの顔をカメラSにより撮影する。カメラSは、対象者Rの視線を観測可能なセンサの一例である。これにより、制御部21は、所定の方向を視る対象者の目の写る基準画像601を取得することができる。また、制御部21は、出力する指示に応じて真値情報603を当然に取得することができる。
なお、所定の方向の指標は、ディスプレイ261上に表示するマーカMに限られなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、運転者の視線方向を推定する場面の例では、カメラSを設置する位置を決定すると、ルームミラー等の設置物とカメラSとの位置関係が規定される。このように、対象者Rの視線を観測するセンサに対して位置が規定される対象物が存在する場合、制御部21は、その対象物を視るように指示を出力してもよい。このように、対象者Rの視線を観測するセンサとの位置関係が規定される対象物が存在する場合、制御部21は、対象者Rに対して、その対象物を視るように指示を出力してもよい。この方法によれば、対象者Rの視線の個性が表れた基準画像601及び対応する真値情報603を適切かつ簡易に取得することができる。また、上記モデル生成の場面と視線方向を推定する本場面(運用の場面)とで所定の方向は完全には一致していなくてもよい。これに対応するために、複数の異なる所定の方向が設定され、運用の場面において、少なくともいずれかの所定の方向のデータ(本実施形態では、基準画像601及び真値情報603)が無作為に選択されてもよい。
次に、制御部21は、学習結果データ125を参照して、学習済みの抽出器35及び結合器36の設定を行う。制御部21は、取得された基準画像601を学習済みの抽出器35の入力層に入力し、抽出器35の順伝播の演算処理を実行する。この演算処理により、制御部21は、基準画像601に関する特徴量6021(特徴情報602)に対応する出力値を学習済みの抽出器35の出力層から取得する。続いて、制御部21は、取得された特徴量6021及び真値情報603を学習済みの結合器36の入力層に入力し、結合器36の順伝播の演算処理を実行する。この演算処理により、制御部21は、較正に関する特徴量604に対応する出力値を学習済みの結合器36の出力層から取得する。本実施形態では、制御部21は、これらの演算処理により、学習済みの抽出器35及び結合器36を利用して、特徴量604により構成される較正情報60を取得することができる。
なお、上記のとおり、学習済み推定モデル3の生成過程に対応して、較正情報60は、複数の異なる所定の方向それぞれに対応する特徴情報602及び真値情報603を含んでもよい。本実施形態では、制御部21は、異なる所定の方向毎に上記取得処理(図8)を実行することで、複数の異なる所定の方向それぞれの基準画像601及び真値情報603を取得してもよい。そして、制御部21は、それぞれについて学習済みの抽出器35及び結合器36の演算処理を実行することで、複数の異なる所定の方向それぞれの特徴情報602及び真値情報603を含む較正情報60(特徴量604)を取得してもよい。較正情報60を取得すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、画像取得部212として動作し、対象者Rの目の写る対象画像63を取得する。本実施形態では、制御部21は、外部インタフェース24を介して、対象者Rを撮影するようにカメラSの動作を制御する。これにより、制御部21は、視線方向の推定処理の対象となる対象画像63をカメラSから直接的に取得することができる。対象画像63は、動画像であってもよいし、静止画像であってもよい。ただし、対象画像63を取得する経路は、このような例に限定されなくてもよい。例えば、カメラSは、他のコンピュータにより制御されてよい。この場合、制御部21は、他のコンピュータを介してカメラSから間接的に対象画像63を取得してもよい。対象画像63を取得すると、制御部21は、次のステップS203に処理を進める。
ステップS202では、制御部21は、画像取得部212として動作し、対象者Rの目の写る対象画像63を取得する。本実施形態では、制御部21は、外部インタフェース24を介して、対象者Rを撮影するようにカメラSの動作を制御する。これにより、制御部21は、視線方向の推定処理の対象となる対象画像63をカメラSから直接的に取得することができる。対象画像63は、動画像であってもよいし、静止画像であってもよい。ただし、対象画像63を取得する経路は、このような例に限定されなくてもよい。例えば、カメラSは、他のコンピュータにより制御されてよい。この場合、制御部21は、他のコンピュータを介してカメラSから間接的に対象画像63を取得してもよい。対象画像63を取得すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、推定部213として動作し、学習済み推定モデル3を利用して、対象画像63に写る対象者Rの目の視線方向を推定する。この推定処理では、制御部21は、取得された対象画像63及び較正情報60を学習済み推定モデル3に入力し、学習済み推定モデル3の演算処理を実行する。これにより、制御部21は、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を学習済み推定モデル3から取得する。
ステップS203では、制御部21は、推定部213として動作し、学習済み推定モデル3を利用して、対象画像63に写る対象者Rの目の視線方向を推定する。この推定処理では、制御部21は、取得された対象画像63及び較正情報60を学習済み推定モデル3に入力し、学習済み推定モデル3の演算処理を実行する。これにより、制御部21は、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を学習済み推定モデル3から取得する。
本実施形態では、まず、制御部21は、学習結果データ125を参照して、学習済みの抽出器31及び推定器32の設定を行う。次に、制御部21は、取得された対象画像63を学習済みの抽出器31の入力層に入力し、抽出器31の順伝播の演算処理を実行する。この演算処理により、制御部21は、対象画像63に関する特徴量64に対応する出力値を学習済みの抽出器31の出力層から取得する。続いて、制御部21は、ステップS201により取得された特徴量604及び抽出器31から取得された特徴量64を学習済みの推定器32の入力層に入力し、推定器32の順伝播の演算処理を実行する。この演算処理により、制御部21は、対象画像63に写る対象者Rの目の視線方向を推定した結果に対応する出力値を学習済みの推定器32の出力層から取得することができる。すなわち、本実施形態では、対象画像63に写る対象者Rの視線方向を推定することは、対象画像63及び較正情報60を学習済み推定モデル3に与えて、学習済み推定モデル3の順伝播の演算処理を実行することにより達成される。なお、上記ステップS201の処理は、推定器32の演算処理を実行する前の任意のタイミングで実行されてよい。例えば、学習済みの抽出器31の演算処理を実行した後に、上記ステップS201の処理が実行されてよい。視線方向の推定処理が完了すると、制御部21は、次のステップS204に処理を進める。
(ステップS204)
ステップS204では、制御部21は、出力部214として動作し、対象者Rの視線方向を推定した結果に関する情報を出力する。
ステップS204では、制御部21は、出力部214として動作し、対象者Rの視線方向を推定した結果に関する情報を出力する。
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、視線方向を推定した結果を、例えば、RAM、記憶部22等のメモリ又は出力装置26にそのまま出力してもよい。制御部21は、視線方向を推定した結果をメモリに出力することで、対象者Rの視線方向の履歴を作成してもよい。
また、例えば、制御部21は、視線方向を推定した結果を利用して、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。一例として、車両を運転する運転者の状態を監視するために、運転者の視線方向を推定する場面を想定する。この場面では、制御部21は、推定される視線方向に基づいて、運転者がよそ見をしているか否かを判定してもよい。そして、よそ見をしていると判定される場合に、制御部21は、ステップS204の出力処理として、運転に適切な方向を視るように指示したり、車両の走行速度を落としたりする処理を実行してもよい。その他の一例として、ユーザインタフェースにおいて対象者Rの視線方向を推定する場面を想定する。この場面では、制御部21は、ステップS204の出力処理として、推定される視線方向に存在するアイコンに対応するアプリケーションを実行したり、推定される視線方向に存在する表示物が表示装置の中心に来るように表示範囲を変更したりする処理を実行してもよい。視線方向の推定結果に関する情報を出力すると、制御部21は、次のステップS205に処理を進める。
(ステップS205)
ステップS205では、視線方向の推定処理を繰り返すか否かを判定する。推定処理を繰り返すか否かを判定する基準は、実施の形態に応じて適宜決定されてよい。
ステップS205では、視線方向の推定処理を繰り返すか否かを判定する。推定処理を繰り返すか否かを判定する基準は、実施の形態に応じて適宜決定されてよい。
判定基準として、例えば、処理を繰り返す期間又は回数が設定されてもよい。この場合、制御部21は、視線方向を推定する処理を実行した期間又は回数が規定値に到達したか否かに応じて、視線方向の推定処理を繰り返すか否かを判定してもよい。すなわち、推定処理を実行した期間又は回数が規定値に到達していない場合、制御部21は、視線方向の推定処理を繰り返すと判定してもよい。他方、推定処理を実行した期間又は回数が規定値に到達した場合、制御部21は、視線方向の処理を繰り返さないと判定してもよい。
また、例えば、入力装置25を介して終了の指示が与えられるまで、制御部21は、視線方向の推定処理を繰り返してもよい。この場合、終了の指示が与えられていない間、制御部21は、視線方向の推定処理を繰り返すと判定してもよい。他方、終了の指示が与えられた後、制御部21は、視線方向の推定処理を繰り返さないと判定してもよい。
視線方向の推定処理を繰り返すと判定した場合、制御部21は、ステップS202に処理を戻し、対象画像63の取得処理(ステップS202)及び対象者Rの視線方向の推定処理(ステップS203)を繰り返し実行する。これにより、対象者Rの視線方向の推定を継続的に行うことができる。一方、視線方向の推定処理を繰り返さないと判定した場合、制御部21は、視線方向の推定処理の繰り返し実行を停止し、本動作例に係る処理手順を終了する。
ステップS201による較正情報60(特徴量604)の導出が済んでいれば、この較正情報60を更新しようとしない限り、視線方向の推定処理を実行する各サイクルで、既に導出された較正情報60を使い回すことができる。そのため、本実施形態のように、視線方向の推定処理を実行する各サイクルでステップS201の処理は省略されてよい。ただし、視線方向の推定処理を実行する全てのサイクルで、ステップS201の処理が必ず省略されなければならない訳ではない。較正情報60を更新する場合、任意のタイミングで、ステップS201の再度実行されてもよい。また、少なくとも一部のサイクルにおいて、ステップS204の処理は省略されてよい。
[特徴]
以上のとおり、本実施形態では、ステップS203において、対象者Rの視線方向を推定するのに、対象者Rの目の写る対象画像63だけではなく、特徴情報602及び真値情報603を含む較正情報60を利用する。特徴情報602及び真値情報603によれば、真値により既知の方向についての対象者Rの視線の個性を把握することができる。したがって、本実施形態によれば、較正情報60から把握可能な被験者及び対象者Rの間の個人差を考慮した上で、対象画像63に写る対象者Rの視線方向を推定することができる。そのため、ステップS203における対象者Rの視線方向を推定する精度の向上を図ることができる。較正情報60の利用により、斜視等により視線方向に目が向かない対象者Rについても、視線方向の推定精度の向上が期待できる。また、本実施形態では、較正情報60が、複数の異なる所定の方向それぞれに対応する特徴情報602及び真値情報603を含むようにしてもよい。これにより、複数の異なる所定の方向について較正情報60から対象者Rの視線の個性をより正確に把握可能である。そのため、対象者Rの視線方向を推定する精度の更なる向上を図ることができる。本実施形態に係るモデル生成装置1によれば、ステップS101~ステップS107の処理により、そのような高精度に対象者Rの視線方向を推定可能な学習済み推定モデル3を生成することができる。
以上のとおり、本実施形態では、ステップS203において、対象者Rの視線方向を推定するのに、対象者Rの目の写る対象画像63だけではなく、特徴情報602及び真値情報603を含む較正情報60を利用する。特徴情報602及び真値情報603によれば、真値により既知の方向についての対象者Rの視線の個性を把握することができる。したがって、本実施形態によれば、較正情報60から把握可能な被験者及び対象者Rの間の個人差を考慮した上で、対象画像63に写る対象者Rの視線方向を推定することができる。そのため、ステップS203における対象者Rの視線方向を推定する精度の向上を図ることができる。較正情報60の利用により、斜視等により視線方向に目が向かない対象者Rについても、視線方向の推定精度の向上が期待できる。また、本実施形態では、較正情報60が、複数の異なる所定の方向それぞれに対応する特徴情報602及び真値情報603を含むようにしてもよい。これにより、複数の異なる所定の方向について較正情報60から対象者Rの視線の個性をより正確に把握可能である。そのため、対象者Rの視線方向を推定する精度の更なる向上を図ることができる。本実施形態に係るモデル生成装置1によれば、ステップS101~ステップS107の処理により、そのような高精度に対象者Rの視線方向を推定可能な学習済み推定モデル3を生成することができる。
また、本実施形態では、基準画像601及び真値情報603をそのまま較正情報60として利用するのではなく、基準画像601から特徴量6021を抽出し、得られた特徴情報602及び真値情報603を結合することで導出される特徴量604を較正情報60として利用する。これにより、較正情報60の情報量を低減することができる。また、本実施形態では、特徴量604の導出は、ステップS201の処理内で実行される。対象者Rの視線方向を推定する処理を繰り返す場合に、導出された特徴量604を各サイクルで使い回すことができる。これらにより、ステップS203の処理コストを抑えることができる。したがって、本実施形態によれば、ステップS203における対象者Rの視線方向を推定する処理の高速化を図ることができる。
なお、学習済みの抽出器35により、所定の方向を視る対象者Rの視線の特徴に関する成分を含む特徴量6021(特徴情報602)を基準画像601から適切に抽出することができる。また、学習済みの結合器36により、所定の方向を視る対象者Rの視線の特徴及びその所定の方向の真値が集約された成分を含む特徴量604を特徴量6021及び真値情報603から適切に導出可能である。そのため、学習済み推定モデル3において、特徴量604及び対象画像63から対象者Rの視線方向を適切に推定可能である。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、較正情報60の取得にカメラSを利用している。しかしながら、対象者Rの視線を観測するためのセンサは、このような例に限定されなくてもよい。センサは、対象者Rの視線の特徴を観測可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。センサには、例えば、コイルを内包した強膜コンタクトレンズ、眼電位センサ等が用いられてよい。この場合、視線推定装置2は、上記実施形態と同様に、対象者Rに所定の方向を視るように指示を出力した後に、対象者Rの視線をセンサにより観測してもよい。この観測により得られたセンシングデータから特徴情報602を取得することができる。特徴情報602の取得には、例えば、サーチコイル法、EOG(electro-oculogram)法等が用いられてよい。
上記実施形態では、較正情報60の取得にカメラSを利用している。しかしながら、対象者Rの視線を観測するためのセンサは、このような例に限定されなくてもよい。センサは、対象者Rの視線の特徴を観測可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。センサには、例えば、コイルを内包した強膜コンタクトレンズ、眼電位センサ等が用いられてよい。この場合、視線推定装置2は、上記実施形態と同様に、対象者Rに所定の方向を視るように指示を出力した後に、対象者Rの視線をセンサにより観測してもよい。この観測により得られたセンシングデータから特徴情報602を取得することができる。特徴情報602の取得には、例えば、サーチコイル法、EOG(electro-oculogram)法等が用いられてよい。
<4.2>
上記実施形態では、推定モデル3は、抽出器31及び推定器32により構成されている。較正情報60は、抽出器35及び結合器36を利用して、基準画像601及び真値情報603から導出される特徴量604により構成される。推定器32は、結合器36により導出される特徴量604及び対象画像63に関する特徴量64の入力を受け付けるように構成されている。しかしながら、推定モデル3及び較正情報60の構成は、このような例に限定されなくてもよい。
上記実施形態では、推定モデル3は、抽出器31及び推定器32により構成されている。較正情報60は、抽出器35及び結合器36を利用して、基準画像601及び真値情報603から導出される特徴量604により構成される。推定器32は、結合器36により導出される特徴量604及び対象画像63に関する特徴量64の入力を受け付けるように構成されている。しかしながら、推定モデル3及び較正情報60の構成は、このような例に限定されなくてもよい。
例えば、推定モデル3は、結合器36を更に備えてもよい。この場合、較正情報60は、特徴情報602及び真値情報603により構成されてよい。ステップS201の処理は、基準画像601を取得すること、基準画像601を抽出器35に入力し、抽出器35の演算処理を実行することで、基準画像601に関する特徴量6021(特徴情報602)を取得すること、及び真値情報603を取得することにより構成されてよい。ステップS203の処理は、結合器36を利用して、特徴量6021及び真値情報603から特徴量604を導出する処理を更に含んでもよい。
また、例えば、推定モデル3は、抽出器35及び結合器36を更に備えてもよい。この場合、特徴情報602は、基準画像601により構成されてよい。ステップS201の処理は、基準画像601及び真値情報603を取得することにより構成されてよい。較正情報60は、基準画像601及び真値情報603により構成されてよい。ステップS203の処理は、抽出器35及び結合器36を利用して、基準画像601及び真値情報603から特徴量604を導出する処理を更に含んでよい。
また、例えば、視線推定装置2において、抽出器35は省略されてよい。この場合、制御部21は、特徴情報602を直接的に取得してもよい。一例として、特徴情報602が特徴量6021により構成される場合、基準画像601から特徴量6021を抽出する処理は、他のコンピュータにより実行されてよい。制御部21は、他のコンピュータから特徴量6021を取得してもよい。その他の一例として、特徴情報602は基準画像601により構成されてよい。これに応じて、結合器36は、基準画像601及び真値情報603の入力を受け付けるように構成されてもよい。
図9は、第1変形例に係る推定モデル3Aを生成するモデル生成装置1のソフトウェア構成の一例を模式的に例示する。図10は、第1変形例に係る推定モデル3Aを利用する視線推定装置2のソフトウェア構成の一例を模式的に例示する。この第1変形例では、結合器36が省略される。これに応じて、モデル生成装置1及び視線推定装置2の処理手順において、特徴情報及び真値情報から較正特徴量を導出する処理が省略される。推定器32Aは、特徴情報、真値情報、及び対象画像に関する特徴量の入力を受け付けるように構成される。すなわち、推定器32Aには、較正特徴量ではなく、特徴情報及び真値情報が直接的に入力される。これらの点を除き、第1変形例は、上記実施形態と同様に構成される。推定器32Aは、上記実施形態と同様に、1又は複数の全結合層321Aを備える。推定モデル3Aは、抽出器31及び推定器32Aにより構成される。
図9に示されるとおり、この第1変形例では、モデル生成装置1は、上記結合器36の訓練処理を省略する点を除き、上記実施形態と同様の処理手順により、学習済みの推定モデル3A(抽出器31及び推定器32A)及び抽出器35を生成することができる。上記ステップS107では、制御部11は、機械学習により生成された学習済みの推定モデル3A及び抽出器35に関する情報を学習結果データ125Aとして生成する。そして、制御部11は、生成された学習結果データ125Aを所定の記憶領域に保存する。学習結果データ125Aは、任意のタイミングで視線推定装置2に提供されてよい。
同様に、図10に示されるとおり、視線推定装置2は、上記結合器36の演算処理を省略する点を除き、上記実施形態と同様の処理手順により、対象者Rの視線方向を推定することができる。上記ステップS201では、制御部21は、基準画像601及び真値情報603を取得する。制御部21は、取得された基準画像601を抽出器35に入力し、抽出器35の演算処理を実行する。これにより、制御部21は、基準画像601に関する特徴量6021(特徴情報602)に対応する出力値を抽出器35から取得する。第1変形例では、較正情報60は、特徴量6021(特徴情報602)及び真値情報603により構成される。
上記ステップS203では、制御部21は、学習済みの推定モデル3Aを利用して、対象画像63に写る対象者Rの視線方向を推定する。具体的に、制御部21は、取得された対象画像63を抽出器31に入力し、抽出器31の演算処理を実行する。この演算処理により、制御部21は、対象画像63に関する特徴量64を抽出器31から取得する。次に、制御部21は、特徴量6021(特徴情報602)、真値情報603、及び特徴量64を推定器32Aに入力し、推定器32Aの演算処理を実行する。この演算処理により、制御部21は、対象画像63に写る対象者Rの視線方向を推定した結果に対応する出力値を推定器32Aから取得することができる。
第1変形例によれば、上記実施形態と同様に、学習済み推定モデル3Aにおいて、特徴情報602(特徴量6021)、真値情報603、及び対象画像63から対象者Rの視線方向を適切に推定可能である。特徴情報602及び真値情報603を利用することで、ステップS203における対象者Rの視線方向を推定する精度の向上を図ることができる。また、対象者Rの視線方向を推定する処理を繰り返す場合に、ステップS201により導出された特徴量6021(特徴情報602)を各サイクルで使い回すことができる。この分だけ、ステップS203における対象者Rの視線方向を推定する処理の高速化を図ることができる。
なお、この第1変形例でも、視線推定装置2において、抽出器35が省略されてよい。この場合、制御部21は、上記と同様に、特徴情報602を直接的に取得してもよい。特徴情報602が基準画像601により構成される場合、推定器32Aは、基準画像601、真値情報603、及び特徴量64の入力を受け付けるように構成されてもよい。
図11は、第2変形例に係る推定モデル3Bを生成するモデル生成装置1のソフトウェア構成の一例を模式的に例示する。図12は、第2変形例に係る推定モデル3Aを利用する視線推定装置2のソフトウェア構成の一例を模式的に例示する。この第2変形例では、推定モデル3Bは、抽出器35を更に含んでいる。すなわち、推定モデル3Bは、各抽出器(31、35)及び推定器32Bを備えている。これに応じて、特徴情報は、基準画像により構成される。これらの点を除き、第2変形例は、第1変形例と同様に構成される。推定器32Bは、上記推定器32Aと同様に構成される。推定器32Bは、上記第1変形例と同様に、1又は複数の全結合層321Bを備える。
図11に示されるとおり、この第2変形例では、モデル生成装置1は、上記第1変形例と同様の処理手順により、学習済みの推定モデル3Bを生成することができる。上記ステップS107では、制御部11は、機械学習により生成された学習済みの推定モデル3Bに関する情報を学習結果データ125Bとして生成する。そして、制御部11は、生成された学習結果データ125Bを所定の記憶領域に保存する。学習結果データ125Bは、任意のタイミングで視線推定装置2に提供されてよい。
同様に、図12に示されるとおり、視線推定装置2は、上記第1変形例と同様の処理手順により、対象者Rの視線方向を推定することができる。上記ステップS201では、制御部21は、基準画像601及び真値情報603を取得する。上記ステップS203では、制御部21は、学習済みの推定モデル3Bを利用して、対象画像63に写る対象者Rの視線方向を推定する。具体的に、制御部21は、取得された対象画像63を抽出器31に入力し、抽出器31の演算処理を実行する。この演算処理により、制御部21は、対象画像63に関する特徴量64を抽出器31から取得する。また、制御部21は、取得された基準画像601を抽出器35に入力し、抽出器35の演算処理を実行する。これにより、制御部21は、基準画像601に関する特徴量6021に対応する出力値を抽出器35から取得する。各抽出器(31、35)の処理順序は任意でよい。次に、制御部21は、特徴量6021、真値情報603、及び特徴量64を推定器32Bに入力し、推定器32Bの演算処理を実行する。この演算処理により、制御部21は、対象画像63に写る対象者Rの視線方向を推定した結果に対応する出力値を推定器32Bから取得することができる。
第2変形例によれば、上記実施形態と同様に、学習済み推定モデル3Bにおいて、基準画像601(特徴情報)、真値情報603、及び対象画像63から対象者Rの視線方向を適切に推定可能である。特徴情報及び真値情報603を利用することで、ステップS203における対象者Rの視線方向を推定する精度の向上を図ることができる。
図13A及び図13Bは、第3変形例に係る推定モデル3Cを生成するモデル生成装置1のソフトウェア構成の一例を模式的に例示する。図14は、第3変形例に係る推定モデル3Cを利用する視線推定装置2のソフトウェア構成の一例を模式的に例示する。この第3変形例では、特徴量等における視線方向の表現にヒートマップを用いる。ヒートマップは、人物の注視する方向を画像で表現する。ヒートマップの各画素の値は、例えば、その位置を人物が注視する程度に対応する。各画素の合計値を1に正規化すると、各画素の値は、その位置を人物が注視している確率を示すことができる。
これに応じて、図13A及び図13Bに示されるとおり、各抽出器(31、35、41)は、各変換器(31C、35C、41C)に置き換えられる。変換器31Cは、第1変換器の一例であり、変換器35Cは、第2変換器の一例である。各変換器(31C、35C、41C)は、人物の目の写る画像の入力を受け付け、入力された画像から導出される人物の視線方向に関するヒートマップを出力するように構成される。すなわち、各変換器(31C、35C、41C)は、人物の目の写る画像を視線方向に関するヒートマップに変換するように構成される。
図13Aに示されるとおり、学習モデル4において、抽出器41は変換器41Cに置き換えられ、推定器43は省略される。変換器41Cは、畳み込み層415、プーリング層416、アンプーリング層417、及び逆畳み込み層418を備える。アンプーリング層417は、プーリング層416のプーリング処理とは逆演算を行うように構成される。逆畳み込み層418は、畳み込み層415の畳み込み演算の逆演算を行うように構成される。
各層415~418の数は、実施の形態に応じて適宜決定されてよい。アンプーリング層417、及び逆畳み込み層418は、畳み込み層415及びプーリング層416よりも出力側に配置される。図13Aの例では、最も入力側に配置される畳み込み層415が入力層を構成しており、最も出力側に配置される逆畳み込み層418が出力層を構成している。ただし、変換器41Cの構造は、このような例に限定されなくてよく、実施の形態に応じて適宜決定されてよい。変換器41Cには、正規化層、ドロップアウト層等の他の種類の層が含まれてもよい。本変形例では、上記実施形態と同様に、変換器41Cの機械学習が先に実施され、訓練済みの変換器41Cが各変換器(31C、35C)に転用される。そのため、各変換器(31C、35C)の構造は、変換器41Cに由来する。なお、上記実施形態と同様に、各変換器(31C、35C)には、共通の変換器が用いられてもよいし、別個の変換器が用いられてよい。
また、図13B及び図14に示されるとおり、本変形例では、推定モデル3Cは、変換器31C及び推定器32Cを備える。特徴情報は、所定の方向を視る人物(対象者R)の目の写る基準画像から導出された、所定の方向を視る目の視線方向に関するヒートマップにより構成される。推定器32Cは、対象画像から導出されたヒートマップ、特徴情報、及び真値情報の入力を受け付け、対象画像に写る人物の視線方向を推定した結果に対応する出力値を出力するように構成される。また、本変形例では、特徴情報は、基準画像から導出された、所定の方向を視る目の視線方向に関するヒートマップにより構成される。真値情報は、所定の方向の真値に関するヒートマップに変換される。これに応じて、対象画像から導出されたヒートマップ、特徴情報、及び真値情報の入力を受け付けることは、対象画像から導出されたヒートマップ、基準画像から導出されたヒートマップ(特徴情報)、及び真値情報から得られたヒートマップを受け付けることにより構成される。
図13B及び図14の例では、推定器32Cは、入力側から順に、連結層325、畳み込み層326、及び変換層327を備える。連結層325は、入力される各ヒートマップを連結するように構成される。変換層327は、畳み込み層326から得られる出力を視線方向の推定結果に変換するように構成される。連結層325及び変換層327は、複数のニューロン(ノード)により適宜構成されてよい。なお、推定器32Cの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推定器32Cには、プーリング層、全結合層等の他の種類の層が含まれてもよい。これらの点を除き、第3変形例は、上記実施形態と同様に構成される。モデル生成装置1は、上記実施形態と同様の処理手順で、学習済み推定モデル3Cを生成する。また、視線推定装置2は、上記実施形態と同様の処理手順で、学習済み推定モデル3Cを利用して、対象者Rの視線方向を推定する。
(モデル生成装置の処理手順)
図13Aに示されるとおり、上記ステップS102では、制御部11は、複数のデータセット120を使用して、変換器41Cの機械学習を実施する。一例として、まず、制御部11は、各データセット120の学習画像121を変換器41Cに入力し、変換器41Cの演算処理を実行する。これにより、制御部11は、学習画像121から変換されたヒートマップに対応する出力値を変換器41Cから取得する。
図13Aに示されるとおり、上記ステップS102では、制御部11は、複数のデータセット120を使用して、変換器41Cの機械学習を実施する。一例として、まず、制御部11は、各データセット120の学習画像121を変換器41Cに入力し、変換器41Cの演算処理を実行する。これにより、制御部11は、学習画像121から変換されたヒートマップに対応する出力値を変換器41Cから取得する。
また、制御部11は、対応する正解情報123をヒートマップ129に変換する。正解情報123をヒートマップ129に変換する方法は、実施の形態に応じて適宜選択されてよい。例えば、制御部11は、変換器41Cにより出力するヒートマップと同サイズの画像を用意する。続いて、制御部11は、用意された画像において、正解情報123により示される視線方向の真値に対応する位置を中心にして、例えば、ガウス分布等の所定の分布を配置する。分布の最大値は、適宜決定されてよい。これにより、正解情報123をヒートマップ129に変換することができる。
次に、制御部11は、変換器41Cから得られた出力値とヒートマップ129との間の誤差を算出する。これ以降の機械学習の処理は、上記実施形態と同様であってよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、変換器41Cの各演算パラメータの値の誤差を出力側から順に算出し、算出された誤差に基づいて、各演算パラメータの値を更新する。
制御部11は、上記一連の更新処理により、各データセット120について、算出される出力値の誤差の和が小さくなるように、変換器41Cの各演算パラメータの値を調節する。所定の条件を満たすまで、制御部11は、変換器41Cの各演算パラメータの値の調節を繰り返してもよい。この機械学習の結果、制御部11は、各データセット120について、人物の目の写る画像をその目の視線方向に関するヒートマップに適切に変換する能力を獲得した訓練済みの変換器41Cを生成することができる。
次に、図13Bに示されるとおり、上記ステップS103では、制御部11は、変換器41Cを各変換器(31C、35C)に転用する。これにより、制御部11は、推定モデル3C及び変換器35Cにより構成される学習モデルを用意する。
上記ステップS104では、制御部11は、変換器35Cを利用して、学習用特徴情報502Cを取得する。具体的に、制御部11は、上記実施形態と同様に、学習用基準画像501及び学習用真値情報503を取得する。次に、制御部11は、取得された学習用基準画像501を変換器35Cに入力し、変換器35Cの演算処理を実行する。この演算処理により、制御部11は、学習用基準画像501から導出された、所定の方向を視る目の視線方向に関する学習用のヒートマップ5021Cに対応する出力値を変換器35Cから取得する。本変形例では、学習用特徴情報502Cは、このヒートマップ5021Cにより構成される。また、制御部11は、学習用真値情報503をヒートマップ5031に変換する。この変換には、上記正解情報123をヒートマップ129に変換する方法と同様の方法が用いられてよい。これらの演算処理により、制御部11は、2つのヒートマップ(5021C、5031)により構成される学習用の較正情報を取得することができる。上記実施形態と同様に、制御部11は、複数の異なる所定の方向それぞれについて学習用基準画像501及び学習用真値情報503を取得してもよい。そして、制御部11は、それぞれの演算処理を実行することで、複数の異なる所定の方向それぞれのヒートマップ(5021C、5031)を取得してもよい。上記ステップS105では、上記実施形態と同様に、制御部11は、複数の学習データセット51を取得する。
上記ステップS106では、制御部11は、取得された複数の学習データセット51を使用して、推定モデル3の機械学習を実施する。本変形例では、制御部11は、各学習データセット51の学習用対象画像53を変換器31Cに入力し、変換器31Cの演算処理を実行する。この演算処理により、制御部11は、学習用対象画像53から変換されたヒートマップ54Cに対応する出力値を変換器31Cから取得する。制御部11は、各ヒートマップ(5021C、5031、54C)を推定器32Cに入力し、推定器32Cの演算処理を実行する。この演算処理により、制御部11は、学習用対象画像53に写る被験者の視線方向を推定した結果に対応する出力値を推定器32Cから取得する。
次に、制御部11は、推定器32Cから得られた出力値と対応する正解情報55との間の誤差を算出する。これ以降の機械学習の処理は、上記実施形態と同様であってよい。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、学習モデルの各演算パラメータの値の誤差を出力側から順に算出し、算出された誤差に基づいて、各演算パラメータの値を更新する。
制御部11は、変換器35Cの演算処理及び推定モデル3Cの演算処理を伴いながら、上記一連の更新処理を実行することにより、学習用基準画像501、学習用真値情報503、及び各学習データセット51について、算出される出力値の誤差の和が小さくなるように、学習モデルの各演算パラメータの値の値を調節する。所定の条件を満たすまで、制御部11は、学習モデルの各演算パラメータの値の調節を繰り返してもよい。この機械学習の結果、制御部11は、各学習データセット51について、学習用基準画像501、学習用真値情報503、及び学習用対象画像53から人物の視線方向を適切に推定する能力を獲得した訓練済みの学習モデルを生成することができる。
なお、上記実施形態と同様に、同一の被験者から得られた学習用基準画像501、学習用真値情報503及び複数の学習データセット51が学習モデルの機械学習に使用されるように、それぞれの由来である被験者が識別されてもよい。また、各演算パラメータの値の調節を繰り返す間、学習用真値情報503から得られたヒートマップ5031は使い回されてよく、これによって、学習用真値情報503をヒートマップ5031に変換する処理は省略されてよい。学習用真値情報503は、予めヒートマップ5031に変換されていてもよい。また、各変換器(31C、35C)は、上記変換器41Cの機械学習により、人物の目の写る画像をその目の視線方向に関するヒートマップに変換する能力を獲得するように訓練されている。そのため、上記更新処理において、各変換器(31C、35C)の各演算パラメータの値を調節する処理は省略されてよい。この場合、各演算パラメータの値の調節を繰り返す間、各変換器(31C、35C)の演算結果は使い回されてよい。すなわち、各ヒートマップ(5021C、5031)を導出する演算は、繰り返し実行されなくてよい。
上記ステップS107では、制御部11は、機械学習により生成された学習済みの推定モデル3C及び変換器35Cに関する情報を学習結果データ125Cとして生成する。制御部11は、生成された学習結果データ125Cを所定の記憶領域に保存する。学習結果データ125Cは、任意のタイミングで視線推定装置2に提供されてよい。
(視線推定装置の処理手順)
図14に示されるとおり、本変形例では、学習結果データ125Cを保持することで、情報取得部211は、学習済み変換器35Cを有しており、推定部213は、学習済み推定モデル3Cを有している。学習済み推定モデル3Cは、学習済みの変換器31C及び推定器32Cを備えている。
図14に示されるとおり、本変形例では、学習結果データ125Cを保持することで、情報取得部211は、学習済み変換器35Cを有しており、推定部213は、学習済み推定モデル3Cを有している。学習済み推定モデル3Cは、学習済みの変換器31C及び推定器32Cを備えている。
上記ステップS201では、制御部21は、基準画像601及び真値情報603を取得する。制御部21は、取得された基準画像601を学習済み変換器35Cに入力し、変換器35Cの演算処理を実行する。これにより、制御部21は、基準画像601から導出された、所定の方向を視る目の視線方向に関するヒートマップ6021Cに対応する出力値を学習済み変換器35Cから取得する。ヒートマップ6021Cは、第2ヒートマップの一例である。本変形例では、特徴情報602Cは、このヒートマップ6021Cにより構成される。また、制御部21は、所定の方向の真値に関するヒートマップ6031に真値情報603を変換する。この変換には、上記正解情報123をヒートマップ129に変換する方法と同様の方法が用いられてよい。ヒートマップ6031は、第3ヒートマップの一例である。これにより、制御部21は、各ヒートマップ(6021C、6031)により構成される較正情報を取得することができる。なお、上記実施形態と同様に、制御部21は、複数の異なる所定の方向それぞれの基準画像601及び真値情報603を取得してもよい。そして、制御部21は、それぞれの演算処理を実行することで、複数の異なる所定の方向それぞれのヒートマップ(6021C、6031)を取得してもよい。
上記ステップS203では、制御部21は、学習済み推定モデル3Cを利用して、対象画像63に写る対象者Rの視線方向を推定する。具体的に、制御部21は、取得された対象画像63を学習済み変換器31Cに入力し、変換器31Cの演算処理を実行する。この演算処理により、制御部21は、対象画像63から導出された、対象者Rの視線方向に関するヒートマップ64Cに対応する出力値を学習済み変換器31Cから取得する。ヒートマップ64Cは、第1ヒートマップの一例である。次に、制御部21は、各ヒートマップ(6021C、6031、64)を学習済み推定器32Cに入力し、推定器32Cの演算処理を実行する。この演算処理により、制御部21は、対象画像63に写る対象者Rの視線方向を推定した結果に対応する出力値を学習済み推定器32Cから取得することができる。
第3変形例によれば、上記実施形態と同様に、学習済み推定モデル3Cにおいて、特徴情報602C、真値情報603、及び対象画像63から対象者Rの視線方向を適切に推定可能である。特徴情報602C及び真値情報603を利用することで、ステップS203における対象者Rの視線方向を推定する精度の向上を図ることができる。また、全結合層は、畳み込み層と比較して、パラメータの数が多くなりやすく、演算速度が低速になりやすい。これに対して、第3変形例によれば、全結合層を用いなくても、各変換器(31C、35C)及び推定器32Cを構成することができる。そのため、推定モデル3Cの情報量を比較的に小さくすることができ、かつ推定モデル3Cの処理速度の向上を図ることができる。更には、入力側のデータ形式として共通のヒートマップ形式を採用することにより、推定器32Cの構成を比較的に簡易にすることができ、推定器32C内で各情報(特徴情報、真値情報及び対象画像)を統合し易くすることで、推定器32Cの推定精度の向上を期待することができる。
なお、第3変形例において、推定モデル3Cの構成は、このような例に限定されなくてもよい。真値情報603は、ヒートマップ6031に変換されず、推定器32Cにそのまま入力されてもよい。特徴情報602Cは、ヒートマップ6021Cとは異なる形式で推定器32Cに入力されてもよい。例えば、特徴情報602Cは、上記実施形態と同様に、特徴量の形式で推定器32Cに入力されてもよい。推定器32Cに入力される前に、特徴情報602C及び真値情報603は結合されてよい。
また、推定器32Cは、ヒートマップの形式で視線方向の推定結果を出力してもよい。この場合、推定器32Cにおいて、変換層327は省略されてよい。制御部21は、ヒートマップの重心、最大値の画素の位置等に応じて、対象者Rの視線方向を特定してもよい。訓練用のヒートマップから数値化された値を推定することよりも、訓練用のヒートマップから真値のヒートマップを推定することの方が容易であり、高い推定精度を有する学習済みモデルを生成しやすい。そのため、入力側及び出力側のデータ形式として共にヒートマップを採用することで、推定モデル3Cによる視線方向の推定精度の向上を図ることができる。加えて、視線方向と共に対象者Rの顔の器官点を検出する場面を想定する。この場合、近年の検出方法では、顔の器官点の検出結果がヒートマップ形式で表現されることがある。この形態によれば、視線方向の推定結果を示すヒートマップを顔の器官点の検出結果を示すヒートマップにマージすることができ、それぞれの結果を単一表示で出力することができる。更に、それぞれの推定モデルを単一に構成することができ、リアルタイム性を高めることができる。なお、この形態においても、真値情報603及び特徴情報602Cの少なくともいずれかは、ヒートマップとは異なる形式で推定器32Cに入力されてもよい。
また、例えば、視線推定装置2において、変換器35Cは省略されてもよい。この場合、制御部21は、特徴情報602Cを直接的に取得してもよい。一例として、特徴情報602Cがヒートマップ6021Cにより構成される場合、基準画像601をヒートマップ6021Cに変換する処理は、他のコンピュータにより実行されてよい。制御部21は、他のコンピュータからヒートマップ6021Cを取得してもよい。その他の一例として、特徴情報602Cは、基準画像601により構成されてよい。これに応じて、推定器32Cは、基準画像601の入力を受け付けるように構成されてよい。
<4.3>
上記実施形態では、各抽出器(31、35、41)には、畳み込みニューラルネットワークが用いられている。各推定器(32、43)及び結合器36には、全結合型ニューラルネットワークが用いられている。しかしながら、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36に利用可能なニューラルネットワークの種類は、このような例に限定されなくてもよい。各抽出器(31、35、41)には、全結合型ニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。各推定器(32、43)及び結合器36には、畳み込みニューラルネットワーク、再帰型ニューラルネットワークが用いられてよい。
上記実施形態では、各抽出器(31、35、41)には、畳み込みニューラルネットワークが用いられている。各推定器(32、43)及び結合器36には、全結合型ニューラルネットワークが用いられている。しかしながら、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36に利用可能なニューラルネットワークの種類は、このような例に限定されなくてもよい。各抽出器(31、35、41)には、全結合型ニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。各推定器(32、43)及び結合器36には、畳み込みニューラルネットワーク、再帰型ニューラルネットワークが用いられてよい。
また、学習モデル30において、各構成要素は、必ずしも分離されていなくてもよい。2つ以上の構成要素の組み合わせが1つのニューラルネットワークにより構成されていてもよい。例えば、推定モデル3(抽出器31及び推定器32)は、一つのニューラルネットワークにより構成されてもよい。
また、各抽出器(31、35、41)、各推定器(32、43)、及び結合器36を構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。各抽出器(31、35、41)、各推定器(32、43)、及び結合器36には、例えば、サポートベクタマシン、回帰モデル、決定木モデル等の他のモデルが利用されてもよい。
また、上記実施形態において、学習済みの推定モデル3、抽出器35及び結合器36は、モデル生成装置1以外の他のコンピュータにより生成されてもよい。学習モデル4の機械学習が他のコンピュータにより実施される場合、モデル生成装置1の処理手順からステップS102の処理は省略されてよい。学習モデル30の機械学習が他のコンピュータにより実施される場合、モデル生成装置1の処理手順からステップS103~ステップS107の処理は省略されてよい。モデル生成装置1のソフトウェア構成から第1取得部112及び第2取得部113は省略されてよい。モデル生成装置1の機械学習の成果を視線推定装置2で利用しない場合、視線推定システム100からモデル生成装置1は省略されてよい。
<4.4>
上記実施形態において、例えば、初期設定の処理内で上記ステップS201の処理が実行される等により、較正情報60が予め与えられてもよい。この場合、視線推定装置2の処理手順からステップS201の処理は省略されてよい。また、較正情報60が取得された後、この較正情報60を変更しない場合には、視線推定装置2において、学習済みの抽出器35及び結合器36は省略又は削除されてよい。較正情報60を取得する処理の少なくとも一部は他のコンピュータにより実行されてよい。この場合、視線推定装置2は、他のコンピュータの演算結果を取得することで、較正情報60を取得してもよい。
上記実施形態において、例えば、初期設定の処理内で上記ステップS201の処理が実行される等により、較正情報60が予め与えられてもよい。この場合、視線推定装置2の処理手順からステップS201の処理は省略されてよい。また、較正情報60が取得された後、この較正情報60を変更しない場合には、視線推定装置2において、学習済みの抽出器35及び結合器36は省略又は削除されてよい。較正情報60を取得する処理の少なくとも一部は他のコンピュータにより実行されてよい。この場合、視線推定装置2は、他のコンピュータの演算結果を取得することで、較正情報60を取得してもよい。
また、上記実施形態において、視線推定装置2は、視線方向を推定する処理を繰り返さなくてもよい。この場合、視線推定装置2の処理手順からステップS205の処理は省略されてよい。
また、上記実施形態において、各学習データセット51及び学習用較正情報50の取得にデータセット120が利用されなくてもよい。これに加えて、学習モデル4の機械学習を他のコンピュータが実施する場合、モデル生成装置1の処理手順からステップS101の処理は省略されてよい。モデル生成装置1のソフトウェア構成から収集部111は省略されてよい。
1…モデル生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
111…収集部、112…第1取得部、
113…第2取得部、114…機械学習部、
115…保存処理部、
120…データセット、
121…学習画像、123…正解情報、
125…学習結果データ、
81…モデル生成プログラム、91…記憶媒体、
2…視線推定装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
211…情報取得部、212…画像取得部、
213…推定部、214…出力部、
261…ディスプレイ、M…印、
82…視線推定プログラム、92…記憶媒体、
30…学習モデル、3…推定モデル、
31…抽出器(第1抽出器)、
311…畳み込み層、312…プーリング層、
32…推定器、321…全結合層、
35…抽出器(第2抽出器)、
351…畳み込み層、352…プーリング層、
36…結合器、361…全結合層、
4…学習モデル、
41…抽出器、
411…畳み込み層、412…プーリング層、
43…推定器、431…全結合層、
50…学習用較正情報、
501…学習用基準画像、
502…学習用特徴情報、5021…特徴量、
503…学習用真値情報、
504…特徴量、
51…学習データセット、
53…学習用対象画像、54…特徴量、
55…正解情報、
60…較正情報、
601…基準画像、
602…特徴情報、6021…特徴量(第2特徴量)、
603…真値情報、
604…特徴量(較正特徴量)、
63…対象画像、64…特徴量(第1特徴量)、
R…対象者、S…カメラ
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
111…収集部、112…第1取得部、
113…第2取得部、114…機械学習部、
115…保存処理部、
120…データセット、
121…学習画像、123…正解情報、
125…学習結果データ、
81…モデル生成プログラム、91…記憶媒体、
2…視線推定装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
211…情報取得部、212…画像取得部、
213…推定部、214…出力部、
261…ディスプレイ、M…印、
82…視線推定プログラム、92…記憶媒体、
30…学習モデル、3…推定モデル、
31…抽出器(第1抽出器)、
311…畳み込み層、312…プーリング層、
32…推定器、321…全結合層、
35…抽出器(第2抽出器)、
351…畳み込み層、352…プーリング層、
36…結合器、361…全結合層、
4…学習モデル、
41…抽出器、
411…畳み込み層、412…プーリング層、
43…推定器、431…全結合層、
50…学習用較正情報、
501…学習用基準画像、
502…学習用特徴情報、5021…特徴量、
503…学習用真値情報、
504…特徴量、
51…学習データセット、
53…学習用対象画像、54…特徴量、
55…正解情報、
60…較正情報、
601…基準画像、
602…特徴情報、6021…特徴量(第2特徴量)、
603…真値情報、
604…特徴量(較正特徴量)、
63…対象画像、64…特徴量(第1特徴量)、
R…対象者、S…カメラ
Claims (15)
- 所定の方向を視る対象者の目の視線に関する特徴情報、及び前記対象者の目の視る前記所定の方向の真値を示す真値情報を含む較正情報を取得する情報取得部と、
対象者の目の写る対象画像を取得する画像取得部と、
機械学習により生成された学習済み推定モデルを利用して、前記対象画像に写る前記対象者の視線方向を推定する推定部であって、
前記機械学習により、前記学習済み推定モデルは、被験者から得られた学習用較正情報及び学習用対象画像の入力に対して、当該学習用対象画像に写る当該被験者の視線方向の真値を示す正解情報に適合する出力値を出力するように訓練されており、
前記視線方向を推定することは、取得された前記対象画像及び前記較正情報を当該学習済み推定モデルに入力し、当該学習済み推定モデルの演算処理を実行することで、前記対象画像に写る前記対象者の視線方向を推定した結果に対応する出力値を当該学習済み推定モデルから取得することにより構成される、
推定部と、
前記対象者の前記視線方向を推定した結果に関する情報を出力する出力部と、
を備える、
視線推定装置。 - 前記較正情報は、複数の異なる前記所定の方向それぞれに対応する前記特徴情報及び前記真値情報を含む、
請求項1に記載の視線推定装置。 - 前記特徴情報及び前記真値情報を含むことは、前記特徴情報及び前記真値情報を結合することにより導出される較正に関する較正特徴量を含むことにより構成され、
前記学習済み推定モデルは、第1抽出器及び推定器を備え、
前記学習済み推定モデルの演算処理を実行することは、
取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、及び
前記較正特徴量及び取得された前記第1特徴量を前記推定器に入力し、前記推定器の演算処理を実行すること、
により構成される、
請求項1又は2に記載の視線推定装置。 - 前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像に関する第2特徴量により構成され、
前記情報取得部は、結合器を有し、
前記較正情報を取得することは、
前記第2特徴量を取得すること、
前記真値情報を取得すること、並びに
取得された前記第2特徴量及び前記真値情報を前記結合器に入力し、前記結合器の演算処理を実行することで、前記較正特徴量に対応する出力値を前記結合器から取得すること、
により構成される、
請求項3に記載の視線推定装置。 - 前記情報取得部は、第2抽出器を更に有し、
前記第2特徴量を取得することは、
前記基準画像を取得すること、及び
取得された前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記第2特徴量に対応する出力値を前記第2抽出器から取得すること、
により構成される、
請求項4に記載の視線推定装置。 - 前記学習済み推定モデルは、第1抽出器及び推定器を備え、
前記学習済み推定モデルの演算処理を実行することは、
取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、並びに
前記特徴情報、前記真値情報、及び取得された前記第1特徴量を前記推定器に入力し、前記推定器の演算処理を実行すること、
により構成される、
請求項1又は2に記載の視線推定装置。 - 前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像に関する第2特徴量により構成され、
前記情報取得部は、第2抽出器を有し、
前記較正情報を取得することは、
前記基準画像を取得すること、
取得された前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記第2特徴量に対応する出力値を前記第2抽出器から取得すること、及び
前記真値情報を取得すること、
により構成される、
請求項6に記載の視線推定装置。 - 前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像により構成され、
前記学習済み推定モデルは、第1抽出器、第2抽出器、及び推定器を備え、
前記学習済み推定モデルの演算処理を実行することは、
取得された前記対象画像を前記第1抽出器に入力し、前記第1抽出器の演算処理を実行することで、前記対象画像に関する第1特徴量に対応する出力値を前記第1抽出器から取得すること、
前記基準画像を前記第2抽出器に入力し、前記第2抽出器の演算処理を実行することで、前記基準画像に関する第2特徴量に対応する出力値を前記第2抽出器から取得すること、並びに、
取得された前記第1特徴量、取得された前記第2特徴量、及び前記真値情報を前記推定器に入力し、前記推定器の演算処理を実行すること、
により構成される、
請求項1又は2に記載の視線推定装置。 - 前記学習済み推定モデルは、第1変換器及び推定器を備え、
前記学習済み推定モデルの演算処理を実行することは、
取得された前記対象画像を前記第1変換器に入力し、前記第1変換器の演算処理を実行することで、前記対象者の視線方向に関する第1ヒートマップに対応する出力値を前記第1変換器から取得すること、並びに、
取得された前記第1ヒートマップ、前記特徴情報、及び前記真値情報を前記推定器に入力し、前記推定器の演算処理を実行すること、
により構成される、
請求項1又は2に記載の視線推定装置。 - 前記特徴情報は、前記所定の方向を視る前記対象者の目の写る基準画像から導出された、前記所定の方向を視る目の視線方向に関する第2ヒートマップにより構成され、
前記情報取得部は、第2変換器を有し、
前記較正情報を取得することは、
前記基準画像を取得すること、
取得された前記基準画像を前記第2変換器に入力し、前記第2変換器の演算処理を実行することで、前記第2ヒートマップに対応する出力値を前記第2変換器から取得すること、
前記真値情報を取得すること、及び
前記所定の方向の真値に関する第3ヒートマップに前記真値情報を変換すること、
により構成され、
前記第1ヒートマップ、前記特徴情報、及び前記真値情報を前記推定器に入力することは、前記第1ヒートマップ、前記第2ヒートマップ、及び前記第3ヒートマップを前記推定器に入力することにより構成される、
請求項9に記載の視線推定装置。 - 前記画像取得部により前記対象画像の取得、及び前記推定部による前記対象者の視線方向の推定は繰り返し実行される、
請求項1から10のいずれか1項に記載の視線推定装置。 - 前記情報取得部は、前記対象者に所定の方向を視るように指示を出力した後、前記対象者の視線をセンサにより観測することで前記較正情報を取得する、
請求項1から11のいずれか1項に記載の視線推定装置。 - コンピュータが、
所定の方向を視る対象者の目の視線に関する特徴情報、及び前記対象者の目の視る前記所定の方向の真値を示す真値情報を含む較正情報を取得するステップと、
対象者の目の写る対象画像を取得するステップと、
機械学習により生成された学習済み推定モデルを利用して、前記対象画像に写る前記対象者の視線方向を推定するステップであって、
前記機械学習により、前記学習済み推定モデルは、被験者から得られた学習用較正情報及び学習用対象画像の入力に対して、当該学習用対象画像に写る当該被験者の視線方向の真値を示す正解情報に適合する出力値を出力するように訓練されており、
前記視線方向を推定することは、取得された前記対象画像及び前記較正情報を当該学習済み推定モデルに入力し、当該学習済み推定モデルの演算処理を実行することで、前記対象画像に写る前記対象者の視線方向を推定した結果に対応する出力値を当該学習済み推定モデルから取得することにより構成される、
ステップと、
前記対象者の前記視線方向を推定した結果に関する情報を出力するステップと、
を実行する、
視線推定方法。 - 所定の方向を視る被験者の目の視線に関する学習用特徴情報、及び前記被験者の目の視る前記所定の方向の真値を示す学習用真値情報を含む学習用較正情報を取得する第1取得部と、
被験者の目の写る学習用対象画像、及び前記学習用対象画像に写る前記被験者の視線方向の真値を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する第2取得部と、
取得された前記複数の学習データセットを使用して、推定モデルの機械学習を実施する機械学習部であって、機械学習を実施することは、前記各学習データセットについて、前記学習用対象画像及び前記学習用較正情報の入力に対して、対応する前記正解情報に適合する出力値を出力するように前記推定モデルを訓練することにより構成される、機械学習部と、
を備える、
モデル生成装置。 - コンピュータが、
所定の方向を視る被験者の目の視線に関する学習用特徴情報、及び前記被験者の目の視る前記所定の方向の真値を示す学習用真値情報を含む学習用較正情報を取得するステップと、
被験者の目の写る学習用対象画像、及び前記学習用対象画像に写る前記被験者の視線方向の真値を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
取得された前記複数の学習データセットを使用して、推定モデルの機械学習を実施するステップであって、機械学習を実施することは、前記各学習データセットについて、前記学習用対象画像及び前記学習用較正情報の入力に対して、対応する前記正解情報に適合する出力値を出力するように前記推定モデルを訓練することにより構成される、ステップと、
を実行する、
モデル生成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/000643 WO2021140642A1 (ja) | 2020-01-10 | 2020-01-10 | 視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021140642A1 JPWO2021140642A1 (ja) | 2021-07-15 |
JP7310931B2 true JP7310931B2 (ja) | 2023-07-19 |
Family
ID=76787774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021569686A Active JP7310931B2 (ja) | 2020-01-10 | 2020-01-10 | 視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230036611A1 (ja) |
EP (1) | EP4089628A4 (ja) |
JP (1) | JP7310931B2 (ja) |
CN (1) | CN114787861A (ja) |
WO (1) | WO2021140642A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028843A (ja) | 2017-08-01 | 2019-02-21 | オムロン株式会社 | 人物の視線方向を推定するための情報処理装置及び推定方法、並びに学習装置及び学習方法 |
WO2019154511A1 (en) | 2018-02-09 | 2019-08-15 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters using a neural network |
US20190303724A1 (en) | 2018-03-30 | 2019-10-03 | Tobii Ab | Neural Network Training For Three Dimensional (3D) Gaze Prediction With Calibration Parameters |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220043509A1 (en) * | 2019-06-28 | 2022-02-10 | Tobii Ab | Gaze tracking |
US11308698B2 (en) * | 2019-12-05 | 2022-04-19 | Facebook Technologies, Llc. | Using deep learning to determine gaze |
-
2020
- 2020-01-10 EP EP20911379.4A patent/EP4089628A4/en active Pending
- 2020-01-10 WO PCT/JP2020/000643 patent/WO2021140642A1/ja unknown
- 2020-01-10 CN CN202080085841.0A patent/CN114787861A/zh active Pending
- 2020-01-10 JP JP2021569686A patent/JP7310931B2/ja active Active
- 2020-01-10 US US17/789,234 patent/US20230036611A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028843A (ja) | 2017-08-01 | 2019-02-21 | オムロン株式会社 | 人物の視線方向を推定するための情報処理装置及び推定方法、並びに学習装置及び学習方法 |
WO2019154511A1 (en) | 2018-02-09 | 2019-08-15 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters using a neural network |
US20190303724A1 (en) | 2018-03-30 | 2019-10-03 | Tobii Ab | Neural Network Training For Three Dimensional (3D) Gaze Prediction With Calibration Parameters |
Also Published As
Publication number | Publication date |
---|---|
CN114787861A (zh) | 2022-07-22 |
JPWO2021140642A1 (ja) | 2021-07-15 |
WO2021140642A1 (ja) | 2021-07-15 |
EP4089628A4 (en) | 2023-05-10 |
EP4089628A1 (en) | 2022-11-16 |
US20230036611A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861873B2 (en) | Event camera-based gaze tracking using neural networks | |
JP6960494B2 (ja) | 眼画像の収集、選択および組み合わせ | |
KR102345026B1 (ko) | 클라우드 서버 및 클라우드 서버 기반의 진단 보조 시스템 | |
JP7058373B2 (ja) | 医療画像に対する病変の検出及び位置決め方法、装置、デバイス、及び記憶媒体 | |
KR102167022B1 (ko) | 혈압 추정 모델 생성 시스템 및 방법과 혈압 추정 시스템 및 방법 | |
CN112673378B (zh) | 推断器生成装置、监视装置、推断器生成方法以及推断器生成程序 | |
US11503998B1 (en) | Method and a system for detection of eye gaze-pattern abnormalities and related neurological diseases | |
CN110688874B (zh) | 人脸表情识别方法及其装置、可读存储介质和电子设备 | |
EP4383193A1 (en) | Line-of-sight direction tracking method and apparatus | |
CN109583338A (zh) | 基于深度融合神经网络的驾驶员视觉分散检测方法 | |
CN104951084A (zh) | 视线追踪方法及装置 | |
CN108776786A (zh) | 用于生成用户真伪识别模型的方法和装置 | |
CN112183160B (zh) | 视线估计方法及装置 | |
JP2024074862A (ja) | 軸外カメラを使用して眼追跡を実施するための方法およびシステム | |
JP7394232B2 (ja) | 視力矯正手段のための屈折力の、oct画像からの機械学習ベースの特定 | |
JP7310931B2 (ja) | 視線推定装置、視線推定方法、モデル生成装置、及びモデル生成方法 | |
CN113822174A (zh) | 视线估计的方法、电子设备及存储介质 | |
WO2024140417A1 (zh) | 可穿戴扩展现实设备的人机交互采集方法、装置和系统 | |
JP2019208851A (ja) | 眼底画像処理装置および眼底画像処理プログラム | |
WO2020044630A1 (ja) | 検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラム | |
JP2020091535A (ja) | 前処理装置、前処理方法及び前処理プログラム | |
CN114303117A (zh) | 使用离轴相机的眼睛跟踪和注视估计 | |
JP2017202048A (ja) | 特徴量抽出装置、推定装置、それらの方法、およびプログラム | |
CN118267095A (zh) | 一种眼部手术导航方法、装置及设备 | |
CN116503937A (zh) | 一种基于人脸外观的深度学习注视预测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7310931 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |