监控器物检测object detection实战

本文介绍了如何结合Faster RCNN模型和按键精灵,解决从JOVISION监控器实时获取并检测物体的问题。通过按键精灵定时截取监控画面,再用物体检测代码处理快照,实现对人、车等物体的识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实战目的:根据家里的监控器,实时检测出监控拍到的物体,包括人、车等。


基本情况:

1、家里安装有JOVISION监控器(中维),摄像头与存储设备通过路由器连接。

2、JOVISION对应有一个客户端,名称为:云视通网络监控系统,可以在JOVISION官网下载。

——————————————————————————————————————————

思路:

用一个训练好的小的Faster RCNN模型,结合opencv,将摄像头采集到图片输送模型,

标注出图片中检测出的物体。

——————————————————————————————————————————

困难:

JOVISION客户端处理监控视频有两种方法:(1)点击,录制好一段存起来;(2)点一个按钮保存一个快照

这两种方法都不好实施,方案(1)也需要点击,并且视频存储起来后才可使用,无法做到实时,方案(2)

如果能手动一直操作鼠标点击保存快照,而另一边程序实时检测快照图片,那就能做到实时。

但人工一直点击不现实。

——————————————————————————————————————————

解决方案:

用按键精灵编写了一个小脚本,用于定时点击监控,定时点击快照生成按钮。

按键精灵代码:

Plugin.Window.MousePoint 
点击 = WaitClick()
Delay 10
Hwnd = Plugin.Window.MousePoint()
GetCursorPos x, y
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArray = Split(sRect, "|")
L = CLng(MyArray(0))
T = CLng(MyArray(1))
R = CLng(MyArray(2))
B = CLng(MyArray(3))

点击1 = WaitClick()
Delay 10
Hwnd1 = Plugin.Window.MousePoint()
GetCursorPos x1, y1
sRect1 = Plugin.Window.GetClientRect(Hwnd1)
MyArray1 = Split(sRect1, "|")
L1 = CLng(MyArray1(0))
T1 = CLng(MyArray1(1))
R1 = CLng(MyArray1(2))
B1 = CLng(MyArray1(3))

Tick = 2000
Do
Delay Tick
Call Plugin.Bkgnd.LeftClick(Hwnd1, x1 - L1, y1 - T1)

### YOLO 模型用于水面目标检测的数据集 对于YOLO模型应用于水面目标检测的任务,选择合适的数据集至关重要。现有的公开数据集中,部分专门针对水上环境进行了采集和标注,能够有效支持这一特定应用场景的研究和发展。 #### 适用的数据集特点 理想情况下,所选数据集应具备如下特性: - 图像来源于真实的水体场景,如海洋、湖泊或河流等; - 包含多种类型的水面体实例,例如船只、浮标或其他漂浮; - 提供高质量的标注信息,最好是以YOLO所需的格式提供边界框坐标[^1]; #### 推荐的数据集资源 几个可能满足需求的选择包括: - **HARPA Ship Detection Dataset** 这是一个专注于海上船舶识别的数据集合,由高分辨率卫星影像构成,覆盖全球多个海域位置。虽然原始资料并非直接面向近岸区域,但对于理解大型水域内的移动实体仍然非常有价值。 - **USV-Buoys-Dataset** 针对无人船与航标之间的交互而建立的小规模却高度专业的数据库。它不仅限于静态图像,还包含了视频片段以及对应的标签文件,非常适合测试动态条件下的探测能力。 - **Ocean Data Foundation (ODF)** ODF致力于维护一系列有关海洋生态系统的多媒体档案库,其中不乏涉及小型器(比如塑料垃圾)在开阔海面上分布状况的照片素材。这些材料可以作为补充训练样本加入到更广泛的项目当中去。 为了获取上述任何一个数据集的具体下载链接或者访问权限,请查阅各官方平台发布的最新指南文档。通常而言,科研用途可以获得免费授权或许可申请试用版本。 ```python import requests def fetch_dataset_info(dataset_name): url = f"https://example.com/api/datasets/{dataset_name}" response = requests.get(url) if response.status_code == 200: return response.json() else: raise Exception(f"Failed to retrieve dataset info: {response.text}") print(fetch_dataset_info('HARPA_Ship_Detection')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值