健康,45元的WIFI摄像头应用之YOLO人体辨认联动智能家居,中国gdp

科创中国 admin 2019-04-09 385 次浏览 0个评论
网站分享代码

假如咱们对智能家居比较感兴趣的话,必定知道阻止智能家居幽门螺旋杆菌感染吗主动化开展的一个大自考专升本问题便是,房间里有没有人,假如有人,那人终究在做些什么,体系又该怎样调整环境的照明,温度乃至安防。

在很长的时间里,咱们检测人体都依托两类设备,一类是热释电红外传感器,例如Aqara/小鹅肝米人体传感器:

45元的WIFI摄像头运用之YOLO人体辨认联动智能家居

阐明里边现已说的很清楚了,检测人或附议宠物移动,所以不动肯定是检测不到的,许多人都把这锅扔给小米背,但实际上,不管是哪个品牌,都做不到停止检测。还有一类叫做微波传感器,例如最近在智能家居玩家群里评论的很火热的停止人体传感器:

45元的WIFI摄像头运用之YOLO人体辨认联动智能家居

这个传感器声称能够检测停止人体,不过在企业官方的文档中清晰写道:动态勘探间隔 6-8 米,静态勘探间隔最大2 米; 而其静态勘探是检测人的细小动作,例如呼吸啥的。而且装置方位要与人体平行:

咱们其实也能够看出来,这个声称停止人体检测的玩意,实际上也便是个动作传感器,仅仅灵敏度十分高算了。先不说装置问题,微波传感器的灵敏度高了之后,电风扇,空调,任何细微动作都或许触传感器动作。

除了这两种外,本站值友@blindlight正在试验运用无线信号来检测人体,参阅文档:

大约意思是用一圈WIFI设备把房间围起来,然后实时监测各个节点的WIFI信号改变,来揣度哪里有人。听上去不是啥难事,可是实际上运用起来仍是要动些脑筋,我表明能看懂意思,可是抱愧,我做不来,信任看文的各位大部分人干爹也搞不定,所以这儿介绍一个咱们都能玩的玩意——YOLO。

一、YOLO简介

大道理不说,其实我也不明白,这儿咱们只需知道YOLO的全称是You only look once,也便是你就看了一眼,看了一眼怎样魂灵伴侣了呢,看了眼就知道是什么了,这是一个依据深度学习方法的端到端实时方针检测体系。其主要特色一是快,二是装置运用简略,在ubuntu下只需求4条指令就能够开端作业。以下片段来自CSDN @泉伟

不过依据他文中的介绍,他运用的装备为1080Ti,运用YOLO v3原始权重,Resize今后的图片大小为608*608,检测速度能够到达20帧每秒。当然,假如运用tiny权重的话速度会快许多。除了人之外,YOLO还能检测其他常见物体,例如宠物:

不过说实话,假如仅仅检测有没有人的话,即便不必1080TI,开一台PC我都觉得有些糟蹋。所以这篇的宗旨其实是运用树莓派来完成静态图片的检测。

二、树莓派装置darknet-nnpack

之前说了,假如在ubuntu上装置YOLO的话只需求3条指令健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdp:

git clone https://github.com/pjreddie/darknetcd darknetmake

然后下健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdp载权重文件,权重文件分两个版别,一个是规范的,一个是轻量(Tiny)的:

wge三八妇女节健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdpt https://pjreddie.com/media/files/yolov3.weights(规范版)wget wget https://pjreddie.com/media/files/yolov3-tiny.weights(TINY版)

一般来说,规范版的检测准确率会高许多,可是十分十分慢(2400G单线程虚拟机下检测一张大约要30秒+),没有GPU加快是没有运用价值的,所以日常CPU运用都运用TINY版的权重(2400G单线程虚拟机下检测一张大约要2秒+),尽管准确率差了一些,可是找找人啊,猫狗也现已满足。可是规范版的Dakrnet在树莓派3b上面跑的话即便是tiny权重,也要40秒左右一张,显然是没有任何实用价值的。所以假如在树莓派上运转的话,咱们需求针对无GPU而且健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdpARM芯片进行优化过的darknet-nnpack。经过它来运转YOLO,咱们能将tiny的辨认速度提高到1秒/张左右,尽管仍旧做不了实时检测,可是考虑到无论是硬件本钱,仍是运转本钱(电费),树莓派都是性价比之选。

当然,依据此表,X86渠道运用darknet-nnpa陈俊宇父亲ck许沐深许悄然也能取得十分不错的优化速度。而装置只需参照darknet-nnpack的github页面一步步做下去就好,这儿就不再仿制粘帖了,全程无坑,而在下载weights文件时咱们只需下载tiny版的就好:

wget wget https://pjreddie.com/media/files/yolov3-tiny.weights

悉数完成后咱们能够运用自带图片测验下:

./darknet detector test cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights data/p岑宁儿脸上长的是什么erson.jpg

运转速度不错,1.1秒就完成了辨认,仅仅load weights还需求3-霞浦气候4秒,总体上在5秒左右。这儿值得阐明的是,指令的默许参数是输出准确率超越25%的物体,咱们能够依据本身环境来调整参数:

./darknet detector test cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights data/person.jpg -thresh 0.1

例如这个便是输出准确率10%以上的物体。

三、接入摄像头

这儿我运用的是上一篇原创说到的45元的ESP32-98篮球网CAM摄像头模块。当然,你要是其他摄像头,只需能获取到静态JPG文件也都能够运用,这个摄像头没有夜视,视角也比较小,假如有大范围以及夜间检测需求的话其实并不是很适宜。不过这儿要提示的是,红外补光摄得的是非图画YOLO的辨认率会进一步下降。调整好摄像头视点,保证人人民币日元汇率在厨房的每个旮旯,YOLO都能把人找胡进涛出来。

这个摄像头最大的优点是,能够直接经过http获取JPG静态图画,所以我这做了个批处理文件,首先是获取静态印象到指定文件夹,然后运转detector来审计进行辨认:

当然,健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdp这样仅仅跑程序辨认,成果并刘明豹不会输出到其他体系,所以我又拼拼凑凑搞了个PY文件,对成果进行剖析,数输出健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdp成果里边有几个person:

然后将person数量传送给domoticz变量:

最终便是运用了,由于不是实时检测,所以用来主动化开灯啥的是不或许了,可是合作小米红外密码子医考做到更快的主动关灯仍是十分便利的,例如原先我邻居们都是设定人体传感器检测到几分钟后无人关灯健康,45元的WIFI摄像头运用之YOLO人体辨认联动智能家居,我国gdp,现在就能够合作这个变量,在人体传感器检测到无人时去检查摄像头检测到的成果,假如是0就直接关灯,不必再等候几分钟。

当然,本篇的YOLO仅仅运用其现成的库做的简略运用,并没有彻底展示出YOLO的威力waste。深化运用的话能够自行练习得到模型,来判别更多的内容,例如你是在看电视,玩手机,仍是睡觉等等。或许废物倒没倒,碗有没有洗啥的。