基于树莓派的智能镜研究

(整期优先)网络出版时间:2022-06-15
/ 2

基于树莓派的智能镜研究

李雯 韩美琴 袁笑琪 李奥永

安徽新华学院 大数据与人工智能学院,安徽 合肥 230088


摘要:近年来随着物联网技术的不断成熟和进步,智能家居已有了飞速的发展,智能镜除了传统的镜面使用以外,还可利用物联网和传感器拓展衍生其他智能家居功能。本文提出利用树莓派主控、DHT11温湿度传感器、摄像头、麦克风、Wifi、LCD显示屏、电源等模块,基于Linux操作系统多线程技术,综合运用Python网络爬虫、计算机视觉、Kinect运动捕获、3DMax三维动画与Unity引擎技术,设计一种新型智能镜,使用者在使用常规镜面功能时,同步实现天气、时间、温度、湿度、新闻热点资讯等信息显示,同时支持语音交互控制和虚拟换装体感交互体验功能,使家居生活更加智能、舒适和高效。

关键词:物联网;树莓派;智能镜;家居


1 引言

近年来,随着人们生活水平的不断提高和物联网技术的蓬勃发展,智能生活的理念越来越被大众接受和认可,人们希望日常的工作和生活更加趋向于智能和便捷,越来越多的企业开放物联网平台,加速实现了智能家居市场化,促使很多智能家居产品从概念走向生产应用[1]。虽然近年来智能家居已有了飞速的发展,但对于智能镜这一领域的研究,国内外还处于发展创新阶段。智能镜除了传统的镜面使用以外,还可利用物联网和传感器拓展衍生其他智能家居功能,如Hi Mirror推出的智能镜能评估用户皮肤现状继而提供科学的护肤建议,同时还可以通过语音进行聊天或者播放音乐控制交互;美国科勒厨卫推出了Verdera智能防水镜,该镜子可以实现语音交互;Viio智能镜可以通过蓝牙与智能手机建立连接后实现语音通话和使用内置扬声器播放手机音乐或音频[2]


2 项目创新性

本文提出基于树莓派及Kinect体感交互技术为基础,设计一种新型智能镜,提供当前用户所处的环境信息检测和虚拟换装体感交互休闲体验。该智能镜以树莓派3B+为主要控制器,连接了摄像头、语音、DH11、LCD显示屏、原子镜、Wifi等环境检测模块,同时结合网络爬虫、Unity3D、Kinect体感交互、计算机视觉等技术,获取并分析当前环境信息。使用者在使用常规镜面功能时,同步实现天气、时间、温度、湿度、新闻热点资讯等信息显示,同时智能镜支持语音交互控制和虚拟换装体感交互体验功能,从而让人们在生活点滴中感受科技的乐趣,使家居生活更加智能、舒适和高效。

智能镜实现原理如下:以树莓派为主控制器,由于系统需要分别给显示器及树莓派供电,需要两种供电源,分别为220V及5V。当该系统进入工作状态时,树莓派首先连上WIFI保证其能够实时获取新闻热点资讯以及天气等消息。当使用者靠近智能镜子时,通过移动侦测感应启动人脸识别功能,然后自动推送欢迎使用提示文字信息和语音交互功能提示信息。


3 智能镜设计

3.1 总体设计

系统硬件设计图如图1所示,系统功能模块图如图2所示,智能镜采用树莓派3B+为主要控制器[3],主要连接了以下几大模块:DHT11温湿度传感模块、麦克风模块、电源模块、LCD显示屏模块、Wifi模块、摄像头模块[4]。系统主要工作流程为:当接通电源后,LCD屏显示开机动画,树莓派开始启动智能镜系统,逐个启动各个传感器工作模块,等待开机完成后,通过网络爬虫自动将天气、时间、温度、湿度、新闻热点资讯等信息显示在LCD屏的固定区域。当麦克风语音模块检测到有使用者在说话时,自动上传到相应的API接口进行语音识别,并接受返回值,最后通过语音模块输出相应的回答语音。当摄像头模块采集到使用者的人脸信息时,会将人脸信息上传到人脸识别API接口进行识别,并通过Kinect运动捕获、3DMax三维动画与Unity引擎技术,提供给用户虚拟换装体感交互休闲体验。

