2017-06-19 199 views
4

我想訓練模型來檢測使用Tensorflow的圓形,方形,矩形等基本形狀。什麼是最好的輸入數據集?直接加載形狀或使用OpenCV查找圖像邊緣並僅加載邊緣圖像。形狀檢測 - TensorFlow

我們也可以使用OpenCV檢測形狀。機器學習會帶來哪些額外的好處?

爲訓練模型而給出的示例圖像。

Circle Detected using OpenCV Square detection

回答

0

您可能要簽在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

1

我會建議開始與本指南做分類,而不是檢測對象 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的許多不同圖片更加統一,那麼您可能會獲得更好的結果。