การเข้ารหัสด้วยเซ็นเซอร์ AI Vision ใน VEXcode V5 Blocks

ตรวจสอบให้แน่ใจว่าคุณมี ลายเซ็นสี และ รหัสสี ที่กำหนดค่าด้วย AI Vision Sensor ของคุณ เพื่อให้สามารถใช้กับบล็อกของคุณได้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการกำหนดค่า คุณสามารถอ่านบทความด้านล่าง:

นอกจากนี้ AI Vision Sensor ยังสามารถตรวจจับ AI Classifcations และ AprilTags ได้อีกด้วย หากต้องการเรียนรู้วิธีเปิดใช้งานโหมดการตรวจจับเหล่านี้ โปรดไปที่นี่:

หากต้องการเรียนรู้รายละเอียดเพิ่มเติมเกี่ยวกับบล็อกแต่ละบล็อกเหล่านี้และวิธีใช้ใน VEXcode โปรดไปที่ไซต์ API


ถ่ายภาพ

บล็อกที่ประกอบด้วยคำสั่งถ่ายภาพสแน็ปช็อตที่มีตัวเลือกแบบดรอปดาวน์ 2 รายการ ได้แก่ รายการหนึ่งชื่อว่า AIVision1 และอีกรายการหนึ่งชื่อว่า COL1 บล็อกนี้ได้รับการออกแบบมาเพื่อถ่ายภาพสแน็ปช็อตจากเซ็นเซอร์ AI Vision และอ้างอิงวัตถุหรือสีเฉพาะจากตัวแปรที่กำหนดในสภาพแวดล้อมการเข้ารหัสภาพ รูปร่างของบล็อกมีส่วนโค้งเล็กน้อยที่ปลาย ซึ่งมีลักษณะเฉพาะของอินเทอร์เฟซการเข้ารหัสแบบบล็อก

บล็อกTake Snapshot จะถ่ายภาพสิ่งที่ AI Vision Sensor กำลังมองเห็นในขณะนั้น และดึงข้อมูลจากสแนปช็อตนั้นเพื่อนำไปใช้ในโครงการต่อไปได้ เมื่อถ่ายภาพสแน็ปช็อต คุณจะต้องระบุประเภทของวัตถุที่ AI Vision Sensor ควรรวบรวมข้อมูล:

  • ลายเซ็นสี
  • รหัสสี
  • การจำแนกประเภท AI
  • แท็กเดือนเมษายน

การถ่ายสแน็ปช็อตจะสร้างอาร์เรย์ของวัตถุที่ตรวจพบทั้งหมดที่คุณระบุ ตัวอย่างเช่น หากคุณต้องการตรวจจับ "สีแดง"ลายเซ็นสีและ AI Vision Sensor ตรวจจับวัตถุสีแดง 3 ชิ้นที่แตกต่างกัน ข้อมูลจากทั้งสามชิ้นจะถูกวางไว้ในอาร์เรย์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการระบุระหว่างวัตถุที่แตกต่างกัน โปรดไปที่ส่วน "ตั้งค่ารายการวัตถุ" ในบทความนี้

บล็อกโค้ดสีฟ้าอ่อนที่มีคำสั่งให้ถ่ายภาพวัตถุหรือสี มีตัวเลือกแบบดรอปดาวน์สองตัวเลือก: ตัวเลือกหนึ่งชื่อว่า AIVision2 และอีกตัวเลือกหนึ่งชื่อว่าสีน้ำเงิน บล็อกนี้ได้รับการออกแบบมาเพื่อใช้ในสภาพแวดล้อมการเขียนโค้ดแบบบล็อก โดยจะจับภาพจากเซ็นเซอร์ AI Vision และติดตามวัตถุหรือสีที่กำหนดว่าเป็นสีน้ำเงิน บล็อกมีส่วนโค้งเล็กน้อยตามลักษณะเฉพาะของอินเทอร์เฟซการเข้ารหัสที่ใช้บล็อกโมดูลาร์

ในตัวอย่างนี้ ระบบจะตรวจจับเฉพาะวัตถุที่ตรงกับ "สีน้ำเงิน" ลายเซ็นสี ที่กำหนดค่าไว้เท่านั้น และไม่มีอะไรอื่นอีก

ข้อมูลที่นำมาจาก Snapshot

โปรดทราบว่าเซ็นเซอร์ AI Vision จะใช้ภาพที่ถ่ายล่าสุดสำหรับบล็อกใดๆ ที่เกิดขึ้นหลังจากนั้น เพื่อให้แน่ใจว่าคุณจะได้รับข้อมูลล่าสุดจาก AI Vision Sensor ของคุณอยู่เสมอ ให้ถ่ายภาพสแน็ปช็อตใหม่ทุกครั้งที่คุณต้องการดึงข้อมูลจากมัน 

