รีวิว DFRobot HUSKYLENS 2 AI camera พร้อมทดสอบการทำงานของโมเดล AI ในตัวและโมเดลที่เทรนเอง

สวัสดีครับ วันนี้ผมจะมารีวิว HUSKYLENS 2 ที่เปิดตัวในเดือนตุลาคม 2025 ซึ่งอุปกรณ์นี้เป็นมอดูลกล้อง AI รุ่นถัดมาของ HUSKYLENS ซึ่งมาพร้อมกับ Kendryte K230 dual-core RISC-V พร้อมกับ AI accelerator 6 TOPS และหน้าจอสัมผัส IPS ขนาด 2.4 นิ้ว อุปกรณ์นี้สามารถรันอัลกอริทึม machine vision บนตัวเครื่องได้เลย จึงให้ประสิทธิภาพได้รวดเร็วและมีความหน่วงต่ำ นอกจากนั้นยังมีโมเดล AI มาให้ในตัวกล้องมากกว่า 15 โมเดล

HUSKYLENS 2 ยังรองรับการติดตั้งโมเดลที่เทรนเองเพิ่มเติมได้ ที่สำคัญอีกอย่างหนึ่งคือมีความสามารถในการใช้งาน Large Language Models (LLMs) ผ่านบริการ Model Context Protocol (MCP) บนตัวกล้องได้อีกด้วย และนอกจากนี้ก็ยังสามารถเชื่อมต่อกับไมโครคอนโทรลเลอร์ต่าง ๆ เช่น Arduino และ Raspberry Pi ผ่านโพรโทรคอล UART หรือ I2C ได้

DFRobot HUSKYLENS 2 AI camera review
HUSKYLENS 2

แกะกล่อง HUSKYLENS 2

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

รายการต่อไปนี้เป็นรายชื่ออุปกรณ์ที่ได้รับในการจัดส่งชุดแรก

  • HUSKYLENS 2 AI Vision Sensor
  • Metal Accessory Kit
  • Power Adapter Board
  • Gravity-4P Sensor Connector Cable (30cm)
  • Dual-Plug PH2.0-4P Silicone Cable (20cm)
  • Product Qualification Card
  • HUSKYLENS 2 Wi-Fi Module

รายการต่อไปนี้เป็นรายการอุปกรณ์ทั้งหมดที่ได้รับในการจัดส่งครั้งที่สอง

  • HUSKYLENS 2 Microscope Module (30x Mag)
  • Screw driver
huskylens2 recevied components
อุปกรณ์ที่ได้รับในการจัดส่งครั้งแรก
HUSKYLENS 2 Wi-Fi Module Microscope Lens
อุปกรณ์หลักที่ได้รับจากการจัดส่งทั้งสองครั้ง ได้แก่ (ซ้าย) HUSKYLENS 2, (กลาง) มอดูล Wi-Fi และ (ขวา) มอดูลเลนส์กล้องจุลทรรศน์

 การตรวจสอบข้อมูล HUSKYLENS 2

ด้านหน้าของ HUSKYLENS 2 จะมีอุปกรณ์หลัก ๆ ประกอบด้วยมอดูลเลนส์มาตรฐาน, แอลอีดีแบบ RGB หนึ่งดวง, LED สีขาวสำหรับเติมแสง (fill light) สองดวงที่อยู่แต่ละด้านของตัวเครื่อง, ลำโพง และไมโครโฟน สำหรัดับด้านบนจะมีปุ่มชื่อ Button-A ซึ่งสามารถใช้สำหรับถ่ายภาพ บันทึกวิดีโอ หรือจับภาพหน้าจอได้ ทางด้านซ้ายของกล้องจะมีช่องเสียบ microSD และที่ด้านล่างของ HUSKYLENS 2 จะมีตัวเชื่อมต่อหลักสองแบบ คือ พอร์ต USB-C ใช้เพื่อจ่ายไฟและเพื่อเชื่อมต่อกับคอมพิวเตอร์แบบ mass-storage ในขณะที่ขั้วเชื่อมต่ออีกแบบหนึ่งจะเป็นตัวเชื่อมต่อ Gravity ที่เป็น JST 4 ขา สามารถใช้สื่อสารได้ทั้งแบบ I²C และ UART

HUSKYLENS 2 AI camera front
องค์ประกอบด้านหน้าของอุปกรณ์
HUSKYLENS 2 Gravity UART/I²C USB-C
Gravity UART/I²C และ USB-C ที่ด้านล่างของอุปกรณ์

ในการรีวิวนี้ผมจะอ้างอิงถึงเอกสารอย่างเป็นทางการหลายครั้งหน่อยครับ ซึ่งจากเอกสารเหล่านี้เราสามารถจ่ายไฟให้กับ HUSKYLENS 2 ได้สองแบบ คือสามารถจ่ายไฟโดยตรงโดยใช้แหล่งจ่ายไฟ 5V ผ่านพอร์ต USB-C เช่น จากคอมพิวเตอร์หรืออะแดปเตอร์จ่ายไฟก็ได้ แต่อย่างไรก็ตามเมื่อใช้ HUSKYLENS 2 ร่วมกับ MCU ภายนอกนั้น ผู้ผลิตแนะนำให้ใช้บอร์ดแปลงไฟที่ให้มาด้วยพร้อมกับกล้องเพื่อให้แน่ใจว่าจะมีไฟเลี้ยงพอและเสถียรสำหรับทั้ง HUSKYLENS 2 และ MCU โดยรูปภาพต่อไปนี้แสดงตัวอย่างการจ่ายไฟให้กับ HUSKYLENS 2 โดยใช้บอร์ดแปลงไฟที่ดังกล่าว สำหรับตัวอย่างในภาพนี้ผมเชื่อมต่อ PC กับ HUSKYLENS 2 ผ่านพอร์ต USB-C บนบอร์ดแปลงไฟ ในขณะที่มอดูล ESP32 นั้นจะต้องการการเชื่อมต่อ USB แยกต่างหาก ซึ่งในกรณีนี้ไม่ได้เชื่อมต่อไว้ครับ

HUSKYLENS 2 Power Adapter Board
การจ่ายไฟให้กับ HUSKYLENS 2 โดยใช้ Power Adapter Board

สำหรับการทดสอบเบื้องต้นนั้นแบบง่าย ๆ นั้น ผมทำตามคำแนะนำ Quick Connection โดยเชื่อมต่อ HUSKYLENS 2 เข้ากับ PC ด้วยสาย USB-C เพียงเท่านั้น และเนื่องจากกล้องนี้ไม่มีปุ่มเปิด-ปิด ดังนั้นตัวกล้องจึงเปิดเครื่องโดยอัตโนมัติทันทีที่เสียบสาย และโลโก้จะปรากฏขึ้นบนหน้าจอสัมผัส IPS ขนาด 2.4 นิ้วชั่วครู่ หลังจากนั้นอุปกรณ์ก็พร้อมใช้งานภายในเวลาไม่ถึง 10 วินาที โดยหน้าจอสัมผัส IPS ทำงานได้ดี รู้สึกลื่นไหล ตอบสนองดี ท่าทางการใช้งานด้วยนิ้วเช่นการปัดและการแตะนั้นทำงานได้ตามที่ควรจะเป็น

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

