如何将带有 matlab 注释文件的数据集转换为与 Python 中的 YOLO 兼容的功能图像检测模型?

问题描述 投票:0回答:1

我正在尝试创建一个停车辅助程序,该程序将使用机器视觉来绘制停车场中哪些停车位是开放的。为此,我使用 YOLOv8 默认图像检测模型,该模型非常广泛,因为它能够检测到的东西不仅仅是汽车。为了优化这个过程,我一直在寻找与 YOLO 兼容的其他预训练模型,但除了指向 Stanford Cars Dataset 的方向之外,我没有取得太多成功。当尝试将 16,000 多个图像转换为有用的文件以放入该模型时,我的问题出现了。该数据集还包含 matlab 文件形式的注释数据,但我不知道如何从这里获得完成的模型。是否有任何资源可以帮助简化此流程?我现在使用的模型是.pt 文件的形式。如何从 16,000 张图像和 .mat 文件中获得该结果?

这是我第一次尝试这样的事情,尤其是对于高级设计项目。预先感谢!

我尝试过使用ultralytics提供的默认模型,但它太宽泛,并且无法从更困难的角度(例如从直线向上)识别汽车。我在互联网上查找了有关如何使用此数据集的教程,但其中很多都略过 Google Colab 和 Roboflow 等工具的使用,所以我不知道我应该为此做什么。

python opencv computer-vision object-detection yolo
1个回答
0
投票

部分问题是您将演示误认为是可用的产品。当你说:

我使用的是 YOLOv8 默认图像检测模型,该模型非常广泛,因为它能够检测到的东西不仅仅是汽车。

我猜你的意思是你已经下载了 MSCOCO 预训练的权重。使用 MSCOCO 数据集训练时会检测到 80 个类别。它并不是最终产品,而是可以做什么的演示。如果您碰巧需要的东西都包含在其中,那就太好了。但你绝对不应该依赖 MSCOCO 数据集。

相反,使用所有 YOLO 框架,您都应该训练自己的网络。如果您的相机拍摄的图像与 MSCOCO 中包含的图像不同,这会特别有用。例如,如果您的停车场使用鱼眼摄像机。或者您的相机安装在天花板、墙壁或投票站的高处。因为 MSCOCO 没有此类图像。

如果我查看 MSCOCO,从 163957 张图像中筛选出汽车(索引 #2)、摩托车(索引 #3)和卡车(索引 #7),最终得到 17385 张图像。这些图像看起来像这样:

如您所见,标记为“汽车”或“卡车”的东西对于您在停车场或停车库的使用可能是有限的。

训练自己的网络实际上相对简单,并且会给你带来更好的结果。以下是一个示例操作视频,展示了如何在 30 分钟内注释多类网络并进行训练:https://www.youtube.com/watch?v=ciEcM6kvr3w

从那里到 Google colab 相对简单。 Colab 只是指其他人的计算机恰好运行 Linux 发行版。但构建和训练步骤或多或少是相同的。 Darknet/YOLO Discord 服务器有一个包含多个笔记本的频道,详细展示了如何安装和使用 Darknet 框架以在 colab 上使用 YOLO 模型。您可以在此处访问 Darknet/YOLO Discord 服务器:https://discord.gg/zSq8rtW

虽然我还没有 YouTube 教程来展示如何在 colab 上使用 Darknet/YOLO,但您现在为我的下一个视频提供了一个想法。今晚我会尽力完成这项工作。看看我链接到上面 2 段的视频和频道。

© www.soinside.com 2019 - 2024. All rights reserved.