Სარჩევი:

Sipeed MaiX Bit OpenMV დემო - კომპიუტერული ხედვა: 3 ნაბიჯი
Sipeed MaiX Bit OpenMV დემო - კომპიუტერული ხედვა: 3 ნაბიჯი

ვიდეო: Sipeed MaiX Bit OpenMV დემო - კომპიუტერული ხედვა: 3 ნაბიჯი

ვიდეო: Sipeed MaiX Bit OpenMV დემო - კომპიუტერული ხედვა: 3 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ივლისი
Anonim
Image
Image

ეს არის სერიის მეორე სტატია Sipeed AI– ს შესახებ Edge მიკროკონტროლის პლატფორმაზე. ამჯერად მე დავწერ MaiX Bit– ის შესახებ (ბმული Seeed Studio Shop– ზე), პატარა, დაფაზე მზა განვითარების დაფაზე. მისი სპეციფიკაციები ძალიან ჰგავს MaiX დოკს, დაფას, რომელიც მე გამოვიყენე ბოლო გაკვეთილზე, რადგან ისინი იყენებენ ერთსა და იმავე ჩიპს, Kendryte K210.

ჩვენ ვიყენებთ micropython firmware– ს, რომ შევეცადოთ OpenMV– ს რამდენიმე დემო. აქ არის აღწერა OpenMV საწყისი გვერდიდან:

OpenMV პროექტი არის დაბალფასიანი, გაფართოებადი, პითონზე მომუშავე, მანქანური ხედვის მოდულების შექმნა და მიზნად ისახავს გახდეს „მანქანათმხილვის არდუინო“.… პითონი აადვილებს მანქანათმშენებლობის ალგორითმებთან მუშაობას. მაგალითად, კოდექსში find_blobs () მეთოდი პოულობს ფერის ბლოკებს და აბრუნებს 8 მნიშვნელოვანი ობიექტის სიას, რომელიც წარმოადგენს თითოეული ნაპოვნი ფერის ბოლს. პითონში მეორდება find_blobs () - ით დაბრუნებული ობიექტების ჩამონათვალი და მართკუთხედის დახატვა თითოეული ფერის ბლოკის გარშემო მარტივად ხდება კოდის მხოლოდ ორ სტრიქონში.

ასე რომ, მიუხედავად MaiX Bit– ის ნერვული ქსელის ამაჩქარებლის მახასიათებლებისა, ზოგჯერ შეიძლება უფრო ადვილი იყოს OpenMV მყარი კოდირებული ალგორითმების გამოყენება სამუშაოს შესასრულებლად ან მათი ერთმანეთთან ერთად გამოყენებისთვის.

ზოგიერთი გამოყენების შემთხვევა, რაც თავში მომდის არის:

1) ხაზის გამოვლენა ხაზის მიმდევრის ბოტისთვის

2) შუქნიშნების გამოვლენა წრისა და ფერის გამოვლენით

3) სახის ამოცნობის გამოყენება სახის ამოცნობისთვის (DNN– ით)

Github საცავი ამ სტატიისათვის

ნაბიჯი 1: Flash Micropython Firmware

დაუკავშირდით MaiX ბიტს
დაუკავშირდით MaiX ბიტს

უპირველეს ყოვლისა, ჩვენ გვჭირდება მიკროპითონის ფირმის ჩამონტაჟება ჩვენს დაფაზე. ამ სტატიისთვის წინასწარ შედგენილი ორობითი შედის github საცავში, kflash.py– სთან ერთად (ფლეშ პროგრამა). თუ გსურთ შეადგინოთ firmware საწყისი კოდისგან, უბრალოდ გადმოწერეთ წყაროს კოდი https://github.com/sipeed/MaixPy– დან, დააინსტალირეთ ინსტრუმენტთა ქსელი და შეადგინეთ საწყისი კოდი maixpy.bin ფაილში. მშენებლობის დეტალური ინსტრუქცია შეგიძლიათ იხილოთ აქ.

დააინსტალირეთ ორობითი ფაილი

sudo python3 kflash.py kpu.bin

წარმატებული ციმციმის შემდეგ, გადადით შემდეგ საფეხურზე.

ნაბიჯი 2: დაუკავშირდით MaiX ბიტს

ახლა ჩვენი MaiX ბიტი ხელმისაწვდომი უნდა იყოს baudrate 115200 USB სერიული კავშირის საშუალებით. თქვენ შეგიძლიათ გამოიყენოთ თქვენი საყვარელი პროგრამული უზრუნველყოფა სერიული კომუნიკაციისთვის ან უბრალოდ კატისა და ექოს ბრძანებებისათვის, რაც თქვენს მოთხოვნილებებს შეესაბამება. მე ვიყენებდი ეკრანს სერიული კომუნიკაციისთვის და ეს ძალიან მოსახერხებელია.

ეკრანთან სერიული საკომუნიკაციო სესიის დამყარების ბრძანება არის

sudo screen /dev /ttyUSB0 115200

სადაც /dev /ttyUSB0 არის თქვენი მოწყობილობის მისამართი.

შეიძლება დაგჭირდეთ მიკროკონტროლერის გადატვირთვის ღილაკის დაჭერა მისალოცი შეტყობინებისა და პითონის თარჯიმნის მოთხოვნის სანახავად.

ნაბიჯი 3: გაუშვით დემო

ახლა თქვენ შეგიძლიათ მიიღოთ ასლის რეჟიმი Ctrl+E დაჭერით და დემო კოდების კოპირება-ჩასმა. მათი გასაშვებად დააჭირეთ Ctrl+D ასლის რეჟიმში.

თუ არ გსურთ ვიდეოების ჩაწერა, თქვენ უნდა გააკეთოთ კომენტარი ვიდეოჩანაწერის ხაზებზე. წინააღმდეგ შემთხვევაში, კოდი გამოიწვევს გამონაკლისს, თუ SD ბარათი არ არის ჩასმული

აქ მოცემულია თითოეული დემოს მოკლე აღწერა:

წრეების პოვნა - იყენებს find_circles ფუნქციას OpenMV– დან. საჭიროებს დამატებით შესწორებებს თქვენი კონკრეტული პროგრამისთვის, განსაკუთრებით ბარიერისთვის (აკონტროლებს რა წრეების გამოვლენას ძვლის გარდაქმნიდან. ბრუნდება მხოლოდ წრეები ბარიერის მეტი ან ტოლი) და r_min, r_max მნიშვნელობები.

მართკუთხედების პოვნა - იყენებს find_rects ფუნქციას OpenMV– დან. თქვენ შეგიძლიათ ითამაშოთ ზღურბლის მნიშვნელობით, მაგრამ ის ღირებულება, რომელიც მე მაქვს დემოში, საკმაოდ კარგია მართკუთხედების მოსაძებნად.

იპოვნეთ სახეები, იპოვეთ თვალები - იყენებს find_features ფუნქციას Haar Cascades– ით გამოსახულების თვალებისა და შუბლის სახის გამოვლენის მიზნით. თქვენ შეგიძლიათ ითამაშოთ ბარიერისა და მასშტაბის მნიშვნელობებით სიჩქარის სიზუსტის სწორი კომპრომისისთვის.

იპოვნეთ უსასრულო ხაზები - იყენებს find_lines ფუნქციას, რათა ნახოს გამოსახულების ყველა უსასრულო ხაზი მთლიანი გარდაქმნის გამოყენებით.

ფერის გამოვლენა - იყენებს get_statistics ფუნქციას პროცენტული ობიექტის მისაღებად და შემდეგ გარდაქმნის LAB tuple– ის საშუალო მნიშვნელობებს RGB მნიშვნელობებად. მე თვითონ დავწერე ეს მაგალითი და ის საკმაოდ კარგად მუშაობს, მაგრამ გახსოვდეთ, რომ ფერის გამოვლენის შედეგებზე გავლენას მოახდენს გარე განათების პირობები.

თქვენ შეგიძლიათ იპოვოთ კიდევ ბევრი საინტერესო დემო OpenMV github საცავში! ისინი ძირითადად თავსებადია MaiX Bit მიკროპითონთან, ერთადერთი რაც უნდა გახსოვდეთ არის დაამატოთ sensor.run (1) პიქსფორმის და ჩარჩოს ზომის დაყენების შემდეგ.

ბედნიერი ექსპერიმენტი OpenMV კოდით. თუ თქვენ გაქვთ რაიმე შეკითხვა ან გსურთ გაგიზიაროთ თქვენი რამდენიმე საინტერესო შედეგი, ნუ მოგერიდებათ დამიკავშირდეთ Youtube– ზე ან LinkedIn– ზე. მაპატიეთ, მე წავალ რობოტების დამზადებას!

გირჩევთ: