CN110969060A - 神经网络训练、视线追踪方法和装置及电子设备 - Google Patents
神经网络训练、视线追踪方法和装置及电子设备 Download PDFInfo
- Publication number
- CN110969060A CN110969060A CN201811155578.9A CN201811155578A CN110969060A CN 110969060 A CN110969060 A CN 110969060A CN 201811155578 A CN201811155578 A CN 201811155578A CN 110969060 A CN110969060 A CN 110969060A
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- sight
- gaze
- sight line
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/02—Alarms for ensuring the safety of persons
- G08B21/06—Alarms for ensuring the safety of persons indicating a condition of sleep, e.g. anti-dozing alarms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
- G06V20/597—Recognising the driver's state or behaviour, e.g. attention or drowsiness
-
- 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/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- 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/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- 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
- 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/19—Sensors therefor
-
- 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
- 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/197—Matching; Classification
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Ophthalmology & Optometry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种神经网络训练、视线追踪方法和装置及电子设备。该神经网络训练方法包括:根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。相应的,还提供了对应的装置和电子设备。采用本申请,可提高视线追踪的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种神经网络训练方法和装置,视线追踪方法和装置,电子设备及计算机可读存储介质。
背景技术
视线追踪在司机监控,人机交互和安防监控等应用中起重要作用。视线追踪是检测在三维空间中人眼注视方向技术。在人机交互方面,通过定位人眼在空间中的三维位置,并结合三维视线方向,获得人的注视点在三维空间中的位置并输出给机器做进一步交互处理。在注意力检测方面,通过估计出人眼的视线方向,判断人的注视方向获得人的感兴趣区域,进而判断人的注意力是否集中。
由此可见,视线追踪技术是本领域技术人员正在研究的技术。
发明内容
本申请提供了一种神经网络训练的技术方案以及视线追踪的技术方案。
第一方面,本申请实施例提供了一种神经网络训练方法,包括:
根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
本申请实施例中,通过得到第一视线方向和第一检测视线方向,可有效提高训练神经网络的准确性。
在一种可能的实现方式中,所述经神经网络检测所述第一图像的视线方向,得到第一检测视线方向,包括:
经所述神经网络分别检测所述第一图像和第二图像的视线方向,分别得到所述第一检测视线方向和第二检测视线方向;其中,所述第二图像由所述第一图像加噪后得到;
所述根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络,包括:
根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,所述第二视线方向为所述第一视线方向经过加噪后得到的视线方向。
本申请实施例中,通过得到第一检测视线方向和第二检测视线方向,根据第一视线方向、该第一检测视线方向、该第二检测视线方向和第二视线方向,来训练神经网络,可提高训练的准确性。
可理解,该神经网络可包括深度神经网络(deep neural network,DNN)等等,本申请实施例对于该神经网络的具体形式不作限定。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,包括:
确定所述第一视线方向和所述第一检测视线方向的第一损失;
确定第一偏移向量和第二偏移向量的第二损失,所述第一偏移向量为所述第一视线方向与所述第二视线方向之间的偏移向量,所述第二偏移向量为所述第一检测视线方向与所述第二检测视线方向之间的偏移向量;
根据所述第一损失和所述第二损失,调整所述神经网络的网络参数。
本申请实施例中,不仅根据第一视线方向和第一检测视线方向的损失,训练神经网络,而且还根据第一偏移向量和第二偏移向量的损失,来训练该神经网络,通过对输入图像数据增强,不仅可有效防止视线追踪过程中视线抖动的问题,而且还可提高训练神经网络的稳定性和准确性。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,包括:
根据所述第一视线方向和所述第一检测视线方向的第三损失,以及所述第二视线方向和所述第二检测视线方向的第四损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络之前,所述方法还包括:
分别归一化处理所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和所述第二视线方向;
据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第四视线方向,训练所述神经网络,包括:
根据归一化处理之后的所述第一视线方向、归一化处理之后的所述第二视线方向、归一化处理之后的所述第三视线方向和归一化处理之后的所述第四视线方向,训练所述神经网络。
本申请实施例中,通过将矢量的第一视线方向、第一检测视线方向、第二视线方向和第二检测视线方向进行归一化处理,可简化损失函数,提高损失函数计算的准确性,以及避免损失函数计算的复杂性。其中,该损失函数可为第一视线方向与第一检测视线方向的损失,还可以为第一偏移向量与第二偏移向量的损失,还可以为第二视线方向和第二检测视线方向的损失。
在一种可能的实现方式中,所述分别归一化处理所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和所述第二视线方向之前,所述方法还包括:
确定所述第一图像中的眼部位置;
根据所述眼部位置对所述第一图像进行旋转处理,使得所述第一图像中的双眼位置在水平轴上相同。
在一种可能的实现方式中,所述经神经网络检测所述第一图像的视线方向,得到第一检测视线方向,包括:
在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
本申请实施例中,视频视线追踪中,神经网络输出的视线方向可能仍然会存在抖动,因此通过N帧图像的视线方向,来确定第N帧图像的视线方向,在神经网络检测的视线方向的基础上进一步平滑处理,可提高神经网络检测的视线方向的稳定性。
在一种可能的实现方式中,所述根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向,包括:
根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述根据第一摄像头以及第一图像中的瞳孔确定第一视线方向,包括:
从摄像头阵列中确定所述第一摄像头,并确定所述瞳孔在第一坐标系下的坐标,所述第一坐标系为所述第一摄像头对应的坐标系;
根据所述摄像头阵列中的第二摄像头确定所述瞳孔在第二坐标系下的坐标,所述第二坐标系为所述第二摄像头对应的坐标系;
根据所述瞳孔在所述第一坐标系下的坐标,以及所述瞳孔所述第二坐标系下的坐标,确定所述第一视线方向。
在一种可能的实现方式中,所述确定所述瞳孔在第一坐标系下的坐标,包括:
确定所述瞳孔在所述第一图像中的坐标;
根据所述瞳孔在所述第一图像中的坐标,所述第一摄像头的焦距和主点位置,确定所述瞳孔在所述第一坐标系下的坐标。
在一种可能的实现方式中,所述根据所述摄像头阵列中的第二摄像头确定所述瞳孔在第二坐标系下的坐标,包括:
根据所述第一坐标系、所述摄像头阵列中每个摄像头的焦距和主点位置,确定所述第一坐标系和所述第二坐标系的关系;
根据所述第二坐标系和所述第一坐标系的关系,确定所述瞳孔在所述第二坐标系下的坐标。
在一种可能的实现方式中,所述根据第一摄像头以及第一图像中的瞳孔确定第一视线方向之前,所述方法还包括:
获取所述第一图像。
可选的,所述获取所述第一图像,包括:
通过人脸检测方法获得人脸在图像中的位置;其中,所述图像中眼睛的占比大于或等于预设比例;
通过人脸关键点定位确定所述图像中眼睛的位置;
裁剪所述图像,获得所述图像中与眼睛对应的图像;其中,所述图像中与眼睛对应的图像为所述第一图像。
第二方面,本申请实施例提供了一种视线追踪方法,包括:
对视频流数据中包括的第三图像进行人脸检测;
对检测到的所述第三图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取所述第三图像中的所述眼部区域图像;
将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
可理解,本申请实施例中所描述的预先训练完成的神经网络即为通过第一方面所描述的方法训练完成的神经网络。
在一种可能的实现方式中,所述将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向之后,所述方法还包括:
根据所述眼部区域图像的视线方向以及所述第三图像的至少一相邻帧图像的视线方向,确定为所述第三图像的视线方向。
在一种可能的实现方式中,所述对视频流数据中包括的第三图像进行人脸检测,包括:
在接收到触发指令的情况下,对所述视频流数据中包括的第三图像进行人脸检测;
或者,在汽车运行时,对所述视频流数据中包括的第三图像进行人脸检测;
或者,在汽车的运行速度达到参考速度的情况下,对所述视频流数据中包括的第三图像进行人脸检测。
在一种可能的实现方式中,所述视频流数据为基于车载摄像头在汽车的驾驶区域的视频流;
所述眼部区域图像的视线方向为所述汽车的驾驶区域中的驾驶员的视线方向。
在一种可能的实现方式中,所述输出所述眼部区域图像的视线方向之后,所述方法还包括:
根据所述眼部区域图像的视线方向确定所述驾驶员的感兴趣区域;
根据所述驾驶员的感兴趣区域确定所述驾驶员的驾驶行为,所述驾驶行为包括所述驾驶员是否分心驾驶。
在一种可能的实现方式中,所述方法还包括:
在所述驾驶员分心驾驶的情况下,输出预警提示信息。
在一种可能的实现方式中,所述输出预警提示信息,包括:
在所述驾驶员分心驾驶的次数达到参考次数的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的时间达到参考时间的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的时间达到所述参考时间,且次数达到所述参考次数的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的情况下,向与所述汽车连接的终端发送提示信息。
在一种可能的实现方式中,所述方法还包括:
在所述驾驶员分心驾驶的情况下,存储所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,在所述驾驶员分心驾驶的情况下,将所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于所述汽车连接的终端。
在一种可能的实现方式中,所述将所述眼部区域图像输入至预先训练完成的神经网络之前,所述方法还包括:
根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
在一种可能的实现方式中,所述经神经网络检测所述第一图像的视线方向,得到第一检测视线方向,包括:
经所述神经网络分别检测所述第一图像和第二图像的视线方向,分别得到所述第一检测视线方向和第二检测视线方向;其中,所述第二图像由所述第一图像加噪后得到;
所述根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络,包括:
根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,所述第二视线方向为所述第一视线方向经过加噪后得到的视线方向。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,包括:
确定所述第一视线方向和所述第一检测视线方向的第一损失;
确定第一偏移向量和第二偏移向量的第二损失,所述第一偏移向量为所述第一视线方向与所述第二视线方向之间的偏移向量,所述第二偏移向量为所述第一检测视线方向与所述第二检测视线方向之间的偏移向量;
根据所述第一损失和所述第二损失,调整所述神经网络的网络参数。
本申请实施例中,不仅根据第一视线方向和第一检测视线方向的损失,训练神经网络,而且还根据第一偏移向量和第二偏移向量的损失,来训练该神经网络,通过对输入图像数据增强,不仅可有效防止视线追踪过程中视线抖动的问题,而且还可提高训练神经网络的稳定性和准确性。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,包括:
根据所述第一视线方向和所述第一检测视线方向的第三损失,以及所述第二视线方向和所述第二检测视线方向的第四损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络之前,所述方法还包括:
分别归一化处理所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和所述第二视线方向;
据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第四视线方向,训练所述神经网络,包括:
根据归一化处理之后的所述第一视线方向、归一化处理之后的所述第二视线方向、归一化处理之后的所述第三视线方向和归一化处理之后的所述第四视线方向,训练所述神经网络。
本申请实施例中,通过将矢量的第一视线方向、第一检测视线方向、第二视线方向和第二检测视线方向进行归一化处理,可简化损失函数,提高损失函数计算的准确性,以及避免损失函数计算的复杂性。其中,该损失函数可为第一视线方向与第一检测视线方向的损失,还可以为第一偏移向量与第二偏移向量的损失,还可以为第二视线方向和第二检测视线方向的损失。
在一种可能的实现方式中,所述分别归一化处理所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和所述第二视线方向之前,所述方法还包括:
确定所述第一图像中的眼部位置;
根据所述眼部位置对所述第一图像进行旋转处理,使得所述第一图像中的双眼位置在水平轴上相同。
可理解,本申请实施例中,确定第一图像中的眼部位置,可以具体为分别确定该第一图像中的左眼位置和右眼位置,截图该左眼位置对应的图像以及右眼位置对应的图像,然后分别对所述右眼位置对应的图像和左眼位置对应的图像进行旋转处理,使得双眼位置在水平轴上相同。
在一种可能的实现方式中,所述经神经网络检测所述第一图像的视线方向,得到第一检测视线方向,包括:
在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
本申请实施例中,视频视线追踪中,神经网络输出的视线方向可能仍然会存在抖动,因此通过N帧图像的视线方向,来确定第N帧图像的视线方向,在神经网络检测的视线方向的基础上进一步平滑处理,可提高神经网络检测的视线方向的稳定性。
在一种可能的实现方式中,所述根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向,包括:
根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述根据第一摄像头以及第一图像中的瞳孔确定第一视线方向,包括:
从摄像头阵列中确定所述第一摄像头,并确定所述瞳孔在第一坐标系下的坐标,所述第一坐标系为所述第一摄像头对应的坐标系;
根据所述摄像头阵列中的第二摄像头确定所述瞳孔在第二坐标系下的坐标,所述第二坐标系为所述第二摄像头对应的坐标系;
根据所述瞳孔在所述第一坐标系下的坐标,以及所述瞳孔所述第二坐标系下的坐标,确定所述第一视线方向。
在一种可能的实现方式中,所述确定所述瞳孔在第一坐标系下的坐标,包括:
确定所述瞳孔在所述第一图像中的坐标;
根据所述瞳孔在所述第一图像中的坐标,所述第一摄像头的焦距和主点位置,确定所述瞳孔在所述第一坐标系下的坐标。
在一种可能的实现方式中,所述根据所述摄像头阵列中的第二摄像头确定所述瞳孔在第二坐标系下的坐标,包括:
根据所述第一坐标系、所述摄像头阵列中每个摄像头的焦距和主点位置,确定所述第一坐标系和所述第二坐标系的关系;
根据所述第二坐标系和所述第一坐标系的关系,确定所述瞳孔在所述第二坐标系下的坐标。
在一种可能的实现方式中,所述根据第一摄像头以及第一图像中的瞳孔确定第一视线方向之前,所述方法还包括:
获取所述第一图像。
可选的,所述获取所述第一图像,包括:
通过人脸检测方法获得人脸在图像中的位置;其中,所述图像中眼睛的占比大于或等于预设比例;
通过人脸关键点定位确定所述图像中眼睛的位置;
裁剪所述图像,获得所述图像中与眼睛对应的图像;其中,所述图像中与眼睛对应的图像为所述第一图像。
第三方面,本申请实施例提供了一种神经网络训练装置,包括:
第一确定单元,用于根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
检测单元,用于经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
训练单元,用于根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
在一种可能的实现方式中,所述检测单元,具体用于经所述神经网络分别检测所述第一图像和第二图像的视线方向,分别得到所述第一检测视线方向和第二检测视线方向;其中,所述第二图像由所述第一图像加噪后得到;
所述训练单元,具体用于根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,所述第二视线方向为所述第一视线方向经过加噪后得到的视线方向。
在一种可能的实现方式中,所述训练单元包括:
第一确定子单元,用于确定所述第一视线方向和所述第一检测视线方向的第一损失;
第二确定子单元,用于确定第一偏移向量和第二偏移向量的第二损失,所述第一偏移向量为所述第一视线方向与所述第二视线方向之间的偏移向量,所述第二偏移向量为所述第一检测视线方向与所述第二检测视线方向之间的偏移向量;
调整子单元,用于根据所述第一损失和所述第二损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述训练单元,具体用于根据所述第一视线方向和所述第一检测视线方向的第三损失,以及所述第二视线方向和所述第二检测视线方向的第四损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述装置还包括:
归一化处理单元,用于分别归一化处理所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和所述第二视线方向;
所述训练单元,具体用于根据归一化处理之后的所述第一视线方向、归一化处理之后的所述第二视线方向、归一化处理之后的所述第三视线方向和归一化处理之后的所述第四视线方向,训练所述神经网络。
在一种可能的实现方式中,所述装置还包括:
第二确定单元,用于确定所述第一图像中的眼部位置;
旋转处理单元,用于根据所述眼部位置对所述第一图像进行旋转处理,使得所述第一图像中的双眼位置在水平轴上相同。
在一种可能的实现方式中,所述检测单元包括:
检测子单元,用于在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
第三确定子单元,用于根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述第三确定子单元,具体用于根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述第一确定单元,具体用于从摄像头阵列中确定所述第一摄像头,并确定所述瞳孔在第一坐标系下的坐标,所述第一坐标系为所述第一摄像头对应的坐标系;以及根据所述摄像头阵列中的第二摄像头确定所述瞳孔在第二坐标系下的坐标,所述第二坐标系为所述第二摄像头对应的坐标系;以及根据所述瞳孔在所述第一坐标系下的坐标,以及所述瞳孔所述第二坐标系下的坐标,确定所述第一视线方向。
在一种可能的实现方式中,所述第一确定单元,具体用于确定所述瞳孔在所述第一图像中的坐标;以及根据所述瞳孔在所述第一图像中的坐标,所述第一摄像头的焦距和主点位置,确定所述瞳孔在所述第一坐标系下的坐标。
在一种可能的实现方式中,所述第一确定单元,具体用于根据所述第一坐标系、所述摄像头阵列中每个摄像头的焦距和主点位置,确定所述第一坐标系和所述第二坐标系的关系;以及根据所述第二坐标系和所述第一坐标系的关系,确定所述瞳孔在所述第二坐标系下的坐标。
第四方面,本申请实施例提供了一种视线追踪装置,包括:
人脸检测单元,用于对视频流数据中包括的第三图像进行人脸检测;
第一确定单元,用于对检测到的所述第三图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取单元,用于截取所述第三图像中的所述眼部区域图像;
输入输出单元,用于将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
在一种可能的实现方式中,所述装置还包括:
第二确定单元,用于根据所述眼部区域图像的视线方向以及所述第三图像的至少一相邻帧图像的视线方向,确定为所述第三图像的视线方向。
在一种可能的实现方式中,所述人脸检测单元,具体用于在接收到触发指令的情况下,对所述视频流数据中包括的第三图像进行人脸检测;
或者,所述人脸检测单元,具体用于在汽车运行时,对所述视频流数据中包括的第三图像进行人脸检测;
或者,所述人脸检测单元,具体用于在汽车的运行速度达到参考速度的情况下,对所述视频流数据中包括的第三图像进行人脸检测。
在一种可能的实现方式中,所述视频流数据为基于车载摄像头在汽车的驾驶区域的视频流;
所述眼部区域图像的视线方向为所述汽车的驾驶区域中的驾驶员的视线方向。
在一种可能的实现方式中,所述装置还包括:
第三确定单元,用于根据所述眼部区域图像的视线方向确定所述驾驶员的感兴趣区域;以及根据所述驾驶员的感兴趣区域确定所述驾驶员的驾驶行为,所述驾驶行为包括所述驾驶员是否分心驾驶。
在一种可能的实现方式中,所述装置还包括:
输出单元,用于在所述驾驶员分心驾驶的情况下,输出预警提示信息。
在一种可能的实现方式中,所述输出单元,具体用于在所述驾驶员分心驾驶的次数达到参考次数的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的时间达到参考时间的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的时间达到所述参考时间,且次数达到所述参考次数的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的情况下,向与所述汽车连接的终端发送提示信息。
在一种可能的实现方式中,所述装置还包括:
存储单元,用于在所述驾驶员分心驾驶的情况下,存储所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,发送单元,用于在所述驾驶员分心驾驶的情况下,将所述眼部区域图像喝所述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于所述汽车连接的终端。
在一种可能的实现方式中,所述装置还包括:
第四确定单元,用于根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
检测单元,用于经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
训练单元,用于根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
可理解,对于第四确定单元、检测单元和训练单元的具体实现方式还可参考第三方面所描述的神经网络的训练装置的实现方式,这里不再一一赘述。
第五方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器;所述存储器用于与所述处理器耦合,所述存储器还用于存储程序指令,所述处理器被配置为支持所述电子设备执行上述第一方面的方法中相应的功能。
可选的,所述电子设备还包括输入输出接口,所述输入输出接口用于支持所述电子设备与其他电子设备之间的通信。
第六方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器;所述存储器用于与所述处理器耦合,所述存储器还用于存储程序指令,所述处理器被配置为支持所述电子设备执行上述第二方面的方法中相应的功能。
可选的,所述电子设备还包括输入输出接口,所述输入输出接口用于支持所述电子设备与其他电子设备之间的通信。
第七方面,本申请实施例还提供了一种视线追踪***,所述视线追踪***包括:神经网络训练装置和视线追踪装置;所述神经网络训练装置和所述视线追踪装置通信连接;
其中,所述神经网络训练装置,用于训练神经网络;
所述视线追踪装置,用于应用所述神经网络训练装置所训练的神经网络。
可选的,所述神经网络训练装置,用于执行上述第一方面所述的方法;
所述视线追踪装置,用于执行上述第二方面所述的相应的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种视线追踪方法的流程示意图;
图2a是本申请实施例提供的一种人脸关键点的场景示意图;
图2b是本申请实施例提供的一种眼部区域图像的场景示意图;
图3是本申请实施例提供的一种神经网络训练方法的流程示意图;
图4a是本申请实施例提供的一种确定第一视线方向的方法的流程示意图;
图4b是本申请实施例提供的三种人眼相关的示意图;
图4c是本申请实施例提供的一种确定瞳孔的示意图;
图5是本申请实施例提供的另一种视线追踪方法的流程示意图;
图6是本申请实施例提供的一种神经网络训练装置的结构示意图;
图7是本申请实施例提供的一种训练单元的结构示意图;
图8是本申请实施例提供的另一种神经网络训练装置的结构示意图;
图9是本申请实施例提供的一种检测单元的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图;
图11是本申请实施例提供的一种视线追踪装置的结构示意图;
图12是本申请实施例提供的另一种视线追踪装置的结构示意图;
图13是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法或设备固有的其他步骤或单元。
参见图1,图1是本申请实施例提供的一种视线追踪方法的流程示意图,该视线追踪方法可应用于视线追踪装置,该视线追踪装置可包括服务器和终端设备,该终端设备可包括手机、平板电脑、台式电脑、个人掌上电脑、车载设备、驾驶员状态监控***、电视机、游戏机、娱乐设备、广告推送设备等等,本申请实施例对于该视线追踪装置的具体形式不作唯一性限定。
如图1所示,该视线追踪方法包括:
101、对视频流数据中包括的第三图像进行人脸检测。
本申请实施例中,第三图像可以为视频流数据中的任意帧图像,人脸检测即可以检测出第三图像中人脸所在位置。可选的,该视线追踪装置在进行人脸检测时,可以检测出正方形的人脸图像,也可以检测出矩形的人脸图像等等,本申请实施例不作限定。
可选的,该视频流数据可以为视线追踪装置所拍摄到的数据;也可以为其他装置拍摄之后,发送给该视线追踪装置的数据等等,本申请实施例对于该视频流数据如何得到不作限定。
可选的,上述视频流数据可以为基于车载摄像头在汽车的驾驶区域的视频流。也就是说,经过步骤104输出的视线方向可以为上述眼部区域图像的视线方向为上述汽车的驾驶区域中的驾驶员的视线方向。可理解,该视频流数据为车载摄像头拍摄到的数据,该车载摄像头可以直接与视线追踪装置连接,也可以间接与该视线追踪装置连接等等,本申请实施例对于该车载摄像头以何种形式存在不作限定。
可理解,在对汽车的驾驶区域的视频流数据中包括的第三图像进行人脸检测时,视线追踪装置可以实时地进行人脸检测,还可以以预定的频率或预定的周期进行人脸检测等等,本申请实施例不作限定。
但是,为了进一步避免视线追踪装置的功耗损失,提高人脸检测的效率,上述对视频流数据中包括的第三图像进行人脸检测,包括:
在接收到触发指令的情况下,对上述视频流数据中包括的第三图像进行人脸检测;
或者,在汽车运行时,对上述视频流数据中包括的第三图像进行人脸检测;
或者,在汽车的运行速度达到参考速度的情况下,对上述视频流数据中包括的第三图像进行人脸检测。
本申请实施例中,该触发指令可以为视线追踪装置接收到的用户输入的触发指令,也可以为与视线追踪装置连接的终端发送的触发指令等等,本申请实施例对于该触发指令的来源不作限定。
本申请实施例中,汽车运行时,可理解为汽车打火时,也就是说,在视线追踪装置检测到汽车开始运行了,则该视线追踪装置便可以对获取到的视频流数据中的任意帧图像(包括第三图像)进行人脸检测。
本申请实施例中,参考速度用于衡量汽车的运行速度达到多少时,视线追踪装置可以对视频流数据中包括的第三图像进行人脸检测,因此,对于该参考速度具体为多少不作限定。该参考速度可以由用户设置,也可以由与视线追踪装置连接的测量汽车运行速度的器件设置,也可以由视线追踪装置设置等等,本申请实施例不作限定。
102、对检测到的上述第三图像中的人脸区域进行关键点定位,确定上述人脸区域中的眼部区域。
本申请实施例中,在进行关键点定位的过程中,可以通过算法如边缘检测robert算法,索贝尔sobel算法等;也可通过相关模型如主动轮廓线snake模型等等来进行关键点定位;也可以通过用于进行人脸关键点检测的神经网络进行关键点检测输出。进一步地,还可以通过第三方应用来进行人脸关键点定位,如通过第三方工具包dlib来进行人脸关键点定位。
举例来说,dlib是开源的人脸关键点定位效果较好的工具包且是一个包含机器学习算法的C++开源工具包。目前工具包dlib被广泛应用在包括机器人,嵌入式设备,移动电话和大型高性能计算环境领域。因此可有效的利用该工具包做人脸关键点定位,得到人脸关键点。可选的,该人脸关键点可为68个人脸关键点等等。可理解,在通过人脸关键点定位进行定位时,每个关键点均有坐标,也即像素点坐标,因此,可根据关键点的坐标来确定眼部区域。或者,可以通过神经网络进行人脸关键点检测,检测出21、106或240点关键点。
举例来说,如图2a所示,图2a是本申请实施例提供的一种人脸关键点的示意图。从中可以看出人脸关键点可包括关键点0、关键点1……关键点67,即68个关键点。该68个关键点中可以确定出36至47为眼部区域。因此,可以根据关键点36和关键点39,以及关键点37(或38)和关键点40(或41)来确定左眼区域。以及根据关键点42和45,以及关键点43(或44)和关键点46(或47)来确定右眼区域,如图2b。可选的,还可以直接根据关键点36和45,以及关键点37(或38/43/44)和41(或40/46/47)来确定眼部区域。
可理解,以上为本申请实施例提供的确定眼部区域的示例,在具体实现中,还可以以其他关键点来确定眼部区域等等,本申请实施例不作限定。
103、截取上述第三图像中的上述眼部区域图像。
本申请实施例中,在确定出人脸区域的眼部区域之后,便可截取出眼部区域图像。以图2b为例,便可以图中所示的两个矩形框来截取出眼部区域图像。
可理解,本申请实施例对于视线追踪装置截取眼部区域图像的方法不作限定,如可以通过截图软件来截取,也可以通过画图软件来截取等等。
104、将上述眼部区域图像输入至预先训练完成的神经网络,输出上述眼部区域图像的视线方向。
本申请实施例中,该预先训练完成的神经网络可以为视线追踪装置所训练完成的神经网络,也可以为通过其他装置如神经网络训练装置来训练完成的神经网络,而后视线追踪装置从该神经网络训练装置获取的神经网络。可理解,对于如何训练神经网络的方法可参考图3所示的方法,这里不再一一详述。
实施本申请实施例,通过预先训练好的神经网络来对视频流数据中的任意帧图像进行视线追踪,可有效提高视线追踪的准确度;且进一步地通过对视频流数据中的任意帧图像进行视线追踪,可使得视线追踪装置能够有效利用该视线来执行其他操作。
可选的,在该视线追踪装置包括游戏机的情况下,该视线追踪装置便基于该视线追踪进行游戏交互,从而提高用户的满意度。以及在该视线追踪装置包括电视机等其他家电设备的情况下,该视线追踪装置便可根据视线追踪进行唤醒或休眠或其他控制等等,如可基于视线方向来确定用户是否需要打开或关闭电视机等家电设备等等,本申请实施例不作限定。以及在该视线追踪装置包括广告推送设备的情况下,该视线追踪装置便可根据视线追踪进行广告推送,如根据输出的视线方向来确定用户所感兴趣的广告内容,进而推送用户所感兴趣的广告。
可理解,以上仅为本申请实施例提供的视线追踪装置利用输出的视线方向执行其他操作的一些示例,在具体实现中,可能还存在其他示例,因此,不应将以上示例理解为对本申请实施例的限定。
可理解,在对视频流数据中包括的第三图像进行视线追踪时,神经网络输出的视线方向可能仍会存在一些抖动,因此,上述将上述眼部区域图像输入至预先训练完成的神经网络,输出上述眼部区域图像的视线方向之后,上述方法还包括:
根据上述眼部区域图像的视线方向以及上述第三图像的至少一相邻帧图像的视线方向,确定为上述第三图像的视线方向。
本申请实施例中,至少一相邻帧图像可理解为与第三图像相邻的至少一帧图像。如可以为第三图像的前M帧图像,也可以为第三图像的后N帧图像,该M和N分别为大于或等于1的整数。举例来说,第三图像为视频流数据中的第5帧图像,则该视线追踪装置便可根据第4帧的视线方向和第5帧的视线方向来确定第5帧的视线方向。
可选的,可以将眼部区域图像的视线方向以及第三图像的至少一相邻帧图像的视线方向的平均和作为第三图像的视线方向,即为眼部区域图像的视线方向。通过该种方式,可有效避免所得到的视线方向为神经网络抖动后预测的视线方向,从而有效提高了视线方向预测的准确度。
举例来说,第三图像的视线方向为(gx,gy,gz)n,且该第三图像为视频流数据中的第N帧图像,前N-1帧图像对应的视线方向分别为(gx,gy,gz)n-1,(gx,gy,gz)n-2,…(gx,gy,gz)1,则对于第N帧图像即第三图像的视线方向的计算方式可如公式(1)所示:
其中,gaze即为第三图像的视线方向。
可选的,还可根据上述第N帧图像对应的视线方向和上述第N-1帧图像对应的视线方向的加权和,计算上述第N帧图像对应的视线方向。
又举例来说,如以上述所示的参数为例,则第N帧图像对应的视线方向的计算方式可如公式(2)所示:
可理解,以上两个公式仅为一种示例,不应理解为对本申请实施例的限定。
实施本申请实施例,可有效防止神经网络输出的视线方向存在抖动的情况,从而可有效提高视线方向预测的准确度。
因此,在图1所示的基础上,本申请实施例还提供了一种如何利用神经网络所输出的视线方向的方法,如下所示:
上述输出上述眼部区域图像的视线方向之后,上述方法还包括:
根据上述眼部区域图像的视线方向确定上述驾驶员的感兴趣区域;
根据上述驾驶员的感兴趣区域确定上述驾驶员的驾驶行为,上述驾驶行为包括上述驾驶员是否分心驾驶。
本申请实施例中,视线追踪装置通过输出视线方向,便可分析出驾驶员所注视的方向,即可得到该驾驶员所感兴趣的大致区域。由此,便可根据该感兴趣区域来确定驾驶员是否在认真开车。如一般情况下,驾驶员认真开车时,会注视前方,偶尔会左右查看,但是如果发现驾驶员感兴趣区域经常不在前方,则可确定该驾驶员已分心驾驶。
可选的,在视线追踪装置确定该驾驶员分心驾驶的情况下,该视线追踪装置便可输出预警提示信息。为了提高输出预警提示信息的准确度,避免给驾驶员造成不必要的麻烦,因此上述输出预警提示信息可包括:
在上述驾驶员分心驾驶的次数达到参考次数的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的时间达到参考时间的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的时间达到上述参考时间,且次数达到上述参考次数的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的情况下,向与上述汽车连接的终端发送提示信息。
可理解,上述参考次数、参考时间是为了衡量视线追踪装置何种输出预警提示信息,因此,本申请实施例对于上述参考次数和参考时间的不作具体限定。
可理解,该视线追踪装置可通过无线或有线的方式与终端进行连接,从而可使得该视线追踪装置向终端发送提示信息,以能够及时提醒驾驶员或汽车内的其他人员。其中,该终端具体为驾驶员的终端,还可汽车内的其他人员的终端,本申请实施例不作唯一性限定。
实施本申请实施例,可使得视线追踪装置能够多次分析或长时间分析视频流数据中任意帧图像的视线方向,从而进一步提高驾驶员是否分心驾驶的准确度。
进一步地,在上述驾驶员分心驾驶的情况下,视线追踪装置还可存储上述眼部区域图像和上述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,在上述驾驶员分心驾驶的情况下,将上述眼部区域图像和上述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于上述汽车连接的终端。
本申请实施例中,该视线追踪装置可存储眼部区域图像,还可存储眼部区域图像中前后预定帧数的图像,还可同时存储眼部区域图像和该眼部区域图像中前后预定帧数的图像,从而可为后续用户查询视线方向提供便利。以及通过将上述图像发送至终端,可使得用户能够时时刻刻的进行视线方向查询,可使得用户能够及时得到眼部区域图像和眼部区域图像中前后预定帧数的图像中的至少一项。
本申请实施例神经网络可由卷积层、非线性层、池化层等网络层按照一定方式堆叠设计而成,本申请实施例对具体的网络结构并不限制。设计好神经网络结构后,可基于带有标注信息的正、负样本图像,采用监督方式对设计好的神经网络进行反向梯度传播等方法进行成千上万次的迭代训练,具体的训练方式本申请实施例并不限制。下面介绍本申请实施例的可选的神经网络的训练方法。
首先,介绍本申请实施例中出现的技术术语。
相机坐标系,相机坐标系的原点为相机的光心,z轴为相机光轴。可理解,该相机也可称为摄像头,或该相机具体可为红绿蓝(red green blue,RGB)相机、红外相机或近红外相机等等,本申请实施例不作限定。本申请实施例中,该相机坐标系也可以称为摄像头坐标系等等,本申请实施例对于其名称不作限定。本申请实施例中,该相机坐标系分别包括第一坐标系和第二坐标系。以下具体介绍第一坐标系和第二坐标系的关系。
第一坐标系,本申请实施例中,该第一坐标系即为从摄像头阵列中确定的任意摄像头的坐标系。可理解,该摄像头阵列也可称为相机阵列等等,本申请实施例对于该摄像头阵列的名称不作限定。具体的,该第一坐标系可为第一摄像头对应的坐标系,也或者称为第一相机对应的坐标系等等。
第二坐标系,本申请实施例中,第二坐标系即为与第二摄像头对应的坐标系,也即第二摄像头的坐标系。
举例来说,如摄像头阵列中的摄像头依次为c1、c2、c3、c4、c5、c6、c7、c8、c9、c10、c11、c12、c13……c20,其中,第一摄像头为c11,则第一坐标系即可为c11的坐标系。第二摄像头为c20,则第二坐标系即为c20的坐标系。
第一坐标系与第二坐标系的关系的确定方法,可如下所示:
从摄像头阵列中确定第一摄像头,并确定第一坐标系;
获取摄像头阵列中每个摄像头的焦距和主点位置;
根据上述第一坐标系、上述摄像头阵列中每个摄像头的焦距和主点位置,确定上述第二坐标系和上述第一坐标系的关系。
可选的,确定第一坐标系后,可利用经典的棋盘格标定的方法,获取摄像头阵列中每个摄像头的焦距和主点位置,从而确定其他坐标系相对于该第一坐标系的旋转和平移。
举例来说,以摄像头阵列为c1、c2、c3、c4、c5、c6、c7、c8、c9、c10、c11、c12、c13……c20为例,以c11(部署在中心的相机)作为第一摄像机,并建立第一坐标系,利用经典的棋盘格标定的方法,获取所有相机的焦距f、主点位置(u,v),以及相对于第一摄像头的旋转和平移。定义每个相机所在的坐标系为一个相机坐标系,通过双目相机标定计算在该第一坐标系下其余相机相对于该第一摄像机的位置和朝向。从而可确定第一坐标系和第二坐标系的关系。
可理解,以上仅为一种示例,在具体实现中,还可以通过其他方法来确定第一坐标系与第二坐标系的关系,如张正友标定法等等,本申请实施例不作限定。
参见图3,图3是本申请实施例提供的一种神经网络训练方法的流程示意图,该神经网络训练方法可应用于视线追踪装置,该视线追踪装置可包括服务器和终端设备,该终端设备可包括手机、平板电脑、台式电脑、个人掌上电脑等等,本申请实施例对于该视线追踪装置的具体形式不作唯一性限定。可理解,该神经网络的训练方法还可应用于神经网络训练装置中,该神经网络训练装置可包括服务器和终端设备。其中,该神经网络训练装置可以与视线追踪装置为同一类型的装置,或者,该神经网络训练装置还可以视线追踪装置为不同类型的装置等等,本申请实施例不作限定。
如图3所示,该神经网络训练方法包括:
301、根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,上述第一摄像头为拍摄上述第一图像的摄像头,上述第一图像至少包括眼部图像。
本申请实施例中,第一图像即为摄像头拍摄到的2D图片,且该第一图像为待输入至神经网络中,训练该神经网络的图像。可选的,该第一图像的数量至少为两个,同时,该第一图像的数量具体为多少,以训练程度而确定,因此,本申请实施例对于该第一图像的数量不作限定。
可选的,参见图4a,图4a是本申请实施例提供的一种确定第一视线方向的方法的流程示意图。
302、经神经网络检测上述第一图像的视线方向,得到第一检测视线方向;根据上述第一视线方向和上述第一检测视线方向,训练上述神经网络。
可选的,第一图像可为瞳孔对应的图像,即该第一图像可为人眼图像,如图4b所示的右边的图像。然而,在实际生活中,我们得到的图像可能是人的整个身体的图像,或者是人的上半身的图像如图4b左边所示的图像,又或者是人的头部图像如图4b中间所示的图像,直接将这些图像输入到神经网络,可能会增加神经网络处理的负担,也会对神经网络造成干扰。
因此,本申请实施例还提供了一种获取第一图像的方法。其中,获得该第一图像的方法可如下所示:
通过人脸检测方法获得人脸在图像中的位置;其中,该图像中眼睛的占比大于或等于预设比例;
通过人脸关键点定位确定该图像中的眼睛的位置;
裁剪该图像,获得该图像中的眼睛的图像。
其中,该图像中的眼睛的图像即为第一图像。
可选的,由于人脸存在一定的旋转角度,因此在通过人脸关键点定位确定该图像中的眼睛的位置之后,还可以将双眼内眼角水平轴坐标旋转至相等。从而在将双眼内眼角水平轴坐标旋转至相等后,将旋转后的图像中的眼睛裁剪下来,进而获得第一图像。
可理解,预设比例是为了衡量图像中眼睛所占大小来设置,该预设比例的设置目的是为了确定获取到的图像是否需要进行裁剪等等,因此预设比例的具体大小可由用户设置,也可由神经网络训练装置自动设置等等,本申请实施例不作限定。举例来说,上述图像正好是眼睛的图像,则可以直接将该图像输入至神经网络。又举例来说,上述图像中眼睛所占的比例为十分之一,则说明需要对图像进行裁剪等操作来获取第一图像。
为了提高训练的效果,以及提高神经网络输出视线方向的准确度。因此,本申请实施例中,还可根据第一视线方向、第一检测视线方向、第二检测视线方向和第二视线方向,训练该神经网络。由此,上述经神经网络检测上述第一图像的视线方向,得到第一检测视线方向,根据上述第一视线方向和上述第一检测视线方向,训练上述神经网络,包括:
经上述神经网络分别检测上述第一图像和第二图像的视线方向,分别得到上述第一检测视线方向和第二检测视线方向;其中,上述第二图像由上述第一图像加噪后得到;
根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络,上述第二视线方向为上述第一视线方向经过加噪后得到的视线方向。
本申请实施例中,在第一图像为由视频流数据中的图像的情况下,在获取第一图像时,可能会发生抖动,即可能会造成视线方向发生一些抖动,因此,对于防止视线方向发生抖动,以及提高神经网络的输出的稳定性,可对第一图像进行加噪。其中,对第一图像加噪的方法可包括以下任意一项或多项:如旋转、平移、尺度放大和尺度缩小。即可通过对第一图像进行旋转、平移、尺度放大和尺度缩小等来得到第二图像。
其中,第一视线方向为瞳孔注视第一摄像头的方向,即该第一视线方向为根据瞳孔和摄像头的位置而确定出的视线方向;第一检测视线方向为第一图像经神经网络输出后的视线方向,即该第一检测视线方向为神经网络预测的视线方向,具体为神经网络预测的与第一图像对应的视线方向;第二检测视线方向为加噪后的第一图像即第二图像经神经网络输出的视线方向,即该第二检测视线方向为神经网络预测的视线方向,具体为神经网络预测的与第二图像对应的视线方向;第二视线方向为与第二图像对应的视线方向,即该第二视线方向为第一视线方向经过同样的加噪处理(即与得到第二图像的加噪方法一致)后变换得到的视线方向。
也就是说,视线的获取方式上,第二视线方向为第一视线方向相对应,第一检测视线方向与第二检测视线方向相对应;从视线对应的图像上,第一视线方向与第一检测视线方向相对应;第二检测视线方向与第二视线方向相对应。可理解,以上描述是为了更好的理解第一视线方向、第一检测视线方向、第二检测视线方向和第二视线方向。
实施本申请实施例,可有效提高训练神经网络的训练效果,以及提高神经网络输出视线方向的准确度。
进一步的,本申请实施例提供了两种训练神经网络的方法,具体如下所示:
实现方式一、
上述根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络,包括:
根据上述第一视线方向和上述第一检测视线方向的第三损失,以及上述第二视线方向和上述第二检测视线方向的第四损失,调整上述神经网络的网络参数。
可理解,上述根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络之前,上述方法还包括:
分别归一化处理上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和上述第二视线方向;
根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第四视线方向,训练上述神经网络,包括:
根据归一化处理之后的上述第一视线方向、归一化处理之后的上述第二视线方向、归一化处理之后的上述第三视线方向和归一化处理之后的上述第四视线方向,训练上述神经网络。
也就是说,可根据归一化处理之后的上述第一视线方向和归一化处理之后的上述第一检测视线方向的第三损失,以及归一化处理之后的上述第二视线方向和归一化处理之后的上述第二检测视线方向的第四损失,调整上述神经网络的网络参数。
其中,假设第一视线方向为(x3,y3,z3),第一检测视线方向为(x4,y4,z4),则归一化处理的方式可如公式(3)和公式(4)所示:
其中,normalize ground truth即为归一化处理之后的第一视线方向。
其中,normalize prediction gaze即为归一化处理之后的第一检测视线方向。
第三损失的计算方式可如公式(5)所示:
loss=||normalize groundtruth-normalize prediction gaze|| (5)
其中,loss即为第三损失。
可理解,以上各个字母或参数的表示形式仅为一种示例,不应理解为对本申请实施例的限定。
通过归一化处理第一视线方向、第一检测视线方向、第二视线方向和第二检测视线方向,可消除各个视线方向中模长的影响,从而只关注视线方向,进而可更进一步提高训练神经网络的准确度。
实现方式二、
上述根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络,包括:
确定上述第一视线方向和上述第一检测视线方向的第一损失;
确定第一偏移向量和第二偏移向量的第二损失,上述第一偏移向量为上述第一视线方向与上述第二视线方向之间的偏移向量,上述第二偏移向量为上述第一检测视线方向与上述第二检测视线方向之间的偏移向量;
根据上述第一损失和上述第二损失,调整上述神经网络的网络参数。
其中,假设第一视线方向为(x3,y3,z3),第一检测视线方向为(x4,y4,z4)第二检测视线方向为(x5,y5,z5),第二视线方向为(x6,y6,z6),则第一偏移向量为(x3-x6,y3-y6,z3-z6),第二偏移向量为(x4-x5,y4-y5,z4-z5)。
可理解,上述根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络之前,上述方法还包括:
分别归一化处理上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和上述第二视线方向;
上述根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第四视线方向,训练上述神经网络,包括:
根据归一化处理之后的上述第一视线方向、归一化处理之后的上述第二视线方向、归一化处理之后的上述第三视线方向和归一化处理之后的上述第四视线方向,训练上述神经网络。
即可根据归一化处理之后的上述第一视线方向和上述第一检测视线方向的第一损失,以及归一化处理之后的第一偏移向量和归一化处理之后的第二偏移向量的第二损失,来调整神经网络的网络参数。其中,归一化处理之后的第一偏移向量为归一化处理之后的上述第一视线方向与归一化处理之后的上述第二视线方向之间的偏移向量,归一化处理之后的第二偏移向量为归一化处理之后的上述第一检测视线方向与归一化处理之后的上述第二检测视线方向之间的偏移向量。
其中,对于归一化处理的具体实现方式可参考实现方式一所示的实现方式,这里不再赘述。
通过归一化处理第一视线方向、第一检测视线方向、第二视线方向和第二检测视线方向,可消除各个视线方向中模长的影响,从而只关注视线方向,进而可更进一步提高训练神经网络的准确度。
可理解,为了进一步提高视线方向的平滑性,因此上述经神经网络检测上述第一图像的视线方向,得到第一检测视线方向,包括:
在上述第一图像属于视频图像的情况下,经上述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
根据上述相邻N帧图像的视线方向,确定第N帧图像的视线方向为上述第一检测视线方向。
其中,本申请实施例对于N的具体取值不作限定,该相邻N帧图像可以为第N帧图像的前N帧图像(包括第N帧),也可以为后N帧图像,还可以为前后N帧图像等等,本申请实施例不作限定。
可选的,可以根据相邻N帧图像的视线方向的平均和来确定第N帧图像的视线方向,从而平滑处理该视线方向,使得得到的第一检测视线方向更加稳定。
可理解,第二检测视线方向的确定方法也可以通过上述所描述的方法得到,这里不再一一赘述。
本申请实施例中,通过得到第一检测视线方向和第二检测视线方向,根据第一视线方向、该第一检测视线方向和该第二检测视线方向,训练神经网络(Neural Network,神经网络),一方面可提高训练神经网络准确性,另一方面还可高效的训练神经网络。
可理解,在通过以上方法训练神经网络,得到神经网络后,该神经网络训练装置可直接应用该神经网络预测视线方向,或者,该神经网络训练装置也可以将该训练好的神经网络发送给其他装置,该其他装置利用该训练好的神经网络预测视线方向。至于该神经网络训练装置具体发送给哪些装置,本申请实施例不作限定。
参见图4a,图4a是本申请实施例提供的一种确定第一视线方向的方法的流程示意图,如图4a所示,该确定第一视线方向的方法包括:
401、从摄像头阵列中确定第一摄像头,并确定瞳孔在第一坐标系下的坐标,上述第一坐标系为上述第一摄像头对应的坐标系。
本申请实施例中,可根据该第一摄像的焦距和主点位置来确定瞳孔在第一坐标系下的坐标。
可选的,上述确定上述瞳孔在上述第一坐标系下的坐标,包括:
上述确定上述瞳孔在第一坐标系下的坐标,包括:
确定上述瞳孔在上述第一图像中的坐标;
根据上述瞳孔在上述第一图像中的坐标,上述第一摄像头的焦距和主点位置,确定上述瞳孔在上述第一坐标系下的坐标。
本申请实施例中,对于拍摄到的一张眼睛的2D图片,即第一图像,可直接通过检测人眼瞳孔边缘点的网络模型,来提取出围绕瞳孔边缘一圈的点,然后根据该围绕瞳孔边缘一圈的点来计算出瞳孔位置的坐标如(m,n)。其中,所计算出的瞳孔位置的坐标(m,n)也可理解为瞳孔在第一图像中的坐标。又可理解为该瞳孔在像素坐标系下的坐标。
假设拍摄该第一图像的摄像头即第一摄像头的焦距为f,主点位置为(u,v),则瞳孔投影到该第一摄像头的成像平面上的点,在该第一坐标系下的坐标即为(m-u,n-v,f)。
402、根据上述摄像头阵列中的第二摄像头确定上述瞳孔在第二坐标系下的坐标,上述第二坐标系为上述第二摄像头对应的坐标系。
上述根据上述摄像头阵列中的第二摄像头确定上述瞳孔在第二坐标系下的坐标,包括:
根据上述第一坐标系、上述摄像头阵列中每个摄像头的焦距和主点位置,确定上述第一坐标系和上述第二坐标系的关系;
根据上述第二坐标系和上述第一坐标系的关系,确定上述瞳孔在上述第二坐标系下的坐标。
本申请实施例中,第一坐标系和第二坐标系的关系的确定方法可参考前述实施例的描述,这里不再一一详述。在得到瞳孔在第一坐标系下的坐标后,便可根据该第一坐标系和第二坐标系的关系来得到瞳孔在第二坐标系下的坐标。
403、根据上述瞳孔在上述第一坐标系下的坐标,以及上述瞳孔上述第二坐标系下的坐标,确定上述第一视线方向。
可理解,本申请实施例中,第一摄像头可为摄像头阵列中的任意摄像头,可选的,该第一摄像头至少为两个摄像头。也就是说,可以利用至少两个第一摄像头来拍摄,从而得到两个第一图像,以及分别得到瞳孔在至少两个第一摄像头中任意一个第一摄像头下的坐标(具体可参考前述描述);进而可将在各自坐标系下的坐标都统一到第二坐标系下。由此,在依次确定瞳孔在第一坐标系下的坐标以及第二坐标系下的坐标之后,便可利用摄像头、瞳孔的投影点和瞳孔三点一线的性质,得到在同一坐标系下的坐标,瞳孔(也即图4c中的瞳孔中心)在该第二坐标系下的坐标即为这些直线的共同交点,可如图4c所示。
可选的,视线方向即可定义为摄像头位置与人眼位置连线的方向。可选的,上述第一视线方向的计算公式如公式(6)所示:
gaze=(x1-x2,y1-y2,z1-z2) (6)
其中,gaze为上述第一视线方向,(x1,y1,z1)为上述第一摄像头在坐标系c下的坐标,(x2,y2,z2)为上述瞳孔在上述坐标系c下的坐标。
本申请实施例,对于该坐标系c不作限定,如给坐标系c可为第二坐标系,或者,该坐标系还可以第一坐标系下的任意坐标系等等。
可理解,以上仅为本申请实施例提供的一种确定第一视线方向的方法,在具体实现中,可能还包括其他方式,这里不再一一详述。
参见图5,图5是本申请实施例提供的另一种视线追踪方法的流程示意图,如图5所示,该视线追踪方法包括:
501、根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,上述第一摄像头为拍摄上述第一图像的摄像头,上述第一图像至少包括眼部图像。
502、经上述神经网络分别检测上述第一图像和第二图像的视线方向,分别得到上述第一检测视线方向和第二检测视线方向;其中,上述第二图像由上述第一图像加噪后得到。
503、根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络,上述第二视线方向为上述第一视线方向经过加噪后得到的视线方向。
可理解,对于步骤501至步骤503的具体实现方式,可参考图3所示的神经网络训练方法的具体实现方式,这里不再一一赘述。
504、对视频流数据中包括的第三图像进行人脸检测。
本申请实施例中,对于视频人眼视线追踪中,可根据训练好的神经网络获得每帧图像对应的视线方向。
505、对检测到的上述第三图像中的人脸区域进行关键点定位,确定上述人脸区域中的眼部区域。
506、截取上述第三图像中的上述眼部区域图像。
507、将上述眼部区域图像输入至上述神经网络,输出上述眼部区域图像的视线方向。
可理解,本申请实施例所训练的神经网络也可应用于图片数据的视线追踪,这里不再一一详述。
可理解,对于步骤504至步骤507的具体实现方式,可参考图1所示的视线追踪方法的具体实现方式,这里不再一一详述。
可理解,图5所示的具体实现方式可对应参考图1、图3和图4a所示的方法,这里不再一一详述。
实施本申请实施例,使用第一视线方向、第一检测视线方向、第二视线方向以及第二检测视线方向来训练神经网络,可有效提高神经网络训练的准确度;进一步地,还可有效提高对第三图像的视线方向预测的准确度。
以上各个实施例描述各有侧重,其中一个实施例中未详尽描述的实现方式还可参考其他实施例,这里不再一一详述。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图6,图6是本申请实施例提供的一种神经网络训练装置的结构示意图,如图6所示,该神经网络训练装置可以包括:
第一确定单元601,用于根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,上述第一摄像头为拍摄上述第一图像的摄像头,上述第一图像至少包括眼部图像;
检测单元602,用于经神经网络检测上述第一图像的视线方向,得到第一检测视线方向;
训练单元603,用于根据上述第一视线方向和上述第一检测视线方向,训练上述神经网络。
实施本申请实施例,通过得到第一检测视线方向,根据第一视线方向和该第一检测视线方向,训练神经网络,可提高训练的准确性。
可选的,上述检测单元602,具体用于经上述神经网络分别检测上述第一图像和第二图像的视线方向,分别得到上述第一检测视线方向和第二检测视线方向;其中,上述第二图像由上述第一图像加噪后得到;
上述训练单元603,具体用于根据上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和第二视线方向,训练上述神经网络,上述第二视线方向为上述第一视线方向经过加噪后得到的视线方向。
可选的,上述训练单元603,具体用于根据上述第一视线方向和上述第一检测视线方向的第三损失,以及上述第二视线方向和上述第二检测视线方向的第四损失,调整上述神经网络的网络参数。
可选的,如图7所示,上述训练单元603包括:
第一确定子单元6031,用于确定上述第一视线方向和上述第一检测视线方向的第一损失;
第二确定子单元6032,用于确定第一偏移向量和第二偏移向量的第二损失,上述第一偏移向量为上述第一视线方向与上述第二视线方向之间的偏移向量,上述第二偏移向量为上述第一检测视线方向与上述第二检测视线方向之间的偏移向量;
调整子单元6033,用于根据上述第一损失和上述第二损失,调整上述神经网络的网络参数。
可选的,如图8所示,上述装置还包括:
归一化处理单元604,用于分别归一化处理上述第一视线方向、上述第一检测视线方向、上述第二检测视线方向和上述第二视线方向;
上述训练单元603,具体用于根据归一化处理之后的上述第一视线方向、归一化处理之后的上述第二视线方向、归一化处理之后的上述第三视线方向和归一化处理之后的上述第四视线方向,训练上述神经网络。
可选的,如图8所示,上述装置还包括:
第二确定单元605,用于确定上述第一图像中的眼部位置;
旋转处理单元606,用于根据上述眼部位置对上述第一图像进行旋转处理,使得上述第一图像中的双眼位置在水平轴上相同。
可选的,如图9所示,上述检测单元602包括:
检测子单元6021,用于在上述第一图像属于视频图像的情况下,经上述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
第三确定子单元6022,用于根据上述相邻N帧图像的视线方向,确定第N帧图像的视线方向为上述第一检测视线方向。
可选的,上述第三确定子单元6022,具体用于根据上述相邻N帧图像的视线方向的平均和,确定上述第N帧图像的视线方向为上述第一检测视线方向。
可选的,上述第一确定单元601,具体用于从摄像头阵列中确定上述第一摄像头,并确定上述瞳孔在第一坐标系下的坐标,上述第一坐标系为上述第一摄像头对应的坐标系;以及根据上述摄像头阵列中的第二摄像头确定上述瞳孔在第二坐标系下的坐标,上述第二坐标系为上述第二摄像头对应的坐标系;以及根据上述瞳孔在上述第一坐标系下的坐标,以及上述瞳孔上述第二坐标系下的坐标,确定上述第一视线方向。
可选的,上述第一确定单元601,具体用于确定上述瞳孔在上述第一图像中的坐标;以及根据上述瞳孔在上述第一图像中的坐标,上述第一摄像头的焦距和主点位置,确定上述瞳孔在上述第一坐标系下的坐标。
可选的,上述第一确定单元601,具体用于根据上述第一坐标系、上述摄像头阵列中每个摄像头的焦距和主点位置,确定上述第一坐标系和上述第二坐标系的关系;以及根据上述第二坐标系和上述第一坐标系的关系,确定上述瞳孔在上述第二坐标系下的坐标。
需要说明的是,各个单元的实现及其装置类实施例的技术效果还可以对应参照上文或图3至图5所示的方法实施例的相应描述。
请参见图10,图10是本申请实施例提供的一种电子设备的结构示意图。如图10所示,该电子设备包括处理器1001、存储器1002和输入输出接口1003,所述处理器1001、存储器1002和输入输出接口1003通过总线相互连接。
输入输出接口1003,可用于输入数据和/或信号,以及输出数据和/或信号。
存储器1002包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器1002用于相关指令及数据。
处理器1001可以是一个或多个中央处理器(central processing unit,CPU),在处理器1001是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
可选的,各个操作的实现还可以对应参照图3至图5所示的方法实施例的相应描述。或者,各个操作的实现还可对应参考图6至图9所示的实施例的相应描述。
如在一个实施例中,处理器1001可用于执行步骤301和步骤302所示的方法,又如处理器1001还可用于执行第一确定单元601、检测单元602和训练单元603所执行的方法。
参见图11,图11是本申请实施例提供的一种视线追踪装置的结构示意图,该视线追踪装置可用于执行图1至图5所示的相应的方法,如图11所示,该视线追踪装置包括:
人脸检测单元1101,用于对视频流数据中包括的第三图像进行人脸检测;
第一确定单元1102,用于对检测到的上述第三图像中的人脸区域进行关键点定位,确定上述人脸区域中的眼部区域;
截取单元1103,用于截取上述第三图像中的上述眼部区域图像;
输入输出单元1104,用于将上述眼部区域图像输入至预先训练完成的神经网络,输出上述眼部区域图像的视线方向。
可选的,如图12所示,该视线追踪装置还包括:
第二确定单元1105,用于根据上述眼部区域图像的视线方向以及上述第三图像的至少一相邻帧图像的视线方向,确定为上述第三图像的视线方向。
可选的,上述人脸检测单元1101,具体用于在接收到触发指令的情况下,对上述视频流数据中包括的第三图像进行人脸检测;
或者,上述人脸检测单元1101,具体用于在汽车运行时,对上述视频流数据中包括的第三图像进行人脸检测;
或者,上述人脸检测单元1101,具体用于在汽车的运行速度达到参考速度的情况下,对上述视频流数据中包括的第三图像进行人脸检测。
可选的,上述视频流数据为基于车载摄像头在汽车的驾驶区域的视频流;
上述眼部区域图像的视线方向为上述汽车的驾驶区域中的驾驶员的视线方向。
可选的,如图12所示,上述装置还包括:
第三确定单元1106,用于根据上述眼部区域图像的视线方向确定上述驾驶员的感兴趣区域;以及根据上述驾驶员的感兴趣区域确定上述驾驶员的驾驶行为,上述驾驶行为包括上述驾驶员是否分心驾驶。
可选的,如图12所示,上述装置还包括:
输出单元1107,用于在上述驾驶员分心驾驶的情况下,输出预警提示信息。
可选的,上述输出单元1107,具体用于在上述驾驶员分心驾驶的次数达到参考次数的情况下,输出上述预警提示信息;
或者,上述输出单元1107,具体用于在上述驾驶员分心驾驶的时间达到参考时间的情况下,输出上述预警提示信息;
或者,上述输出单元1107,具体用于在上述驾驶员分心驾驶的时间达到上述参考时间,且次数达到上述参考次数的情况下,输出上述预警提示信息;
或者,上述输出单元1107,具体用于在上述驾驶员分心驾驶的情况下,向与上述汽车连接的终端发送提示信息。
如图12所示,上述装置还包括:
存储单元1108,用于在上述驾驶员分心驾驶的情况下,存储上述眼部区域图像和上述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,发送单元1109,用于在上述驾驶员分心驾驶的情况下,将上述眼部区域图像喝上述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于上述汽车连接的终端。
可选的,如图12所示,上述装置还包括:
第四确定单元1110,用于根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,上述第一摄像头为拍摄上述第一图像的摄像头,上述第一图像至少包括眼部图像;
检测单元1111,用于经神经网络检测上述第一图像的视线方向,得到第一检测视线方向;
训练单元1112,用于根据上述第一视线方向和上述第一检测视线方向,训练上述神经网络。
可选的,需要说明的是,各个单元的实现及其装置类实施例的技术效果还可以对应参照上文或图1至图5所示的方法实施例的相应描述。
可理解,对于第四确定单元、检测单元和训练单元的具体实现方式还可参考图6和图8所示的方法,这里不再一一详述。
请参见图13,图13是本申请实施例提供的一种电子设备的结构示意图。如图13所示,该电子设备包括处理器1301、存储器1302和输入输出接口1303,所述处理器1301、存储器1302和输入输出接口1303通过总线相互连接。
输入输出接口1303,可用于输入数据和/或信号,以及输出数据和/或信号。
存储器1302包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器1302用于相关指令及数据。
处理器1301可以是一个或多个中央处理器(central processing unit,CPU),在处理器1301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
可选的,各个操作的实现还可以对应参照图1至图5所示的方法实施例的相应描述。或者,各个操作的实现还可对应参考图11和图12所示的实施例的相应描述。
如在一个实施例中,处理器1301可用于执行步骤101至步骤104所示的方法,又如处理器1301还可用于执行人脸检测单元1101、第一确定单元1102、截取单元1103和输入输出单元1104所执行的方法。
可理解,各个操作的实现还可参考其他实施例,这里不再一一详述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
Claims (10)
1.一种神经网络训练方法,其特征在于,包括:
根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
2.根据权利要求1所述的方法,其特征在于,所述经神经网络检测所述第一图像的视线方向,得到第一检测视线方向,包括:
经所述神经网络分别检测所述第一图像和第二图像的视线方向,分别得到所述第一检测视线方向和第二检测视线方向;其中,所述第二图像由所述第一图像加噪后得到;
所述根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络,包括:
根据所述第一视线方向、所述第一检测视线方向、所述第二检测视线方向和第二视线方向,训练所述神经网络,所述第二视线方向为所述第一视线方向经过加噪后得到的视线方向。
3.一种视线追踪方法,其特征在于,包括:
对视频流数据中包括的第三图像进行人脸检测;
对检测到的所述第三图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取所述第三图像中的所述眼部区域图像;
将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
4.根据权利要求3所述的方法,其特征在于,所述将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向之后,所述方法还包括:
根据所述眼部区域图像的视线方向以及所述第三图像的至少一相邻帧图像的视线方向,确定为所述第三图像的视线方向。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述眼部区域图像输入至预先训练完成的神经网络之前,所述方法还包括:采用如权利要求1或2所述的方法训练所述神经网络。
6.一种神经网络训练装置,其特征在于,包括:
第一确定单元,用于根据第一摄像头以及第一图像中的瞳孔确定第一视线方向;其中,所述第一摄像头为拍摄所述第一图像的摄像头,所述第一图像至少包括眼部图像;
检测单元,用于经神经网络检测所述第一图像的视线方向,得到第一检测视线方向;
训练单元,用于根据所述第一视线方向和所述第一检测视线方向,训练所述神经网络。
7.一种视线追踪装置,其特征在于,包括:
人脸检测单元,用于对视频流数据中包括的第三图像进行人脸检测;
第一确定单元,用于对检测到的所述第三图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取单元,用于截取所述第三图像中的所述眼部区域图像;
输入输出单元,用于将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
8.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器通过线路互联;其中,所述存储器用于存储程序指令,所述程序指令被所述处理器执行时,使所述处理器执行权利要求1或2所述的方法。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器通过线路互联;其中,所述存储器用于存储程序指令,所述程序指令被所述处理器执行时,使所述处理器执行权利要求3至5任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,使所述处理器执行权利要求1或2所述的方法;和/或,使所述处理器执行权利要求3至5任意一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811155578.9A CN110969060A (zh) | 2018-09-29 | 2018-09-29 | 神经网络训练、视线追踪方法和装置及电子设备 |
PCT/CN2019/092131 WO2020062960A1 (zh) | 2018-09-29 | 2019-06-20 | 神经网络训练、视线追踪方法和装置及电子设备 |
SG11202100364SA SG11202100364SA (en) | 2018-09-29 | 2019-06-20 | Neural network training method and apparatus, gaze tracking method and apparatus, and electronic device |
JP2021524086A JP7146087B2 (ja) | 2018-09-29 | 2019-06-20 | ニューラルネットワークのトレーニング方法、視線追跡方法及び装置並びに電子機器 |
US17/145,795 US20210133469A1 (en) | 2018-09-29 | 2021-01-11 | Neural network training method and apparatus, gaze tracking method and apparatus, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811155578.9A CN110969060A (zh) | 2018-09-29 | 2018-09-29 | 神经网络训练、视线追踪方法和装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110969060A true CN110969060A (zh) | 2020-04-07 |
Family
ID=69950236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811155578.9A Pending CN110969060A (zh) | 2018-09-29 | 2018-09-29 | 神经网络训练、视线追踪方法和装置及电子设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210133469A1 (zh) |
JP (1) | JP7146087B2 (zh) |
CN (1) | CN110969060A (zh) |
SG (1) | SG11202100364SA (zh) |
WO (1) | WO2020062960A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380935A (zh) * | 2020-11-03 | 2021-02-19 | 深圳技术大学 | 面向自动驾驶的人机协同感知方法及*** |
CN112749655A (zh) * | 2021-01-05 | 2021-05-04 | 风变科技(深圳)有限公司 | 视线追踪方法、装置、计算机设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807119B (zh) * | 2020-05-29 | 2024-04-02 | 魔门塔(苏州)科技有限公司 | 一种人员注视位置检测方法及装置 |
CN111860292B (zh) * | 2020-07-16 | 2024-06-07 | 科大讯飞股份有限公司 | 基于单目相机的人眼定位方法、装置以及设备 |
US11574484B1 (en) * | 2021-01-13 | 2023-02-07 | Ambarella International Lp | High resolution infrared image generation using image data from an RGB-IR sensor and visible light interpolation |
CN113052064B (zh) * | 2021-03-23 | 2024-04-02 | 北京思图场景数据科技服务有限公司 | 基于面部朝向、面部表情及瞳孔追踪的注意力检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012231237A (ja) * | 2011-04-25 | 2012-11-22 | Olympus Imaging Corp | 画像記録装置及び撮像装置 |
CN104951084A (zh) * | 2015-07-30 | 2015-09-30 | 京东方科技集团股份有限公司 | 视线追踪方法及装置 |
CN104951808A (zh) * | 2015-07-10 | 2015-09-30 | 电子科技大学 | 一种用于机器人交互对象检测的3d视线方向估计方法 |
CN104978548A (zh) * | 2014-04-02 | 2015-10-14 | 汉王科技股份有限公司 | 一种基于三维主动形状模型的视线估计方法与装置 |
CN107832699A (zh) * | 2017-11-02 | 2018-03-23 | 北方工业大学 | 基于阵列镜头的兴趣点关注度测试方法及装置 |
CN108171152A (zh) * | 2017-12-26 | 2018-06-15 | 深圳大学 | 深度学习人眼视线估计方法、设备、***及可读存储介质 |
CN108229276A (zh) * | 2017-03-31 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络训练及图像处理方法、装置和电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8457352B2 (en) * | 2007-05-23 | 2013-06-04 | The University Of British Columbia | Methods and apparatus for estimating point-of-gaze in three dimensions |
CN109690553A (zh) * | 2016-06-29 | 2019-04-26 | 醒眸行有限公司 | 执行眼睛注视跟踪的***和方法 |
US10467488B2 (en) * | 2016-11-21 | 2019-11-05 | TeleLingo | Method to analyze attention margin and to prevent inattentive and unsafe driving |
US11132543B2 (en) * | 2016-12-28 | 2021-09-28 | Nvidia Corporation | Unconstrained appearance-based gaze estimation |
CN108229284B (zh) | 2017-05-26 | 2021-04-09 | 北京市商汤科技开发有限公司 | 视线追踪及训练方法和装置、***、电子设备和存储介质 |
CN108171218A (zh) | 2018-01-29 | 2018-06-15 | 深圳市唯特视科技有限公司 | 一种基于深度外观注视网络的视线估计方法 |
-
2018
- 2018-09-29 CN CN201811155578.9A patent/CN110969060A/zh active Pending
-
2019
- 2019-06-20 JP JP2021524086A patent/JP7146087B2/ja active Active
- 2019-06-20 SG SG11202100364SA patent/SG11202100364SA/en unknown
- 2019-06-20 WO PCT/CN2019/092131 patent/WO2020062960A1/zh active Application Filing
-
2021
- 2021-01-11 US US17/145,795 patent/US20210133469A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012231237A (ja) * | 2011-04-25 | 2012-11-22 | Olympus Imaging Corp | 画像記録装置及び撮像装置 |
CN104978548A (zh) * | 2014-04-02 | 2015-10-14 | 汉王科技股份有限公司 | 一种基于三维主动形状模型的视线估计方法与装置 |
CN104951808A (zh) * | 2015-07-10 | 2015-09-30 | 电子科技大学 | 一种用于机器人交互对象检测的3d视线方向估计方法 |
CN104951084A (zh) * | 2015-07-30 | 2015-09-30 | 京东方科技集团股份有限公司 | 视线追踪方法及装置 |
CN108229276A (zh) * | 2017-03-31 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络训练及图像处理方法、装置和电子设备 |
CN107832699A (zh) * | 2017-11-02 | 2018-03-23 | 北方工业大学 | 基于阵列镜头的兴趣点关注度测试方法及装置 |
CN108171152A (zh) * | 2017-12-26 | 2018-06-15 | 深圳大学 | 深度学习人眼视线估计方法、设备、***及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380935A (zh) * | 2020-11-03 | 2021-02-19 | 深圳技术大学 | 面向自动驾驶的人机协同感知方法及*** |
CN112380935B (zh) * | 2020-11-03 | 2023-05-26 | 深圳技术大学 | 面向自动驾驶的人机协同感知方法及*** |
CN112749655A (zh) * | 2021-01-05 | 2021-05-04 | 风变科技(深圳)有限公司 | 视线追踪方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210133469A1 (en) | 2021-05-06 |
JP2021530823A (ja) | 2021-11-11 |
SG11202100364SA (en) | 2021-02-25 |
JP7146087B2 (ja) | 2022-10-03 |
WO2020062960A1 (zh) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020216054A1 (zh) | 视线追踪模型训练的方法、视线追踪的方法及装置 | |
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN110969060A (zh) | 神经网络训练、视线追踪方法和装置及电子设备 | |
US11481923B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
EP3965003A1 (en) | Image processing method and device | |
US20210349940A1 (en) | Video clip positioning method and apparatus, computer device, and storage medium | |
US20210343041A1 (en) | Method and apparatus for obtaining position of target, computer device, and storage medium | |
CN111602140B (zh) | 分析由头戴式设备的相机记录的图像中的对象的方法 | |
US11715224B2 (en) | Three-dimensional object reconstruction method and apparatus | |
CN108810538B (zh) | 视频编码方法、装置、终端及存储介质 | |
CN107592466B (zh) | 一种拍照方法及移动终端 | |
CN111476306A (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
CN110969061A (zh) | 神经网络训练、视线检测方法和装置及电子设备 | |
CN110544272A (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
CN113038165B (zh) | 确定编码参数组的方法、设备及存储介质 | |
CN110675412A (zh) | 图像分割方法、图像分割模型的训练方法、装置及设备 | |
US11816924B2 (en) | Method for behaviour recognition based on line-of-sight estimation, electronic equipment, and storage medium | |
CN110555815B (zh) | 一种图像处理方法和电子设备 | |
CN110807769A (zh) | 图像显示控制方法及装置 | |
CN111385481A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
KR101820503B1 (ko) | 얼굴 인식 추론 기반 서비스 시스템, 그의 얼굴 인식 추론 방법 및 기록 매체 | |
CN114511082A (zh) | 特征提取模型的训练方法、图像处理方法、装置及设备 | |
KR20160128275A (ko) | 얼굴 인식 추론 기반 서비스 시스템, 그의 얼굴 인식 추론 방법 및 기록 매체 | |
CN114973347A (zh) | 一种活体检测方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |