基于图像识别的家用安防智能车设计*

2022-04-22 06:45王思杰程钟鑫郭志欣毛旭阳向安军高宏峰
山西电子技术 2022年2期
关键词:红外边缘摄像头

王思杰,程钟鑫,郭志欣,毛旭阳,向安军,高宏峰

(河南科技大学信息工程学院,河南 洛阳 471023)

0 引言

随着人们生活水平的提升,家居生活越来越舒适,但由于人们对家居生活安全方面的忽视,安全隐患总是层出不穷。据统计,我国每年由于空气质量、火灾隐患、煤气泄漏而引发的事故不少于数十万起。目前,国内大多数室内环境检测系统还是较为传统的定点式设计[1],已经无法满足目前对于环境监测的需求。

为了解决目前居家生活的安全隐患问题,并对于传统式的环境监测设备加以改进,本文设计了一种基于图像识别的家用安防智能车。该智能车在居家环境中,根据Sobel边缘检测算法[2],融合红外补偿算法,实现自动导航,同时监测周围环境,并利用互联网技术,将检测信息上传至用户手机端。此外,车载智能灯光系统,可根据周围环境亮暗自动调光,即使在较暗环境下也可正常运行,若遇家中停电,该车还可作为移动照明灯使用,安全环保。

1 系统工作流程

系统总体框图如图1所示。该系统采用双线并行的方式运行:智能车自动导航系统与车载环境感知系统,两个子系统通过通信联合在一起,构成整个智能车安防系统。

线程一:首先对摄像头获取到的图像进行处理,使用Sobel边缘检测算法,将图像边缘化。由于摄像头存在视野盲区,使用两个红外测距传感器进行补偿,综合信息后,解算出路径,将加工后的信息传达至CPU进行运动控制决策,再反馈给电机进行处理,实现自动导航。

线程二:各空气质量传感器对周围环境进行周期性检测,将数据实时上传云端,并与用户设置阈值比对,当测量值超过阈值时,开启语音播报提醒用户,通过WiFi模块使用户手机振动予以提醒,同时与智能车系统通信,使其停止导航,停在危险发生处。同时,车载灯光根据光敏传感器获取到的光照强度,通过PWM调光实现光照越暗,灯光越亮的效果。

2 硬件设计

系统硬件主要包括两部分(如图2所示),分别为智能车和环境感知系统硬件设计。智能车系统采用MM32F3277G9P单片机作为主控制器,电机驱动采用H桥电路。图像识别使用MT9V034摄像头,导航及通信所用传感器有编码器、陀螺仪ICM20602、红外测距模块、显示屏、2.4 G无线通信模块等;环境感知系统采用STM32F103ZET6单片机作为主控制器,外部传感器有温湿度传感器、有害气体传感器、PM2.5浓度传感器、语音模块JQ8900-16P、ESP8266WiFi模块等。两个系统之间通过2.4 G无线模块进行通信。

图1 系统总体框图

图2 系统硬件原理图

2.1 摄像头MT9V034

摄像头与单片机通过排线连接。摄像头将图像以8位二进制数据为一组返至单片机。MT9V034具有CMOS全局快门:在曝光前整个图像重置,像素可在曝光时间积累电荷;曝光结束后每个像素积累的电荷同时传送到屏蔽光的存储区域,然后信号从此区域读出[3]。因所有像素同时重置,曝光积分同样的间隔,同时传输到光屏蔽存储区域,对移动物体没有形变。

2.2 WiFi模块ESP8266

图3所示为ESP8266模块电路。ESP8266预留6个引脚供用户使用:VCC、GND、TXD、RXD、RESET、GPIO0。将模块的VCC、GND分别与STM32F103ZET6的对应引脚连接,RXD与TXD和单片机的TXD与RXD引脚连接即可,其中RESET引脚为复位引脚,低电平复位,GPIO0为程序下载引脚,将该引脚拉低时ESP8266模块进入程序下载模式。

图3 ESP8266模块电路

3 软件设计

软件设计主要包括:基于摄像头的图像导航算法,红外测距补偿算法,直流电机的运动控制,环境数据上传云端。

3.1 图像导航算法

