关于本地人体识别,该如何优化,求大佬提建议

2022-02-16 09:35:42 +08:00
 v2410117

家里装了个海康的摄像头,想用于区域人数识别开关灯等操作,我目前的操作流程为

海康设置区域入侵检测,当区域检测事件触发后,开灯 然后每 10 秒一次使用 Python 调用摄像头拍照,然后 OpenCV 进行拍照后的图片裁剪 然后使用 yolo 进行人数统计,当区域人数为 0 后进行关灯操作

流程已经被我调通了,但就是速度实在是有点慢, 事件触发到图片裁剪完成还好,基本也就 1 秒多 使用 yolo 进行图片识别的时候,基本要 10 秒才能有反馈结果 而且进行识别的时候,CPU 基本跑到 7 80 (一台 2014 的 macmini 8+256 )

想请大佬指点一点,有没有什么优化的方案,能提高识别速度

备注:使用过百度的 AI 识别,确实速度能提升到 1-2 秒识别出结果(但毕竟是家里的图片,不想传到网络识别)

目前在考虑是否单独用个机器进行这项人体识别操作(主要 macmini 还挂有其他任务),如果单独用机器跑这个人体识别,应该用什么机器呢(个人对硬件确实小白)

请大佬们指教!

6089 次点击
所在节点    程序员
84 条回复
murmur
2022-02-16 09:38:08 +08:00
瞎折腾,本来智能家居是简化操作改善体验的,你这一通操作下来折腾个半死效果可能还不好

如果是人来开灯直接用人体传感器,然后各种联动,还要什么摄像头

如果是监测比如有 3 个人以上开灯,我建议放弃
czfy
2022-02-16 09:39:16 +08:00
为什么要 “区域人数识别开关灯” ?
v2410117
2022-02-16 09:40:24 +08:00
@murmur 开灯是没问题,主要是关灯,没有啥办法知道啥时候该关灯
v2410117
2022-02-16 09:44:39 +08:00
@czfy 主要是关灯,开灯其实还好!因为不知道什么时候关灯,小米的人体传感器也基本上只能设置延迟多少分钟关灯
czfy
2022-02-16 09:48:37 +08:00
我问的是 “为什么”...就是识别开关灯用来干什么
murmur
2022-02-16 09:48:42 +08:00
@v2410117

https://post.smzdm.com/p/aq0xqdxx/

我认为这根本不是问题
root99527
2022-02-16 09:50:03 +08:00
可优化的点太多了。
python->C++
inference 框架替换
模型压缩
neroxps
2022-02-16 09:50:43 +08:00
emmm 智能家居通病,开灯容易关灯难。
人在哪里,人想干嘛,智障家居终极难题。
murmur
2022-02-16 09:51:03 +08:00
我大概知道你什么问题了,你怕的是人体传感器检测不到静止的人是把,这的却比较麻烦
murmur
2022-02-16 09:51:54 +08:00
testv 那种玩法是在每个椅子的坐垫下面放了压力传感器,这样无论是人动还是人坐凳子上都能检测到人在
neroxps
2022-02-16 09:52:33 +08:00
@murmur #6 用过就知道这些都是问题~楼主要做到人走灯灭,而不是人走灯等几分钟灯才灭。
也不是人久坐不动灯又灭,即使是存在传感器,也有很多 bug ,风扇 阳光 都是干扰项~

甚至还有人研究高精雷达,算法监听心跳。卷的很。
murmur
2022-02-16 09:54:24 +08:00
@neroxps 那绿米那个高精度传感器呢,不过好像这个只能给苹果用
v2410117
2022-02-16 09:55:47 +08:00
@murmur 绿米那个我也看过,价格贵不说,关键范围不大,我一个摄像头可以看到入户加整个客厅+餐厅,所以才考虑这种人体识别
whypool
2022-02-16 09:56:07 +08:00
这玩意不就是几十块钱的红外感应开关?
neroxps
2022-02-16 09:56:30 +08:00
曾经我还疯狂的想过使用使用传感器装在门框计算人数。

尝试过红外对射(安装难度大) vl53l0x 激光测距(需要 2 组传感器)

ST 做的 demo ,开源 <amp-youtube data-videoid="c91Ve-g0J2U" layout="responsive" width="480" height="270"></amp-youtube>&ab_channel=STMicroelectronics

激光测距也一样逃不过阳光干扰,地砖反射等干扰问题。最终躺平。关灯就用语音场景。
neroxps
2022-02-16 09:57:04 +08:00
@murmur #12 阳光 风扇 都会对其干扰。范围也是个问题。价格也是个问题。简而言之,不实用。
yaoyao1128
2022-02-16 09:57:30 +08:00
个人的建议是 别用这个逻辑进行 过于麻烦 以及家里用不太实用……

感觉可以考虑的方案
人在传感器 人体传感器
人体传感器 判断无人后 画面识别完全无变动超过多久自动关灯
v2410117
2022-02-16 09:58:31 +08:00
@whypool 红外感应能开灯,但是没办法控制啥时候关灯,静止的时候无解
v2410117
2022-02-16 09:59:37 +08:00
@yaoyao1128 对的,我就是这样考虑的,当无人后画面识别超过 2-3 次无人,就关灯,就不再进行检测了
dcty
2022-02-16 10:00:16 +08:00
一看标题以为这都进化到“本地人”识别了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX