สารบัญ:
- ขั้นตอนที่ 1: HackerBox 0024: เนื้อหาในกล่อง
- ขั้นตอนที่ 2: คอมพิวเตอร์วิทัศน์
- ขั้นตอนที่ 3: การประมวลผลและ OpenCV
- ขั้นตอนที่ 4: แพลตฟอร์มไมโครคอนโทรลเลอร์ Arduino Nano
- ขั้นตอนที่ 5: Arduino Integrated Development Environment (IDE)
- ขั้นตอนที่ 6: เซอร์โวมอเตอร์
- ขั้นตอนที่ 7: การประกอบกลไกแพนและเอียง
- ขั้นตอนที่ 8: การติดตั้ง Pan and Tilt Assembly
- ขั้นตอนที่ 9: ต่อสายและทดสอบชุดแพนและเอียง
- ขั้นตอนที่ 10: การติดตามใบหน้าด้วย OpenCV
- ขั้นตอนที่ 11: แฮ็กดาวเคราะห์
วีดีโอ: HackerBox 0024: Vision Quest: 11 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:08
Vision Quest - ในเดือนนี้ HackerBox Hackers กำลังทดลองใช้ Computer Vision และ Servo Motion Tracking คำแนะนำนี้มีข้อมูลสำหรับการทำงานกับ HackerBox #0024 ซึ่งคุณสามารถรับได้ที่นี่จนกว่าของจะหมด นอกจากนี้ หากคุณต้องการรับ HackerBox แบบนี้ในกล่องจดหมายของคุณทุกเดือน โปรดสมัครสมาชิกที่ HackerBoxes.com และเข้าร่วมการปฏิวัติ!
หัวข้อและวัตถุประสงค์การเรียนรู้สำหรับ HackerBox 0024:
- ทดลองกับคอมพิวเตอร์วิชั่น
- การตั้งค่า OpenCV (คอมพิวเตอร์วิทัศน์)
- การเขียนโปรแกรม Arduino Nano จาก Arduino IDE
- การควบคุมเซอร์โวมอเตอร์ด้วย Arduino Nano
- การประกอบชุดกลไกแพนและเอียง
- การควบคุม Pan และ Tilt Motion ด้วยไมโครคอนโทรลเลอร์
- การติดตามใบหน้าโดยใช้ OpenCV
HackerBoxes เป็นบริการกล่องสมัครสมาชิกรายเดือนสำหรับอุปกรณ์อิเล็กทรอนิกส์ DIY และเทคโนโลยีคอมพิวเตอร์ เราเป็นมือสมัครเล่น ผู้สร้าง และผู้ทดลอง เราคือผู้ใฝ่ฝัน แฮ็คดาวเคราะห์!
ขั้นตอนที่ 1: HackerBox 0024: เนื้อหาในกล่อง
- HackerBoxes #0024 การ์ดอ้างอิงสำหรับสะสม
- สามขายึดแพนและชุดเอียง
- เซอร์โว MG996R สองตัวพร้อมอุปกรณ์เสริม
- ตัวเชื่อมต่อเซอร์โวแบบวงกลมอลูมิเนียมสองตัว
- Arduino Nano V3 - 5V, 16MHz, MicroUSB
- ชุดประกอบกล้องดิจิตอลพร้อมสาย USB
- เลนส์สามตัวพร้อมคลิปเมาท์อเนกประสงค์
- ไฟปากกาตรวจสุขภาพ
- จัมเปอร์ Dupont ชาย/หญิง
- สาย MicroUSB
- สติ๊กเกอร์ OpenCV สุดพิเศษ
- สติ๊กเกอร์ Dia de Muertos สุดพิเศษ
สิ่งอื่น ๆ ที่จะเป็นประโยชน์:
- เศษไม้กระดานขนาดเล็กสำหรับฐานกล้อง
- หัวแร้ง หัวแร้ง และเครื่องมือบัดกรีพื้นฐาน
- คอมพิวเตอร์สำหรับใช้งานเครื่องมือซอฟต์แวร์
ที่สำคัญที่สุด คุณจะต้องมีความรู้สึกของการผจญภัย จิตวิญญาณของ DIY และความอยากรู้อยากเห็นของแฮ็กเกอร์ อุปกรณ์อิเล็กทรอนิกส์ DIY ที่ไม่ยอมใครง่ายๆ ไม่ใช่เรื่องง่าย และเราไม่ได้ทำเพื่อคุณ เป้าหมายคือความก้าวหน้า ไม่ใช่ความสมบูรณ์แบบ เมื่อคุณยืนกรานและสนุกไปกับการผจญภัย คุณจะเกิดความพึงพอใจอย่างมากจากการเรียนรู้เทคโนโลยีใหม่ ๆ และหวังว่าโครงการบางโครงการจะได้ผล เราขอแนะนำให้ดำเนินการแต่ละขั้นตอนอย่างช้าๆ ใส่ใจในรายละเอียด และไม่ลังเลที่จะขอความช่วยเหลือ
คำถามที่พบบ่อย: เราต้องการขอให้สมาชิก HackerBox ทุกคนได้รับความโปรดปรานอย่างมาก โปรดสละเวลาสักครู่เพื่อตรวจสอบคำถามที่พบบ่อยบนเว็บไซต์ HackerBoxes ก่อนติดต่อฝ่ายสนับสนุน เห็นได้ชัดว่าเราต้องการช่วยเหลือสมาชิกทุกคนเท่าที่จำเป็น แต่อีเมลสนับสนุนส่วนใหญ่ของเรามักมีคำถามง่ายๆ ที่อธิบายไว้อย่างชัดเจนในคำถามที่พบบ่อย ขอบคุณที่เข้าใจ!
ขั้นตอนที่ 2: คอมพิวเตอร์วิทัศน์
คอมพิวเตอร์วิทัศน์เป็นสาขาสหวิทยาการที่เกี่ยวข้องกับการที่คอมพิวเตอร์ได้รับความเข้าใจในระดับสูงจากภาพหรือวิดีโอดิจิทัล จากมุมมองของวิศวกรรม คอมพิวเตอร์วิทัศน์พยายามที่จะทำงานอัตโนมัติที่ระบบการมองเห็นของมนุษย์สามารถทำได้ ตามระเบียบวินัยทางวิทยาศาสตร์ คอมพิวเตอร์วิทัศน์เกี่ยวข้องกับทฤษฎีเบื้องหลังระบบประดิษฐ์ที่ดึงข้อมูลจากภาพ ข้อมูลภาพมีได้หลายรูปแบบ เช่น ลำดับวิดีโอ มุมมองจากกล้องหลายตัว หรือข้อมูลหลายมิติจากเครื่องสแกนทางการแพทย์ ในฐานะที่เป็นวินัยทางเทคโนโลยี คอมพิวเตอร์วิทัศน์พยายามที่จะใช้ทฤษฎีและแบบจำลองในการสร้างระบบการมองเห็นด้วยคอมพิวเตอร์ โดเมนย่อยของการมองเห็นด้วยคอมพิวเตอร์ ได้แก่ การสร้างฉากขึ้นใหม่ การตรวจจับเหตุการณ์ การติดตามวิดีโอ การจดจำวัตถุ การประเมินท่าทาง 3 มิติ การเรียนรู้ การสร้างดัชนี การประมาณการเคลื่อนไหว และการฟื้นฟูภาพ
เป็นที่น่าสนใจที่จะสังเกตว่าการมองเห็นด้วยคอมพิวเตอร์อาจถือได้ว่าเป็นสิ่งที่ตรงกันข้ามกับคอมพิวเตอร์กราฟิก
ขั้นตอนที่ 3: การประมวลผลและ OpenCV
การประมวลผลเป็นสมุดร่างซอฟต์แวร์ที่ยืดหยุ่นและเป็นภาษาสำหรับการเรียนรู้วิธีการเขียนโค้ดภายในบริบทของทัศนศิลป์ การประมวลผลได้ส่งเสริมการรู้เท่าทันซอฟต์แวร์ในทัศนศิลป์และการรู้หนังสือเชิงภาพในเทคโนโลยี มีนักเรียน ศิลปิน นักออกแบบ นักวิจัย และมือสมัครเล่นหลายหมื่นคนที่ใช้การประมวลผลเพื่อการเรียนรู้และการสร้างต้นแบบ
OpenCV (Open Source Computer Vision Library) เป็นวิสัยทัศน์คอมพิวเตอร์โอเพ่นซอร์สและไลบรารีซอฟต์แวร์การเรียนรู้ของเครื่อง OpenCV สร้างขึ้นเพื่อจัดเตรียมโครงสร้างพื้นฐานทั่วไปสำหรับแอปพลิเคชันการมองเห็นด้วยคอมพิวเตอร์ และเพื่อเร่งการใช้การรับรู้ของเครื่องในผลิตภัณฑ์เชิงพาณิชย์ ไลบรารี OpenCV มีอัลกอริธึมที่ปรับให้เหมาะสมมากกว่า 2,500 แบบ ซึ่งรวมถึงชุดคอมพิวเตอร์วิทัศน์แบบคลาสสิกและล้ำสมัยและอัลกอริธึมการเรียนรู้ด้วยเครื่องที่ครอบคลุมทั้งแบบคลาสสิกและล้ำสมัย อัลกอริทึมเหล่านี้สามารถใช้เพื่อตรวจจับและจดจำใบหน้า ระบุวัตถุ จำแนกการกระทำของมนุษย์ในวิดีโอ ติดตามการเคลื่อนไหวของกล้อง ติดตามวัตถุที่เคลื่อนไหว และอื่นๆ
ติดตั้ง OpenCV ภายในการประมวลผลจากเมนู File > Examples โดยเลือก "Add Examples" จากนั้นภายใต้แท็บ Libraries ติดตั้งทั้งวิดีโอและไลบรารี OpenCV เปิดตัวอย่าง LiveCamTest สำหรับการติดตามใบหน้าขั้นพื้นฐาน ลองดูตัวอย่าง OpenCV สำหรับการประมวลผลอื่นๆ ที่นี่
แหล่งข้อมูลเพิ่มเติม:
การเริ่มต้นใช้งาน Computer Vision เป็นโครงการหนังสือที่ให้จุดเริ่มต้นที่ง่ายสำหรับการทดลองเชิงสร้างสรรค์ด้วยคอมพิวเตอร์วิทัศน์ แนะนำรหัสและแนวคิดที่จำเป็นในการสร้างโครงการวิชันซิสเต็มคอมพิวเตอร์
การเขียนโปรแกรม Computer Vision with Python เป็นหนังสือของ O'Reilly บน PCV ซึ่งเป็นโมดูล Python แบบโอเพนซอร์สสำหรับคอมพิวเตอร์วิทัศน์
การเรียนรู้ OpenCV
คอมพิวเตอร์วิทัศน์: อัลกอริทึมและแอปพลิเคชัน
การเรียนรู้ OpenCV
Stanford Course CS231n Convolutional Neural Networks เพื่อการจดจำภาพ (16 วิดีโอ)
Chris Urmson TED Talk รถยนต์ไร้คนขับมองเห็นถนนได้อย่างไร
ขั้นตอนที่ 4: แพลตฟอร์มไมโครคอนโทรลเลอร์ Arduino Nano
เราสามารถใช้แพลตฟอร์ม microntroller ทั่วไปในการควบคุมเซอร์โวในเมาท์กล้องแพนและเอียงของเรา Arduino Nano เป็นบอร์ด Arduino ขนาดเล็กที่ยึดติดกับพื้นผิว เป็นมิตรกับบอร์ดบอร์ด พร้อม USB ในตัว มันมีคุณสมบัติครบถ้วนอย่างน่าอัศจรรย์และแฮ็คได้ง่าย
คุณสมบัติ:
- ไมโครคอนโทรลเลอร์: Atmel ATmega328P
- แรงดันไฟฟ้า: 5V
- พิน I/O ดิจิตอล: 14 (6 PWM)
- พินอินพุตแบบอะนาล็อก: 8
- กระแสไฟตรงต่อขา I/O: 40 mA
- หน่วยความจำแฟลช: 32 KB (2KB สำหรับ bootloader)
- SRAM: 2 KB
- EEPROM: 1 KB
- ความเร็วสัญญาณนาฬิกา: 16 MHz
- ขนาด: 17mm x 43mm
Arduino Nano รุ่นพิเศษนี้คือการออกแบบ Robotdyn สีดำ อินเทอร์เฟซใช้พอร์ต MicroUSB ออนบอร์ดที่เข้ากันได้กับสาย MicroUSB เดียวกันกับที่ใช้กับโทรศัพท์มือถือและแท็บเล็ตจำนวนมาก
Arduino Nanos มีชิปบริดจ์ USB/ซีเรียลในตัว สำหรับรุ่นพิเศษนี้ ชิปบริดจ์คือ CH340G โปรดทราบว่ามีชิปบริดจ์ USB/ซีเรียลประเภทอื่นๆ ที่ใช้กับบอร์ด Arduino ประเภทต่างๆ ชิปเหล่านี้อนุญาตให้พอร์ต USB ของคอมพิวเตอร์สื่อสารกับอินเทอร์เฟซแบบอนุกรมบนชิปตัวประมวลผลของ Arduino
ระบบปฏิบัติการของคอมพิวเตอร์ต้องใช้ไดรเวอร์อุปกรณ์เพื่อสื่อสารกับชิป USB/ซีเรียล ไดรเวอร์ช่วยให้ IDE สามารถสื่อสารกับบอร์ด Arduino ไดรเวอร์อุปกรณ์เฉพาะที่จำเป็นขึ้นอยู่กับทั้งเวอร์ชันของระบบปฏิบัติการและประเภทของชิป USB/ซีเรียล สำหรับชิป CH340 USB/Serial มีไดรเวอร์สำหรับระบบปฏิบัติการหลายระบบ (UNIX, Mac OS X หรือ Windows) ผู้ผลิต CH340 เป็นผู้จัดหาไดรเวอร์เหล่านั้นที่นี่
เมื่อคุณเสียบ Arduino Nano เข้ากับพอร์ต USB ของคอมพิวเตอร์เป็นครั้งแรก ไฟสีเขียวจะสว่างขึ้น และหลังจากไฟ LED สีฟ้าจะเริ่มกะพริบช้าๆ ไม่นาน สิ่งนี้เกิดขึ้นเนื่องจาก Nano ถูกโหลดไว้ล่วงหน้าด้วยโปรแกรม BLINK ซึ่งทำงานบน Arduino Nano ใหม่ล่าสุด
ขั้นตอนที่ 5: Arduino Integrated Development Environment (IDE)
หากคุณยังไม่ได้ติดตั้ง Arduino IDE คุณสามารถดาวน์โหลดได้จาก Arduino.cc
หากคุณต้องการข้อมูลเบื้องต้นเพิ่มเติมสำหรับการทำงานในระบบนิเวศ Arduino เราขอแนะนำให้ตรวจสอบคำแนะนำสำหรับ HackerBoxes Starter Workshop
เสียบนาโนเข้ากับสายเคเบิล MicroUSB และปลายอีกด้านของสายเคเบิลเข้ากับพอร์ต USB บนคอมพิวเตอร์ เปิดซอฟต์แวร์ Arduino IDE เลือกพอร์ต USB ที่เหมาะสมใน IDE ภายใต้เครื่องมือ>พอร์ต (น่าจะเป็นชื่อที่มี "wchusb" อยู่ในนั้น). เลือก "Arduino Nano" ใน IDE ภายใต้ tools>board
สุดท้าย โหลดโค้ดตัวอย่างบางส่วน:
ไฟล์->ตัวอย่าง->พื้นฐาน->กะพริบ
นี่คือรหัสที่โหลดไว้ล่วงหน้าบน Nano และควรจะทำงานในขณะนี้เพื่อกะพริบไฟ LED สีน้ำเงินอย่างช้าๆ ดังนั้น หากเราโหลดโค้ดตัวอย่างนี้ จะไม่มีอะไรเปลี่ยนแปลง ให้ปรับเปลี่ยนโค้ดเล็กน้อยแทน
เมื่อมองใกล้ ๆ คุณจะเห็นว่าโปรแกรมเปิดไฟ LED รอ 1,000 มิลลิวินาที (หนึ่งวินาที) ปิดไฟ LED รออีกหนึ่งวินาทีแล้วทำทุกอย่างอีกครั้ง - ตลอดไป
แก้ไขโค้ดโดยเปลี่ยนคำสั่ง "delay(1000)" ทั้งคู่เป็น "delay(100)" การปรับเปลี่ยนนี้จะทำให้ LED กะพริบเร็วขึ้น 10 เท่า จริงไหม?
มาโหลดโค้ดที่แก้ไขแล้วลงใน Nano โดยคลิกปุ่ม UPLOAD (ไอคอนลูกศร) เหนือโค้ดที่คุณแก้ไข ดูรหัสด้านล่างสำหรับข้อมูลสถานะ: "กำลังรวบรวม" แล้ว "กำลังอัปโหลด" ในที่สุด IDE ควรระบุว่า "การอัปโหลดเสร็จสมบูรณ์" และไฟ LED ของคุณควรกะพริบเร็วขึ้น
ถ้าเป็นเช่นนั้นขอแสดงความยินดี! คุณเพิ่งแฮ็คโค้ดฝังตัวชิ้นแรกของคุณ
เมื่อโหลดและเรียกใช้เวอร์ชันกะพริบเร็วของคุณแล้ว ทำไมไม่ลองดูว่าคุณสามารถเปลี่ยนรหัสอีกครั้งเพื่อทำให้ไฟ LED กะพริบเร็วสองครั้งแล้วรอสองสามวินาทีก่อนที่จะทำซ้ำได้หรือไม่ ให้มันลอง! แล้วรูปแบบอื่นๆล่ะ? เมื่อคุณประสบความสำเร็จในการแสดงภาพผลลัพธ์ที่ต้องการ เข้ารหัส และสังเกตว่ามันทำงานได้ตามที่วางแผนไว้ คุณได้ก้าวไปสู่การเป็นแฮ็กเกอร์ฮาร์ดแวร์ที่มีความสามารถ
ขั้นตอนที่ 6: เซอร์โวมอเตอร์
โดยทั่วไปแล้วเซอร์โวมอเตอร์จะถูกควบคุมโดยชุดของพัลส์ไฟฟ้าที่เกิดซ้ำ โดยที่ความกว้างของพัลส์ระบุตำแหน่งของเซอร์โว สัญญาณควบคุมความกว้างพัลส์ (PWM) มักถูกสร้างขึ้นโดยไมโครคอนโทรลเลอร์ทั่วไป เช่น Arduino
เซอร์โวขนาดเล็กสำหรับงานอดิเรก เช่น MG996R เชื่อมต่อผ่านการเชื่อมต่อแบบสามสายมาตรฐาน: สายไฟสองเส้นสำหรับแหล่งจ่ายไฟ DC และสายหนึ่งเส้นสำหรับควบคุมพัลส์ควบคุม เซอร์โว MG996R มีแรงดันไฟในการทำงาน 4.8-7.2 VDC
ขั้นตอนที่ 7: การประกอบกลไกแพนและเอียง
- ดึงเซอร์โว MG996R ทั้งสองออกจากกระเป๋าและเก็บอุปกรณ์เสริมที่ให้มาไว้ตอนนี้
- ติดตัวเชื่อมเซอร์โวแบบวงกลมอลูมิเนียมเข้ากับเซอร์โวแต่ละตัว โปรดทราบว่าข้อต่อมาในถุงแยกจากเซอร์โว ข้อต่อเป็นแบบรัดแน่นมาก เริ่มต้นด้วยการกดตัวต่อเข้ากับส่วนท้ายของเอาต์พุตเซอร์โว จากนั้นขันสกรูเข้าที่รูตรงกลาง ขันเกลียวให้แน่นเพื่อดึงข้อต่อเข้ากับเอาต์พุตเซอร์โว
- โปรดทราบว่ามีตัวยึดสามตัวสำหรับการประกอบแบบแพนเอียง - ตัวยึดแบบกล่องสองอันและตัวยึดรูปตัวยูหนึ่งอัน
- ติดตั้งตัวยึดกล่องตัวใดตัวหนึ่งเข้ากับวงกลมอลูมิเนียมสำหรับเซอร์โวตัวใดตัวหนึ่ง เราจะเรียกเซอร์โวนี้ว่าแพนเซอร์โว จัดวางโครงยึดกล่องโดยให้ผนังตรงกลางชิดกับวงกลมอะลูมิเนียม โดยให้ผนังอีกสองด้านของโครงยึดกล่องหันออกจากแพนเซอร์โว ใช้รูตรงกลางที่ผนังตรงกลางของโครงใส่กล่อง การจัดเรียงนี้ควรอนุญาตให้แพนเซอร์โวหมุนโครงยึดกล่องที่ติดอยู่รอบ ๆ เมื่อมีการกระตุ้น
- วางตำแหน่งเซอร์โวตัวอื่น (เอียงเซอร์โว) ลงในตัวยึดกล่องที่ติดอยู่กับวงกลมอลูมิเนียมของแพนเซอร์โว ใช้น็อตและสลักเกลียวอย่างน้อยสองตัวเพื่อติดเซอร์โวเอียง - หนึ่งอันในแต่ละด้าน
- จับ U-bracket ใส่ "แบริ่ง" ทองเหลืองจากด้านในของ U ผ่านรูยึดเดือยขนาดใหญ่ช่องใดช่องหนึ่ง
- วาง U-bracket พร้อมแบริ่งลงบนเซอร์โวแบบเอียงซึ่งอยู่ภายในฐานยึดกล่อง โดยให้รูติดตั้งเดือยขนาดใหญ่อีกอัน (อันที่ไม่มีแบริ่ง) อยู่ในแนวเดียวกับวงกลมอลูมิเนียมบนเซอร์โวแบบเอียง
- ใช้สกรูยึด U-bracket เข้ากับวงกลมอลูมิเนียมที่ด้านหนึ่งของ U-bracket
- อีกด้านหนึ่งของโครงรูปตัว U ให้ขันสกรูตัวเดียวผ่านตลับลูกปืนและเข้าไปในรูเล็กๆ ในโครงยึดกล่องด้านใน สิ่งนี้จะช่วยให้ U-bracket สามารถหมุนรอบ box-bracket ได้ในภายหลังเมื่อเอียง servo ถูกกระตุ้น
ขั้นตอนที่ 8: การติดตั้ง Pan and Tilt Assembly
ส่วนฐานกล่องที่เหลือสามารถขันเกลียวให้เป็นเศษไม้เล็กๆ เพื่อใช้เป็นฐานกล้องได้ตามภาพ สุดท้าย แพนเซอร์โวจะติดตั้งอยู่ภายในฐานยึดกล่องที่เหลืออยู่โดยใช้น็อตและสลักเกลียวอย่างน้อยสองตัวเพื่อติดเซอร์โวเข้ากับโครงยึด - หนึ่งอันที่แต่ละด้าน
ขั้นตอนที่ 9: ต่อสายและทดสอบชุดแพนและเอียง
ในการต่อสายเซอร์โวตามแผนผัง การตัดคอนเนคเตอร์ตัวเมียดั้งเดิมออกจากเซอร์โวนั้นทำได้เร็วที่สุด แล้วใช้จัมเปอร์ตัวเมียของดูปองท์เพื่อรับสัญญาณและสายกราวด์ที่ต่อกับพินนาโน
นาโนไม่มีกระแสไฟเพียงพอสำหรับการจ่ายไฟ 5V เพื่อจ่ายไฟเซอร์โวจาก USB ดังนั้นจึงขอแนะนำให้ใช้แหล่งจ่ายไฟเพิ่มเติม สามารถเป็นอะไรก็ได้ในช่วง 4.8-7.2 โวลต์ ตัวอย่างเช่น แบตเตอรี่ AA สี่ก้อน (ในซีรีย์) จะทำงานได้ดี ม้านั่งสำรองหรือหูดที่ผนังก็เป็นทางเลือกที่ดีเช่นกัน
ตัวอย่างโค้ด Arduino ง่ายๆ ที่แนบมาที่นี่เป็น PanTiltTest.ino สามารถใช้ทดสอบการควบคุมเซอร์โวสองตัวจากมอนิเตอร์แบบอนุกรมบน Arduino IDE ตั้งค่าอัตราบอดของจอภาพให้ตรงกับ 9600bps ที่ตั้งไว้ในโค้ดตัวอย่าง การป้อนค่ามุมระหว่าง 0 ถึง 180 องศาจะจัดตำแหน่งเซอร์โวให้สอดคล้องกัน
สุดท้ายนี้ สามารถติดตั้งโมดูลกล้อง USB (หรือเซ็นเซอร์อื่นๆ) กับ U-Bracket ของ Pan-Tilt Assembly เพื่อใช้ในการติดตามแอปพลิเคชัน
ขั้นตอนที่ 10: การติดตามใบหน้าด้วย OpenCV
ระบบติดตามใบหน้าด้วยวิชันซิสเต็มสามารถนำไปใช้ได้โดยการรวมระบบย่อยตามที่แสดงในแผนภาพบล็อก ร่าง SerialServoControl สำหรับ Arduino สามารถพบได้ในบทช่วยสอน Sparkfun ต่อไปนี้พร้อมกับการสาธิตที่เกี่ยวข้องโดยใช้ OpenCV, การประมวลผล, Arduino, กล้อง USB และการประกอบ Pan/Tilt เพื่อติดตามใบหน้ามนุษย์ การสาธิตนี้ใช้เซอร์โวสองตัวเพื่อปรับตำแหน่งกล้องเพื่อให้ใบหน้าอยู่ในกรอบวิดีโอแม้ในขณะที่ผู้ใช้เคลื่อนที่ไปรอบๆ ห้อง ตัวอย่างเช่น โค้ดใน C# ให้ตรวจสอบที่เก็บ GitHub สำหรับวิดีโอ CamBot
ขั้นตอนที่ 11: แฮ็กดาวเคราะห์
หากคุณชอบคำแนะนำนี้และต้องการให้กล่องอิเล็กทรอนิกส์และโครงการเทคโนโลยีคอมพิวเตอร์ส่งตรงไปยังกล่องจดหมายของคุณทุกเดือนโปรดเข้าร่วมกับเราโดยสมัครที่นี่
ติดต่อและแบ่งปันความสำเร็จของคุณในความคิดเห็นด้านล่างหรือบนหน้า Facebook ของ HackerBoxes โปรดแจ้งให้เราทราบหากคุณมีคำถามหรือต้องการความช่วยเหลือ ขอบคุณที่เป็นส่วนหนึ่งของ HackerBoxes โปรดให้ข้อเสนอแนะและข้อเสนอแนะของคุณมา HackerBox เป็นกล่องของคุณ มาทำอะไรที่ยอดเยี่ยมกัน!
แนะนำ:
ความคงอยู่ของ Vision LED Staff: 11 ขั้นตอน (พร้อมรูปภาพ)
ความคงอยู่ของพนักงาน LED ของ Vision: เป็นที่ทราบกันดีว่าแม้หลังจากปิดไฟแล้ว ดวงตาของมนุษย์ก็ยัง "มองเห็น" เป็นเสี้ยววินาที สิ่งนี้เรียกว่าการคงอยู่ของการมองเห็นหรือ POV และอนุญาตให้ "ระบายสี" รูปภาพโดยเลื่อนแถบ o อย่างรวดเร็ว
Prototype Night Vision Goggles สำหรับปืนอัดลม/เพนท์บอล: 4 ขั้นตอน
Prototype Night Vision Goggles สำหรับ Airsoft/Paintball: หมายเหตุสั้น ๆ เกี่ยวกับ Night Visionแว่นตาสำหรับมองกลางคืน True (gen 1, gen2 และ gen 3) มักจะทำงานโดยการขยายแสงโดยรอบ อย่างไรก็ตาม แว่นตากลางคืนที่เราจะสร้างที่นี่ทำงานโดยใช้หลักการที่แตกต่างกัน เราจะใช้กล้อง Pi NoIR ซึ่ง
Night Vision Goggles สำหรับ Google Cardboard: 10 ขั้นตอน (พร้อมรูปภาพ)
แว่นตา Night Vision สำหรับ Google Cardboard: ข้อจำกัดความรับผิดชอบ: การใช้อุปกรณ์นี้มีขึ้นเพื่อความบันเทิง การศึกษา และการใช้งานทางวิทยาศาสตร์เท่านั้น ไม่ใช่เพื่อการสอดแนมและ/หรือการเฝ้าระวัง "แกดเจ็ตสอดแนม" ฟีเจอร์ต่าง ๆ ถูกเพิ่มเข้ามาในแอพเพื่อความสนุกสนานเท่านั้น และจะไม่มีประโยชน์อะไรสำหรับ
การแฮ็ก Hexbug Spider XL เพื่อเพิ่ม Computer Vision โดยใช้สมาร์ทโฟน Android: 9 ขั้นตอน (พร้อมรูปภาพ)
การแฮ็ก Hexbug Spider XL เพื่อเพิ่ม Computer Vision โดยใช้สมาร์ทโฟน Android: ฉันเป็นแฟนตัวยงของ Hexbug™ แมงมุม ฉันเป็นเจ้าของมากกว่าหนึ่งโหลและแฮ็คพวกเขาทั้งหมด ทุกครั้งที่ลูกชายของฉันไปหาเพื่อน’ งานเลี้ยงวันเกิดเพื่อนได้รับ Hexbug™ แมงมุมเป็นของขวัญ ฉันได้แฮ็คหรือ
Micro:bit MU Vision Sensor - การติดตามวัตถุ: 7 ขั้นตอน
Micro:bit MU Vision Sensor - การติดตามวัตถุ: ดังนั้นในคำแนะนำนี้เราจะเริ่มเขียนโปรแกรม Smart Car ที่เราสร้างในคำแนะนำนี้และเราติดตั้งเซ็นเซอร์วิชันซิสเต็ม MU ในคำแนะนำนี้ เราจะตั้งโปรแกรมไมโคร: บิตด้วยการติดตามวัตถุง่ายๆ ดังนั้น th