基于图像采集的儿童视力保护系统的设计
2021-10-18丁小一
丁小一 吕 菲
(合肥职业技术学院,安徽 合肥 230000)
随着社会的进步,人们使用电子产品的频率越来越高,尤其是孩子,他们对于电子产品没有任何的抵抗力。电子产品的使用,可以让孩子增长见识,但同时也会让孩子不喜欢运动,更为严重的是,长时间的看电子产品则会让孩子视力受到影响。有研究表明,幼儿连续玩20 分钟电子产品,如手机或iPad,视力平均下降到42 度左右的近视状态[1]。儿童在利用电子产品进行一些娱乐活动时,建议每次不要超过15 分钟,每天不要超过4次;如果学习需要,建议使用屏幕较大的电子产品,如iPad,而且在学习30 到40 分钟以后,至少休息10 分钟[2]。众所周知,儿童读书写字的时候,眼睛与书本之间的距离不要超过33 厘米,使用电子产品时候,也可参照这个值。为了监测儿童长时间或近距离使用电子产品,本文设计了一款基于图像采集的儿童视力保护系统。
1 系统总体设计方案
基于图像采集的儿童视力保护系统主要是为了监测儿童长时间或近距离使用电子产品,如手机、iPad 等。它主要由六部分组成:电源模块、主控模块、显示屏模块、图像采集模块、预警模块、光照强度检测模块。系统框图如图1 所示。
图1 儿童视力保护系统总体框图
其中,电源模块给儿童视力保护系统提供各种电压值;图像采集模块采集儿童脸的图像,进而确定儿童眼的位置;当前环境的光照强度,可以用光照强度检测模块进行检测;主控模块采集光照强度传感器的信号和摄像头的图像,根据控制算法做出控制决策,驱动蜂鸣器或LED 闪烁报警模块;对于图像采集模块的原始图像,可以在显示屏上显示,以备查看及分析。
2 系统硬件电路设计
2.1 主控模块
主 控 模 块 采 用 恩 智 浦 NXP 微 控 制 芯 片MK66FX1M0VLQ18,该芯片主频可以达到180MHz 含1.25MB Flash、256KB SRAM、4 个I2C、两通道16bit ADC 等[3],充分满足设计需求。通过采集传感器的信号和摄像头的图像,根据控制算法做出控制决策,驱动蜂鸣器或LED 闪烁报警模块。
2.2 图像采集模块
图像采集模块采用ONsemi 公司的MT9V034,该模块利用Global Shutter 技术,同时曝光整帧像素[4],具有全局快门、高动态成像、红外透视以及超低功耗等特点。图像采集模块使用一根20pin 的FPC 排线加转接板,利用I2C 总线与主控模块相连接,具体如下图2 所示。其中,D2-D9 为八位数据口(PTD0-PTD7);LINE 为行中断;FRM 为场中断;SCL 为I2C 总线SCL;SDA 为I2C 总线SDA;PIX 为像素时钟。
图2 图像采集模块的原理图
MK66FX1M0VLQ18 芯片是通过行中断、场中断和DMA 来采集图像的,当摄像头开始发送一帧新图像时,摄像头的FRM管脚会产生一个上升沿,将单片机和摄像头FRM管脚连接的IO 口配置为外部中断模式,产生中断时,说明来了一帧新图像。摄像头发送一帧图像是按行发送的,每当摄像头开始发送一行图像时,摄像头的LINE 管脚就会产生一个上升沿,将单片机和摄像头LINE 管脚连接的IO 口配置为外部中断模式,中断发生时,单片机就知道了有一行新图像要来了,并且在中断里面开启DMA 传输,传输到来的像素点。摄像头和单片机之间的同步就由PIX 来实现,每当单片机和PIX 相连接的IO 口检测到一个上升沿,DMA 就传输一次,直到所有的传输结束。
当采集到图像信息,可以使用TFT1.8 寸显示屏来查看原始图像,如果原始图像不清晰,可以转动镜头,调节焦距。摄像头模块、FPC 及FPC 转接母座实物如图3 所示。
图3 摄像头及FPC 转接母座实物图
2.3 光照强度检测模块
本模块主要采用光敏电阻R2 和电阻R1(阻值为10K)进行串联,R2 的分压处接到主控单片机管脚PTB0,具体如图4 所示。当光线强弱发生变化时,光敏电阻R2 的阻值也会随之发生变化,进而,R2 分压值发生变化,最终实现了光电信号的转换[5]。
图4 检测光照强度的电路图
3 儿童视力保护系统的软件设计
3.1 系统软件设计总体思路
当儿童在使用电子产品时,儿童视力保护系统的MT9V034模块采集图像,通过算法计算出儿童眼睛离电子产品的直线距离,如果距离小于33CM 或者使用时间超过30 分钟,就开启蜂鸣器预警模块,给儿童以提示;主控芯片通过光线强度检测模块检测当前光线强度,利用设置阈值的方式来判断当前的光线是否过强或者过弱,如果不在设置的范围内,开启LED 闪烁预警模块,给儿童以提示,从而有效的保护儿童的视力。
3.2 人眼定位及算法程序流程图
儿童在使用电子产品时,摄像头采集的均为儿童的正面。相对于儿童眼睛而言,儿童的脸要大的多,易于定位。
YCbCr 颜色空间具有与人的视觉感知相接近、肤色聚类效果好、色度和亮度相互独立等特点,所以本文选择YCbCr 空间(Y 代表亮度、Cr、Cb 描述颜色的饱和度和色调)[6]。去除Y 分量后,利用Cr、Cb 分量(二维互相独立)构造坐标平面。利用最常见的参数模型高斯模型,其概率密度函数可表示为:
其中m=E(x)为肤色类像素的均值;C=E[(x-m)(x-m)T]是肤色类像素的协方差矩阵;x 是色度向量。通过概率密度函数得出每个像素的肤色概率,优选阈值将概率图转化为二值图,实现图像分割,进而实现儿童脸定位[7],具体效果图如图5 所示。
图5 人脸定位效果图
儿童的脸定位之后,进行二值化处理,可分割出脸的特征点,如嘴巴、鼻子、眉毛、眼睛,再利用积分投影找到眼睛的位置。设图像区域[x1,x2]的垂直积分投影为V[y],图像区域[y1,y2]的水平积分投影为H[x],图像[x,y]的灰度值为G[x,y],则有:
结合人脸的结构特征,利用水平和垂直灰度积分投影曲线找到眼睛的位置坐标,具体效果图如图6 所示。
图6 人眼定位效果图
定位儿童眼睛之后,可以采用小孔成像中的三角形相似原理确定儿童眼睛与电子产品的直线距离。
3.3 光照强度检测程序流程图
当前环境中光照强度的检测,由模块中的光敏电阻R2 来实现,然后利用主控芯片的ADC,实现模数转换。通过设置阈值的方式,判断光线是否过暗或过强,如果光线过弱或过强则LED 闪烁提醒。如果适中,光敏电阻R2 则持续检测光照强度,具体如图7 所示。
图7 检测光照强度的程序流程图
4 结论
本文通过对现有状况的分析,提出了基于图像采集的儿童视力保护系统的设计方案,从硬件框图以及软件设计流程给出了儿童视力保护系统的设计过程。长时间或近距离使用电子产品,或者处在光照强度过强或者过弱的环境下,都会对儿童的视力产生影响,通过本系统的使用,可以实时监测儿童是否长时间或近距离使用电子产品,或者处于光照强度不合适的环境下,并给予提醒,有效保护儿童视力。当然,由于系统的功能比较单一,人眼测距的精度有待于进一步提高,使儿童视力保护系统的功能更加完善。