CNN 是在图像中查找和计算对象的最佳方法吗?

数据挖掘 张量流 卷积神经网络 图像识别
2021-10-12 06:16:22

我正在开始我的第一个真正的数据科学项目,我做了一个研究,想问问我的方法是否正确:

我有:600 张电子元件的照片,一张照片中有数百个元件,元件的形状和它们之间的距离可能因照片而异,但一张照片中只有一个形状。组件形状为正方形、矩形、椭圆形、“E”形和类似形状

我需要:组件的通用计数器(无论照片上的元素类型是什么)

计划的方法:使用 openCV 分析每张图片以获得预测,然后使用 Tensorflow 和 GPU 训练 CNN(没有以前的经验)。

这是正确的思维方式吗?

1个回答

对于您的情况,我建议使用对象检测网络来定位和分类您的组件。尽管您不需要位置或分类数据,但您仍然可以计算网络检测到的对象数量。此外,这种方法不需要任何数据科学背景,因为有很多关于这个主题的教程和大量开箱即用的工具,例如tensorflow 的对象检测 API

您将需要注释您的数据,但也有大量程序可以帮助您。 这是我很快找到的一个

我建议使用带有 NAS 特征提取器的 fast-RCNN,因为虽然它比其他 CNN 架构慢,但它是最准确的。此外,如果您不将所有组件组合到一个类中,网络可能会表现得更好。


完成此任务所需的步骤基本上如下:

  1. 安装和设置tensorflow
  2. 从张量流检测模型动物园下载更快的 RCNN NAS
  3. 通过在组件周围绘制边界框并标记每个边界框来注释数据。
  4. 训练你的模型
  5. 保存经过训练的模型后,您只需要设置一个管道,该管道接收输入图像,将其馈送到您的网络,并返回忽略边界框和分类数据的检测总数。 这是一个很好的部署训练模型的教程