65.9K
CodeProject 正在变化。 阅读更多。
Home

将 CodeProject.AI Server 与 Blue Iris 结合使用

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2022 年 1 月 31 日

CPOL

7分钟阅读

viewsIcon

54915

将 CodeProject.AI Server 集成到 Blue Iris 视频安防和网络摄像头系统中

本文适用于 Blue Iris 5.4 及以下版本和 CodeProject.AI Server 1.3。本文的新版本正在编写中。

引言

人工智能正变得无处不在,但在一个有太多东西需要我们掌握的世界里,它似乎总是“又一项需要学习的技术”。这就是我们开发 CodeProject.AI Server 的原因,目标是让普通用户更容易使用人工智能。第一个 Beta 版于 2022 年 1 月 16 日发布,我们每周都在积极添加功能、改进和集成。

本文专门针对 CodeProject.AI Server v1.1 Beta 版。这是一个技术预览版,因此有些粗糙之处,但我们宁愿让您参与进来,而不是等到一切都完美了才推出!

非常非常简短的背景介绍

CodeProject.AI Server 基于整合人工智能社区中最佳想法并以易于使用的软件包呈现的概念。我们负责处理框架、编译器和解释器版本、库不匹配、模型、设置、下载以及所有那些可能让有趣的事情变成苦差事的烦人问题。

对于消费者来说,这意味着一个可以即插即用的可下载安装程序。对于开发人员来说,这意味着一个可以编程的单一 API(通过 CodeProject.AI Server)。我们聚合的模块和想法越多,我们暴露的功能就越多,但始终通过相同的简单 API 和相同的安装程序。

在实际应用中使用 CodeProject.AI Server

由于 CodeProject.AI Server 的 Web API 与 DeepStack 兼容(鉴于 DeepStack 是我们集成的第一个模块),因此我们很小心地确保它对于那些已经将 DeepStack 集成到其应用程序中的用户来说是即插即用的替代品。

其中一个集成是与 Blue Iris。Blue Iris 是一个视频安防和网络摄像头系统,适用于那些希望管理多个网络摄像头的人。通过集成,Blue Iris 可以检测物体和人脸,并以多种方式对这些事件做出反应,包括警报和电子邮件。

本文将展示如何配置 Blue Iris 以使用 CodeProject.AI Server 作为其视觉 AI 服务。

准备工作

第一步是安装各种软件。我不会详细介绍这些步骤,而是会向您指出每个软件的安装说明。

  1. 如果尚未安装 Blue Iris,请安装它。从 Blue Iris 下载 下载并运行安装程序。您可以使用演示许可证运行 15 天,之后必须购买单摄像头或多摄像头许可证。别担心,它非常便宜,而且是一次性费用,分别为 35 美元或 70 美元。对于一个强大且易于使用的安全系统来说,这还不错,它可以将所有数据保存在本地。
  2. 安装 CodeProject.AI Server。安装程序和安装说明可在 CodeProject.AI Server:轻松实现 AI 找到。

配置 Blue Iris

Blue Iris 需要以管理员身份运行。为此,右键单击Blue Iris开始菜单项,然后选择以管理员身份运行

Start Blue Iris

如果您没有许可证,您将看到以下内容

Blue Iris No License Screen

您可以选择点击 下一步 进行注册,或点击 演示 继续使用演示许可证。我正在以演示模式运行我用于测试集成的实例。您现在应该会看到 Blue Iris 软件正在运行。

Blue Iris Main Screen

如果您尚未配置摄像机与 Blue Iris 配合使用,则需要立即进行此操作。单击摄像机选项卡。我在此处不赘述此过程,但它在摄像机部分随附的帮助文档中有详细说明。单击菜单栏中的?,然后选择帮助文档以查看帮助。

您可以通过单击左上角菜单栏上的齿轮图标来配置 Blue Iris。这将打开 Blue Iris 设置面板。

Blue Iris Settings Panel

点击 AI 选项卡。这将打开 AI 设置面板,如下图所示。由于我们正在替换 DeepStack,因此您需要关注的信息位于 DeepStack 部分。设置应如下图所示

  • 勾选 使用 DeepStack 服务器 复选框,并将 IP/端口 设置为“127.0.0.1”和 5000。这些是 CodeProject.AI 的默认值。您也可以将 IP 设置为“localhost”。如果您计划在其他服务器或端口上运行 CodeProject.AI,请调整这些值以反映您使用的服务器和端口。
  • 清除自动启动/停止复选框。我们必须以不同的方式启动 CodeProject.AI,因为 Blue Iris 期望运行一个不同于CodeProject.AI.Server.exe的可执行文件。别担心,我将向您展示如何将 CodeProject.AI 作为 Windows 服务运行。
  • 您可能希望勾选默认对象检测复选框,以便 Blue Iris 可以使用 CodeProject.AI 检测对象。Blue Iris 的默认设置是检测人员汽车卡车公交车自行车船只,并在它们进入摄像机视野时触发警报。
  • 勾选人脸识别复选框将启用 Blue Iris 中使用 CodeProject.AI 的人脸识别 API 识别人脸。此功能是可选的。

AI Settings Panel

启动 CodeProject.AI Server

为了让 Blue Iris 使用 CodeProject.AI Server 的 AI 功能,它必须处于运行状态。

1. 作为 Windows 服务运行

如果您使用最新的 Windows 安装程序包安装了 CodeProject.AI Server,那么该服务器将作为 Windows 服务安装,并在端口 5000 上暴露其 API。此服务将在系统重启或服务器崩溃时启动,但我怀疑您会遇到这种情况。

您无需执行任何其他操作。

2. 几乎一样简单:在 Docker 容器中运行 CodeProject.AI Server

为了运行 Docker 容器,您的系统需要安装并运行 Docker。有关详细信息,请参阅 Docker 入门 | Docker。然后,执行命令

docker run -p 32168:32168 --name CodeProject.AI-Server -d 
-v c:\ProgramData\CodeProject\AI:/usr/share/CodeProject/AI codeproject/ai-server

解释

  • docker run 是运行 docker 容器的命令
  • -p 5000:5000 将容器的内部端口 5000 映射到主机端口 5000
  • --name CodeProject.AI-Server 给容器起一个名字
  • -d 表示在断开连接状态下运行容器(在后台运行,并且不会让您停留在容器的命令行提示符中)
  • –restart=always 表示在 Docker Engine/Desktop 启动时运行容器,并在容器因错误退出时重新启动容器。
  • -v c:\ProgramData\CodeProject\AI:/usr/share/CodeProject/AI 将内部目录:/usr/share/CodeProject/AI映射到主机上的c:\ProgramData\CodeProject\AI目录。您可以指定不同的目录。这意味着数据将在容器重启和更新后持久存在。它还可以由多个容器共享。当然,在 Linux 服务器上,这需要是一个完全不同的路径,例如/usr/share/CodeProject/AI

容器在文件夹/app/demos/TestData中包含一些测试图像。要将这些图像复制到您的主机文件系统,请使用Docker cp命令。

在 Windows 上,要将图像复制到C:\TestData文件夹,请执行命令

docker cp CodeProject.AI-Server:/app/demos/TestData c:\

在 Linux 上,要将图像复制到~TestData,请执行命令

docker cp CodeProject.AI-Server:/app/demos/TestData ~/TestData

CodeProject CodeProject.AI Server 实战

下面是 Blue Iris 的屏幕截图,CodeProject.AI Server 作为 AI 提供程序。请注意左侧的运动事件列表、图像以及检测到的对象及其置信度。车道上的一辆汽车,前门的一个人。

AI Settings Panel

另请注意,在这种情况下,CodeProject.AI Server 在与 Blue Iris 软件不同的机器上运行。只需输入运行 CodeProject.AI Server 的机器的服务器和端口(在此示例中为 192.158.1.30:5000),Blue Iris 将适当地路由请求。

总结

恭喜!您现在已将 CodeProject.AI Server 作为 Blue Iris 中的视觉 AI 提供商运行。请尝试一下。我们渴望获得反馈,以帮助我们改进此产品。

© . All rights reserved.