形状检测 - TensorFlow

问题描述:

我想训练模型来检测使用Tensorflow的圆形,方形,矩形等基本形状。什么是最好的输入数据集?直接加载形状或使用OpenCV查找图像边缘并仅加载边缘图像。形状检测 - TensorFlow

我们也可以使用OpenCV检测形状。机器学习会带来哪些额外的好处?

为训练模型而给出的示例图像。

Circle Detected using OpenCV Square detection

您可能要签在tensorflow目标检测。 https://github.com/tensorflow/models/tree/master/object_detection

这里有一个预训练模型中使用神经网络做检测的是,它可以降低CPU周期来计算的 http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_11_06_2017.tar.gz

一个潜在的优势。这在移动设备上很有用。例如 - 霍夫变换https://en.wikipedia.org/wiki/Hough_transform计算起来太昂贵了,但是如果使用卷积神经网络代替 - 为实时图像处理开辟了更多的可能性。

要真正培养的新模式 - 在这里看到https://www.tensorflow.org/tutorials/deep_cnn

我会建议开始与本指南做分类,而不是检测对象 https://codelabs.developers.google.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检索图像”我不得不尝试一下自己

,所以我下载第一来自谷歌的100个正方形和圆圈图片以及来自Chrome网上应用店的附加“fatkun批量下载图片”。

在我的前10次测试中,我得到了92.0%(0.992 ..)和99.58%之间的准确度。如果您的示例比Google的许多不同图片更加统一,那么您可能会获得更好的结果。