余正发,徐倩倩,吴倩倩

(安徽理工大学 电气与信息学院,安徽淮南,232001)

0 引言

随着经济发展和社会进步,眼镜已逐渐成为人们日常生活中的必需品。就目前的情况来说,眼镜的应用主要体现在三类人身上。第一类是近视人群,有数据统计,我国初高中生及大学生的近视率均超过70%[1]。第二类是老年人群体,随着年龄的逐渐增长,人体的各项机能正逐步下降,其中最为明显的特征就是老年人出现的老花眼。第三类是使用智能眼镜及墨镜的一部分人群,虽然这类人群比较稀少,但在巨大的人口基数面前仍占据了一定比例[2]。以上三类人提供了目前社会对眼镜的巨大需求。

目前,基于社会价值的驱动和电子信息技术的发展,对眼镜的研究逐渐加深,但大多分布在智能眼镜[3]、镜片光学领域[4],却很少有研究者做关于眼镜对用户的舒适度以及用眼健康方面的研究。

本文重点瞄准眼镜用户关注的两大问题:冬季眼镜镜片起雾问题,用眼疲劳问题。针对这两大问题,本文以STM32单片机为硬件基础、C语言为开发语言并利用各种电子与信息技术手段,探索与研究基于智能除雾与用眼疲劳检测为一体的智能眼镜架设计。本项设计或许能有效改善眼镜用户的使用体验。

1 系统设计

系统结构如图1所示,本设计由防雾除雾系统、眼球监控系统、佩戴监测系统、实时时钟系统、物联网通信系统组成。其中,STM32CPU作为整个系统的核心,协调各个外围传感器和执行器执行特定的功能。温度传感器、驱动、电发热丝构成除雾防雾系统,摄像头、压力传感器构成眼球监控系统和佩戴检测系统用于提供健康辅助,ESP-12wifi模块构成物联网通信系统用于连接用户app进行数据传输。

图 1 系统框架图

图 2 防雾除雾系统控制框图

■ 1.1 防雾除雾系统

镜片上的雾气是空气中的水蒸气在冷凝作用下形成的微小水滴。雾气的形成包含两个条件,空气中有水分,且水汽的温度比镜片上的温度高。当戴眼镜的人从寒冷的室外走进暖和的室内后,镜片上会出现一层小水珠挡住视线。因为眼镜片在室外温度是很低的,进入暖和的屋子后,屋子温度高的空气中含有的水蒸气遇到温度低的镜片后液化(凝结)成小水珠,附着在镜片上。查阅有关资料发现,一般眼镜镜片承受最高温度为60℃。然而,即使是炎热的夏天水蒸气温度也不会达到40℃,人体呼出的水蒸气最高也才达到人体正常温度。故如果使镜片温度升高到与水蒸气温度相当,打破形成雾气的条件之一,即可达到防雾除雾的效果。

防雾除雾系统由温度传感器组、电机驱动模块、低压电发热丝及STM32组成。温度传感器组用于检测镜片温度,温度传感器反馈回来的信号,通过STM32ADC采集转换成数字量,通过单片机计算得出实时温度值。再将实时温度与水蒸气温度进行对比分析,通过PID算法计算出STM32应当产生的PWM信号的占空比值,然后电机驱动由该PWM信号输出驱动电压到低压电发热丝,低压电发热丝工作产生热量,低压电发热丝内置于镜框中使眼镜片温度升高直至达到水蒸气的温度。图2为防雾除雾系统的过程控制框图。

该过程中的PID算法属于动态的闭环控制,使用PID控制算法,使镜片温度快速到达水蒸气温度,并维持动态平衡,且不超调,不会使温度不断升高造成眼镜镜片损坏。

PID控制是应用非常广泛的控制算法,当得到系统的输出后,将输出经过比例,积分,微分3种运算方式,叠加到输入中,再接着控制系统的行为,算法过程如图3所示。

图 3 PID算法框图

■ 1.2 眼球监控系统

眼球监控系统由灰度摄像头模块与STM32连接组成,摄像头采集到的图像为灰度图,灰度图是只含有黑白两种颜色,和0~255亮度等级的图片,255代表全白,0表示全黑。这能更好地减小光线干扰的问题,且灰度图具有储存小的优点,其亮度值就是256色调色板索引号[5]。从整幅图像的整体和局部的色彩以及亮度等级分布特征来看,灰度图所描述的与彩色图所描述的具有一致的特点,且使CPU处理所占用的资源较少,计算速度更快,提高效率。

