室外人群异常聚集监测与驱散系统设计_第1页
室外人群异常聚集监测与驱散系统设计_第2页
室外人群异常聚集监测与驱散系统设计_第3页
室外人群异常聚集监测与驱散系统设计_第4页
室外人群异常聚集监测与驱散系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章系统测试5.1系统实物图图5.1系统实物图5.2测试原理图图5.2显示模块在测试过程中可能会遇到一些问题。首先,学习模式的次数必须达到要求,如果学习次数不足,系统在进行人员检测时可能会出现人数统计的问题。其次,系统可能会面临数据缓冲的挑战,特别是在需要处理大量人员数量时,系统需要一定的时间来加载数据。图5.2展示了显示模块,它能够实时显示摄像头采集的画面,并显示系统的状态、人数阈值和当前人数。SYS_Status用于表示系统的状态,包括RUN(运行)和END(结束)两种状态。THR_People_Num(1-5)表示人数阈值,其中1代表最低阈值,5代表最高阈值,当前显示的是阈值为3。而People_Num则表示当前检测到的人数,此时人数为1。总之,在测试过程中,必须确保学习模式的次数达到要求,以避免人数检测方面的问题。此外,对于系统的数据缓冲,需要在面对大量人员数量时留出适当的加载时间。图5.2的显示模块则提供了实时的画面显示,同时显示系统状态、人数阈值和当前检测到的人数,为系统的监测和管理提供了便利。图5.3按键模块如图5.3为按键模块,RST为复位按键,按下后清空学习的内容,SYS为系统按键,用来切换模式(RUN或END),KEY2为阈值减少按键,KEY3为阈值增加按键。图5.4运行结果如图5.4,在RUN模式下通过摄像头开始检测人数,此时检测到的人数为2,没有超过阈值;当超过阈值时,语音模块播报“人群异常聚集,为避免踩踏,请自行离开”来提醒人们注意避免人群聚集。基于人脸检测数据库、人脸识别性能测试数据库等,该系统可以使用任意正常人脸图像进行系统测试,该系统测试使用了六张人种、肤色、年龄、性别不尽相同的人脸图像,系统测试时都可成功识别,该系统也可对现实人物进行识别。第6章总结与展望随着大学生涯的即将结束,我的毕业设计也接近了尾声。经过一段时间的努力我的毕业设计终于完成了。在没有做毕业设计之前,我认为毕业设计只是对这几年来所学知识的单纯的总结,但是通过这次做毕业设计发觉自己的想法有点太简单。毕业设计不仅仅是对先前所学知识的一种检验,而且也是对自己实际操作能力的提升。通过这次毕业设计,我明白了自己的部分专业知识相对比较薄弱。自己要学习的东西还有很多,之前是觉得自己什么东西都懂,然而通过这次毕业设计,我才明白学习是一个长期积累的过程,在今后的工作与生活中都应该不断的学习,努力提高自己专业知识和综合素养。我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在此要感谢我的指导老师对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。此次毕业设计的经历大大提高了我的动手能力,让我充分感受到在创造过程中探索的困难和成功时的喜悦。虽然这个设计做的并不完美,但是在本次毕业设计过程中,我所学到的东西将会是今后人生路上不可多得的财富与收获。

