树莓派实际应用之用树莓派做的喵星人监控器

(原文来源 电子芯吧客 在此特别鸣谢)
1 制作背景
土猫之家是个保护流浪猫的民间组织,倡导领养代替买卖。本人于2015年底在该组织领养到了一只“主子”,是个自带眼线的粉鼻子小母猫,从此热情满满地成了一个名副其实的“猫奴”。
图1 笔者领养的猫咪,名叫球球
养猫的人一般都自称“猫奴”或是“铲屎官”,然而这并不是指我们这些高贵的不愿做奴隶的社会主义公民被喵星人给奴役了,而是因为我们把猫咪看做是家庭里面倍受溺爱的晚辈。养猫的人一般称猫为“小皇上”或是“小主子”。当然,这只是对乖巧可爱的小型猫咪的爱称。体型大的橘喵就不是这个待遇了,一般被称为“胖子”。
图2 橘色的都容易胖(图片来自网络)
出于对猫的溺爱,铲屎官们都有这样的想法,在家里装一个监控,上班时也可以偷窥一下主子的一举一动。厂家们抓住这一需求,已经向市场推出了一些产品。这些猫咪监控产品往往是直接套用了面向家庭安防的监控方案,并不能有效区别进入识别区域的物体是人还是猫,并且对运动物体的敏感性过高。有时候,它们会拍下一堆照片,但是照片上却根本看不到猫。
图3 网上售卖的宠物监控器(图片来自网络)
我们期待一种更稳定的监控方案,不会被各种风吹草动给误触发,也就是说——只拍有猫的照片。基于这种想法,笔者用树莓派卡片电脑为喵星人量身定做了一个监控摄像头方案。所需硬件为树莓派3b、树莓派csi摄像头、5v2a的安卓手机电源和一个能接入互联网的路由器。
图4 安装了sci摄像头的树莓派卡片电脑
2 监控原理
铲屎官白天去上班以后,树莓派在家通过csi摄像头捕获图像数据,然后使用haar分类器进行猫脸检测,成功检测到猫脸后把图像存为jpg格式的照片,照片发送到电子邮箱,让你第一时间了解具体情况。
3 开发环境
程序是以源代码方式提供给大家的,需要编译运行。所以,在开始工作前,先确保树莓派上已经部署了g++编译器、opencv开发环境,并且bcm2835-v4l2驱动模块已经挂载。
发送电子邮件的功能是通过smtp服务实现的,确保树莓派上已经部署了msmtp和mutt发送电子邮件的环境。推荐使用163邮箱的smtp服务。
4 程序代码
两个文件haarcascade_frontalcatface.xml和cat.cpp,在附件里提供给大家。
https://pan.baidu.com/s/1ex6tvys9bddqpv4nrwh_ja
5 代码使用方法
cat.cpp文件是算法代码,你必须把电子邮件地址改成你自己的。
用文本编辑器打开cat.cpp文件,找到第21行if (k 0.999&&k==0)这句话,意思是检测到识别值大于0.999且循环计数值k等于0时,拍照并发送电子邮件。发送电子邮件的句子在第41行system(echocat face | mutt -s raspberrycameranews@news.ickey.cn -a cat.jpg),你要把这个电子邮箱地址news@news.ickey.cn改成你自己的邮箱。为了防止邮件服务器拒收,推荐使用163邮箱。
代码编译命令g++ -ggdb cat.cpp -o iccat `pkg-config --cflags --libs opencv` 注意pkg-config --cflags --libs opencv要用英文单引号括起来。这样就会生成一个名字叫iccat的可执行文件。
代码执行命令 ./iccat
图5 被haar分类算法检测到的球球
6使用案例
喵星人监控摄像头做好了,但是视角只有65度,不可能监控到整个屋子。既然只能监控65度的视场区域,那么问题来了,我们把它对着哪里拍,才能更大的概率捕捉到猫咪呢?笔者推荐的位置是猫窝或者是你的床。毕竟,猫都是爱睡觉的,不然怎么叫懒猫呢。
图6 汤姆也爱睡觉
笔者家里的球球也是特别喜欢上床的,每当“铲屎的”去上班了以后,这床就是她的了。不久前,笔者的163邮箱收到了一封邮件,正是喵星人监控摄像头发来的。邮件附件里是她上床被树莓派逮了个正着的照片。
图7 球球上床被抓了个现行
7 结果和展望
这种基于开源的计算机视觉算法的喵星人监控摄像头可以非常精准地拍到有猫的照片。分类和滤波算法使它能很好地过滤干扰,不会被人、狗等目标误触发。这种算法可以应用于宠物医院的自动门禁、机场的宠物安检,或是宠物穿戴设备。

一起来学5G终端射频标准(In-band emissions-1)
CES 2024:三星展示一系列引领未来的人工智能应用
槽孔为PTH属性的圆角槽孔和直角槽孔加工方式
西安无人机的创新基地有什么作用
max232芯片介绍_max232接线图
树莓派实际应用之用树莓派做的喵星人监控器
上海车展拉开出行新时代序幕
币圈的崩盘只是带走了陈旧的区块链,全新的区块链已经悄然而来
逆天神器! 这台双系统+双屏PGS手机竟能玩上PC游戏
异步LED显示屏控制系统设计
苹果面向iOS开发者推出了最新版的机器学习模型框架Core ML 3
开关电源基础 电源启动电路
超算和人工智能不再是平行线!HPC和AI将成为智能时代中的最强伴侣
AcrelCloud-9500电瓶车充电桩收费平台在苏州市某街道的应
车载gptp同步原理介绍
基于单片机的智能仪器监控平台设计
Elektrobit为芯驰科技汽车SoC芯片提供AUTOSAR软件
谁为新能源时代的“独角兽”赋能
用户需求不断扩大,发展“适老性”智能家居是大势所趋
为什么要做汽车电子检测?