2016-01-09 6 views
10

का उपयोग कर छवि पहचान मैं टेंसरफ्लो में नया हूं और मैं छवि पहचान पर सहायता की तलाश में हूं। वहाँ एक उदाहरण TensorFlow उपयोग करने के लिए कैसे TensorFlow image recognition tutorialटेन्सोरफ्लो

मैं CIFAR-10 मॉडल प्रशिक्षण को देखा में प्रयोग किया जाता छवि शुद्ध मॉडल की तरह छवि मान्यता के लिए अपने स्वयं के डिजिटल छवियों को प्रशिक्षित करने का प्रदर्शन किया है कि है, लेकिन यह प्रदान करने के लिए प्रतीत नहीं होता अपनी खुद की छवियों को प्रशिक्षण के लिए उदाहरण।

+0

का प्रशिक्षण प्राप्त अजगर स्क्रिप्ट चलाने आप इस्तेमाल कर सकते हैं mnisten https://github.com/nyanp/mnisten IDX अपने चित्रों कन्वर्ट करने के लिए प्रारूप फिर टेंसर प्रवाह mnist ट्यूटोरियल का उपयोग करें, http://stackoverflow.com/questions/33784214/how-to-test-tensorflow-cifar10-cnn-tutorial-model – alfredo138923

+0

@ alfredo1389 में उत्तर का उपयोग कर कोड को संशोधित करें, मैं सक्षम नहीं हूं mnisten स्क्रिप्ट बनाने के लिए। यह त्रुटि उत्पन्न करता है 'फ़ाइल में src/main.cpp: 11: /usr/local/include/opencv/cv.hpp:50:10: त्रुटि:' cv.h 'फ़ाइल के साथ नहीं मिली है; उपयोग "उद्धरण" के बजाय # शामिल ^ src/main.cpp: 12: 10: गंभीर त्रुटि: 'opencv2/highgui.hpp' नहीं मिला फ़ाइल # शामिल ^ 2 त्रुटियां उत्पन्न हुईं। बनाओ: *** [mnisten] त्रुटि 1' –

उत्तर

7

मैं छवि पहचान करने के लिए Google के प्रशिक्षित प्रारंभ मॉडल का उपयोग करने की अनुशंसा करता हूं। कृपया tensorflow वेबसाइट पर "नई श्रेणियों के लिए प्रारंभ करने की अंतिम परत को कैसे निकालें" उदाहरण देखें। यह https://www.tensorflow.org/versions/r0.9/how_tos/image_retraining/index.html पर है।

प्रशिक्षित मॉडल का उपयोग करना आसान है और उचित सटीकता प्राप्त कर सकता है। आप बस अपने डेटा सेट के साथ मॉडल को खिलाते हैं। Google की स्थापना की अंतिम वर्गीकरण परत संशोधित की जाएगी और हम केवल अंतिम परत को प्रशिक्षित करेंगे। कई श्रेणियों में कई हज़ार छवियों के लिए, प्रशिक्षण समाप्त करने में केवल कई घंटे लगते हैं। कृपया ध्यान दें: उदाहरण का उपयोग करने के लिए, आपको स्रोत से tensorflow बनाना होगा।

मैं स्थानांतरण सीखने की सुविधा का उपयोग कर रहा हूं और बहुत अच्छे परिणाम प्राप्त कर रहा हूं। स्थानांतरण सीखने के लाभ को स्पष्ट करने के लिए, मैं "प्रशिक्षित GoogleNet पर स्थानांतरण सीखने" की तुलना कर रहा हूं "स्क्रैच से 5-परत-कनवनेट बनाएं और प्रशिक्षित करें"। वर्गीकरण कार्य 5 श्रेणियों के साथ 5000 छवियों पर किया जाता है।

Build a 5-layer-convet and train it from scratch

Use the transfer learning on the trained GoogleNet

इस सरल उदाहरण देखें: https://www.youtube.com/watch?v=QfNvhPx5Px8 (5 मिन में एक TensorFlow छवि वर्गीकरणकर्ता बिल्ड)

1

इस रेपो अपनी खुद की छवियों के लिए अंतिम परत छवि पुनर्प्रशिक्षण देता है।

training_ "डाटासेट फ़ोल्डर"

को अपनी छवियां जोड़ें अधिक से अधिक चित्र जोड़ें (प्रत्येक वर्ग के लिए आवश्यक के लिए कम से कम 30 छवियों।)

सबसे पहले पार्टी स्क्रिप्ट Imagenet फ़ाइलों को डाउनलोड करने पर अमल।

इसके बाद, अपने छवियों जो मान्यता सटीकता आदि आउटपुट,

https://github.com/shivakrishna9/tensorflow-retrain