HUSKYLENS 2 AI camera storage device
คอมพิวเตอร์ตรวจพบเป็น storage device
โครงสร้างไฟล์และไดเรกทอร่ของไดรฟ์ที่ตรวจพบ
โครงสร้างไฟล์และไดเรกทอร่ของไดรฟ์ที่ตรวจพบ

UI เริ่มต้นประกอบด้วยหน้าเมนูจำนวนสี่หน้า ซึ่งส่วนใหญ่แสดงโมเดล AI ที่ติดตั้งมาให้จากโรงงาน ในขณะที่หน้าสุดท้ายจะแสดงไอคอนสำหรับการตั้งค่าระบบและการติดตั้งโมเดลที่กำหนดเอง

HUSKYLENS 2 AI camera icon fireware v1.1.5
ไอคอนเริ่มต้นในเฟิร์มแวร์เวอร์ชัน v1.1.5

ผมตรวจสอบข้อมูลระบบคร่าว ๆ ด้วยการเปิดเมนู System Settings และเลือก Device Information เพื่อตรวจสอบรายละเอียดฮาร์ดแวร์และระบบ พบว่าอุปกรณ์ของผมเป็นฮาร์ดแวร์เวอร์ชัน 1.0.0 และมาพร้อมกับเฟิร์มแวร์ v1.1.5 มีให้เลือกสามภาษา ได้แก่ ภาษาอังกฤษ ภาษาจีนตัวย่อ (Simplified Chinese) และภาษาจีนตัวเต็ม (Traditional Chinese)

จากการเปิดใช้งานครั้งแรกไปประมาณ 5 นาที พบว่ามีการใช้ RAM ประมาณ 72 MB จากทั้งหมด 970 MB ซึ่งตัวกล้องมีหน่วยความจำภายในขนาด 7,045 MB โดยการติดตั้งเริ่มต้นจากโรงงานใช้พื้นที่ไปประมาณ 935 MB และเมื่อทดสอบการด้วยการแตะ/เลื่อนเมนูเพื่อตรวจสอบข้อมูลทั่ว ๆ ไปโดยยังไม่ได้รันโมเดล AI ใด ๆ หน้าจอนี้แสดงข้อมูลให้เห็นว่าอุณหภูมิของอุปกรณ์อยู่ที่ประมาณ 36.4°C ในขณะที่อุณหภูมิห้องโดยรอบอยู่ที่ประมาณ 30°C

HUSKYLENS 2 AI camera information
ข้อมูลของอุปกรณ์

ทดสอบการทำงานของโมเดลบางแบบใน HUSKYLENS 2

สำหรับเฟิร์มแวร์เริ่มต้นเวอร์ชัน v1.1.5 ในกล้อง HUSKYLENS 2 ของผมนั้นจะมีโมเดล AI ให้ใช้งานทั้งหมด 16 โหมด ดังรายการด้านล่างนี้

  • Face Recognition
  • Object Recognition
  • Object Tracking
  • Color Recognition
  • Object Classification
  • Self-Learning Classifier
  • Instance Segmentation
  • Hand Recognition
  • Pose Recognition
  • License Recognition
  • Optical Character Recognition
  • Line Tracking
  • Face Emotion Recognition
  • QR Code Recognition
  • Barcode Recognition

และหลังจากอัปเกรดเป็นเฟิร์มแวร์ v1.2.1 ก็จะมีจำนวนโมเดลที่ใช้งานได้เพิ่มขึ้นเป็น 19 โหมด โดยมีโมเดลที่เพิ่มใหม่รายการดังต่อไปนี้ครับ

  • Eye Gaze
  • Orientation Detection
  • Fall Detection

ผมได้ทำวิดีโอด้านล่างนี้เพื่อนำเสนอภาพรวมสั้น ๆ ของโมเดล AI บางส่วนที่มีให้ใช้งานบน HUSKYLENS 2 เพื่อให้เห็นประสิทธิภาพ AI อย่างคร่าว ๆ โดยผมได้ใช้ภาพวิดีโอฟรีที่หาได้จาก YouTube มาทดสอบครับ โดยการทดสอบทั้งหมดที่แสดงในวิดีโอนี้ทำด้วยเฟิร์มแวร์ v1.2.1 แต่ในขณะที่ผลลัพธ์อื่น ๆ ที่เหลือในรีวิวนี้จะอิงจากเฟิร์มแวร์ทั้งสองเวอร์ชัน 1.1.5 และ 1.2.1 ครับ

Face Recognition

ผมเริ่มการทดสอบแรกด้วยโหมด Face Recognition โดยหลังจากแตะที่ไอคอนนี้แล้ว HUSKYLENS 2 ก็สลับหน้าจอไปที่การแสดงภาพจากกล้องแบบเรียลไทม์และเริ่มการตรวจจับและรู้จำใบหน้าทันที เมื่อตรวจพบใบหน้า อุปกรณ์จะวาดกรอบล้อมรอบใบหน้าและวาด facial landmarks บนใบหน้าจำนวน 5 จุดได้อย่างถูกต้อง โดยผมได้ทดสอบโหมดนี้ทั้งการใช้หน้าจริง รวมถึงรูปภาพและวิดีโอที่แสดงบนจอมอนิเตอร์ ซึ่งอุปกรณ์ก็ยังคงทำงานได้ตามที่คาดหวัง

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

  • Forget ID: ลบ ID ใบหน้าที่เคยเรียนรู้ไว้ทั้งหมด
  • Multi-Face Acceleration: พยายามเพิ่มอัตราเฟรมของการแสดงผลเมื่อมีใบหน้าตั้งแต่ 3 ใบขึ้นไปปรากฏพร้อมกัน แต่อาจทำให้ความแม่นยำในการทำงานลดลง
  • Detect Threshold: ค่าความไวในการตรวจหาใบหน้า
  • Recognize Threshold: ระดับค่าขีดแบ่งของการรู้จำใบหน้า ค่าที่ต่ำมีโอกาสเกิดการระบุผิดพลาดด้มากกว่า ในขณะที่ค่าที่สูงจะช่วยลดการระบุผิดพลาดได้
  • NMS Threshold: ค่าการตั้งค่า Non-Maximum Suppression ค่าที่ต่ำเหมาะสำหรับภ่พที่มีวัตถุเดียวและชัดเจน ส่วนค่าที่สูงเหมาะสำหรับฉากที่มีวัตถุมากหรือถูกบัง
  • Face Features: เปิด/ปิดการแสดงจุดสำคัญบนใบหน้า (facial key points)
  • Set Name: กำหนดชื่อให้กับใบหน้าที่เรียนรู้แล้ว โดยสามารถตั้งชื่อเป็นภาษาอังกฤษหรือภาษาจีนได้
  • Show Name: เปิด/ปิดการแสดงชื่อของใบหน้าที่รู้จำได้
  • Reset Default: รีเซ็ตการตั้งค่าทั้งหมดเป็นค่าเริ่มต้น
  • Import Model: นำเข้าการตั้งค่าโมเดล โดยแต่ละโมเดลจะประกอบด้วยไฟล์ .json และ .bin อย่างละหนึ่งไฟล์ ซึ่งตัวเลขในชื่อไฟล์จะสอดคล้องกับหมายเลขโมเดล
  • Export Model: ส่งออกการตั้งค่าโมเดลปัจจุบัน

จากนั้นผมได้ทดสอบปรับแต่งค่าขีดแบ่งต่าง ๆ ด้วยการทดลองลดและเพิ่มค่าด้วย slider บนหน้าจอ ซึ่ง HUSKYLENS 2 ก็ตอบสนองอย่างเหมาะสม การปรับเกณฑ์ขีดแบ่งทำงานได้ตามที่คาดหวังเช่นกัน รูปภาพต่อไปนี้แสดงผลลัพธ์ของโมเดลการรู้จำใบหน้าที่ใช้กับภาพใบหน้าที่สร้างด้วย AI ที่แสดงบนจอ LCD ของผมครับ

HUSKYLENS 2 AI camera Face Recognition
ทดสอบ Face Recognition

Hand Recognition

ต่อมา ผมทดสอบโหมด Hand Recognition ซึ่งก็ทำงานได้ดีเช่นกัน สามารถตรวจจับฝ่ามือในภาพและระบุจุดสำคัญทั้ง 21 จุดรวมถึงข้อมือและข้อต่อของนิ้วแต่ละนิ้วได้อย่างถูกต้องตามที่โฆษณาไว้ โหมดนี้ยังมีเมนูย่อยเพื่อปรับแต่งการทำงานของโมเดล เช่น การปรับเกณฑ์การตรวจหาและการรู้จำได้ โดยรูปภาพต่อไปนี้แสดงตัวอย่างการทำงานโดยใช้ภาพมือมนุษย์จาก Wikipedia

HUSKYLENS 2 AI camera Hand Recognition
การทดสอบ Hand Recognition

Pose Recognition

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

HUSKYLENS 2 AI camera Pose Recognition
การทดสอบ Pose Recognition

Object Recognition

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

HUSKYLENS 2 AI camera Object Recognition
การทดสอบ Object Recognition

Orientation Detection

โมเดล AI ในตัวอีกอันที่น่าสนใจคือโหมด Orientation Detection โดยโมเดลนี้สามารถตรวจหาใบหน้าและรู้จำทิศทางที่หน้ากำลังหันไปได้ แต่ว่าน่าเสียดายที่ในช่วงเวลาของการรีวิวนี้ ยังไม่มีข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับโมเดลนี้บนเว็บไซต์อย่างเป็นทางการให้อ่านรายละเอียดเพิ่มเติมได้ รูปภาพต่อไปนี้แสดงการประมาณทิศทางใบหน้าโดยใช้ภาพของนักแสดงหญิงชาวฝรั่งเศสจากการค้นหาด้วย Google โดยกล้องจะแสดงใบหน้าที่ตรวจหาพบแต่ละใบหน้าและจะแสดงข้อมูลการหมุนซ้อนทับอยู่ ซึ่งผมคาดว่าจะเป็นมุม yaw, pitch และ roll

HUSKYLENS 2 AI camera Orientation Detection
การทดสอบ Orientation Detection

Object Tracking และ Self-Learning Classifier

สุดท้าย ผมทดสอบโหมด Object Tracking ซึ่งช่วยให้สามารถเรียนรู้และติดตามวัตถุเป้าหมายได้ง่าย แต่ว่า HUSKYLENS 2 เวอร์ชันปัจจุบันนั้นจะจำกัดให้ติดตามวัตถุได้ทีละหนึ่งชิ้นเท่านั้นครับ นอกจากนี้ก็ยังมีโหมด Self-Learning Classifier ซึ่งสามารถจับภาพ เรียนรู้ และจดจำวัตถุที่กำหนดเองได้ โดยขั้นตอนการใช้งาน Self-Learning Classifier นั้นคล้ายคลึงกับโหมด Object Tracking มาก

สำหรับการใช้งานติดตามวัตถุ ผมต้องวาดกรอบล้อมรอบวัตถุเป้าหมายก่อน จากนั้นอุปกรณจะแสดงกรอบล้อมรอบพร้อม ID ของวัตถุและค่าคะแนนความเชื่อมั่น ตัวอย่างเช่น Obj: ID1 80% จะบ่งบอกถึงวัตถุที่เรียนรู้ชิ้นแรกด้วยระดับความเชื่อมั่น 80% และหลังจากขั้นตอนนี้ไปแล้วอุปกรณ์ก็จะสามารถติดตามวัตถุอย่างต่อเนื่องได้ทันที โดยรูปภาพต่อไปนี้แสดงภาพจากการจับภาพหน้าจอ (screen capture) ระหว่างการติดตามวัตถุ ซึ่งผมทดสอบโหมดนี้ด้วยการใช้ขวดสีโมเดล TAMIYA หลาย ๆ ขวด โดยเลือกขวดสีเขียวเป็นวัตถุเป้าหมาย จากนั้นผมขยับกล้องแบบสุ่มช้า ๆ เพื่อทดลองให้วัตถุเป้าหมายหายออกไปจากมุมมองและให้กลับเข้ามาในฉากใหม่ ซึ่งผลการทำงานก็พบว่า HUSKYLENS 2 ก็ยังสามารถตรวจหาวัตถุเป้าหมายได้อย่างถูกต้อง นอกจากนี้แล้วกล้องยังสามารถติดตามวัตถุเป้าหมายได้จากมุมมองหลายมุมโดยไม่มีปัญหา ตราบใดที่ความแตกต่างของมุมมองนั้นไม่มากเกินไปจากเมื่อตอนเริ่มต้นวาดกรอบรอบวัตถุครับ

HUSKYLENS 2 AI camera Object tracking test
การทดสอบการติดตามวัตถุจากหลายมุมมอง
HUSKYLENS 2 AI camera Track the target object
การติดตามวัตถุเป้าหมายจากมุมมองอื่น

การทดสอบสภาพแวดล้อมสำหรับการเขียนโปรแกรม

เนื่องจากเอกสารอย่างเป็นทางการมีการระบุว่า HUSKYLENS 2 รองรับการทำงานกับ Arduino, UNIHIKER K10, UNIHIKER M10, micro:bit และ Raspberry Pi และมีการกล่าวถึง ESP32 โดยเล็กน้อยในตอนต้นของเอกสาร แต่ไม่ได้มี ESP32 รวมอยู่ในรายการความเข้ากันได้ (compatibility list) ดังนั้นผมจึงตัดสินใจทดสอบเองเพื่อดูว่า ESP32 ทำงานร่วมกับ HUSKYLENS 2 ได้หรือไม่

