目录
本文演示如何使用CodeProject.AI Server和Blue Iris通过对象识别来检测递送包裹,并触发警报的电子邮件通知。
到目前为止,在我之前的文章中,我们已经做了很多设置。在本文中,我想利用我们目前所学到的知识,并使用 CodeProject.AI服务器和Blue Iris进行一些实际操作,例如检测触发警报以发送电子邮件通知的交付包裹。让我们开始。
获取包自定义模型
如果您尚未设置Blue Iris和CodeProject.AI Server,请查看我的文章如何使用 如何使用Wyze Cam在Windows上设置Blue Iris和CodeProject.AI Server。
首先,我们需要得到一个检测包的模型。伟大的Mike Lud,CodeProject社区工程师正在训练许多模型,并开发了一个检测包的模型。所以第一步是下载包模型,并将其放在自定义模型文件夹中。转到Mike Lud的GitHub,并下载 package.pt。然后,package.pt复制到 CodeProject.AI 服务器的自定义模型文件夹中,该文件夹为C:\Program Files\CodeProject\AI\modules\ObjectDetectionYolo\custom-models。
设置Blue Iris警报
现在,启动Blue Iris。下一步是设置电子邮件服务器。转到Blue Iris主设置,然后转到电子邮件服务器选项卡。点击 + 符号输入电子邮件设置。
输入电子邮件配置文件的说明。就我而言,我有一个一次性的Outlook帐户,我有时会使用,所以我的描述是“Outlook Stevan”。从“预设”下拉列表中,选择“Windows Live Hotmail”。这里有多种选择,包括AOL Mail,Gmail,Yahoo和Zoho。选择其中一个预设会自动填充服务器地址。也可以选择“用户定义”,但在这种情况下,需要知道服务器地址。
接下来,输入发件人电子邮件(我使用警报要发送到的同一电子邮件),然后输入登录电子邮件(这是您希望接收通知的电子邮件)和该电子邮件帐户的密码。然后点击测试。
完善!电子邮件通知正在工作。点击确定退出电子邮件配置文件,然后点击确定退出Blue Iris设置。
现在是时候设置警报了。转到相机设置和警报选项卡。我实际上将警报菜单中的所有主要设置都保留为默认值。从这里,单击警报。
然后单击 + 图标以添加新警报。将加载下拉列表。在此处,选择“发送电子邮件”。
在“必需的AI对象”字段中,输入“包”。然后,确保传出(SMTP)服务器已选择配置文件。就我而言,“Outlook Stevan”。
在收件人字段中,输入将接收警报的电子邮件地址。然后使电子邮件的主题和正文成为您想要的任何内容。点击确定退出电子邮件配置警报设置,点击确定退出操作集菜单,点击确定接受相机设置。
好吧,让我们检测一些包裹!我妻子不想把摄像头放在门口,所以它就在我的办公室里。但值得庆幸的是,我有一些软件包要测试。
从Blue Iris设置的AI选项卡中,单击打开AI控制面板以启动CodeProject.AI服务器。还要确保选中“使用自定义模型文件夹”框,因为这是 packages.pt 所在的位置。
接下来,转到相机设置中的触发器选项卡,然后点击人工智能。
确保确认说“包裹”,自定义模型也说“包裹”。点击 OK 接受人工智能设置,然后点击 OK 接受相机设置。
检测包——第1部分
从CodeProject.AI服务器中,除了对象检测(YOLO)之外,我们实际上不需要任何东西,因此请通过单击进程旁边的三个点并从下拉菜单中选择“停止”来禁用其他所有内容。
相机在地板上,因为如果不安装它或将相机倒置,我就无法将其提高。我正在尝试模拟前门,所以这应该足够好了。是时候在相机的视野中放置包裹了!
我拿了一个包裹,把它放在相机的视野中。就是这样!检测到包裹!
现在检查Outlook以查看是否已发送电子邮件警报。
有测试电子邮件和电子邮件警报!棒!
最后一次测试。让我们把另一个包裹放进去,看看它是否能检测到第二个包。
发送电子邮件通知时出错
这是我遇到一些麻烦的地方。有一段时间,将各种包裹放在镜头前确实触发了警报。但它是零星的。问题的一部分是我的包裹。检测到的第一个包裹是一个盒子。每次都非常可靠地检测到盒子。我使用的下一个包裹是一个大信封。检测到信封的频率较低。此外,即使我可以看到在Blue Iris中检测到包裹并确认触发了警报,电子邮件通知也停止工作。因此,我返回到Blue Iris主设置中的“电子邮件服务器”选项卡,然后再次点击“测试”按钮。我收到一个错误:
Error with sending data - data confirmation; Server says: 554 5.2.0
STOREDRV.Submission.Exception:OutboundSpamException; Failed to process message due to a
permanent exception with message [BeginDiagnosticData]WASCL UserAction verdict is not
None. Actual verdict is RefuseQuota, ShowTierUpgrade. OutboundSpamException: WASCL
UserAction verdict is not None. Actual verdict is RefuseQuota, ShowTierUpgrade.
[EndDiagnosticData] [Hostname=FR1P15201MB2167.LAMP152.PROD.OUTLOOK.COM]
我要求一些帮助来理解ipcamtalk论坛上的错误,显然电子邮件服务提供商有电子邮件发送限制。本文详细介绍了更多细节,但在我的案例中可能发生的情况是,因为我使用的是我几乎不使用的未经验证的一次性Outlook帐户,因此电子邮件不再发送,因为我达到了发送的电子邮件数量限制。
检测包——第2部分
所以我决定设置一个Gmail帐户,看看是否有帮助。我通过点击 + 符号创建了一个新的电子邮件配置文件,并遵循与以前相同的过程。唯一的区别是Gmail需要Oauth身份验证而不是密码。
点击使用Google登录按钮,然后按照说明操作。
现在重新开始并将包裹放在相机前,看看Gmail是否检测到它。
成功!检测到包裹、触发警报并发送Gmail通知。
最后一个测试(这次是真的)。让我们在相机视图中放置另一个包裹,看看是否检测到第二个包裹。现在是假期,过度劳累的亚马逊员工会走任何可能的捷径。
Huck!
检测到第二个包裹,触发了警报,并发送了Gmail通知。我相信我已经成功地设置了CodeProject.AI服务器来检测使用Blue Iris的递送包裹。
https://www.codeproject.com/Articles/5348948/Package-Delivery-Detection-using-CodeProject-AI-Se