CN107808397A - 瞳孔定位装置、瞳孔定位方法和视线追踪设备 - Google Patents

瞳孔定位装置、瞳孔定位方法和视线追踪设备 Download PDF

Info

Publication number
CN107808397A
CN107808397A CN201711106027.9A CN201711106027A CN107808397A CN 107808397 A CN107808397 A CN 107808397A CN 201711106027 A CN201711106027 A CN 201711106027A CN 107808397 A CN107808397 A CN 107808397A
Authority
CN
China
Prior art keywords
pixel
gray scale
gray
pupil
image
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.)
Granted
Application number
CN201711106027.9A
Other languages
English (en)
Other versions
CN107808397B (zh
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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN201711106027.9A priority Critical patent/CN107808397B/zh
Publication of CN107808397A publication Critical patent/CN107808397A/zh
Priority to US16/182,950 priority patent/US11521327B2/en
Application granted granted Critical
Publication of CN107808397B publication Critical patent/CN107808397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based 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/77Determining position or orientation of objects or cameras using statistical 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/41Analysis of texture based on statistical description of texture
    • G06T7/44Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • 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/20024Filtering details
    • 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/20036Morphological image processing
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping
    • 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/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种瞳孔定位装置,包括:预处理模块,用于获取原始图像,并对该原始图像进行预处理,得到目标灰度图像中各像素的灰度;累加模块,用于计算与目标灰度图像的各行像素一一对应的多个第一灰度和、与目标灰度图像的各列像素一一对应的多个第二灰度和;第一灰度和为相应行中各像素的灰度之和,第二像素和为相应列中各像素的灰度之和;中心位置确定模块,用于确定瞳孔沿列方向排列的两端所在行、确定瞳孔沿行方向排列的两端所在列,并根据瞳孔沿列方向排列的两端所在行与瞳孔沿行方向排列的两端所在列确定瞳孔的中心位置。本发明还提供一种瞳孔定位方法和视线追踪设备。本发明能提高瞳孔定位速度,减少资源占用。

Description

瞳孔定位装置、瞳孔定位方法和视线追踪设备
技术领域
本发明涉及图像处理领域,具体涉及一种瞳孔定位装置、瞳孔定位方法和视线追踪设备。
背景技术
视线追踪技术是虚拟现实领域中的一项重要技术,目的在于获取用户当前的注视方向,通过视线追踪技术可以采集儿童关注点信息、协助瘫痪患者进行人机交互、视线疲劳驾驶检测等。
瞳孔定位是视线追踪过程的第一步和前提。现有的瞳孔定位方法在确定瞳孔中心时,采用的计算方法(例如,椭圆拟合)较为复杂,导致定位速度较慢。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提出了一种瞳孔定位装置、瞳孔定位方法和视线追踪设备,以提高瞳孔定位速度。
为了解决上述技术问题之一,本发明提供一种瞳孔定位装置,包括:
预处理模块,用于获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度;
累加模块,用于计算与所述目标灰度图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和;
中心位置确定模块,用于根据多个第一灰度和确定所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和确定所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列确定所述瞳孔的中心位置。
优选地,所述累加模块包括:
设置单元,用于设置多个第一数据空间和多个第二数据空间,多个第一数据空间与所述目标灰度图像的各行像素一一对应,多个第二数据空间与所述目标灰度图像的各列像素一一对应,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间和每个第二数据空间中所存储的数据的初始值均为零;
累加单元,用于获取所述预处理模块所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据;
输出单元,用于在累加单元完成对所述目标灰度图像中全部像素的灰度累加之后,将所述第一数据空间中数据的当前值作为相应的第一灰度和,将所述第二数据空间中数据的当前值作为相应的第二灰度和,并将多个第一灰度和与多个第二灰度和输出至所述中心位置确定模块。
优选地,所述目标灰度图像中,瞳孔区域的像素灰度大于其他区域的像素灰度,所述中心位置确定模块包括:
排序单元,用于根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序;
行位置确定单元,用于获取第一个和最后一个大于等于第一预设阈值的第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行;
列位置确定单元,用于获取第一个和最后一个大于等于第二预设阈值的第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。
优选地,所述原始图像为彩色图像;所述预处理模块包括:
图像裁切单元,用于对所述原始图像进行图像裁切,以得到目标区域的彩色图像中每个像素的彩色信息;
灰度转换单元,用于对目标区域的彩色图像进行灰度转换,以得到第一灰度图像的每个像素的灰度;
高斯滤波单元,用于对所述第一灰度图像进行高斯滤波,以得到第二灰度图像的每个像素的灰度;
二值化单元,用于对所述第二灰度图像进行二值化处理,以得到第三灰度图像中每个像素的灰度;
腐蚀单元,用于对所述第三灰度图像进行腐蚀处理,以得到所述目标灰度图像的每个像素的灰度。
优选地,所述图像裁切单元包括一个或并行的多个裁切子单元,所述灰度转换单元包括与裁切子单元一一对应的转换子单元,所述高斯滤波单元包括与所述转换子单元一一对应的滤波子单元,所述二值化单元包括与所述滤波子单元一一对应的二值化子单元;所述腐蚀单元包括与所述二值化子单元一一对应的腐蚀子单元;
所述裁切子单元用于逐行逐个接收所述原始图像中像素的彩色信息,每接收一个像素的彩色信息,均判断该像素是否位于所述目标区域,若是,则将该像素的彩色信息输出至相应的转换子单元;
所述转换子单元每接收一个像素的彩色信息,均对该彩色信息进行灰度转换,并将转换后的灰度输出至相应的滤波子单元;
所述滤波子单元在接收任意一行的像素灰度时,从接收到第m个像素的灰度开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(m-1)/2的像素滤波后的灰度,并将滤波后的灰度输出至相应的二值化子单元;计算像素滤波后的灰度时所使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数;
所述二值化子单元每接收到一个像素的灰度,均对该像素的灰度进行二值化处理,并将二值化后的灰度输出至相应的腐蚀子单元;
所述腐蚀子单元在接收任意一行的像素灰度时,从接收到第n-1个像素的灰度开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(n-1)/2的像素腐蚀后的灰度,并将计算得到的灰度输出所述累加模块;n大于1且小于相应行中的像素个数,且n为奇数。
优选地,所述滤波核为[1,2,1]。
优选地,所述n为3,所述腐蚀子单元在接收任意一行的第i个像素灰度时,对第i-2个至第i个像素腐蚀前的灰度进行与运算,并将运算结果作为第i-1个像素腐蚀后的灰度;i为大于3且小于等于相应行中的像素个数的整数。
优选地,所述瞳孔定位装置以现场可编程门阵列或专用集成电路为载体。
相应地,本发明还提供一种瞳孔定位方法,包括:
S1、获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度;
S2、计算与所述目标图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和;
S3、根据多个第一灰度和确定所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和确定所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列确定所述瞳孔的中心位置。
优选地,所述步骤S2包括:
S21、设置所述目标图像的各行像素一一对应的多个第一数据空间、与所述目标灰度图像的各列像素一一对应的多个第二数据空间,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间和每个第二数据空间中所存储的数据的初始值均为零;
S22、获取步骤S21中所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据;
S23、用于在完成对所述目标灰度图像中全部像素的灰度累加之后,将所述第一数据空间中数据的当前值作为相应的第一灰度和,将所述第二数据空间中数据的当前值作为相应的第二灰度和。
优选地,所述步骤S3包括:
S31、根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序;
S32、获取第一个和最后一个大于等于第一预设阈值的两个第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行;
获取第一个和最后一个大于等于第二预设阈值的两个第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。
优选地,所述原始图像为彩色图像;所述预处理包括依次进行的图像裁切、灰度转换、高斯滤波、二值化处理和腐蚀处理。
优选地,所述步骤S1包括:
S11、逐行逐个接收所述原始图像中像素的彩色信息,每接收一个像素的彩色信息,均判断该像素是否位于目标区域,若是,则依次进行以下步骤:
S12、对该像素的彩色信息进行灰度转换,以得到该像素的灰度;
S13、当该像素在其所在行中的次序M大于等于m时,计算第M-(m-1)/2个的像素滤波后的灰度;其中,M大于1且小于等于相应行中的像素个数,计算像素滤波后的灰度时所使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数;
S14、当M≥n时,计算第M-(n-1)/2个的像素腐蚀之后的灰度,n大于1且小于等于相应行中的像素个数,且n为奇数。
优选地,所述步骤S13中的滤波核为[1,2,1]。
优选地,n为3,所述步骤S14包括:当M≥3时,对第M-2个至第M个像素腐蚀前的灰度值进行与运算,并将运算结果作为第M-1个像素腐蚀后的灰度。
相应地,本发明还提供一种视线追踪设备,包括本发明提供的上述瞳孔定位装置。
本发明的瞳孔定位装置和瞳孔定位方法在定位瞳孔中心时,只需要进行简单的加法运算,计算方法更简单,定位效率更高;并且,在对图像进行图像裁切、灰度转换、高斯滤波、二值化等预处理时,每接收一个像素的灰度,就开始对该像素或该像素之间的一个像素进行处理并输出,而不需要等到全部像素接收再处理,也就不需要缓存过多的像素灰度,从而减少了资源占用,降低了功耗。另外,本发明的瞳孔定位装置装置以FPGA或ASIC为载体,从而提高产品便携性。
本发明的视线追踪设备的视线追踪速度也更快,能够满足高帧率图像采集装置的实时报点,从而提高用户体验。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明实施例中提供的瞳孔定位装置的整体模块结构示意图;
图2是本发明实施例中提供的预处理模块的结构示意图;
图3a是实际应用中经过灰度转换得到一个第一灰度图像的效果图;
图3b为与图3a对应的目标灰度图像的效果示意图;
图4是本发明实施例中转换子单元的灰度转换原理示意图;
图5是本发明实施例中滤波子单元的滤波原理示意图;
图6是本发明实施例中腐蚀子单元的腐蚀原理示意图;
图7是本发明实施例中累加模块的结构示意图;
图8是本发明实施例中中心位置确定模块的结构示意图;
图9是本发明实施例中行位置确定单元确定瞳孔中心所在行的图形化示意图;
图10是本发明实施例中瞳孔定位装置的电路结构示意图;
图11是本发明实施例中瞳孔定位方法的流程图;
图12是瞳孔定位方法中的步骤S1的具体流程图;
图13是瞳孔定位方法中的步骤S2的具体流程图;
图14是瞳孔定位方法中的步骤S3的具体流程图。
其中,附图标记包括:
10、预处理模块;11、裁切单元;11a、裁切子单元;12、灰度转换单元;12a、转换子单元;13、高斯滤波单元;13a、滤波子单元;14、二值化单元;14a、二值化子单元;15、腐蚀单元;15a、腐蚀子单元;20、累加模块;21、设置单元;22、累加单元;23、输出单元;30、中心位置确定模块;31、排序单元;32、行位置确定单元;33、列位置确定单元;40、接收模块;MUL1、第一乘法器;Add1、第一加法器;Add2、第二加法器;Sh1、第一移位器;MUL2、第二乘法器;Sh2、第二移位器。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
作为本发明的一方面,提供一种瞳孔定位装置,如图1所示,瞳孔定位装置包括预处理模块10、累加模块20和中心位置确定模块30。其中:
预处理模块10用于获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度。其中,原始图像可以由预处理模块10直接获取,也可以由外接图像采集装置采集,预处理模块10与图像采集装置相连,以获取原始图像。原始图像可以为眼睛区域的图像,或者为人脸图像;本发明以原始图像为彩色图像进行说明,这时,预处理模块10进行的预处理至少包括灰度转换。目标区域可以为包括眼睑和眼球的区域。
累加模块20与预处理模块10相连,用于计算与所述目标灰度图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和。
中心位置确定模块30与累加模块20相连,用于根据多个第一灰度和确定所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和确定所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列确定所述瞳孔的中心位置。可以理解的是,瞳孔是圆形的,且瞳孔的灰度与周围的像素灰度有一定的差距,因此,经过累加模块20的累加后,瞳孔区域所对应的多个第一灰度和与其他区域对应的第一灰度和将会存在差异,瞳孔区域对应的多个第二灰度和与其他区域对应的第二灰度和也会存在差异,因此,中心位置确定模块30可以根据差异出现的位置确定瞳孔的左右端所在列以及上下端所在行。进一步地,如果建立关于目标灰度图像的坐标系,并以目标灰度图像中像素的列序号作为横坐标、行序号作为纵坐标,那么,瞳孔中心的横坐标即为瞳孔左右两端所在列的序号的平均值,瞳孔中心的纵坐标即为瞳孔上下两端所在行的序号的平均值。
现有技术中在定位瞳孔中心时,通常采用椭圆拟合的方法,先确定一组样本点,将该组样本点以椭圆方程为模型进行拟合,使某一椭圆方程尽量满足这些数据,并求出该椭圆方程的中心,这样就需要进行复杂的运算,从而降低瞳孔定位效率。而本发明的瞳孔定位装置在定位瞳孔中心时,只需要进行简单的加法运算,计算方法更简单,定位效率更高。
本发明提供的瞳孔定位装置优选以FPGA(Field-Programmable Gate Array,现场可编程门阵列)或ASIC(Application Specific Integrated Circui,专用集成电路)为载体,因而不需要依托电脑中的CPU(Central Processing Unit,中央处理器)以及GPU(Graphics Processing Unit,图形处理器)进行运算,从而提高瞳孔定位装置的便携性;并且,基于CPU进行瞳孔定位时,需要逐级调用CPU中的各个功能性模块,导致运算速度较慢,而本发明中以FPGA或ASIC为载体的瞳孔定位装置能够提高运算速度,从而提高用户体验。
下面结合图1至图9对本发明的瞳孔定位装置的预处理模块10、累加模块20和中心位置确定模块30进行具体介绍。
预处理模块10包括图像裁切单元11、灰度转换单元12、高斯滤波单元13、二值化单元14和腐蚀单元15。具体地:
图像裁切单元11用于对所述原始图像进行图像裁切,以得到目标区域的彩色图像中每个像素的彩色信息。其中,所述原始图像为以红绿蓝为基色的彩色图像,每个像素的彩色信息即为每个像素的红、绿、蓝三个分量的亮度。
灰度转换单元12与图像裁切单元11相连,用于对所述目标区域的彩色图像进行灰度转换,以得到第一灰度图像的每个像素的灰度。应当理解的是,当原始图像也可以为灰度图像,这时,图像裁切单元11进行裁切后得到的是目标区域的灰度图像中每个像素的灰度信息,也就不再需要设置灰度转换单元12。
高斯滤波单元13与灰度转换单元12相连,用于对所述第一灰度图像进行高斯滤波,以得到第二灰度图像的每个像素的灰度。所述高斯滤波的过程即,对于任意一个像素,均利用该像素及其周围的其他像素的加权平均作为该像素滤波后的灰度,从而对该像素进行修饰及平滑处理,以减少图像中的噪声。
二值化单元14与高斯滤波单元13相连,用于对第二灰度图像进行二值化处理,以得到第三灰度图像中每个像素的灰度。具体地,在进行二值化时,判断第二灰度图像中的每个像素的灰度是否大于预定阈值,若是,则将该像素的灰度调整为0;若否,则将其灰度调整为255。所有像素的灰度经过调整后,形成的图像即为所述第三灰度图像。
腐蚀单元15与二值化单元14相连,用于对第三灰度图像进行腐蚀处理,以得到所述目标灰度图像的每个像素的灰度。图3a为实际应用中经过灰度转换得到一个第一灰度图像的效果图;图3b为相应的目标灰度图像的效果示意图。
进一步具体地,如图2所示,图像裁切单元11包括一个或并行的多个裁切子单元11a,灰度转换单元12包括与裁切子单元11a一一对应的转换子单元12a,高斯滤波单元13包括与转换子单元12a一一对应的滤波子单元13a,二值化单元14包括与滤波子单元13a一一对应的二值化子单元14a;腐蚀单元15包括与二值化子单元14a一一对应的腐蚀子单元15a。如图2所示,本发明以裁切子单元11a、转换子单元12a、滤波子单元13a、二值化子单元14a和腐蚀子单元15a的数量均为一个来进行说明。
裁切子单元11a用于逐行逐个接收所述原始图像中像素的彩色信息,每接收一个像素的彩色信息,均判断该像素是否位于所述目标区域,若是,则将该像素的彩色信息输出至相应的转换子单元12a;若否,则不输出该像素的彩色信息。现有技术中基于CPU或GPU的图像处理装置或处理方法在对图像进行各种处理时,需要将接收到整张图像中所有像素的灰度后,才开始对像素进行逐一处理,全部处理完之后,再将各个像素的灰度逐一输出,从而需要缓存大量的数据,而本发明中的裁切子单元11a每接收一个像素的灰度,就开始对该像素进行处理,而不需要等到接收完全部的像素,因此可以提高处理速度,且不需要缓存过多的数据,从而可以减小了资源占用,进而可以减小整个装置的体积和功耗。
转换子单元12a每接收一个像素的彩色信息,均对该彩色信息进行灰度转换,并将转换后的灰度输出至相应的滤波子单元。具体地,转换子单元12a可以采用加权平均法来进行灰度转换,将像素的红、绿、蓝三个分量的亮度进行加权平均作为转换后的灰度。和裁切子单元11a相同的,转换子单元12a每接收一个像素的灰度,就开始对该像素进行灰度转换并输出转换后的灰度,从而不需要缓存过多像素的灰度,进而减少了资源占用,降低了功耗。
具体地,对于565制式的彩色信息(即,彩色信息以16位二进制式数来表示,前5位为红色分量的亮度值,中间6位为绿色分量的亮度值,后5位为蓝色分量的亮度值),灰度转换公式为:
G=2.38*r+2.31*g+0.91*b
其中,r、g、b分别为像素的红、绿、蓝三个分量的亮度。由于后续还会对图像进行二值化处理,故转换子单元12a的灰度转换的精度不需要达到很高的精度,红绿蓝三个分量的加权系数只需保留两位小数即可,以简化运算。如图4所示,在实际应用中,转换子单元12a可以包括第一乘法器MUL1、第一加法器Add1和第一移位器Sh1,彩色信息输入至转换子单元12a后,分别利用三个第一乘法器MUL1获得红色分量与38的乘积、绿色分量与37的乘积、蓝色分量与15的乘积,三个乘积通过第一加法器Add1相加,相加之和通过第一移位器Sh1右移四位(即除以16),从而获得经过灰度转换后的像素灰度。另外,利用移位的方式实现除法运算方式,可以减少复杂运算,提高运算速度。
滤波子单元13a在接收任意一行的像素灰度值时,从接收到第m个像素的灰度开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(m-1)/2的像素滤波后的灰度,并将滤波后的灰度输出至相应的二值化子单元14a。计算像素滤波后的灰度值使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数。其中,像素次序是指像素是其所在行的第几个像素。具体地,本发明中将m设置为3,将滤波核设置为[1,2,1],即,接收到第M个像素的灰度GM时,根据以下公式(1)计算第M-1个像素滤波后的灰度G’M-1
G’M-1=(GM+2*GM-1+GM-2)/4 (1)
其中,GM-1为第M-1个像素滤波前的灰度,即滤波子单元13a接收到的M-1个像素的灰度;GM-2为滤波子单元13a接收到的第M-2个像素的灰度。与转换子单元12a相类似地,如图5所示,滤波子单元13a可以包括第二乘法器MUL2、第二加法器Add2和第二移位器Sh2,利用第二加法器Add2执行公式(1)中的加法操作,利用第二移位器Sh2执行公式(1)中的除法操作,从而减少复杂运算。需要说明的是,当m为3时,第1个像素滤波后的灰度可以为(G2+2*G1+G1)/4,即,补充一个与第1个像素相同的灰度。另外,还可以补充一个与最后一个像素相同的灰度,以利用该灰度、最后一个像素的灰度和倒数第二个像素的灰度,来计算最后一个像素滤波后的灰度。
瞳孔定位装置在使用中所产生的噪声大多来自于电噪声,而基于单行处理的高斯滤波(即利用与目标像素位于同一行的周围像素对目标像素进行处理)就可以达到减少噪声的目的。与传统的利用3*3或5*5的滤波核进行高斯滤波的方式相比,本发明以元素个数为3的一维向量作为滤波核,可以简化运算;并且每接收一个像素的灰度就进行处理,从而只需要缓存两个像素的灰度即可,避免造成过多的缓存,减少资源占用,降低功耗。
当然,m还可以为其他数值,滤波核也可以设置为其他一维向量。当滤波核为其他一维向量时,每个像素滤波后的灰度计算方式与上述公式(1)类似,这里不再赘述。
二值化子单元14a每接收到一个像素的灰度,均对该像素的灰度进行二值化处理,并将二值化后的灰度输出至相应的腐蚀子单元15a。和裁切子单元11a和转换子单元12a类似地,二值化子单元14a一旦接收到一个像素的灰度,就对当前像素进行二值化处理,从而减少资源占用,降低了功耗。
腐蚀子单元15a在接收任意一行的像素灰度时,从接收到第n-1个像素的灰度值开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(n-1)/2的像素腐蚀后的灰度,并将计算得到的灰度输出所述累加模块;n大于1且小于相应行中像素的个数,且n为奇数。具体地,n为3,如图6所示,腐蚀子单元15a在接收任意一行的第i个像素灰度时,对第i-2个至第i个像素腐蚀前的灰度进行与运算,并将运算结果作为第i-1个像素腐蚀之后的灰度;i为大于3且小于等于相应行中像素个数的整数。对于第1个像素,可以在腐蚀子单元15a接收到第1个像素的灰度之前,向腐蚀子单元15a输入一个与第1个像素相同的灰度,以利用该灰度、第1个像素的灰度、第2个像素的灰度来计算第1个像素腐蚀后的灰度;同样,在腐蚀子单元15a接收到最后一个像素之后,可以向腐蚀子单元15a补充输入一个与最后一个像素相同的灰度,以利用该灰度、最后一个像素的灰度、倒数第二个像素的灰度计算最后一个像素腐蚀后的灰度。与滤波子单元13a相类似地,n为3时,腐蚀子单元15a只需要缓存两个像素的灰度即可,从而减少了资源占用,降低了功耗。
当裁切子单元11a、转换子单元12a、滤波子单元13a、二值化子单元14a和腐蚀子单元15a的数量均为多个时,由于多个裁切子单元11a的处理过程相并行、多个转换子单元12a的处理过程相并行、多个滤波子单元13a的处理过程相并行、多个二值化子单元14a的处理过程相并行、多个腐蚀子单元15a的处理过程相并行,因而可以进一步提高预处理速度。
如图7所示,累加模块12具体可以包括设置单元21、累加单元22和输出单元23。具体地:
设置单元21用于设置多个第一数据空间和多个第二数据空间,多个第一数据空间与所述目标灰度图像的各行像素一一对应,多个第二数据空间与所述目标灰度图像的各列像素一一对应,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间与每个第二数据空间中所存储的数据的初始值均为零。
累加单元22与预处理模块10相连,用于获取预处理模块10所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据。
输出单元23与累加单元22、设置单元21相连,用于在累加单元22完成对所述目标灰度图像中全部像素的灰度累加之后(即,将目标灰度图像中的每个图像完成了与相应第一数据空间中数据的累加,以及与相应第二数据空间中数据的叠加),将所述第一数据空间中数据的当前值作为相应行所对应的第一灰度和,将所述第二数据空间中数据的当前值作为相应列所对应的第二灰度和;并将多个第一灰度和与多个第二灰度和输出至中心位置确定模块30。
可见,累加模块20在进行累加时,不需要存储目标灰度图像中所有像素的灰度数据,而是只需要存储两组数据,一组数据的数量与目标灰度图像中的像素行数相同,另一组数据的数量与目标灰度图像中的像素列数相同,从而减少了资源占用。
如上文所述,在进行二值化处理时,将灰度大于预定阈值的像素的灰度调整为0,因此,目标灰度图像中,瞳孔区域像素的灰度大于其他区域像素的灰度。这时,如图8所示,中心位置确定模块30包括排序单元31、行位置确定单元32、列位置确定单元33。具体地:
排序单元31用于根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序。其中,行的序号是指,沿图3a和图3b中的由上至下或由下至上的方向,该行在目标灰度图像中是第几行;列的序号是指,沿图3a和3b中的由左至右或由右至左的方向,该列在目标灰度图像中是第几列。
行位置确定单元32与排序单元31相连,用于获取第一个大于等于第一预设阈值的第一灰度和以及最后一个大于等于第一预设阈值的第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行。如,所述瞳孔沿列方向排列的两端分别位于第a行和第b行,那么,瞳孔中心位于第(a+b)/2行;当a+b为奇数,可以将第(a+b±1)/2作为瞳孔中心所在行。
列位置确定单元33与排序单元31相连,用于获取第一个大于等于第二预设阈值的第二灰度和以及最后一个大于等于第二预设阈值的第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。例如,所述瞳孔沿行方向排列的两端分别位于第a列和第b列,那么,瞳孔中心位于第(a+b)/2列;当a+b为奇数时,可以将第(a+b±1)/2作为瞳孔中心所在列;或者,直接以(a+b)/2作为瞳孔中心的纵坐标。
行位置确定单元32确定瞳孔中心所在行的过程可以以图形化表示,对于图3b所示的目标灰度图像而言,先根据每个第一灰度和的值及其相应行的行序号绘制的曲线,如图9所示,X轴为行序号,Y轴为第一灰度和的值。然后选择曲线与纵坐标为第一预设阈值的直线的交点,该两个交点的横坐标的中点即为中心位置所在行(或者说瞳孔中心横坐标)。列位置确定单元33确定瞳孔中心所在列的过程类似,这里不再赘述。
可以理解的是,二值化单元14在进行二值化处理时,也可以将灰度大于预定阈值的像素的灰度调整为255,这时,行位置确定单元32获取的是第一个和最后一个小于等于第一预设阈值的两个第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行;列位置确定单元33获取的是第一个和最后一个小于等于第二预设阈值的两个第二灰度和。
在本发明中,所述目标区域的大小和起始点位置;所述预定阈值、第一预设阈值、第二预设阈值、滤波核和上述n的值,均可以通过在瞳孔定位装置上设置的配置端口进行配置。
如图10所示的是瞳孔定位装置的电路结构示意图,具体地:
接收模块40与外部图像采集装置相连,用于接收图像采集装置输出的信号,并将图像采集装置的时钟主频与瞳孔定位装置的时钟主频进行同步。接收模块的各个输入端口包括:用于接收外部复位信号的外部复位端Ext_rst_n、用于接收像素时钟信号的像素时钟端Pclk、用于接收像素的彩色信息的数据接收端RGB565_1、以及场同步信号端Vsync、像素时钟有效信号端De,各输入端口分别与图像采集装置的相应端口相连。接收模块的各输出端口包括清零信号端Clr、使能信号输出端Vd1,数据输出端Data,该数据输出端Data输出接收模块接收到的像素的彩色信息。
裁切子单元11a的各输入端口包括:列计数端COL_NUM、时钟端CLK1、行计数端ROW_NUM、数据接收端RGB565_2、复位端Rst1、时能信号输入端Vd2、起始点横坐标输入端X_START、起始点纵坐标输入端Y_START。其中,时钟端CLK1与像素时钟端Pclk相连Pclk相连,数据接收端RGB565_2与数据输出端Data相连,复位端Rst1与接收模块40的清零信号端Clr相连,列计数端COL_NUM和行计数端ROW_NUM可以与配置端口相连,以接收配置端口所配置的目标区域的长度和宽度。裁切子单元11a的各输出端口包括灰度使能输出端Gray_en_O和裁切数据输出端ROIdata_O,裁切数据输出端ROIdata_O用于输出目标区域中的各像素的灰度,灰度使能输出端Gray_en_O用于在裁切数据输出端ROIdata_O输出数据时,输出灰度使能信号。
转换子单元12a的各输入端口包括:时钟端CLK2、灰度使能输入端Gray_en_I、裁切数据输入端ROIdata_I、复位端Rst2。其中,时钟端CLK2与像素时钟端Pclk相连;灰度使能输入端Gray_en_I与裁切模块的灰度使能输出端Gray_en_O相连;裁切数据输入端ROIdata_O与裁切子单元的裁切数据输出端ROIdata_I相连;复位端Rst2与接收模块的清零信号端Clr相连。转换子单元12a在其灰度使能输入端Gray_en_I接收到灰度使能信号时,对裁切数据输入端ROIdata_I接收到的数据进行灰度转换。转换子单元12a的各输出端口包括转换数据输出端Graydata_O和滤波使能输出端Gauss_en,转换数据输出端Graydata_O用于输出经过灰度转换后的像素的灰度,滤波使能输出端Gauss_en_O用于在转换数据输出端Graydata_O输出数据时,输出滤波使能信号。
滤波子单元13a的各输入端口包括:时钟端CLK3、转换数据输入端Graydata_I、滤波使能输入端Gauss_en_I、复位端Rst3。其中,时钟端CLK3与像素时钟端Pclk相连;转换数据输入端Graydata_I与灰度转换模块的转换数据输出端Graydata_O相连;滤波使能输入端Gauss_en_I与转换子单元12a的滤波使能输出端Gauss_en_O相连;复位端Rst3与接收模块40的清零信号端Clr相连。滤波子单元13a在其滤波使能输入端Gauss_en_I接收到滤波使能信号时,对转换数据输入端Graydata_I接收到的转换数据进行高斯滤波。滤波子单元13a的各输出端口包括:滤波数据输出端Gaussdata_O和二值化使能输出端Gauss2t_en_O,滤波数据输出端Gaussdata_O用于输出高斯滤波后的数据,二值化使能输出端Gauss2t_en_O用于在滤波数据输出端Gaussdata_O输出数据时生成二值化使能信号。
二值化子单元14a的各输入端口包括:时钟端CLK4、滤波数据输入端Gaussdata_I、二值化使能输入端Gauss2t_en_I、复位端Rst4和阈值输入端Th。其中,时钟端CLK4与像素时钟端Pclk相连;滤波数据输入端Gaussdata_I与滤波子单元13a的滤波数据输出端Gaussdata_O相连,复位端Rst4与清零信号端Clr相连,阈值输入端Th与配置端口相连。二值化子单元可以在其二值化使能输入端Gauss2t_en_I接收到二值化使能信号时,对滤波数据输入端Gaussdata_I接收到的数据进行二值化处理。二值化子单元14a的各输出端口包括:二值化数据输出端Tdata_O和腐蚀使能输出端Ero_en,二值化数据输出端Tdata_O用于输出二值化后的数据,腐蚀使能输出端Ero_en_O用于在二值化数据输出端Tdata_O输出数据时输出腐蚀使能信号。
腐蚀子单元15a的各输入端口包括:时钟端CLK5、复位端Rst5、二值化数据输入端Tdata_I和腐蚀使能输入端Ero_en_I。其中,时钟端CLK5与像素时钟端Pclk相连;复位端Rst5与清零信号端Clr相连;二值化数据输入端Tdata_I与二值化数据输出端Tdata_O相连;腐蚀使能输入端Ero_en_I与腐蚀使能输出端Ero_en_O相连。腐蚀子单元15a在其腐蚀使能输入端Ero_en_I接收到腐蚀使能信号时,对二值化数据输入端Tdata_I接收的数据进行腐蚀化处理。腐蚀子单元15a的各输出端口包括腐蚀数据输出端Edata_O和累加使能输出端E_en_O,腐蚀数据输出端Edata_O用于输出腐蚀化处理后的数据,累加使能输出端S_en_O用于在腐蚀数据输出端Edata_O输出数据时输出累加使能信号。
累加模块20的各输入端包括:时钟端CLK6、复位端Rst6、腐蚀数据输入端Edata_I、累加使能输入端E_en_I。其中,时钟端CLK6与像素时钟端Pclk相连;复位端Rst6与接收模块的清零信号端Clr相连;累加使能输入端E_en_I与累加使能输出端E_en_O相连。累加模块20的各个输出端口包括行累加输出端R_addo和列累加输出端C_addo。累加模块20在其累加使能输入端E_en_I接收到累加使能信号时,对接收到的数据进行累加,进而从行累加输出端R_addo输出上文中所述的各个第一数据空间中的各数据、从列累加输出端C_addo输出各个第二数据空间中的数据。
中心位置确定模块30的各输入端包括:时钟端CLK7、复位端Rst7、行累加输入端R_addi和列累加输入端C_addi、第一阈值输入端Th_x、第二阈值输入端Th_y。中心位置确定模块30的各输出端包括:行号输出端Xo和列号输出端Yo。其中,时钟端CLK7与像素时钟端Pclk相连;复位端Rst7与清零信号端Clr相连;行累加输入端R_addi与行累加输出端R_addo相连;列累加输入端C_addo与列累加输出端C_addo相连。中心位置确定模块根据各输入端口的输入数据计算瞳孔中心所在行的行序号和瞳孔中心所在列的列序号,并将行序号和列序号分别从行号输出端Xo和列号输出端Yo输出。
另外,瞳孔定位装置还可以包括上报模块(未示出),该上报模块可以包括SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)、UART(UniversalAsynchronous Receiver/Transmitter))等上报接口,用于将中心位置确定模块的计算结果上报至上位机。另外,该上报模块还可以包括多个配置端口,多个配置端口分别为裁切子单元的起始点横坐标输入端X_START、裁切子单元的起始点纵坐标输入端Y_START、列计数端COL_NUM和行计数端ROW_NUM、二值化子单元的阈值输入端Th、中心位置确定模块的第一阈值输入端Th_x和第二阈值输入端Th_y配置相应的数据。
本发明中的瞳孔定位装置以EP4CE22F17C8N为载体进行验证时,瞳孔定位装置的各项功耗如表1所示。不同瞳孔定位方法的准确性结果如表2所示。采用不同方法对图像预处理时的资源占用情况如表3所示。
表1
表2
表3
在表2和表3中,“传统预处理+累加方法定位”、“传统预处理+椭圆拟合定位”和“本发明”的瞳孔定位过程均包括预处理(即,依次进行的图像裁切、灰度转换、高斯滤波、二值化和腐蚀化)和定位。其中,“传统预处理+累加方法定位”是指,在对图像进行灰度处理时,三个加权系数均保留8位小数;在对图像进行高斯滤波时,采用3*3的滤波核;在对图像进行腐蚀化时,采用3*3的与操作;而确定瞳孔中心的方法与本发明中利用累加模块和中心位置确定模块确定瞳孔中心的方法相同。“传统预处理+椭圆拟合”与“传统预处理+累加方法定位”的预处理过程相同,区别在于,确定瞳孔中心的方法为椭圆拟合法。“本发明”的方法中,在进行灰度处理时,三个加权系数均保留2位小数;在进行高斯滤波时采用[1,2,1]的滤波核,腐蚀化时采用1*3的与操作;定位中心时,利用上述累加模块和中心位置确定模块确定瞳孔中心。
从表1至表3可以看出,本发明的瞳孔定位装置在进行瞳孔定位时,功耗更小、资源占用明显降低;虽然精度比椭圆拟合的方式稍低,但也足以满足需求。
作为本发明的另一方面,提供一种瞳孔定位方法,如图11所示,瞳孔定位方法包括:
S1、获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度;
S2、计算与所述目标图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和;
S3、根据多个第一灰度和获取所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和获取所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列获取所述瞳孔的中心位置。
和现有技术中利用的椭圆拟合等复杂的计算方法相比,本发明在定位瞳孔中心时,只需要进行简单的加法运算,计算方法更简单,定位效率更高。
下面以原始图像为彩色图像为例对所述瞳孔定位方法进行具体介绍。所述瞳孔定位方法包括:
S1、获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度。其中,所述预处理包括依次进行的图像裁切、灰度转换、高斯滤波、二值化处理和腐蚀处理,各过程的原理和处理结果均在上文描述,这里不再赘述。如图12所示,该步骤S1具体包括:
S11、逐行逐个获取所述原始图像中像素的彩色信息,每获取一个像素的彩色信息,均判断该像素是否位于目标区域,若是,则依次进行以下步骤:
S12、对该像素的彩色信息进行灰度转换,以得到该像素的灰度。
S13、当该像素在其所在行中的次序M大于等于m时,计算第M-(m-1)/2个的像素滤波后的灰度;其中,M大于1且小于等于相应行中的像素个数,计算像素滤波后的灰度时所使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数。具体地,滤波核为[1,2,1],即,当获取到任意一行中的第M个像素的灰度时,将利用第M-1个像素滤波前的灰度和第M-2个像素滤波前的灰度计算第M个像素滤波后的灰度,计算过程参见上文对滤波子单元的描述,这里不再赘述。
S14、当M≥n时,计算第M-(n-1)/2个像素腐蚀之后的灰度,n大于1且小于相应行中的像素个数,且n为奇数。具体地,n为3,该步骤S14具体包括:当M≥n时,对第M-2个至第M个像素腐蚀前的灰度值进行与运算,并将运算结果作为第M-1个像素腐蚀后的灰度。
步骤S1之后还包括:
S2、计算与所述目标图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和。具体地,如图13所示,该步骤S2包括:
S21、设置所述目标图像的各行像素一一对应的多个第一数据空间、与所述目标灰度图像的各列像素一一对应的多个第二数据空间,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间和每个第二数据空间中所存储的数据的初始值均为零;
S22、获取步骤S21中所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据;
S23、在完成对所述目标灰度图像中全部像素的灰度累加之后,将所述第一数据空间中数据的当前值作为相应行所对应的第一灰度和,将所述第二数据空间中数据的当前值作为相应列所对应的第二灰度和。
所述步骤S2之后还包括:S3、根据多个第一灰度和获取所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和获取所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列获取所述瞳孔的中心位置。具体地,如图14所示,该步骤S3包括以下步骤S31~S32:
S31、根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序。
S32、获取第一个和最后一个大于等于第一预设阈值的两个第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行;
获取第一个和最后一个大于等于第二预设阈值的两个第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。
在本发明提供的瞳孔定位方法中,对图像进行预处理时,每个预处理过程(图像裁剪、灰度转换和高斯滤波等)均是在获取到一个像素的灰度之后,就开始对该像素或该像素之前的一个像素进行预处理,而不需要等到获取完所有像素的灰度,从而提高了处理速度,并减少了资源占用。在计算第一灰度和与第二灰度和时,建立了第一数据空间和第二数据空间,每获取到一个像素灰度,就将该灰度与相应的第一数据空间中的数据以及相应的第二数据空间中的数据进行累加,当获取完所有像素的灰度后,累积过程也就结束,从而不需要缓存所有像素的灰度,只需缓存两组数据即可,进一步减少了资源占用。
作为本发明的再一方面,提供一种视线追踪设备,包括本发明提供的上述瞳孔定位装置,视线追踪设备还可以包括用于采集原始图像的图像采集装置(例如摄像头),所述瞳孔定位装置与所述图像采集装置相连,以获取所述原始图像。
由于上述瞳孔定位装置进行瞳孔定位时,定位速度更快,因此,所述视线追踪设备的视线追踪速度也更快,能够满足高帧率图像采集装置的实时报点,从而提高用户体验。并且,所述瞳孔定位装置可以以FPGA或ASIC为载体,从而摆脱对CPU的依赖,提高瞳孔定位装置的便携性,因此,采用所述瞳孔定位装置的视线追踪设备更容易携带,从而可以适用于更广的应用范围。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (16)

1.一种瞳孔定位装置,其特征在于,包括:
预处理模块,用于获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度;
累加模块,用于计算与所述目标灰度图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和;
中心位置确定模块,用于根据多个第一灰度和确定所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和确定所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列确定所述瞳孔的中心位置。
2.根据权利要求1所述的瞳孔定位装置,其特征在于,所述累加模块包括:
设置单元,用于设置多个第一数据空间和多个第二数据空间,多个第一数据空间与所述目标灰度图像的各行像素一一对应,多个第二数据空间与所述目标灰度图像的各列像素一一对应,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间和每个第二数据空间中所存储的数据的初始值均为零;
累加单元,用于获取所述预处理模块所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据;
输出单元,用于在累加单元完成对所述目标灰度图像中全部像素的灰度累加之后,将所述第一数据空间中数据的当前值作为相应的第一灰度和,将所述第二数据空间中数据的当前值作为相应的第二灰度和,并将多个第一灰度和与多个第二灰度和输出至所述中心位置确定模块。
3.根据权利要求1所述的瞳孔定位装置,其特征在于,所述目标灰度图像中,瞳孔区域的像素灰度大于其他区域的像素灰度,所述中心位置确定模块包括:
排序单元,用于根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序;
行位置确定单元,用于获取第一个和最后一个大于等于第一预设阈值的第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行;
列位置确定单元,用于获取第一个和最后一个大于等于第二预设阈值的第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。
4.根据权利要求1所述的瞳孔定位装置,其特征在于,所述原始图像为彩色图像;所述预处理模块包括:
图像裁切单元,用于对所述原始图像进行图像裁切,以得到目标区域的彩色图像中每个像素的彩色信息;
灰度转换单元,用于对目标区域的彩色图像进行灰度转换,以得到第一灰度图像的每个像素的灰度;
高斯滤波单元,用于对所述第一灰度图像进行高斯滤波,以得到第二灰度图像的每个像素的灰度;
二值化单元,用于对所述第二灰度图像进行二值化处理,以得到第三灰度图像中每个像素的灰度;
腐蚀单元,用于对所述第三灰度图像进行腐蚀处理,以得到所述目标灰度图像的每个像素的灰度。
5.根据权利要求4所述的瞳孔定位装置,其特征在于,所述图像裁切单元包括一个或并行的多个裁切子单元,所述灰度转换单元包括与裁切子单元一一对应的转换子单元,所述高斯滤波单元包括与所述转换子单元一一对应的滤波子单元,所述二值化单元包括与所述滤波子单元一一对应的二值化子单元;所述腐蚀单元包括与所述二值化子单元一一对应的腐蚀子单元;
所述裁切子单元用于逐行逐个接收所述原始图像中像素的彩色信息,每接收一个像素的彩色信息,均判断该像素是否位于所述目标区域,若是,则将该像素的彩色信息输出至相应的转换子单元;
所述转换子单元每接收一个像素的彩色信息,均对该彩色信息进行灰度转换,并将转换后的灰度输出至相应的滤波子单元;
所述滤波子单元在接收任意一行的像素灰度时,从接收到第m个像素的灰度开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(m-1)/2的像素滤波后的灰度,并将滤波后的灰度输出至相应的二值化子单元;计算像素滤波后的灰度时所使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数;
所述二值化子单元每接收到一个像素的灰度,均对该像素的灰度进行二值化处理,并将二值化后的灰度输出至相应的腐蚀子单元;
所述腐蚀子单元在接收任意一行的像素灰度时,从接收到第n-1个像素的灰度开始,每接收一个像素的灰度,均计算位于该像素之前且与该像素次序相差(n-1)/2的像素腐蚀后的灰度,并将计算得到的灰度输出所述累加模块;n大于1且小于相应行中的像素个数,且n为奇数。
6.根据权利要求5所述的瞳孔定位装置,其特征在于,所述滤波核为[1,2,1]。
7.根据权利要求5所述的瞳孔定位装置,其特征在于,所述n为3,所述腐蚀子单元在接收任意一行的第i个像素灰度时,对第i-2个至第i个像素腐蚀前的灰度进行与运算,并将运算结果作为第i-1个像素腐蚀后的灰度;i为大于3且小于等于相应行中的像素个数的整数。
8.根据权利要求1至7中任意一项所述的瞳孔定位装置,其特征在于,所述瞳孔定位装置以现场可编程门阵列或专用集成电路为载体。
9.一种瞳孔定位方法,其特征在于,包括:
S1、获取原始图像,并对该原始图像进行预处理,以得到包括瞳孔的目标区域所对应的目标灰度图像中各像素的灰度;
S2、计算与所述目标图像的各行像素一一对应的多个第一灰度和、与所述目标灰度图像的各列像素一一对应的多个第二灰度和;所述第一灰度和为相应行中各像素的灰度之和,所述第二像素和为相应列中各像素的灰度之和;
S3、根据多个第一灰度和确定所述瞳孔沿列方向排列的两端所在行、根据多个第二灰度和确定所述瞳孔沿行方向排列的两端所在列,并根据所述瞳孔沿列方向排列的两端所在行与所述瞳孔沿行方向排列的两端所在列确定所述瞳孔的中心位置。
10.根据权利要求9所述的瞳孔定位方法,其特征在于,所述步骤S2包括:
S21、设置所述目标图像的各行像素一一对应的多个第一数据空间、与所述目标灰度图像的各列像素一一对应的多个第二数据空间,所述第一数据空间与所述第二数据空间均用于存储数据,且每个第一数据空间和每个第二数据空间中所存储的数据的初始值均为零;
S22、获取步骤S21中所获得的目标灰度图像中各像素的灰度,每获取一个像素的灰度,均将该像素的灰度与对应于该像素所在行的第一数据空间中的数据累加,以更新第一数据空间中的数据;并将该像素的灰度与对应于该像素所在列对应的第二数据空间中的数据累加,以更新第二数据空间中的数据;
S23、用于在完成对所述目标灰度图像中全部像素的灰度累加之后,将所述第一数据空间中数据的当前值作为相应的第一灰度和,将所述第二数据空间中数据的当前值作为相应的第二灰度和。
11.根据权利要求9所述的瞳孔定位方法,其特征在于,所述步骤S3包括:
S31、根据第一灰度和所对应行的序号将多个第一灰度和排序,根据第二灰度和对应列的序号将多个第二灰度和排序;
S32、获取第一个和最后一个大于等于第一预设阈值的两个第一灰度和,并将该两个第一灰度和所对应的行分别作为所述瞳孔沿列方向排列的两端所在行,以根据该两端所在行确定瞳孔中心所在行;
获取第一个和最后一个大于等于第二预设阈值的两个第二灰度和,并将该两个第二灰度和所对应的列分别作为所述瞳孔沿行方向排列的两端所在列,以根据该两端所在列确定瞳孔中心所在列。
12.根据权利要求9所述的瞳孔定位方法,其特征在于,所述原始图像为彩色图像;所述预处理包括依次进行的图像裁切、灰度转换、高斯滤波、二值化处理和腐蚀处理。
13.根据权利要求12所述的瞳孔定位方法,其特征在于,所述步骤S1包括:
S11、逐行逐个获取所述原始图像中像素的彩色信息,每获取一个像素的彩色信息,均判断该像素是否位于目标区域,若是,则依次进行以下步骤:
S12、对该像素的彩色信息进行灰度转换,以得到该像素的灰度;
S13、当该像素在其所在行中的次序M大于等于m时,计算第M-(m-1)/2个的像素滤波后的灰度;其中,M大于1且小于等于相应行中的像素个数,计算像素滤波后的灰度时所使用的滤波核为一维向量,m为该一维向量的元素个数,且m为大于1的奇数;
S14、当M≥n时,计算第M-(n-1)/2个的像素腐蚀之后的灰度,n大于1且小于等于相应行中的像素个数,且n为奇数。
14.根据权利要求13所述的瞳孔定位方法,其特征在于,所述步骤S13中的滤波核为[1,2,1]。
15.根据权利要求13所述的瞳孔定位方法,其特征在于,n为3,所述步骤S14包括:当M≥3时,对第M-2个至第M个像素腐蚀前的灰度值进行与运算,并将运算结果作为第M-1个像素腐蚀后的灰度。
16.一种视线追踪设备,其特征在于,包括权利要求1至8中任意一项所述的瞳孔定位装置。
CN201711106027.9A 2017-11-10 2017-11-10 瞳孔定位装置、瞳孔定位方法和视线追踪设备 Active CN107808397B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711106027.9A CN107808397B (zh) 2017-11-10 2017-11-10 瞳孔定位装置、瞳孔定位方法和视线追踪设备
US16/182,950 US11521327B2 (en) 2017-11-10 2018-11-07 Detection target positioning device, detection target positioning method, and sight tracking device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711106027.9A CN107808397B (zh) 2017-11-10 2017-11-10 瞳孔定位装置、瞳孔定位方法和视线追踪设备

Publications (2)

Publication Number Publication Date
CN107808397A true CN107808397A (zh) 2018-03-16
CN107808397B CN107808397B (zh) 2020-04-24

Family

ID=61591314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711106027.9A Active CN107808397B (zh) 2017-11-10 2017-11-10 瞳孔定位装置、瞳孔定位方法和视线追踪设备

Country Status (2)

Country Link
US (1) US11521327B2 (zh)
CN (1) CN107808397B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788219A (zh) * 2019-01-18 2019-05-21 天津大学 一种用于人眼视线追踪的高速cmos图像传感器读出方案
CN110223309A (zh) * 2019-05-20 2019-09-10 深圳新视智科技术有限公司 边缘检测方法、装置、计算机设备及存储介质
WO2019206082A1 (zh) * 2018-04-27 2019-10-31 京东方科技集团股份有限公司 图像处理方法、图像处理***及存储介质
CN111429526A (zh) * 2020-03-23 2020-07-17 中国人民解放军海军特色医学中心 一种基于四分法逐层分割九点定位的视线追踪标定方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753688B (zh) * 2020-06-12 2022-03-18 广州极飞科技股份有限公司 种植行中心线确定方法、装置、电子设备及存储介质
CN116884236B (zh) * 2023-06-26 2024-04-16 中关村科学城城市大脑股份有限公司 交通流量采集设备和交通流量采集方法
CN117218184B (zh) * 2023-09-27 2024-02-20 广州明毅智能科技有限公司 一种图像快速定位提取方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013652A1 (en) * 2005-07-15 2007-01-18 Dongsoo Kim Integrated chip for detecting eye movement
CN101359365A (zh) * 2008-08-07 2009-02-04 电子科技大学中山学院 一种基于最大类间方差和灰度信息的虹膜定位方法
CN103440476A (zh) * 2013-08-26 2013-12-11 大连理工大学 一种人脸视频中瞳孔的定位方法
CN104463159A (zh) * 2014-12-31 2015-03-25 北京释码大华科技有限公司 一种定位虹膜的图像处理方法和装置
CN105809085A (zh) * 2014-12-29 2016-07-27 深圳Tcl数字技术有限公司 人眼定位方法及装置
US20170091519A1 (en) * 2015-09-30 2017-03-30 Winbond Electronics Corp. Method for locating center of pupil and electronic apparatus
EP3225154A2 (en) * 2016-03-31 2017-10-04 Fujitsu Limited Gaze detection apparatus and gaze detection method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259900A (ja) * 2005-03-15 2006-09-28 Omron Corp 画像処理システム、画像処理装置および方法、記録媒体、並びにプログラム
JP2006333205A (ja) * 2005-05-27 2006-12-07 Konica Minolta Photo Imaging Inc 撮像装置、画像処理方法及び画像処理プログラム
JP2009064423A (ja) * 2007-08-10 2009-03-26 Shiseido Co Ltd メイクアップシミュレーションシステム、メイクアップシミュレーション装置、メイクアップシミュレーション方法およびメイクアップシミュレーションプログラム
US8417046B1 (en) * 2008-11-10 2013-04-09 Marvell International Ltd. Shadow and highlight image enhancement
US8634673B1 (en) * 2008-11-10 2014-01-21 Marvell International Ltd. Method and apparatus for automatically tuning a parameter of an image enhancement algorithm based on an attribute of an original image
JP6036065B2 (ja) * 2012-09-14 2016-11-30 富士通株式会社 注視位置検出装置及び注視位置検出方法
US10398301B2 (en) * 2015-08-20 2019-09-03 Eyeguide, Inc. Method and system for cognitive function testing
CN106097327B (zh) * 2016-06-06 2018-11-02 宁波大学 结合流形特征及双目特性的立体图像质量客观评价方法
CN108389188B (zh) * 2018-01-30 2022-02-15 大庆师范学院 一种稀疏高光谱异常目标检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013652A1 (en) * 2005-07-15 2007-01-18 Dongsoo Kim Integrated chip for detecting eye movement
CN101359365A (zh) * 2008-08-07 2009-02-04 电子科技大学中山学院 一种基于最大类间方差和灰度信息的虹膜定位方法
CN103440476A (zh) * 2013-08-26 2013-12-11 大连理工大学 一种人脸视频中瞳孔的定位方法
CN105809085A (zh) * 2014-12-29 2016-07-27 深圳Tcl数字技术有限公司 人眼定位方法及装置
CN104463159A (zh) * 2014-12-31 2015-03-25 北京释码大华科技有限公司 一种定位虹膜的图像处理方法和装置
US20170091519A1 (en) * 2015-09-30 2017-03-30 Winbond Electronics Corp. Method for locating center of pupil and electronic apparatus
EP3225154A2 (en) * 2016-03-31 2017-10-04 Fujitsu Limited Gaze detection apparatus and gaze detection method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘春生等: "基于Gabor滤波和K_medoid聚类分析的人眼检测和瞳孔定位", 《光电子激光》 *
王虹等: "一种改进的虹膜定位算法研究", 《武汉理工大学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019206082A1 (zh) * 2018-04-27 2019-10-31 京东方科技集团股份有限公司 图像处理方法、图像处理***及存储介质
US11216925B2 (en) 2018-04-27 2022-01-04 Boe Technology Group Co., Ltd. Image processing method, image processing system, and storage medium
CN109788219A (zh) * 2019-01-18 2019-05-21 天津大学 一种用于人眼视线追踪的高速cmos图像传感器读出方案
CN109788219B (zh) * 2019-01-18 2021-01-15 天津大学 一种用于人眼视线追踪的高速cmos图像传感器读出方法
CN110223309A (zh) * 2019-05-20 2019-09-10 深圳新视智科技术有限公司 边缘检测方法、装置、计算机设备及存储介质
CN111429526A (zh) * 2020-03-23 2020-07-17 中国人民解放军海军特色医学中心 一种基于四分法逐层分割九点定位的视线追踪标定方法
CN111429526B (zh) * 2020-03-23 2023-04-14 中国人民解放军海军特色医学中心 一种基于四分法逐层分割九点定位的视线追踪标定方法