สำหรับการจ่ายไฟนั้นผมทำตามคำแนะนำของผู้ผลิตที่แนะนำให้ใช้บอร์ดแปลงไฟสำหรับการกระจายไฟ ดังนั้นผมจึงเชื่อมต่อ HUSKYLENS 2 เข้ากับบอร์ดแปลงไฟโดยใช้สายเคเบิล 4 ขาที่มีมาให้ จากนั้นผมจึงเชื่อมต่อสายเคเบิล 4 ขาที่ให้มาอีกเส้นเข้ากับขั้วเชื่อมต่อที่มีป้ายกำกับว่า “Gravity” และต่อสายไปยังขา 3.3 V และ GND ของ ESP32 ในขณะที่ตัวมอดูล ESP32 เองนั้นได้รับไฟผ่านการเชื่อมต่อจากสาย USB-C อีกเส้นหนึ่งที่ต่อมาจากคอมพิวเตอร์ของผม

HUSKYLENS 2 นั้นรองรับ IDE สำหรับการเขียนโปรแกรมหลายตัว ประกอบด้วย Arduino IDE, Mind+ และ Python IDLE ซึ่งในกสนรีวิวนี้ผมได้ทดสอบการเขียนโปรแกรมโดยใช้ Arduino IDE โดยการติดตั้งไลบรารี DFRobot HUSKYLENS 2 เวอร์ชันล่าสุดจาก GitHub repository ของผู้ผลิต

ผมเริ่มต้นด้วยโค๊ดสำหรับการสแกน I2C ซึ่งตรวจพบอุปกรณ์ที่แอดเดรส 0x50

ตรวจสอบที่อยู่ I2C ด้วยโค้ดตัวอย่างสำหรับการสแกน I2C
ตรวจสอบที่อยู่ I2C ด้วยโค้ดตัวอย่างสำหรับการสแกน I2C

จากนั้นผมลองใช้ตัวอย่างโค๊ด Face Recognition Output Data จากเว็บไซต์อย่างเป็นทางการ และโค๊ดชุดนี้ก็ทำงานได้โดยไม่มีปัญหาใด ๆ โดย PC ของผมสามารถรับและแยกข้อมูลพื้นฐานที่ส่งมาจาก HUSKYLENS 2 ได้ เช่น ID ของใบหน้า, ชื่อ, และจุดศูนย์กลางของกรอบล้อมรอบได้ทั้งหมด ดังที่แสดงในรูปภาพต่อไปนี้

การดึงข้อมูลพื้นฐานจากผลลัพธ์การรู้จำใบหน้า
การดึงข้อมูลพื้นฐานจากผลลัพธ์การรู้จำใบหน้า

การ Deploy โมเดลที่เทรนตัวตนเอง

ผู้ผลิตระบุว่าเราสามารถเทรนโมเดลของเราเองได้โดยใช้ Mind+ Server หรือ Python ซึ่งทั้งสองวิธีนี้จะนำโมเดลที่เทรนแล้วมาแปลงให้เป็นรูปแบบ ONNX ก่อน จากนั้นจึงแปลงต่อไปเป็นรูปแบบโมเดลที่กำหนดเองของ HUSKYLENS 2 โดยในการรีวิวนี้ผมไม่ได้ใช้การเทรนด้วย Mind+ Server แต่จะใช้วิธีการทำงานผ่าน Python โดยตรงแทนครับ

การสร้างและเทรนโมเดลสำหรับ HUSKYLENS 2 ต้องใช้หลายขั้นตอน แต่ว่ากระบวนการค่อนข้างตรงไปตรงมา โดยพื้นฐานคือการแปลงโมเดล PyTorch (.pt) เป็น ONNX จากนั้นใช้เครื่องมืออย่างเป็นทางการของผู้ผลิตเพื่อส่งออกเป็นรูปแบบที่อุปกรณ์รองรับอีกครั้งหนึ่ง โดยตามเอกสารของผู้ผลิตระบุว่า HUSKYLENS 2 รุ่นปัจจุบันนี้รองรับโมเดลที่เทรนจาก YOLOv8n และรองรับเฉพาะอินพุตขนาด 320×320 หรือ 640×640 เท่านั้น

ผมได้เตรียมสภาพแวดล้อมการเขียนโปรแกรมโดยการสร้าง Conda environment ใหม่ด้วย Python 3.12 ตามผู้ผลิตที่แนะนำ จากนั้นผมติดตั้ง Ultralytics ซึ่งจะมี YOLOv8 ที่จำเป็นสำหรับการเทรนและส่งออกโมเดลที่ต้องการ โดยระหว่างการติดตั้งนี้ผมสังเกตเห็นว่าเวอร์ชันของ onnx และ onnxslim ที่ติดตั้งโดยค่าเริ่มต้นนั้นไม่ตรงกับค่าที่กำหนด (ต้องการ onnx ≥ 1.12.0 และ ≤ 1.19.1 และ onnxslim ≥ 0.1.71) และเนื่องจากความไม่เข้ากันนี้ ขั้นตอนการส่งออกครั้งแรกของผมจึงล้มเหลว ผมต้องติดตั้งเวอร์ชันที่ถูกต้องใหม่ด้วยตนเองก่อนที่เครื่องมือส่งออกจะทำงานได้อย่างถูกต้อง

ผมอาศัยในจังหวัดจันทบุรี ประเทศไทย ที่นี่เรามีปัญหาร้ายแรงกับช้างป่าที่เข้ามาในพื้นที่เกษตรและพื้นที่อยู่อาศัย ซึ่งมักนำไปสู่ความเสียหายต่อทรัพย์สิน บางครั้งยังเสี่ยงต่อชีวิตมนุษย์ด้วย ด้วยเหตุนี้ ผมจึงสนใจว่า HUSKYLENS 2 จะมีประโยชน์ในโครงการวิจัยด้านการเตือนภัยล่วงหน้าหรือการเฝ้าติดตามช้างป่าในอนาคตหรือไม่ ดังนั้นการทดสอบนี้ผมจึงดาวน์โหลดภาพสัตว์ป่าโดยใช้ชุดข้อมูล African Wildlife จาก Kaggle ซึ่งมีให้ใช้ได้ผ่าน Ultralytics ด้วย

HUSKYLENS 2 AI camera African Wildlife
ตัวอย่างภาพของควาย/ควายป่าจากชุดข้อมูล African Wildlife

จากนั้นผมเทรนโมเดลที่ความละเอียด 320 × 320 พิกเซล และเพื่อการทดสอบการทำงานคร่าว ๆ ผมจึงกำหนดการเทรนเพียง 10 epochs เท่านั้นครับ


หลังจากนั้น ผมแปลงโมเดลที่เทรนแล้วเป็นรูปแบบ ONNX โดยใช้บรรทัดคำสั่งต่อไปนี้


