Πίνακας περιεχομένων:

DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python: 6 βήματα (με εικόνες)
DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python: 6 βήματα (με εικόνες)

Βίντεο: DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python: 6 βήματα (με εικόνες)

Βίντεο: DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python: 6 βήματα (με εικόνες)
Βίντεο: Handheld 3D Scanner 2024, Ιούλιος
Anonim
DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python
DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python
DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python
DIY 3D σαρωτής με βάση το δομημένο φως και το στερεοφωνικό όραμα σε γλώσσα Python

Αυτός ο τρισδιάστατος σαρωτής δημιουργήθηκε χρησιμοποιώντας συμβατικά αντικείμενα χαμηλού κόστους, όπως βιντεοπροβολέα και κάμερες. Ο τρισδιάστατος σαρωτής δομημένου φωτός είναι μια συσκευή τρισδιάστατης σάρωσης για τη μέτρηση του τρισδιάστατου σχήματος ενός αντικειμένου χρησιμοποιώντας σχέδια προβολής φωτός και σύστημα κάμερας. Το λογισμικό αναπτύχθηκε με βάση το δομημένο φως και τη στερεοφωνική όραση με γλώσσα python.

Η προβολή μιας στενής ζώνης φωτός σε μια επιφάνεια τρισδιάστατου σχήματος παράγει μια γραμμή φωτισμού που φαίνεται παραμορφωμένη από άλλες προοπτικές από αυτήν του προβολέα και μπορεί να χρησιμοποιηθεί για μια ακριβή γεωμετρική ανακατασκευή του σχήματος της επιφάνειας. Οριζόντιες και κάθετες ζώνες φωτός προβάλλονται στην επιφάνεια του αντικειμένου και στη συνέχεια καταγράφονται από δύο κάμερες.

Βήμα 1: Εισαγωγή

Εισαγωγή
Εισαγωγή
Εισαγωγή
Εισαγωγή

Οι αυτόματες συσκευές λήψης 3D (συχνά ονομάζονται σαρωτές 3D) επιτρέπουν τη δημιουργία μοντέλων υψηλής ακρίβειας πραγματικών τρισδιάστατων αντικειμένων με οικονομικό και οικονομικό τρόπο. Έχουμε πειραματιστεί με αυτήν την τεχνολογία στη σάρωση ενός παιχνιδιού για να αποδείξουμε την απόδοσή του. Συγκεκριμένες ανάγκες είναι: μεσαία-υψηλή ακρίβεια, εύκολη στη χρήση, προσιτό κόστος της συσκευής σάρωσης, απόκτηση αυτο-καταχωρημένων δεδομένων σχήματος και χρώματος και τέλος ασφάλεια λειτουργίας τόσο για τον χειριστή όσο και για τα σαρωμένα αντικείμενα. Σύμφωνα με αυτές τις απαιτήσεις, σχεδιάσαμε έναν τρισδιάστατο σαρωτή χαμηλού κόστους βασισμένο σε δομημένο φως που υιοθετεί μια ευέλικτη προσέγγιση χρωματιστών μοτίβων λωρίδων. Παρουσιάζουμε την αρχιτεκτονική του σαρωτή, τις τεχνολογίες λογισμικού που υιοθετήθηκαν και τα πρώτα αποτελέσματα της χρήσης του σε ένα έργο σχετικά με την τρισδιάστατη απόκτηση ενός παιχνιδιού.

Στο σχεδιασμό του σαρωτή χαμηλού κόστους, επιλέξαμε να εφαρμόσουμε τη μονάδα εκπομπής χρησιμοποιώντας βιντεοπροβολέα. Ο λόγος ήταν η ευελιξία αυτής της συσκευής (η οποία επιτρέπει τον πειραματισμό οποιουδήποτε τύπου φωτισμού) και η ευρεία διαθεσιμότητά της. Ο αισθητήρας μπορεί να είναι είτε μια προσαρμοσμένη συσκευή, μια τυπική ψηφιακή φωτογραφική μηχανή ή μια κάμερα web. πρέπει να υποστηρίζει υψηλής ποιότητας λήψη χρωμάτων (δηλαδή απόκτηση υψηλού δυναμικού εύρους) και πιθανώς με υψηλή ανάλυση.

Βήμα 2: Λογισμικό

Λογισμικό
Λογισμικό