Also Published As

Publication number Publication date
CN107808397B (zh) 2020-04-24
US11521327B2 (en) 2022-12-06
US20190147605A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
CN107808397A (zh) 瞳孔定位装置、瞳孔定位方法和视线追踪设备
CN110473254A (zh) 一种基于深度神经网络的位姿估计方法及装置
CN103369209B (zh) 视频降噪装置及方法
CN109672886A (zh) 一种图像帧预测方法、装置及头显设备
CN106373085A (zh) 一种基于增强现实的智能终端3d手表试戴方法及***
CN102779157B (zh) 搜索图像的方法和装置
CN105913453A (zh) 一种目标跟踪方法和装置
CN108121931A (zh) 二维码数据处理方法、装置及移动终端
CN109635822B (zh) 基于深度学习编码译码网络的立体图像视觉显著提取方法
CN109711268B (zh) 一种人脸图像筛选方法及设备
CN110263813A (zh) 一种基于残差网络和深度信息融合的显著性检测方法
CN103295241A (zh) 一种基于Gabor小波的频域显著性目标检测方法
CN110246148A (zh) 多模态的深度信息融合和注意力学习的显著性检测方法
US5058181A (en) Hardware and software image processing system
CN112184731B (zh) 一种基于对抗性训练的多视图立体深度估计方法
CN105763768A (zh) 一种图像处理方法、装置和***
CN105376562B (zh) 一种彩色线阵相机的空间校正方法及***
CN103871035B (zh) 图像去噪方法及装置
CN106204565A (zh) 一种通过斑块特征配准的图像清晰度检测装置
CN106683043A (zh) 一种多通道光学探测***的并行图像拼接方法、装置
CN110264505A (zh) 一种单目深度估计方法、装置、电子设备及存储介质
CN105894031A (zh) 一种照片选择的方法及装置
CN110473281A (zh) 三维模型的描边处理方法、装置、处理器及终端
CN212433723U (zh) 注视点计算装置和电子设备
CN105708495B (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
GR01 Patent grant
GR01 Patent grant