ต่อมา ผมดาวน์โหลดโปรแกรม ONNX to HuskyLens 2 Installation Package GUI Tool จาก GitHub และติดตั้ง dependencies ที่จำเป็นทั้งหมด โดยเครื่องมือนี้ยังต้องการ .NET 7 เพิ่มด้วย ดังนั้นผมต้องจึงติดตั้งเพิ่มจาก Microsoft ด้วยเช่นกัน หลังจากทุกอย่างพร้อมแล้ว ผมจึงคัดลอกรูปภาพ ไฟล์, .yaml และโมเดล ONNX ไปยังโฟลเดอร์เป้าหมาย: Custom_Model/application จากนั้นผมรัน python app.py และกรอกพารามิเตอร์ที่จำเป็นทั้งหมด ดังที่แสดงในรูปภาพต่อไปนี้ และคลิก Convert and Package

ผลการแปลงไฟล์ .pt ให้อยู่ในรูปแบบไฟล์ .onnx
ผลการแปลงไฟล์ .pt ให้อยู่ในรูปแบบไฟล์ .onnx

หลังจากรอประมาณสองสามนาที เครื่องมือดังกล่าวก็ได้สร้างไฟล์ dfrobot_wildlife_detection.41c5.zip โดยไฟล์ ZIP นี้คือแพ็กเกจโมเดลของผมที่พร้อมนำไปติดตั้ง โดยการติดตั้งลงบน HuskyLens 2 นั้น ผมเพียงแค่คัดลอกไฟล์นี้ไปยังไดเรกทอรี installation_package ของอุปกรณ์

โมเดลแบบกำหนดเองที่บรรจุอยู่ในรูปแบบไฟล์ ZIP
โมเดลแบบกำหนดเองที่บรรจุอยู่ในรูปแบบไฟล์ ZIP

หลังจากนั้น ผมเลือกไอคอน Model Installation ใน HUSKYLENS 2 และใช้ตัวเลือก Local Install บนเมนูหน้าจอสัมผัสเพื่อเพิ่มโมเดลใหม่เข้าไปในกล้อง

ผลการติดตั้งโมเดลแบบกำหนดเองจากไดเรกทอรีภายในเครื่อง
ผลการติดตั้งโมเดลแบบกำหนดเองจากไดเรกทอรีภายในเครื่อง

เมื่อติดตั้งเสร็จแล้ว รายการเมนูใหม่ก็ปรากฏขึ้นทันที ซึ่งโมเดลนี้ก็ทำงานได้ดีตามที่ควรจะเป็น โดยรูปภาพสองภาพต่อไปนี้แสดงภาพจากการจับภาพหน้าจอโดยตรงซึ่งแสดงประสิทธิภาพเบื้องต้นของโมเดลที่กำหนดเองจากการเทรน 10 epochs นี้ ทั้งนี้จะเห็นว่าแม้ภาพอินพุตจะไม่ชัด (เนื่องจากการวางตำแหน่งอุปกรณ์และจอมอนิเตอร์ไม่ค่อยเหมาะสม เนื่องจากพื้นที่โต๊ะทำงานของผมมีจำกัด) HUSKYLENS 2 ก็ยังสามารถตรวจจับช้างบางตัวได้อย่างถูกต้อง นอกจากนี้ เนื่องจากโมเดลที่กำหนดเองนี้ถูกเทรนมาเพียงแค่ 10 epochs เท่านั้น การเพิ่มจำนวน epochs ให้มากขึ้นก็ควรจะให้ผลลัพธ์ที่ดีขึ้นกว่านี้ครับ

ผลการทดสอบโมเดลที่เทรนเอง
ผลการทดสอบโมเดลที่เทรนเอง

การติดตั้ง HUSKYLENS 2 Wi-Fi Module

โดยปกติแล้วผมคาดว่าตัวกล้อง HUSKYLENS 2 นั้นจะไม่มีการติดมอดูล Wi-Fi มาให้จากโรงงาน ดังนั้นการใช้งาน Wi-Fi จึงจำเป็นต้องมี HUSKYLENS 2 Wi-Fi Module ด้วย โดยมอดูลนี้รองรับ Wi-Fi 6 (2.4 GHz) ด้วยอัตราการถ่ายโอนข้อมูลสูงสุด 286.8 Mbps พร้อมแบนด์วิดท์ 20/40 MHz โดยรายละเอียดเพิ่มเติมมีให้บนหน้าผลิตภัณฑ์อย่างเป็นทางการครับ

ในการติดตั้งมอดูลตัวนี้ ผมต้องถอดสกรูสี่ตัวและเปิดฝาเครื่องด้านหน้าออก แต่เนื่องจากมีสารระบายความร้อนที่ค่อนข้างเหนียวมากทาไว้ ดังนั้นผมจึงต้องใช้แรงเพิ่มเติมในการแยกตัวเครื่องส่วนหลังออกมา จากนั้นผมจึงใส่มอดูล Wi-Fi ลงในช่อง ซึ่งการติดตั้งค่อนข้างแน่น ต้องใช้แรงพอสมควรก่อนที่มอดูลจะเข้าที่แน่นหนา หลังจากนั้นผมปิดและขันสกรูตัวเครื่องด้านหน้ากลับคืนตามเดิม

ถอดสกรู
ถอดสกรู
เปิดฝาหน้า
เปิดฝาหน้า
ใส่มอดูล Wi-Fi
ใส่มอดูล Wi-Fi

หลังจากเปิดเครื่องอุปกรณ์ ผมเปิดไอคอน System Settings และกำหนดค่าการเชื่อมต่อ Wi-Fi โดยใส่ SSID และรหัสผ่านของผม อุปกรณ์เชื่อมต่อได้ภายในเวลาประมาณ 5–10 วินาทีและได้รับ IP address รวมทั้งมีไอคอน Wi-Fi ปรากฏขึ้นที่มุมบนขวาของหน้าจอ แสดงให้เห็นว่าการเชื่อมต่อไร้สายสำเร็จและพร้อมใช้งาน

เครือข่าย SSID ที่มีให้ใช้งาน
เครือข่าย SSID ที่มีให้ใช้งาน
เชื่อมต่อเครือข่าย Wi-Fi สำเร็จ
เชื่อมต่อเครือข่าย Wi-Fi สำเร็จ

การติดตั้ง HUSKYLENS 2 Microscope Lens

ผู้ผลิต HUSKYLENS 2 อนุญาตให้ผู้ใช้เปลี่ยนเลนส์เริ่มต้นที่ติดตั้งมากับกล้องให้เป็น HUSKYLENS 2 Microscope Lens Module ซึ่งเป็นมอดูลเลนส์จุลทัศน์ที่มีกำลังขยายสูงสุดถึง 30 เท่า มอดูลนี้ให้ความละเอียดภาพ 2 MP โดยใช้เซ็นเซอร์ GC2093 ด้วยความละเอียดเชิงพื้นที่ 161 lp/mm ทำให้สามารถแยกแยะความกว้างของเส้นได้ถึงประมาณ 3 µm (USAF 1951, Group 7, Element 3)

HUSKYLENS 2 Microscope Lens Module (30x Mag)
HUSKYLENS 2 Microscope Lens Module (30x Mag)
ขั้วต่อของโมดูลเลนส์กล้องจุลทรรศน์ HUSKYLENS 2
ขั้วต่อของโมดูลเลนส์กล้องจุลทรรศน์ HUSKYLENS 2

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

