Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]

1.视频演示:

[项目分享]Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]_哔哩哔哩_bilibili

2.图片演示:

2.png

3.png

4.png

3.明厨亮灶:

餐饮企业的厨房卫生状况一直饱受消费者诟病,许多宾馆饭店大厅、包间富丽堂皇,然而,厨房却往往惨不忍睹。尤其是餐厅中出现老鼠的事故,最近几年频繁发生。有媒体曾经爆料过,著名的海底捞餐厅,甚至是快餐领域的巨头肯德基和麦当劳的厨房都出现了老鼠的踪迹。

明厨亮灶是国家食品药品监督管理局推行的一项利民工程,即让消费者坐在饭店 大厅或者包间,就可以通过透明玻璃或大屏幕将后厨的一举一动尽收眼底。此举既是督促 餐饮单位加强自律,也是鼓励他律,使餐饮单位全面接受消费者监督,主动保障饮食安全。随着视频分析以及人工智能技术的发展与进步,越来越多的事件可以通过视频监控实时进行检测与识别,通过视频分析可以对监控场景中的老鼠进行检测,同时可以实现对老鼠的踪迹进行记录、提前侦测深圳进行报警。

老鼠检测算法方案:

老鼠体积较小,另外厨房内安装的摄像头要同时兼顾监控录像功能,所以镜头几乎不会太大,即要看的场景视角要宽阔,所以送到算法模块中的帧图像中老鼠的成像面积都是很小的,所以基于这些限制条件,那么对于熟悉算法的人来说,几乎只有一种方案可选了。那就是:“运动目标检测+目标跟踪+目标分类”。
运动目标检测算法离不开背景建模,具体背景建模算法可以参考之前的文章:https://zhuanlan.zhihu.com/p/266800330

目标跟踪算法离不开简单使用的kalman,具体的跟踪算法可以参考之前的文章:

https://zhuanlan.zhihu.com/p/268758079

老鼠分类算法,基于传统的机器学习方法:adaboost、svm、dpm、xgboost等,速度快,但是准确率很难再提升上去;建议采用深度学习方法,比如resnet系列的网络,自己独立设计几层小网络,即可达到很好的效果。

老鼠加测分类网络,最近在github上查到一个较好的贡献,包括背景建模、分类模型、测试视频等全过程代码,非常感谢这位贡献者,但是实测下来,模型分类效果还是存在误报,所以距离落地还是有一定差距,关键是训练数据,因为夜间老鼠的数据还是很稀有的。Github链接:

https://github.com/isyanan1024/Mouse-detect
​github.com/isyanan1024/Mouse-detect

4.现有算法存在的缺陷:

老鼠检测在明初亮灶项目上几乎是必须的,虽然貌似比较简单,但是真正做到实用落地还是比较难的,所有人都知道背景建模误报多,但是还是离不开它,但是你要想在背景建模的算法上做出花样来,那几乎又不是太可能的,所以老鼠检测算法的方案也是把整个CV方案能用到的模块都遍历到了,至于最终效果,就需要一定的工程trick、策略等等。明厨亮灶:老鼠检测算法应用的几个落地难点介绍如下,后续有机会更新解决方法。

1、 老鼠样本数据少

厨房白天有人,老鼠不出来,所以老鼠检测都是没人的晚上用。晚上的厨房一般都是关灯的,几乎没有光线,需要摄像头红外补光来或许图像,所以真实应用时,摄像头图片都是灰度的,老鼠的两个眼睛都是白亮白亮的。因为数据的稀缺性,这就严重影响了算法的性能。

2、 误报多

其实算法初期的几个版本,误报多的几乎惨不忍睹,背景建模的副作用还是很大的,另外前期训练数据较少,分类效果不佳,去误报模块策略不完备,所以误报较多。

3、 应用推广难

其实这个需求,作为各个餐馆、食品厂的个体户或者老板,肯定是不希望安装这个老鼠检测的,因为会罚款。那么这个需求是谁提的呢,其实是各个地区的食药监,其实这个应用的真实需求是政府,那么想拿到这个需求单子就要政府打交道了,这就不是一般的集成商或者工程商可以拿到的了,所以也限制了一些算法公司开发的积极性。

5.本文算法原理:

为了解决上述困难,本文采用帧间差分法,又称移动侦测。移动侦测即是根据视频每帧或者几帧之间像素的差异,对差异值设置阈值,筛选大于阈值的像素点,做掩模图即可选出视频中存在变化的桢。帧差法较为简单的视频中物体移动侦测,帧差法分为:单帧差、两桢差、和三桢差。随着帧数的增加是防止检测结果的重影。

帧间差分法(Temporal Difference)

由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧或三帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。

6.算法流程图:

b.png

7.代码实现:

def threh(video,save_video,thres1,area_threh):cam = cv2.VideoCapture(video)#打开一个视频input_fps = cam.get(cv2.CAP_PROP_FPS)ret_val, input_image = cam.read()index=[]images=[]images.append(input_image)video_length = int(cam.get(cv2.CAP_PROP_FRAME_COUNT))input_image=cv2.resize(input_image,(512,512))ending_frame = video_lengthfourcc = cv2.VideoWriter_fourcc(*'XVID')out = cv2.VideoWriter(save_video,fourcc, input_fps, (512, 512))gray_lwpCV = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)background=gray_lwpCV# es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))i = 0 # default is 0outt=[]while(cam.isOpened()) and ret_val == True and i <2999:## if i % 2==1:ret_val, input_image = cam.read()input_image=cv2.resize(input_image,(512,512))gray_lwpCV = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)diff = cv2.absdiff(background, gray_lwpCV)outt.append(diff)#跟着图像变换背景tem_diff=diff.flatten()tem_ds=pd.Series(tem_diff)tem_per=1-len(tem_ds[tem_ds==0])/len(tem_ds)if (tem_per <0.2 )| (tem_per>0.75):background=gray_lwpCVelse:diff = cv2.threshold(diff, thres1, 255, cv2.THRESH_BINARY)[1]ret,thresh = cv2.threshold(diff.copy(),150,255,0)contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)#  contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)for c in contours:if (cv2.contourArea(c) < area_threh) | (cv2.contourArea(c) >int(512*512*0.3) ) :  # 对于矩形区域,只显示大于给定阈值的轮廓(去除微小的变化等噪点)continue(x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框cv2.rectangle(input_image, (x, y), (x+w, y+h), (0, 255, 0), 2) index.append(i)#  cv2.imshow('contours', input_image)#  cv2.imshow('dis', diff)out.write(input_image)images.append(input_image)i = i+1out.release()cam.release()return outt,index,images```
##调取函数
outt=threh('new_video.mp4','test6.mp4',25,3000)

8.系统整合:

1.png

9.完整源码&环境部署视频教程&自定义UI界面:

百度面包多搜索标题名即可下载源码

10.参考文献:


  • [1]红外弱小目标检测算法综述[J]. 李俊宏,张萍,王晓玮,黄世泽. 中国图象图形学报. 2020(09)
  • [2]新型光电探测技术在精确制导武器上的应用研究(特约)[J]. 宋闯,姜鹏,段磊,孙剑峰,范之国. 红外与激光工程. 2020(06)
  • [3]基于FPGA的红外弱小目标检测算法[J]. 张延苏,吴滢跃. 红外技术. 2020(06)
  • [4]一种基于差分滤波的红外舰船目标检测方法[J]. 修炳楠,吕俊伟,鹿珂珂. 指挥与控制学报. 2020(02)
  • [5]激光干扰红外预警卫星的有效压制区研究[J]. 王枭,张宇令,李云成. 激光与红外. 2020(05)
  • [6]基于匹配滤波的Gm-APD激光雷达三维重构算法研究[J]. 马乐,陆威,姜鹏,刘迪,王鹏辉,孙剑峰. 红外与激光工程. 2020(02)
  • [7]基于改进候选区域网络的红外飞机检测[J]. 姜晓伟,王春平,付强. 激光与红外. 2019(01)
  • [8]红外搜索跟踪系统探测距离缩比测试方法[J]. 谢飞,周德召,胡磊力,杜保林. 电光与控制. 2019(04)
  • [9]红外成像/被动微波复合制导技术研究[J]. 夏团结,申涛,方珉,宋敏敏,刘会文. 红外技术. 2018(05)
  • [10]机载红外搜索跟踪系统有效探测区域研究[J]. 王芳,罗寰,王海晏,寇添,寇人可. 激光与红外. 2018(05)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9096.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外科学家发明激光炮打蟑螂!AI自动识别,项目开源!

