Სარჩევი:

ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით: 8 ნაბიჯი (სურათებით)
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით: 8 ნაბიჯი (სურათებით)

ვიდეო: ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით: 8 ნაბიჯი (სურათებით)

ვიდეო: ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით: 8 ნაბიჯი (სურათებით)
ვიდეო: ხელოვნური ინტელექტის დახმარებით შექმნილი ჰარი პოტერის პერსონაჟები 2024, დეკემბერი
Anonim
Image
Image
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით
ნამდვილი სამუშაო ჰარი პოტერის კვერთხი კომპიუტერული ხედვის გამოყენებით

"ნებისმიერი საკმარისად მოწინავე ტექნოლოგია არ განსხვავდება მაგიისგან" - არტურ 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: ყუთის გახსნის მექანიზმი

ყუთის გახსნის მექანიზმი
ყუთის გახსნის მექანიზმი
ყუთის გახსნის მექანიზმი
ყუთის გახსნის მექანიზმი
ყუთის გახსნის მექანიზმი
ყუთის გახსნის მექანიზმი

მე მქონდა ძველი წითელი ფერის ყუთი, რომლის გარშემოც ვიყენებდი ამ პროექტს.

ყუთის გახსნის მექანიზმისთვის:

  1. ყუთის უკანა ნაწილთან ახლოს სერვერი ცხელი წებოთი მოვათავსე მუყაოს ნაჭერზე ყუთის კიდეზე.
  2. შემდეგ ციკლის ბორბალიდან ავიღე სპიკერი და ცხელი წებო გავამახვილე სერვოს მკლავში.
  3. სპიკის მეორე ბოლო მავთულის ნაჭრის გამოყენებით იყო დამაგრებული ყუთის სახურავზე.
  4. Servo დადებითი იყო დაკავშირებული +5V პინ 2 -ზე ჟოლოს პიზე.
  5. სერვო ნეგატიური უკავშირდებოდა GND პინ 39 -ს.
  6. სერვო სიგნალი უკავშირდებოდა პინ 12 -ს

ნაბიჯი 8: ყუთის დამზადება ჰარი პოტერის თემაზე

ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთის დამზადება ჰარი პოტერის თემაზე
ყუთის დამზადება ჰარი პოტერის თემაზე

ყუთი ჰარი პოტერის თემატიკის შესაქმნელად, მე დავბეჭდე სხვადასხვა ნივთების ფერადი გამოსახულებები, როგორიცაა ჰარი პოტერის ლოგო, ჰოგვორტსის ქერქი, თითოეული ოთხივე სახლის გვირგვინი და ა. ადგილები.

მე ასევე გამოვიყენე ყვითელი ფერის ხავერდის ფურცელი ზოლების დასაჭრელად და ჩავამაგრე სახურავზე, რათა ყუთს იგივე ფერი მიენიჭა, როგორც გრიფინდორის სახლს. სახურავის შიდა ნაწილი და სერვო დაფარული მწვანე ხავერდის ფურცლით. სახურავის შიგნიდან დავამატე მეტი სიმბოლო და ემბლემა, სადაც ნაჩვენებია ცხოველები, რომლებიც წარმოადგენენ ჰოგვორტსის სკოლის თითოეულ სახლს.

შემდეგ საბოლოოდ ჩავსვი ჩემი ჰარი პოტერთან დაკავშირებული ყველაფერი ყუთში, რომელშიც შედიოდა გრიფინდორის მაყუჩი, დღიური ჰოგვორტსის უნიფორმით და ამ პროექტში გამოყენებული უხუცესი კვერთხი: D

გირჩევთ: