对于我的期末项目,我必须创建一个 ML 模型,用于检测直径 47 毫米的圆盘中的微塑料。数据集非常小,比如 40 张图像,其中只有 7 张被标记。在过去的 2 年里,我没有接触过机器学习三年了,我几乎忘记了一切。目标是分类并找到每个物体的长度、宽度、面积。我需要一些关于如何开始的指导,因为我陷入困境并且有一段时间没有取得任何进展,欢迎我可以使用的任何提示或教程。我有以下课程:
在开始创建任何类型的 ML/DL/CV 模型之前,我们需要考虑一些事情:
您的数据集只有 40 张图像,足以代表您想要解决的实际问题吗? 我的意思是,塑料片之间的距离总是这么远吗?镜头总是这样居中吗?图片大小一样吗?...
如果您对上述任何问题的回答为“是”,您可能需要考虑更新或更改您的数据集。如果你真的想坚持下去,请尝试一些图像预处理、一些清理、数据增强......
这是一个分类/检测/分割/...问题吗?
由于一张图像中有多个对象,因此这不仅仅是一个分类任务。
您提到您的目标之一是找到塑料的面积。请注意,红色和橙色的圆圈相似,这意味着最终的面积也相似,但我们可以清楚地看到一个更薄,因此面积要小得多。 这使得检测(圆形/矩形/多边形...)不太合适。
细分怎么样?嗯,分割任务尝试对对象的所有像素进行着色,这样您就可以精确地分辨出该区域。
那么检测和分割的结合呢?
有很多库和框架为我们完成繁重的计算工作。
如今,开始 ML/DL/CV 最友好的方法是打开 Jupyter Notebook 并按照教程进行操作。我就往这边走。
所以你必须问自己这是否是你想要学习基础知识的问题。如果是这样,那么使用一些库,如 NumPy、SciPy、PyTorch、TensorFlow...来创建您自己的模型和/或神经网络。
如果您没有时间或者根本不想学习基础知识(尽管了解一些东西总是好的),或者您只是想创建一个应用程序并专注于与其他服务的集成,请使用一些开箱即用的框架,提供经过训练的模型,如 YOLO、TorchVision...