结论首先,必须明确监测的目标。监测系统的目标是检测人群密度、行动模式以及潜在的危险行为,以便及早采取预防措施。系统需要能够识别可能引发危险或危险行为的行动模式和特征。此外,还需要确定监测系统所覆盖的区域和人群,以确保系统的有效性和准确性。其次,需要选择合适的监测技术。现有的监测技术包括视频监控、无线传感器网络、卫星图像等。这些技术各有优缺点,应根据具体情况进行选择。例如,视频监控系统可以提供实时视频流,但需要大量的存储空间和人力资源来分析视频流。无线传感器网络可以提供精确的位置信息和传感器数据,但需要耗费大量的能源来保持网络连接。卫星图像可以提供大范围的监测能力,但需要考虑天气条件和图像分辨率等因素。第三,需要建立有效的数据分析和处理方法。监测系统需要能够实时收集和处理大量的数据,以便及时发现异常情况。数据分析方法可以包括传统的统计分析和机器学习技术,以便对大量数据进行自动处理和分类。此外,还需要建立有效的警报和应急响应机制,以便在出现异常情况时及时采取措施。最后,需要考虑隐私和安全问题。监测系统需要考虑个人隐私和数据安全问题,并采取相应的措施来保护数据的安全性和保密性。此外,还需要考虑监测系统的使用和管理问题,以确保系统的合法性和公正性。综上所述,针对室外人群异常聚集的监测系统设计需要考虑到监测目标、监测技术、数据处理方法以及隐私和安全问题等关键方面,以实现准确、高效、安全和可靠的监测。参考文献[1]陈汗青,万艳玲,王国刚,数字图像处理技术研究进展.工业控制计算机,2018.26(1):72-74.[2]张广军.机器视觉[M].北京:科学出版社,2018.[3]高燕梅.数字电子技术基础[M].电子工业出版社,2018.120-73.[4]赵鹏.机器视觉理论及应用[M]北京:电子工业出版社,2017.[5]胡耀聪.基于卷积神经网络的密集场景人数估计算法研究:[硕士学位论文].合肥:安徽大学图书馆,2018.[6]孙晓云.接口与通信技术原理与应用[J].中国电力出版社,2018.[7]王宗贤.城市公共场所密集人群检测:[硕士学位论文].北京:北方工业大学图书馆,2017.[8]袁宝红,张德祥,张玲君.基于OpenCV的视频运动目标检测与跟踪.计算机系统应用2019.22(5):90-93.[9]李百惠,杨庚.混合高斯模型的自适应前景提取,中国图象图形学报,2018:1620-1627.[10]罗雨,王永庆,罗海坤等.基于扩展卡尔曼滤波器的矢量跟踪算法研究.电子与信息学报2019(6):1400-1405.[11]惠为君.简述基于单片机ESP8266的智能配网[J].科学与信息化.2021,(15).[12]赵晓玉,李宇,朱新玉,等.一种智能送药小车的设计研究[J].科技风.2020,(19).DOI:10.19392/ki.1671-7341.202019012.[13]李昭,李华杰,孙建明,等.快递物流包装件分拣装置设计[J].包装与食品机械.2018,(5).DOI:10.3969/j.issn.1005-1295.2018.05.007.[14]CeratiG,ElmerP,LantzS,etal.TraditionalTrackingwithKalmanFilteronParallelArchitecturesJournalofPhysics:ConferenceSeries,2018.[15]PengweiHua,XiaowuLiu,JiguoYu,NaDang,XiaoweiZhang.Energy-efficientadaptiveslice-basedsecuredataaggregationschemeinWSN[J].ProcediaComputerScience,2018,129.[16]KORTUMK,MOLLERM,HIRNEIBC,etal.Smarteyedata:devdtopahealtO0%ofoundationformedicalrescarchusingSmartDataapplications[J].DerOphthalmologeZeitschriftDerDeutschenOphthalmologischenGescllschaft,2019.[17]RaafiB.DesignandDevelopmentofFuzzy-PIDControllerforFour-wheeledMobileRoboticStability:AC'aseStudyontheUphillRoad[J].PTEKJournalofEngineering,2020,6(2):6.[18]ZhouY,DongW,FYuan,etal.ResearchofOnlineWaterQualityMonitoringSystemBasedonZigbeeNetwork[J].AdvancesinInformatioSciences&ServiceSciences,2019,4(5):255-261.

附录电路图源代码importsensorimportimageimportlcdimportKPUaskpuimporttimefromMaiximportFPIOA,GPIOimportgcfromfpioa_managerimportfmfromboardimportboard_infoimportutimefromboardimportboard_infofrommachineimportTimer,UARTimportRELAY_DriveimportSYN6288_With_Busy_Drive###########################################再次运行删除模型##########################################try:deltask_fddeltask_lddeltask_feexceptException:passtry:delaexceptException:passgc.collect()###############################################################################################################################################模型加载##################################################内存中模型加载task_fd=kpu.load(0x300000)#加载:人脸检测模型找到人脸#############################################################################################################################################My--config##############################################SYS_Status='END'People_Num=0#人员数量THR_People_Num=3#人员数量阈值###############################################################################################################################################config#################################################anchor=(1.889,2.5245,2.9465,3.94056,3.99987,5.3658,5.155437,6.92275,6.718375,9.01025)#########################################################################################################################################文字显示######################################################defdraw_string(img,x,y,text,color,scale,bg=None):ifbg:img.draw_rectangle(x-2,y-2,len(text)*8*scale+4,16*scale,fill=True,color=bg)img=img.draw_string(x,y,text,color=color,scale=scale)returnimg############################################################################################################################################Face_Check################################################defFace_Check(img):globaltask_fd#人脸检测模型globalapeople_num=0#人员总数code=kpu.run_yolo2(task_fd,img)#人脸检测模型找到人脸ifcode:foriincode:img.draw_rectangle(i.rect(),color=lcd.RED)people_num=people_num+1returnpeople_num##############################################################################################################################################INIT####################################################lcd.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--停止抓取图像a=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()#########################################################################################################################################S-RELAY(语音控制)################################################控制语音模块--常开接线(继电器不工作状态是开路)fm.register(board_info.PIN_S_Relay_01,fm.fpioa.GPIO0)#注册IOCtr_S_RELAYCtr_S_RELAY=GPIO(GPIO.GPIO0,GPIO.OUT)S_Relay=RELAY_Drive.RELAY(Ctr_S_RELAY,1)#构建对象:S_RelayS_Relay.Init()#初始化:Relay_01#S_Relay.ON()#继电器打开#S_Relay.OFF()#继电器打开##########################################################################################################################################SYN6288(withbusy)##########################################fm.register(board_info.PIN_S_BUSY,fm.fpioa.GPIO1)#映射IO-S_BUSY#PIN_S_BUSYS_BUSY=GPIO(GPIO.GPIO1,GPIO.PULL_UP)#注册IO-S_BUSYfm.register(board_info.PIN_SRXD_MCU_TX,fm.fpioa.UART1_TX,force=True)#映射串口引脚MCU-TXfm.register(board_info.PIN_STXD_MCU_RX,fm.fpioa.UART1_RX,force=True)#映射串口引脚MCU-RXuart_1=UART(UART.UART1,9600,read_buf_len=10240)VOICE=SYN6288_With_Busy_Drive.SYN6288(uart_1,S_BUSY)#构建对象,默认忙时为高电平VOICE.Init()#播放语音#S_Relay.ON()#VOICE.Send_Data_Handle('people_max')#指令:'people_max'--人群异常聚集,为避免踩踏,请自行离开!#读忙#VOICE.Read_Busy()#合成/语音--返回"IS_BUSY"否则"NO_BUSY"##############################################################################################################################################KEY######################################################KEY_BOOT--未使用#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中断回调函数globalS_RelayglobalSYS_Statustime.sleep_ms(10)#消除抖动ifKEY_SYS.value()==0:#确认按键被按下ifSYS_Status=='END':S_Relay.ON()#开启语音SYS_Status='RUN'else:S_Relay.OFF()#关闭语音SYS_Status='END'time.sleep_ms(100)#消除抖动KEY_SYS.irq(exit_KEY_SYS_fun,GPIO.IRQ_FALLING,priority=2)#开启中断,下降沿触发#KEY1--未使用#KEY2--+fm.register(board_info.PIN_KEY2_IN,fm.fpioa.GPIOHS3)#注册IO-KEY2KEY2=GPIO(GPIO.GPIOHS3,GPIO.IN,GPIO.PULL_UP)#构建KEY2对象defexit_KEY2_fun(KEY2):#KEY2中断回调函数globalSYS_StatusglobalTHR_People_Numtime.sleep_ms(10)#消除抖动ifKEY2.value()==0:#确认按键被按下ifSYS_Status=='END':THR_People_Num=THR_People_Num+1ifTHR_People_Num>5:THR_People_Num=1KEY2.irq(exit_KEY2_fun,GPIO.IRQ_FALLING,priority=2)#开启中断,下降沿触发#KEY3---fm.register(board_info.PIN_KEY3_IN,fm.fpioa.GPIOHS6)#注册IO-KEY3KEY3=GPIO(GPIO.GPIOHS6,GPIO.IN,GPIO.PULL_UP)#构建KEY3对象defexit_KEY3_fun(KEY3):#KEY3中断回调函数globalSYS_StatusglobalTHR_People_Numtime.sleep_ms(10)#消除抖动ifKEY3.value()==0:#确认按键被按下ifSYS_Status=='END':THR_People_Num=THR_People_Num-1ifTHR_People_Num<1:THR_People_Num=5KEY3.irq(exit_KEY3_fun,GPIO.IRQ_FALLING,priority=2)#开启中断,下降沿触发#########################################################################################################################################异常/正常#######################################################Operation(SYS_Status,THR_People_Num,People_Num)Last_People_warning=0defOperation(sys_status,thr_people_num,people_num):globalS_Relay,VOICEpeople_warning=0voice_flag=0ifsys_status=='RUN':#RUNifpeople_num>thr_people_num:voice_flag=1else:passelse:#ENDpass#执行ifvoice_flag==1:#人群异常聚集,为避免踩踏,请自行离开!ifVOICE.Read_Busy()=='NO_BUSY':VOICE.Send_Data_Handle('people_max')#指令:'people_max'--人群异常聚集,为避免踩踏,请自行离开!else:pass#############################################################################################################################################main#####################################################clock=time.clock()#新建一个时钟,用来计算FPSwhile1:clock.tick()#更新时钟img=sensor.snapshot()#抓取图片People_Num=Face_Check(img)#调用人脸检测函数Operation(SYS_Status,THR_People_Num,People_Num)#执行函数#显示:系统状态img=draw_string(img,2,0,'SYS_Status:%sTHR_People_Num(1-5):%dPeople_Num:%d'%(SYS_Status,THR_People_Num,People_Num),color=lcd.BLACK,scale=1,bg=lcd.WHITE)fps=clock.fps()#计算:FPSprint("%2.1ffps"%fps)#打印:FPSa=lcd.display(img)#显示:LCDgc.collect()#内存回收#kpu.memtest()#a=kpu.deinit(task_fe)#a=kpu.deinit(task_ld)#a=kpu.deinit(task_fd)####################################################################################################'''文件名称:1路继电器驱动文件型号:5V继电器版本:v1.0日期:2023.02.17作者:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论