如何使用服务器在代理DVR中设置自定义AI模型CodeProject.AI

目录

获取自定义模型

在代理DVR中设置自定义AI模型

检测包


到目前为止,我已经成功地在 CodeProject.AI Windows上设置了代理DVR,并在Agent DVR中使用了面部识别。在本文中,我将介绍如何在代理DVRCodeProject.AI服务器中使用自定义AI模型。更具体地说,我演示如何使用代理DVRCodeProject.AI服务器来检测交付包,并在检测到包裹时进行记录。

本文假设您已经设置了摄像机,并使用了代理DVRCodeProject.AI服务器。我不会在这里重复介绍,所以如果你需要先这样做,请查看我的文章如何使用Wyze Cam在Windows上设置代理DVR和CodeProject.AI服务器

获取自定义模型

首先,我们需要一个自定义的AI模型。在本文中,请使用检测包的自定义 AI 模型。伟大的 Mike LudCodeProject社区工程师正在训练许多模型,并开发了一个检测包的模型。所以第一步是下载包模型,并将其放在自定义模型文件夹中。转到Mike Lud的GitHubM,并下载 package.pt。然后,package.pt复制到CodeProject.AI服务器的自定义模型文件夹中,该文件夹为 C:\Program Files\CodeProject\AI\modules\ObjectDetectionYolo\custom-models

在代理DVR中设置自定义AI模型

首先,通过将 http://localhost:32168 放入浏览器中来打开CodeProject.AI服务器。在本文中,我们使用YOLOv5 6.2来检测对象,因此请确保对象检测(YOLOv5 6.2)处于活动状态。我们不需要任何其他模块,所以我关闭了所有其他模块。

现在,启动代理DVR。转到左上角的服务器菜单。

本文假设CodeProject.AI服务器已经设置,因此请点击配置下的设置

然后从常规下拉列表中,选择AI设置

然后单击配置旁边的“...按钮。

然后点击 编辑 图标以更新AI服务器设置。

这里有两件事需要更新。首先,默认终结点/v1/vision/detection。每当你做一个自定义模型时,都需要将其修改为/v1/vision/model-name。在我们的例子中,我们使用的是 package.pt,所以这需要是/v1/vision/package

接下来要更新的是对象类。每当添加自定义模型时,都需要更新此对象列表以包含您正在解制的项目。在本例中为。默认列表为:

person,bicycle,car,motorcycle,airplane,bus,train,truck,boat,traffic light,
fire hydrant,stop sign,parking meter,bench,bird,cat,dog,horse,sheep,cow,elephant,
bear,zebra,giraffe,backpack,umbrella,handbag,tie,suitcase,frisbee,skis,
snowboard,sports ball,kite,baseball bat,baseball glove,skateboard,surfboard,
tennis racket,bottle,wine glass,cup,fork,knife,spoon,bowl,banana,apple,sandwich,orange,
broccoli,carrot,hot dog,pizza,donot,cake,chair,couch,potted plant,bed,
dining table,toilet,tv,laptop,mouse,remote,keyboard,cell phone,microwave,oven,toaster,sink,
refrigerator,book,clock,vase,scissors,teddy bear,hair dryer,toothbrush

这需要更新为:

person,bicycle,car,motorcycle,airplane,bus,train,truck,
boat,traffic light,fire hydrant,stop sign,parking meter,bench,bird,cat,dog,horse,sheep,
cow,elephant,bear,zebra,giraffe,backpack,umbrella,handbag,tie,suitcase,frisbee,
skis,snowboard,sports ball,kite,baseball bat,baseball glove,skateboard,surfboard,
tennis racket,bottle,wine glass,cup,fork,knife,spoon,bowl,banana,apple,sandwich,
orange,broccoli,carrot,hot dog,pizza,donot,cake,chair,couch,potted plant,bed,
dining table,toilet,tv,laptop,mouse,remote,keyboard,cell phone,microwave,oven,toaster,sink,
refrigerator,book,clock,vase,scissors,teddy bear,hair dryer,toothbrush,package

在接下来的四个提示中点击确定以接受AI服务器设置。

现在,通过在实时源上单击左下角的编辑图标转到相机设置。

然后从常规下拉列表中,选择对象识别

单击配置前面的“...按钮。

现在已添加到对象类列表中,有一个按钮。通常,包由人员交付,因此最好为两个项目(人员和包)设置对象检测。输入人员,包,或者直接从列表中选择人员和包按钮。点击此菜单上的确定,然后点击下一步接受这些设置。

在尝试让自定义模型工作时,我遇到了很多问题。我的错误是我忘记在AI服务器设置中设置端点,但在此过程中,我出于让代理DVR检测包的绝望而实现了我所能实现的一切。我尝试的一件事是实现Mask。因此,请转到相机设置,然后从常规下拉列表中选择警报过滤器。然后,点击配置旁边的...

在这里您可以添加掩码。这对于我目前的设置不是必需的,但是如果您有一个指向您门的静态摄像头,并且您只想在有人走到台阶而不是街道上时触发,这可能会有所帮助。左键单击鼠标并将其拖动到相机图像上将指定要忽略的区域。右键单击鼠标将允许您擦除蒙版选择。

无论是否添加掩码,在查找字段中,请确保列出人员,包点击确定两次以接受这些设置。

现在我们需要更改检测器设置。转到相机设置,然后从下拉列表中选择检测器

检测器类型更改为简单。简单检测器意味着AI检测将在运动时被触发。我希望它非常容易检测包,所以我将此设置设置为简单并点击确定接受设置。

最后,我们希望有人在相机字段中留下包裹以触发事件。在我写的另一篇文章中,有人问如何在检测时触发录音,所以我将在这里演示。转到相机设置,然后选择操作。然后单击添加。从如果下拉列表中,选择找到对象,然后在下拉列表中选择开始录制在此之后,应自动选择相机,但请确保相机(在我的案例中,Eye Spy)位于设备部分中,然后单击确定。再次点击确定以接受这些操作。

检测包

好吧!让我们把一个包放进这个坏男孩的相机领域,看看吧!为了便于说明,我的操作将触发对象检测,以便我可以证明检测到包。

哗啦啦!我终于做到了!检测到包。

嗯,就是这样!此过程也适用于其他自定义模型。现在,我们已经展示了如何在自定义AI模型上设置代理DVR,并在检测到包时触发记录。

https://www.codeproject.com/Articles/5352147/How-to-Setup-a-Custom-AI-Model-in-Agent-DVR-Using

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值