ปณิธาน

การทำความเข้าใจความละเอียดของ AI Vision Sensor ถือเป็นสิ่งสำคัญสำหรับการตีความข้อมูลที่แม่นยำ เซ็นเซอร์มีความละเอียด 320x240 พิกเซล โดยมีจุดศูนย์กลางที่แน่นอนที่พิกัด (160, 120)

พิกัด X ที่น้อยกว่า 160 จะแสดงถึงครึ่งซ้ายของมุมมองของเซ็นเซอร์ ในขณะที่พิกัด X ที่มากกว่า 160 จะแสดงถึงครึ่งขวา ในทำนองเดียวกัน พิกัด Y ที่น้อยกว่า 120 จะแสดงถึงครึ่งบนของมุมมอง และพิกัดที่มากกว่า 120 จะแสดงถึงครึ่งล่าง

ไปที่ การทำความเข้าใจข้อมูลใน AI Vision Utility ใน VEXcode V5 เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการวัดวัตถุด้วย AI Vision Sensor

ความกว้างและความสูง

นี่คือความกว้างหรือความสูงของวัตถุที่ตรวจพบเป็นพิกเซล

รูปภาพแสดง Buckyball สีน้ำเงินพร้อมเส้นขอบสี่เหลี่ยมสีขาวติดตามอยู่ มุมบนซ้ายมีป้ายกำกับระบุว่าเป็นวัตถุสีน้ำเงิน มีพิกัด X:176, Y:117 และขนาด W:80, H:78 ลูกศรสีแดงเน้นความกว้างและความสูงของวัตถุ

การวัดความกว้างและความสูงช่วยระบุวัตถุที่แตกต่างกัน ตัวอย่างเช่น Buckyball จะมีความสูงมากกว่า Ring

วัตถุลูกบาศก์สีน้ำเงินสองชิ้นกำลังถูกติดตามโดยระบบการจดจำภาพ ลูกบาศก์ด้านบนมีโครงร่างสีขาว พร้อมป้ายระบุตำแหน่งเป็น X:215, Y:70 และขนาด W:73, H:84 ลูกบาศก์ส่วนล่างมีโครงร่างสีขาวคล้ายกัน โดยมีป้ายแสดง X:188, Y:184 และขนาด W:144, H:113 ลูกบาศก์แต่ละลูกจะมีเครื่องหมายกากบาทสีขาวอยู่ตรงกลาง ซึ่งน่าจะระบุจุดโฟกัสสำหรับการติดตาม ป้ายกำกับเน้นการวัดและการติดตามข้อมูลสำหรับแต่ละวัตถุ

ความกว้างและความสูงยังระบุระยะห่างของวัตถุจาก AI Vision Sensor อีกด้วย การวัดที่เล็กกว่าปกติหมายความว่าวัตถุนั้นอยู่ไกลออกไป ในขณะที่การวัดที่มากขึ้นแสดงว่าวัตถุนั้นอยู่ใกล้กว่า

โปรแกรมจะเริ่มด้วยบล็อกเมื่อเริ่มทำงาน ตามด้วยวงจรตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้เซ็นเซอร์ AI Vision (AIVision1) เพื่อตรวจจับวัตถุสีน้ำเงิน หากวัตถุมีอยู่ โปรแกรมจะตรวจสอบว่าความกว้างของวัตถุน้อยกว่า 250 พิกเซลหรือไม่ หากเป็นจริง หุ่นยนต์จะขับไปข้างหน้า หากเป็นจริง หุ่นยนต์จะหยุดขับ บล็อกเหล่านี้จะถูกวางซ้อนกันเพื่อบ่งบอกถึงการไหลของโปรแกรมในสภาพแวดล้อมการเขียนโค้ดแบบโมดูลาร์

ในตัวอย่างนี้ ความกว้างของวัตถุจะถูกใช้สำหรับการนำทาง หุ่นยนต์จะเข้าใกล้วัตถุจนความกว้างถึงขนาดที่กำหนด ก่อนที่จะหยุด

ศูนย์ X และศูนย์ Y

นี่คือพิกัดศูนย์กลางของวัตถุที่ตรวจพบเป็นพิกเซล

บัคกี้บอลสีน้ำเงินที่ถูกติดตามโดยระบบการมองเห็นคอมพิวเตอร์ วัตถุนั้นมีโครงร่างเป็นสี่เหลี่ยมสีขาว และภายในโครงร่างจะมีสี่เหลี่ยมสีแดงเล็กๆ ล้อมรอบไม้กางเขนสีขาวตรงกลาง ที่มุมบนซ้ายของรูปภาพ มีป้ายกำกับระบุว่าวัตถุนั้นเป็นสีน้ำเงิน โดยมีพิกัด X:176, Y:117 และขนาด W:80, H:78

พิกัด CenterX และ CenterY ช่วยในการนำทางและการระบุตำแหน่ง เซ็นเซอร์ AI Vision มีความละเอียด 320 x 240 พิกเซล

วัตถุลูกบาศก์สีน้ำเงินสองชิ้นที่ถูกติดตามโดยระบบการมองเห็น วัตถุด้านบนมีป้ายกำกับด้วยพิกัด X:215, Y:70 และขนาด W:73, H:84 พร้อมด้วยโครงร่างสีขาวและกากบาทสีขาวที่อยู่ตรงกลาง วัตถุด้านล่างมีป้ายกำกับพิกัด X:188, Y:184 และขนาด W:144, H:113 โดยมีเส้นขอบสีขาวพร้อมเครื่องหมายกากบาทสีขาวอยู่ตรงกลาง

คุณจะเห็นได้ว่าวัตถุที่อยู่ใกล้กับ AI Vision Sensor มากขึ้นจะมีพิกัด CenterY ต่ำกว่าวัตถุที่อยู่ไกลออกไป

ลำดับการเข้ารหัสแบบบล็อกเริ่มจากเมื่อเริ่มต้นตามด้วยการวนซ้ำตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้ AIVision1 เพื่อตรวจจับวัตถุสีน้ำเงิน หากมีวัตถุอยู่ โปรแกรมจะหมุนจนกว่าวัตถุจะอยู่ตรงกลางมุมมองของเซนเซอร์ AI Vision วัตถุจะถือว่าอยู่กึ่งกลางถ้าค่า centerX อยู่ระหว่าง 150 ถึง 170 หากวัตถุไม่ได้อยู่ตรงกลาง หุ่นยนต์จะเลี้ยวขวา หากไม่เป็นเช่นนั้น หุ่นยนต์จะหยุดขับเคลื่อน บล็อคแสดงการไหลและตรรกะของโปรแกรมภาพ

ในตัวอย่างนี้ เนื่องจากจุดศูนย์กลางของมุมมองของเซ็นเซอร์ AI Vision อยู่ที่ (160, 120) หุ่นยนต์จะเลี้ยวขวาจนกระทั่งพิกัดศูนย์กลาง X ของวัตถุที่ตรวจจับได้มีขนาดมากกว่า 150 พิกเซลแต่ต่ำกว่า 170 พิกเซล

มุม

มุมเป็นทรัพย์สินที่มีให้เฉพาะรหัสสีรหัส และเมษายนแท็ก แสดงว่ารหัสสีหรือ AprilTag ที่ตรวจพบมีการวางแนวแตกต่างกัน

กองลูกบาศก์สองลูก ลูกหนึ่งสีเขียวอยู่ด้านบน และอีกลูกสีน้ำเงินอยู่ด้านล่าง ซึ่งถูกติดตามโดยระบบการมองเห็น มีโครงร่างสีขาวล้อมรอบลูกบาศก์ทั้งสองลูก โดยมีกากบาทสีขาวอยู่ตรงกลางลูกบาศก์สีเขียว ป้ายกำกับที่ด้านล่างของรูปภาพจะแสดงเป็น Green_Blue A:87° ซึ่งระบุสีที่ตรวจพบและการวัดมุม ด้านล่างนั้น พิกัดจะแสดงเป็น X:117, Y:186 โดยมีมิติ W:137, H:172 ซึ่งแสดงตำแหน่งและขนาดของลูกบาศก์ที่ซ้อนกันในกรอบ

คุณสามารถดูได้ว่าหุ่นยนต์มีการวางแนวแตกต่างกันหรือไม่เมื่อเทียบกับรหัสสี หรือAprilTag และตัดสินใจนำทางตามนั้น

ลูกบาศก์ 2 ลูก สีเขียว 1 ลูก และสีน้ำเงิน 1 ลูก วางเคียงข้างกันและติดตามด้วยระบบการมองเห็น มีโครงร่างสีขาวล้อมรอบลูกบาศก์ทั้งสองลูก และมีกากบาทสีขาวอยู่ตรงกลาง ป้ายกำกับด้านบนซ้ายระบุเป็นสีเขียว_น้ำเงิน A:0° ซึ่งอ้างอิงถึงสีที่ตรวจพบและการวัดมุม ด้านล่างนั้น พิกัดจะแสดงเป็น X:150, Y:102 โดยมีมิติ W:179, H:109 ซึ่งแสดงตำแหน่งและขนาดของลูกบาศก์ภายในกรอบ

