您现在的位置是:主页 > 电路技术 > 嵌入式系统 >


基于TX2的嵌入式无人智能监测系统设计与实现

2020-06-11 23:20嵌入式系统 人已围观

简介随着中国逐步步入老龄化社会,老年人群体日趋庞大,加之社会节奏加快,越来越多家庭子女把更多的时 间都投入在工作上,以致空巢老人越来越多。空巢 老人缺乏与家人的沟通,日...

  随着中国逐步步入老龄化社会,老年人群体日趋庞大,加之社会节奏加快,越来越多家庭子女把更多的时 间都投入在工作上,以致“空巢老人”越来越多。“空巢 老人”缺乏与家人的沟通,日常生活缺少照料,家中摔倒无人救援,犯病卧床无人知晓,甚至出现老年人在家中 死亡多日才被发现的悲剧,因此“空巢老人”的监测问题变得迫在眉睫。
  
  目前针对“空巢老人”的监测系统在监控的时效和智能方面有很大欠缺,只是实现简单的视频监控。本文基于英伟达Jetson TX2 平台,结合深度学习、Web 服务器及互联网Android 平台设计一款无人智能监测系统, 用于实时监测“空巢老人”在家可能发生的跌倒、犯病等异常情况并及时报警,而且可以根据实际情况远程调节监测终端的运动及摄像头角度,以达到 360° 无盲区监测。
  

  1系统硬件设计

  
  1.1硬件组成
  
  硬件部分包括TX2 核心处理单元、视频数据采集模块、直流电机模块、直流舵机模块、4G 模块、超声波避障模块及电源管理模块,如图 1 所示。
  图 1   系统硬件组成
  图 1   系统硬件组成
  
  TX2 核心处理单元的 GPU 拥有 256 个渲染核心, CPU 采用 64 bit 的 ARMv8 多路处理器 ,使 用 8 GB LPDDR4 和 32 GB eMMC 内存,自带双图像信号处理器。该模块性能优越,体积小巧,可以应用于智能视频分析、无人机、机器人等智能设备。视频数据采集模块通过USB 接口与TX2 连接,4G 模块通过USART 接口与 TX2 连接,直流电机模块、直流舵机模块及超声波模块都与TX2 的GPIO 管脚连接在一起。
  
  1.2视频数据采集模块
  
  视频数据采集模块采用 200 万 1080P 高清广角摄像头进行视频帧的获取。该摄像头采用高清CMOS 图像传感器芯片OV2710,采集的图像清晰稳定,可以确保在距目标 1 m 时就能捕捉到全部轮廓信息。系统使用mgpj?streamer 软件库完成视频图像采集。
  
  1.3 4G 模块
  
  4G 模块采用上海稳恒电子科技的WH-LTE-7S4 模块。它是一款体积小巧,功能丰富的 M2M 4G 产品,适用于移动、联通、电信 4G 和移动、联通 3G 和 2G 网络制式。以“透传”作为功能核心,高度易用性。支持自定义注册包 、心 跳包等功能 ,支 持 2 路 Socket 连接 ,支 持HTTP 等协议通信,具有高速率、低延时的特点。该模块的内部结构如图 2 所示。
  图 2 4G 模块内部结构图
  图 2 4G 模块内部结构图
  
  1.4超声波避障模块
  
  避障模块使用收发一体超声波传感器,该传感器利 用非接触式超声波探测技术,有效探测距离在25~450 cm 之间。TX2 核心控制单元的GPIO 管脚分别和传感器的Echo 和Trig 管脚连接,构成检测阵列。超声波传感器避障模块与TX2 连接图如图 3 所示。
  图 3 超声波传感器避障模块与TX2 连接图
  图 3 超声波传感器避障模块与TX2 连接图
  

  2系统软件设计

  
  2.1智能监测小车软件设计
  
  智能监测小车的 TX2 主控单元搭载 Ubuntu 16.04 操作系统,采用多线程编程模式,主要实现视频数据采集、跌倒姿态识别、痛苦表情识别、运动控制、摄像头角度调整控制、超声波避障、监测异常报警及 Web 服务器数据交互等功能。图 4 为智能监测终端工作流程图。
  图 4 智能监测终端工作流程图
  图 4 智能监测终端工作流程图
  
  2.2跌倒检测
  
  跌倒姿态检测采用YOLOv3 目标检测算法,该算法采用卷积神经网络为核心,利用 darknet 框架实现,共74 层,其中卷积层为 53 个,池化层为 21 个,池化层主要设计来解决梯度弥散或梯度爆炸的情况。YOLOv3 算法将图像分成 M·M 个方格,如果检测目标中心坐标落处在哪个方格,则该方格负责检测此目标,每个方格预测B 个目标边框和置信度,并给出目标属于某个类别的概率,利用逻辑回归算法预测目标边界框,定义如下:
  
  公式1-4
  
  式中:Cx 和 Cy 为网络坐标偏移量;Pw 与 Ph 为目标边框边界长和宽 ;Bx , By , Bw , Bh  为最后预测的边框坐标值; Tx , Ty , Tw , Th 为网络学习目标。跌倒姿态检测识别算法设计流程如图 5 所示。
  图 5 跌倒检测识别算法设计流程
  图 5 跌倒检测识别算法设计流程
  
  当训练好的网络模型识别出视频图像中的被监测 人跌倒姿态时,就绘制一个矩形的目标预测框,实现目 标的动态检测。
  
  2.3痛苦表情识别
  
  人脸表情识别部分由人脸检测和人脸表情识别两部分共同完成,其中人脸检测主要采用基于深度学习框架caffe 的mtcnn 算法实现。mtcnn 算法用来同时实现人脸检测和对齐,该算法的 cascaded structure 主要包含三个子网络:Proposal  Network(P-Net),Refine  Network(R-Net)、Output Network(O-Net)。P?Net 主要用来生成候选框(bounding  box),R-Net 主要用来去除大量的非人脸框,O-Net 和R-Net 相似,主要增加了 landmark 位置回归,输入大小调整为 48×48,输出包含 P 个bounding  box的 4 个坐标信息、score 和关键点信息。
  
  人脸表情识别采用二分类模型,识别痛苦与不痛苦表情,主要利用 DeepID2 算法实现,该算法提取特征的模型如图 6 所示。
  图 6 DeepID2 特征提取模型图
  图 6 DeepID2 特征提取模型图
  
  算法首先将每个人脸分成多个小块(patch),每个 patch 分别输入到卷积神经网络中。DeepID2 算法中每层的数字代表神经元的数量,最后一个隐层的输出叫作Deep hidden identity features(DeepID),DeepID 特征为160 维。特征提取的最后,把每个 patch 的DeepID 特征连起来就形成了痛苦与非痛苦的人脸。痛苦表情识别算法设计流程如图 7 所示。
  图 7 表情识别算法设计流程
  图 7 表情识别算法设计流程
  
  2.4移动客户端软件设计
  
  该系统的移动客户端软件基于Android 操作系统终端设备,采用 VB+SQL+SOCKET 框架实现,APP 界面布局采用 XML 设计,数据存储与查询使用 SQLite 微型数据库,使用 TCP/IP 协议实现智能监测小车的网络通信。
  
  系统页面主要设计有登录界面、主界面、视频观看界面、历史监测信息查询界面、周边医院界面及个人中心界面,如图 8 所示。
  图 8 Android 系统界面
  图 8 Android 系统界面
  
  APP 可以远程连接嵌入式平台实时获取监测异常报警信息及监控视频数据,并根据需要远程调节监测小车运动及摄像头角度。
  

  3系统测试

  
  跌倒及痛苦表情检测的神经网络训练在采用了1 080Ti 高性能GPU 的服务器上实现。跌倒检测训模型迭代训练 50 000 次,数据集为 5 000 张跌倒图片,痛苦表情检测训练次数为 30 000 次,数据集为 35 000 张痛苦人脸。在模型训练时,数据集的 80% 作为训练集, 20% 作为测试集,学习率设为 0.000  1,跌倒检测训练图片大小调整为 416×416,痛苦表情检测图片大小调整为 85×85。跌倒检查及痛苦表情识别模型的loss 值变化曲线如图 9、图 10 所示。
  
  由图 9、图 10 可知,loss 值降低到 0.1 及以下时,模型具有最佳的识别效果。监测模型训练完成后就可以将其移植到TX2 嵌入式平台上进行测试,跌倒检测实际测试结果如图 11 所示。
  图 9 跌倒检测识别模型loss 值变化曲线
  图 9 跌倒检测识别模型loss 值变化曲线
  图 10 表情识别模型loss 值变化曲线
  图 10 表情识别模型loss 值变化曲线
  图 11 跌倒检测测试结果
  图 11 跌倒检测测试结果
  图 12 面部表情痛苦测试结果
  图 12 面部表情痛苦测试结果
  
  跌倒或面部表情痛苦APP 报警提示界面见图 13。
  图 13 APP 报警提示界面
  图 13 APP 报警提示界面

Tags:

标签云