资料介绍
描述
介绍
最近,我参加了一项名为“ Azure Data and AI Challenge ”的云技能挑战赛,该挑战赛由微软发起,旨在让开发人员在探索多样性和包容性的旅程中学习 Azure Data & AI 技术以及可访问性。看法。就我而言,我非常喜欢这种学习形式,因为每个模块都包含明确的目的、详细的概念解释、分步教程,以及免费的 Azure 云资源供用户练习。这让我想起了我在课堂上的经历。我们不仅要知道“什么”,还要学会知道“怎么做”。
我遇到的一个特殊学习模块称为“使用自定义视觉分类濒危鸟类”。在本模块中,我们使用 Azure 认知服务自定义视觉创建模型来识别鸟类的种类!更具体地说,我们可以构建一个机器学习模型,该模型将按物种识别图像中的鸟类。
巧合的是,上周有一个鸽子家庭加入了我们,并在我的窗前筑了一个巢。多么惊喜!今天早上他们在巢里下了两个蛋。这些小动物给我们带来了无尽的快乐。我儿子总是尽可能靠近窗户仔细观察它们。然而,当人类靠近时,鸽子看起来有点害怕。
完成学习后,我想到了一个主意。为什么不使用 Azure 自定义视觉来识别我们窗户旁边的鸟呢?但是,如果按照上面提供的学习路径中的步骤,我们应该在PC上上传图像并得到结果,这对于实时监控来说是相当不便的。经过一番思考,我决定用树莓派和网络摄像头作为物联网终端来实现日常监控。然后,我们不必出现在窗户旁边看鸟。PIR 传感器将触发过程拍摄图像,并将图像传输到 Azure 自定义视觉以获取检测结果。然后,Raspberry Pi 会将结果图像上传到 Azure Blob 存储,该存储可从 Internet 随处访问。
如果你对这个项目感兴趣,你可以学习我在这个集合中创建的路径:AI Bird的集合。我已邀请我的朋友在 Twitter:Twitter Post上完成学习模块。完成这些模块后,您就迫不及待地基于 Azure AI 和 IoT 技术制作自己的项目。
系统总览
如图2所示,整个系统由Raspberry Pi终端、Azure Custom Vision、Azure Blob Storage和用户设备组成。我们将 USB 网络摄像头(或 Raspberry Pi 官方摄像头)和 PIR 传感器连接到 Raspberry Pi 以进行图像捕捉和鸟类检测。一旦鸟靠近 PIR 传感器,它就会向 Raspberry Pi 发送信号,表明某种动物正在接近。然后树莓派会通过摄像头拍照并发送到 Azure Custom Vision 服务获取结果。我们将使用 PIL 库绘制一个矩形来突出显示我们在图片中检测到的对象。最后,树莓派会将图片上传到 Azure Blob Storage 供用户在任何地方查看。
硬件
微软 LifeCam HD-3000
树莓派
PIR 传感器
HMDI 屏幕(可选)
Azure 资源
我们将在项目中使用 Microsoft 帐户。如果没有,请申请一个。我们在这个项目中使用的所有资源都作为沙箱提供。沙盒只能用于完成 Microsoft Learn 培训。禁止出于任何其他原因使用,并可能导致永久失去对沙盒的访问权限。请注意,您沙箱中的所有资源在 4 小时内可用。一旦时间到了,它们将被丢弃。
项目指导
步骤 1 至步骤 6 与模块“使用自定义视觉分类濒危鸟类”中的步骤非常相似。不同之处在于我们在这里创建了一个对象检测项目而不是分类项目。如果你只是想实现鸟类的分类,请参考学习模块中提供的步骤。
1. 下载数据集
数据是我们创建机器学习模型所需的第一件事。我们将使用来自康奈尔实验室的 NABirds 数据集的一个子集来训练我们的模型。下载包含数据集的 zip 文件:bird-photos.zip
下载完成后,解压缩文件,如图 3 所示。记下文件夹位置,因为您将在后面的步骤中需要它。我们会发现,这个褶皱里总共有 16 种鸟类。每种包括大约 120 张图像。
2. 创建自定义视觉 API 资源
接下来,我们将在 Azure 认知服务自定义愿景中创建一个 API 资源。
在 Azure 门户中,选择“创建资源”。
搜索自定义视觉。在搜索结果的自定义视觉卡中,选择创建。
在 Basics 选项卡上,输入或选择所需的值:
⦁ 选择您的 Azure 订阅。如果我们使用沙盒,默认订阅是 Concierge Subscription。
⦁ 默认资源组为 learn-******
⦁ 输入新自定义视觉服务资源的名称(例如,BirdCustomVisionDemo)。
⦁ 在培训资源下:将培训位置设置为最近的点。
⦁ 将培训定价层设置为免费 F0(每秒 2 次交易)。
⦁ 在预测资源下:
⦁ 将预测位置设置为我们在上面选择的位置。
⦁ 将预测定价层设置为免费 F0(每秒 2 次交易)。
⦁ 选择查看 + 创建。
⦁ 选择创建。
详情请参阅图 4。
3.上传数据
上传图片有两种方式。首先,在自定义视觉门户中,我们可以选择、上传、然后标记图像。或者,如果我们有大量数据、图像类和标签要上传,我们可以使用自定义视觉 SDK。在这里,我们使用自定义视觉门户进行图像上传。
转到https://www.customvision.ai/projects并登录。选择新建项目。
在创建新项目中:
⦁ 对于名称,输入您选择的项目名称。
⦁ 对于描述,输入模型的简短描述。(例如,DetectBirds)。
⦁ 对于资源组,选择您在 Azure 门户中创建的资源组。
⦁ 对于项目类型,选择对象检测。
⦁ 对于域,选择常规。有关详细信息,请参见图 5。
选择创建项目。
现在,是时候在图片中为鸟类添加图像和标签了。在您的自定义视觉项目中,选择添加图像。
在Open中,转到从数据集 zip 文件中提取图像文件的birds-photo 文件夹。
打开鸟类物种文件夹。
选择Ctrl + A以选择物种文件夹中的所有图像,然后选择Open 。
上传后,我们应该在每张图片中标记对象。详情请参阅图 6。
重复上述步骤,上传下载数据集中每个鸟类文件夹中的照片。
4. 训练数据
我们已经在自定义视觉中创建了我们的数据集。现在,是时候训练我们的模型了。在自定义视觉门户中,选择我们的项目。在顶部菜单栏中,选择训练。在选择培训类型中,选择快速培训,然后选择培训。如图 7 所示。
训练完成后,有关模型如何为训练迭代执行的信息如图 8 所示。
当我们测试您的模型时,Custom Vision 会显示三个指标。指标是可以帮助您了解模型执行情况的指标。这些指标并不表明模型的真实性或准确性。指标仅告诉您模型对您提供的数据的执行情况。模型在已知数据上的表现如何让您了解模型在新数据上的表现。
精度:如果您的模型预测标签,则此指标表明预测正确标签的可能性有多大。
回忆:在模型应该正确预测的标签中,该指标表示您的模型正确预测的标签的百分比。
平均精度:通过计算不同阈值的精度和召回率来衡量模型性能。
5. 测试模型
让我们测试我们的模型,看看它在看不见的数据上的表现如何。我们将使用来自互联网搜索的鸟的图像。
在自定义视觉门户中,选择我们的项目。在顶部菜单栏中,选择快速测试。在 Quick Test 中,将 URL 粘贴到 Image URL 中,然后按 Enter 以测试模型的准确性。预测如图 9 所示。我们会发现结果包括图像中的对象坐标,用红色矩形突出显示。
6.部署模型
我们可以通过获取预测 URL 或在应用程序中使用 API 来部署到端点。
在自定义视觉门户顶部菜单栏中,选择性能。选择发布。在Publish Model中,选择Prediction资源,然后为您的 Custom Vision 项目选择预测的名称。选择发布。
选择预测 URL选项卡。在如何使用预测 API中,我们可以得到如图 10 所示的 Key。
此外,我们将获取 Endpoint 和 Project ID 以供进一步使用。可以在设置页面上访问它们,如图 11 所示。
7.组装硬件
在这个项目中,需要一个树莓派、一个 USB 网络摄像头(树莓派官方的摄像头可以)和一个 PIR 传感器。如果您有 HDMI 屏幕,您可以直接在屏幕上看到结果。如果没有,您可以在 Raspberry Pi 上安装 VNC 服务器,并在您的 PC 或其他移动设备上通过 VNC 客户端与它进行交互。以下是我使用的模块:
⦁ 微软 LifeCam HD-3000
⦁ 树莓派 4
⦁ PIR 传感器。
⦁ Waveshare 7寸 HDMI LCD (B) (800*480)
PIR Sensor 配备三个引脚,即 Vcc、GND 和 Out。Vcc 和 GND 将连接到 Raspberry Pi 上的 5V 和 GND 引脚,而 Out 引脚将连接到 BCM 引脚 NO。4、原型如图12所示。
8.安装必要的库
我们将使用 Azure 自定义视觉 Python SDK、Azure 存储博客 Python SDK 和 USB 摄像头。然后我们将使用 pip 工具和 apt-get 安装必要的组件,如下所示。
pip3 install azure-cognitiveservices-vision-customvision
pip3 install azure-storage-blob
pip3 install msrest
sudo apt-get install fswebcam
若要创建 Azure 存储帐户并查看有关如何使用适用于 Python 的 Azure 存储 Blob 客户端库的更多信息,请参阅此文档:适用于 Python 的 Azure 存储 Blob 客户端库。
可以在 Azure 门户上查看连接字符串,如图 13 所示。
9.下载并运行代码
您可以从 Github 下载 python 代码:https ://github.com/shijiong/AzureCustomVisionBirdDemo 。请确保您在第 14 行至第 17 行输入了您的自定义视觉项目的预测密钥、预测端点、项目 ID 和发布迭代名称。第 19 行至第 21 行中的连接字符串、容器名称和 blob 名称应为换成你的。详情请参阅图 14。
其次,在第 33 行,我们将图像分辨率指定为 1280*720,这在您的项目中可能会有所不同。很重要的一点是,我们会根据第 46 行的预测 API 的结果在图像上绘制一个矩形。如果图像的分辨率不同,我们应该改变它,否则我们将无法获得识别对象的正确位置在图像上。
第三,我在第 41 行将预测概率的阈值设置为 0.9,您可以更改它以满足您的场景。
最后,如果你想在树莓派上查看预测图像,你可以取消注释第 49 到 52 行的代码。但是,上传过程将被阻止,直到你关闭图像。
我将设备部署在我的窗户旁边。将代码复制到您的 Raspberry Pi,使用 Thonny(Raspberry Pi 上预装的 Python IDE)打开它,然后运行。触发 PIR 传感器后,将捕获图像并将其传输到 Azure 自定义视觉以获取预测结果。如图 15 所示,识别的对象将被红色矩形突出显示。
最后,图像将被传输到 Azure Blob Storage,如图 16 所示。您可以在任何地方查看它。
概括
在本教程中,我们设计了一个基于 Azure Custom Vision、Azure Blob Storage 和 Raspberry Pi 的鸟类检测器。然后给出了数据集上传、数据训练、模型部署、硬件搭建和操作流程的演示。希望这对那些需要在 Raspberry Pi 设备上使用 Azure 自定义视觉服务的人有用。
- 使用Google Coral和Raspberry Pi进行ML鸟类识别
- 克隆PI W Atmega8(Arduino)金属探测器简短回顾
- 基于AVR微控制器的简单PI(脉冲感应)金属探测器
- 具有Azure数据库支持的Raspberry Pi无线家庭自动化
- 基于ML的鸟类和松鼠检测器(Raspberry Pi和AWS)
- 濒临灭绝鸟类探测器开源分享
- 可视频直播的Raspberry Pi网络控制机器人 14次下载
- 《爱上Raspberry Pi》中译版-电子书籍.pdf 0次下载
- 关于硅蓝光探测器在医疗监测中的应用 1次下载
- 热探测器和光电发射探测器等光辐射探测技术的解析 11次下载
- Instant Raspberry Pi Gaming 6次下载
- Raspberry_Pi详解 15次下载
- SR红外入侵探测器_WBPW_PI11_中文说明书(12-7cm 0次下载
- raspberry_pi各版本差别 0次下载
- 红外探测器电路图
- 金属探测器电路图 带Arduino的金属探测器设计 876次阅读
- 探索红外热成像探测器的基础原理 549次阅读
- 金属探测器电路图分享 5405次阅读
- 基于零维材料的光电探测器原子结构 982次阅读
- 基于树莓派产品 Raspberry Pi微控制器板的优缺点 2710次阅读
- 气体探测器怎么接线 3.1w次阅读
- 红外线探测器距离_红外线探测器安装 1.3w次阅读
- 金属探测器怎么用_金属探测器的使用方法 6.1w次阅读
- 半导体探测器的工作原理_半导体探测器应用领域 1.4w次阅读
- 闪烁探测器探测原理_闪烁探测器的结构组成 1.7w次阅读
- 火焰探测器接线图_火焰探测器设置要求 4.5w次阅读
- 火焰探测器保护半径_火焰探测器适用场所 1w次阅读
- 剩余电流探测器原理_剩余电流探测器的应用 9588次阅读
- 火焰探测器工作原理 5.1w次阅读
- 自制高频振荡金属探测器 1.4w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多