眼睛,它的的主体部分为眼球,清澈、黑白分明。黑色部分是瞳孔与虹膜,每个人的瞳孔都是黑色的,眼球表面的其他部分是白色的,而眼睛附近的皮肤及眼皮几乎是白色的。故当眼睛睁开时摄像头采集的图像有黑色的圆形,该区域像素点亮度值很低。当眼睛闭上时只能采集到皮肤的颜色,皮肤的颜色接近于白色,该区域像素点亮度值会很高,所以此黑色圆形为眼睛闭上与睁开的一个明显区别特征。

摄像头置于镜架内部,用于监视眼睛。当眼睛由长时间睁开或闭上切换到长时间闭上或睁开的时刻,摄像头及STM32检测到这一变化,立刻记录时间及事件,保存到EEPROM。在两次事件之间的时间内,眼睛即为长时间睁开或闭上状态,可以理解为用眼与休息的时间,STM32计算此时间间隔也保存到EEPOM。

STM32先将采集到的图像帧数据存储在一个数组中,然后进行提取,分割眼睛所在大致区域的图像所对应数组里面的内容并存放到另一个数组,以减小其他区域对眼球部分图像处理造成的影响。然后对新的图像数组内容进行分析,先使用大津法计算出一个合适的阈值,然后对图像进行二值化处理,二值化后的图像再保存到一个新的数组,此时的图像是只有黑色与白色的黑白图,瞳孔部分会呈现黑色,其他的地方都是呈现白色。计算该区域的像素的亮度值总和,可以很清楚的判断到睁眼与闭眼的数据特征,从而记录事件。图4眼球监控系统的程序流程图。

图 4 眼球监控系统流程图

大津法又叫最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定法,简称OTSU[6]。它被认为是图像处理求阈值的最佳算法,简单计算,不受图像亮度和对比度的影响。它按图像的灰度特性,假设阈值将图像分成前景和背景两部分,求这两个部分的类间方差,前景像素个数占比x(前景平均灰度 - 全图平均灰度)^2 + 背景像素个数占比x(背景平均灰度 - 全图平均灰度)^2,将阈值从0~255遍历一次,使上述类间方差最大的阈值即为所求。

■ 1.3 佩戴检测系统

佩戴检测系统由电阻式薄膜压力传感器与STM32组成,这款压力传感器将施加在传感器薄膜区域的压力转换成电阻值的变化从而获得压力信息,压力越大,电阻越低。将此传感器与一定值电阻串联,传感器一端接3.3V,定值电阻一端接GND,STM32adc采集定值电阻的电压,电路连接原理如图5所示。当压力增大,压力传感器电阻降低,故adc采集定值电阻分压增大;当压力变小,压力传感器电阻降低,故adc采集定值电阻分压减小。

配戴眼镜时,眼镜架的镜腿与头部处于一种轻微加紧的状态,当不佩戴眼镜时便处于放松的状态。将压力传感器置于镜腿部分,在佩戴眼镜与摘下眼镜的两种不同状态下,压力传感器会产生不同的信号,故很容易根据STM32adc采集的数据判断是否佩戴眼镜。然后STM32记录下佩戴与不佩戴眼镜两种状态变化的时间点,保存到EEPOM中,程序流程如图6所示。

图 5 压力传感器电路连接原理图

图 6 佩戴检测系统程序流程图

■ 1.4 实时时钟系统

时钟系统由STM32内部的RTC实时时钟构成,外接32.768kHz晶振提供时钟源与电源使系统时间掉电不丢失。能产生秒、分、时、日等信息。为其他系统记录数据提供时间。

■ 1.5 物联网通信系统

WIFI无线通信系统由ESP_12wifi模块或蓝牙模块与STM32串口通信、手机app组成。ESP_12fwifi模块与手机app无线连接且能进行数据通信,ESP_12wifi又与STM32串口通信,使得通过ESP_12wifi作为媒介使手机app与STM32进行无线数据通信。

当手机app连接系统时,STM32提取当日在EEPROM中保存的数据,经过计算,得出当日佩戴眼镜时长,与用眼时长等数据,将一些列数据发送到手机app,得出当日用眼报告,提醒用户,适当休息,缓解眼疲劳,保护视力。

2 结束语

以STM32为主控芯片,C语言为开发语言设计的一款具有温度检测与温度控制,眼球监控,佩戴时间监测,实时时钟,和物联网通信功能的智慧眼镜架,实现了镜片防雾除雾,眼镜佩戴时间用眼时间的监测,提醒佩戴者适当休息,保护视力的作用,为佩戴者健康生活出行提供了便利。

在电子信息技术广泛应用、可穿戴设备技术的迅猛的发展中,我国相比于发达国家来说还是较为落后。尽管目前在某些领域内,各种有关自主研发的可穿戴智能设备层出不穷,但是实用型技术与操作依然存在或多或少的问题。相信在电子信息技术不断向前发展的时代,在智能电子产品不断涌现的新形势下,我国在这一技术行业一定会有较大的进步和发展。