ตัวอย่างเช่น หากไม่สามารถตรวจพบรหัสสี ในมุมที่เหมาะสม วัตถุที่รหัสสีนั้นแสดงก็อาจไม่ถูกหุ่นยนต์หยิบขึ้นได้อย่างถูกต้อง

OriginX และ OriginY

OriginX และ OriginY คือพิกัดที่มุมบนซ้ายของวัตถุที่ตรวจพบเป็นพิกเซล

บัคกี้บอลสีน้ำเงินที่ถูกติดตามโดยระบบการมองเห็น โครงร่างสีขาวล้อมรอบวัตถุ โดยมีกากบาทสีขาวอยู่ตรงกลางภายในโครงร่าง ป้ายด้านบนซ้ายระบุสีของวัตถุเป็นสีน้ำเงิน พร้อมด้วยพิกัด X:176, Y:117 และขนาด W:80, H:78 สี่เหลี่ยมสีแดงเล็กๆ เน้นที่มุมบนซ้ายของวัตถุ

พิกัด OriginX และ OriginY ช่วยในการนำทางและการระบุตำแหน่ง การรวมพิกัดนี้กับความกว้างและความสูงของวัตถุ ช่วยให้คุณสามารถกำหนดขนาดของกล่องขอบเขตของวัตถุได้ สิ่งนี้สามารถช่วยในการติดตามวัตถุที่กำลังเคลื่อนที่หรือการนำทางระหว่างวัตถุได้

ลำดับการเข้ารหัสแบบบล็อกเริ่มจากเมื่อเริ่มต้นตามด้วยการวนซ้ำตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้ AIVision1 เพื่อตรวจจับวัตถุสีน้ำเงิน หากมีวัตถุอยู่ โปรแกรมจะวาดรูปสี่เหลี่ยมผืนผ้าบนหน้าจอ Brain ตามตำแหน่งและขนาดของวัตถุ สี่เหลี่ยมผืนผ้าถูกวาดโดยใช้ค่า originX, originY, width และ height ของวัตถุ ซึ่งให้มาโดยเซ็นเซอร์ AIVision1 โปรแกรมนี้จะติดตามและเน้นวัตถุที่ตรวจพบบนหน้าจอ Brain

ในตัวอย่างนี้ จะมีการวาดสี่เหลี่ยมผืนผ้าบน Brain โดยใช้พิกัดที่แน่นอนของจุดกำเนิด ความกว้าง และความสูง

แท็กID

tagID นี้มีให้ใช้ได้เฉพาะ AprilTagsเพียงเท่านั้น นี่คือหมายเลข ID สำหรับAprilTagที่ระบุ

การ์ดสี่เหลี่ยมสามใบพร้อม AprilTags ที่ถูกติดตามโดยระบบวิสัยทัศน์ การ์ดแต่ละใบจะมีหมายเลข ID และข้อมูลการติดตามที่เกี่ยวข้องติดไว้ การ์ดทางด้านซ้ายมีป้ายกำกับว่า ID:0 แสดงพิกัด A:350°, X:110, Y:96, W:41, H:41 ไพ่ตรงกลาง มีป้าย ID:3 มีพิกัด A:1°, X:187, Y:180, W:57, H:57 การ์ดทางด้านขวามีป้ายกำกับว่า ID:9 โดยมีพิกัดคือ A:3°, X:237, Y:89, W:38, H:38 การ์ดแต่ละใบจะมีโครงร่างสีขาว และระบบจะติดตามตำแหน่งและทิศทางของการ์ดเหล่านั้น

การระบุ AprilTags ที่เฉพาะเจาะจงช่วยให้สามารถนำทางแบบเลือกได้ คุณสามารถตั้งโปรแกรมให้หุ่นยนต์ของคุณเคลื่อนที่ไปยังแท็กบางแท็กในขณะที่เพิกเฉยต่อแท็กอื่นๆ ซึ่งจะทำให้สามารถใช้แท็กเหล่านั้นเป็นป้ายบอกทางสำหรับการนำทางอัตโนมัติได้อย่างมีประสิทธิภาพ

คะแนน

คุณสมบัติคะแนนจะใช้เมื่อตรวจจับการจำแนก AIรายการ ด้วย AI Vision Sensor

ภาพแสดงวัตถุ 4 ชิ้นที่ถูกติดตามโดยระบบการมองเห็น ได้แก่ ลูกบอล 2 ลูกและวงแหวน 2 วง ลูกบอลสีแดงมีพิกัด X:122, Y:84, W:67, H:66 และคะแนน 99% ลูกบอลสีน้ำเงินมี X:228, Y:86, W:70, H:68 โดยมีคะแนน 99% วงแหวนสีเขียวมีพิกัด X:109, Y:186, W:98, H:92 และคะแนน 99% วงแหวนสีแดงมีป้ายกำกับว่า X:259, Y:187, W:89, H:91 โดยมีคะแนน 99% วัตถุแต่ละชิ้นมีเส้นขอบเป็นสีขาว ซึ่งบ่งบอกถึงความแม่นยำในการติดตาม

คะแนนความเชื่อมั่นแสดงให้เห็นว่าเซ็นเซอร์ AI Vision มีความแม่นยำแค่ไหนในการตรวจจับ ในภาพนี้มีความมั่นใจ 99% ในการระบุการจำแนกด้วย AI ของวัตถุทั้งสี่นี้ คุณสามารถใช้คะแนนนี้เพื่อให้แน่ใจว่าหุ่นยนต์ของคุณเน้นเฉพาะการตรวจจับที่มีความมั่นใจสูงเท่านั้น


ตั้งค่ารายการวัตถุ

เมื่อ AI Vision Sensor ตรวจจับวัตถุ วัตถุนั้นจะถูกใส่ไว้ในอาร์เรย์ โดยค่าเริ่มต้น AI Vision Sensor จะดึงข้อมูลจากวัตถุแรกในอาร์เรย์ หรือวัตถุที่มีดัชนี 1 หาก AI Vision Sensor ของคุณตรวจพบวัตถุเพียงชิ้นเดียว ระบบจะเลือกวัตถุนั้นตามค่าเริ่มต้น

อย่างไรก็ตาม หาก AI Vision Sensor ของคุณตรวจพบวัตถุหลายชิ้นพร้อมกัน คุณจะต้องใช้บล็อกตั้งค่ารายการวัตถุ เพื่อระบุว่าคุณต้องการดึงข้อมูลจากวัตถุใด

บล็อคโค้ดสีฟ้าอ่อน ประกอบด้วยคำสั่งในการตั้งค่ารายการวัตถุสำหรับ AIVision1 ให้เป็น 1 บล็อกนี้เป็นส่วนหนึ่งของสภาพแวดล้อมการเข้ารหัสแบบบล็อก โดยทั่วไปใช้เพื่อกำหนดว่าเซนเซอร์ AI Vision ควรโฟกัสหรือติดตามวัตถุหรือรายการใด รูปร่างของบล็อกมีส่วนโค้งเล็กน้อยซึ่งเข้ากับลักษณะโมดูลาร์ของแพลตฟอร์มการเข้ารหัสภาพ

เมื่อ AI Vision Sensor ตรวจจับวัตถุได้หลายชิ้น วัตถุเหล่านั้นจะถูกจัดเรียงในอาร์เรย์จากใหญ่ที่สุดไปยังเล็กที่สุด นั่นหมายความว่าวัตถุขนาดใหญ่ที่สุดที่ตรวจพบจะถูกตั้งค่าเป็นดัชนีวัตถุ 1 เสมอ และวัตถุขนาดเล็กที่สุดจะถูกตั้งค่าเป็นหมายเลขสูงสุดเสมอ

อินเทอร์เฟซ AI Vision Utility ที่ตรวจพบลูกบาศก์สีน้ำเงินสองลูกทางด้านซ้าย โดยแต่ละลูกมีพิกัด X และ Y และมิติกำกับไว้ ระบบเชื่อมต่อแล้ว และ AprilTags จะถูกเปิดใช้งาน ขณะที่ AI Classification จะถูกปิด ทางด้านขวาจะแสดงการตั้งค่าสีน้ำเงินพร้อมช่วงเฉดสีและความอิ่มตัวที่ปรับได้ โดยตั้งไว้ที่ 22 และ 0.34 ตามลำดับ มีตัวเลือกในการเพิ่มหรือตั้งค่าสีและหยุดวิดีโอ เฟิร์มแวร์ได้รับการอัปเดตเป็นเวอร์ชัน 1.0.0.b16 และมีปุ่มปิดที่ด้านล่าง

ในตัวอย่างนี้ มีการตรวจพบวัตถุ 2 ชิ้นที่มีลายเซ็นสี "สีน้ำเงิน" ทั้งคู่จะถูกวางไว้ในอาร์เรย์เมื่อใช้บล็อกTake Snapshot

อินเทอร์เฟซ AI Vision Utility ติดตามลูกบาศก์สีน้ำเงิน 2 ลูกที่มีข้อมูล X, Y และมิติกำกับไว้ ลูกบาศก์ทางซ้ายมีพิกัด X:127, Y:179 และขนาด W:136, H:123 ในขณะที่ลูกบาศก์ทางขวามีพิกัด X:233, Y:74 และขนาด W:78, H:87 ระบบเชื่อมต่อแล้ว, AprilTags เปิดอยู่ และ AI Classification ปิดอยู่ การตั้งค่าสีน้ำเงินมีช่วงเฉดสี 22 และความอิ่มตัว 0.34 ปุ่มหยุดวิดีโอและข้อมูลเฟิร์มแวร์ (เวอร์ชัน 1.0.0.b16) จะแสดงที่ด้านล่าง

ที่นี่ วัตถุที่อยู่ด้านหน้าจะกลายเป็นดัชนีวัตถุ 1 เนื่องจากเป็นวัตถุที่ใหญ่ที่สุด และวัตถุที่เล็กที่สุดจะกลายเป็นดัชนีวัตถุ 2


มีวัตถุอยู่

ก่อนจะดึงข้อมูลใดๆ จากสแนปช็อต สิ่งสำคัญคือต้องตรวจสอบก่อนเสมอว่าเป็นหรือ เพื่อให้แน่ใจว่า AI Vision Sensor ตรวจพบวัตถุใดๆ จากสแนปช็อตนั้นหรือไม่ นี่คือจุดที่บล็อกObject Exists เข้ามามีบทบาท

มีบล็อกโค้ดหกเหลี่ยมสีฟ้าอ่อนพร้อมข้อความวัตถุ AIVision1 หรือไม่ บล็อกนี้เป็นส่วนหนึ่งของสภาพแวดล้อมการเข้ารหัสแบบบล็อก โดยทั่วไปจะใช้เพื่อตรวจสอบว่ามีการตรวจจับวัตถุโดยเซ็นเซอร์ AI Vision ที่มีป้ายว่า AIVision1 หรือไม่ บล็อกได้รับการออกแบบมาเพื่อให้พอดีกับโครงสร้างการเข้ารหัสแบบโมดูลาร์ โดยมีความโค้งและรูปร่างเล็กน้อยซึ่งเป็นลักษณะเฉพาะของสภาพแวดล้อมดังกล่าว

บล็อกนี้จะส่งคืนค่าTrue หรือFalse เพื่อตรวจสอบว่าสแนปช็อตที่ถ่าย
มีการตรวจพบวัตถุใดๆ
ควรใช้บล็อกนี้
เพื่อให้แน่ใจว่าคุณไม่ได้พยายามดึงข้อมูลใดๆ จากสแนปช็อตที่อาจว่างเปล่า

ลำดับการเข้ารหัสแบบบล็อกซึ่งเริ่มจากเมื่อเริ่มต้นและตามด้วยการวนซ้ำตลอดไป ภายในลูป เซ็นเซอร์ AI Vision (AIVision2) จะถ่ายภาพเพื่อตรวจจับสีน้ำเงิน หากตรวจพบวัตถุที่มีลายเซ็นภาพสีน้ำเงิน หุ่นยนต์จะขับเคลื่อนไปข้างหน้า หากไม่ตรวจพบวัตถุ หุ่นยนต์จะหยุดขับเคลื่อน บล็อกถูกวางซ้อนกันเพื่อแสดงตรรกะเชิงเงื่อนไขของโปรแกรม โดยที่การมีอยู่ของวัตถุที่ตรวจพบจะควบคุมการเคลื่อนที่ของหุ่นยนต์

ตัวอย่างเช่น หุ่นยนต์จะถ่ายภาพอย่างต่อเนื่องโดยใช้ AI Vision Sensor หากระบุวัตถุ ใดๆ ด้วยลายเซ็น "สีน้ำเงิน" สีมันจะขับเคลื่อนไปข้างหน้า


หากสแน็ปช็อตใดๆ ไม่มี "สีน้ำเงิน" ลายเซ็นสีหุ่นยนต์จะหยุดเคลื่อนไหว


การนับวัตถุ

บล็อกโค้ดสีฟ้าอ่อนทรงกลม มีป้ายชื่อว่าจำนวนวัตถุ AIVision1 บล็อกนี้ใช้ในสภาพแวดล้อมการเข้ารหัสแบบบล็อกเพื่อดึงจำนวนวัตถุที่ตรวจพบโดยเซ็นเซอร์ AI Vision ที่มีป้ายกำกับว่า AIVision1 บล็อกนี้จะพอดีกับโครงสร้างแบบโมดูลาร์ ซึ่งมักใช้ในอินเทอร์เฟซการเขียนโปรแกรมทางภาพสำหรับหุ่นยนต์หรือระบบการมองเห็น

