【发布时间】:2017-11-21 05:10:50
【问题描述】:
我正在尝试使用 Tensorflow 训练模型来检测圆形、方形、矩形等基本形状。什么是最好的输入数据集?直接加载形状或使用 OpenCV 查找图像的边缘并仅加载边缘图像。
我们也可以使用 OpenCV 检测形状。使用机器学习的额外优势是什么。
为训练模型提供的示例图像。
【问题讨论】:
标签: image-processing machine-learning tensorflow
我正在尝试使用 Tensorflow 训练模型来检测圆形、方形、矩形等基本形状。什么是最好的输入数据集?直接加载形状或使用 OpenCV 查找图像的边缘并仅加载边缘图像。
我们也可以使用 OpenCV 检测形状。使用机器学习的额外优势是什么。
为训练模型提供的示例图像。
【问题讨论】:
标签: image-processing machine-learning tensorflow
您可能想在 tensorflow 中检查目标检测。 https://github.com/tensorflow/models/tree/master/research/object_detection 这里有一个预训练的模型 http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_11_06_2017.tar.gz
使用神经网络进行检测的一个潜在优势是它可以减少计算的 CPU 周期。这在移动设备上很有用。 例如 - Hough 变换 https://en.wikipedia.org/wiki/Hough_transform 计算成本太高/但如果使用卷积神经网络代替 - 为实时图像处理开辟了更多可能性。
要实际训练一个新模型 - 请参阅此处https://www.tensorflow.org/tutorials/deep_cnn
【讨论】:
我建议从本指南开始进行分类,而不是对象检测: https://kiosk-dot-codelabs-site.appspot.com/codelabs/tensorflow-for-poets/#0
分类是针对一张图片的一个唯一标签(99% 正方形,1% 圆形)。物体检测是对图片中的几个物体进行分类(x_min=3,y_min=8,x_max=20,y_max30, 99% square)。您的案例看起来更像是一个分类问题。
您不需要按照指南中的完整 Docker 安装。 如果你的系统上有 Python 3.6,你可以这样做:
pip install tensorflow
然后跳转到“4.检索图片”
我不得不自己尝试一下,所以我从 Google 下载了前 100 张正方形和圆形图片,并从 Chrome 网上应用店下载了“fatkun 批量下载图片”插件。
在我的前 10 次测试中,我的准确率在 92.0% (0.992..) 和 99.58% 之间。如果您的示例比 Google 提供的许多不同图片更统一,您可能会得到更好的结果。
【讨论】: