版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1研究目的及意义随着近年来儿童走失事件频发,国家、学校及家庭都越来越重视儿童出行安全问题,因为每个失踪事件背后都有一个破碎家庭。据公安部最新数据显示,近年来我国每年有近20万儿童失踪。尽管从新中国成立以后,我国对拐卖妇女儿童现象进行了几次专项打击,但拐卖儿童现象却是越来越严重,具体分析起来有以下几个特点:从个人分散作案,到集团化拐卖儿童。从一个人拐了孩子后直接找买家到现在拐运销一条龙,甚至出现了一些专门批发被拐儿童的人贩子,从境内作案发展到跨国作案,从单纯的拐孩子传宗接代到强迫孩子做非法盈利活动,拐卖手法也从单纯的偷,发展到明抢明夺,甚至为了拐卖儿童出现杀害儿童亲人的恶性案件。现今整合GPS与GSM的追踪定位装置在国内外也逐渐成为风潮,针对儿童的智能手表、老人的防丢手环之类的产品也层出不穷。若发生协寻事件时,家人透过GSM联系追踪器,追踪器会自动由发射器送出GPS定位讯号,于手机或网络地图上得知走失对象位置[10]。本项目正是顺应这社会发展需求而开展的,通过智能儿童防拐系统的研究与设计解决以上社会问题,实现家长和孩子间的双向通信,进而避免孩子的丢失。在网络环境逐渐形成完整的框架的基础上人工智能开始逐渐兴起,并且以极快的速度发展,而物联网的网络建立,是人工智能领域中的重大突破。当前物联网中的人工智能图像检测方式是小波能量算法和边缘噪声采集,这种方式是最为传统的一种图像检测方式,但是按照现代的可及发展视角分析,这种方式已经无法满足当前人们的需求,在实际使用中,这种方式存在的不足内容越来越多,为了将当前的人工智能图像检测技术提升,在基于物联网的强大计算能力和信息采集、分析能力的基础上,对采集的图像进行细致的分析解剖,从而根据其反馈的信息,将物联网人工智能图像检测系统建设完善[13]。1.2国内外研究现状刘成(2019)在《警用模糊图像增强系统》中要提升天网在各阶段整体作用发挥的程度,就必须破除口供依赖思想,重视天网视听资料的证据价值,同时在技术层面上提高天网的画面质量,并完善天网系统的管理和监督机[1]。杨学瑜曹雪霞(2019)在《浅谈EPON技术在天网监控系统中的应用》中本方论述了EPON技术在天网监控系统中的应用。主要从天网建设环境和建设要求引出EPON技术的应用分析EPON技术的特点,并与公安部对天网建设要求对比,得出EPON技术符合天网建设的网络建设条件的结论。FrancisF,FranckL(2021)在《Skynetmonitoringandcriminaljustice》中生物特作为人的一种内在属性,具有较强的稳定性和个体差异性,是理想的自动身份验证的依据。其中,人脸在普遍性、独特性和可采集性等方面都有一定优势。人脸检测与识别作为个人身份认证中应用最为广泛的一种技术,具有较高的学术研究价值和广泛的应用前景。DK,Rajopadhyaya(2021)在《Modelingmethodofintelligentprediagnosisandhealthmanagementsystemanditscomputerprogramproduct》中人脸识别系统的关键技术,从总体来看,具体可分为两大类技术,本文将从这两个角度对人脸识别系统的关键技术进行研究,旨在提高人脸识别的准确率的同时可以提升识别速度,以便实现快速的实时人脸识别系统。Cifelli,SKAvery(2019)在《DesignandimplementationofSkynetHDvideomonitoringstoragesystem》中随着高清技术逐渐的普及,高清在“天网”中的地位也越来越凸显,已成为视频监控现在及未来发展的主方向。而要实现高清视频监控,就必须解决高清存储问题,要实现高清存储,就要解决相应的存储技术及存储方案问题。综上所述,天网系统的根本意义在于实时监测各种事件的发生,国内外学者对于天网系统的研究大多针对如何提高信息识别的准确性,而且功能多样,增加监控管理的适用性[2]。而我所设计的基于AI视觉轨道交通寻找被拐儿童系统,使用先进的人脸识别模块,信息处理效率高,安全性好,采用先进的算法,未经授权难以复制与修改数据;专攻于监测模块和通信模块,抗干扰力强,系统具有高可靠性,操作简单快捷。1.3章节安排及内容第一章绪论,主要讲解研究目的、研究意义,国内外研究现状以及章节安排。第二章系统总体设计,讲解了设计方案、功能需求以及单片机型号的选择。第三章系统硬件设计,介绍了系统的各个部分的硬件设计以及原理图。第四章系统软件设计,介绍了系统的总体流程和各模块的软件设计及流程。第五章系统测试,讲解了系统完后的实物功能演示以及测试;第2章系统总体方案设计2.1设计方案本设计是一种基于AI视觉系统的轨道交通寻找被拐儿童系统设计,系统由下位机组成,是一个固定在交通枢纽人员密集的地方的识别装置。识别到已经提前学习好的被拐儿童信息,发送包含GPS地理位置信息的短信,并且关闭当前闸门,实现寻找被拐儿童功能。2.2功能需求分析2.2.1技术路线:(1)硬件部分需要AI视觉系统、短信模块、信息采集模块、显示模块;(2)采用KEIL5软件平台和C编程语言完成下位机软件设计;(3)采用GPS定位技术,告知警方儿童位置;(4)采用QT平台和利用C语言和MYSQL完成系统设计;(5)设计结构框图。2.2.2预期结果:完成一个整体的基于AI视觉技术的轨道交通寻找被拐儿童控制系统设计,并且该设计能实现的功能如下:(1)建立“下位机”,“服务器端”,“客户端”三部分结构。(2)客户端提供给用户用于控制。(3)服务端客户的控制信息并等待下位机获取。(4)下位机获取数据刷新标志牌图案。2.3总体方案设计第一:理论知识准备阶段,理解设计课题,认真研究课题所涉及到的内容,能够较好的掌握有关题目的知识;第二:确定系统各个模块,理清各个模块之间的关系,收集相关得到软硬件资料;第三:规划课题,确定系统组成结构,勾画出大体系统框架并在结构框架的基础上提出原理框图;第四:利用软件完成硬件电路部分设计并画出各部分电路图,将系统部件通过接口电路集合在一起,并画出电路图;第五:根据系统控制过程完成软件设计部分,绘制出主流程图;第六:运行实物,检查系统是否能够按照要求实现控制功能,整理论文。2.4设计的系统构架基于AI视觉的轨道交通寻找被拐儿童系统的总体构架如下:摄像头:系统使用摄像头来监控轨道交通场景。摄像头可以布置在车站、地铁站或其他交通枢纽的关键位置,以捕捉行人的图像。LCD显示屏:系统使用LCD显示屏来显示检测结果和相关信息。通过LCD显示屏,操作员和相关人员可以实时查看监控区域的图像和系统状态。RGB彩灯:RGB彩灯可以用于指示特定事件或系统状态。例如,当系统检测到被拐儿童时,可以使用红色灯光指示;当监测区域正常时,可以使用绿色灯光指示。蜂鸣器:蜂鸣器可以用于发出声音警报,以引起人们的注意或提醒相关人员。例如,当检测到可疑行为或发现被拐儿童时,蜂鸣器可以发出警报声。TF存储卡:TF存储卡用于存储系统所需的数据、模型和配置文件。这些文件可能包括深度学习模型、人脸识别算法、儿童信息数据库等。系统可以从TF存储卡中加载这些数据,以进行实时的图像处理和人脸识别。闸机:闸机用于限制人员通行,并与系统集成。当检测到被拐儿童或可疑行为时,系统可以触发闸机自动关闭或发出警报,以避免儿童离开监控区域。GPS:GPS用于定位系统当前位置,获取轨道交通的地理坐标信息。这对于追踪被拐儿童的移动路径和提供准确的报警信息非常重要。SIM800c:SIM800c是一个GSM/GPRS模块,用于与系统集成的无线通信。它可以通过短信或数据连接与相关部门或家长进行通信,以报告被拐儿童的位置或发送警报信息。总体而言,摄像头用于监控轨道交通场景,LCD显示屏用于显示图像和信息,RGB彩灯和蜂鸣器用于指示和发出警报,TF存储卡用于存储数据和模型,闸机用于限制通行,GPS用于定位,而SIM800c用于无线通信。这些组件共同构成了基于AI视觉的轨道交通寻找被拐儿童系统的整体架构。图2.4总体框架图第3章系统的硬件部分设计3.1系统总体设计本设计是一种基于AI视觉系统的轨道交通寻找被拐儿童系统设计,系统由下位机组成,是一个固定在交通枢纽人员密集的地方的识别装置。识别到已经提前学习好的被拐儿童信息,发送包含GPS地理位置信息的短信,并且关闭当前闸门,实现寻找被拐儿童功能;在该设计中,人脸识别是通过已学习的被拐儿童人脸数据来进行实时对比的。系统会通过摄像头采集到的人脸图像与存储在系统数据库中的被拐儿童人脸数据进行匹配。匹配过程通常基于人脸特征提取和比对算法,如人脸检测、人脸特征提取、特征匹配等。系统会将学习到的被拐儿童人脸数据存储在一个特殊的模型中,该模型包含了被拐儿童的特征值,用于与实时采集到的人脸数据进行对比。系统的识别能力取决于该模型学习到的人脸特征和对比算法的准确性。系统可以识别多个被拐儿童的人脸,因为系统的数据库中包含了多个被拐儿童的人脸数据。每次实时采集到的人脸数据都会与数据库中的每个人脸进行对比,以确定是否匹配。系统的人脸识别精度受多种因素的限制,包括人脸图像的质量、环境光照条件、摄像头的性能等。精度值通常以识别准确率或误识率来衡量,具体数值会根据系统的设计和算法的选择而有所不同。为了提高人脸识别的精度,设计中应该考虑使用高质量的摄像头、优化算法以及提供良好的光照条件。在纯下位机设计中,系统能够实时显示摄像头采集的画面,学习和识别被拐儿童人脸数据,并根据识别结果关闭出入口闸机并发出蜂鸣器示警。这样,管理人员可以及时查看并采取行动来找回被拐儿童。然而,具体的识别精度和模型特殊值的设计需要根据系统的具体实现和算法选择来确定。实现的功能如下:纯下位机;1.系统可实时显示摄像头采集的画面;2.系统可学习被拐儿童人脸数据;3.系统可识别被拐儿童人脸数据;4.系统监测到被拐儿童人脸数据,关闭出入口闸机;5.系统监测到被拐儿童人脸数据,蜂鸣器示警,管理人员听到蜂鸣器示警可及时查看找回被拐儿童;总体原理图如下所示:图3.1总体原理图3.2系统的主要功能模块设计3.2.1单片机型号选择主控制芯片选择助智K210具有双核64位处理器,并自带独立FPU;有一块KPU用于神经网络加速单元:还有一块APU用于语音数据处理。所以这块芯片具有视觉和听觉处理力,功耗低,性能高的特点,并且采用TSMC28纳米制程,稳定性和可靠性具有一定保证因此常被用在物联网领域的开发(勘物)和人工智能领域的探索(探智),而得名勘智。它的内存短板。内置8MByte的高速SRAM,减小了系统复杂度的同时,给软件带来了优化难度。在PC上训练的上百M模型,如何在移动端压缩到几十M的大小,将模型降低一个数量级塞进8M6*RAM,是个难点。底板上除了一块K210芯片,一颗0V2640摄像头,一个LCD屏外,还包含很多外设接口,TypeC用于串口调试,TF卡槽用于外插存储,Wifi接口,32MB-F1ash等。STM32算是使用最频繁的芯片,但是在一些特定的功能上,STM32也具有其短板,因此在平时多了解多种类的单片机还是非常有必要。我想介绍的最小系统板是Sipeed公司设计的K210最小系统板,这一块最小系统板采用的是嘉楠科技公司开发的K210芯片,是一款国产的单片机,由于芯片的封装采用的是BGA144封装,焊接比较复杂,因此在使用的时候,比较建议直接购买最小系统板进行学习和开发。Kendryte.K210·是集成机器视觉与机器听觉能力的系统级芯片(SoC)。使用台积电(TSMC)·超低功耗的28·纳米先进制程,具有双核64位处理器,拥有较好的功耗性能,稳定性与可靠性[10]。Kendryte.K210·定位于AI与IoT市场的SoC,同时是使用非常方便的MCU。K210·包含RISC-V·64位双核CPU,主须为400M(超频可达600M),每个核心内置独立FPU。K210的核心功能是机器视觉与听觉,其包含用于计算卷积人工神经网络的KPU与用于处理麦克风阵列输入的APU.·同时K210具备快速傅里叶变换加速器,可以进行高性能复数FFT计算。因此对于大多数机器学习算法,K210·具备高性能处理能力。图3.2.1KendryteK210系统架构原理图3.2.2LCD显示屏模块设计\t"/item/LCD%E6%B6%B2%E6%99%B6%E6%98%BE%E7%A4%BA%E5%99%A8/_blank"液晶显示器,或称CD(LiquidCrystalDisplay),为平面超薄的显示设备,它是由一定数量的彩色或黑白像素组成,放置于光源或者射面前方。由于液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。虽然产品购造和原理都不尽相同,液晶显示器(LCD)和传统显示器(CRT)的共同目的都是达到优良的显示效果,我们对CRT和示器作一比较。结构和产品体积:传统的CRT型显示器必须通过发射到屏幕,因而的管就不能太短,当屏幕增大时也必须加大体积,T则通过显示屏上的电子板来改变分子状态,以达到显示目的,即使屏幕加大,它只需将水平面积增大即可,而体积却不会有很大增加,而且要比器轻很多,同时TFT由于功耗只用于板和驱动IC上,因而耗电量较小。辐射和:传统的显示器由于采用电子枪发射电子束打到屏幕产生。虽然有一些先进的技术可将辐射降到最小,但仍然不能完全根除。TFT液晶显示器则不必担心这一点。至于波的干扰,TFT液晶显示器只有来自\t"/item/LCD%E6%B6%B2%E6%99%B6%E6%98%BE%E7%A4%BA%E5%99%A8/_blank"驱动电路的少量电磁波,只要将外壳严格密封就可使电磁波不外泄,而CRT显示器为了散热不得不在机体上打出散热孔,所以必定会产生电磁干扰。屏幕平坦度和分辨率:TFT液晶一开始就采用纯平面的璃板,所以平坦度要比大多数CRT显示器好得多,当然有了纯平面的CRT彩显。在分辨率上,TFT却远不如CRT显示器,虽然从理论上讲它可提供更高的分辨率,但事实却不是这样。显示效果:传统CRT显示器是通过电子枪打击因而显示的度比液晶的透光式显示要好得多,在角度上CRT也要比TFT好一些,在显示反映速度上,CRT与TFT相差无几。LCD是依赖极化(片)和光线本身。自然光线是朝四面八方随机发散的。极化滤光器实际是一系列越来越细的行线。这些线形成一张网,阻断不与这些线平行的所有光线。极化滤光器的线正好与第一个垂直,所以能完全阻断那些已经极化的光线。只有两个滤光器的线完全平行,或者光线本身已扭转到与第二个极化滤光器相匹配,光线才得以穿透。总结下来LED液晶的优点:LED液晶电视有省电、环保、色彩更真实的优势,为了创造更优质画面构造,新技术采用了用独有TFT型Active素子进行驱动。图3.2.2LCD显示屏原理图3.2.3蜂鸣器模块设计蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号,3.3V电磁式有源蜂鸣器是一种常见的电子声音发生器,用于产生可听到的声音信号。下面是对其的简单介绍:工作电压:3.3V电磁式有源蜂鸣器的工作电压为3.3伏特(V)。这意味着它需要通过3.3V的电源供电才能正常工作。它通常与3.3V电源系统或电路板集成使用。电磁式原理:电磁式有源蜂鸣器的工作原理基于电磁感应。它由一个线圈和一个振动膜组成。当通过线圈中的电流时,线圈产生一个磁场,这个磁场与振动膜中的磁场相互作用,使得膜片开始振动,从而产生声音。声音频率:蜂鸣器可以发出不同频率的声音。频率由输入的电信号决定。通常,3.3V电磁式有源蜂鸣器可以发出可听到的声音频率范围,如几百赫兹到几千赫兹。具体的频率范围可能因不同型号而有所不同。有源蜂鸣器:3.3V电磁式有源蜂鸣器被称为有源蜂鸣器,是因为它可以直接通过电流输入来产生声音。与无源蜂鸣器相比,它不需要外部的振荡电路或驱动器。它可以更简单地集成到电路中,并且通常具有较高的音量输出。应用领域:3.3V电磁式有源蜂鸣器在许多电子设备和应用中被广泛使用。它可以用于警报系统、提醒设备、电子时钟、报警器、电子玩具等。由于其工作电压为3.3V,它特别适用于与3.3V逻辑电路和微控制器集成的应用。总结而言,3.3V电磁式有源蜂鸣器是一种使用3.3V电源供电的电子声音发生器。它通过电磁感应原理产生声音,并可以发出可听到的声音频率。由于其简单的集成和适用于3.3V电路的特性,它在各种电子设备和应用中得到广泛应用。蜂鸣器模组原理图如下图。图3.2.3蜂鸣器模组原理图3.2.4舵机模块设计PWM,英文名PulseWidthModulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%.我们常说的舵机,它的学名叫做伺服电机,它是一种带有输出轴的小装置。当我们向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只要控制信号持续不变,伺服机构就会保持轴的角度位置不改变。如果轴的位置与控制信号相符,那么电机就会关闭。如果控制电路发现这个角度不正确,它就会控制马达转动,直到它达到指定的角度。舵机角度根据制造商的不同而有所不同。一个180度的舵机,它可以在0度至180度之间运动。由于限位装置被安装在主输出装置上,超出这个范围机械结构就不能再转动了。舵机的输出功率与它所需要转动的距离成正比。如果输出轴需要转动很长的距离,马达就会全速运转,如果它只需要短距离转动,马达就会以较慢的速度运行,这叫做速度比例控制。控制线用于传输角度控制信号。这个角度是由控制信号脉冲的持续时间决定的,这叫做脉冲编码调制(PCM)。舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围,总间隔为2ms。脉冲的宽度将决定马达转动的距离。例如:1.5毫秒的脉冲,电机将转向90度的位置(通常称为中立位置,对于180°舵机来说,就是90°位置)。如果脉冲宽度小于1.5毫秒,那么电机轴向朝向0度方向。如果脉冲宽度大于1.5毫秒,轴向就朝向180度方向。图3.2.4舵机原理图3.2.5短信模块设计SIM800C是一款四频GSM/GPRS模块,为城堡孔封装。其性能稳定,外观小巧,性价比高,能满足客户的多种需求。SIM800C工作频率为GSM/GPRS850/900/1800/1900MHz,可以低功耗实现语音、SMS和数据信息的传输。SIM800C尺寸为17.6*15.7*2.3mm,能适用于各种紧凑型产品设计需求。这个2G的数据流量功能,与GSM网络还不一样,大家千万不要认为这2个东西走的是一个网络通道。GSM是全球移动通讯系统(GlobalSystemforMobileCommunications)的简称;GPRS是通用分组无线业务(GeneralPacketRadioService)的简称。GPRS是在GSM基础上发展起来的一种分组交换的数据承载和传输方式,与原有的GSM比较,GPRS在数据业务的承载和支持上具有非常明显的优势:GPRS可以更有效的利用无线网络信道资源,特别适合突发性、频繁的小流量数据传输;GPRS支持的数据传输的速率更高,理论峰值达115kbps;GPRS计费方式更加灵活,可以支持按数据流量来进行计费;GPRS还能支持用户在进行数据传输的同时进行语音通话等等。图3.2.5SIM800C原理图
第4章系统的软件设计4.1软件主流程图本设计是基于AI视觉的轨道交通寻找被拐儿童系统,该系统是一个安装在交通枢纽人员密集地区的识别装置。系统采用下位机结构,具备以下功能:实时监测和显示摄像头采集的画面:系统能够实时获取并显示摄像头所捕捉到的图像。学习被拐儿童人脸数据:系统能够接收和学习事先提供的被拐儿童的人脸数据,以建立识别模型。识别被拐儿童人脸数据:系统使用深度学习算法和已训练好的模型,对实时摄像头画面中的人脸进行识别,判断是否为被拐儿童。关闭出入口闸机:当系统检测到被拐儿童的人脸数据时,会自动触发关闭出入口闸机的指令,限制其进出。蜂鸣器示警:同时,系统会发出蜂鸣器示警,提醒管理人员有被拐儿童的出现。管理人员听到警报后,可以立即查看监控画面并采取适当行动,以帮助找回被拐儿童。通过以上功能,该系统能够及时发现被拐儿童,发送包含GPS地理位置信息的短信,并采取相应措施,如关闭闸门,以实现寻找被拐儿童的目标。开始开始系统初始化系统初始化人脸检测人脸检测是否符合标准否是否符合标准 发送短信 是发送短信蜂鸣示警关闭入口闸机是蜂鸣示警关闭入口闸机 结束结束图4.1整体流程图4.2短信模块的软件设计首先,需要进行短信模块的硬件接口驱动设计。这涉及与短信模块之间的串口通信或其他适配方式的设计和实现。需要编写代码来初始化串口通信,并提供发送和接收数据的功能。设计一个函数来处理发送短信的操作。该函数应该能够接受目标手机号码和短信内容作为参数,并通过串口将相应的AT指令发送给短信模块。需要考虑错误处理和异常情况的处理,例如发送失败、网络连接问题等。为了实现系统监测到被拐儿童人脸数据后,发送包含GPS地理位置信息的短信给警方,需要设计一个函数来处理接收短信的操作。该函数应该能够监听串口数据,并解析接收到的短信内容,提取其中的相关信息。为了获取当前地理位置信息,需要设计相应的GPS数据获取模块。这可能涉及与GPS模块之间的通信和数据解析。可以使用相应的协议(如NMEA协议)来解析GPS模块返回的数据,并提取出地理位置信息。在接收到被拐儿童人脸数据后,系统应该触发救援请求,并将包含GPS地理位置信息的短信发送给警方。这涉及到调用短信发送函数,并将相关的位置信息和警报信息作为参数传递给该函数。在整个短信模块的软件设计中,需要考虑错误处理和异常情况的处理。这包括对短信发送失败、网络连接问题、GPS数据获取异常等情况进行适当的处理和反馈。在实际软件设计中,可能需要根据具体的短信模块和系统需求进行相应的适配和优化。同时,考虑到安全性和稳定性,还需要进行充分的测试和验证,确保短信模块的软件设计能够可靠地工作。开始开始系统初始化系统初始化人脸检测人脸检测是否符合标准是否符合标准否 是发送短信是发送短信是结束结束图4.2短信模块程序图4.3外观检测和舵机模块软件的设计设计一个模块来获取摄像头采集的图像,并对图像进行预处理。这包括图像降噪、调整图像亮度和对比度等操作,以提高后续的外观检测准确性。使用计算机视觉和深度学习算法,设计一个物体检测和识别模块。该模块能够从预处理的图像中检测出关键目标,如人脸、身体等,并将其与已学习的被拐儿童外观特征进行比对。设计一个特征匹配和识别算法,用于将检测到的外观特征与已有的被拐儿童特征进行匹配。这可能涉及人脸识别、图像特征提取和比对等技术,以确定是否有与被拐儿童匹配的目标。当检测到与被拐儿童外观特征匹配的目标时,设计一个报警和反馈机制。这可以包括触发蜂鸣器示警、发送警报信息给相关人员或启动其他紧急措施。同时,需要确保报警机制的准确性和可靠性,避免误报和漏报的情况。为了方便操作员使用外观检测模块,设计一个直观友好的界面和用户交互系统。这可能包括显示监控画面、提供操作按钮和选项,以及显示检测结果和报警信息等。在整个外观检测模块的软件设计中,需要考虑异常情况的处理和系统稳定性。开始开始系统初始化系统初始化人脸检测人脸检测是否符合标准 否是否符合标准 是关闭入口闸机关闭入口闸机 结束结束图4.3舵机模块程序流程图4.4蜂鸣器报警模块软件的设计报警模块的软件设计是基于AI视觉系统的轨道交通寻找被拐儿童系统的重要组成部分。该模块主要负责识别被拐儿童的人脸信息,并触发相应的报警措施。下面是报警模块软件设计的概要描述:实时监控画面显示:软件设计需要实时显示通过摄像头采集的画面,将其呈现在监控屏幕上供监控人员观察和分析。这需要利用合适的图像处理和显示技术,确保画面的清晰度和流畅性。被拐儿童人脸数据学习与存储:系统需要具备学习和存储被拐儿童的人脸数据的功能。通过AI视觉算法,从摄像头采集的图像中提取人脸特征,并将其存储在识别库中。这样,系统就能建立起被拐儿童的人脸数据库,供后续的识别比对使用。人脸识别与匹配:软件设计需要实现人脸识别算法,对摄像头采集的人脸图像进行识别和匹配。将摄像头采集到的人脸数据与之前学习的被拐儿童人脸数据进行比对,以确定是否存在匹配的人脸。当系统检测到与被拐儿童人脸数据匹配的人脸时,触发相应的报警措施。闸门关闭与蜂鸣器示警:一旦系统确认存在匹配的被拐儿童人脸,软件设计需要触发闸门关闭操作,阻止被拐儿童继续流动。同时,系统还需触发蜂鸣器进行示警,吸引管理人员的注意。蜂鸣器示警和闸门关闭操作的实现需要结合硬件设计和控制技术。监控人员响应与寻找行动:当管理人员听到蜂鸣器示警后,软件设计需要提供即时的监控画面展示,以便管理人员能够及时查看相关信息,并采取相应的寻找和救助行动,确保被拐儿童的安全。通过以上的报警模块软件设计,可以有效提升轨道交通寻找被拐儿童系统的安全性和可靠性,开始开始系统初始化系统初始化人脸检测人脸检测是否符合标准 否是否符合标准 是蜂鸣器报警蜂鸣器报警 结束结束图4.4蜂鸣器报警模块程序流程图4.5LCD显示模块软件的设计在流程图中,LCD显示模块负责接收并显示寻找被拐儿童的信息和地理位置。它会获取摄像头采集的图像,并使用AI视觉算法对图像进行分析和识别,以检测是否存在被拐儿童的信息。如果检测到被拐儿童信息,LCD显示模块会获取当前的GPS地理位置信息,并发送包含地理位置信息的短信。同时,它会关闭当前闸门,并在LCD显示屏上实时显示寻找被拐儿童的信息和地理位置。然后,系统会延时一段时间后返回主循环,继续进行下一轮的检测和处理。需要注意的是,流程图中并未包含具体的代码实现细节,而是展示了LCD显示模块在整个系统中的功能流程。开始开始系统初始化系统初始化LCD初始化LCD初始化是否初始化成功 是否初始化成功 是LCD显示LCD显示 结束结束图4.5LCD显示模块程序流程图
第5章系统测试5.1系统实物图系统可实时显示摄像头采集的画面,系统可学习被拐儿童人脸数据,系统可识别被拐儿童人脸数据。系统监测到被拐儿童人脸数据,获取当前地理位置,以短信形式发送警方,实施救援,系统监测到被拐儿童人脸数据,关闭所有入口闸机,系统监测到被拐儿童人脸数据,蜂鸣器示警,管理人员听到蜂鸣器示警可及时查看找回被拐儿童。图5.1系统完整实物图5.2各项测试测试目标:验证系统的功能和性能,包括实时显示摄像头画面、学习和识别被拐儿童人脸数据、发送警方短信救援、关闭入口闸机以及蜂鸣器示警。测试步骤和结果:实时显示摄像头画面:步骤:启动系统并打开监控画面。结果:系统成功实时显示摄像头采集的画面。学习被拐儿童人脸数据:步骤:提供被拐儿童的人脸数据,并指导系统进行学习。结果:系统成功接收并学习被拐儿童的人脸数据。识别被拐儿童人脸数据:步骤:让系统进行实时监测,并检测是否能够识别被拐儿童的人脸数据。结果:系统成功识别出被拐儿童的人脸数据。发送警方短信救援:步骤:模拟系统监测到被拐儿童人脸数据后,获取当前地理位置,并发送警方短信求救。结果:系统成功获取当前地理位置,并以短信形式发送给警方,请求救援。关闭入口闸机:步骤:模拟系统监测到被拐儿童人脸数据后,自动触发关闭所有入口闸机的指令。结果:系统成功关闭所有入口闸机,限制被拐儿童的进出。蜂鸣器示警:步骤:模拟系统监测到被拐儿童人脸数据后,蜂鸣器发出警报声。结果:系统成功触发蜂鸣器示警,提醒管理人员有被拐儿童的出现。如果系统检测到的人脸数据不属于被寻找的儿童,系统会做出以下反应:系统会继续正常显示摄像头采集的画面。系统不会学习并保存非目标人脸的数据。系统不会将非目标人脸识别为被拐儿童的数据。系统不会发送警方短信救援的指令。系统不会触发关闭入口闸机的指令。系统不会触发蜂鸣器示警。测试结果表明,基于AI视觉的轨道交通寻找被拐儿童系统的各项功能均正常运行,并且系统在测试中表现良好。以下是测试步骤和结果的总结:系统成功实现了实时显示摄像头采集的画面,确保了监控功能的有效性。系统能够接收和学习被拐儿童的人脸数据,为后续的识别提供了准确的参考。系统成功识别出被拐儿童的人脸数据,证明了系统对目标人脸的有效识别能力。系统能够获取当前地理位置,并通过短信向警方发送求救信息,保障了被拐儿童的及时救援。系统能够自动触发关闭所有入口闸机的指令,限制了被拐儿童的进出,确保了他们的安全。系统成功触发蜂鸣器示警,及时提醒管理人员有被拐儿童的出现,加强了寻找行动的响应性。综上所述,基于AI视觉的轨道交通寻找被拐儿童系统在测试中表现良好,并满足了设计要求。通过实时显示摄像头画面、学习和识别被拐儿童人脸数据、发送警方短信救援、关闭入口闸机以及蜂鸣器示警等功能,该系统能够有效地帮助寻找被拐儿童并采取相应措施,提高了儿童安全保护的效果。图5.2.1非被拐儿童显示图5.2.2被拐儿童显示图5.2.3短信通知显示
第6章总结与展望6.1总结基于AI视觉的轨道交通寻找被拐儿童系统是一项具有重要社会意义的设计。通过利用深度学习算法和视觉识别技术,该系统能够实时监测轨道交通场景中的人脸数据,识别被拐儿童,并采取相应的措施,如发送警方短信求救、关闭入口闸机以及触发蜂鸣器示警。经过测试,系统显示出稳定可靠的性能,能够及时发现被拐儿童,并提供救援和保护。6.2展望随着技术的不断发展,基于AI视觉的轨道交通寻找被拐儿童系统有望进一步完善和优化。以下是一些展望的方向:算法优化:继续改进和优化深度学习算法,提高被拐儿童的人脸识别准确性和实时性。同时,探索更多的视觉特征和数据处理方法,提升系统的鲁棒性和适应性。多模态融合:除了人脸识别,可以考虑结合声音、姿态、行为等多种传感器数据进行综合分析,增强对被拐儿童的检测和识别能力。数据库建设:建立更完善、全面的被拐儿童信息数据库,包括人脸图像、个人特征、行为特征等,提高系统的识别和匹配能力。跨系统整合:与其他安全监控系统、警方数据库等进行整合,实现更高效的信息共享和响应,加强对被拐儿童的跟踪和寻找工作。用户隐私保护:在设计和应用中,注重用户隐私的保护,确保合法、合规的数据采集和处理,并采取有效的措施防止数据滥用或泄露。基于AI视觉的轨道交通寻找被拐儿童系统的进一步发展将为保障儿童安全和社会治安作出更大贡献,为家庭、社区以及全社会带来更多安心与保护。
参考文献[1]刘成.警用模糊图像增强系统[D].中国人民公安大学,2019.[2]郑淳夫.基于大数据的天网系统在智能交通方面的应用[J].兰台内外,2018,234(10):82.[3]周波.科技城智慧天网系统运行维护质量策略研究[J].2019.[4]李松.天网高清视频监控存储系统设计与实现[D].南昌大学.[5]丁越昌,李攀,林真友.基于物联网和大数据的水域天网监测系统[J].计算机系统应用,2020.[6]蒋东君,任海旭,李鹏."天网"工程中视频图像信息应用系统与其他系统的交互分析及探讨[J].[7]黄照翠,张荃,陈晖,等.智慧校园视频服务体系应用研究[J].中国教育信息化,2020.[8]李耀武.基于单片机的电子LED闪字屏的电路设计[J].西部皮革.2018.[9]李合军.基于单片机的网络覆盖控制技术[J].电子技术与软件工程.2021.[10]张浩锐.短距离无线数据传输系统研究[J].科技资讯.2019.[11]凯文·塔尔博特.移动革命:人工智能平台如何改变世界[M].北京:机械工业出版社,2017.[12]胡正荣,周亭.新媒体前沿:人工智能与虚拟现实[M].北京:社会科学文献出版社,2018.[13]秦瑾.基于物联网的人工智能图像检测系统设计与实现[J].科学与信息化,2018,45(15):18,22.[14]张华.基于物联网的人工智能图像检测系统设计与实现[J].计算机测量与控制,2017,34(2):[15]崔玉胜.基于物联网的人工智能图像检测系统设计研究[J].辽宁科技学院学报,2018,34(2):7-9.[16]KewangZhang,QizhaoWu,XinLi.Relayparticipated-new-typebuildingcncrgymanagcmentsystcm:Ancncrgy-efficientroutingschemeforwirelesssensornetwork-basedbuildingenergymanagementsystems.2018,13(1):169-185.[17]PengweiHua,XiaowuLiu,JiguoYu,NaDang,XiaoweiZhang.Energy-efficientadaptiveslice-basedsecuredataaggregationschemeinWSN[J].ProcediaComputerScience,2018,129.[18]KORTUMK,MOLLERM,HIRNEIBC,etal.Smarteyedata:devdtopahealtO0%ofoundationformedicalrescarchusingSmartDataapplications[J].DerOphthalmologeZeitschriftDerDeutschenOphthalmologischenGescllschaft,2019.[19]RaafiB.DesignandDevelopmentofFuzzy-PIDControllerforFour-wheeledMobileRoboticStability:AC'aseStudyontheUphillRoad[J].PTEKJournalofEngineering,2020,6(2):6.[20]ZhouY,DongW,FYuan,etal.ResearchofOnlineWaterQualityMonitoringSystemBasedonZigbeeNetwork[J].AdvancesinInformatioSciences&ServiceSciences,2019,4(5):255-261.
附录importsensorimportimageimportlcdimportKPUaskpuimporttimefromMaiximportFPIOA,GPIOimportgcfromfpioa_managerimportfmfromboardimportboard_infoimportutimefromboardimportboard_infofrommachineimportUART#导入串口frommachineimportTimer,PWM#ServoimportGPS_Drive#导入GPSimportSG90_180_DriveimportSIM_800C_Drive_No_Print#导入短信importBEEP_3V3_Drive#再次运行删除模型try:deltask_fddeltask_lddeltask_feexceptException:passtry:delaexceptException:passgc.collect()#模型加载#task_fd=kpu.load(0x300000)#task_ld=kpu.load(0x400000)#task_fe=kpu.load(0x500000)task_fd=kpu.load("/sd/FaceDetection.smodel")#加载人脸检测模型找到人脸task_ld=kpu.load("/sd/FaceLandmarkDetection.smodel")#加载关键点检测模型从前面找到的人脸中找到人脸的眼睛鼻子和嘴巴的位置task_fe=kpu.load("/sd/FeatureExtraction.smodel")#加载人脸特征提取模型--从一张人脸图片中得出一个特征值#clock=time.clock()#新建一个时钟,用来计算FPSlcd.init()#初始化LCDsensor.reset()#复位摄像头sensor.set_pixformat(sensor.RGB565)#设置摄像头输出格式:屏幕使用的是RGB565sensor.set_framesize(sensor.QVGA)#设置摄像头输出帧大小:QVGA--320*240sensor.set_hmirror(1)#水平镜像sensor.set_vflip(1)#垂直镜像sensor.run(1)#图像捕捉功能控制:1--开始抓取图像0--停止抓取图像###########################################config#################################################anchor=(1.889,2.5245,2.9465,3.94056,3.99987,5.3658,5.155437,6.92275,6.718375,9.01025)#anchorforfacedetectdst_point=[(44,59),(84,59),(64,82),(47,105),(81,105)]#standardfacekeypointpositiona=kpu.init_yolo2(task_fd,0.5,0.3,5,anchor)#因为使用了YOLO2模型,该模型有专门的初始化函数,调用初始化函数初始化模型img_lcd=image.Image()img_face=image.Image(size=(128,128))a=img_face.pix_to_ai()record_ftr=[]record_ftrs=[]#建立字典--记录--人脸识别names=['Mr.1','Mr.2','Mr.3','Mr.4','Mr.5','Mr.6','Mr.7','Mr.8','Mr.9','Mr.10']ACCURACY=85#精度SYS_Status='END'#系统状态:ENDstart_processing=False#录入开关Operation_State="-"Last_Operation_State="-"##############################################################################################################################################GPS##################################################fm.register(board_info.PIN_GPS_RXD_MCU_TX,fm.fpioa.UART1_TX,force=True)#注册MCU-TXfm.register(board_info.PIN_GPS_TXD_MCU_RX,fm.fpioa.UART1_RX,force=True)#注册MCU-RXuart_1=UART(UART.UART1,9600,read_buf_len=10240)#构建串口对象GPS_01=GPS_Drive.GPS(uart_1)#构建GPS_01对象GPS_01.Init()#GPS_01初始化#time.sleep(5)#延时#用法1:获取经纬度--以原始数据形式显示#GPS_Original_DATA=None#GPS原始坐标#GPS_Original_DATA=GPS_01.Get_GPS_Original_Data()#获取GPS原始坐标#用法2:获取经纬度--以角度形式显示#GPS_DMS_DATA=None#GPS角度#GPS_DMS_DATA=GPS_01.Get_GPS_DMS_Data()#获取GPS角度GPS_Original_DATA={'UTC':0.0,'N':0.0,'E':0.0}############################################################################################################################################SG-90180#################################################tim2=Timer(Timer.TIMER2,Timer.CHANNEL0,mode=Timer.MODE_PWM)Ctr_Sg90_180_1=PWM(tim2,freq=50,duty=0,pin=board_info.PIN_Ctr_SG90_180)Sg90_180_1=SG90_180_Drive.SG90_180(Ctr_Sg90_180_1)Sg90_180_1.Init()#initSG-90180Sg90_180_1_Flag=0#SG-90Flag##############################################################################################################################################GSM###################################################Send_Message_To_Phone_Number=#短信接受方号码(联通)Send_Message_To_Phone_Number=#短信接受方号码(移动)Send_Message_Text_1=""#短信内容1#映射串口引脚fm.register(board_info.PIN_GSM_RXD_MCU_TX,fm.fpioa.UART2_TX,force=True)#注册MCU-TXfm.register(board_info.PIN_GSM_TXD_MCU_RX,fm.fpioa.UART2_RX,force=True)#注册MCU-RXuart_2=UART(UART.UART2,9600,read_buf_len=4096)#构建串口对象Message_01=SIM_800C_Drive_No_Print.SIM_800C(uart_2)#构建短信对象SIM_800C_State=Message_01.SIM_800C_Init()#初始化短信模块并获取状态time.sleep(5)#用法#SIM_800C_State=Message_01.Send_Message(Send_Message_To_Phone_Number,Send_Message_Text_1)#发送短信并获取状态##############################################################################################################################################BEEP###################################################fm.register(board_info.PIN_Ctr_BEEP,fm.fpioa.GPIO0)#注册IO-Ctr_BEEPCtr_BEEP=GPIO(GPIO.GPIO0,GPIO.OUT)BEEP=BEEP_3V3_Drive.BEEP_3V3(Ctr_BEEP,0)#构建对象:BEEPBEEP.Init()#初始化:BEEPBeep_Flag=0#BeepFlag##############################################################################################################################################KEY######################################################KEY_BOOTfm.register(board_info.PIN_KEY_BOOT,fm.fpioa.GPIOHS0)#注册IO-KEY_SYSKEY_BOOT=GPIO(GPIO.GPIOHS0,GPIO.IN,GPIO.PULL_UP)#构建KEY_SYS对象defexit_KEY_BOOT_fun(KEY_BOOT):#KEY_BOOT中断回调函数globalSYS_Statusglobalstart_processingifSYS_Status=='END':time.sleep_ms(10)#消除抖动ifKEY_BOOT.value()==0:#确认按键被按下start_processing=TrueKEY_BOOT.irq(exit_KEY_BOOT_fun,GPIO.IRQ_FALLING)#开启中断,下降沿触发#KEY_SYSfm.register(board_info.PIN_KEY_SYS,fm.fpioa.GPIOHS1)#注册IO-KEY_SYSKEY_SYS=GPIO(GPIO.GPIOHS1,GPIO.IN,GPIO.PULL_UP)#构建KEY_SYS对象defexit_KEY_SYS_fun(KEY_SYS):#KEY_SYS中断回调函数globalSYS_Statusglobalstart_processingglobalOperation_StateglobalLast_Operation_Statetime.sleep_ms(10)#消除抖动ifKEY_SYS.value()==0:#确认按键被按下Operation_State="-"Last_Operation_State="-"ifSYS_Status=='END':SYS_Status='RUN'else:SYS_Status='END'start_processing=Falsetime.sleep_ms(100)#消除抖动KEY_SYS.irq(exit_KEY_SYS_fun,GPIO.IRQ_FALLING)#开启中断,下降沿触发#########################################################################################################################################异常/正常######################################################defOperation(operation_state):globalSYS_StatusglobalOperation_StateglobalLast_Operation_StateglobalSg90_180_1_FlagglobalBeep_FlagglobalSIM_800C_State,Send_Message_To_Phone_Number,Send_Message_Text_1globalMessage_01ifSYS_Status=='RUN':#if--系统:RUNifOperation_State=="-":#未识别到人脸Sg90_180_1_Flag=1#闸机状态:开启Beep_Flag=0#蜂鸣器状态:关闭elifOperation_State=="X":#识别到未在库中人脸Sg90_180_1_Flag=1#闸机状态:开启Beep_Flag=0#蜂鸣器状态:关闭else:#识别到库中人脸发现被拐儿童Sg90_180_1_Flag=0#闸机状态:关闭Beep_Flag=1#蜂鸣器状态:开启ifLast_Operation_State!=Operation_State:SIM_800C_State=Message_01.Send_Message(Send_Message_To_Phone_Number,Send_Message_Text_1)#发送短信并获取状态else:passelse:#否则-系统:ENDSg90_180_1_Flag=0#闸机状态:关闭Beep_Flag=0#蜂鸣器状态:关闭#闸机ifSg90_180_1_Flag==1:Sg90_180_1.Open(-90)#开启闸机(开舵机-90)else:Sg90_180_1.Open(0)#关闭闸机(开舵机0)#示警ifBeep_Flag==1:BEEP.ON()#蜂鸣器开启else:BEEP.OFF()#蜂鸣器开启Last_Operation_State=Operation_State####################################################################################################while(1):ifGPS_Original_DATA['N']==0.0:gps_original_data_tmp=GPS_01.Get_GPS_Original_Data()#获取GPS角度ifnotgps_original_data_tmpisNone:ifgps_original_data_tmp['N']!=0:GPS_Original_DATA['UTC']=gps_original_data_tmp['UTC']GPS_Original_DATA['N']=gps_original_data_tmp['N']GPS_Original_DATA['E']=gps_original_data_tmp['E']Operation_State="-"#未识别到img=sensor.snapshot()#clock.tick()code=kpu.run_yolo2(task_fd,img)#人脸检测模型找到人脸ifcode:#如果:找到人脸foriincode:#遍历人脸#Cutfaceandresizeto128x128a=img.draw_rectangle(i.rect())#画框face_cut=img.cut(i.x(),i.y(),i.w(),i.h())#人脸-裁剪face_cut_128=face_cut.resize(128,128)#人脸-裁剪-128*128a=face_cut_128.pix_to_ai()#同步`RGB888`内存块#a=img.draw_image(face_cut_128,(0,0))#Landmarkforface5pointsfmap=kpu.forward(task_ld,face_cut_128)#关键点检测模型从前面找到的人脸中找到人脸的眼睛鼻子和嘴巴的位置plist=fmap[:]#把运行的结果转换成了一个list对象le=(i.x()+int(plist[0]*i.w()-10),i.y()+int(plist[1]*i.h()))#左眼睛坐标re=(i.x()+int(plist[2]*i.w()),i.y()+int(plist[3]*i.h()))#右眼睛坐标nose=(i.x()+int(plist[4]*i.w()),i.y()+int(plist[5]*i.h()))#鼻子坐标lm=(i.x()+int(plist[6]*i.w()),i.y()+int(plist[7]*i.h()))#左嘴角坐标rm=(i.x()+int(plist[8]*i.w()),i.y()+int(plist[9]*i.h()))#右嘴角坐标a=img.draw_circle(le[0],le[1],4)#左眼睛--画圆a=img.draw_circle(re[0],re[1],4)#右眼睛--画圆a=img.draw_circle(nose[0],nose[1],4)#鼻子--画圆a=img.draw_circle(lm[0],lm[1],4)#左嘴角--画圆a=img.draw_circle(rm[0],rm[1],4)#右嘴角--画圆#alignfacetostandardpositionsrc_point=[le,re,nose,lm,rm]T=image.get_affine_transform(src_point,dst_point)a=image.warp_affine_ai(img,img_face,T)a=img_face.ai_to_pix()#同步`RGB888`内存块#a=img.draw_image(img_face,(128,0))del(face_cut_128)#删除人脸-裁剪-128*128#calculatefacefeaturevectorfmap=kpu.forward(task_fe,img_face)#人脸特征提取模型--从一张人脸图片中得出一个特征值feature=kpu.face_encode(fmap[:])#得到特征值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农行内部管理考核制度
- 扬州大学广陵学院《地震勘探原理与解释》2024-2025学年第二学期期末试卷
- 景区管委会内部制度汇编
- 重庆城市科技学院《设施作物栽培学实验》2024-2025学年第二学期期末试卷
- 机关内部电脑管理制度
- 机动车报废内部管理制度
- 机电科内部考勤制度
- 林业局内部资料管理制度
- 某银行内部管理制度汇编
- 检察院内部追责制度
- 《防雷减灾管理办法》
- 胶版画教学课件
- 恒丰银行校招笔试题目及答案
- 作战安全与紧急救援
- 工程学博士申请个人自述范文
- 食品行业新物料导入管理流程
- 生物质热电联产项目可行性研究报告
- 2025年湖南电气职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 国电网公司监理表格
- 基于杜邦分析法的BY公司盈利能力分析
- DB53∕T 1269-2024 改性磷石膏用于矿山废弃地生态修复回填技术规范
评论
0/150
提交评论