MT9V034是灰度摄像头,采集到的像素点根据灰度值在[0,255]之间,其中纯黑色灰度值为0,纯白色灰度值为255。灰度图像的信息量过大,不利于图像处理,只需要得到像素点的黑白状况即可。采用Sobel边缘检测算法[4],对图像进行边缘化处理。根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。经过边缘检测后,图像变为黑白图像,但存在一些噪点,再利用高斯滤波算法[5],对图像进行降噪处理,可去除大部分噪点。

一帧大小为188*120的图像,经过Sobel边缘检测和高斯滤波后,可得到适合处理的图像。图像可以反映出远近关系,在物体等大的条件下,远处物体在图像上的像素点少,近处物体像素点多。将整幅图像分割成两部分,上半部分是距离较远的图像,下半部分是距离较近的图像。倘若图像中未出现疑似障碍物,则整幅图像仅有最左与最右两条边缘,路径L的计算式为:

.

(1)

式中XLi为第i行路径左边缘x坐标,XRi为第i行路径右边缘x坐标。

当视野中出现疑似障碍物时,计算障碍物的像素点面积,若大于阈值,则判定其为障碍物。若障碍物在左侧,则设置其右边缘为路径左边缘XLi;若在右侧,则设置其左边缘为路径右边缘XRi;若在正中间,设置其左边缘为路径右边缘XRi,将XLi与XRi带入式(1),即可求得路径L。流程图如图4所示。

图4 图像导航算法流程图

3.2 红外测距补偿算法

由于摄像头只能观测到正前方130°的范围,存在50°的视野盲区。在车体的前方两侧各安装一个红外测距模块,与摄像头的夹角为70°左右,可以消除视野盲区。左右两侧红外模块周期性检测距离值,设置障碍物存在的阈值为50 cm,当距离大于50 cm时,则判断为无障碍物,反之,则判断为有障碍物,路径偏移量△为:

(2)

式中,K为比例系数,x为红外测距值,单位(cm)。

融合后的总路径M=L+△。红外测距补偿算法流程图如图5所示。

图5 红外测距补偿算法

3.3 电机运动控制

电机控制采用经典的PID算法:

PIDout=Kp×err+Ki×∑err+Kd×(err-errlast).

(3)

式中Kp、Ki、Kd均为系数;errlast为上一次的偏差值;PIDout为输出结果;err为路径偏差值。路径偏差值err为:

err=M-Xm

.

(4)

式中,M为自动导航算法得到的总路径;Xm为摄像头中心坐标。

小车转向时可能由于惯性转向过大而失控,或出现转向抽搐、甩尾。车体在甩尾的瞬间,Z轴方向会产生较大的角速度,通过抑制这个角速度的产生,即在Z轴方向产生一个阻尼,可避免以上现象的发生。通过陀螺仪可以直接得到Z轴的角速度,使其作为附加项Kz×Gyro,融合进PID中,使得转向平滑并抑制车体甩尾与抽搐。

改进后的PID算法为:

PIDout=Kp×err+Ki×∑err+Kd×(err-errlast)+Kz×Gyro.

(5)

3.4 环境数据上传云端

为了让用户可以实时接收到环境信息并控制智能车,需要通过MQTT协议将数据上传至云端[6]。MQTT客户端之间实现通信,必须连接MQTT服务器。首先使ESP8266向服务端发送连接请求,即在程序上发送一个含有连接请求的数据包CONNECT,之后ESP8266与单片机STM32F103ZET6之间通过串口通信,单片机将采集到的环境信息,如温湿度、有害气体浓度、PM2.5浓度等数据打包,加入帧头与帧尾,构成与ESP8266通信所需的数据包,发送给ESP8266,ESP8266将串口接收到的数据包进行解析,即可得到环境信息,将环境信息以报文的形式上传至云端即可。

4 结束语

本文设计了基于图像识别的家用安防智能车,在车体结构、自动导航算法、电机运动控制等方面提出了方案。将传统的定点式空气质量检测改进为移动式空气质量检测,将自动导航与环境监测融为一体,且可作为移动照明灯使用,并实时将监测的数据上传至云端,一举多得,可以解决目前居家生活的一些安全隐患问题。

猜你喜欢
红外边缘摄像头
浙江首试公路非现场执法新型摄像头
网红外卖
摄像头连接器可提供360°视角图像
闪亮的中国红外『芯』
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
一张图看懂边缘计算
奔驰360°摄像头系统介绍
找出摄像头花屏的“罪魁祸首”
在边缘寻找自我