Η γλώσσα Python χρησιμοποιήθηκε για προγραμματισμό για τρεις λόγους, έναν είναι εύκολο στην εκμάθηση και την εφαρμογή, δύο μπορούμε να χρησιμοποιήσουμε το OPENCV για ρουτίνες που σχετίζονται με την εικόνα και τρεις είναι φορητό μεταξύ διαφορετικών λειτουργικών συστημάτων, ώστε να μπορείτε να χρησιμοποιήσετε αυτό το πρόγραμμα σε παράθυρα, MAC και Linux. Μπορείτε επίσης να διαμορφώσετε το λογισμικό για χρήση με κάθε είδους κάμερα (κάμερες web, SLR ή βιομηχανικές κάμερες) ή προβολέα με εγγενή ανάλυση 1024X768. Είναι καλύτερα να χρησιμοποιείτε κάμερες με περισσότερες από δύο φορές ανάλυση. Προσωπικά δοκίμασα την απόδοση σε τρεις διαφορετικές διαμορφώσεις, η πρώτη ήταν με δύο παράλληλους κινηματογράφους κάμερας Microsoft και έναν μικρό φορητό βιντεοπροβολέα, η δεύτερη ήταν με δύο κάμερες κινηματογράφου lifecam που περιστρέφονταν 15 μοίρες η μία προς την άλλη και ο προβολέας Infocus, η τελευταία διαμόρφωση ήταν με κάμερες logitech και προβολέας Infocus. Για να καταγράψουμε το σύννεφο σημείου της επιφάνειας του αντικειμένου πρέπει να προχωρήσουμε σε πέντε βήματα:

1. Προβολή γκρι μοτίβων και λήψη φωτογραφιών από δύο κάμερες "SL3DS1.projcapt.py"

2. Επεξεργασία των 42 εικόνων κάθε κάμερας και κωδικοί σημείων λήψης "SL3DS2.procimages.py"

2. Προσαρμογή κατωφλίου για επιλογή κάλυψης για περιοχές προς επεξεργασία "SL3DS3.adjustthresh.py"

4. Βρείτε και αποθηκεύστε παρόμοια σημεία σε κάθε κάμερα "SL3DS4.calcpxpy.py"

5 Υπολογίστε τις συντεταγμένες Χ, Υ και Ζ του νέφους σημείου "SL3DS5.calcxyz.py"

Η έξοδος είναι ένα αρχείο PLY με πληροφορίες συντεταγμένων και χρωμάτων σημείων στην επιφάνεια του αντικειμένου. Μπορείτε να ανοίξετε αρχεία PLY με λογισμικό CAD όπως προϊόντα Autodesk ή λογισμικό ανοιχτού κώδικα όπως το Meshlab.

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

Θα πρέπει να εγκατασταθούν Python 2.7, μονάδα OPENCV και NUMPY για την εκτέλεση αυτών των προγραμμάτων Python. Έχω επίσης αναπτύξει ένα GUI για αυτό το λογισμικό στο TKINTER που μπορείτε να βρείτε στο βήμα έξι με δύο δείγματα συνόλων δεδομένων. Μπορείτε να βρείτε πρόσθετες πληροφορίες σχετικά με αυτό το θέμα στους ακόλουθους ιστότοπους:

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. Δύο κάμερες web (Logitech C920C)

2. Προβολέας Infocus LP330

3. Βάση κάμερας και προβολέα (κατασκευασμένο από ακρυλικές πλάκες 3 mm και ξύλο HDF 6 mm κομμένο με κόφτη λέιζερ)

Δύο κάμερες και βιντεοπροβολέας πρέπει να είναι συνδεδεμένοι σε υπολογιστή με δύο έξοδο βίντεο όπως ένας φορητός υπολογιστής και η οθόνη του βιντεοπροβολέα πρέπει να διαμορφώνεται ως επέκταση στην κύρια επιφάνεια εργασίας των Windows. Εδώ μπορείτε να δείτε εικόνες από κάμερες, προβολέα και βάση. Το αρχείο σχεδίασης έτοιμο για κοπή επισυνάπτεται σε μορφή SVG.

Ο βιντεοπροβολέας είναι ένας Infocus LP330 (εγγενής ανάλυση 1024X768) με τις ακόλουθες προδιαγραφές. Φωτεινότητα: 650 Lumens Έγχρωμη έξοδος φωτός: ** Αντίθεση (Πλήρης ενεργοποίηση/απενεργοποίηση): 400: 1 Αυτόματη ίριδα: Χωρίς εγγενή ανάλυση: 1024x768 Διαστάσεις: 4: 3 (XGA) Λειτουργίες βίντεο: ** Λειτουργίες δεδομένων: MAX 1024x768 Μέγιστη ισχύς: 200 Watts Τάση: 100V - 240V Μέγεθος (cm) (HxWxD): 6 x 22 x 25 Βάρος: 2,2 kg Διάρκεια ζωής λαμπτήρα (Πλήρης ισχύς): 1, 000 ώρες Τύπος λαμπτήρα: UHPLamp Wattage: 120 Watt Ποσότητα λαμπτήρα: 1 Τύπος οθόνης: 2 cm DLP (1) Τυπικός φακός ζουμ: 1,25: 1 Εστίαση: Χειροκίνητη εκτόξευση (m): 1,5 - 30,5 Μέγεθος εικόνας (cm): 76 - 1971

Αυτός ο βιντεοπροβολέας χρησιμοποιείται για την προβολή δομημένων μοτίβων φωτός στο αντικείμενο που θα σαρωθεί. Το δομημένο μοτίβο αποτελείται από κάθετες και οριζόντιες λωρίδες λευκού φωτός που αποθηκεύονται σε ένα αρχείο δεδομένων και οι κάμερες καταγράφουν αυτές τις παραμορφωμένες λωρίδες.

Χρησιμοποιήστε κατά προτίμηση τις κάμερες που είναι ελεγχόμενες από το λογισμικό, επειδή πρέπει να προσαρμόσετε την εστίαση, τη φωτεινότητα, την ανάλυση και την ποιότητα της εικόνας. Είναι δυνατή η χρήση φωτογραφικών μηχανών DSLR με SDK που παρέχονται από κάθε μάρκα.

Η συναρμολόγηση και οι δοκιμές πραγματοποιήθηκαν στο Copenhagen Fablab με την υποστήριξή του.

Βήμα 4: Πειραματισμός με σαρωτή

Πειραματισμός με σαρωτή
Πειραματισμός με σαρωτή
Πειραματισμός με σαρωτή
Πειραματισμός με σαρωτή
Πειραματισμός με σαρωτή
Πειραματισμός με σαρωτή

Για τη δοκιμή του συστήματος χρησιμοποιήθηκε ένα παιχνίδι ψαριών και μπορείτε να δείτε τη λήψη της εικόνας. Όλα τα καταγεγραμμένα αρχεία και το σύννεφο σημείου εξόδου περιλαμβάνονται στο συνημμένο αρχείο, μπορείτε να ανοίξετε το αρχείο cloud σημείου PLY με το Meshlab:

meshlab.sourceforge.net/

Βήμα 5: Ορισμένα άλλα αποτελέσματα σάρωσης

Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης
Ορισμένα άλλα αποτελέσματα σάρωσης

Εδώ μπορείτε να δείτε μερικές σαρώσεις ανθρώπινου προσώπου και τρισδιάστατη σάρωση τοίχου. Πάντα υπάρχουν ορισμένα απομακρυσμένα σημεία λόγω αντανακλάσεων ή ανακριβών αποτελεσμάτων εικόνας.

Βήμα 6: GUI σαρωτή 3D

3D GUI σαρωτή
3D GUI σαρωτή

Για τη δοκιμή του λογισμικού τρισδιάστατης σάρωσης σε αυτό το βήμα, προσθέτω δύο σύνολα δεδομένων, το ένα είναι σάρωση ψαριού και το άλλο είναι απλώς ένας τοίχος επίπεδου για να δείτε την ακρίβειά του. Ανοίξτε τα αρχεία ZIP και εκτελέστε το SL3DGUI.py. Για εγκατάσταση ελέγξτε το βήμα 2. Στείλτε μήνυμα στα εισερχόμενά μου εδώ για όλους τους πηγαίους κωδικούς.

Για τη χρήση τρισδιάστατου τμήματος σάρωσης πρέπει να εγκαταστήσετε δύο κάμερες και προβολέα, αλλά για άλλα μέρη απλά κάντε κλικ στο κουμπί. Για τον έλεγχο των δειγμάτων δεδομένων, πρώτα κάντε κλικ στη διαδικασία, στη συνέχεια, στο κατώφλι, στο στερεοφωνικό ταίριασμα και τέλος στο cloud cloud. Εγκαταστήστε το Meshlab για να δείτε το σύννεφο σημείου.

meshlab.sourceforge.net/

Συνιστάται: