Სარჩევი:
- ნაბიჯი 1: ძირითადი იდეა და საჭირო ნაწილები
- ნაბიჯი 2: დააინსტალირეთ OpenCV მოდული
- ნაბიჯი 3: კამერის სამონტაჟო ბეჭდვა
- ნაბიჯი 4: კამერის დამონტაჟების დასრულება
- ნაბიჯი 5: გაწვრთნილი მანქანების სწავლების მოდელი
- ნაბიჯი 6: კოდი, რომელიც ქმნის ყველაფერს
- ნაბიჯი 7: ყუთის გახსნის მექანიზმი
- ნაბიჯი 8: ყუთის დამზადება ჰარი პოტერის თემაზე
ვიდეო: ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით: 8 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
"ნებისმიერი საკმარისად მოწინავე ტექნოლოგია არ განსხვავდება მაგიისგან" - არტურ C. კლარკი
რამდენიმე თვის უკან ჩემი ძმა ეწვია იაპონიას და ჰარი პოტერის ჯადოქრების სამყაროში ნამდვილი გამოცდილება ჰქონდა უნივერსალურ სტუდიაში, რაც შესაძლებელი გახდა კომპიუტერული ხედვის ტექნოლოგიის გამოყენებით.
ჰარი პოტერის ჯადოქრულ სამყაროში უნივერსალურ სტუდიაში ტურისტებს შეუძლიათ შეასრულონ "ნამდვილი მაგია" გარკვეულ ადგილებში (სადაც მოძრაობის აღების სისტემაა დამონტაჟებული) სპეციალურად დამზადებული კვერთხების გამოყენებით რეტრო ამრეკლავი მძივებით. კვერთხების ყიდვა შესაძლებელია ნამდვილი ოლივანდერის მაღაზიიდან, რომელიც ზუსტად ჰარი პოტერის ფილმებშია ნაჩვენები, მაგრამ გახსოვთ: "ეს არის კვერთხი, რომელიც ირჩევს ოსტატს": P
იმ კონკრეტულ ადგილას, თუ ადამიანი ასრულებს კონკრეტულ ჟესტს კვერთხით, მოძრაობის გადაღების სისტემა აღიარებს ჟესტს და ყველა ჟესტი შეესაბამება გარკვეულ შელოცვას, რაც იწვევს გარკვეულ საქმიანობას მიმდებარე ტერიტორიაზე, როგორიცაა შადრევნის ჩართვა და ა.
ამ ინსტრუქციაში მე ვაჩვენებ, თუ როგორ შეგიძლიათ შექმნათ იაფი და ეფექტური მოძრაობის გადაღების სისტემა სახლში, რომ შეასრულოთ "ნამდვილი მაგია", გახსენით ყუთი კვერთხის მოძრაობით: D გამოიყენეთ ჩვეულებრივი ღამის ხედვის კამერა, ელექტრონიკა, და რამდენიმე პითონის კოდი OpenCV კომპიუტერული ხედვის ბიბლიოთეკის და მანქანათმცოდნეობის გამოყენებით !!!
ნაბიჯი 1: ძირითადი იდეა და საჭირო ნაწილები
კვერთხები, რომლებიც შეძენილია ჰარი პოტერის ჯადოქართა სამყაროდან უნივერსალურ სტუდიაში, უკანა მხარეს აქვს რეტრორეფლექსიანი მძივი. ეს რეტრო ამრეკლავი მძივები ასახავს ინფრაწითელ შუქს, რომელსაც კამერა აძლევს მოძრაობის გადაღების სისტემაში. ამრიგად, ის, რასაც ჩვენ ადამიანები ვგრძნობთ, როგორც ჰაერში მოძრავი კვერთხის არც ისე გამორჩეული წვერი, მოძრაობის გადაღების სისტემას აღიქვამს როგორც ნათელი ბლუბი, რომელიც შეიძლება ადვილად იყოს იზოლირებული ვიდეო ნაკადში და თვალყური ადევნოს პიროვნების მიერ შედგენილი ნიმუშს და განახორციელოს საჭირო მოქმედება. მთელი ეს დამუშავება ხდება რეალურ დროში და იყენებს კომპიუტერულ ხედვას და მანქანათმცოდნეობას.
ღამის ხედვის მარტივი კამერა შეიძლება გამოყენებულ იქნას როგორც ჩვენი კამერა მოძრაობის გადასაღებად, რადგან ისინი ასევე აფრქვევენ ინფრაწითელ შუქს, რომელიც ადამიანებისთვის არ ჩანს, მაგრამ ნათლად ჩანს კამერით, რომელსაც არ გააჩნია ინფრაწითელი ფილტრი. ამრიგად, კამერიდან ვიდეო ნაკადი იკვებება ჟოლოს პიში, რომელსაც აქვს პითონის პროგრამა OpenCV, რომელიც გამოიყენება კვერთხის წვერის გამოვლენის, იზოლირებისა და თვალთვალისთვის. შემდეგ ჩვენ ვიყენებთ მანქანათმცოდნეობის SVM (მარტივი ვექტორული მანქანა) ალგორითმს, რათა ამოვიცნოთ შედგენილი ნიმუში და შესაბამისად ვაკონტროლოთ ჟოლოს პიის GPIO– ები გარკვეული აქტივობების შესასრულებლად.
საჭირო მასალები:
1) Raspberry Pi 3 მოდელი B და საჭირო აქსესუარები, როგორიცაა კლავიატურა და მაუსი
2) Raspberry Pi NoIR (არა ინფრაწითელი) კამერის მოდული
3) ჰარი პოტერის ჯოხი რეტრორეფლექტორით წვერზე: არ ინერვიულოთ, თუ არ გაქვთ. ყველაფერი, რაც რეტრორეფლექტორს შეიცავს, შეიძლება გამოყენებულ იქნას. ასე რომ, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი კვერთხის მსგავსი ჯოხი და წაისვათ რეტრორეფლექტორული ლენტი, საღებავი ან მძივები წვერზე და ის უნდა იმუშაოს როგორც ნაჩვენებია უილიამ ოსმანის ვიდეოში: უყურეთ ვიდეოს
4) 10 ინფრაწითელი ები
5) 3D პრინტერი და PLA ძაფები თქვენი არჩევანით
6) 12V - 1A კედლის ადაპტერი და DC ბუდე
7) სერვო ძრავა
8) ძველი ყუთი და ისაუბრა ციკლის ბორბალიდან
9) ცხელი წებოს იარაღი
10) ჰარი პოტერთან დაკავშირებული ლოგოებისა და სურათების ამობეჭდვა პრიალა ფურცელზე
11) მწვანე და ყვითელი ხავერდის ფურცლები.
შენიშვნა: მე ასევე შევეცადე გამომეყენებინა ძველი რეგულარული ვებკამერა ღამის ხედვისთვის მისი ინფრაწითელი ფილტრის ამოღებით, მაგრამ დამთავრდა მისი ობიექტივის დაზიანებით/გადაადგილებით, რამაც დიდად იმოქმედა ვიდეოს ხარისხზე და მე არ შემეძლო მისი გამოყენება. მაგრამ თუ გსურთ მისი დარტყმა მიაწოდოთ, შეგიძლიათ გაიაროთ ეს დიდი სასწავლო ინსტრუქცია დააწკაპუნეთ აქ
ნაბიჯი 2: დააინსტალირეთ OpenCV მოდული
ახლა დროა ამ პროექტის პირველი და ალბათ ყველაზე გრძელი ნაბიჯი: OpenCV მოდულის დაყენება და მშენებლობა თქვენს Raspberry Pi– ში.
OpenCV მოდულისთვის დამოკიდებულების დაყენებას დიდი დრო არ სჭირდება, მაგრამ მშენებლობის პროცესს შეიძლება 2 -დან 3 საათამდე დასჭირდეს !! მაშ, დააბალანსეთ !!: P
არსებობს მრავალი გაკვეთილი ინტერნეტში, რომელსაც შეგიძლიათ მიყვეთ OpenCV 4.1.0 მოდულის დაყენების მიზნით. აქ არის ბმული, რომელიც მე გავყევი: დააწკაპუნეთ აქ
შენიშვნა: მე მკაცრად გირჩევთ OpenCV მოდულის დაყენებას ვირტუალურ გარემოში, როგორც ეს ნაჩვენებია სამეურვეოში, რადგან ის თავიდან აიცილებს სხვადასხვა სახის კონფლიქტს, რომელიც შეიძლება მოხდეს სხვადასხვა მოდულის დამოკიდებულების დაყენების გამო ან პითონის სხვადასხვა ვერსიებთან მუშაობისას.
ნაბიჯი 3: კამერის სამონტაჟო ბეჭდვა
NoIR კამერას არ გააჩნია ინფრაწითელი ფილტრი, ამიტომ ის შეიძლება გამოყენებულ იქნას როგორც ღამის ხედვის კამერა, მაგრამ მას მაინც არ გააჩნია ინფრაწითელი სინათლის წყარო. ღამის ხედვის ყველა კამერას აქვს საკუთარი ინფრაწითელი სინათლის წყარო, რომელიც სიბნელეში აფრქვევს IR სხივებს, რომლებიც შეუიარაღებელი თვალით უხილავია, მაგრამ სხივებს კამერა ხედავს ინფრაწითელი ფილტრის გარეშე ნებისმიერი ობიექტიდან არეკვლის შემდეგ.
ასე რომ, ჩვენ ძირითადად გვჭირდება ინფრაწითელი სინათლის წყარო და რაღაც კამერის დასაყენებლად. ამისათვის მე შევიმუშავე ობიექტის მარტივი 3D მოდელი, რომელზედაც ჩვენ შეგვიძლია დავამონტაჟოთ კამერა, რომელიც გარშემორტყმულია 10 IR ლიდერით წრეში. მოდელი შეიქმნა SketchUp– ით და დაიბეჭდა შავი PLA– ით დაახლოებით 40 წუთში.
ნაბიჯი 4: კამერის დამონტაჟების დასრულება
მოდელის დაბეჭდვის შემდეგ, მე პირველად გავხეხე იგი 80 ქვიშის ქაღალდით და შემდეგ დავიწყე IR ლიდერების განთავსება მათ ხვრელებში ზემოთ მოცემული დიაგრამის მიხედვით.
მე დავიმაგრე ლიდერები მათ ადგილას ცხელი წებოთი და შემდეგ შევუერთე ორი ზედიზედ ლიდერის პოზიტიურ და ნეგატიურ ლიდერებს ერთად და შემდეგ შევაერთე ისინი, რათა შევქმნათ ლიდერების სერიული კავშირი.
ერთი ტყვიის პოზიტიური გამტარიანობა და ქვედა წინამორბედის უარყოფითი წინსვლა დარჩა შედუღებამდე, რათა დაერთოს დადებითი და უარყოფითი ბოლოები 12 ვოლტიანი კედლის ადაპტერისგან.
ნაბიჯი 5: გაწვრთნილი მანქანების სწავლების მოდელი
პირის მიერ შედგენილი წერილის ამოცნობის მიზნით, მე ვვარჯიშობ მანქანური სწავლების მოდელს, რომელიც დაფუძნებულია Support Vector Machine (SVM) ალგორითმზე, ხელნაწერი ინგლისური ანბანის მონაცემთა ნაკრების გამოყენებით, რომელიც აქ ვიპოვე. SVM არის ძალიან ეფექტური მანქანა სწავლების ალგორითმი, რომელსაც შეუძლია მაღალი სიზუსტის მინიჭება, ამ შემთხვევაში დაახლოებით 99.2% !! წაიკითხეთ მეტი SVM– ების შესახებ
მონაცემთა ნაკრები არის.csv ფაილის სახით, რომელიც შეიცავს 785 სვეტს და 300 ათასზე მეტ სტრიქონს, სადაც თითოეული სტრიქონი წარმოადგენს 28 x 28 გამოსახულებას და ამ სვეტში თითოეული სვეტი შეიცავს იმ პიქსელის მნიშვნელობას იმ სურათისთვის დამატებითი სვეტით დასაწყისი, რომელიც შეიცავს ეტიკეტს, რიცხვი 0 -დან 25 -მდე, თითოეული შეესაბამება ინგლისურ ასოს. პითონის მარტივი კოდის საშუალებით, მე დავჭრა მონაცემები, რომ მივიღო ყველა სურათი მხოლოდ იმ 2 ასოზე (A და C), რაც მე მსურდა და მოვამზადე მოდელი მათთვის.
მე დავამატე გაწვრთნილი მოდელი (alphabet_classifier.pkl) და ასევე სასწავლო კოდი მოგერიდებათ გაიაროთ იგი ან შეიტანოთ რაიმე ცვლილება მოდელის სხვადასხვა ასოებით სწავლებისას ან სცადოთ სხვადასხვა ალგორითმი. პროგრამის გაშვების შემდეგ ის ავტომატურად ინახავს გაწვრთნილ მოდელს იმავე დირექტორიაში, სადაც ინახება თქვენი კოდი.
ნაბიჯი 6: კოდი, რომელიც ქმნის ყველაფერს
გაწვრთნილი მოდელის შექმნის შემდეგ, საბოლოო ნაბიჯი არის დავწეროთ პითონის პროგრამა ჩვენი Raspberry Pi– სთვის, რომელიც საშუალებას გვაძლევს გავაკეთოთ შემდეგი:
- ვიდეოზე წვდომა პიკერის სახით რეალურ დროში
- აღმოაჩინეთ და აკონტროლეთ თეთრი ბუშტუკები (ამ შემთხვევაში კვერთხის წვერი, რომელიც ანათებს ღამის ხედვაში) ვიდეოში
- დაიწყეთ მოძრავი ბუშტუკების ბილიკის ვიდეოში გამომწვევი მოვლენის შემდეგ (ახსნილი ქვემოთ)
- შეაჩერე კვალი სხვა გამომწვევი მოვლენის შემდეგ (განმარტებულია ქვემოთ)
- დააბრუნეთ ბოლო ჩარჩო მომხმარებლის მიერ დახატული ნიმუშით
- შეასრულეთ წინასწარი დამუშავება ჩარჩოზე, როგორიცაა ბარიერი, ხმაურის მოცილება, ზომის შეცვლა და ა.
- გამოიყენეთ დამუშავებული ბოლო ჩარჩო პროგნოზირებისთვის.
- განახორციელეთ რაიმე სახის მაგია წინასწარმეტყველების მიხედვით Raspberry Pi– ის GPIO– ების კონტროლით
ამ პროექტისთვის მე შევქმენი ჰარი პოტერის თემატური ყუთი, რომლის გახსნა და დახურვა შესაძლებელია სერვო ძრავის გამოყენებით, რომელსაც აკონტროლებს Raspberry Pi GPIO. ვინაიდან ასო 'A' ნიშნავს 'Alohamora' (ჰარი პოტერის ფილმებიდან ერთ -ერთი ყველაზე ცნობილი შელოცვა, რომელიც საშუალებას აძლევს ოსტატს გახსნას ნებისმიერი საკეტი !!), თუ ადამიანი ასო A- ს ხატავს კვერთხით, პი ბრძანებს გახსენით ყუთი. თუ ადამიანი ხატავს ასო "C", რომელიც ნიშნავს "ახლოს" (რადგან მე ვერ მოვიფიქრე შესაბამისი შელოცვა, რომელიც გამოიყენება დახურვისა და ჩაკეტვისთვის: P), pi ბრძანებს სერვოს დახუროს ყუთი.
სურათის/ვიდეოს დამუშავებასთან დაკავშირებული ყველა სამუშაო, როგორიცაა ბლობის გამოვლენა, ბლოგის ბილიკის მიკვლევა, ბოლო კადრის წინასწარი დამუშავება და ა.შ., ხორციელდება OpenCV მოდულის საშუალებით.
ზემოხსენებული გამომწვევი მოვლენებისთვის, რეალურ დროში ვიდეოზე იქმნება ორი წრე, მწვანე და წითელი წრე. როდესაც ბლუბი შემოდის რეგიონში მწვანე წრეში, პროგრამა იწყებს ბილიკის გავლის შემდგომ იმ მომენტის შემდგომ, რაც პირს აძლევს საშუალებას შექმნას ასო. როდესაც წვერი აღწევს წითელ წრეს, ვიდეო ჩერდება და ბოლო ჩარჩო გადადის ფუნქციაზე, რომელიც ასრულებს წინასწარ დამუშავებას ჩარჩოზე, რათა ის წინასწარ განსაზღვრისათვის იყოს მზად.
ამ ეტაპზე დავამატე კოდის ფაილები. მოგერიდებათ გაიაროთ იგი და განახორციელოთ ნებისმიერი ცვლილება, როგორც გსურთ.
შენიშვნა: მე უნდა შევქმნა ორი ცალკეული პითონის ფაილი, რომელიც მუშაობს პითონის სხვადასხვა ვერსიასთან, ერთი რომელიც შემოაქვს OpenCV მოდული (პითონი 2.7) და მეორე რომელიც შემოაქვს sklearn მოდული (პითონი 3.5) პროგნოზირებისთვის გაწვრთნილი მოდელის ჩატვირთვის შემდეგ, რადგან ჩემი OpenCV დაინსტალირებულია Python 2.7 ვერსია, ხოლო sklearn დამონტაჟდა პითონ 3.5 -ისთვის. ამრიგად, მე გამოვიყენე ქვეპროცესების მოდული, რომ გამოვიყენო ფაილი HarryPotterWandsklearn.py (პროგნოზირებისთვის) HarryPotterWandcv.py– დან (ყველა ღია სამუშაოსა და რეალურ დროში ვიდეოჩანაწერისთვის) და მისი გამომუშავების მისაღებად. ამ გზით მე მხოლოდ HarryPotterWandcv.py ფაილის გაშვება მომიწევს.
ნაბიჯი 7: ყუთის გახსნის მექანიზმი
მე მქონდა ძველი წითელი ფერის ყუთი, რომლის გარშემოც ვიყენებდი ამ პროექტს.
ყუთის გახსნის მექანიზმისთვის:
- ყუთის უკანა ნაწილთან ახლოს სერვერი ცხელი წებოთი მოვათავსე მუყაოს ნაჭერზე ყუთის კიდეზე.
- შემდეგ ციკლის ბორბალიდან ავიღე სპიკერი და ცხელი წებო გავამახვილე სერვოს მკლავში.
- სპიკის მეორე ბოლო მავთულის ნაჭრის გამოყენებით იყო დამაგრებული ყუთის სახურავზე.
- Servo დადებითი იყო დაკავშირებული +5V პინ 2 -ზე ჟოლოს პიზე.
- სერვო ნეგატიური უკავშირდებოდა GND პინ 39 -ს.
- სერვო სიგნალი უკავშირდებოდა პინ 12 -ს
ნაბიჯი 8: ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთი ჰარი პოტერის თემატიკის შესაქმნელად, მე დავბეჭდე სხვადასხვა ნივთების ფერადი გამოსახულებები, როგორიცაა ჰარი პოტერის ლოგო, ჰოგვორტსის ქერქი, თითოეული ოთხივე სახლის გვირგვინი და ა. ადგილები.
მე ასევე გამოვიყენე ყვითელი ფერის ხავერდის ფურცელი ზოლების დასაჭრელად და ჩავამაგრე სახურავზე, რათა ყუთს იგივე ფერი მიენიჭა, როგორც გრიფინდორის სახლს. სახურავის შიდა ნაწილი და სერვო დაფარული მწვანე ხავერდის ფურცლით. სახურავის შიგნიდან დავამატე მეტი სიმბოლო და ემბლემა, სადაც ნაჩვენებია ცხოველები, რომლებიც წარმოადგენენ ჰოგვორტსის სკოლის თითოეულ სახლს.
შემდეგ საბოლოოდ ჩავსვი ჩემი ჰარი პოტერთან დაკავშირებული ყველაფერი ყუთში, რომელშიც შედიოდა გრიფინდორის მაყუჩი, დღიური ჰოგვორტსის უნიფორმით და ამ პროექტში გამოყენებული უხუცესი კვერთხი: D
გირჩევთ:
გატეხეთ Hexbug Spider XL კომპიუტერული ხედვის დასამატებლად Android სმარტფონის გამოყენებით: 9 ნაბიჯი (სურათებით)
გატეხეთ Hexbug Spider XL კომპიუტერული ხედვის დასამატებლად Android სმარტფონის გამოყენებით: მე ვარ დიდი გულშემატკივარი ორიგინალური Hexbug და ვაჭრობა; ობობა. მე მაქვს ათეულზე მეტი და ყველა გავტეხე. ნებისმიერ დროს ერთი ჩემი ვაჟი მიდის მეგობრებთან ’ დაბადების დღე, მეგობარი იღებს Hexbug &სავაჭრო; ობობა საჩუქრად. მე გატეხილი მაქვს ან
ჰარი პოტერის ქუდი მაკიაჟის მაკიაჟით: 4 ნაბიჯი
ჰარი პოტერის ქუდი Makey Makey: Neste projeto as crianças criam o seu próprio chapéu seletor do Harry Potter. Quando elas colocam o chapéu na cabeça, ele mostra a qual casa a criança pertence: Grifinória, Sonserina, Corvinal ou Lufa
ვარსკვლავის ამოცნობა კომპიუტერული ხედვის გამოყენებით (OpenCV): 11 ნაბიჯი (სურათებით)
ვარსკვლავების ამოცნობა კომპიუტერული ხედვის გამოყენებით (OpenCV): ეს ინსტრუქცია აღწერს თქვენ, თუ როგორ უნდა შექმნათ კომპიუტერული ხედვის პროგრამა, რომელიც ავტომატურად განსაზღვრავს ვარსკვლავის ნიმუშებს გამოსახულებაში. მეთოდი იყენებს OpenCV (ღია კოდის კომპიუტერული ხედვის) ბიბლიოთეკას, რათა შექმნას გაწვრთნილი HAAR კასკადები, რომლებიც შეიძლება იყოს
DIY ჰარი პოტერის მოძრავი პორტრეტის პროექტი: 9 ნაბიჯი (სურათებით)
DIY ჰარი პოტერის მოძრავი პორტრეტის პროექტი: ქვემოთ მოცემულია ინსტრუქცია, რომელიც განკუთვნილია მხოლოდ სუფთა სისხლის ოსტატებისთვის. თუ თქვენ არ ხართ სუფთა სისხლი, კონკრეტულად სლიზერინ, თქვენ გაგაფრთხილეთ გარდაუვალი წარუმატებლობისა და დამარცხების შესახებ, რომელსაც თქვენ წააწყდებით, როგორც ჩხუბის, მუღლის, ჰაფლეფაფის ან ტალახის სისხლს
კომპიუტერული ხედვის კონტროლირებადი ეტლი მანეკენით: 6 ნაბიჯი (სურათებით)
კომპიუტერული ხედვის კონტროლირებადი ინვალიდის ეტლი მანეკენით: პროექტი AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC. AJ Sapala- ს, Fanyun Peng- ის, Ray LC- ის ინსტრუქტივირებული. ჩვენ შევქმენით ინვალიდის ეტლი ბორბლებით, რომელსაც აკონტროლებს Arduino დაფა, რომელიც თავის მხრივ კონტროლდება ჟოლოს pi გაშვებული openCV დამუშავების გზით