ถอดสกรู
ถอดสกรู
เตรียมขั้วต่อให้ตรงกัน
เตรียมขั้วต่อให้ตรงกัน
ติดตั้งเสร็จสมบูรณ์
ติดตั้งเสร็จสมบูรณ์

ผมไม่แน่ใจว่ามอดูลเลนส์จุลทรรศน์มีกำลังขยาย 30 เท่าจริงหรือไม่ แต่มันก็ทำงานได้ดีครับ ดังที่แสดงในรูปภาพต่อไปนี้ ซึ่งผมจับภาพขยายของจอมอนิเตอร์ LCD ที่กำลังแสดงภาพสีขาว สามารถมองเห็นการจัดเรียงซับพิกเซล (sub-pixel) สีแดง เขียว และน้ำเงินได้อย่างชัดเจน แต่จะสังเกตว่าภาพที่แสดงบนหน้าจอ HUSKYLENS 2 นั้นจะดูเบลอเล็กน้อยเพราะมอดูลนั้นสั่นบ้างในระหว่างการถ่ายภาพ

ทดสอบมอดูลเลนส์จุลทรรศน์
ทดสอบมอดูลเลนส์จุลทรรศน์

การอัปเกรดเฟิร์มแวร์

เฟิร์มแวร์เริ่มต้นของอุปกรณ์ผมคือ v1.1.5 และมันทำงานได้ดีมากอยู่แล้ว แต่อย่างไรก็ MCP Server จะไม่มีให้ใช้งานในเวอร์ชันนี้ ซึ่งฟังก์ชัน MCP Server นั้นจำเป็นต้องใช้ Wi-Fi และใช้เฟิร์มแวร์ v1.1.6 ขึ้นไป ดังนั้นผมจึงต้องอัปเกรดจาก v1.1.5 ไปเป็นเฟิร์มแวร์ล่าสุดที่มีให้บน GitHub (ผมใช้ v1.2.1 ในช่วงเวลาของการรีวิวนี้) และทำตามคำแนะนำที่ให้ไว้ในเอกสารอย่างเป็นทางการดังต่อไปนี้

ก่อนอื่น ผมปิด HUSKYLENS จากนั้นกดปุ่ม Button-A ค้างไว้ เปิดเครื่องอีกครั้ง ผมรอเป็นเวลาอย่างน้อย 2 วินาทีก่อนที่จะปล่อยปุ่ม ด้วยลำดับการบูตนี้ อุปกรณ์จะปรากฏเป็น K230 USB Boot Device แทนที่จะถูกตรวจจับเป็น HUSKYLENS

ตรวจพบเป็น K230 USB Boot Device
ตรวจพบเป็น K230 USB Boot Device

หลังจากนั้น ผมติดตั้งไดรเวอร์ที่จำเป็นโดยใช้ Zadig และรอประมาณ 30 วินาทีเพื่อให้การติดตั้งเสร็จสมบูรณ์

รันโปรแกรม Zadig
รันโปรแกรม Zadig

ถัดไป ผมเปิด K230BurningTool (release 2025-05-07 02:58) ค้นหาไฟล์เฟิร์มแวร์ที่ดาวน์โหลดมา และกดปุ่ม Start เพื่อเริ่มกระบวนการการแฟลช ซึ่งการอัปเดตเฟิร์มแวร์นี้ใช้เวลาประมาณหนึ่งนาทีจึงเสร็จสมบูรณ์

แฟลชเฟิร์มแวร์ใหม่ด้วย K230BurningTool
แฟลชเฟิร์มแวร์ใหม่ด้วย K230BurningTool

หลังจากรีสตาร์ท HUSKYLENS 2 ผมก็สังเกตเห็นว่าคอมพิวเตอร์ของผมตรวจพบอุปกรณ์เป็น storage device โดยมีไดร์ฟ SD card ปรากฏเพิ่มเติมขึ้นมา แทนที่จะมีเพียง storage ภายใน HUSKYLENS 2 เหมือนในเฟิร์มแวร์ v1.1.5 นอกจากนี้ผมยังได้ทดสอบการอัปเกรดและดาวน์เกรดระหว่าง v1.2.1 และ v1.1.6 หลายครั้งได้โดยไม่มีปัญหาใด ๆ

ตรวจสอบข้อมูลอุปกรณ์หลังติดตั้งเฟิร์มแวร์ใหม่
ตรวจสอบข้อมูลอุปกรณ์หลังติดตั้งเฟิร์มแวร์ใหม่

การทดสอบ MCP Server

การใช้ MCP Service จำเป็นต้องใช้เฟิร์มแวร์เวอร์ชัน 1.1.6 ขึ้นไป ผู้ใช้สามารถเปิดใช้งานได้โดยใช้ไอคอน MCP Service และหลังจากเปิดใช้งาน MCP server แล้วจะมี URL สำหรับการเชื่อมต่อไคลเอนต์แสดงบนหน้าจอ HUSKYLENS 2

เปิดใช้งาน MCP Server
เปิดใช้งาน MCP Server

จากนั้นผมสร้างบัญชี Google AI Studio และสร้าง API key ใหม่ ถัดไปผมได้ติดตั้ง Cherry Studio เวอร์ชัน 1.7.2 โดยใน Cherry Studio นั้นผมตั้งค่า model provider เป็น Gemini และใส่ API key ที่ได้มาก่อนหน้านี้ ซึ่งเอกสารอย่างเป็นทางการนั้นแนะนำให้สร้างโมเดล gemini-2.5-flash แต่อย่างไรก็ตามผมพบว่าโมเดลนี้มีอยู่แล้วใน Cherry Studio ของผม ดังนั้นผมจึงใช้โมเดล gemini-2.5 เริ่มต้นที่มีอยู่แล้ว จากนั้นจึงทดสอบการเชื่อมต่อ ซึ่งก็สำเร็จด้วยดี

เปิดใช้งาน Gemini ใน Cherry studio
เปิดใช้งาน Gemini ใน Cherry studio
เลือกโมเดล Gemini
เลือกโมเดล Gemini

หลังจากนั้น ผมสร้างการเชื่อมต่อ MCP server ใหม่ โดยตั้งค่าประเภทการเชื่อมต่อเป็น Server-Sent Events (SSE) และกำหนดค่า URL ให้ตรงตามที่แสดงบนหน้าจอ HUSKYLENS 2 และเมื่อเปิดใช้งานแล้ว เครื่องมือใหม่สี่จะรายการปรากฏขึ้น แสดงว่าการเชื่อมต่อกับ HUSKYLENS 2 สำเร็จ โดยเครื่องมือทั้งสี่นี้สอดคล้องกับเครื่องมือ MCP ที่แสดงด้านล่างนี้:

  • manage_applications
  • multimedia_control
  • get_recognition_result
  • task_scheduler

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

ตั้งค่า MCP server URL
ตั้งค่า MCP server URL
ทดสอบการเชื่อมต่อกับเซิร์ฟเวอร์ MCP ของ HUSKYLENS 2
ทดสอบการเชื่อมต่อกับเซิร์ฟเวอร์ MCP ของ HUSKYLENS 2

หลังจากรีสตาร์ท ผมสลับไปที่โหมด Chat เสร็จแล้วเลือกโมเดล Gemini ให้เป็น Gemini 2.5 Flash และเลือกกำหนดค่า HUSKYLENS 2 MCP server ของผมให้ตรง จากนั้นผมทดสอบฟังก์ชันการ Chat โดยใช้คำสั่งเดียวกันกับที่แสดงในเอกสารสอนใช้งาน: What models/algorithms are currently available? แต่ว่าผมพบข้อผิดพลาดเกิดขึ้น

พบข้อผิดพลาด
พบข้อผิดพลาด

ดูเหมือนว่าพารามิเตอร์บางตัวหายไปหรือส่งผ่านไปไม่ถูกต้อง ซึ่งผมสงสัยในตอนแรกว่าเป็นปัญหาเวอร์ชันไม่ตรงกัน ดังนั้นผมจึงลองดาวน์เกรดเฟิร์มแวร์ไปเป็นเวอร์ชัน v1.1.6 ให้ตรงตามที่กล่าวไว้ในเอกสารการใช้งาน แต่ว่าปัญหาก็ยังคงอยู่ จากนั้นผมสลับ Model Provider ใน Cherry Studio จาก Gemini 2.5 ไปเป็น CherryAI และพบว่าทั้งโมเดล Qwen3-8B และ GLM-4.5-Flash ทำงานได้อย่างถูกต้อง

การใช้โมเดล CherryAI เหล่านี้ทำให้ผมสามารถทำงานด้วยการ Chat ได้สำเร็จ ผมสามารถสอบถามโมเดล AI ที่มีให้ใช้งาน รวมทั้งสามารถตรวจสอบโหมดที่กำลังทำงานอยู่บนอุปกรณ์ได้ ผมยังทดสอบการสลับระหว่างโหมด Face Recognition, Hand Recognition และ Instance Segmentation ซึ่งทั้งหมดนี้สามารถทำงานผ่านการ Chat ได้ตามที่คาดหวัง

การสนทนากับ GLM-4.5-Flash สำเร็จเรียบร้อย
การสนทนากับ GLM-4.5-Flash สำเร็จเรียบร้อย
การสนทนากับ Qwen3-8B สำเร็จเรียบร้อย
การสนทนากับ Qwen3-8B สำเร็จเรียบร้อย
การ Chat เพื่อตรวจสอบว่าอุปกรณ์กำลังทำงานในโหมด Hand Recognition หรือไม่
การ Chat เพื่อตรวจสอบว่าอุปกรณ์กำลังทำงานในโหมด Hand Recognition หรือไม่
การ Chat เพื่อตรวจสอบว่าอุปกรณ์กำลังทำงานในโหมด Instance Segmentation หรือไม่
การ Chat เพื่อตรวจสอบว่าอุปกรณ์กำลังทำงานในโหมด Instance Segmentation หรือไม่

อย่างไรก็ตาม ผมไม่สามารถใช้เครื่องมืออื่น ๆ ที่มีตามตัวอย่างได้ เช่น การถ่ายภาพหรือการกำหนดเวลาทำงาน เนื่องจากเครื่องมือเหล่านี้ไม่สามารถตอบสนองภายในระยะเวลา timeout หรือไม่สามารถเรียกใช้คำสั่งภายในได้เลย

ทดสอบการสตรีมวิดีโอ

ในการสตรีมวิดีโอจาก HUSKYLENS 2 โดยใช้สาย USB นั้นจะต้องติดตั้งไดรเวอร์ RNDIS ซึ่งผมได้ทำตามขั้นตอนในเอกสารบนเว็บไซต์ และใช้ไดรเวอร์ Microsoft USB RNDIS ตามที่มีอยู่แล้วในไดเรกทอรี system32 ของ Windows 11 ของผม และเมื่อติดตั้งแล้วจะปรากฏ USB RNDIS Adapter อย่างถูกต้องในหมวดการตั้งค่าเครือข่าย แต่ถ้าหากพบว่าการสตรีม RTSP ไม่สามารถใช้งานได้ ก็อาจจะตรวจสอบให้แน่ใจว่าเฟิร์มแวร์เป็นเวอร์ชันล่าสุด HUSKYLENS 2

สำหรับการสตรีมวิดีโอโดยใช้โพรโทคอล RTSP นั้นสามารถเปิดใช้งานได้ผ่านไอคอน Video Streaming ในเมนูระบบ หลังจากเปิดใช้งานการสตรีมและเริ่ม AI model ใดๆ แล้ว อุปกรณ์ก็จะเริ่มส่งวิดีโอไปที่ URL เริ่มต้น rtsp://192.168.88.1:8554/live ทันที

ผมทดสอบการสตรีมวิดีโอผ่านโพรโทคอล RTSP โดยใช้ Python และ OpenCV ด้วย RTSP-URL ที่ให้มา ซึ่งการเชื่อมต่อสำเร็จและเฟรมวิดีโอถูกสตรีมอย่างถูกต้อง ผมยังได้ทดสอบการสตรีมวิดีโอแบบไร้สายโดยการเปิดใช้งานการเชื่อมต่อ Wi-Fi และเปิดตัวเลือกการสตรีม RTSP และ WebRTC ในเมนู Video Streaming และผลก็พบว่าอุปกรณ์ทำงานได้ตามที่คาดหวัง รูปภาพต่อไปนี้แสดงการสตรีมสดที่ดูในเว็บเบราว์เซอร์และใน VLC Media Player

เปิดใช้งานการเชื่อมต่อ Wi-Fi และการสตรีม RTSP
เปิดใช้งานการเชื่อมต่อ Wi-Fi และการสตรีม RTSP
การสตรีมแบบเรียลไทม์ในเว็บเบราว์เซอร์
การสตรีมแบบเรียลไทม์ในเว็บเบราว์เซอร์
HUSKYLENS 2 AI camera VLC Media Player
การสตรีมแบบเรียลไทม์ในโปรแกรม VLC Media Player

การคำนวณหา camera intrinsics และ lens distortion coefficients

ผมสังเกตเห็นการบิดเบี้ยวโป่งออกหรือแบบบาร์เรล (barrel distortion) จากเลนส์ของกล้อง HUSKYLENS 2 ดังนั้นผมทดลองทำการ calibrate แบบง่าย ๆ เพื่อประมาณค่า camera intrinsics และสัมประสิทธิ์การบิดเบี้ยว (coefficients of distortion) โดย camera intrinsics จะอธิบายลักษณะของส่วนการรับภาพของกล้อง เช่น ความยาวโฟกัสและจุดศูนย์กลางการรับภาพหรือจุดมุขยสำคัญ (principal point) สำหรับสัมประสิทธิ์การบิดเบี้ยวของเลนส์นั้นจะแสดงถึงพารามิเตอร์ของการบิดเบี้ยวแนวรัศมี (radial distortion) และแนวสัมผัส (tangential distortion) ซึ่งทั้งสองค่านี้จะทำให้เกิดความบิดเบี้ยวแบบโป่งออกดังกล่าว