62a933d13b9b3_html_f2cc85b16ef4565e.png62a933d13b9b3_html_6b1c87d7c9a1b0c0.png

图1 智能镜系统硬件设计图 图2 智能镜系统功能模块图


3.2 系统软件设计

智能镜系统的各模块信息显示与虚拟换装体感交互均通过API接口进行数据传输,由树莓派发送HTTP请求给API服务器获取服务,API服务器返回JSON格式的数据,最后通过解析JSON数据即可获得目标数据[5]。为了提高系统运行效率与稳定性,采用多线程形式,每个线程负责智能镜一个具体的功能模块实现,由Linux操作系统负责调度,不同线程之间运行的程序相互独立且互不干扰。


3.3 具体功能设计

(1)基本信息显示

智能镜可以实现时间、日期、天气预报和新闻热点资讯等信息的显示,主要采用Python语言编写代码实现相关功能。其中时间、日期由Python提供的系统时间接口直接获得,天气预报和新闻热点资讯通过解析API服务器响应的JSON数据获得,并将获取到的数据显示在LCD屏的固定位置。

(2)温度、湿度信息显示

温度与湿度信息由DHT11模块实现,该模块集成了温度传感器和湿度传感器,抗干扰能力强,性能稳定且材质轻薄。接通电源后树莓派自动启动温湿度获取线程,并将获取到的数据显示在LCD屏的固定位置。

(3)语音交互功能

智能镜支持语音交互,主要通过麦克风语音模块采集使用者声音信息,然后进行语音识别和预处理,将处理结果传送给主控制器,由树莓派对特定有效数据进行特征提取,并将提取结果与库内所有特征词进行匹配,最终检测匹配对应的声学模型,输出相应的指令,系统根据指令进行相应的控制操作与信息显示。

(4)虚拟换装功能

虚拟换装功能主要通过摄像头模块和计算机视觉技术实现,采用Python语言编写代码,通过OpenCV库提供的人脸识别与检测方法,自动检测和跟踪采集到的图像或视频流中的人脸信息,如果检测到的人脸与库中保存的人脸相似度大于某一值,即匹配成功判定为同一人,返回用户的ID信息,并允许其使用虚拟换装功能。以Kinect运动捕获、3DMax三维动画与Unity引擎技术相结合,使用库中保存的服装信息[6],实现频繁快速的虚拟换装体感交互游戏体验,增加智能镜的趣味休闲功能。


4 结论

本文提出利用树莓派主控、DHT11温湿度传感器、摄像头、麦克风、Wifi、LCD显示屏、电源等模块[7],基于Linux操作系统多线程技术,综合运用Python网络爬虫、计算机视觉、Kinect运动捕获、3DMax三维动画与Unity引擎技术,设计一种新型智能镜,使用者在使用常规镜面功能时,同步实现天气、时间、温度、湿度、新闻热点资讯等信息显示,同时支持语音交互控制和虚拟换装体感交互体验功能。智能镜使得镜子也可以搭上物联网万物互联的便车,成为智能家居中的一环,为智能家居融入普通家庭生活提供了一种新的思路和方案。下一步将继续优化网络爬虫效率和计算机视觉识别效率,同时提高Kinect体感交互识别准确率和响应效率。


参考文献:

[1]刘烈金.智能家居行业的最新发展[J].日用电器,2018,(8):15-18+26.

[2]徐国保,洪展文.基于树莓派的智能镜子的研究与开发[J].电子技术与软件工程,2019(12):58-60.

[3]田东波.基于树莓派的四轴飞行器设计[J].智能计算机与应用,2020,(3):279-283+287.

[4]张伟.一种基于物联网的智能家居系统设计[J].信息技术,2019,(3):48-51.

[5]迟殿委.一种基于前后端分离架构风格的设计和实现[J].新一代信息技术,2019,(12):25-29.

[6]田屏.基于Kinect的虚拟试衣镜[J].科技视界,2015,(13):87-87.

[7]戴宇培.智能家居和楼宇的实时监控系统设计[J].单片机与嵌入式系统应用,2017,(2):49-52,69.

2