การใช้บล็อก จำนวนวัตถุ จะช่วยให้คุณเห็นจำนวนวัตถุในลายเซ็น สี ที่ AI Vision Sensor สามารถมองเห็นได้ในภาพรวมครั้งล่าสุด 

อินเทอร์เฟซ AI Vision Utility ตรวจพบลูกบาศก์สีน้ำเงินสองลูกทางด้านซ้าย ระบบมีการเชื่อมต่อโดยเปิดใช้งาน AprilTags และปิด AI Classification อินเทอร์เฟซจะแสดงการตั้งค่าสำหรับการตรวจจับสีน้ำเงิน โดยตั้งค่าเฉดสีเป็น 22 และความอิ่มตัวเป็น 0.34 มีปุ่มสำหรับหยุดวิดีโอ และเพิ่มหรือตั้งค่าสี เฟิร์มแวร์ระบุว่าเป็นเวอร์ชันล่าสุดแล้ว ใช้เวอร์ชัน 1.0.0.b16 นอกจากนี้ยังมีปุ่มสำหรับตัดการเชื่อมต่อหรือปิดยูทิลิตี้อีกด้วย

ที่นี่ เราจะเห็นว่าเซ็นเซอร์ AI Vision มีการกำหนดค่าลายเซ็นสี สีและ “สีน้ำเงิน” และตรวจจับวัตถุสองชิ้น

ลำดับการเข้ารหัสแบบบล็อกโดยเริ่มจากเมื่อเริ่มต้น ตามด้วยวงจรตลอดไป ภายในลูป โปรแกรมจะถ่ายภาพโดยใช้ AIVision2 เพื่อตรวจจับลายเซ็นภาพสีน้ำเงิน จะล้างและรีเซ็ตคอนโซลก่อนตรวจสอบว่าตรวจพบวัตถุสีน้ำเงินหรือไม่ หากมีวัตถุสีน้ำเงินอยู่ จำนวนวัตถุจะถูกพิมพ์ไปยังคอนโซล จากนั้นโปรแกรมจะรอสองวินาทีก่อนที่จะทำซ้ำขั้นตอนเดิม บล็อกเหล่านี้แสดงการตรวจสอบวัตถุสีน้ำเงินอย่างต่อเนื่อง โดยแสดงผลลัพธ์ในคอนโซลเอาต์พุตคอนโซลที่มีพิมพ์หมายเลข 2 คอนโซลเป็นส่วนหนึ่งของอินเทอร์เฟซขนาดใหญ่กว่าซึ่งน่าจะแสดงผลลัพธ์จากโปรแกรมที่ทำงานในสภาพแวดล้อมการเขียนโค้ดแบบบล็อก ด้านบนของคอนโซลมีปุ่มสำหรับการดำเนินการหรือการควบคุมเพิ่มเติม และโปรแกรมที่ทำงานที่นี่จะส่งข้อมูลไปยัง Print Console ซึ่งจะแสดงผลลัพธ์เป็น 2 บนหน้าจอ

ในโค้ดนี้ AI Vision Sensor จะถ่ายภาพและพิมพ์ "2" บนคอนโซล VEXcode เนื่องจากตรวจพบเพียง "สีน้ำเงิน" ลายเซ็นสีเพียง 2 รายการเท่านั้น


วัตถุ

เมนูแบบดรอปดาวน์สำหรับเลือกคุณสมบัติของวัตถุที่เกี่ยวข้องกับ AIVision1 ตัวเลือกที่เลือกคือความกว้าง และเมนูจะแสดงรายการตัวเลือกอื่นๆ รวมทั้งความสูง, จุดกึ่งกลาง X, จุดกึ่งกลาง Y, มุม, จุดกำเนิด X, จุดกำเนิด Y, ID แท็ก และคะแนน ตัวเลือกเหล่านี้ช่วยให้ผู้ใช้สามารถดึงจุดข้อมูลที่เจาะจงจากวัตถุที่ตรวจพบโดยเซ็นเซอร์ AI Vision ซึ่งให้ความยืดหยุ่นในการติดตามหรือวัดคุณลักษณะต่างๆ ของวัตถุ

บล็อกObject ช่วยให้คุณรายงานคุณสมบัติของวัตถุที่คุณระบุ สิ่งนี้ทำให้คุณสามารถใช้ข้อมูลใดๆ ที่มีอยู่ที่ดึงมาจากสแนปช็อตที่ถ่ายล่าสุดได้

คุณสมบัติของวัตถุที่สามารถดึงมาจากสแนปช็อตที่ถ่ายได้คือ:

  • ความกว้าง
  • ความสูง
  • เซ็นเตอร์เอ็กซ์
  • ศูนย์กลางY
  • มุม
  • ออริจินเอ็กซ์
  • ที่มาY
  • แท็กID
  • คะแนน

อ่านหัวข้อ "ข้อมูลที่นำมาจากสแนปช็อต" ของบทความนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติเหล่านี้


ตรวจพบ AprilTag คือ

บล็อกหกเหลี่ยมสีฟ้าอ่อนจากอินเทอร์เฟซการเข้ารหัส ประกอบด้วยคำสั่งตรวจสอบ AprilTag ที่ตรวจพบโดย AIVision1 ตรงกับค่า 1 หรือไม่ บล็อกนี้ใช้ในสภาพแวดล้อมการเขียนโค้ดแบบบล็อก และได้รับการออกแบบมาเพื่อประเมินว่ามี AprilTag เฉพาะอยู่หรือไม่ รูปร่างและโครงสร้างช่วยให้สามารถใส่ลงในบล็อกตรรกะอื่นๆ ได้ โดยทั่วไปใช้ในการเขียนโปรแกรมภาพสำหรับหุ่นยนต์หรืองานการมองเห็น AI

บล็อก AprilTag ที่ตรวจพบคือ จะพร้อมใช้งานได้เฉพาะเมื่อเปิดโหมดการตรวจจับ AprilTag เท่านั้น

บล็อกนี้จะรายงานว่าเป็นจริงหรือเท็จ ขึ้นอยู่กับว่าวัตถุที่ระบุเป็น AprilTag ใดวัตถุหนึ่งหรือไม่

AprilTags สามรายการที่ได้รับการติดตามโดยระบบวิสัยทัศน์ แต่ละแท็กมี ID และพิกัดที่เกี่ยวข้อง แท็กทางด้านซ้ายมีป้ายกำกับว่า ID:0 ซึ่งมีพิกัด X:110, Y:96, W:41, H:41 แท็กตรงกลางมีป้ายกำกับว่า ID:3 โดยมีพิกัด X:187, Y:180, W:57, H:57 แท็กทางด้านขวามีป้ายกำกับว่า ID:9 ซึ่งมีพิกัด X:237, Y:89, W:38, H:38

เมื่อตรวจพบ AprilTags หลายรายการในสแน็ปช็อตเดียว รายการเหล่านั้นจะถูกจัดเรียงในอาร์เรย์ตาม ID ที่ระบุ ไม่ใช่ตามขนาด

ในภาพนี้ จะตรวจพบ AprilTags จำนวน 3 รายการที่มี ID คือ 0, 3 และ 9 พวกเขาจะถูกจัดเรียงตามลำดับ ID ในอาร์เรย์ วัตถุในดัชนี 1 จะสอดคล้องกับ AprilTag ที่มี ID 0, ที่ดัชนี 2 จะสอดคล้องกับ AprilTag ที่มี ID 3 และที่ดัชนี 3 จะสอดคล้องกับ AprilTag ที่มี ID 9

อ่านบทความนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ AprilTags คืออะไรและวิธีเปิดใช้งานการตรวจจับด้วย AI Vision Sensor


การจำแนก AI คือ

บล็อกหกเหลี่ยมสีฟ้าอ่อนจากสภาพแวดล้อมการเขียนโค้ดแบบบล็อก บล็อคประกอบด้วยคำสั่ง AIVision1 การจำแนก AI คือ BlueBall? บล็อกนี้จะตรวจสอบว่าเซนเซอร์ AI Vision (AIVision1) ได้จำแนกวัตถุที่ตรวจพบว่าเป็น BlueBall หรือไม่ บล็อกนี้มีตัวเลือกแบบดรอปดาวน์ ช่วยให้ผู้ใช้สามารถเลือกวัตถุที่แตกต่างกันหรือการจำแนก AI เพื่อการติดตามและการตัดสินใจในอินเทอร์เฟซการเขียนโปรแกรมแบบภาพ

การจำแนก AIคือ บล็อกนั้นจะใช้งานได้เฉพาะเมื่อเปิดโหมดตรวจจับการจำแนก AI เท่านั้น

 

บล็อกนี้จะรายงานว่าเป็นจริงหรือเท็จ ขึ้นอยู่กับว่าวัตถุที่ระบุเป็นการจำแนก AI หรือไม่

การจำแนกประเภท AI ที่ AI Vision Sensor สามารถตรวจจับได้จะแตกต่างกันไป ขึ้นอยู่กับรุ่นที่คุณใช้ อ่านบทความนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการจำแนก AI ที่มีอยู่และวิธีเปิดใช้งานการตรวจจับด้วย AI Vision Sensor

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: