CN110969061A - 神经网络训练、视线检测方法和装置及电子设备 - Google Patents

神经网络训练、视线检测方法和装置及电子设备 Download PDF

Info

Publication number
CN110969061A
CN110969061A CN201811155648.0A CN201811155648A CN110969061A CN 110969061 A CN110969061 A CN 110969061A CN 201811155648 A CN201811155648 A CN 201811155648A CN 110969061 A CN110969061 A CN 110969061A
Authority
CN
China
Prior art keywords
image
coordinate system
neural network
camera coordinate
determining
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
Application number
CN201811155648.0A
Other languages
English (en)
Inventor
王飞
黄诗尧
钱晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201811155648.0A priority Critical patent/CN110969061A/zh
Priority to JP2021524087A priority patent/JP2021531601A/ja
Priority to PCT/CN2019/093907 priority patent/WO2020063000A1/zh
Publication of CN110969061A publication Critical patent/CN110969061A/zh
Priority to US17/170,163 priority patent/US20210165993A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Ophthalmology & Optometry (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

本申请公开了一种神经网络训练、视线检测方法和装置及电子设备。该神经网络训练方法包括:确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,所述第一图像中至少包括眼部图像;根据所述第一坐标和所述第二坐标确定所述第一图像的第一视线方向;经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向;根据所述第一视线方向和所述第一检测视线方向训练所述神经网络。相应的,还提供了对应的装置和电子设备。采用本申请,可提高视线检测的准确性。

Description

神经网络训练、视线检测方法和装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种神经网络训练方法和装置,视线检测方法及装置,电子设备及计算机可读存储介质。
背景技术
视线检测在司机监控,人机交互和安防监控等应用中起重要作用。视线检测是检测在三维空间中人眼注视方向技术。在人机交互方面,通过定位人眼在空间中的三维位置,并结合三维视线方向,获得人的注视点在三维空间中的位置并输出给机器做进一步交互处理。在注意力检测方面,通过估计出人眼的视线方向,判断人的注视方向获得人的感兴趣区域,进而判断人的注意力是否集中。
由此可见,视线检测技术是本领域技术人员正在研究的技术。
发明内容
本申请提供了一种神经网络训练的技术方案以及视线检测的技术方案。
第一方面,本申请实施例提供了一种神经网络训练方法,包括:
确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,所述第一图像中至少包括眼部图像;
根据所述第一坐标和所述第二坐标确定所述第一图像的第一视线方向;
经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向;
根据所述第一视线方向和所述第一检测视线方向训练所述神经网络。
本申请实施例中,神经网络训练装置不仅可自动获得第一视线方向,而且还可大量准确的获取到该第一视线方向,从而为训练神经网络提供准确、可靠且大量的数据,提高了训练的效率,从而提高了预测视线方向的准确性。
其中,神经网络包括深度神经网络(deep neural network,DNN)或卷积神经网络(convolutional neural network,CNN)等,本申请实施例对于该神经网络的具体形式不作限定。
在一种可能的实现方式中,所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络,包括:
根据所述第一视线方向和所述第一检测视线方向的损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络之前,所述方法还包括:
分别归一化处理所述第一视线方向和所述第一检测视线方向;
所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络,包括:
根据归一化处理之后的所述第一视线方向和归一化处理之后的所述第一检测视线方向训练所述神经网络。
在一种可能的实现方式中,所述经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向,包括:
在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于1的整数;
根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向,包括:
根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,包括:
确定所述瞳孔参考点在第二相机坐标系下的坐标;
根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述瞳孔参考点在所述第一相机坐标系下的坐标,确定所述瞳孔参考点在所述第一相机坐标系下的第一坐标。
在一种可能的实现方式中,所述确定所述瞳孔参考点在第二相机坐标系下的坐标,包括:
确定所述瞳孔参考点在所述第一图像中的坐标;
根据所述瞳孔参考点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定所述瞳孔参考点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述第一图像中的角膜上的反光点在所述第二相机坐标系下的坐标,所述反光点为光源在所述角膜上成像的位置;
根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述光源在所述第二相机坐标系下的坐标;
根据所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,根据所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述光源对应的普尔钦斑点在所述第二相机坐标下的坐标;
根据所述普尔钦斑点在所述第二相机坐标下的坐标,所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述确定所述第一图像中的角膜上的反光点在所述第二相机坐标系下的坐标,包括:
确定所述反光点在所述第一图像中的坐标;
根据所述反光点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定反光点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述确定所述光源在所述第二相机坐标系下的坐标,包括:
确定所述光源在世界坐标下的坐标;
根据所述世界坐标系与所述第二相机坐标系的关系,确定所述光源在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述光源包括红外光源或近红外光源,所述光源的数目包括至少两个,且所述反光点与所述光源的数目对应。
本申请实施例中,通过至少两个光源可使得眼睛能覆盖比较大的范围,另外还可以方便确定相互间的位置关系,即可有效确定反光点具体对应的光源,提高效率。
第二方面,本申请实施例提供了一种视线检测方法,包括:
对视频流数据中包括的第二图像进行人脸检测;
对检测到的所述第二图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取所述第二图像中的所述眼部区域图像;
将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
可理解,本申请实施例中所描述的预先训练完成的神经网络即为通过第一方面所描述的方法训练完成的神经网络。
在一种可能的实现方式中,所述将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向之后,所述方法还包括:
根据所述眼部区域图像的视线方向以及所述第二图像的至少一相邻帧图像的视线方向,确定为所述第二图像的视线方向。
在一种可能的实现方式中,所述对视频流数据中包括的第二图像进行人脸检测,包括:
在接收到触发指令的情况下,对所述视频流数据中包括的第二图像进行人脸检测;
或者,在汽车运行时,对所述视频流数据中包括的第二图像进行人脸检测;
或者,在汽车的运行速度达到参考速度的情况下,对所述视频流数据中包括的第二图像进行人脸检测。
在一种可能的实现方式中,所述视频流数据为基于车载摄像头在汽车的驾驶区域的视频流:
所述眼部区域图像的视线方向为所述汽车的驾驶区域中的驾驶员的视线方向。
在一种可能的实现方式中,所述输出所述眼部区域图像的视线方向之后,所述方法还包括:
根据所述眼部区域图像的视线方向确定所述驾驶员的感兴趣区域;
根据所述驾驶员的感兴趣区域确定所述驾驶员的驾驶行为,所述驾驶行为包括所述驾驶员是否分心驾驶。
在一种可能的实现方式中,所述方法还包括:
在所述驾驶员分心驾驶的情况下,输出预警提示信息。
在一种可能的实现方式中,所述输出预警提示信息,包括:
在所述驾驶员分心驾驶的次数达到参考次数的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的时间达到参考时间的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的时间达到所述参考时间,且次数达到所述参考次数的情况下,输出所述预警提示信息;
或者,在所述驾驶员分心驾驶的情况下,向与所述汽车连接的终端发送提示信息。
在一种可能的实现方式中,所述方法还包括:
在所述驾驶员分心驾驶的情况下,存储所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,在所述驾驶员分心驾驶的情况下,将所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于所述汽车连接的终端。
在一种可能的实现方式中,所述将所述眼部区域图像输入至预先训练完成的神经网络之前,所述方法还包括:
确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,所述第一图像中至少包括眼部图像;
根据所述第一坐标和所述第二坐标确定所述第一图像的第一视线方向;
经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向;
根据所述第一视线方向和所述第一检测视线方向训练所述神经网络。
在一种可能的实现方式中,所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络,包括:
根据所述第一视线方向和所述第一检测视线方向的损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络之前,所述方法还包括:
分别归一化处理所述第一视线方向和所述第一检测视线方向;
所述根据所述第一视线方向和所述第一检测视线方向训练所述神经网络,包括:
根据归一化处理之后的所述第一视线方向和归一化处理之后的所述第一检测视线方向训练所述神经网络。
在一种可能的实现方式中,所述经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向,包括:
在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向,包括:
根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,包括:
从相机阵列中确定第二相机,并确定所述瞳孔参考点在第二相机坐标系下的坐标,所述第二相机坐标系为所述第二相机对应的坐标系;
根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述瞳孔参考点在所述第一相机坐标系下的坐标,确定所述瞳孔参考点在所述第一相机坐标系下的第一坐标。
在一种可能的实现方式中,所述确定所述瞳孔参考点在第二相机坐标系下的坐标,包括:
确定所述瞳孔参考点在所述第一图像中的坐标;
根据所述瞳孔参考点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定所述瞳孔参考点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述第一图像中的角膜上的反光点在所述第二相机坐标系下的坐标,所述反光点为光源在所述角膜上成像的位置;
根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述光源在所述第二相机坐标系下的坐标;
根据所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,根据所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标,包括:
确定所述光源对应的普尔钦斑点在所述第二相机坐标下的坐标;
根据所述普尔钦斑点在所述第二相机坐标下的坐标,所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述确定所述第一图像中的角膜上的反光点在所述第二相机坐标系下的坐标,包括:
确定所述反光点在所述第一图像中的坐标;
根据所述反光点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定所述反光点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述确定所述光源在所述第二相机坐标系下的坐标,包括:
确定所述光源在世界坐标下的坐标;
根据所述世界坐标系与所述第二相机坐标系的关系,确定所述光源在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述光源包括红外光源或近红外光源,所述光源包括至少两个光源,且所述反光点与所述光源的数目对应。
第三方面,本申请实施例提供了一种神经网络训练装置,包括:
第一确定单元,用于确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,所述第一图像中至少包括眼部图像;
第二确定单元,用于根据所述第一坐标和所述第二坐标确定所述第一图像的第一视线方向;
检测单元,用于经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向;
训练单元,用于根据所述第一视线方向和所述第一检测视线方向训练所述神经网络。
在一种可能的实现方式中,所述训练单元,具体用于根据所述第一视线方向和所述第一检测视线方向的损失,调整所述神经网络的网络参数。
在一种可能的实现方式中,所述装置还包括:
归一化处理单元,用于分别归一化处理所述第一视线方向和所述第一检测视线方向;
所述训练单元,具体用于根据归一化处理之后的所述第一视线方向和归一化处理之后的所述第一检测视线方向训练所述神经网络。
在一种可能的实现方式中,所述检测单元,具体用于在所述第一图像属于视频图像的情况下,经所述神经网络分别检测相邻N帧图像的视线方向,N为大于1的整数;以及根据所述相邻N帧图像的视线方向,确定第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述检测单元,具体用于根据所述相邻N帧图像的视线方向的平均和,确定所述第N帧图像的视线方向为所述第一检测视线方向。
在一种可能的实现方式中,所述第一确定单元,包括:
第一确定子单元,用于确定所述瞳孔参考点在第二相机坐标系下的坐标;
第二确定子单元,用于根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述瞳孔参考点在所述第一相机坐标系下的坐标,确定所述瞳孔参考点在所述第一相机坐标系下的第一坐标。
在一种可能的实现方式中,所述第一确定子单元,具体用于确定所述瞳孔参考点在所述第一图像中的坐标;以及根据所述瞳孔参考点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定所述瞳孔参考点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述第一确定单元,包括:
第三确定子单元,用于确定所述第一图像中的角膜上的反光点在所述第二相机坐标系下的坐标,所述反光点为光源在所述角膜上成像的位置;
第四确定子单元,用于根据所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述第四确定子单元,具体用于确定所述光源在所述第二相机坐标系下的坐标;以及根据所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述第四确定子单元,具体用于确定所述光源对应的普尔钦斑点在所述第二相机坐标下的坐标;以及根据所述普尔钦斑点在所述第二相机坐标下的坐标,所述光源在所述第二相机坐标系下的坐标,所述第一相机坐标系和所述第二相机坐标系的关系,以及所述角膜上的反光点在所述第二相机坐标系下的坐标,确定所述角膜参考点在所述第一相机坐标系下的第二坐标。
在一种可能的实现方式中,所述第三确定子单元,具体用于确定所述反光点在所述第一图像中的坐标;
以及根据所述反光点在所述第一图像中的坐标,以及所述第二相机的焦距和主点位置,确定反光点在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述第四确定子单元,具体用于确定所述光源在世界坐标下的坐标;以及根据所述世界坐标系与所述第二相机坐标系的关系,确定所述光源在所述第二相机坐标系下的坐标。
在一种可能的实现方式中,所述光源包括红外光源或近红外光源,所述光源的数目包括至少两个,且所述反光点与所述光源的数目对应。
第四方面,本申请实施例提供了一种视线检测装置,包括:
人脸检测单元,用于对视频流数据中包括的第二图像进行人脸检测;
第一确定单元,用于对检测到的所述第二图像中的人脸区域进行关键点定位,确定所述人脸区域中的眼部区域;
截取单元,用于截取所述第二图像中的所述眼部区域图像;
输入输出单元,用于将所述眼部区域图像输入至预先训练完成的神经网络,输出所述眼部区域图像的视线方向。
在一种可能的实现方式中,所述装置还包括:
第二确定单元,用于根据所述眼部区域图像的视线方向以及所述第二图像的至少一相邻帧图像的视线方向,确定为所述第二图像的视线方向。
在一种可能的实现方式中,所述人脸检测单元,具体用于在接收到触发指令的情况下,对所述视频流数据中包括的第二图像进行人脸检测;
或者,所述人脸检测单元,具体用于在汽车运行时,对所述视频流数据中包括的第二图像进行人脸检测;
或者,所述人脸检测单元,具体用于在汽车的运行速度达到参考速度的情况下,对所述视频流数据中包括的第二图像进行人脸检测。
在一种可能的实现方式中,所述视频流数据为基于车载摄像头在汽车的驾驶区域的视频流:
所述眼部区域图像的视线方向为所述汽车的驾驶区域中的驾驶员的视线方向。
在一种可能的实现方式中,所述装置还包括:
第三确定单元,用于根据所述眼部区域图像的视线方向确定所述驾驶员的感兴趣区域;以及根据所述驾驶员的感兴趣区域确定所述驾驶员的驾驶行为,所述驾驶行为包括所述驾驶员是否分心驾驶。
在一种可能的实现方式中,所述装置还包括:
输出单元,用于在所述驾驶员分心驾驶的情况下,输出预警提示信息。
在一种可能的实现方式中,所述输出单元,具体用于在所述驾驶员分心驾驶的次数达到参考次数的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的时间达到参考时间的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的时间达到所述参考时间,且次数达到所述参考次数的情况下,输出所述预警提示信息;
或者,所述输出单元,具体用于在所述驾驶员分心驾驶的情况下,向与所述汽车连接的终端发送提示信息。
在一种可能的实现方式中,所述装置还包括:
存储单元,用于在所述驾驶员分心驾驶的情况下,存储所述眼部区域图像和所述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,发送单元,用于在所述驾驶员分心驾驶的情况下,将所述眼部区域图像喝所述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于所述汽车连接的终端。
在一种可能的实现方式中,所述装置还包括:
第四确定单元,用于确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定所述第一图像中的角膜参考点在所述第一相机坐标系下的第二坐标,所述第一图像中至少包括眼部图像;
所述第四确定单元,还用于根据所述第一坐标和所述第二坐标确定所述第一图像的第一视线方向:
检测单元,用于经神经网络对所述第一图像进行视线方向检测,得到第一检测视线方向;
训练单元,用于根据所述第一视线方向和所述第一检测视线方向训练所述神经网络。
第五方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器;所述存储器用于与所述处理器耦合,所述存储器还用于存储程序指令,所述处理器被配置为支持所述电子设备执行上述第一方面的方法中相应的功能。
可选的,所述电子设备还包括输入输出接口,所述输入输出接口用于支持所述电子设备与其他电子设备之间的通信。
第六方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器;所述存储器用于与所述处理器耦合,所述存储器还用于存储程序指令,所述处理器被配置为支持所述电子设备执行上述第二方面的方法中相应的功能。
可选的,所述电子设备还包括输入输出接口,所述输入输出接口用于支持所述电子设备与其他电子设备之间的通信。
第七方面,本申请实施例还提供了一种视线检测***,所述视线检测***包括:神经网络训练装置和视线检测装置;所述神经网络训练装置和所述视线检测装置通信连接;
其中,所述神经网络训练装置,用于训练神经网络;
所述视线检测装置,用于应用所述神经网络训练装置所训练的神经网络。
可选的,所述神经网络训练装置,用于执行上述第一方面所述的方法;
所述视线检测装置,用于执行上述第二方面所述的相应的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种视线检测方法的流程示意图;
图2a是本申请实施例提供的一种人脸关键点的场景示意图;
图2b是本申请实施例提供的一种眼部区域图像的场景示意图;
图3是本申请实施例提供的一种神经网络训练方法的流程示意图
图4是本申请实施例提供的一种确定第一坐标的方法的流程示意图;
图5是本申请实施例提供的一种确定第二坐标的方法的流程示意图;
图6a是本申请实施例提供的一种第一图像的示意图;
图6b是本申请实施例提供的一种确定瞳孔参考点的示意图;
图6c是本申请实施例提供的一种确定角膜参考点的示意图;
图7是本申请实施例提供的一种神经网络训练方法的场景示意图;
图8a是本申请实施例提供的一种神经网络训练装置的结构示意图;
图8b是本申请实施例提供的另一种神经网络训练装置的结构示意图;
图9a是本申请实施例提供的一种第一确定单元的结构示意图;
图9b是本申请实施例提供的另一种第一确定单元的结构示意图;
图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)所示:
Figure BDA0001818033990000121
其中,gaze即为第二图像的视线方向,也即为第二图像的三维(3dimensions,3D)视线方向。
可选的,还可根据上述第N帧图像对应的视线方向和上述第N-1帧图像对应的视线方向的加权和,计算上述第N帧图像对应的视线方向。
又举例来说,如以上述所示的参数为例,则第N帧图像对应的视线方向的计算方式可如公式(2)所示:
Figure BDA0001818033990000122
可理解,以上两个公式仅为一种示例,不应理解为对本申请实施例的限定。
实施本申请实施例,可有效防止神经网络输出的视线方向存在抖动的情况,从而可有效提高视线方向预测的准确度。
因此,在图1所示的基础上,本申请实施例还提供了一种如何利用神经网络所输出的视线方向的方法,如下所示:
上述输出上述眼部区域图像的视线方向之后,上述方法还包括:
根据上述眼部区域图像的视线方向确定上述驾驶员的感兴趣区域;
根据上述驾驶员的感兴趣区域确定上述驾驶员的驾驶行为,上述驾驶行为包括上述驾驶员是否分心驾驶。
本申请实施例中,视线检测装置通过输出视线方向,便可分析出驾驶员所注视的方向,即可得到该驾驶员所感兴趣的大致区域。由此,便可根据该感兴趣区域来确定驾驶员是否在认真开车。如一般情况下,驾驶员认真开车时,会注视前方,偶尔会左右查看,但是如果发现驾驶员感兴趣区域经常不在前方,则可确定该驾驶员已分心驾驶。
可选的,在视线检测装置确定该驾驶员分心驾驶的情况下,该视线检测装置便可输出预警提示信息。为了提高输出预警提示信息的准确度,避免给驾驶员造成不必要的麻烦,因此上述输出预警提示信息可包括:
在上述驾驶员分心驾驶的次数达到参考次数的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的时间达到参考时间的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的时间达到上述参考时间,且次数达到上述参考次数的情况下,输出上述预警提示信息;
或者,在上述驾驶员分心驾驶的情况下,向与上述汽车连接的终端发送提示信息。
可理解,上述参考次数、参考时间是为了衡量视线检测装置何种输出预警提示信息,因此,本申请实施例对于上述参考次数和参考时间的不作具体限定。
可理解,该视线检测装置可通过无线或有线的方式与终端进行连接,从而可使得该视线检测装置向终端发送提示信息,以能够及时提醒驾驶员或汽车内的其他人员。其中,该终端具体为驾驶员的终端,还可汽车内的其他人员的终端,本申请实施例不作唯一性限定。
实施本申请实施例,可使得视线检测装置能够多次分析或长时间分析视频流数据中任意帧图像的视线方向,从而进一步提高驾驶员是否分心驾驶的准确度。
进一步地,在上述驾驶员分心驾驶的情况下,视线检测装置还可存储上述眼部区域图像和上述眼部区域图像中前后预定帧数的图像中的一项或多项;
或者,在上述驾驶员分心驾驶的情况下,将上述眼部区域图像和上述眼部区域图像中前后预定帧数的图像中的一项或多项发送至于上述汽车连接的终端。
本申请实施例中,该视线检测装置可存储眼部区域图像,还可存储眼部区域图像中前后预定帧数的图像,还可同时存储眼部区域图像和该眼部区域图像中前后预定帧数的图像,从而可为后续用户查询视线方向提供便利。以及通过将上述图像发送至终端,可使得用户能够时时刻刻的进行视线方向查询,可使得用户能够及时得到眼部区域图像和眼部区域图像中前后预定帧数的图像中的至少一项。
本申请实施例神经网络可由卷积层、非线性层、池化层等网络层按照一定方式堆叠设计而成,本申请实施例对具体的网络结构并不限制。设计好神经网络结构后,可基于带有标注信息的正、负样本图像,采用监督方式对设计好的神经网络进行反向梯度传播等方法进行成千上万次的迭代训练,具体的训练方式本申请实施例并不限制。下面介绍本申请实施例的可选的神经网络的训练方法。
首先,介绍本申请实施例中出现的技术术语。
世界坐标系,也即测量坐标系,是绝对的坐标系。
相机坐标系,相机坐标系的原点为相机的光心,z轴为相机光轴。
世界坐标系与相机坐标系的关系的获得方法,可如下所示:
确定世界坐标系,包括坐标系原点和x、y、z轴,通过测量的方法可得到世界坐标系下的任意物体的坐标系。如通过测量得到在世界坐标系下的一组点的坐标系,然后分别通过相机拍摄该一组点,从而得到该一组点在该相机下的坐标系。假设世界坐标系相对于相机坐标系的3*3旋转矩阵为R,3*1的平移向量为T,则可得到世界坐标系与相机坐标系之间的旋转和平移。
可理解,以上仅为获得世界坐标系和相机坐标系之间关系的一种示例,在具体实现中,还存在其他方式,因此,不应将本申请实施例提供的方法作为限定。
相机坐标系,相机坐标系的原点为相机的光心,z轴为相机光轴。可理解,该相机也可称为摄像头,或该相机具体可为红绿蓝(red green blue,RGB)相机、红外相机或近红外相机等等,本申请实施例不作限定。本申请实施例中,该相机坐标系也可以称为摄像头坐标系等等,本申请实施例对于其名称不作限定。本申请实施例中,该相机坐标系分别包括第一相机坐标系和第二相机坐标系。以下具体介绍第一相机坐标系和第二相机坐标系的关系。
第一相机坐标系,本申请实施例中,该第一相机坐标系即为从相机阵列中确定的任意相机的坐标系。可理解,该相机阵列也可称为摄像头阵列等等,本申请实施例对于该相机阵列的名称不作限定。具体的,该第一相机坐标系可为第一相机对应的坐标系,也或者称为第一摄像头对应的坐标系等等。
第二坐标系,本申请实施例中,第二坐标系即为与第二相机对应的坐标系,也即第二相机的坐标系。
第一相机坐标系与第二相机坐标系的关系的确定方法,可如下所示:
从相机阵列中确定第一相机,并确定第一相机坐标系;
获取相机阵列中每个相机的焦距和主点位置;
根据上述第一相机坐标系、上述相机阵列中每个相机的焦距和主点位置,确定上述第二相机坐标系和上述第一相机坐标系的关系。
举例来说,建立第一相机坐标系后,可利用经典的棋盘格标定的方法,获取相机阵列中每个相机的焦距和主点位置,从而确定其他相机坐标系(如第二相机坐标系)相对于该第一相机坐标系的旋转和平移。
本申请实施例中,该相机阵列中至少包括第一相机和第二相机,且本申请实施例对于各个相机之间的位置朝向不作限定,如该相机阵列中的相机可以能够覆盖人眼视线范围为准,来设置各个相机之间的关系。
举例来说,以相机阵列为c1、c2、c3、c4、c5、c6、c7、c8、c9、c10为例,以c5(部署在中心的相机)作为第一相机,并建立第一相机坐标系,利用经典的棋盘格标定的方法,获取所有相机的焦距f、主点位置(u,v),以及相对于第一相机的旋转和平移。定义每个相机所在的坐标系为一个相机坐标系,通过双目相机标定计算在该第一相机坐标系下其余相机相对于该第一相机的位置和朝向。从而可确定第一相机坐标系和第二相机坐标系的关系。可理解,确定第一相机之后,第二相机可为除了该第一相机之外的其他相机,该第二相机可包括至少两个。
可理解,以上仅为一种示例,在具体实现中,还可以通过其他方法来确定基准相机坐标系与其他相机坐标系的关系,如张正友标定法等等,本申请实施例不作限定。可理解,本申请实施例中的相机可为红外相机,或者其他类型的相机等等,本申请实施例不作限定。
参见图3,图3是本申请实施例提供的一种神经网络训练方法的流程示意图,该神经网络训练方法可应用于视线检测装置,该视线检测装置可包括服务器和终端设备,该终端设备可包括手机、平板电脑、台式电脑、个人掌上电脑等等,本申请实施例对于该视线检测装置的具体形式不作唯一性限定。可理解,该神经网络的训练方法还可应用于神经网络训练装置中,该神经网络训练装置可包括服务器和终端设备。其中,该神经网络训练装置可以与视线检测装置为同一类型的装置,或者,该神经网络训练装置还可以视线检测装置为不同类型的装置等等,本申请实施例不作限定。
如图3所示,该神经网络训练方法包括:
301、确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定上述第一图像中的角膜参考点在上述第一相机坐标系下的第二坐标,上述第一图像中至少包括眼部图像。
本申请实施例中,第一图像即为相机拍摄到的包括眼睛的2D图片,且该第一图像为待输入至神经网络中,训练该神经网络的图像。具体的,该第一图像的数量可至少为两个,该第一图像的数量具体为多少,以训练程度而确定,因此本申请实施例对于该第一图像的数量不作限定。
本申请实施例中,如拍摄第一图像的相机为第二相机(包括至少两个相机),则可先确定瞳孔参考点在第二相机坐标系下的坐标后,依据该第一相机坐标系与第二相机坐标系的关系,来确定该第一坐标。具体实现方式可如图4所示。
同样地,也可先确定光源在角膜参考点上成像的位置即反光点在第二相机坐标系下的坐标后,依据该第一相机坐标系与第二相机坐标系的关系,来确定该第二坐标。具体实现方式可如图5所示。
本申请实施例中,该角膜参考点可为角膜上的任意一点,可选的,该角膜参考点可为角膜中心或者边缘点,又或者为角膜上的其他关键点等等,本申请实施例对于该角膜参考点的位置不作唯一性限定。瞳孔参考点也可为瞳孔上的任意一点,可选的,该瞳孔参考点可为瞳孔中心或瞳孔边缘的,又或者为瞳孔上的其他关键点等等,本申请实施例对于该瞳孔参考点的位置不作唯一性限定。
302、根据上述第一坐标和上述第二坐标确定上述第一图像的第一视线方向。
本申请实施例中,在得到第一坐标和第二坐标后,根据这两个坐标的连线即可得到第一视线方向。即根据瞳孔参考点和角膜参考点的连接来确定第一视线方向,还可以增加该第一视线方向的准确性。
303、经神经网络对上述第一图像进行视线方向检测,得到第一检测视线方向。
可理解,该第一图像还可仅为与眼睛相关的图像,以避免包含其他身体部位而增加神经网络检测视线方向的负担。图6a是本申请实施例示出的一种第一图像的示意图,图中还示出了光源在角膜上形成的反光点。可理解,本申请实施例中的第一图像可为单只眼睛对应的图像,也可为双眼对应的图像,本申请实施例不作限定。
可选的,本申请实施例还提供了一种获取第一图像的方法。其中,获得该第一图像的方法可如下所示:
通过人脸检测方法获得人脸在图像中的位置;其中,该图像中眼睛的占比大于或等于预设比例;
通过人脸关键点定位确定该图像中的眼睛的位置;
裁剪该图像,获得该图像中的眼睛的图像。
其中,该图像中的眼睛的图像即为第一图像。
可选的,由于人脸存在一定的旋转角度,因此在通过人脸关键点定位确定该图像中的眼睛的位置之后,还可以将双眼内眼角水平轴坐标旋转至相等。从而在将双眼内眼角水平轴坐标旋转至相等后,将旋转后的图像中的眼睛裁剪下来,进而获得第一图像。
可理解,预设比例是为了衡量图像中眼睛所占大小来设置,该预设比例的设置目的是为了确定获取到的图像是否需要进行裁剪等等,因此预设比例的具体大小可由用户设置,也可由神经网络训练装置自动设置等等,本申请实施例不作限定。举例来说,上述图像正好是眼睛的图像,则可以直接将该图像输入至神经网络。又举例来说,上述图像中眼睛所占的比例为十分之一,则说明需要对图像进行裁剪等操作来获取第一图像。
可理解,为了进一步提高视线方向的平滑性,因此上述经神经网络对上述第一图像进行视线方向检测,得到第一检测视线方向,包括:
在上述第一图像属于视频图像的情况下,经上述神经网络分别检测相邻N帧图像的视线方向,N为大于等于1的整数;
根据上述相邻N帧图像的视线方向,确定第N帧图像的视线方向为上述第一检测视线方向。
其中,本申请实施例对于N的具体取值不作限定,该相邻N帧图像可以为第N帧图像的前N帧图像(包括第N帧),也可以为后N帧图像,还可以为前后N帧图像等等,本申请实施例不作限定。
可选的,可以根据相邻N帧图像的视线方向的平均和来确定第N帧图像的视线方向,从而平滑处理该视线方向,使得得到的第一检测视线方向更加稳定。
304、根据上述第一视线方向和上述第一检测视线方向训练上述神经网络。
可理解,在训练神经网络之后,便可利用该神经网络检测第二图像的视线方向,具体检测方式可参考图1所示的实现方式,这里不再一一详述。
可理解,在通过以上方法训练神经网络,得到神经网络后,该神经网络训练装置可直接应用该神经网络检测视线方向,或者,该神经网络训练装置也可以将该训练好的神经网络发送给其他装置,该其他装置利用该训练好的神经网络检测视线方向。至于该神经网络训练装置具体发送给哪些装置,本申请实施例不作限定。
可选的,上述根据上述第一视线方向和上述第一检测视线方向训练上述神经网络,包括:
根据上述第一视线方向和上述第一检测视线方向的损失,调整上述神经网络的网络参数。
可选的,上述根据上述第一视线方向和上述第一检测视线方向训练上述神经网络之前,上述方法还包括:
分别归一化处理上述第一视线方向和上述第一检测视线方向;
上述根据上述第一视线方向和上述第一检测视线方向训练上述神经网络,包括:
根据归一化处理之后的上述第一视线方向和归一化处理之后的上述第一检测视线方向训练上述神经网络。
其中,也可以根据归一化处理之后的第一视线方向和归一化处理之后的第一检测视线方向的损失,来调整神经网络的网络参数。具体的,该网络参数可包括卷积核大小参数、权重参数等等,本申请实施例对于该神经网络所具体包括的网络参数不作限定。
具体的,假设第一视线方向为(x1,y1,z1),第一检测视线方向为(x2,y2,z2),则归一化处理的方式可如下所示:
Figure BDA0001818033990000161
Figure BDA0001818033990000162
其中,normalize ground truth即为归一化处理之后的第一视线方向,normalizeprediction gaze即为归一化处理之后的第一检测视线方向。
损失函数的计算方式可如下所示:
loss=||normalize ground truth-normalize prediction gaze|| (5)
其中,loss即为归一化处理之后的第一视线方向和归一化处理之后的第一检测视线方向的损失。
可理解,以上各个字母或参数的表示形式仅为一种示例,不应理解为对本申请实施例的限定。
本申请实施例中,通过归一化处理第一视线方向和第一检测视线方向,可消除第一视线方向和第一检测视线方向中模长的影响,从而只关注视线方向。
进一步地,还可根据归一化处理之后的第一视线方向和归一化处理之后的第一检测视线方向之间的夹角的余弦值来衡量第一视线方向和该第一检测视线方向的损失。具体的,上述归一化处理之后的第一视线方向和归一化处理之后的第一检测视线方向的夹角的余弦值越小,上述第一视线方向和上述第一检测视线方向的损失值越小。也就是说,归一化处理之后的第一视线方向和归一化处理之后的第一检测视线方向的夹角越大,这两个向量之间的欧式距离就越大,损失值越大;而当这两个向量完全重合时,损失值即为0。
通过实施本申请实施例,神经网络训练装置不仅可自动获得第一视线方向,而且还可大量精确的获取到该第一视线方向,从而为训练神经网络提供准确、可靠且大量的数据,提高了训练的效率,从而提高了检测视线方向的准确性。
进一步地,本申请实施例还提供了一种如何确定第一坐标的方法,参见图4,图4是本申请实施例提供的一种确定第一坐标方法的流程示意图,该方法可应用于神经网络训练装置,如图4所示,该方法包括:
401、从相机阵列中确定第二相机,并确定瞳孔参考点在第二相机坐标系下的坐标,上述第二相机坐标系为上述第二相机对应的坐标系。
本申请实施例中,对于第二相机坐标系以及第二相机的具体描述可参考前述实施例,这里不再一一详述。
可选的,上述确定上述瞳孔参考点在第二相机坐标系下的坐标,包括:
确定上述瞳孔参考点在上述第一图像中的坐标;
根据上述瞳孔参考点在上述第一图像中的坐标,以及上述第二相机的焦距和主点位置,确定上述瞳孔参考点在上述第二相机坐标系下的坐标。
如可通过瞳孔边缘点检测方法来检测瞳孔参考点在第一图像中的坐标。举例来说,对于拍摄到的一张眼睛的2D图片,即第一图像,可直接通过检测人眼瞳孔边缘点的网络模型,来提取出围绕瞳孔边缘一圈的点,然后根据该围绕瞳孔边缘一圈的点来计算出瞳孔参考点位置的坐标如(m,n)。其中,所计算出的瞳孔参考点位置的坐标(m,n)也可理解为瞳孔参考点在第一图像中的坐标。又可理解为该瞳孔参考点在像素坐标系下的坐标。
假设拍摄该第一图像的相机即第二相机的焦距为f,主点位置为(u,v),则瞳孔参考点投影到该第二相机的成像平面上的点,在该第二相机坐标系下的坐标即为(m-u,n-v,f),也为在第二相机坐标系下的3D坐标。
可理解,第二相机包括至少两个时,还根据不同相机(即不同的第二相机)所拍摄到的第一图像,计算出该瞳孔参考点投影到各个相机的成像平面上的点,在各自相机坐标系下的坐标。
402、根据第一相机坐标系和上述第二相机坐标系的关系,以及上述瞳孔参考点在上述第一相机坐标系下的坐标,确定上述瞳孔参考点在上述第一相机坐标系下的第一坐标。
可理解,本申请实施例中,第二相机可为摄像头阵列中的任意相机,可选的,该第二相机包括至少两个相机。也就是说,可以利用至少两个第二相机来拍摄,从而得到两个第一图像,以及分别得到瞳孔在至少两个第二相机中任意一个第二相机坐标系下的坐标(具体可参考前述描述);进而可将在各自坐标系下的坐标都统一到第一相机坐标系下。由此,在依次确定瞳孔在第一相机坐标系下的坐标以及第二相机坐标系下的坐标之后,便可利用相机、瞳孔参考点的投影点和瞳孔参考点三点一线的性质,得到在同一坐标系下的坐标,瞳孔参考点(也即图6b中的瞳孔参考点)在该第一相机坐标系下的坐标即为这些直线的共同交点,可如图6b所示。
可理解,在一些实现方式中,也将第一相机坐标系称为基准相机坐标系或参考相机坐标,因此,本申请实施例对于该名称不作唯一性限定。
其中,对于第一相机坐标系与第二相机坐标系的关系的实现方式,可参考前述实施例,这里不再赘述。
实施本申请实施例,可精确地得到瞳孔参考点在第一相机坐标系下的坐标,从而为确定第一视线方向提供可靠的基础,提高了训练神经网络的准确度。
进一步地,本申请实施例还提供了一种如何确定第二坐标的方法,参见图5,图5是本申请实施例提供的一种确定第二坐标的方法的流程示意图,该方法可应用于神经网络训练装置。
如图5所示,该方法包括:
501、确定光源在第二相机坐标系下的坐标。
本申请实施例中,该光源包括红外光源或近红外光源,又或者包括非红外光源等等,本申请实施例对于该光源的具体类型不作限定。
本申请实施例中,上述光源至少为两个。但是在实际应用中,通过实验发现仅仅使用两个光源并不能得到可靠的结果,一方面是由于在利用方程求角膜参考点时数量过少而无法排除噪声的干扰;另一方面是由于在某些角度下,光源在角膜出的反光可能拍不到。因此,本申请实施例中,上述红外光源至少为三个。
可选的,上述确定光源在第二相机坐标系下的坐标,包括:
确定上述光源在世界坐标下的坐标;
根据上述世界坐标系与上述第二相机坐标系的关系,确定上述光源在上述第二相机坐标系下的坐标。
其中,世界坐标系与第二相机坐标系的关系的确定方法,可参考世界坐标系与相机坐标系的关系的确定方法,这里不再一一赘述。
如假设红外光源为八个,分别为L1至L8,在世界坐标系下的坐标设为{ai,i=1至8},在第二相机坐标系下的坐标为{bi,i=1至8},则有如下公式:
ai=R×bi+T (6)
其中,R和T的获取方法可参考前述实施例。
502、确定上述第一图像中的角膜上的反光点在上述第二相机坐标系下的坐标,上述反光点为上述光源在角膜上成像的位置。
本申请实施例中,上述反光点为上述光源在上述角膜上形成的反光点。如图6a所示,图6a所示的眼睛中的亮点即为反光点。其中,反光点的个数可与光源的个数相同。
其中,确定第一图像中的角膜上的反光点在第二相机坐标系下的坐标,可如下所示:
确定上述反光点在上述第一图像中的坐标;
根据上述反光点在上述第一图像中的坐标,根据第二相机的焦距和主点位置,确定上述反光点在第二相机坐标系下的坐标。
可理解,确定角膜上的反光点在第二相机坐标系下的坐标的具体实现方式,可参考瞳孔参考点在第二相机坐标系下的坐标的实现方式。
503、根据上述光源在上述第二相机坐标系下的坐标,上述第一相机坐标系和上述第二相机坐标系的关系,以及上述角膜上的反光点在上述第二相机坐标系下的坐标,确定上述角膜参考点在上述第一相机坐标系下的第二坐标。
本申请实施例中,可根据光源、反光点以及反射光线在成像平面上的相交点来确定第二坐标。即根据入射光线、反射光线和法线三线共面来确定。具体方式可如下所示:
上述根据上述光源在上述第二相机坐标系下的坐标,上述第一相机坐标系和上述第二相机坐标系的关系,以及上述角膜上的反光点在上述第二相机坐标系下的坐标,确定上述角膜参考点在上述第一相机坐标系下的第二坐标,包括:
根据上述红外光源在上述第二相机坐标系下的坐标,和上述角膜上的反光点在上述第二相机坐标系下的坐标,确定与上述光源对应的普尔钦斑点在上述第二相机坐标系下的坐标;
根据上述光源在上述第二相机坐标系下的坐标,上述角膜上的反光点在上述第二相机坐标系下的坐标,上述普尔钦斑点在上述第二相机坐标系下的坐标,以及上述第二相机坐标系与上述第一相机坐标下的关系,确定上述第二坐标。
为形象的理解该方法,如图6c所示,图6c是本申请实施例提供的一种确定角膜参考点的示意图。其中,L1,L2......L8分别表示8个红外光源。
其中,以红外光源L2经过角膜反射后对相机C2成像为例,从L2发出的一条光线在角膜外表面G22处反射(即反光点),反射光线通过C2与成像平面P2相交于普尔钦(Purkinje)斑点G’22。由反射定律可知,入射光线G22L2、反射光线G’22C2和法线G22A三线共面。若将此面记为π22=(L2-C2)×(G′22-C2),则角膜所在球体中心A满足π22*(A-C2)=0。其中,π22中第一个2可表示红外光源的序号,第二个2个表示相机的序号,以下类似。
同理,可以列出另外3个包含球体中心A的平面π11,π12,π21。通过求解如下方程组即可得到A在相机坐标系下的坐标。
π11*(A-C1)=0 (7)
π12*(A-C2)=0 (8)
π21*(A-C1)=0 (9)
π22*(A-C2)=0 (10)
从中可看出,虽然从原理上来说用以上4个式子中的3个就可以解出角膜参考点A在基准相机坐标系中的坐标,但在实际采集数据中,发现仅使用2个光源并不能得到可靠的结果。一是因为仅仅方程数量过少无法排除噪声的干扰,二是因为某些角度下,光源在角膜处的反光是拍不到的。由此为了解决这个问题,在采集***中一共加入了8个红外光源,保证在绝大部分头部姿态和视角下,角膜处都有足够的反光亮点用于计算角膜参考点坐标。
实施本申请实施例,在确定角膜参考点时,利用多个斑点构建超定方程组,可以提高计算过程的鲁棒性和准确性。从而可以精度的得到角膜参考点在基准相机坐标系下的坐标,进而为训练DNN提高精度的数据,提高了训练效率。
可理解,图1至图5所示的方法各有侧重,在一个实施例中未详尽描述的实现方式,还可参考其他实施例的描述。
更具体的,参见图7,图7是本申请实施例提供的一种视线检测方法的场景示意图,如图7所示,该方法包括:
701、标定多台红外相机,即获得各相机的焦距、主点位置,以及相机之间的相对旋转和平移。
702、计算红外光源在相机坐标系中的3D坐标。
703、计算人眼的(即第一图像中的人眼)瞳孔参考点在相机坐标系中的3D坐标(即第一坐标)。
704、计算红外光源在人眼的角膜上形成的反光点在相机坐标中的3D坐标。
705、利用角膜模型,计算角膜参考点在相机坐标中的3D坐标(即第二坐标)。
706、利用角膜参考点和瞳孔参考点的连线获得人眼视线的3D向量真实值。
707、利用采集的数据训练用于检测人眼3D视线检测的神经网络。
实施本申请实施例,可以更快、更准确、更稳定地获得大量的人眼视线数据(即第一检测视线方向)以及对应的视线方向真实值(即第一视线方向)。以及利用端到端的方式训练用于人眼3D视线检测的深度卷积神经网络,使得人眼3D视线检测这一任务变得更加易于训练,训练后的网络也更方便直接应用。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
参见图8a,图8a是本申请实施例提供的一种神经网络训练装置的结构示意图,如图8a所示,该神经网络训练装置可包括:
第一确定单元801,用于确定第一图像中的瞳孔参考点在第一相机坐标系下的第一坐标,以及确定上述第一图像中的角膜参考点在上述第一相机坐标系下的第二坐标,上述第一图像中至少包括眼部图像;
第二确定单元802,用于根据上述第一坐标和上述第二坐标确定上述第一图像的第一视线方向;
检测单元803,用于经神经网络对上述第一图像进行视线方向检测,得到第一检测视线方向;
训练单元804,用于根据上述第一视线方向和上述第一检测视线方向训练上述神经网络。
实施本申请实施例,神经网络训练装置不仅可自动获得第一视线方向,而且还可大量精确的获取到该第一视线方向,从而为训练神经网络提供准确、可靠且大量的数据,提高了训练的效率,从而提高了检测或预测视线方向的准确性。
可选的,上述训练单元804,具体用于根据上述第一视线方向和上述第一检测视线方向的损失,调整上述神经网络的网络参数。
可选的,如图8b所示,上述装置还包括:
归一化处理单元,用于分别归一化处理上述第一视线方向和上述第一检测视线方向;
上述训练单元,具体用于根据归一化处理之后的上述第一视线方向和归一化处理之后的上述第一检测视线方向训练上述神经网络。
可选的,上述检测单元803,具体用于在上述第一图像属于视频图像的情况下,经上述神经网络分别检测相邻N帧图像的视线方向,N为大于1的整数;以及根据上述相邻N帧图像的视线方向,确定第N帧图像的视线方向为上述第一检测视线方向。
可选的,上述检测单元803,具体用于根据上述相邻N帧图像的视线方向的平均和,确定上述第N帧图像的视线方向为上述第一检测视线方向。
具体的,如图9a所示,上述第一确定单元801,包括:
第一确定子单元8011,用于确定上述瞳孔参考点在第二相机坐标系下的坐标;
第二确定子单元8012,用于根据上述第一相机坐标系和上述第二相机坐标系的关系,以及上述瞳孔参考点在上述第一相机坐标系下的坐标,确定上述瞳孔参考点在上述第一相机坐标系下的第一坐标。
可选的,上述第一确定子单元8011,具体用于确定上述瞳孔参考点在上述第一图像中的坐标;以及根据上述瞳孔参考点在上述第一图像中的坐标,以及上述第二相机的焦距和主点位置,确定上述瞳孔参考点在上述第二相机坐标系下的坐标。
可选的,如图9b所示,上述第一确定单元801,还可包括:
第三确定子单元8013,用于确定上述第一图像中的角膜上的反光点在上述第二相机坐标系下的坐标,上述反光点为光源在上述角膜参考点上成像的位置;
第四确定子单元8014,用于根据上述第一相机坐标系和上述第二相机坐标系的关系,以及上述角膜上的反光点在上述第二相机坐标系下的坐标,确定上述角膜参考点在上述第一相机坐标系下的第二坐标。
可选的,上述第四确定子单元8014,具体用于确定上述光源在上述第二相机坐标系下的坐标;以及根据上述光源在上述第二相机坐标系下的坐标,上述第一相机坐标系和上述第二相机坐标系的关系,以及上述角膜上的反光点在上述第二相机坐标系下的坐标,确定上述角膜参考点在上述第一相机坐标系下的第二坐标。
可选的,上述第四确定子单元8014,具体用于确定上述光源对应的普尔钦斑点在上述第二相机坐标下的坐标;以及根据上述普尔钦斑点在上述第二相机坐标下的坐标,上述光源在上述第二相机坐标系下的坐标,上述第一相机坐标系和上述第二相机坐标系的关系,以及上述角膜上的反光点在上述第二相机坐标系下的坐标,确定上述角膜参考点在上述第一相机坐标系下的第二坐标。
可选的,上述第三确定子单元8013,具体用于确定上述反光点在上述第一图像中的坐标;
以及根据上述反光点在上述第一图像中的坐标,以及上述第二相机的焦距和主点位置,确定反光点在上述第二相机坐标系下的坐标。
可选的,上述第四确定子单元8014,具体用于确定上述光源在世界坐标下的坐标;以及根据上述世界坐标系与上述第二相机坐标系的关系,确定上述光源在上述第二相机坐标系下的坐标。
可选的,上述光源包括红外光源或近红外光源,上述光源的数目包括至少两个,且上述反光点与上述光源的数目对应。
可理解,各个单元的实现及其装置类实施例的技术效果还可以对应参照上文或图3至图5以及图7所示的方法实施例的相应描述。
参见图10,图10是本申请实施例提供的一种电子设备的结构示意图,如图10所示,该电子设备包括处理器1001、存储器1002和输入输出接口1003,所述处理器1001、存储器1002和输入输出接口1003通过总线相互连接。
输入输出接口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以及图7所示的方法实施例的相应描述。以及各个操作的实现还可对应参照图8a、图8b、图9a和图9b所示的装置实施例的相应描述。
如在一个实施例中,处理器1001可用于执行步骤301、步骤302、步骤303和步骤304所示的方法,又如处理器1001还可用于执行第一确定单元801、第二确定单元802、检测单元803和训练单元804所执行的方法。
可理解,各个操作的实现还可参考其他实施例,这里不再一一详述。
参见图11,图11是本申请实施例提供的一种视线检测装置的结构示意图,该视线检测装置可用于执行图1至图7所示的方法,如图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至图7所示的方法实施例的相应描述。
可理解,对于第四确定单元、检测单元和训练单元的具体实现方式还可参考图8a和图8b所示的实现方式,这里不再一一详述。
请参见图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至图7所示的方法实施例的相应描述。或者,各个操作的实现还可对应参考图11和图12所示的实施例的相应描述。
如在一个实施例中,处理器1301可用于执行步骤101至步骤104所示的方法,又如处理器1301还可用于执行人脸检测单元1101、第一确定单元1102、截取单元1103和输入输出单元1104所执行的方法。
可理解,各个操作的实现还可参考其他实施例,这里不再一一详述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

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任意一项所述的方法。
CN201811155648.0A 2018-09-29 2018-09-29 神经网络训练、视线检测方法和装置及电子设备 Pending CN110969061A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201811155648.0A CN110969061A (zh) 2018-09-29 2018-09-29 神经网络训练、视线检测方法和装置及电子设备
JP2021524087A JP2021531601A (ja) 2018-09-29 2019-06-28 ニューラルネットワーク訓練、視線検出方法及び装置並びに電子機器
PCT/CN2019/093907 WO2020063000A1 (zh) 2018-09-29 2019-06-28 神经网络训练、视线检测方法和装置及电子设备
US17/170,163 US20210165993A1 (en) 2018-09-29 2021-02-08 Neural network training and line of sight detection methods and apparatus, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811155648.0A CN110969061A (zh) 2018-09-29 2018-09-29 神经网络训练、视线检测方法和装置及电子设备

Publications (1)

Publication Number Publication Date
CN110969061A true CN110969061A (zh) 2020-04-07

Family

ID=69950206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811155648.0A Pending CN110969061A (zh) 2018-09-29 2018-09-29 神经网络训练、视线检测方法和装置及电子设备

Country Status (4)

Country Link
US (1) US20210165993A1 (zh)
JP (1) JP2021531601A (zh)
CN (1) CN110969061A (zh)
WO (1) WO2020063000A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723716A (zh) * 2020-06-11 2020-09-29 深圳地平线机器人科技有限公司 确定目标对象朝向的方法、装置、***、介质及电子设备
CN112308932A (zh) * 2020-11-04 2021-02-02 中国科学院上海微***与信息技术研究所 一种注视检测方法、装置、设备及存储介质
CN112401887A (zh) * 2020-11-10 2021-02-26 恒大新能源汽车投资控股集团有限公司 一种驾驶员注意力监测方法、装置及电子设备
CN112766097A (zh) * 2021-01-06 2021-05-07 中国科学院上海微***与信息技术研究所 视线识别模型的训练方法、视线识别方法、装置及设备
CN113052064A (zh) * 2021-03-23 2021-06-29 北京思图场景数据科技服务有限公司 基于面部朝向、面部表情及瞳孔追踪的注意力检测方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220244779A1 (en) * 2019-07-10 2022-08-04 Nec Corporation Gaze point detection device and gaze point detection method
CN113011286B (zh) * 2021-03-02 2022-09-09 重庆邮电大学 基于视频的深度神经网络回归模型的斜视判别方法及***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070230797A1 (en) * 2006-03-30 2007-10-04 Fujifilm Corporation Method, apparatus, and program for detecting sightlines
CN101336826A (zh) * 2007-07-04 2009-01-07 欧姆龙株式会社 斜视检测装置和方法、以及程序
CN102520796A (zh) * 2011-12-08 2012-06-27 华南理工大学 一种基于逐步回归分析映射模型的视线跟踪方法
US20150098633A1 (en) * 2013-10-09 2015-04-09 Aisin Seiki Kabushiki Kaisha Face detection apparatus, face detection method, and program
CN104978548A (zh) * 2014-04-02 2015-10-14 汉王科技股份有限公司 一种基于三维主动形状模型的视线估计方法与装置
CN105426827A (zh) * 2015-11-09 2016-03-23 北京市商汤科技开发有限公司 活体验证方法、装置和***
CN106547341A (zh) * 2015-09-21 2017-03-29 现代自动车株式会社 注视***及其跟踪注视的方法
CN107209849A (zh) * 2015-01-07 2017-09-26 微软技术许可有限责任公司 眼睛跟踪
CN108171152A (zh) * 2017-12-26 2018-06-15 深圳大学 深度学习人眼视线估计方法、设备、***及可读存储介质
CN108229284A (zh) * 2017-05-26 2018-06-29 北京市商汤科技开发有限公司 视线追踪及训练方法和装置、***、电子设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4692526B2 (ja) * 2006-07-18 2011-06-01 株式会社国際電気通信基礎技術研究所 視線方向の推定装置、視線方向の推定方法およびコンピュータに当該視線方向の推定方法を実行させるためのプログラム
CN103839055B (zh) * 2014-03-19 2017-08-29 中国科学技术大学 一种驾驶员视线方向的检测方法
JP2017076180A (ja) * 2015-10-13 2017-04-20 いすゞ自動車株式会社 状態判定装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070230797A1 (en) * 2006-03-30 2007-10-04 Fujifilm Corporation Method, apparatus, and program for detecting sightlines
CN101336826A (zh) * 2007-07-04 2009-01-07 欧姆龙株式会社 斜视检测装置和方法、以及程序
CN102520796A (zh) * 2011-12-08 2012-06-27 华南理工大学 一种基于逐步回归分析映射模型的视线跟踪方法
US20150098633A1 (en) * 2013-10-09 2015-04-09 Aisin Seiki Kabushiki Kaisha Face detection apparatus, face detection method, and program
CN104978548A (zh) * 2014-04-02 2015-10-14 汉王科技股份有限公司 一种基于三维主动形状模型的视线估计方法与装置
CN107209849A (zh) * 2015-01-07 2017-09-26 微软技术许可有限责任公司 眼睛跟踪
CN106547341A (zh) * 2015-09-21 2017-03-29 现代自动车株式会社 注视***及其跟踪注视的方法
CN105426827A (zh) * 2015-11-09 2016-03-23 北京市商汤科技开发有限公司 活体验证方法、装置和***
CN108229284A (zh) * 2017-05-26 2018-06-29 北京市商汤科技开发有限公司 视线追踪及训练方法和装置、***、电子设备和存储介质
CN108171152A (zh) * 2017-12-26 2018-06-15 深圳大学 深度学习人眼视线估计方法、设备、***及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEJUNLIN: "1.9 归一化输入 - hejunlin - 博客园", pages 1, Retrieved from the Internet <URL:https://www.cnblogs.com/hejunlin1992/p/9039664.html> *
HEJUNLIN: "归一化输入 - hejunlin - 博客园", pages 1, Retrieved from the Internet <URL:https://www.cnblogs.com/heju nlin1992/p/9039664.html> *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723716A (zh) * 2020-06-11 2020-09-29 深圳地平线机器人科技有限公司 确定目标对象朝向的方法、装置、***、介质及电子设备
CN111723716B (zh) * 2020-06-11 2024-03-08 深圳地平线机器人科技有限公司 确定目标对象朝向的方法、装置、***、介质及电子设备
CN112308932A (zh) * 2020-11-04 2021-02-02 中国科学院上海微***与信息技术研究所 一种注视检测方法、装置、设备及存储介质
CN112308932B (zh) * 2020-11-04 2023-12-08 中国科学院上海微***与信息技术研究所 一种注视检测方法、装置、设备及存储介质
CN112401887A (zh) * 2020-11-10 2021-02-26 恒大新能源汽车投资控股集团有限公司 一种驾驶员注意力监测方法、装置及电子设备
CN112401887B (zh) * 2020-11-10 2023-12-12 恒大新能源汽车投资控股集团有限公司 一种驾驶员注意力监测方法、装置及电子设备
CN112766097A (zh) * 2021-01-06 2021-05-07 中国科学院上海微***与信息技术研究所 视线识别模型的训练方法、视线识别方法、装置及设备
CN112766097B (zh) * 2021-01-06 2024-02-13 中国科学院上海微***与信息技术研究所 视线识别模型的训练方法、视线识别方法、装置及设备
CN113052064A (zh) * 2021-03-23 2021-06-29 北京思图场景数据科技服务有限公司 基于面部朝向、面部表情及瞳孔追踪的注意力检测方法
CN113052064B (zh) * 2021-03-23 2024-04-02 北京思图场景数据科技服务有限公司 基于面部朝向、面部表情及瞳孔追踪的注意力检测方法

Also Published As

Publication number Publication date
WO2020063000A1 (zh) 2020-04-02
US20210165993A1 (en) 2021-06-03
JP2021531601A (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
CN110969061A (zh) 神经网络训练、视线检测方法和装置及电子设备
US11341711B2 (en) System and method for rendering dynamic three-dimensional appearing imagery on a two-dimensional user interface
US9779512B2 (en) Automatic generation of virtual materials from real-world materials
US20190208210A1 (en) Reprojecting Holographic Video to Enhance Streaming Bandwidth/Quality
CN104871084B (zh) 自适应投影仪
CN109690553A (zh) 执行眼睛注视跟踪的***和方法
JP5728009B2 (ja) 指示入力装置、指示入力方法、プログラム、記録媒体および集積回路
CN113808160B (zh) 视线方向追踪方法和装置
US20170277259A1 (en) Eye tracking via transparent near eye lens
US10564716B2 (en) 3D gazing point detection by binocular homography mapping
CN110969060A (zh) 神经网络训练、视线追踪方法和装置及电子设备
US11156843B2 (en) End-to-end artificial reality calibration testing
US20140111630A1 (en) Systems and methods for iris detection and gaze estimation
CN112102389A (zh) 确定实物至少一部分的3d重构件的空间坐标的方法和***
US11181978B2 (en) System and method for gaze estimation
WO2021197466A1 (zh) 眼球检测方法、装置、设备及存储介质
CN108537103B (zh) 基于瞳孔轴测量的活体人脸检测方法及其设备
CN112926523B (zh) 基于虚拟现实的眼球追踪方法、***
CN111857461A (zh) 图像显示方法、装置、电子设备及可读存储介质
US9594967B2 (en) Method and apparatus for identifying a person by measuring body part distances of the person
CN109284002A (zh) 一种用户距离估算方法、装置、设备及存储介质
TWI460683B (zh) The way to track the immediate movement of the head
Du et al. Location Estimation from an Indoor Selfie
Takahashi et al. Extrinsic camera calibration with minimal configuration using cornea model and equidistance constraint
Mokatren et al. Calibration-Free Mobile Eye-Tracking Using Corneal Imaging

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