विषयसूची:

पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर: 6 चरण (चित्रों के साथ)
पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर: 6 चरण (चित्रों के साथ)

वीडियो: पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर: 6 चरण (चित्रों के साथ)

वीडियो: पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर: 6 चरण (चित्रों के साथ)
वीडियो: 🌟ENG SUB | Martial Universe EP 01 - 36 Full Version | Yuewen Animation 2024, जुलाई
Anonim
पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर
पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर
पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर
पायथन भाषा में संरचित प्रकाश और स्टीरियो विजन पर आधारित DIY 3D स्कैनर

यह 3डी स्कैनर वीडियो प्रोजेक्टर और वेबकैम जैसी कम लागत वाली पारंपरिक वस्तुओं का उपयोग करके बनाया गया था। एक संरचित-प्रकाश 3D स्कैनर अनुमानित प्रकाश पैटर्न और एक कैमरा सिस्टम का उपयोग करके किसी वस्तु के त्रि-आयामी आकार को मापने के लिए एक 3D स्कैनिंग उपकरण है। सॉफ्टवेयर को अजगर भाषा के साथ संरचित प्रकाश और स्टीरियो विजन के आधार पर विकसित किया गया था।

त्रि-आयामी आकार की सतह पर प्रकाश के एक संकीर्ण बैंड को प्रक्षेपित करने से रोशनी की एक पंक्ति उत्पन्न होती है जो प्रोजेक्टर की तुलना में अन्य दृष्टिकोणों से विकृत दिखाई देती है, और इसका उपयोग सतह के आकार के सटीक ज्यामितीय पुनर्निर्माण के लिए किया जा सकता है। क्षैतिज और ऊर्ध्वाधर प्रकाश बैंड वस्तु की सतह पर प्रक्षेपित होते हैं और फिर दो वेबकैम द्वारा कैप्चर किए जाते हैं।

चरण 1: परिचय

परिचय
परिचय
परिचय
परिचय

स्वचालित 3D अधिग्रहण उपकरण (जिन्हें अक्सर 3D स्कैनर कहा जाता है) लागत और समय-प्रभावी तरीके से वास्तविक 3D वस्तुओं के अत्यधिक सटीक मॉडल बनाने की अनुमति देते हैं। हमने प्रदर्शन को साबित करने के लिए एक खिलौने को स्कैन करने में इस तकनीक का प्रयोग किया है। विशिष्ट आवश्यकताएं हैं: मध्यम-उच्च सटीकता, उपयोग में आसान, स्कैनिंग डिवाइस की सस्ती लागत, आकार और रंग डेटा का स्व-पंजीकृत अधिग्रहण, और अंत में ऑपरेटर और स्कैन की गई वस्तुओं दोनों के लिए परिचालन सुरक्षा। इन आवश्यकताओं के अनुसार, हमने संरचित प्रकाश के आधार पर एक कम लागत वाला 3D स्कैनर डिज़ाइन किया है जो एक बहुमुखी रंगीन स्ट्राइप पैटर्न दृष्टिकोण को अपनाता है। हम एक खिलौने के 3D अधिग्रहण के संबंध में स्कैनर आर्किटेक्चर, अपनाई गई सॉफ़्टवेयर तकनीकों और एक परियोजना में इसके उपयोग के पहले परिणाम प्रस्तुत करते हैं।

हमारे कम लागत वाले स्कैनर के डिजाइन में, हमने वीडियो प्रोजेक्टर का उपयोग करके एमिटर यूनिट को लागू करना चुना। इसका कारण इस उपकरण का लचीलापन (जो किसी भी प्रकार के प्रकाश पैटर्न का प्रयोग करने की अनुमति देता है) और इसकी व्यापक उपलब्धता थी। सेंसर या तो एक कस्टम डिवाइस, एक मानक डिजिटल स्टिल कैमरा या एक वेब कैमरा हो सकता है। इसे उच्च गुणवत्ता वाले रंग कैप्चर (यानी उच्च गतिशील रेंज का अधिग्रहण) और संभवतः उच्च रिज़ॉल्यूशन के साथ समर्थन करना चाहिए।

चरण 2: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर

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

1. धूसर पैटर्न पेश करना और दो कैमरों से छवियों को कैप्चर करना "SL3DS1.projcapt.py"

2. प्रत्येक कैमरे की 42 छवियों को संसाधित करना और पॉइंट कोड "SL3DS2.procimages.py" कैप्चर करना

2. "SL3DS3.adjustthresh.py" संसाधित किए जाने वाले क्षेत्रों के लिए मास्किंग का चयन करने के लिए थ्रेशोल्ड समायोजित करना

4. प्रत्येक कैमरे "SL3DS4.calcpxpy.py" में समान बिंदुओं को ढूंढें और सहेजें

5 बिंदु क्लाउड "SL3DS5.calcxyz.py" के X, Y और Z निर्देशांक की गणना करें

आउटपुट एक पीएलवाई फ़ाइल है जिसमें ऑब्जेक्ट सतह पर बिंदुओं की समन्वय और रंग जानकारी होती है। आप ऑटोडेस्क उत्पादों जैसे सीएडी सॉफ़्टवेयर या मेशलैब जैसे ओपन सोर्स सॉफ़्टवेयर के साथ पीएलवाई फाइलें खोल सकते हैं।

www.autodesk.com/products/personal-design-a…

इन पायथन कार्यक्रमों को चलाने के लिए Python 2.7, OPENCV मॉड्यूल और NUMPY को स्थापित किया जाना चाहिए। मैंने इस सॉफ़्टवेयर के लिए TKINTER में एक GUI भी विकसित किया है जिसे आप चरण छह में दो नमूना डेटा सेट के साथ पा सकते हैं। आप इस विषय पर निम्नलिखित वेबसाइटों पर अतिरिक्त जानकारी प्राप्त कर सकते हैं:

docs.opencv.org/modules/calib3d/doc/camera_…

docs.opencv.org/modules/highgui/doc/reading…

www.3dunderworld.org/software/

arxiv.org/pdf/1406.6595v1.pdf

mesh.brown.edu/byo3d/index.html

www.opticsinfobase.org/aop/fulltext.cfm?uri…

hera.inf-cv.uni-jena.de:6680/pdf/Brauer-Bur…

चरण 3: हार्डवेयर सेटअप

हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप
हार्डवेयर सेटअप

हार्डवेयर से मिलकर बनता है:

1. दो वेब कैमरा (लॉजिटेक C920C)

2. इनफोकस LP330 प्रोजेक्टर

3. कैमरा और प्रोजेक्टर स्टैंड (लेजर कटर से 3 मिमी एक्रिलिक प्लेट और 6 मिमी एचडीएफ लकड़ी के कट से बना)

दो कैमरों और प्रोजेक्टर को एक कंप्यूटर से दो वीडियो आउटपुट जैसे नोटबुक कंप्यूटर से जोड़ा जाना चाहिए और प्रोजेक्टर स्क्रीन को मुख्य विंडोज़ डेस्कटॉप के विस्तार के रूप में कॉन्फ़िगर किया जाना चाहिए। यहां आप कैमरे, प्रोजेक्टर और स्टैंड के चित्र देख सकते हैं। कट के लिए तैयार ड्राइंग फाइल एसवीजी प्रारूप में संलग्न है।

प्रोजेक्टर एक इनफोकस LP330 (मूल रिज़ॉल्यूशन 1024X768) निम्नलिखित विशेषताओं के साथ है। चमक: 650 लुमेन कलर लाइट आउटपुट: ** कंट्रास्ट (पूर्ण चालू / बंद): 400: 1 ऑटो आईरिस: कोई मूल संकल्प नहीं: 1024x768 पहलू अनुपात: 4: 3 (XGA) वीडियो मोड: ** डेटा मोड: अधिकतम 1024x768 अधिकतम शक्ति: 200 वाट वोल्टेज: 100V - 240V आकार (सेमी) (HxWxD): 6 x 22 x 25 वजन: 2.2 किलो लैंप जीवन (पूर्ण शक्ति): 1, 000 घंटे लैंप प्रकार: UHPLamp वाट क्षमता: 120 वाट लैंप मात्रा: 1 प्रदर्शन प्रकार: 2 सेमी डीएलपी (1) मानक ज़ूम लेंस: 1.25: 1 फोकस: मैनुअल थ्रो डिस्ट (एम): 1.5 - 30.5 छवि आकार (सेमी): 76 - 1971

इस वीडियो प्रोजेक्टर का उपयोग स्कैन की जाने वाली वस्तु पर संरचित प्रकाश पैटर्न को प्रोजेक्ट करने के लिए किया जाता है। संरचित पैटर्न में लंबवत और क्षैतिज सफेद प्रकाश स्ट्रिप्स होते हैं जो डेटा फ़ाइल पर सहेजे जाते हैं और वेबकैम उन विकृत स्ट्रिप्स को कैप्चर करते हैं।

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

इसके समर्थन से कोपेनहेगन फैबलैब में असेंबली और परीक्षण किए गए।

चरण 4: स्कैनर के साथ प्रयोग

स्कैनर के साथ प्रयोग
स्कैनर के साथ प्रयोग
स्कैनर के साथ प्रयोग
स्कैनर के साथ प्रयोग
स्कैनर के साथ प्रयोग
स्कैनर के साथ प्रयोग

प्रणाली के परीक्षण के लिए एक मछली के खिलौने का उपयोग किया गया था और आप कैप्चर की गई छवि को देख सकते हैं। सभी कैप्चर की गई फ़ाइल और आउटपुट पॉइंट क्लाउड भी संलग्न फ़ाइल में शामिल है, आप Meshlab के साथ PLY पॉइंट क्लाउड फ़ाइल खोल सकते हैं:

meshlab.sourceforge.net/

चरण 5: कुछ अन्य स्कैन परिणाम

कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम
कुछ अन्य स्कैन परिणाम

यहां आप कुछ मानव चेहरे के स्कैन और दीवार के 3डी स्कैन देख सकते हैं। प्रतिबिंब या गलत छवि परिणामों के कारण हमेशा कुछ बाहरी बिंदु होते हैं।

चरण 6: 3D स्कैनर GUI

3डी स्कैनर जीयूआई
3डी स्कैनर जीयूआई

इस चरण में 3डी स्कैन सॉफ्टवेयर के परीक्षण के लिए मैं दो डेटा सेट जोड़ता हूं एक मछली का स्कैन है और दूसरा इसकी सटीकता देखने के लिए सिर्फ एक समतल दीवार है। ज़िप फ़ाइलें खोलें और SL3DGUI.py चलाएँ। स्थापना जाँच चरण 2 के लिए सभी स्रोत कोड के लिए मेरे इनबॉक्स में संदेश भेजें।

3डी स्कैन भाग का उपयोग करने के लिए आपको दो कैमरे और प्रोजेक्टर स्थापित करने की आवश्यकता है लेकिन अन्य भागों के लिए बस बटन पर क्लिक करें। सैंपल डेटा के परीक्षण के लिए पहले प्रोसेस पर क्लिक करें, फिर थ्रेशोल्ड, स्टीरियो मैच और अंत में पॉइंट क्लाउड पर। बिंदु बादल देखने के लिए मेशलैब स्थापित करें।

meshlab.sourceforge.net/

सिफारिश की: