计算机视觉:使用 Colab GPU 进行 YOLO 自定义对象检测
YOLO:使用 Google Colab GPU 训练的预训练 Coco 数据集和自定义训练的冠状病毒物体检测模型
讲师:Abhilash Nelson
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 基于 Python 的 YOLO 对象检测,使用预训练数据集模型以及自定义训练数据集模型。使用 YOLO 的冠状病毒检测器案例研究
- YOLO 定制训练
- YOLO V4 物体检测
- YOLO V4 物体识别
探索相关主题
- 深度学习
- Python
- 计算机视觉
- 物体检测
- 数据科学
要求
- 一台配置不错的计算机(最好是 Windows)和对使用 Python 进行图像和对象识别的热情
描述
你好呀!
欢迎来到我的新课程“YOLO 自定义对象检测 Python 快速入门”。这是我的计算机视觉系列的第四门课程。
如您所知,物体检测是计算机视觉最常用的应用,其中计算机能够识别和分类图像中的物体。
我们将特别关注(YOLO),它是一种有效的实时对象识别算法,它被用在开源神经网络框架 Darknet 中
本课程分为两部分。第一部分将使用预定义的数据集(称为 coco 数据集)处理对象识别,该数据集可以对 80 个对象进行分类。第二部分我们将尝试创建自己的自定义数据集并训练 YOLO 模型。我们将尝试创建自己的冠状病毒检测模型。
现在让我们看看本课程包含的有趣主题的列表。
首先,我们将进行有关 YOLO 目标检测系统的理论介绍。
之后,我们准备通过下载和安装 anaconda 包来准备我们的计算机进行 Python 编码,并检查是否一切安装正常。
你们中的大多数人可能没有 Python 编程背景。接下来的几个课程和示例将帮助您掌握基本的 Python 编程技能,以便继续本课程的课程。主题包括 Python 作业、流程控制、函数和数据结构。
然后我们将安装 OpenCV,它是 Python 中的开源计算机视觉库。
然后我们将介绍卷积神经网络、它的工作原理和所涉及的不同步骤。
现在我们将继续第 1 部分,其中涉及使用 YOLO 预训练模型进行对象检测和识别。我们将在下一节中概述 yolo 模型,然后我们将从单个图像实现 yolo 对象检测。
YOLO 通常对图像中的单个对象返回不止一次成功检测。可以使用以下方法解决这个问题
一种称为 NMS 或非最大值抑制的技术。我们将在下一节中实现该技术。
以此为基础,我们将尝试使用 yolo 模型从实时网络摄像头视频中进行对象检测,并检查其性能。稍后,我们将使用它从预先保存的视频文件中进行对象识别。
然后我们将继续课程的第 2 部分,尝试训练暗网 YOLO 模型。该模型可以从电子显微镜图像或视频输出中检测冠状病毒。
在继续实施之前,我们将讨论使用预训练数据集模型和自定义数据集训练模型的优缺点。此外还介绍了 google colab 提供的免费 GPU 及其功能。
在下一节中,我们将从自定义模型的第 1 阶段开始,其中我们将执行实现自定义模型的准备步骤。我们首先从 github 下载暗网源并进行准备。然后,我们将下载测试和训练所需的权重文件。然后,我们将编辑所需的配置文件,使其为我们的自定义冠状病毒检测器做好准备。
在我们自定义模型的第二阶段,我们将开始收集训练模型所需的数据。我们将尽可能多地从互联网上收集冠状病毒图像,并将它们组织到文件夹中。然后,我们将使用名为 labelImg 的开源注释工具标记或注释这些图像中的冠状病毒对象。然后,我们将拆分收集到的数据集,80% 用于训练,20% 用于测试。最后,我们将编辑准备文件,其中包含训练和测试数据集的位置。
现在我们已经准备好了所有文件,在第三阶段,我们将压缩并上传它们到 Google Drive。之后,我们将创建一个 Google Colab 笔记本并配置 Colab 运行时以使用 Google 提供的快速、强大且免费的 GPU 服务。然后,我们将 Google Drive 安装到我们的 Colab 运行时并解压缩我们上传的暗网 zip。
有时在非 unix 环境中编辑的文件在编译 darknet 时可能会出现问题。下一步,我们必须将编码从 dos 转换为 unix。然后,我们将编译 darknet 框架源代码,并在第四阶段使用示例图像继续测试 darknet 框架。
google colab 提供的免费基于 GPU 的运行时是不稳定的。它每 12 小时会重置一次。因此,我们需要在训练期间定期将权重保存到我们的 Google Drive 中,这是一个永久存储。因此,在第五阶段,我们将 Google Drive 中的备份文件夹链接到 colab 运行时。
最后,在第 6 阶段,我们准备继续训练我们的自定义冠状病毒模型。我们将继续监控每次迭代或神经网络术语中称之为的时期的损失。我们的模型将自动将每 100 个时期的权重安全地保存到我们的 Google Drive 备份文件夹中。
我们可以看到,随着迭代次数的增加,损失值不断下降。经过多次迭代后,我们的模型将进入收敛或平线状态,损失不再进一步改善。那时我们将获得最终的权重
稍后我们将使用该权重对包含冠状病毒的图像进行预测。我们可以看到我们的模型清楚地检测到了物体。我们甚至还会用视频文件尝试一下。
我们不能声称这是一个完全成熟、无瑕疵且可用于生产的冠状病毒检测模型。仍有改进空间。但无论如何,通过构建这个自定义模型,我们完成了制作自定义 yolo 模型的所有步骤和过程,这对您来说将是一次伟大而宝贵的体验。
然后在稍后的快速会议中,我们还将讨论其他一些案例研究,其中我们可以实现自定义训练的 YOLO 模型,以及我们可能需要为训练这些模型进行的更改等。
这就是本速成课程目前包含的所有主题。本课程中使用的代码、图像和权重已上传并共享到文件夹中。我将在本课程的最后一个课程或资源部分中包含下载链接。您可以自由地在您的项目中使用这些代码,无需任何疑问。
完成本课程后,您还将获得课程结业证书,这将为您的作品集增添价值。
就这些了,我们很快会在课堂上见面。祝你学习愉快,玩得开心。
本课程适合哪些人:
- 初学者或想要开始使用基于 Python 的对象识别并想要开发自定义对象检测模型的人
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。