在当今世界,人工智能(AI)技术无处不在,但往往被视为又一项需要学习的技术。为了使普通用户更容易使用AI,正在开发CodeProject.AI Server。该服务的第一个测试版于2022年1月16日发布,每周都在积极添加新功能、改进和集成。
本文专注于CodeProject.AI Serverv1.1 Beta版本。这是一个技术预览版,可能还有一些不足之处,但更愿意让参与进来,而不是等到一切完美无缺。
CodeProject.AI Server基于从AI社区收集最佳想法的概念,并将其以易于使用的形式呈现。负责处理框架、编译器和解释器版本、库不匹配、模型、设置、下载等所有可能让有趣的事情变得繁琐的事项。
对于消费者来说,这意味着一个单一的可下载安装程序,只需运行即可。对于开发者来说,这意味着一个单一的API(通过CodeProject.AI Server),可以对其进行编程。集成的模块和想法越多,暴露的功能就越多,但始终通过相同的简单API和相同的安装程序。
由于CodeProject.AI Server的Web API与DeepStack兼容(DeepStack是集成的第一个模块),确保它可以作为那些已经将DeepStack集成到他们的应用程序中的用户的替代品。
其中一个集成是与Blue Iris。Blue Iris是一个视频安全和网络摄像头系统,适用于那些希望管理多个网络摄像头的人。通过集成,Blue Iris可以检测物体和面部,并以多种方式做出反应,包括警报和电子邮件。
本文将展示如何配置Blue Iris使用CodeProject.AI Server作为其视觉AI服务。
第一步是安装各种软件。不会在这里指导完成这些步骤,而是会指向每个软件的安装说明。
如果尚未安装Blue Iris,请安装。可以在Blue Iris下载页面找到下载并运行安装程序。可以在购买单个或多摄像头许可证之前使用演示许可证运行15天。不用担心,它非常便宜,一次性费用分别为35美元或70美元。对于一个强大且易于使用的安全系统来说,这并不贵,它将所有数据都保存在本地。
安装CodeProject.AI Server。安装程序和安装说明可以在CodeProject.AI Server: AI the easy way页面找到。
Blue Iris需要以管理员身份运行。要做到这一点,请右键单击开始菜单中的Blue Iris项目,然后选择“以管理员身份运行”。
如果没有许可证,将看到以下内容:
可以选择点击“下一步”进行注册,或者继续使用演示许可证点击“演示”。正在使用演示模式来测试集成。现在应该看到Blue Iris软件正在运行。
如果尚未为Blue Iris配置摄像头,请现在进行配置。点击“摄像头”标签。不会在这里详细介绍这个过程,但它在包含的帮助文档的“摄像头”部分有详细说明。点击菜单栏中的“?”,然后选择“帮助文档”以查看帮助。
可以通过点击左上角菜单栏上的齿轮图标来配置Blue Iris。这将打开Blue Iris设置面板。
点击“AI”标签。这将打开AI设置面板,如下图所示。由于正在替换DeepStack,需要关注的信息在DeepStack部分。设置应如下所示:
勾选“使用DeepStack服务器”复选框,并将“IP/端口”设置为'127.0.0.1'和5000。这些是CodeProject.AI的默认值。也可以使用'localhost'作为IP。如果计划在另一台服务器或端口上运行CodeProject.AI,请调整这些值以反映正在使用的服务器和端口。
清除“自动启动/停止”复选框。必须以不同的方式启动CodeProject.AI,因为Blue Iris期望运行的可执行文件与CodeProject.AI.Server.exe不同。不用担心,将向展示如何将CodeProject.AI作为Windows服务运行。
可能想要勾选“默认对象检测”复选框,以便Blue Iris可以使用CodeProject.AI检测对象。Blue Iris的默认设置是检测“人”、“汽车”、“卡车”、“公共汽车”、“自行车”和“船只”,并在它们进入摄像头视野时发出火警警报。
勾选“面部识别”复选框将启用Blue Iris使用CodeProject.AI的面部识别API识别人员。这是可选的。
为了让Blue Iris使用CodeProject.AI Server的AI功能,它必须正在运行。
1. 作为Windows服务运行
如果使用最新的Windows安装程序包安装了CodeProject.AI Server,那么服务器将作为Windows服务安装,其API暴露在端口5000上。此服务将在系统重启或服务器崩溃时启动,但怀疑会看到这种情况发生。
不需要做其他任何事情。
2. 几乎一样简单:在Docker容器中运行CodeProject.AI Server
为了运行Docker容器,系统需要安装并运行Docker。有关详细信息,请参见Get Started with 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表示在后台运行容器(断开连接,并在容器中留下命令提示符)
-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