当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]该项目展示了一套端到端的实时边缘视觉处理流程,结合了目标检测、多目标跟踪和基于像素的运动估计技术,仅在物体实际移动时可靠地捕捉图像(或录制视频),且可选择性地仅记录用户自定义区域内的动态内容。

该项目展示了一套端到端的实时边缘视觉处理流程,结合了目标检测、多目标跟踪和基于像素的运动估计技术,仅在物体实际移动时可靠地捕捉图像(或录制视频),且可选择性地仅记录用户自定义区域内的动态内容。

树莓派AI摄像头中,使用NanoDet目标检测模型、BYTETracker实现稳定的目标识别,并结合一个基于时间像素变化计算运动边界框的运动模块,该应用将“检测结果”与“运动”进行匹配,以决定何时触发录像。最终得到的是一种实用的运动传感器,其性能优于原始帧差法,且比持续录像更高效。

故事

基于像素差异的经典运动传感器容易产生噪声:光照变化、阴影和相机噪点都可能触发误报。另一方面,纯粹的物体检测可能会持续“开启”,即使物体静止时也会保存帧数。

该项目融合了两种方法:

•Motion 会告诉你哪些像素在变化(即有物体在移动)。

•检测与追踪可告知您物体的类型,并在时间上保持稳定的识别标识。

•匹配逻辑确认检测到的对象也在运动,只有在该情况下才会触发捕获。

•区域功能可让您将触发器限制在特定区域(例如,您的门口、走廊或装卸区)。

最终成果是一款轻量级边缘应用,仅在需要时捕获证据(图像)或录制片段(视频),从而减少存储空间、降低误报率,并使事件审核更加便捷。

架构概览

该应用程序由六个主要部分组成:

•模型推理(目标检测)在每一帧上运行NanoDet,以生成边界框、类别ID和置信度分数。

•检测过滤通过应用置信度阈值和可选的类别过滤器(例如,仅保留“人”)来减少噪声。

•对象跟踪(BYTETracker)为跨帧的检测结果分配持久性ID,使系统能够对“同一物体”进行时间上的推理。

•运动估计(像素变化 → 运动框)通过分析帧间像素变化来计算运动边界框。

•区域门禁(可选)将检测/运动检查限制在从JSON文件加载的用户自定义多边形区域内。

•匹配 + 触发逻辑:将跟踪的检测结果与运动框进行匹配,当条件满足时触发图像采集(或视频录制)。

1. 使用 NanoDet 进行目标检测

该应用将NanoDet模型部署到AI摄像头,并从每一帧中读取检测结果:

检测结果按置信度进行筛选:

并(在此示例中)过滤为单一类别:

您可以根据使用情况移除或扩展此筛选器,以监控多个班级。

2. 使用BYTETracker进行多目标跟踪

BYTETracker 模块通过分配持久的跟踪 ID 来稳定检测结果,使其随时间保持一致。

这一点很重要,因为运动触发通常需要时间逻辑(“连续N帧移动”、“连续N帧未移动”),而当对象具有稳定ID时,这种逻辑会容易得多。

3. 基于像素变化的运动检测

运动模块通过观察像素随时间的变化来计算运动边界框:

这会产生边界框,表示运动发生的位置,而与物体类别无关。

4. 按区域筛选(可选)

区域从JSON文件中加载(手动创建/编辑或通过点选择工具生成):

然后可以将检测框和运动框筛选为仅包含在区域内内的部分:

这非常适合“仅在门附近触发”或“仅在装载区域内触发”的场景。

5. 匹配检测与运动(谁在移动?)

关键思路是确认检测到/跟踪的对象与运动区域重叠。匹配器模块执行此关联:

现在 motion_detections 表示被检测到且正在移动的对象(可选地在区域内移动)。

6. 触发逻辑:何时拍摄图像

check() 函数实现了触发规则。简而言之,当以下情况发生时即可触发:

未检测到运动,且运动在阈值处保持恒定(即“仅运动”回退模式),或一个跟踪对象被匹配为持续移动足够长时间(例如,运行时间 > 10 帧),并且相同的ID不会重复触发,除非离开或重置。

当触发器被激活时,应用程序会保存一帧:

这会在./images目录下生成带时间戳的图像证据记录。

应用摘要

•检测:NanoDet 边框 + 类别ID

•追踪:BYTETracker 分配稳定 ID

•运动:像素变化的运动框

•区域门禁:通过JSON区域进行可选限制

•匹配:确认检测到的对象正在移动

•输出:带注释的实时视图 + 保存的图像(或在其他应用中录制的视频)

亲测体验

1. 定义运动区域(JSON)

要更改监控区域,请编辑 example.json,或直接使用两种工具之一来编辑点位:

•在应用配置工具中

•点选择工具

2. 运行图像采集版本

使用 uv(从 pyproject.toml 安装依赖并运行应用程序):

参数:

--json-file(必需):包含区域多边形的JSON文件

--area(可选):在流上叠加显示区域

3. 运行视频录制版本

如果您更倾向于录制视频而不是拍摄照片:

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

以下项目与智能储物柜系统相关,我与团队使用树莓派、Pi摄像头以及基于OpenCV等机器学习模型的实时人脸识别技术构建了该系统。此外,还包括设置电磁阀和继电器等硬件设备以控制锁具。我还使用了Pi继电器HAT,能够通过单个树...

关键字: 树莓派 人脸识别 继电器

在一个一切都为了追求速度的世界里,就连时间也成了我们无需思考就能理解的概念。匆匆一瞥,然后继续前行。但倘若有一个时钟能够让你放慢脚步——慢到足以让你停下来思考呢?

关键字: LED 时钟 树莓派

该项目使用了一款定制训练的 DeepLabv3+ 语义分割模型来检测摄像头画面中的路面坑洼。该模型会生成一个像素级别的掩码:一类用于背景,一类用于坑洼。您可以在 Jupyter 笔记本中对图像进行推理操作,或者在配备 A...

关键字: 树莓派 人工智能 摄像头

摩托罗拉公司在 20 世纪 80 年代开发了 测试器 芯片。它是 8 位微处理器的外围设备。它负责数据格式化和控制,用于将串行异步数据通信与微处理器数据总线进行接口连接。

关键字: 树莓派 测试器 微处理器

随着Raspberry Pi AI 摄像头的发布,我觉得可以尝试一下它并开发一个应用程序!我上学的时候常常会打瞌睡,但作为一名教师,看到学生打瞌睡可不是一件愉快的事……有时我也会在拥挤的餐厅里注意到有人打瞌睡。在这种情况...

关键字: 树莓派 人工智能 摄像头

在当今的生活中,查看天气状况或日常日程安排通常需要解锁智能手机或唤醒明亮的电脑显示器。这往往会导致“通知泛滥”现象——你查看时间,看到一条无关的电子邮件,然后突然就花了 20 分钟沉浸在负面情绪中。我们的家中布满了发光的...

关键字: 显示屏 树莓派 Flexbox

在过去的 250 年里,我们在自动化方面取得了巨大的进步。这为我们带来了远超我们想象的更多舒适与便利。很快,我们甚至还会创造出音乐、食物、娱乐、战争和爱情。目前还有一项工作尚未着手:哲学。

关键字: 机器人 树莓派 摄像头

在该项目中,我们正在利用树莓派 Pico W 构建一个自主式的“猎鹰式”目标定位系统。与简单的感应运动玩具不同,该系统采用了一个 3 区段的被动红外线运动探测器阵列来检测目标的大致方向,然后启动精确的超声波雷达扫描,以确...

关键字: 树莓派 超声波雷达 传感器

将 Kindle 变成打字机或许在实际应用上意义不大——但这是完全可行的(前提是你的 Kindle 已经被破解)。在这个过程中,这个项目会迫使你按照一定的限制条件进行操作,比如在受限的 Linux BusyBox 环境中...

关键字: Kindle 打字机 树莓派

疲劳驾驶是导致致命交通事故的最危险且报道最少的因素之一。像梅赛德斯、宝马或特斯拉那样的商用驾驶员监控系统价格高达数千欧元,并且只能安装在特定车辆上。而用于车队管理的独立系统则需要网络连接,并且还需要支付定期费用。

关键字: DrowSAFE 树莓派 边缘人工智能
关闭