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

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 还挂有其他任务),如果单独用机器跑这个人体识别,应该用什么机器呢(个人对硬件确实小白)

请大佬们指教!

6150 次点击
所在节点    程序员
84 条回复
westoy
2022-02-16 10:38:08 +08:00
一张 3090 解千愁....
ylls
2022-02-16 10:38:24 +08:00
买一个海康的 AI 摄像头 然后在海康 AI 开放平台训练模型 导入到摄像头 直接用摄像头识别呗
v2410117
2022-02-16 10:40:45 +08:00
@ylls 卧槽,还可以导入摄像头???????????有这等操作吗,惊了
neroxps
2022-02-16 10:41:01 +08:00
@v2410117 #34 emm 他就是吃这行饭的,嵌入式处理,应该是他摄像头里面的芯片做图像对比之类,超过阈值就上传事件给 nvr (超脑)进行后端比对。前后端结合减轻 NVR 负载,NVR 也能在进一步校验,超脑那种实时性也不是很高,我们曾经做过围墙监控,用超脑做布防,一下雨就呱呱叫(不过是很早之前了,现在估计有优化。)

现在也有很多公司做摄像头处理机器,使用嵌入式 linux 取流简单分析触发,再用服务器加显卡跑 AI 。这些都不是我们普通人家里能投入的,送我电费我也交不起。
laipidov
2022-02-16 10:43:23 +08:00
可以看一下 ncnn 这个框架,搞一下量化,看看速度能不能满足要求
neroxps
2022-02-16 10:44:56 +08:00
@ylls #42 说个价格让我死心。
xiaozhishang91
2022-02-16 10:45:34 +08:00
@InvincibleDream 这个我用过,体积小,速度快,性能也强,吊打 NCS2
Ediacaran
2022-02-16 10:46:34 +08:00
做过类似的东西,可以提供个思路:

1. 用小分辨率图片,320 240 足够了
2. 先做图片变动判断,两图差的绝对值之和
3. 换 mobilenetv1
4. 替换后两层,只输出是否有人的信息,需要找数据集 finetune 一下。

在 n3150 小主机上跑,跑一帧大概一秒吧,具体时间不记得了
orqzsf1
2022-02-16 10:48:48 +08:00
可以试下试下存在感应器,就是有点贵。。我现在是通过喊 Siri 关灯,或者 不在家 / ha 扫手环做忘记关灯,你可以研究下
i979491586
2022-02-16 10:54:24 +08:00
@v2410117 可以看一下 apple 的 ibeacon 技术,精度高,省电,淘宝有卖,瓶盖大小续航也不错,放到拖鞋的后跟挺好的
i979491586
2022-02-16 10:55:26 +08:00
@neroxps 可以看一下 apple 的 ibeacon 技术,精度高,省电,淘宝有卖,瓶盖大小续航也不错,有的公司用来做室内导航
ylls
2022-02-16 10:58:06 +08:00
@neroxps 摄像头单价不一样 单摄像头几百到几千 型号 DS-2XA8 开头的吧
ksc010
2022-02-16 11:08:27 +08:00
这个模型是你自己训练的还是别人的 ,要不要换个其他的模型试试,感觉只是识别人数应该没这么慢
另外 opencv 也能识别标记人体
lixile
2022-02-16 11:20:29 +08:00
@v2410117 几百块的 3516 款型就支持你的功能,海思芯片,完全可以全部摄像机完成。
3516 人体检测应该能支持同时 60 人以上的检测,家里面完全无压力,精度全靠模型优化,商用很常见了。

另外完全有现成方案,3516D 、3516A 款型 搜索人群密度 之类的关键词,应该有支持的款型
zx4824
2022-02-16 11:22:42 +08:00
Yeelight Pro P20 人在传感器上手体验

https://post.smzdm.com/p/aenogmwk/
ykk
2022-02-16 11:26:42 +08:00
@lixile #54 海思量化是一个 individual 可以完成的吗[doge]
tfdetang
2022-02-16 11:47:12 +08:00
模型侧的优化点就是用更轻量的 yolo 模型,比如基于 MobileNet 的 Yolo 或者各种蒸馏过的 Lite Nano 版本,基本要比原版快一个数量级,对于你这个简单场景应该不太有性能损失;

如果是用另一台机器进行识别,我觉得 macmini 完全够用了,最好用现成的推理框架而不是简单的 py 包调用。推理框架可以本地编译一下,性能又能有非常大的提升;
jie170601
2022-02-16 12:20:10 +08:00
想到两个不用摄像头的:

1. 出入口想办法检测到人出或者人入,像停车场那样来统计

2. 最近第一次进无人超市,发现它那标签似乎成本很低,可以在家人衣服上都放一个
koebehshian
2022-02-16 13:17:52 +08:00
用过 yolo 直接读海康视频,在 jetson_nano 上,用 yolo 的 tiny 模型,可以识别框内是否有人,速度一秒 6 帧
disk
2022-02-16 13:45:17 +08:00
我记得油管的 linus 做过一个视频讲了全屋动态检查,用到了加速棒,配合现成的框架感觉还行。

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

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

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

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

© 2021 V2EX