我对玩人工智能(AI)很感兴趣,我决定从小处着手进行对象检测。所以我买了一个Wyze cam并下载了Blue Iris和CodeProject.AI服务器。在朋友的一点帮助下,我设法设置了它们,但是在各种论坛上看到很多人在此过程的多个部分寻求各种帮助。在本文中,我将逐步引导您安装CodeProject.AI服务器,安装和设置Blue Iris,设置Wyze cam,并使用所有这些来检测对象。
你需要的东西
我以为我只需要一个Wyze cam,但事实并非如此。无论如何,其中一些物品你可能躺在家里,但我没有。以下是您需要的内容的完整列表:
- 一个Wyze Cam——我用了一个Wyze Cam v3,我以34美元的价格从亚马逊上买了我的
- microSD存储卡——你可能有一个相机,有一个这样的,但我没有。我以9美元的价格从亚马逊上买了我的。
- microSD卡读卡器——大多数microSD卡都带有适配器,但您还需要microSD读卡器,因为您需要写入它。以8美元的价格从亚马逊上获得了我的。
安装CodeProject.AI服务器
第一步是安装 CodeProject.AI服务器。我正在安装版本1.6.7.0,因此如果您使用的是其他版本,您可能会遇到一些差异。
转到 codeproject.com,然后从主页单击CodeProject.AI英雄横幅上的下载链接,该链接将转到最新版本的下载页面。
该页面会自动下载一个zip文件。我有WinZip(因为我讨厌自己),但你可以使用PeaZip或任何你想要的压缩软件。在Winzip中,双击 CodeProject.AI.Server-1.6.7.0.exe然后开始安装过程。
确保选中“我同意许可条款和条件”框,然后点击安装。
将弹出一个CodeProject.AI服务器设置窗口,该窗口将运行几分钟。CodeProject.AI服务器旨在成为开箱即用的解决方案,因此它会安装您需要的所有Python库和检测模块。这是非常有帮助的。很难知道需要哪些Python库,并且搜索训练模型非常耗时。哎呀,前几天我尝试安装Python来运行pip命令,但我无法让它运行。
许多Python脚本显示为CodeProject.AI服务器安装。不用担心这些。不过,我已经多次安装了CodeProject.AI服务器,有一次我在安装时单击其中一个脚本,按Enter,进度条冻结。出于超级考虑,我要说的是,不要碰这些盒子,让它们安装。
设置窗口通过绿色加载栏显示其进度。然后,当全部完成后,会弹出“安装已成功完成”窗口。点击关闭。
就是这样!已安装CodeProject.AI服务器。
安装Blue Iris
现在我们需要一些视频网络摄像头软件。CodeProject.AI服务器内置于Blue Iris中,因此请前往 blueirissoftware.com。
如果您使用此软件超过15天,则需要许可证。目前,我正在使用试用版。撰写本文时的当前版本是版本5,所以我正在安装它。如果您使用的是其他版本,您的体验可能会有所不同。
导航到下载选项卡,然后单击下载V5,这将下载blueiris.exe。从这里,双击 blueiris.exe 开始安装过程,这将启动安装向导。
单击该框以接受许可协议的条款,然后点击下一步。
您可以在任何您想要的驱动器上安装Blue Iris。然后点击下一步,然后点击安装。
Blue Iris完成安装后,您可以选择启动它和自述文件。我只想启动Blue Iris,所以我取消选中自述文件框并点击完成。
此激活窗口指示免费试用的剩余天数。我的说8因为我安装了它七天。我稍后会购买许可证。可能是Lite版本,售价34.95美元,支持一个摄像头。
现在,点击演示以启动Blue Iris。
由于CodeProject.AI服务器已集成到Blue Iris CodeProject.AI,如果您没有安装服务器,您将看到一个提示,询问您是否要安装CodeProject.AI服务器以进行AI警报确认。如果单击“是”,它将带您进入CodeProject.AI服务器的最新下载页面。我们已经下载并安装了CodeProject.AI服务器,因此不会看到此对话框。
现在通过点击左上角的齿轮进入Blue Iris设置。
然后导航到 AI 选项卡。
目前,您可以从端口5000使用CodeProject.AI服务器,但将来这将被弃用,因此请将端口更改为32168,并确保选中“在IP/端口上使用AI服务器”复选框。然后点击确定。
现在我们的视频摄像头软件和AI检测软件已经设置并协同工作,让我们设置Wyze摄像头。
设置您的Wyze cam
我买了一台Wyze Cam v3,因为它是最便宜的。我从亚马逊上买了,但我相信你可以在其他零售商处购买,可能更便宜。
根据相机随附的快速入门指南,第一步是在智能手机上下载Wyze应用程序。我使用Android手机,所以对我来说这是来自Play商店的。
该应用程序会要求您登录或创建帐户。我没有,所以我点击创建帐户,然后输入我的电子邮件、密码,同意条款和条件,然后输入发送到我的电子邮件的验证码。接下来是输入手机号码并设置双因素身份验证的选项。
接下来,将微型USB电缆插入Wyze cam的背面,将USB电缆插入适配器,然后将适配器插入电源条。
一旦Wyze cam上的状态指示灯闪烁红色,相机准备就绪。
然后将相机倒置并打开支架以访问设置按钮。按住“设置”按钮,直到出现提示“已准备好连接”。相机不断重复“准备连接”,直到设备真正配对,这有点烦人。
接下来返回Wyze应用程序并点击新设备。然后从类别菜单中选择卡马拉斯> Wyze Cam v3。
该应用程序说将Wyze Cam v3插入电源插座(我已经这样做了),然后选中“我听说,'准备连接'”的框。
Wyze应用程序需要启用位置服务,因此在此阶段,当它要求选择您的WiFi网络时,会弹出一个权限窗口,以便您可以启用位置。启用位置会自动选择您的WiFi网络名称,之后您可以输入WiFi密码。
接下来,拿起Wyze Cam并将其指向您的应用程序屏幕。尽管有一张图表,但我最初对此感到困惑,并试图让我的手机扫描Wyze Cam背面的二维码。别这样。将相机对准应用程序屏幕后,设备将连接,您可以为其命名。
我称我的摄像头为“眼睛间谍”。
在下一步中,该应用程序会询问您将使用该设备做什么。没有AI检测选项,所以我选择了“其他内容”。
Wyze应用程序提供名为Cam Plus的订阅服务。我试图在FireFox中查找他们的主页,它使FireFox崩溃了两次,所以我不会在这里链接它。可以说,Cam Plus提供高级服务,例如人员检测,包裹检测,车辆检测和宠物检测等,每台相机的月费为$1.67/月。但是基本计划是免费的,这就是使用Wyze Cam所需的全部内容。
然后,Wyze应用程序会询问您是否要与家人和朋友共享设备。我不想这样做,所以选择,“也许以后“。
接下来是安装新固件的弹出窗口。我们实际上想使用“已弃用”的固件,因此请点击取消。
然后,Wyze应用程序会运行一系列快速启动按钮,包括高清、声音、朗读、录制和专辑按钮。它还提供“捏合缩放”,因此您可以放大相机看到的内容。
完成了!Wyze cam在Wyze应用程序中设置。
现在Wyze Cam可以工作,但它的固件对于我们的目的来说是错误的。似乎曾经,Wyze提供了RTSP(实时流协议)功能,但后来将其删除。但是,固件仍可在线使用。您可以在此处下载Wyze Cam v3的固件(为了更好地衡量,我提供了指向Wyze Cam v2和Wyze Cam Pan固件的链接):
这是您需要microSD和microSD阅读器的地方。为了更新Wyze Cam v3上的固件,您必须将装有固件的microSD推入相机本身。Wyze的支持网站上有一篇文章详细介绍了这一点,但我会引导您完成它。
拿起你的microSD卡,把它插入你的microSD读卡器,然后插入你的USB驱动器。获取zip文件demo_v3_RTSP_4.61.0.1.zip并将其复制到microSD文件夹中,然后提取其中的zip。同样,我使用Winzip是因为我讨厌自己,但是您可以使用任何您想要的压缩软件。这会demo_wcv3.bin提取文件。将该文件保留在那里并删除demo_v3_RTSP_4.61.0.1.zip。
现在取出microSD卡并获取Wyze Cam v3。如果已连接,请拔下USB电缆。在SETUP按钮旁边,有一个microSD卡的插槽,上面覆盖着一小块橡胶。取下此橡胶以露出插槽。在我的Wyze Cam v3上,实际上有一个很小的图表,显示了插入microSD卡的方式。不要像我一样以错误的方式推microSD卡,因为它很难取出。microSD卡的一侧只有一个凹痕,所以如果你按照图表,只有一种方法可以插入它。当您将其推入时,会发出弹性的咔嗒声,因此当您再次将其推入时,它会弹出。
下一部分有点棘手。按住Wyze Cam v3上的设置按钮,同时插入USB电缆将Wzye Cam v3连接到插座。继续按住设置按钮。相机指示灯变为紫色,然后变为蓝色。指示灯变为蓝色后,松开设置按钮。等待3-4分钟。
现在返回您的Wyze应用程序并选择您的相机。从相机设置中,转到高级设置。如果向下滚动到底部,则可以看到RTSP。
打开RTSP后,您将有机会生成用于访问RTSP的用户名和密码。这是将用于将您的Wyze Cam v3连接到Blue Iris的。确保用户名和密码的长度均为四到十个字符。然后点击 生成网址。这将生成下一部分所需的RTSP URL。
就是这样!现在Wyze Cam已经设置好,我们拥有让它与Blue Iris和CodeProject.AI服务器一起工作所需的一切。
让Wyze Cam与Blue Iris一起工作
第一步是设置带有Blue Iris的Wyze Cam。由于Blue Iris设计用于与相机配合使用,因此此设置相对容易。只需右键单击Blue Iris的主要区域或点击右上角的“+”符号即可。
这将弹出“新建相机”对话框。在这里,您可以输入相机的全名和短名称。全名不一定是您为Wyze Cam设置的名称,这只是Blue Iris的称呼。
我称我的为“眼睛间谍”和“间谍1”。点击确定。这将打开网络IP摄像机配置。
首先,您需要将http下拉列表更改为 rtsp://。然后输入Wyze应用程序中的 rtsp:// 地址。它看起来像 rtsp://username:pasword@10.0.0.299。键入完地址后,用户名和密码将自动填充在设置中。点击确定。
然后从“视频”选项卡中,将“最大速率”更改为333333 [30 fps]。
就是这样!Wyze Cam v3正式在Blue Iris中工作。
使用蓝色光圈和CodeProject.AI服务器检测对象
现在终于到了进行一些物体检测的时候了。我不想把相机对准外面(因为我的妻子对这个想法并不热衷),所以我只能看到房间里的东西。那是我,还有我的狗。
当CodeProject.AI Server于2022年1月发布时,它从一开始就不是为了与Blue Iris一起使用而设计的。但随着时间的推移,Blue Iris与CodeProject.AI Server的集成更加深入。现在CodeProject.AI服务器是Blue Iris启动的一部分,使用CodeProject.AI服务器所需的一些设置是Blue Iris的一部分,CodeProject.AI服务器被Blue Iris团队视为默认的AI服务。
尽管如此,这意味着(在撰写本文时)Blue Iris团队和CodeProject.AI服务器开发人员仍在努力使两个项目之间的结合更加顺畅和用户友好。也许,当您阅读本文时,显示的设置看起来有所不同。或者,也许您正在运行不同的相机或流,或者有与本文提供的不同需求。
如果您陷入Blue Isis CodeProject.AI Server集成过程的任何部分,我强烈推荐以下资源:
- CodeProject.AI服务器讨论线程——这是CodeProject.AI服务器开发的起点。如果您有任何问题、投诉或功能请求,请在此处分享。开发人员全心全意地致力于使服务器变得更好CodeProject.AI他们肯定想听听您的意见。
- ipcamtalk Forum on Blue Iris——这里有一个神奇的线程,长达几页,其中包含使用Blue Iris和CodeProject.AI Server的用户的悠久历史。如果您有Blue Iris设置或无法排序的问题,他们将帮助您对其进行排序。特别是线程 5.5.8 - 2022年6月13日——代码项目的SenseAI。您可以从头开始阅读该线程以查看Blue Iris和CodeProject.AI服务器集成的整个历史记录,但是如果您从第一页开始,请注意您决定实施的建议/设置。Blue Iris和CodeProject.AI服务器的集成在短短几个月内发生了很大变化。
- Blue Iris论坛——如果您有更多以Blue Iris为中心的问题,这也是一个很好的资源。
若要设置对人或狗的检测,请从 AI 选项卡中的Blue Iris设置开始。
默认情况下应填写IP。对我来说,这是127.0.0.1。我已经看到其他人放入本地主机,这也有效。这里最重要的是CodeProject.AI服务器成功启动。接下来,因为我想检测一个人或一只狗,所以我想使用自定义模型。Mike Lud 是CodeProject的社区工程师,处于Blue Iris和CodeProject.AI Server集成的最前沿,以及几个用于对象检测的自定义模型,如自动车牌识别(ALPR)模型。他的CodeProject.AI服务器自定义模型可在他的GitHub上找到。在撰写本文时,他的模型是:
- IPcam组合标签:——人,自行车,汽车,摩托车,公共汽车,卡车,鸟,猫,狗,马,羊,牛,熊, 鹿,兔子,浣熊,狐狸,臭鼬,松鼠,猪
- IPcam——通用标签(包括深色模型图像):——人,车辆
- IPcam——动物标签:——鸟,猫,狗,马,羊,牛,熊,鹿,兔子,浣熊,狐狸,臭鼬,松鼠,猪
- IPcam——深色标签:——自行车,公共汽车,汽车,猫,狗,摩托车,人
这些模型非常好,所以我会用它们来检测我的狗和我。由于这些是自定义模型,因此它们位于以下文件夹中,必须在选中“使用自定义模型文件夹”框后选择该文件夹:C:\Program Files\CodeProject\AI\modules\ObjectDetectionYolo\custom-models。
因为我的显卡很旧并且不支持NVIDIA,所以我不选中“CUDA”框。如果您的显卡确实支持NVIDIA,并且您想要启用GPU支持,则需要下载适用于Windows的cuDNN安装脚本。我的系统完全在CPU上运行。
此时,单击“打开AI控制面板”以在浏览器中打开CodeProject.AI服务器。如果设置正确,将打开此页面。如果设置错误,则不会。
因为我只想检测一个人和一只狗(而且因为我可怜的小电脑只能处理这么多),所以我不需要像背景去除器这样的东西。因此,通过右键单击三个点,然后选择“停止”来关闭它们。作为旁注,不要同时运行YOLO检测和.NET检测。选一个就行了。
使“CodeProject.AI服务器”选项卡保持打开状态。
接下来打开相机设置并转到触发器选项卡。
因为我在ipcamstalk上阅读了整个CodeProject.AI服务器线程,所以在“触发时”框下,我将“添加到警报列表”更改为“高分辨率JPEG文件”。但我不知道这是否必要。此外,在“中断时间”下,将“除非在内重新触发,否则结束触发”更改为20秒,将“最长触发/警报持续时间”更改为60秒。不确定这是否是最佳的,但它对我有用。
然后配置运动传感器设置。通过在“触发器”选项卡上单击运动传感器源旁边的“配置”来访问此菜单。运动传感器的默认值可能没问题,但根据我在ipcamtalk论坛上的阅读,将“最小对象大小”更改为442,将“最小对比度”大小更改为40。点击确定。
在“触发器”选项卡中,单击“人工智能”以打开AI选项卡。
确保选择了CodeProject.AI或DeepStack(应该是)。在“确认”框中,键入“人,狗”,逗号和狗之间没有空格。在“取消”框中,输入模型无法检测到的东西,例如长颈鹿。这是完全未经证实的,但ipcamtalk论坛上的一位用户表示,您的AI服务“一旦在您的'确认框'中找到某些内容,就会停止处理图像。其他用户的设置中此框中没有任何内容,因此可能没有必要。从上面看,检测人和狗的模型是ipcam组合模型,所以把它放进盒子里。而伟大的迈克·卢德(Mike Lud)本人将他的“最小置信度”设置为50%,他的“+实时图像”设置为10,将他的“分析每个图像中的一个”设置为500毫秒,所以这就是福音。点击确定。
这个警报选项卡仍然有默认设置(我认为),但以防万一,这是我相机设置中的警报选项卡。
现在导航到Blue Iris状态选项卡。这是我们检查对象检测是否有效的地方。
转到“日志”,该选项卡中是事件和警报的列表。因为相机对准了我,我稍微移动了一下,看着日志,看到上面写着:“AI:[ipcam-combined] person:86%[724,275 1647,1061] 136 ms”。
就是这样!人工智能检测正在工作!
但那只是我。我的狗呢?
在下一部分中,我将查看视频源上的AI检测,而不仅仅是查看日志。
首先,转到相机显示屏上的“录制开始/停止”按钮,然后单击它开始录制。再次单击该按钮以停止它。我的相机在激活后会一直保持打开状态并录制,因此我的列表中只有一个剪辑。录制内容显示在左侧的剪辑菜单中。
从“所有剪辑”侧栏中,双击所需的录制剪辑,这将打开视频流。这会将流加载为视频,您可以滚动浏览。
下一步是确保测试和调整处于活动状态。在视频屏幕上,右键单击,转到测试和调整,并确保选中“使用AI分析”。现在,视频流显示检测框,指示在视频播放中检测到的内容。
瞧!检测到狗!
希望这能引导您开始使用Blue Iris,CodeProject.AI服务器和使用Wyze Cam v3进行对象检测。
https://www.codeproject.com/Articles/5345399/How-to-Setup-Blue-Iris-and-CodeProject-AI-Server-o