Η Texas Instruments AM6x αναπτύσσει πολλαπλές κάμερες
Προδιαγραφές
- Όνομα προϊόντος: Οικογένεια συσκευών AM6x
- Υποστηριζόμενος τύπος κάμερας: AM62A (Με ή χωρίς ενσωματωμένο ISP), AM62P (Με ενσωματωμένο ISP)
- Δεδομένα εξόδου κάμερας: AM62A (Raw/YUV/RGB), AM62P (YUV/RGB)
- ISP HWA: AM62A (Ναι), AM62P (Όχι)
- Βαθιά Μάθηση HWA: AM62A (Ναι), AM62P (Όχι)
- Τρισδιάστατα γραφικά HWA: AM3A (Όχι), AM62P (Ναι)
Εισαγωγή στις εφαρμογές πολλαπλών καμερών στο AM6x:
- Οι ενσωματωμένες κάμερες διαδραματίζουν κρίσιμο ρόλο στα σύγχρονα συστήματα όρασης.
- Η χρήση πολλαπλών καμερών σε ένα σύστημα ενισχύει τις δυνατότητες και επιτρέπει εργασίες που δεν ήταν εφικτές με μία μόνο κάμερα.
Εφαρμογές που χρησιμοποιούν πολλαπλές κάμερες:
- Επιτήρηση Ασφαλείας: Βελτιώνει την κάλυψη επιτήρησης, την παρακολούθηση αντικειμένων και την ακρίβεια αναγνώρισης.
- Περιβάλλω View: Επιτρέπει τη στερεοσκοπική όραση για εργασίες όπως η ανίχνευση εμποδίων και ο χειρισμός αντικειμένων.
- Σύστημα καταγραφής καμπίνας και κατόπτρου κάμερας: Παρέχει εκτεταμένη κάλυψη και εξαλείφει τα τυφλά σημεία.
- Ιατρική Απεικόνιση: Προσφέρει βελτιωμένη ακρίβεια στην χειρουργική πλοήγηση και την ενδοσκόπηση.
- Drones και Αεροφωτογραφία: Λήψη εικόνων υψηλής ανάλυσης από διαφορετικές γωνίες για διάφορες εφαρμογές.
Σύνδεση πολλαπλών καμερών CSI-2 στο SoC:
Για να συνδέσετε πολλές κάμερες CSI-2 στο SoC, ακολουθήστε τις οδηγίες που παρέχονται στο εγχειρίδιο χρήστη. Βεβαιωθείτε για την σωστή ευθυγράμμιση και σύνδεση κάθε κάμερας στις καθορισμένες θύρες του SoC.
Σημείωση Αίτησης
Ανάπτυξη εφαρμογών πολλαπλών καμερών στο AM6x
Jianzhong Xu, Qutaiba Saleh
ΠΕΡΙΛΗΨΗ
Αυτή η αναφορά περιγράφει την ανάπτυξη εφαρμογών χρησιμοποιώντας πολλαπλές κάμερες CSI-2 στην οικογένεια συσκευών AM6x. Παρουσιάζεται ένας σχεδιασμός αναφοράς ανίχνευσης αντικειμένων με βαθιά μάθηση σε 4 κάμερες στο SoC AM62A με ανάλυση απόδοσης. Οι γενικές αρχές του σχεδιασμού ισχύουν για άλλα SoC με διεπαφή CSI-2, όπως τα AM62x και AM62P.
Εισαγωγή
Οι ενσωματωμένες κάμερες παίζουν σημαντικό ρόλο στα σύγχρονα συστήματα όρασης. Η χρήση πολλαπλών καμερών σε ένα σύστημα διευρύνει τις δυνατότητες αυτών των συστημάτων και επιτρέπει δυνατότητες που δεν είναι δυνατές με μία μόνο κάμερα. Παρακάτω παρατίθενται ορισμένες παραδείγματος χάριν...ampΛιγότερες εφαρμογές που χρησιμοποιούν πολλαπλές ενσωματωμένες κάμερες:
- Επιτήρηση Ασφαλείας: Πολλαπλές κάμερες τοποθετημένες στρατηγικά παρέχουν ολοκληρωμένη κάλυψη επιτήρησης. Επιτρέπουν πανοραμική θέαση. views, μειώνουν τα τυφλά σημεία και ενισχύουν την ακρίβεια της παρακολούθησης και αναγνώρισης αντικειμένων, βελτιώνοντας τα συνολικά μέτρα ασφαλείας.
- Περιβάλλω ViewΧρησιμοποιούνται πολλαπλές κάμερες για τη δημιουργία μιας στερεοσκοπικής όρασης, επιτρέποντας την τρισδιάστατη απεικόνιση πληροφοριών και την εκτίμηση του βάθους. Αυτό είναι κρίσιμο για εργασίες όπως η ανίχνευση εμποδίων σε αυτόνομα οχήματα, ο ακριβής χειρισμός αντικειμένων στη ρομποτική και ο βελτιωμένος ρεαλισμός των εμπειριών επαυξημένης πραγματικότητας.
- Σύστημα καταγραφής καμπίνας και κατόπτρου με κάμερα: Ένα σύστημα καταγραφής καμπίνας αυτοκινήτου με πολλαπλές κάμερες μπορεί να παρέχει μεγαλύτερη κάλυψη χρησιμοποιώντας έναν μόνο επεξεργαστή. Ομοίως, ένα σύστημα κατόπτρου με κάμερα με δύο ή περισσότερες κάμερες μπορεί να επεκτείνει το πεδίο δράσης του οδηγού. view και εξαλείφουν τα τυφλά σημεία από όλες τις πλευρές ενός αυτοκινήτου.
- Ιατρική Απεικόνιση: Πολλαπλές κάμερες μπορούν να χρησιμοποιηθούν στην ιατρική απεικόνιση για εργασίες όπως η χειρουργική πλοήγηση, παρέχοντας στους χειρουργούς πολλαπλές προοπτικές για βελτιωμένη ακρίβεια. Στην ενδοσκόπηση, πολλαπλές κάμερες επιτρέπουν την ενδελεχή εξέταση των εσωτερικών οργάνων.
- Drones και Αεροφωτογραφία: Τα drones συχνά είναι εξοπλισμένα με πολλαπλές κάμερες για τη λήψη εικόνων ή βίντεο υψηλής ανάλυσης από διαφορετικές γωνίες. Αυτό είναι χρήσιμο σε εφαρμογές όπως η αεροφωτογραφία, η παρακολούθηση της γεωργίας και η τοπογραφία γης.
- Με την πρόοδο των μικροεπεξεργαστών, πολλαπλές κάμερες μπορούν να ενσωματωθούν σε ένα ενιαίο System-on-Chip.
(SoC) για την παροχή συμπαγών και αποδοτικών λύσεων. Το SoC AM62Ax, με επεξεργασία βίντεο/εικόνας υψηλής απόδοσης και επιτάχυνση βαθιάς μάθησης, είναι μια ιδανική συσκευή για τις προαναφερθείσες περιπτώσεις χρήσης. Μια άλλη συσκευή AM6x, η AM62P, έχει κατασκευαστεί για εφαρμογές ενσωματωμένης τρισδιάστατης απεικόνισης υψηλής απόδοσης. Εξοπλισμένη με επιτάχυνση τρισδιάστατων γραφικών, η AM3P μπορεί εύκολα να ενώσει εικόνες από πολλαπλές κάμερες και να παράγει μια πανοραμική λήψη υψηλής ανάλυσης. viewΤα καινοτόμα χαρακτηριστικά του SoC AM62A/AM62P έχουν παρουσιαστεί σε διάφορες δημοσιεύσεις, όπως [4], [5], [6], κ.λπ. Αυτή η σημείωση εφαρμογής δεν θα επαναλάβει αυτές τις περιγραφές χαρακτηριστικών, αλλά θα επικεντρωθεί στην ενσωμάτωση πολλαπλών καμερών CSI-2 σε ενσωματωμένες εφαρμογές όρασης στο AM62A/AM62P. - Ο Πίνακας 1-1 δείχνει τις κύριες διαφορές μεταξύ των AM62A και AM62P όσον αφορά την επεξεργασία εικόνας.
Πίνακας 1-1. Διαφορές μεταξύ AM62A και AM62P στην επεξεργασία εικόνας
SoC | AM62A | AM62P |
Υποστηριζόμενος τύπος κάμερας | Με ή χωρίς ενσωματωμένο ISP | Με ενσωματωμένο ISP |
Δεδομένα εξόδου κάμερας | Ακατέργαστο/YUV/RGB | YUV/RGB |
ISP HWA | Ναί | Οχι |
Βαθιά Μάθηση HWA | Ναί | Οχι |
Τρισδιάστατα γραφικά HWA | Οχι | Ναί |
Σύνδεση πολλαπλών καμερών CSI-2 στο SoC
Το Υποσύστημα Κάμερας στο SoC AM6x περιέχει τα ακόλουθα στοιχεία, όπως φαίνεται στο Σχήμα 2-1:
- Δέκτης MIPI D-PHY: λαμβάνει ροές βίντεο από εξωτερικές κάμερες, υποστηρίζοντας έως και 1.5 Gbps ανά λωρίδα δεδομένων για 4 λωρίδες.
- Δέκτης (RX) CSI-2: λαμβάνει ροές βίντεο από τον δέκτη D-PHY και είτε στέλνει απευθείας τις ροές στον πάροχο υπηρεσιών Διαδικτύου (ISP) είτε μεταδίδει τα δεδομένα στη μνήμη DDR. Αυτή η μονάδα υποστηρίζει έως και 16 εικονικά κανάλια.
- SHIM: ένα περιτύλιγμα DMA που επιτρέπει την αποστολή των καταγεγραμμένων ροών στη μνήμη μέσω DMA. Πολλαπλά περιβάλλοντα DMA μπορούν να δημιουργηθούν από αυτό το περιτύλιγμα, με κάθε περιβάλλον να αντιστοιχεί σε ένα εικονικό κανάλι του δέκτη CSI-2.
Πολλαπλές κάμερες μπορούν να υποστηριχθούν στο AM6x μέσω της χρήσης εικονικών καναλιών του CSI-2 RX, παρόλο που υπάρχει μόνο μία διεπαφή CSI-2 RX στο SoC. Απαιτείται ένα εξωτερικό στοιχείο συγκέντρωσης CSI-2 για τον συνδυασμό πολλαπλών ροών κάμερας και την αποστολή τους σε ένα μόνο SoC. Μπορούν να χρησιμοποιηθούν δύο τύποι λύσεων συγκέντρωσης CSI-2, οι οποίοι περιγράφονται στις επόμενες ενότητες.
Συσσωρευτής CSI-2 χρησιμοποιώντας SerDes
Ένας τρόπος συνδυασμού πολλαπλών ροών καμερών είναι η χρήση μιας λύσης σειριοποίησης και αποσειριοποίησης (SerDes). Τα δεδομένα CSI-2 από κάθε κάμερα μετατρέπονται από έναν σειριοποιητή και μεταφέρονται μέσω ενός καλωδίου. Ο αποσειριοποιητής λαμβάνει όλα τα σειριοποιημένα δεδομένα που μεταφέρονται από τα καλώδια (ένα καλώδιο ανά κάμερα), μετατρέπει τις ροές πίσω σε δεδομένα CSI-2 και στη συνέχεια στέλνει μια διαστρωματωμένη ροή CSI-2 στη μοναδική διεπαφή CSI-2 RX στο SoC. Κάθε ροή κάμερας αναγνωρίζεται από ένα μοναδικό εικονικό κανάλι. Αυτή η λύση συγκέντρωσης προσφέρει το πρόσθετο πλεονέκτημα ότι επιτρέπει σύνδεση μεγάλων αποστάσεων έως και 15 μέτρα από τις κάμερες στο SoC.
Οι σειριοποιητές και οι αποσειριοποιητές FPD-Link ή V3-Link (SerDes), που υποστηρίζονται στο AM6x Linux SDK, είναι οι πιο δημοφιλείς τεχνολογίες για αυτόν τον τύπο λύσης συγκέντρωσης CSI-2. Τόσο οι αποσειριοποιητές FPD-Link όσο και οι V3-Link διαθέτουν κανάλια επιστροφής που μπορούν να χρησιμοποιηθούν για την αποστολή σημάτων συγχρονισμού καρέ για τον συγχρονισμό όλων των καμερών, όπως εξηγείται στο [7].
Το Σχήμα 2-2 δείχνει ένα π.χampτρόπος χρήσης του SerDes για τη σύνδεση πολλαπλών καμερών σε ένα μόνο SoC AM6x.
Ένας πρώηνampΈνα μικρό μέρος αυτής της λύσης συγκέντρωσης μπορεί να βρεθεί στο κιτ λύσης κάμερας Arducam V3Link. Αυτό το κιτ διαθέτει έναν κόμβο αποσειριοποίησης που συγκεντρώνει 4 ροές κάμερας CSI-2, καθώς και 4 ζεύγη σειριοποιητών V3link και κάμερες IMX219, συμπεριλαμβανομένων ομοαξονικών καλωδίων FAKRA και καλωδίων FPC 22 ακίδων. Ο σχεδιασμός αναφοράς που θα συζητηθεί αργότερα βασίζεται σε αυτό το κιτ.
Συσσωρευτής CSI-2 χωρίς χρήση SerDes
Αυτός ο τύπος συσσωρευτή μπορεί να διασυνδεθεί απευθείας με πολλαπλές κάμερες MIPI CSI-2 και να συγκεντρώσει τα δεδομένα από όλες τις κάμερες σε μία μόνο ροή εξόδου CSI-2.
Το Σχήμα 2-3 δείχνει ένα π.χampενός τέτοιου συστήματος. Αυτός ο τύπος λύσης συγκέντρωσης δεν χρησιμοποιεί κανέναν σειριοποιητή/αποσειριοποιητή, αλλά περιορίζεται από τη μέγιστη απόσταση μεταφοράς δεδομένων CSI-2, η οποία είναι έως 30 cm. Το AM6x Linux SDK δεν υποστηρίζει αυτόν τον τύπο σειριοποιητή CSI-2.
Ενεργοποίηση πολλαπλών καμερών στο λογισμικό
Αρχιτεκτονική λογισμικού υποσυστήματος κάμερας
Το Σχήμα 3-1 δείχνει ένα διάγραμμα μπλοκ υψηλού επιπέδου του λογισμικού συστήματος λήψης κάμερας στο AM62A/AM62P Linux SDK, που αντιστοιχεί στο σύστημα υλικού στο Σχήμα 2-2.
- Αυτή η αρχιτεκτονική λογισμικού επιτρέπει στο SoC να λαμβάνει πολλαπλές ροές καμερών με τη χρήση του SerDes, όπως φαίνεται στο Σχήμα 2-2. Το FPD-Link/V3-Link SerDes εκχωρεί μια μοναδική διεύθυνση I2C και ένα εικονικό κανάλι σε κάθε κάμερα. Θα πρέπει να δημιουργηθεί μια μοναδική επικάλυψη δέντρου συσκευών με τη μοναδική διεύθυνση I2C για κάθε κάμερα. Το πρόγραμμα οδήγησης CSI-2 RX αναγνωρίζει κάθε κάμερα χρησιμοποιώντας τον μοναδικό αριθμό εικονικού καναλιού και δημιουργεί ένα περιβάλλον DMA ανά ροή κάμερας. Δημιουργείται ένας κόμβος βίντεο για κάθε περιβάλλον DMA. Τα δεδομένα από κάθε κάμερα λαμβάνονται στη συνέχεια και αποθηκεύονται χρησιμοποιώντας DMA στη μνήμη ανάλογα. Οι εφαρμογές χώρου χρήστη χρησιμοποιούν τους κόμβους βίντεο που αντιστοιχούν σε κάθε κάμερα για πρόσβαση στα δεδομένα της κάμερας. Π.χ.ampΛεπτομέρειες σχετικά με τη χρήση αυτής της αρχιτεκτονικής λογισμικού δίνονται στο Κεφάλαιο 4 – Σχεδιασμός Αναφοράς.
- Οποιοδήποτε συγκεκριμένο πρόγραμμα οδήγησης αισθητήρα που είναι συμβατό με το πλαίσιο V4L2 μπορεί να συνδεθεί και να λειτουργήσει σε αυτήν την αρχιτεκτονική. Ανατρέξτε στο [8] σχετικά με τον τρόπο ενσωμάτωσης ενός νέου προγράμματος οδήγησης αισθητήρα στο SDK του Linux.
Αρχιτεκτονική Λογισμικού Διοχέτευσης Εικόνας
- Το AM6x Linux SDK παρέχει το πλαίσιο GStreamer (GST), το οποίο μπορεί να χρησιμοποιηθεί στον χώρο των υπηρεσιών για την ενσωμάτωση των στοιχείων επεξεργασίας εικόνας για διάφορες εφαρμογές. Οι Επιταχυντές Υλικού (HWA) στο SoC, όπως ο Επιταχυντής Προεπεξεργασίας Οπτικής (VPAC) ή ISP, ο κωδικοποιητής/αποκωδικοποιητής βίντεο και η μηχανή υπολογιστικής βαθιάς μάθησης, είναι προσβάσιμοι μέσω του GST. pluginsΤο ίδιο το VPAC (ISP) διαθέτει πολλαπλά μπλοκ, συμπεριλαμβανομένου του Υποσυστήματος Απεικόνισης Όρασης (VISS), της Διόρθωσης Παραμόρφωσης Φακού (LDC) και του Πολυβαθμωτού (MSC), καθένα από τα οποία αντιστοιχεί σε ένα πρόσθετο GST.
- Το Σχήμα 3-2 δείχνει το διάγραμμα μπλοκ ενός τυπικού αγωγού εικόνας από την κάμερα στην κωδικοποίηση ή σε βάθος.
εφαρμογές εκμάθησης στο AM62A. Για περισσότερες λεπτομέρειες σχετικά με τη ροή δεδομένων από άκρο σε άκρο, ανατρέξτε στην τεκμηρίωση του EdgeAI SDK.
Για το AM62P, η διαδικασία δημιουργίας εικόνων είναι απλούστερη επειδή δεν υπάρχει ISP στο AM62P.
Με έναν κόμβο βίντεο που δημιουργείται για κάθε μία από τις κάμερες, ο αγωγός εικόνας που βασίζεται στο GStreamer επιτρέπει την ταυτόχρονη επεξεργασία πολλαπλών εισόδων κάμερας (συνδεδεμένων μέσω της ίδιας διεπαφής CSI-2 RX). Στο επόμενο κεφάλαιο δίνεται ένα σχέδιο αναφοράς που χρησιμοποιεί το GStreamer για εφαρμογές πολλαπλών καμερών.
Σχεδιασμός Αναφοράς
Αυτό το κεφάλαιο παρουσιάζει ένα σχέδιο αναφοράς για την εκτέλεση εφαρμογών πολλαπλών καμερών στο AM62A EVM, χρησιμοποιώντας το Arducam V3Link Camera Solution Kit για τη σύνδεση 4 καμερών CSI-2 στο AM62A και την εκτέλεση ανίχνευσης αντικειμένων και για τις 4 κάμερες.
Υποστηριζόμενες κάμερες
Το κιτ Arducam V3Link λειτουργεί τόσο με κάμερες που βασίζονται σε FPD-Link/V3-Link όσο και με κάμερες CSI-2 συμβατές με Raspberry Pi. Έχουν δοκιμαστεί οι ακόλουθες κάμερες:
- D3 Μηχανική D3RCM-IMX390-953
- Leopard Imaging LI-OV2312-FPDLINKIII-110H
- Κάμερες IMX219 στο κιτ λύσεων κάμερας Arducam V3Link
Ρύθμιση τεσσάρων καμερών IMX219
Ακολουθήστε τις οδηγίες που παρέχονται στον Οδηγό Γρήγορης Έναρξης του Κιτ Εκκίνησης AM62A EVM για να ρυθμίσετε το SK-AM62A-LP EVM (AM62A SK) και τον Οδηγό Γρήγορης Έναρξης της Λύσης Κάμερας ArduCam V3Link για να συνδέσετε τις κάμερες στο AM62A SK μέσω του κιτ V3Link. Βεβαιωθείτε ότι οι ακίδες στα εύκαμπτα καλώδια, τις κάμερες, την πλακέτα V3Link και το AM62A SK είναι σωστά ευθυγραμμισμένες.
Το Σχήμα 4-1 δείχνει τη διάταξη που χρησιμοποιήθηκε για τον σχεδιασμό αναφοράς σε αυτήν την αναφορά. Τα κύρια στοιχεία της διάταξης περιλαμβάνουν:
- 1X πλακέτα EVM SK-AM62A-LP
- 1X πλακέτα προσαρμογέα Arducam V3Link d-ch
- Καλώδιο FPC που συνδέει το Arducam V3Link με το SK-AM62A
- 4X προσαρμογείς κάμερας V3Link (σειριοποιητές)
- 4X ομοαξονικά καλώδια RF για τη σύνδεση σειριοποιητών V3Link στο κιτ V3Link d-ch
- 4X κάμερες IMX219
- 4X καλώδια CSI-2 22 ακίδων για σύνδεση καμερών σε σειριοποιητές
- Καλώδια: Καλώδιο HDMI, USB-C για τροφοδοσία SK-AM62A-LP και τροφοδοσία 12V για το κιτ V3Link d-ch)
- Άλλα εξαρτήματα που δεν εμφανίζονται στο Σχήμα 4-1: κάρτα micro-SD, καλώδιο micro-USB για πρόσβαση στο SK-AM62A-LP και Ethernet για streaming
Ρύθμιση παραμέτρων καμερών και διεπαφής λήψης CSI-2
Εγκαταστήστε το λογισμικό σύμφωνα με τις οδηγίες που παρέχονται στον Οδηγό Γρήγορης Έναρξης του Arducam V3Link. Αφού εκτελέσετε το σενάριο εγκατάστασης της κάμερας, το setup-imx219.sh, η μορφή της κάμερας, η μορφή διεπαφής CSI-2 RX και οι διαδρομές από κάθε κάμερα στον αντίστοιχο κόμβο βίντεο θα ρυθμιστούν σωστά. Δημιουργούνται τέσσερις κόμβοι βίντεο για τις τέσσερις κάμερες IMX219. Η εντολή "v4l2-ctl –list-devices" εμφανίζει όλες τις συσκευές βίντεο V4L2, όπως φαίνεται παρακάτω:
Υπάρχουν 6 κόμβοι βίντεο και 1 κόμβος πολυμέσων στο tiscsi2rx. Κάθε κόμβος βίντεο αντιστοιχεί σε ένα περιβάλλον DMA που έχει εκχωρηθεί από το πρόγραμμα οδήγησης CSI2 RX. Από τους 6 κόμβους βίντεο, οι 4 χρησιμοποιούνται για τις 4 κάμερες IMX219, όπως φαίνεται στην τοπολογία αγωγού πολυμέσων παρακάτω:
Όπως φαίνεται παραπάνω, η οντότητα πολυμέσων 30102000.ticsi2rx έχει 6 source pads, αλλά χρησιμοποιούνται μόνο τα πρώτα 4, το καθένα για ένα IMX219. Η τοπολογία του media pipe μπορεί επίσης να απεικονιστεί γραφικά. Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε μια τελεία file:
Στη συνέχεια, εκτελέστε την παρακάτω εντολή σε έναν κεντρικό υπολογιστή Linux για να δημιουργήσετε ένα PNG file:
Το Σχήμα 4-2 είναι μια εικόνα που δημιουργήθηκε χρησιμοποιώντας τις εντολές που δόθηκαν παραπάνω. Τα στοιχεία στην αρχιτεκτονική λογισμικού του Σχήματος 3-1 μπορούν να βρεθούν σε αυτό το γράφημα.
Ροή από τέσσερις κάμερες
Με σωστή ρύθμιση τόσο του υλικού όσο και του λογισμικού, οι εφαρμογές πολλαπλών καμερών μπορούν να εκτελούνται από τον χώρο χρήστη. Για την AM62A, ο ISP πρέπει να είναι συντονισμένος για να παράγει καλή ποιότητα εικόνας. Ανατρέξτε στον Οδηγό Συντονισμού ISP AM6xA για τον τρόπο εκτέλεσης συντονισμού ISP. Οι ακόλουθες ενότητες παρουσιάζουν π.χ.ampροή δεδομένων κάμερας σε μια οθόνη, ροή δεδομένων κάμερας σε ένα δίκτυο και αποθήκευση των δεδομένων κάμερας σε files.
Ροή δεδομένων κάμερας για προβολή
Μια βασική εφαρμογή αυτού του συστήματος πολλαπλών καμερών είναι η ροή βίντεο από όλες τις κάμερες σε μια οθόνη συνδεδεμένη στο ίδιο SoC. Το παρακάτω είναι ένα GStreamer pipeline exampλίγο ροής τεσσάρων IMX219 σε μια οθόνη (οι αριθμοί κόμβων βίντεο και οι αριθμοί v4l-subdev που βρίσκονται σε εξέλιξη πιθανότατα θα αλλάξουν από επανεκκίνηση σε επανεκκίνηση).
Ροή δεδομένων κάμερας μέσω Ethernet
Αντί της ροής σε μια οθόνη συνδεδεμένη στο ίδιο SoC, τα δεδομένα της κάμερας μπορούν επίσης να μεταδοθούν μέσω Ethernet. Η πλευρά λήψης μπορεί να είναι είτε ένας άλλος επεξεργαστής AM62A/AM62P είτε ένας κεντρικός υπολογιστής. Το ακόλουθο είναι ένα παράδειγμαampτρόπος ροής δεδομένων κάμερας μέσω Ethernet (χρησιμοποιώντας δύο κάμερες για απλότητα) (σημειώστε το πρόσθετο κωδικοποιητή που χρησιμοποιείται στη διαδικασία):
Το παρακάτω είναι ένα πρώηνampτρόπος λήψης δεδομένων κάμερας και ροής σε οθόνη σε άλλον επεξεργαστή AM62A/AM62P:
Αποθήκευση δεδομένων κάμερας σε Files
Αντί για ροή σε μια οθόνη ή μέσω δικτύου, τα δεδομένα της κάμερας μπορούν να αποθηκευτούν τοπικά fileσ. Ο παρακάτω αγωγός αποθηκεύει τα δεδομένα κάθε κάμερας σε ένα file (χρησιμοποιώντας δύο κάμερες ως πρώηνampλέ για απλότητα).
Συμπερασματολογία Βαθιάς Μάθησης με Πολλαπλές Κάμερες
Το AM62A είναι εξοπλισμένο με έναν επιταχυντή βαθιάς μάθησης (C7x-MMA) με έως και δύο TOPS, τα οποία είναι ικανά να εκτελούν διάφορους τύπους μοντέλων βαθιάς μάθησης για ταξινόμηση, ανίχνευση αντικειμένων, σημασιολογική τμηματοποίηση και πολλά άλλα. Αυτή η ενότητα δείχνει πώς το AM62A μπορεί να εκτελεί ταυτόχρονα τέσσερα μοντέλα βαθιάς μάθησης σε τέσσερις διαφορετικές τροφοδοσίες κάμερας.
Επιλογή μοντέλου
Το EdgeAI-ModelZoo της TI παρέχει εκατοντάδες μοντέλα τελευταίας τεχνολογίας, τα οποία μετατρέπονται/εξάγονται από τα αρχικά τους πλαίσια εκπαίδευσης σε μια φιλική προς τα ενσωματωμένα μοντέλα, ώστε να μπορούν να μεταφερθούν στον επιταχυντή βαθιάς μάθησης C7x-MMA. Ο αναλυτής μοντέλων Edge AI Studio που βασίζεται στο cloud παρέχει ένα εύχρηστο εργαλείο «Επιλογής Μοντέλου». Ενημερώνεται δυναμικά για να συμπεριλάβει όλα τα μοντέλα που υποστηρίζονται στο TI EdgeAI-ModelZoo. Το εργαλείο δεν απαιτεί προηγούμενη εμπειρία και παρέχει ένα εύχρηστο περιβάλλον εργασίας για την εισαγωγή των χαρακτηριστικών που απαιτούνται στο επιθυμητό μοντέλο.
Το μοντέλο TFL-OD-2000-ssd-mobV1-coco-mlperf επιλέχθηκε για αυτό το πείραμα βαθιάς μάθησης πολλαπλών καμερών. Αυτό το μοντέλο ανίχνευσης πολλαπλών αντικειμένων αναπτύσσεται στο πλαίσιο TensorFlow με ανάλυση εισόδου 300×300. Ο Πίνακας 4-1 δείχνει τα σημαντικά χαρακτηριστικά αυτού του μοντέλου όταν εκπαιδεύεται στο σύνολο δεδομένων cCOCO με περίπου 80 διαφορετικές κλάσεις.
Πίνακας 4-1. Κύρια χαρακτηριστικά του μοντέλου TFL-OD-2000-ssd-mobV1-coco-mlperf.
Μοντέλο | Εργο | Ψήφισμα | FPS | mAP 50%
Ακρίβεια στο COCO |
Λανθάνων χρόνος/πλαίσιο (ms) | DDR BW
Χρήση (MB/Πλαίσιο) |
TFL-OD-2000-ssd-
mobV1-coco-mlperf |
Ανίχνευση πολλαπλών αντικειμένων | 300×300 | ~ 152 | 15.9 | 6.5 | 18.839 |
Ρύθμιση αγωγού
Το Σχήμα 4-3 δείχνει τον αγωγό βαθιάς μάθησης GStreamer 4 καμερών. Το TI παρέχει μια σουίτα GStreamer plugins που επιτρέπουν την εκφόρτωση μέρους της επεξεργασίας πολυμέσων και της συμπερασματολογίας βαθιάς μάθησης στους επιταχυντές υλικού. Μερικοί π.χ.ampλιγότερα από αυτά plugins περιλαμβάνουν τα tiovxisp, tiovxmultiscaler, tiovxmosaic και tidlinferer. Η αγωγός στο Σχήμα 4-3 περιλαμβάνει όλα τα απαιτούμενα plugins για έναν αγωγό GStreamer πολλαπλών διαδρομών για εισόδους 4 καμερών, καθεμία με προεπεξεργασία πολυμέσων, συμπερασματολογία βαθιάς μάθησης και μεταεπεξεργασία. Το διπλότυπο plugins για κάθε μία από τις διαδρομές της κάμερας στοιβάζονται στο γράφημα για ευκολότερη επίδειξη.
Οι διαθέσιμοι πόροι υλικού κατανέμονται ομοιόμορφα μεταξύ των τεσσάρων διαδρομών της κάμερας. Για παράδειγμα, το AM62A περιέχει δύο πολυδιαβαθμιστές εικόνας: MSC0 και MSC1. Ο αγωγός αφιερώνει ρητά το MSC0 στην επεξεργασία των διαδρομών της κάμερας 1 και της κάμερας 2, ενώ το MSC1 είναι αφιερωμένο στην κάμερα 3 και την κάμερα 4.
Η έξοδος των τεσσάρων αγωγών καμερών μειώνεται σε μέγεθος και συνενώνεται χρησιμοποιώντας το πρόσθετο tiovxmosaic. Η έξοδος εμφανίζεται σε μία μόνο οθόνη. Το Σχήμα 4-4 δείχνει την έξοδο των τεσσάρων καμερών με ένα μοντέλο βαθιάς μάθησης που εκτελεί ανίχνευση αντικειμένων. Κάθε αγωγός (κάμερα) εκτελείται στα 30 FPS και συνολικά στα 120 FPS.
Στη συνέχεια παρουσιάζεται το πλήρες σενάριο αγωγού για την περίπτωση χρήσης βαθιάς μάθησης πολλαπλών καμερών που φαίνεται στο Σχήμα 4-3.
Ανάλυση Απόδοσης
Η εγκατάσταση με τέσσερις κάμερες χρησιμοποιώντας την πλακέτα V3Link και την AM62A SK δοκιμάστηκε σε διάφορα σενάρια εφαρμογών, όπως άμεση προβολή σε οθόνη, ροή μέσω Ethernet (τέσσερα κανάλια UDP), εγγραφή σε 4 ξεχωριστά κανάλια. files, και με συμπεράσματα βαθιάς μάθησης. Σε κάθε πείραμα, παρακολουθήσαμε τον ρυθμό καρέ και την αξιοποίηση των πυρήνων της CPU για να διερευνήσουμε τις δυνατότητες ολόκληρου του συστήματος.
Όπως φαίνεται προηγουμένως στο Σχήμα 4-4, ο αγωγός βαθιάς μάθησης χρησιμοποιεί το πρόσθετο tiperfoverlay GStreamer για να εμφανίσει τα φορτία του πυρήνα της CPU ως γράφημα ράβδων στο κάτω μέρος της οθόνης. Από προεπιλογή, το γράφημα ενημερώνεται κάθε δύο δευτερόλεπτα για να εμφανίζει τα φορτία ως ποσοστό αξιοποίησης.tagε. Εκτός από το πρόσθετο tiperfoverlay GStreamer, το εργαλείο perf_stats είναι μια δεύτερη επιλογή για την εμφάνιση της απόδοσης του πυρήνα απευθείας στο τερματικό με μια επιλογή αποθήκευσης σε ένα fileΑυτό το εργαλείο είναι πιο ακριβές σε σύγκριση με το tTiperfoverlays, καθώς το τελευταίο προσθέτει επιπλέον φορτίο στους πυρήνες ARMm και στο DDR για να σχεδιάσουν το γράφημα και να το επικαλύψουν στην οθόνη. Το εργαλείο perf_stats χρησιμοποιείται κυρίως για τη συλλογή αποτελεσμάτων αξιοποίησης υλικού σε όλες τις περιπτώσεις δοκιμών που παρουσιάζονται σε αυτό το έγγραφο. Μερικοί από τους σημαντικούς πυρήνες επεξεργασίας και επιταχυντές που μελετήθηκαν σε αυτές τις δοκιμές περιλαμβάνουν τους κύριους επεξεργαστές (τέσσερις πυρήνες A53 Arm @ 1.25GHz), τον επιταχυντή βαθιάς μάθησης (C7x-MMA @ 850MHz), τον VPAC (ISP) με VISS και πολυκλιμακωτές (MSC0 και MSC1) και τις λειτουργίες DDR.
Ο Πίνακας 5-1 δείχνει την απόδοση και την αξιοποίηση των πόρων κατά τη χρήση του AM62A με τέσσερις κάμερες για τρεις περιπτώσεις χρήσης, συμπεριλαμβανομένης της ροής τεσσάρων καμερών σε μια οθόνη, της ροής μέσω Ethernet και της εγγραφής σε τέσσερις ξεχωριστές κάμερες. fileς. Δύο δοκιμές εφαρμόζονται σε κάθε περίπτωση χρήσης: μόνο με την κάμερα και με συμπερασματολογία βαθιάς μάθησης. Επιπλέον, η πρώτη σειρά στον Πίνακα 5-1 δείχνει τις χρήσεις υλικού όταν μόνο το λειτουργικό σύστημα λειτουργούσε στο AM62A χωρίς εφαρμογές χρήστη. Αυτό χρησιμοποιείται ως βάση για σύγκριση κατά την αξιολόγηση των χρήσεων υλικού των άλλων περιπτώσεων δοκιμών. Όπως φαίνεται στον πίνακα, οι τέσσερις κάμερες με βαθιά μάθηση και οθόνη λειτούργησαν στα 30 FPS η καθεμία, με συνολικά 120 FPS για τις τέσσερις κάμερες. Αυτός ο υψηλός ρυθμός καρέ επιτυγχάνεται μόνο με το 86% της πλήρους χωρητικότητας του επιταχυντή βαθιάς μάθησης (C7x-MMA). Επιπλέον, είναι σημαντικό να σημειωθεί ότι ο επιταχυντής βαθιάς μάθησης χρονίστηκε στα 850MHz αντί για 1000MHz σε αυτά τα πειράματα, που είναι περίπου μόνο το 85% της μέγιστης απόδοσής του.
Πίνακας 5-1. Απόδοση (FPS) και αξιοποίηση πόρων του AM62A όταν χρησιμοποιείται με 4 κάμερες IMX219 για προβολή οθόνης, ροή Ethernet, εγγραφή σε Files, και Εκτέλεση Συμπερασμάτων Βαθιάς Μάθησης
Εφαρμογή n | Αγωγός (λειτουργία
) |
Παραγωγή | FPS μέσος όρος αγωγού s | FPS
σύνολο |
Μονάδες επεξεργασίας A53 @ 1.25
GHz [%] |
MCU R5 [%] | DLA (C7x- MMA) @ 850
MHz [%] |
VISS [%] | MSC0 [%] | MSC1 [%] | DDR
Rd [MB/s] |
DDR
Wr [MB/s] |
DDR
Σύνολο [MB/s] |
Δεν υπάρχει εφαρμογή | Βασική γραμμή Χωρίς λειτουργία | NA | NA | NA | 1.87 | 1 | 0 | 0 | 0 | 0 | 560 | 19 | 579 |
Κάμερα μόνο | Ρεύμα στην οθόνη | Οθόνη | 30 | 120 | 12 | 12 | 0 | 70 | 61 | 60 | 1015 | 757 | 1782 |
Ροή μέσω Ethernet | UDP: 4
θύρες 1920×1080 |
30 | 120 | 23 | 6 | 0 | 70 | 0 | 0 | 2071 | 1390 | 3461 | |
Ρεκόρ να files | 4 files 1920×1080 | 30 | 120 | 25 | 3 | 0 | 70 | 0 | 0 | 2100 | 1403 | 3503 | |
Εκκεντρο με Βαθιά Μάθηση | Βαθιά μάθηση: Ανίχνευση αντικειμένων MobV1-coco | Οθόνη | 30 | 120 | 38 | 25 | 86 | 71 | 85 | 82 | 2926 | 1676 | 4602 |
Βαθιά μάθηση: Ανίχνευση αντικειμένων MobV1-coco και ροή μέσω Ethernet | UDP: 4
θύρες 1920×1080 |
28 | 112 | 84 | 20 | 99 | 66 | 65 | 72 | 4157 | 2563 | 6720 | |
Βαθιά μάθηση: Ανίχνευση αντικειμένων MobV1- coco και εγγραφή σε files | 4 files 1920×1080 | 28 | 112 | 87 | 22 | 98 | 75 | 82 | 61 | 2024 | 2458 | 6482 |
Περίληψη
Αυτή η αναφορά εφαρμογής περιγράφει τον τρόπο υλοποίησης εφαρμογών πολλαπλών καμερών στην οικογένεια συσκευών AM6x. Στην αναφορά παρέχεται ένα σχέδιο αναφοράς βασισμένο στο V3Link Camera Solution Kit και το AM62A SK EVM της Arducam, με αρκετές εφαρμογές κάμερας να χρησιμοποιούν τέσσερις κάμερες IMX219, όπως streaming και ανίχνευση αντικειμένων. Οι χρήστες ενθαρρύνονται να αποκτήσουν το V3Link Camera Solution Kit από την Arducam και να αναπαράγουν αυτά τα π.χ.amples. Η έκθεση παρέχει επίσης μια λεπτομερή ανάλυση της απόδοσης του AM62A κατά τη χρήση τεσσάρων καμερών σε διάφορες διαμορφώσεις, όπως προβολή σε οθόνη, ροή μέσω Ethernet και εγγραφή σε fileς. Δείχνει επίσης την ικανότητα του AM62A να εκτελεί συμπεράσματα βαθιάς μάθησης σε τέσσερις ξεχωριστές ροές κάμερας παράλληλα. Εάν υπάρχουν ερωτήσεις σχετικά με την εκτέλεση αυτών των π.χ.ampλες, υποβάλετε ένα ερώτημα στο φόρουμ TI E2E.
Αναφορές
- Οδηγός γρήγορης εκκίνησης για το κιτ εκκίνησης AM62A EVM
- Οδηγός γρήγορης εκκίνησης για τη λύση κάμερας ArduCam V3Link
- Τεκμηρίωση Edge AI SDK για AM62A
- Έξυπνες κάμερες Edge AI που χρησιμοποιούν ενεργειακά αποδοτικό επεξεργαστή AM62A
- Συστήματα κατόπτρων κάμερας στο AM62A
- Συστήματα παρακολούθησης οδηγού και πληρότητας στο AM62A
- Εφαρμογή κάμερας τετραπλού καναλιού για Surround View και Συστήματα Κάμερας CMS
- Ακαδημία Linux AM62Ax σχετικά με την ενεργοποίηση του αισθητήρα CIS-2
- Edge AI ModelZoo
- Στούντιο Τεχνητής Νοημοσύνης Edge
- Εργαλείο Perf_stats
Ανταλλακτικά TI που αναφέρονται σε αυτήν τη σημείωση εφαρμογής:
- https://www.ti.com/product/AM62A7
- https://www.ti.com/product/AM62A7-Q1
- https://www.ti.com/product/AM62A3
- https://www.ti.com/product/AM62A3-Q1
- https://www.ti.com/product/AM62P
- https://www.ti.com/product/AM62P-Q1
- https://www.ti.com/product/DS90UB960-Q1
- https://www.ti.com/product/DS90UB953-Q1
- https://www.ti.com/product/TDES960
- https://www.ti.com/product/TSER953
ΣΗΜΑΝΤΙΚΗ ΕΙΔΟΠΟΙΗΣΗ ΚΑΙ ΑΠΟΠΟΙΗΣΗ ΕΥΘΥΝΗΣ
Η TI ΠΑΡΕΧΕΙ ΔΕΔΟΜΕΝΑ ΤΕΧΝΙΚΗΣ ΚΑΙ ΑΞΙΟΠΙΣΤΙΑΣ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ ΦΥΛΛΩΝ ΔΕΔΟΜΕΝΩΝ), ΠΟΡΟΥΣ ΣΧΕΔΙΑΣΜΟΥ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ ΣΧΕΔΙΩΝ ΑΝΑΦΟΡΑΣ), ΕΦΑΡΜΟΓΕΣ Ή ΑΛΛΕΣ ΣΥΜΒΟΥΛΕΣ ΣΧΕΔΙΑΣΜΟΥ, WEB ΕΡΓΑΛΕΙΑ, ΠΛΗΡΟΦΟΡΙΕΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΑΛΛΟΙ ΠΟΡΟΙ "ΩΣ ΕΧΟΥΝ" ΚΑΙ ΜΕ ΟΛΕΣ ΤΙΣ ΒΛΑΒΕΣ ΚΑΙ ΑΠΟΠΟΙΕΙΤΑΙ ΟΛΕΣ ΤΙΣ ΕΓΓΥΗΣΕΙΣ, ΡΗΤΕΣ ΚΑΙ ΣΙΩΠΗΡΕΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ ΤΩΝ ΣΙΩΠΗΡΩΝ ΕΓΓΥΗΣΕΩΝ ΓΙΑ ΕΜΠΟΡΕΥΜΑΤΙΚΕΣ ΕΓΓΥΗΣΕΙΣ ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ ΔΙΑΣΚΕΥΗ ΔΙΚΑΙΩΜΑΤΩΝ ΠΝΕΥΜΑΤΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ ΤΡΙΤΩΝ .
Αυτοί οι πόροι προορίζονται για εξειδικευμένους προγραμματιστές που σχεδιάζουν με προϊόντα TI. Εσείς είστε αποκλειστικά υπεύθυνοι για
- επιλέγοντας τα κατάλληλα προϊόντα TI για την αίτησή σας,
- σχεδιασμό, επικύρωση και δοκιμή της αίτησής σας και
- διασφαλίζοντας ότι η αίτησή σας πληροί τα ισχύοντα πρότυπα και οποιεσδήποτε άλλες απαιτήσεις ασφάλειας, προστασίας, κανονιστικές ή άλλες απαιτήσεις.
Αυτοί οι πόροι υπόκεινται σε αλλαγές χωρίς προειδοποίηση. Η TI σας επιτρέπει να χρησιμοποιείτε αυτούς τους πόρους μόνο για την ανάπτυξη μιας εφαρμογής που χρησιμοποιεί τα προϊόντα της TI που περιγράφονται στον πόρο. Απαγορεύεται η αναπαραγωγή και η προβολή αυτών των πόρων με άλλο τρόπο. Δεν χορηγείται άδεια χρήσης για κανένα άλλο δικαίωμα πνευματικής ιδιοκτησίας της TI ή για οποιοδήποτε δικαίωμα πνευματικής ιδιοκτησίας τρίτου μέρους. Η TI αποποιείται την ευθύνη και εσείς θα αποζημιώσετε πλήρως την TI και τους εκπροσώπους της για τυχόν αξιώσεις, ζημίες, έξοδα, απώλειες και ευθύνες που προκύπτουν από τη χρήση αυτών των πόρων από εσάς.
Τα προϊόντα της TI παρέχονται σύμφωνα με τους Όρους Πώλησης της TI ή άλλους ισχύοντες όρους που διατίθενται είτε στις ti.com ή παρέχονται σε συνδυασμό με τέτοια προϊόντα TI. Η παροχή αυτών των πόρων από την TI δεν επεκτείνει ή με άλλο τρόπο δεν αλλάζει τις ισχύουσες εγγυήσεις ή τις δηλώσεις αποποίησης εγγυήσεων της TI για προϊόντα TI.
Η TI αντιτίθεται και απορρίπτει τυχόν πρόσθετους ή διαφορετικούς όρους που μπορεί να έχετε προτείνει.
ΣΗΜΑΝΤΙΚΗ ΕΙΔΟΠΟΙΗΣΗ
- Ταχυδρομική Διεύθυνση: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
- Πνευματικά δικαιώματα © 2024, Texas Instruments Incorporated
Συχνές Ερωτήσεις
Ε: Μπορώ να χρησιμοποιήσω οποιονδήποτε τύπο κάμερας με την οικογένεια συσκευών AM6x;
Η οικογένεια AM6x υποστηρίζει διαφορετικούς τύπους καμερών, συμπεριλαμβανομένων εκείνων με ή χωρίς ενσωματωμένο ISP. Ανατρέξτε στις προδιαγραφές για περισσότερες λεπτομέρειες σχετικά με τους υποστηριζόμενους τύπους καμερών.
Ποιες είναι οι κύριες διαφορές μεταξύ των AM62A και AM62P στην επεξεργασία εικόνας;
Οι βασικές παραλλαγές περιλαμβάνουν τους υποστηριζόμενους τύπους καμερών, τα δεδομένα εξόδου κάμερας, την παρουσία ISP HWA, Deep Learning HWA και 3-D Graphics HWA. Ανατρέξτε στην ενότητα προδιαγραφών για μια λεπτομερή σύγκριση.
Έγγραφα / Πόροι
![]() |
Η Texas Instruments AM6x αναπτύσσει πολλαπλές κάμερες [pdf] Οδηγός χρήστη AM62A, AM62P, AM6x Ανάπτυξη Πολλαπλής Κάμερας, AM6x, Ανάπτυξη Πολλαπλής Κάμερας, Πολλαπλή Κάμερα, Κάμερα |