8

मैं एंड्रॉइड के लिए एक उन्नत वास्तविकता अनुप्रयोग विकसित कर रहा हूं जो रुबिक के घन के प्रत्येक चेहरे पर रंगीन वर्गों की व्यवस्था को पहचानने के लिए फोन के कैमरे का उपयोग करता है।एंड्रॉइड पर मार्कर रिकग्निशन (रुबिक के क्यूब्स को पहचानना)

एक बात जो मुझे अनिश्चित है, यह है कि मैं घन के प्रत्येक चेहरे पर रंगीन वर्गों का पता लगाने और पहचानने के बारे में कितना सटीक हूं। यदि आप रूबिक क्यूब को देखते हैं तो आप देख सकते हैं कि प्रत्येक वर्ग एक पतली काला सीमा के साथ छह संभावित रंगों में से एक है। यह मुझे लगता है कि यह संभवतः एक मौजूदा मार्कर पहचान एपीआई का उपयोग कर एक वर्ग का पता लगाने के लिए सापेक्ष रूप से होना चाहिए।

Rubik's Cube

मेरा प्रश्न, वास्तव में है यहाँ किसी को भी है छवि मान्यता और Android के साथ किसी भी अनुभव था? आदर्श रूप में मैं कार्यान्वित करने और मौजूदा एपीआई को सक्षम करने में सक्षम होना चाहता हूं, लेकिन अगर कोई मुझे शुरू करने के लिए सही दिशा में इंगित कर सकता है तो यह स्क्रैच से करना एक दिलचस्प प्रोजेक्ट होगा।

अग्रिम में बहुत धन्यवाद।

+0

मैं आपकी मदद कर सकता है, लेकिन मैं सिर्फ मैं कहाँ घन पर कैमरे को और बारी-बारी से दिशा-निर्देश प्राप्त कर सकता है किसी ऐप को हल करने कि यह * भयानक होगा कहना चाहता हूँ *। आपको शुभकामनाएं, और कृपया, यदि आप इसे काम करते हैं तो भविष्य में किसी दिन यहां पोस्ट करें। –

+0

यह योजना है :-) बड़ा मुद्दा पहली बार एंड्रॉइड को घन को पहचानने के लिए प्राप्त करेगा, और उसके बाद मैं इसे समाधान के माध्यम से चलने के लिए काम कर सकता हूं। उपयोगकर्ता प्रतिक्रिया के लिए एंड्रॉइड मार्केट में एक सार्वजनिक बीटा प्रकाशित किया जाएगा (जब मुझे लगता है कि यह बीटा चरण में है) और मैं इस प्रश्न को छोड़कर अपडेट कर दूंगा ताकि आप लोगों को यह जान सकें कि यह परीक्षण के लिए बाहर है। – greenie

+0

एफवाईआई, इनलाइन छवि टूटा हुआ है। क्या आपके पास एक प्रतिलिपि है जिसे आप पुनः अपलोड कर सकते हैं? –

उत्तर

5

क्या आप कैमरे को घन पर इंगित करना चाहते हैं, और क्या यह कॉन्फ़िगरेशन को समझता है?

तस्वीरों में वस्तुओं को पहचानना एक खुली एआई समस्या है। तो आपको उस पर कोई कर्षण प्राप्त करने के लिए समस्या को थोड़ा सा बाध्य करने की आवश्यकता होगी। मैं की तरह कुछ के साथ शुरू करने का सुझाव:

  1. घन, वास्तव में 12 इंच की दूरी से तस्वीरें खींची हो जाएगा सीधे कैमरे के पीछे एक 100W प्रकाश स्रोत के साथ। घन को तिरछे सेट किया जाएगा, इसलिए यह केंद्र में एक कोने के साथ, बिल्कुल 3 चेहरे प्रस्तुत करता है। कैमरा तैनात किया जाएगा ताकि यह सीधे केंद्र में घन कोने पर केंद्रित हो।

  2. एक तस्वीर ली जाएगी। फिर घन 180 डिग्री लंबवत और क्षैतिज रूप से बदल दिया जाएगा, ताकि अन्य तीन चेहरे दिखाई दे सकें। एक दूसरी तस्वीर ली जाएगी। चूंकि आप जानते हैं कि प्रत्येक चेहरा कहां से होने की उम्मीद है, प्रत्येक क्षेत्र से कुछ पिक्सल लें, और मान लें कि वह वर्ग का रंग है। याद रखें कि घन आमतौर पर चित्रित में दिखाया गया है, जैसा चित्र में दिखाया गया है। इसलिए आपको हमेशा प्रत्येक के रंग को पाने के लिए 9 * 6 = 54 छोटे वर्गों को देखना होगा।

  3. उन दो चित्रों की जानकारी घन कॉन्फ़िगरेशन को परिभाषित करती है। उसी कॉन्फ़िगरेशन में घन की एक छवि उत्पन्न करें, और उपयोगकर्ता को इसकी पुष्टि या सही करने की अनुमति दें।

6 चित्र लेने के लिए आसान हो सकता है - प्रत्येक चेहरे में से एक, और अच्छी तरह से परिभाषित क्रम में चेहरे के चारों ओर यात्रा करना। याद रखें कि प्रत्येक चेहरे का केंद्र वर्ग हिलता नहीं है, और उस चेहरे के लिए सही रंग को परिभाषित करता है।

एक बार आपके पास कॉन्फ़िगरेशन हो जाने के बाद, आप क्यूब स्लाइस को घुमाने के लिए ओपनजीएल ऑपरेशंस का उपयोग कर सकते हैं। यह एक कार्यक्रम होगा जिसमें क्यूब को परिभाषित और घुमाने के लिए सैकड़ों लाइन कोड होंगे, साथ ही आप जो भी छवि पहचान के लिए करते हैं।

+0

हां, यह इस प्रकार है कि मैंने एप्लिकेशन को काम करने के लिए कैसे कल्पना की। मैं उम्मीद कर रहा था कि एक मौजूदा मार्कर पहचान एपीआई हो सकती है जिसे मैं कार्यान्वित कर सकता हूं (क्योंकि चेहरे पर छोटे क्यूब्स को मार्कर के रूप में परिभाषित किया जा सकता है)। हालांकि, अगर मैं मौजूदा एपीआई नहीं ढूंढ पा रहा हूं तो यह बहुत अच्छी सलाह है। – greenie

0

यह question आपको एंड्रॉइड पर ओपनसीवी का उपयोग करने के बारे में कुछ संकेत दे सकता है। लेकिन मुझे नहीं पता कि क्या उपयोगकर्ता को कुछ जटिल अतिरिक्त पुस्तकालय स्थापित करने की आवश्यकता है।

0

अच्छा विचार, मैं कंप्यूटर दृष्टि और मार्कर डिटेक्टरों का भी उपयोग करने की योजना बना रहा हूं, लेकिन किसी अन्य प्रोजेक्ट के लिए। मैं अभी भी देख रहा हूं कि वेब पर कोई उपलब्ध जानकारी है या नहीं, पूर्व: एंड्रॉइड एसडीके में ओपनसीवी या एआरटोल्किट को जोड़ना। यदि आपके पास कोई कंप्यूटर जानकारी एपीआई लिंक करने के बारे में कोई अतिरिक्त जानकारी है, तो कृपया मुझे बताएं।

जल्दी मिलते हैं और गुडलक!

1

क्या पीटर ने कहा कि के अलावा, यह शायद घन के चित्र पर दिशा-निर्देश ओवरले करने के लिए उपयोगकर्ता चित्रों लेता है के रूप में सबसे अच्छा है। उपयोगकर्ता फिर गाइड लाइनों के भीतर घन को लाइन करता है, चाहे वह एक तरफ (एक वर्ग गाइड लाइन) या तीन पक्ष (परिप्रेक्ष्य में तीन वर्ग) हो। आप शायद प्रत्येक पंक्ति में रंगीन बक्से की संख्या निर्दिष्ट करना चाहते हैं। अपने कोड में, प्रत्येक रंगीन बॉक्स का केंद्र होना चाहिए और रंगों की पहचान करने के लिए इसे अन्य रंगीन बक्से (कुछ सहनशीलता स्तर के भीतर) में रंग का नमूना दें। उपयोगकर्ता को मान्यता प्राप्त परिणाम प्रदान करने के अलावा, उपयोगकर्ता को मान्यता प्राप्त रंगों में परिवर्तन करने की अनुमति देना अच्छा होगा। ऐसा लगता है कि फैंसी छवि पहचान की आवश्यकता नहीं है।

0

NYARToolkit मार्कर का पता लगाने का उपयोग करता है और जावा में किया जाता है (और साथ ही कामयाब सी # खिड़कियों उपकरणों के लिए)। मुझे नहीं पता कि यह एंड्रॉइड मंच पर कितनी अच्छी तरह से काम करता है, लेकिन मैंने इसे विंडोज़ मोबाइल उपकरणों पर इस्तेमाल किया है, और यह बहुत अच्छी तरह से किया गया है।

गुड लक और खुश प्रोग्रामिंग!

0

मैं Andoid OpenCV पुस्तकालय में रखने का सुझाव देते चाहते हैं। आप शायद ब्लॉब डिटेक्शन एल्गोरिदम की जांच करना चाहते हैं। आप quads का पता लगाने के लिए हौ लाइन या काउंटरोर पर भी विचार करना चाह सकते हैं।