如果有一种生物&#xff0c;能让堂堂八尺猛男&#xff0c;吓得大惊失色&#xff0c;屁滚尿流。 除了北方“小强”&#xff0c;就是南方“大强”了&#xff01; 不光个大&#xff0c;还会飞&#xff01; 想想自己睡眼朦胧上个厕所&#xff0c;或者迷迷瞪瞪到厨房拿个夜宵&#x…

【运筹优化】CSO蟑螂算法求解无约束多元函数最值(Java代码实现)

文章目录 一、前言二、优化目标三、求解结果四、迭代结果可视化五、算法流程图六、Java代码实现6.1 算法部分代码6.2 可视化部分代码 一、前言 本文以求解二元函数最小值为例&#xff0c;如果需要求解多元函数&#xff0c;只需要修改以下变量即可&#xff1a; varNum&#xf…

基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]

1.视频演示&#xff1a; [项目分享]Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&#xff06;部署教程]_哔哩哔哩_bilibili 2.图片演示&#xff1a; 3.算法原理&#xff1a; 该博客提出的移动侦测即是根据视频每帧或者几帧之间像素的差异&#xff0c;对差异值设置阈值&am…

蟑螂相关菌与人类健康风险

谷禾健康 说起蟑螂&#xff0c;大部分人都不太喜欢&#xff0c;甚至生理性恐惧... 你可能有100个讨厌它的理由&#xff0c;见到它就想消灭它&#xff0c;然而怎么都灭不完... 算起来&#xff0c;蟑螂早在3亿年前就已经存在了。蟑螂在线数据库中登记了4685种蟑螂&#xff08;截止…

群体智能优化算法之蟑螂算法((Cockroach Swarm Optimization,CSO)

获取更多资讯&#xff0c;赶快关注上面的公众号吧&#xff01; 文章目录 第十二章 蟑螂算法12.1 介绍12.2 聚集行为&#xff08;Chase-Swarming behavior&#xff09;12.3 分散行为&#xff08;Dispersing behavior&#xff09;12.4 残忍行为&#xff08;Ruthless behavior&…

李开复首谈ChatGPT:看好六大领域、三大投资机会

李开复表示&#xff0c;AI2.0的发展范式是迭代的&#xff0c;第一阶段是人机协同&#xff0c;第二阶段是局部自动&#xff0c;第三阶段是全程自动。 基于此&#xff0c;李开复提出&#xff0c;AI2.0将在六大领域加速点燃商业潜能&#xff0c;进入提升生产力的应用井喷期。 第一…

精选|商汤4月10号将发布大模型,3万字实录、腾讯研究院,真格基金chatgpt深度报告...

点击上方“Python与机器智能”&#xff0c;选择“星标”公众号 第一时间获取价值内容 一、商汤(4月10号将发布大模型)报告 这是由商汤(4月10号将发布大模型)一个半小时&#xff0c;近3万字的实录&#xff0c;解答关于人工智能&#xff0c;大模型的非常多关键问题&#xff0c;强…

企业如何稳定、安全使用ChatGPT?

随着人工智能技术的不断发展&#xff0c;商业模式正在发生颠覆。ChatGPT作为当下最热门的AI技术之一&#xff0c;已经在各行各业中广泛应用。 ChatGPT技术的应用可以使企业更高效、更智能地处理业务需求&#xff0c;大幅提升各类型工作任务的完成效率。 然而对于国内企业&#…

国内企业开发出类ChatGPT模型

最近&#xff0c;一款由国内高新技术企业开发的类ChatGPT模型问世&#xff0c;据悉该模型自主积累了40TB的数据集&#xff0c;还可以自动生成高达100G以上的优质语料&#xff0c;被称为“硅基知识大模型”。 该模型不仅具备了ChatGPT的功能&#xff0c;对数据的本地化的优化更好…

ChatGPT的快速发展究竟给我们带来了什么?

&#x1f61a;一个不甘平凡的普通人&#xff0c;致力于为Golang社区和算法学习做出贡献&#xff0c;期待您的关注和认可&#xff0c;陪您一起学习打卡&#xff01;&#xff01;&#xff01;&#x1f618;&#x1f618;&#x1f618; &#x1f917;专栏&#xff1a;算法学习 &am…

图观 | ChatGTP是如何通过知识图谱回答问题的?

文/Emma Z 1950年&#xff0c;图灵发表了具有里程碑意义的论文《计算机器与智能》&#xff08;Computing Machinery and Intelligence&#xff09;&#xff0c;提出了一个关于机器人的著名判断原则——图灵测试&#xff0c;也被称为图灵判断&#xff0c;它指出如果第三者无法辨…

Java程序员摸鱼技巧,推荐这9个 !

小编给大家推荐几个优质的公众号 他们都是各领域的资深主理人 他们的每一个公众号都值得你关注 简说Python RECOMMEND 推荐理由&#xff1a; 关注「简说Python」遇见老表&#xff0c;AI与数据分析的探索者&#xff01;Python学习路上的伙伴&#xff0c;原创文章超200篇。涵盖P…

LLM探索:环境搭建与模型本地部署

1前言 最近一直在炼丹&#xff08;搞AIGC这块&#xff09;&#xff0c;突然发现业务代码都索然无味了… 上次发了篇AI画图的文章&#xff0c;ChatGPT虽然没法自己部署&#xff0c;但现在开源的LLM还是不少的&#xff0c;只要有一块差不多的显卡&#xff0c;要搞个LLM本地部署还…

超越诺奖?生物界「ChatGPT」首次实现从零合成全新蛋白,登Nature子刊!喂了2.8亿种氨基酸序列...

新智元报道 编辑&#xff1a;好困 Aeneas 【新智元导读】这家成立三年的小初创公司&#xff0c;首次利用深度学习语言模型合成出了自然界中不存在的全新蛋白质&#xff0c;引爆蛋白质设计革命。 人工智能的应用&#xff0c;已经极大地加速了蛋白质工程的研究。 最近&#xff…

【R】Mac如何配置R和RStudio

前言 本篇文章将讲述如何在Mac上配置R和RStudio&#xff0c;惯例是先看看chatgpt会怎么回答这个问题&#xff1a; miniconda配置R和RStudio&#xff08; Mac m系列芯片暂不适用&#xff09; 安装R 在终端中执行一下命令 conda search -c conda-forge r-base # 备注-c conda…

深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务

大家好,我是微学AI,今天给大家介绍一下深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务,TextCNN是一种用于文本分类的深度学习模型,它基于卷积神经网络(Convolutional Neural Networks, CNN)实现。TextCNN的主要思想是使用卷积操作从文本中提取有用的特征,并…

写在2023年年中

写在2023年年中 收拾旧山河再出发 很久没有写规划了&#xff0c;博客也很少写&#xff0c;着实是太懒了。想想自己年纪也不小了&#xff0c;加上程序员的环境越来越不好&#xff0c;总得想想自己的出路不是。 目标 提升系统设计能力保持算法刷题能力(一般面试需要)知识输出能…

英语学习-29190410雅思图表作文写作--bar grapgh

主要参考来源&#xff1a;https://www.bilibili.com/video/av23014883?p2 Simon雅思 搜狐 http://www.sohu.com/a/130635097_372408 注意事项 开头语不能照抄题干中的句子&#xff0c;阅卷老师不会评估照抄的句子&#xff0c;所以你抄上去只是在浪费时间 请注意时态&…

四六级作文模板对提高写作成绩是否有用?让人工智能给我这套用模板的文章打分看看

最近的四六级考试又又又要开始啦&#xff0c;这里更新一下作文模板&#xff0c;来自B站大表哥的高级四六级通用模板&#xff1b; 原视频链接&#xff1a;【【救命抢分】四六级写作全能超强模板&#xff01;&#xff08;2022&#xff09;| 四级672六级674 | 四六级作文模板】 ht…

雅思作文模板.html,【雅思备考外国视角】雅思大作文discuss both views模板

编者按&#xff1a;这是从国外一个考官的的博客里搬过来的一篇关于雅思大作文discus both views型的大作文改如何作答的一些结构上的归纳&#xff0c;有一些借鉴意义&#xff0c;特分享给大家。 A Task 2 questions often ask you to Discuss both views and give your own opi…