ผมถ่ายภาพกระดานหมากรุกด้วยภาพขนาด 640×480 พิกเซลจำนวนชุดหนึ่งและประมวลผลโดยใช้ฟังก์ชันในกลุ่ม camera calibration ของ OpenCV และรันคำสั่งนี้ใน Google Colab

ภาพสำหรับการทดสอบ
ภาพสำหรับการทดสอบ
HUSKYLENS 2 Detected checkerboard pattern
ผลการตรวจหารูปแบบบนภาพอินพุต

ผลลัพธ์ที่ได้คือพารามิเตอร์ intrinsic ดังต่อไปนี้:

  • fx: 700.2057
  • fy: 683.6732
  • cx: 315.1202
  • cy: 225.5184

เมทริกซ์ภายในกล้องที่คำนวณได้นี้ค่อนข้างเป็นค่าปกติสำหรับเซ็นเซอร์แบบขนาดเล็ก โดยมีความยาวโฟกัส fx = 700.20 และ fy = 683.67 โดยเมื่อทดสอบคำนวณต่อโดยใช้อย่างง่ายว่า FOV = 2 × arctan((image_size / (2*focal_length)) ก็จะประมาณค่า FOV แนวนอนได้อยู่ที่ประมาณ 49.12° และ FOV แนวตั้งอยู่ที่ประมาณ 38.69° และสำหรับจุดมุขยสำคัญนั้นอยู่ที่พิกัด (315.12, 255.51) ซึ่งเลื่อนออกจากกึ่งกลางภาพ (320.0, 240.0) ไปเล็กน้อยแต่ยังคงอยู่ใกล้กับจุดศูนย์กลางของภาพ ซึ่งเป็นเรื่องปกติสำหรับเลนส์ขนาดเล็กราคาไม่แพง

สำหรับค่าสัมประสิทธิ์ความบิดเบี้ยวที่ประเมินได้ถือว่าสมเหตุสมผลสำหรับฮาร์ดแวร์ประเภทนี้เช่นกัน

  • k1 = 0.0913
  • k2 = −0.5608
  • k3 = 0.4919
  • p1 = 0.00019
  • p2 = 0.00163

ค่าสัมประสิทธิ์ความบิดเบี้ยวแนวรัศมี (k1, k2, k3) แสดงให้เห็นอย่างชัดเจนว่าเป็นความบิดเบี้ยวแบบบาร์เรล ซึ่งจะรุนแรงมากขึ้นบริเวณขอบภาพ ในขณะที่ค่าความบิดเบี้ยวแนวสัมผัส (p1, p2) มีค่าค่อนข้างน้อยมาก และแสดงเพียงการเยื้องแนวแกนเล็กน้อยเท่านั้น ซึ่งโดยทั่วไปเกิดจากค่าความคลาดเคลื่อนตามปกติในกระบวนการประกอบอุปกรณ์จากโรงงาน

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

ความบิดเบี้ยวแนวรัศมี
ความบิดเบี้ยวแนวรัศมี
ความบิดเบี้ยวแนวสัมผัส
ความบิดเบี้ยวแนวสัมผัส

การตรวจสอบอุณหภูมิและการกระจายความร้อน

เพื่อทดสอบพฤติกรรมด้านความร้อนของอุปกรณ์ ผมได้เปิดใช้งาน Wi-Fi, เปิดการสตรีมวิดีโอผ่าน WebRTC และรันโหมด Hand Recognition ไปพร้อมกัน ขณะเดียวกันก็เปิดใช้งานเซิร์ฟเวอร์ MCP ไปพร้อมกันด้วย ซึ่งโดยภาพรวมแล้วเมื่ออุปกรณ์ทำงานในโหมดเต็มรูปแบบผมจะรู้สึกได้ว่าอุปกรณ์มีความร้อนค่อนข้างสูงอย่างชัดเจน

ภาพต่อไปนี้แสดงภาพถ่ายความร้อนของด้านหน้าของ HUSKYLENS 2 ซึ่งบันทึกด้วยกล้องถ่ายภาพความร้อน FLIR E4 โดยอุณหภูมิสูงสุดที่ตรวจวัดได้อยู่ที่ประมาณ 43.2 °C และการกระจายความร้อนค่อนข้างสม่ำเสมอทั่วบริเวณตัวเรือนด้านหน้า สำหรับด้านหลังนั้นมีอุณหภูมิสูงสุดอยู่ที่ประมาณ 38 °C และความร้อนจะกระจุกตัวอยู่บริเวณด้านขวาเป็นหลัก ซึ่งสอดคล้องกับตำแหน่งของโมดูล Wi-Fi ที่อยู่ฝั่งตรงข้ามของด้านหน้า ดังที่แสดงในภาพด้านล่างจะเห็นได้ว่าความร้อนสะสมบริเวณด้านหน้าของ HUSKYLENS 2 มากกว่า และสามารถรับรู้ได้อย่างชัดเจนเมื่อถืออุปกรณ์ไว้ในมือ

การกระจายความร้อนของ HUSKYLENS 2
การกระจายความร้อนของ HUSKYLENS 2
การกระจายความร้อนของ HUSKYLENS 2
การกระจายความร้อนของ HUSKYLENS 2

สรุป

โดยรวมแล้ว ผมมีความประทับใจต่อ HUSKYLENS 2 ในแง่บวกครับ ความสามารถด้าน AI ของ HUSKYLENS 2 ทำงานได้ดี แม้ว่าความละเอียดของภาพและวิดีโอจะค่อนข้างต่ำ แต่ผมก็พึงพอใจกับคุณภาพของภาพโดยรวม นอกจากนี้แม้ว่าผมจะยังไม่สามารถทดสอบความสามารถทั้งหมดของ MCP Server ได้ แต่บริการ MCP Server ที่มีมาในตัวอุปกรณ์นี้ก็ช่วยให้เห็นแนวทางหรืออนาคตที่ดีของเวิร์กโฟลว์สำหรับงาน AI บนอุปกรณ์ฝังตัวที่มีประสิทธิภาพและยืดหยุ่นเป็นอย่างมาก

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

HUSKYLENS 2, โมดูล Wi-Fi สำหรับ HUSKYLENS 2 และโมดูลกล้องจุลทรรศน์สำหรับ HUSKYLENS 2 มีวางจำหน่ายผ่านทาง DFRobot ในราคา $74.90 (~2,400฿), $7.90 (~250฿) และ $11.90 (~380฿) ตามลำดับ นอกจากนี้อาจจะมีการวางจำหน่ายผ่าน ร้าน Amazon ของ DFRobot ในอนาคต แต่ในขณะนี้ยังมีเพียง HUSKYLENS รุ่นก่อนหน้าเท่านั้นที่มีรายการจำหน่ายอยู่บนแพลตฟอร์มนี้

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา