常见问题解答:Blue Iris 和 CodeProject.AI Server





5.00/5 (2投票s)
本文是一篇持续更新的常见问题解答,介绍如何将 Blue Iris 与 CodeProject.AI Server 结合使用。
在过去几周里,我们注意到许多关于使用 CodeProject.AI Server 和 Blue Iris 的问题。我们和 Blue Iris 团队一直在努力使 CodeProject.AI 与 Blue Iris 的整合更加顺畅和简单。尽管如此,有时 Blue Iris 用户手册、我们关于使用 CodeProject.AI Server 和 Blue Iris 的文章可能不足以解决所有问题,因此这里有一份常见问题解答,希望其中包含您在使用 CodeProject.AI Server 和 Blue Iris 时可能遇到的所有问题。如果您有其他问题,请随时在下方的评论区提出,本文将进行更新。另外,如果我们发现有新的问题需要添加到此常见问题解答中,本文也将进行更新。
我们还有一系列关于使用 CodeProject.AI Server 和 Blue Iris 的文章,提供深入的分步指南。如果此处遗漏了某些细节,例如在 Blue Iris 中设置摄像头,那么很可能在这些文章中的一篇中有详细介绍。
- 如何在 Windows 上使用 Wyze 摄像头设置 Blue Iris 和 CodeProject.AI Server
- CodeProject.AI Server、Blue Iris 和面部识别
- CodeProject.AI 中打包检测与 Blue Iris 的指南
- 使用 CodeProject.AI Server 和 Blue Iris 进行未知人脸检测的指南
在本文中,我使用的是 Blue Iris 5,版本为 v5.7.3.0。您的版本可能略有不同。
- 如何在 Blue Iris 中设置 CodeProject.AI Server?
- 如何在 Blue Iris 中检测物体?
- 如何在 Blue Iris 中设置警报?
- 如何设置“使用 AI 分析”?
- 如何在 Blue Iris 状态窗口中使用 AI 选项卡?
- 如何在 Blue Iris 中设置人脸检测?
- 如何在 Blue Iris 中为自定义模型设置检测?
如何在 Blue Iris 中设置 CodeProject.AI Server?
在 Blue Iris 主设置中,单击“AI”选项卡。
确保选中“在此 IP/端口上使用 AI 服务器”复选框。IP 地址通常会自动填充。对我而言,这是 _127.0.0.1_。我看到其他人也输入 _localhost_,这同样有效。
如果您有兴趣使用自定义模型进行以下检测,请选中“使用自定义模型”复选框。CodeProject.AI Server 自动附带所有这些自定义模型,并且您不一定需要使用这些模型来检测这些项目,但选中该框可确保您使用以下模型来检测以下内容:
- actionnetv2 - 此模型可检测人类行为
- 打电话
- 鼓掌
- 骑自行车
- 跳舞
- 喝水
- 吃东西
- 打架
- 拥抱
- 亲吻
- 大笑
- 听音乐
- 跑步
- 坐着
- 睡觉
- 发短信
- 使用笔记本电脑
- ipcam-animal - 此模型可检测以下动物:鸟、猫、狗、马、羊、牛、熊、鹿、兔子、浣熊、狐狸、臭鼬、松鼠、猪
- ipcam-combined - 此模型可检测以下物品:人、自行车、汽车、摩托车、公交车、卡车、鸟、猫、狗、马、羊、牛、熊、鹿、兔子、浣熊、狐狸、臭鼬、松鼠、猪
- ipcam-dark - 此模型可检测以下物品,并经过训练,可以从较暗的图像(可能是夜间图像)中识别这些物品:自行车、公交车、汽车、猫、狗、摩托车、人
- ipcam-general - 此模型可检测以下物品,并经过训练,可以从较暗的图像(可能是夜间图像)中识别这些物品:人、车辆
- license-plate - 此模型可检测车牌并报告车牌号码。此模型适用于白天(DayPlate)和夜晚(NightPlate)的车牌。
选中“默认对象检测”复选框以确定所用模型的复杂度。选择的尺寸越大(中、大),消耗的 CPU(或 GPU)资源就越多。我建议将其保留为默认值,即“中”。
如果您打算检测人脸,请选中“人脸识别”复选框;如果您打算检测车牌,请选中“ALPR”复选框;如果您想使用计算机的 GPU 进行所有这些检测,请选中“使用 GPU”。
点击“确定”以接受这些设置。
就是这样!设置 CodeProject.AI Server 与 Blue Iris 所需的全部内容。
如何在 Blue Iris 中检测物体?
使用 CodeProject.AI Server 与 Blue Iris 的主要目的是进行检测。一旦您在 Blue Iris 中设置了 CodeProject.AI Server,您就可以开始检测了。在本节中,我们将介绍如何检测 CodeProject.AI Server 中包含的内容。作为示例,我将演示如何检测一个人。
确保 CodeProject.AI Server 已打开,并且“对象检测 (YOLOv5 6.2)”已启动。您可以通过在 Blue Iris 主设置的“AI”选项卡中点击“打开 AI 仪表板”,或者直接在浏览器中输入 _https://:32168/_ 来实现。
值得注意的是,如果您没有支持 CUDA 的 GPU,那么可以使用“对象检测 (YOLOv5 .NET)”。或者,您可以尝试 .NET 和 YOLOv5 6.2 之间的区别,看看哪种最适合您。如果您使用的是较旧的 GPU,“对象检测 (YOLOv5 3.1)”可能有所帮助。如果您使用的是 Raspberry Pi?可以使用 TFLite 模块(2.1 版新增)。为了使此常见问题解答条目保持简单,我将假定您使用的是“对象检测 (YOLOv5 6.2)”。
如果“对象检测 (YOLOv5 6.2)”因某种原因未运行,请点击其旁边的“...”,然后在下拉菜单中选择“启动”。
第一步是转到“摄像头设置”。
然后点击“触发器”选项卡。
然后,点击“人工智能”。要使用 CodeProject.AI Server 进行对象检测,您需要设置的大部分内容都在这里。
确保已选择 CodeProject.AI 或 DeepStack(应该已选择)。在“确认”框中,键入“person”。在此框中,您需要列出要检测的项目。您可以检测前一节 如何在 Blue Iris 中设置 CodeProject.AI Server 中列出的任何内容,只要您输入了正确的自定义模型名称即可。您还可以列出要检测的多个对象,只要它们用单个逗号分隔,并且没有空格。例如,如果我想检测人、狗和兔子,我会输入:“person,dog,rabbit”。
在我们的示例中,我们要检测人,而最适合此任务的模式是 ipcam-combined。因此,在“自定义模型”字段中,输入“ipcam-combined”。
至于多个复选框设置,最好模仿上图中勾选的以下复选框。特别是“保存 AI 分析详细信息”,这在我们关于如何在 Blue Iris 状态窗口中查看“AI”的另一篇常见问题解答中很有用。
您可以调整“最小置信度”、“**+ 实时图像**”和“一次分析一个”设置,看看哪种适合您。“最小置信度”表示 CodeProject.AI 对所识别的“确认”列表中的物体有多大信心。有些人希望此置信度很高以避免误报,但 50 通常是一个不错的起点。“**+ 实时图像**”是指在“一次分析一个”的间隔内,将有多少额外图像发送到 CodeProject.AI Server 进行分析。无论您为“**+ 实时图像**”设置了多少,一旦检测到目标对象,CodeProject.AI 都会停止分析。这两个设置的默认设置是每 750 毫秒发送 2 个额外的实时图像。这取决于您的 CPU 或 GPU 容量,但我个人建议每 500 毫秒发送 10 个额外的实时图像。
就是这样。您可以保留所有其他默认设置。这足以成功检测到一个人。
如何在 Blue Iris 中设置警报?
Blue Iris 中可以发送多种警报。与 CodeProject.AI Server 相关的警报是基于 AI 检测的。以下是如何设置一个简单的声音通知的快速示例,这是我测试时经常使用的。
转到“摄像头设置”。
然后转到“警报”选项卡。在底部的“操作”标题下,有一个名为“警报时...”的按钮。点击它。
接下来,点击“+ 添加”按钮,然后在下拉菜单中选择“声音”。
从这里开始非常简单。我们真正需要的是“必需的 AI 对象”字段。这允许您输入要触发警报的项目。在上一篇关于 如何在 Blue Iris 中检测物体 的条目中,我检测了一个人。所以在这里,我也将使用“person”。点击“确定”以接受,然后点击两次“确定”以退出摄像头设置。
就是这样!这就是您如何设置警报。
还有许多其他潜在的警报可供选择,例如发送到手机的推送通知、MQTT 消息、SMS 文本、电子邮件。如果您希望这些设置有相应的条目,请在下方的评论区告诉我。
如何设置“使用 AI 分析”?
如果您见过其他人使用 Blue Iris,您可能已经看到过那些围绕被检测到的物体绘制的美丽边界框,它们指示了物体及其置信度百分比。下面是如何设置。
确保 CodeProject.AI Server 已打开,并且“对象检测 (YOLOv5 6.2)”已启动。您可以通过在 Blue Iris 主设置的“AI”选项卡中点击“打开 AI 仪表板”,或者直接在浏览器中输入 _https://:32168/_ 来实现。
值得注意的是,如果您没有支持 CUDA 的 GPU,那么可以使用“对象检测 (YOLOv5 .NET)”。或者,您可以尝试 .NET 和 YOLOv5 6.2 之间的区别,看看哪种最适合您。如果您使用的是较旧的 GPU,“对象检测 (YOLOv5 3.1)”可能有所帮助。如果您使用的是 Raspberry Pi?可以使用 TFLite 模块(2.1 版新增)。为了使此常见问题解答条目保持简单,我将假定您使用的是“对象检测 (YOLOv5 6.2)”。
如果“对象检测 (YOLOv5 6.2)”因某种原因未运行,请点击其旁边的“...”,然后在下拉菜单中选择“启动”。
假设我们已经使用了前两个条目 如何在 Blue Iris 中检测物体 和 如何在 Blue Iris 中设置警报 来设置 Blue Iris 检测人脸,下面是如何使用“使用 AI 分析”来检测人脸。
首先,我们必须确保录制设置正确。点击“**摄像头设置**”。
然后点击“视频”选项卡。确保选中“视频”复选框,并且下拉菜单显示“触发时”。点击“确定”。
现在,请确保摄像头已打开。如果正在测试,请确保有一个人在摄像头前面。我的摄像头只是放在桌子上,所以那是我。
由于检测到了一个人,视频录制已被触发,因此录制按钮自动在右上角启动。
现在双击“剪辑”窗口中的剪辑以打开到目前为止的录制内容。请注意右上角的小人图标。这意味着该剪辑中检测到了一个人。
剪辑视频会自动开始播放。播放时,右键单击视频,然后从“测试与优化”选项中选择“使用 AI 分析”。现在,当您观看此剪辑回放时,如果检测到一个人,边界框将出现并显示“person”和置信度百分比。
就像这样!这就是如何在 Blue Iris 中设置“使用 AI 分析”功能。
如何在 Blue Iris 状态窗口中使用 AI 选项卡?
Blue Iris 中有一个日志窗口,其中包含多个选项卡。您可以查看日志,但在某些情况下,拥有 AI 特定日志会更有帮助。下面是如何设置。
确保 CodeProject.AI Server 已打开,并且“对象检测 (YOLOv5 6.2)”已启动。您可以通过在 Blue Iris 主设置的“AI”选项卡中点击“打开 AI 仪表板”,或者直接在浏览器中输入 _https://:32168/_ 来实现。
值得注意的是,如果您没有支持 CUDA 的 GPU,那么可以使用“对象检测 (YOLOv5 .NET)”。或者,您可以尝试 .NET 和 YOLOv5 6.2 之间的区别,看看哪种最适合您。如果您使用的是较旧的 GPU,“对象检测 (YOLOv5 3.1)”可能有所帮助。如果您使用的是 Raspberry Pi?可以使用 TFLite 模块(2.1 版新增)。为了使此常见问题解答条目保持简单,我将假定您使用的是“对象检测 (YOLOv5 6.2)”。
如果“对象检测 (YOLOv5 6.2)”因某种原因未运行,请点击其旁边的“...”,然后在下拉菜单中选择“启动”。
在 Blue Iris 主窗口的左上方是 Blue Iris 状态窗口。
在 Blue Iris 状态窗口中有多个选项卡:日志、摄像头、连接、存储、AI 和远程。从“日志”中,您可以查看 AI 通知(例如,AI:[ipcam-combined] person 92% [228,86 1036,1063] 341ms),但您也可以使用“AI”选项卡。
如果点击“AI”选项卡,您将看到空白。我们要做的是将 _.dat_ 文件从我们的 _Alerts_ 文件夹拖到此窗口。但是,为了做到这一点,我们需要知道 .dat 文件在哪里。为了找到它们,我们需要转到 Blue Iris 主设置,在以前的“剪辑和归档”,现在是“存储”部分。
您可以为多个项目指定文件路径。我手动创建了 _C:\Blue Iris_,然后是所有子文件夹 _C:\Blue Iris\db_、_C:\Blue Iris\New_ 和 _C:\Blue Iris\Alerts_。放置这些文件的唯一要求是,建议数据库文件夹位于本地,并且存储速度更快,例如 SSD。
在“警报”文件夹下,指定位置并记下它。对我而言,我创建了 _C:\Blue Iris\Alerts_。
现在打开 Windows Explorer,导航到 _Alerts_ 文件夹。然后返回到**Blue Iris 状态**窗口,以及AI选项卡。我碰巧知道 _Spy1.20230405_151332.0.3-1.dat_ 文件是人脸检测,所以我点击并将其拖到 Blue Iris 状态的AI选项卡中。
就是这样!现在,“AI”选项卡显示了一个完全专注于 AI 的报告,其中包含检测到的内容,这对于较大的 _.dat_ 文件更有用。
如何在 Blue Iris 中设置人脸检测?
虽然不是 Blue Iris 使用 CodeProject.AI Server 最流行的用途,但它具备面部识别功能。设置起来很简单,操作如下。
确保 CodeProject.AI Server 已打开,并且“人脸处理”已启动。您可以通过在 Blue Iris 主设置的“AI”选项卡中点击“打开 AI 仪表板”,或者直接在浏览器中输入 _https://:32168/_ 来实现。
如果“人脸处理”因某种原因未运行,请点击其旁边的“...”,然后在下拉菜单中选择“启动”。
转到“摄像头设置”。
现在转到“AI”选项卡,然后选中“人脸识别”复选框。然后点击“人脸...”按钮来创建一个人脸配置文件。在这里,点击“+”符号,然后选择包含您想识别的面孔的图像文件,然后点击“打开”。对我而言,这添加了快照,并将其命名为 _face1_。
选择 _face1_,点击“编辑”按钮(铅笔图标),将该人脸重命名为您想要的任何名称(在本例中为“Sean”),然后点击“确定”退出人脸配置文件窗口,然后再次点击“确定”退出 Blue Iris 设置。
现在转到摄像头设置中的“触发器”选项卡,然后点击“人工智能”以启动摄像头的 AI 设置。在“确认”框中,输入刚刚创建的人脸配置文件的名称。在本例中,是“Sean”。点击“确定”退出 AI 设置,然后点击“确定”退出摄像头设置。
就是这样!这就是如何在 Blue Iris 中设置面部识别。
如何在 Blue Iris 中为自定义模型设置检测?
对某些人来说,CodeProject.AI Server 自带的默认检测模型可能不够。市面上有大量优秀的、训练有素的模型,或者有您正好需要的模型,您可以下载并与 CodeProject.AI Server 一起使用。下面是如何设置 Blue Iris 来使用自定义模型,以检测打包物品的模型为例。
确保 CodeProject.AI Server 已打开,并且“对象检测 (YOLOv5 6.2)”已启动。您可以通过在 Blue Iris 主设置的“AI”选项卡中点击“打开 AI 仪表板”,或者直接在浏览器中输入 _https://:32168/_ 来实现。
另外,请确保选中“使用自定义模型文件夹”复选框,因为我们在那里存放添加的自定义模型。
如果“对象检测 (YOLOv5 6.2)”因某种原因未运行,请点击其旁边的“...”,然后在下拉菜单中选择“启动”。
首先,我们需要获取一个可以检测打包物品的模型。CodeProject 社区工程师 Mike Lud 正在训练许多模型,并且已经开发了一个可以检测打包物品的模型。因此,第一步是下载打包物品模型,并将其放入自定义模型文件夹。前往 Mike Lud 的 GitHub,下载 _package.pt_。然后,将 _package.pt_ 复制到 CodeProject.AI Server 的自定义模型文件夹中,即 _C:\Program Files\CodeProject\AI\modules\ObjectDetectionYolo\custom-models_。
接下来,转到摄像头设置中的“触发器”选项卡,然后点击“人工智能”。
确保“确认”显示“package”,并且“自定义模型”也显示“package”。点击“确定”以接受人工智能设置,然后点击“确定”以接受摄像头设置。
如果您使用自定义模型,指定“自定义模型”字段中的特定模型名称非常重要,否则 Blue Iris 会默认循环使用每个自定义模型,导致不必要的处理。
就是这样!您已成功设置在 Blue Iris 中使用自定义模型,在本例中是检测打包物品。