รีวิว SenseCAP K1100: AI Vision พบกับ LoRaWAN (Episode II)

Grove Vision AI - Detection Concept
Grove Vision AI – Detection Concept

ในภาคแรก เป็นเรื่องของการต่อเซ็นเซอร์ต่างๆ เข้ากับบอร์ด Wio Terminal และส่งข้อมูลแบบไร้สายออกไปที่ LoRa-E5 module ตามมาตราฐานของ LoRaWAN ในคลื่นความถี่สำหรับประเทศไทย หากคุณยังไม่ได้ดู ตามไปที่ลิงค์นี้ รีวิว SenseCAP K1100 : Sensor Prototype ด้วย LoRaWAN และ AI (Episode I) 

สำหรับภาคสอง จะเป็นการนำ SenseCAP K1100 มาประยุกต์ใช้งาน Grove Vision AI module ร่วมกับบอร์ด Wio Terminal ทำการ Train Model จับภาพใบหน้า แสดงผลจากกล้องวิดีโอไปที่คอมพิวเตอร์ และประเมินผลลัพธ์ว่า Face detection Model มีความแม่นยำเพียงใด โดยประมวลผลในลักษณะ Edge Computing Sensor และแจ้งผลส่งข้อมูลแบบไร้สายระยะไกลผ่าน LoRa-E5 module ไปที่ระบบ Private LoRaWAN IoT Platform ต่อไป

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

  • ปัญญาประดิษฐ์ (AI : Artificial Intelligence) คือการนำความฉลาดของมนุษย์ไปใส่ไว้ในคอมพิวเตอร์ ทำให้คอมพิวเตอร์มีความฉลาดคล้ายคลึงกับมนุษย์ โดยให้คอมพิวเตอร์ประมวลผลบางอย่างที่มีความจำเพาะเจาะจง ด้วยการใส่ข้อมูลที่จำเป็น ในการประมวลผลแต่ละครั้งคอมพิวเตอร์จะรู้ว่ามีความเป็นไปได้ที่จะเกิดผลลัพธ์ใดขึ้นบ้าง
  • การเรียนรู้ของเครื่อง (ML : Machine Learning) คือการสอนให้เรียนรู้ทำความเข้าใจและตัดสินใจได้ด้วยตัวเองจากข้อมูลที่ป้อนให้ จากการสร้าง Algorithm และนำ Algorithm ไปเรียนรู้กับชุดข้อมูลต้นแบบ (Training Set) เพื่อให้ได้ Function ออกมาเป็น Black box หรือสมการ จากนั้นจึงนำ Function ที่ได้นี้ ไปใช้ประมวลผลกับชุดข้อมูลทดสอบ เพื่อให้ได้เป็นผลลัพธ์ที่พร้อมนำไปใช้งานได้
  • การเรียนรู้หยั่งลึก (DL : Deep Learning) คือวิธีการเรียนรู้แบบอัตโนมัติ ด้วยการเลียนแบบการทำงานของโครงข่ายระบบประสาทของมนุษย์ โดยการนำระบบโครงข่ายประสาท (Neural Network) มาซ้อนๆ กัน หลายๆ ชั้น (Layers) และทำการเรียนรู้ข้อมูลตัวอย่าง ซึ่งข้อมูลดังกล่าวจะถูกนำไปใช้ในการหารูปแบบ (Pattern) หรือจำแนกหมวดหมู่ของข้อมูล ทำให้เกิดความสามารถในการจดจำ เช่น ใบหน้า หรือ พฤติกรรมของลูกค้า เป็นต้น

Grove – Vision AI Module

Grove Vision AI - Front
Grove Vision AI – Front
Grove-Vision-AI-Back
Grove Vision AI – Back

คือบอร์ดของกล้อง AI ขนาดเล็ก ซึ่งได้รับการติดตั้งอัลกอริธึม TinyML (Machine Learning) สามารถใช้ฟังก์ชัน AI ที่แตกต่างกันได้ ตามที่ Seeed จัดหาให้ เช่น การตรวจจับบุคคล การตรวจจับศัตรูพืช การนับคน การจดจำวัตถุ หรือสร้างเป็นโมเดลของตนเอง ผ่านเครื่องมือการฝึกสอนให้เครื่องเรียนรู้ และนำโมเดลนั้น มาปรับใช้และแสดงผลได้อย่างง่ายดายภายในไม่กี่นาที โดยทำงานภายใต้โมเดลพลังงานต่ำพิเศษ

Grove-Vision-AI-Work-Flow-Diagram
Grove Vision AI – Work Flow Diagram

 

Train-and-Test-Data-set-Machine-Learning-Procedure
Train and Test Data set Machine Learning Procedure

 

Pinout Overview

Hardware-Pin-out-detail
Hardware pinout detail

 

Hardware Preparation

  • 1x Wio Terminal
  • 1x Grove Vision AI Module
  • 1x Grove LoRa-E5 Module
  • 2x USB Type-C cable
  • 1x Computer

Wio-Terminal-connected-with-Grove-Vision-AI-and-LoRa-E5-module

Customize Training Model

ทาง Seeed Studio ได้จัดเตรียมโมเดลที่ตรวจจับคนก่อนการฝึกสอน เราสามารถนำมาใช้ได้เลย เพื่อความรวดเร็วในการเรียนรู้จักกับกล้อง Vision AI ดังนี้

Deploy the trained model & Library Installation

  • Step 1. ต่อสาย USB Type-C เข้ากับ Grove Vision AI Module เชื่อมต่อกับคอมพิวเตอร์

Grove-Vision-AI-connected-with-USB-Type-C

  • Step 2. กดปุ่ม BOOT ที่บอร์ด Vision AI 2 ครั้ง เพื่อเข้าสู่ Boot mode และที่เครื่องคอมพิวเตอร์จะปรากฎ Disk Drive ชื่อ “GROVEAI” มีข้อมูลอยู่ 2 ไฟล์ คือ INDEX.HTM , INFO_UF2.TXT

Double-click-BOOT-button

Showing-new-Disk-Drive-GROVEAI

  • Step 3. เราจะเลือกใช้ไฟล์ที่ผ่านการ Train Model มาแล้วชื่อ “People Face Detected Model” คัดลอกไฟล์ Pre-train Model ไฟล์ Bootloader “.uf2” (USB Flashing Format) มาใส่ที่ Drive GROVEAI จะเห็นไฟกระพริบที่บอร์ด Vision AI แสดงว่าอยู่ระหว่างการ Burn Firmware.
    หมายเหตุ:- หาก trained model มีหลายไฟล์ ให้คัดลอกทีละไฟล์ โดยเริ่มจากไฟล์แรก รอจนกว่าไฟกระพริบจะดับ จึงค่อยเข้าสู่ Boot mode และคัดลอกไฟล์ลำดับถัดไปจนกระทั่งครบทั้งหมด
  • Step 4. ขณะที่บอร์ด Vision AI module ต่อกับเครื่องคอมพิวเตอร์ ที่บอร์ด Wio Terminal ให้ต่อสาย Grove I2C เข้ากับ Port I2C ของ Vision AI module และต่อสาย USB type-C ที่บอร์ด Wio Terminal
Showing-two-new-COM-Port
COM4 คือ USB Port ที่ต่อกับ Wio Terminal ส่วน COM8 คือ USB Port ที่ต่อกับ Grove Vision AI module
  • Step 5. เพิ่ม Library Source Code สำหรับบอร์ด Vision AI Module โดยดาวน์โหลดไฟล์ Seeed-Grove-Vision-AI-Moudle.zip
    Arduino IDE -> Sketch -> Include Library -> Add .ZIP Library -> เลือก Seeed-Grove-Vision-AI-Moudle
  • Step 6. เพิ่ม Library Source Code สำหรับบอร์ด LoRaWAN Module โดยดาวน์โหลดไฟล์ Disk91_LoRaE5.zip
    Arduino IDE -> Include Library -> Add .ZIP Library -> เลือก Disk91_LoRaE5
  • Step 7. Run โปรแกรม Arduino IDE และเปิดไฟล์ LoRa-VisionAI-FaceDetection.ino

  • Step 8. แก้ไขโปรแกรม เพื่อกำหนดข้อมูลที่จำเป็นสำหรับบอร์ด LoRaWAN ดังนี้หมายเลข
    • DevEui จำนวน 8 byte
    • หมายเลข AppvEui จำนวน 8 byte
    • หมายเลข APPKEY จำนวน 16 byte
    • กำหนดการเชื่อมต่อเป็นแบบ OTAA (Over-The-Air Activation)
    • กำหนดย่านความถี่ใช้งานสำหรับประเทศไทยเป็น AS923

Uploading LoRa-VisionAI-FaceDetection.ino

  • Step 9. Upload โปรแกรมลงไปที่บอร์ด Wio Terminal

Wio Terminal Grove Vision AI LoRaWAN module

  • Step 10. เปิดโปรแกรม Serial Monitor ดังรูป Grove Vision AI module จะประมวลผล Machine Learning ด้วยอัลกอริทึม People Face Detected Model และแสดงผลลัทธ์ของการทำงานในลักษณะ Edge Computing ดังนี้
    • Number of people: จำนวนผู้คนที่สามารถตรวจจับใบหน้าได้
    • Confidence: เปอร์เซ็นต์ความเชื่อมั่นในการตรวจจับใบหน้า

Less-is-more-lim-carrier-board

  • Step 11. แสดงภาพวิดีโอจากกล้องผ่านทาง Browser URL https://files.seeedstudio.com/grove_ai_vision/index.html ด้วย Google Chrome หรือ Microsoft Edge browser

Seeedstudio-web-page-SenseCAP-AI-Vision

  • Step 12. จากเว็ปเพจ SenseCAP AI Vision กดปุ่ม Connect เลือก Grove AI-Paired กด Connect

Grove-Vision-AI-Paired-Web-page

  • Step 13. ถือ Grove Vision AI module หันกล้องไปยังผู้คนที่เราต้องการ จะแสดงภาพวิดีโอการจับหน้าระบุว่าเป็นบุคคล และมีค่าระดับความเชื่อมั่นกี่เปอร์เซ็นต์
SenseCAP K1100-จับใบหน้า
Screen Capture ภายใต้มุมมองของกล้อง (Field of View) สามารถจับใบหน้าจากรูปภาพของเด็กๆ ได้ 3 คน ในระดับความเชื่อมั่น = 74%
SenseCAP K1100-Wio terminal-ภาพถ่าย
ภาพถ่ายจากกล้อง แสดงให้เห็นการทำงานของ Wio terminal, Vision AI, LoRa-E5, Arduino serial monitor, SenseCAP AI Vision

Private LoRaWAN IoT On-Premise Platform

เป็น IoT Platform ที่ผู้รีวิวติดตั้งขึ้นมาใช้งานเป็นการส่วนตัว เพื่อความสะดวกในการบริหารจัดการระบบ LoRaWAN ได้อย่างเบ็ดเสร็จ ประกอบด้วยซอฟท์แวร์ต่างๆ ที่จำเป็นในการใช้งาน ซึ่งอยู่ในรูปแบบของ Open Source ทั้งหมดดังนี้

SenseCAP-K1100-Private-LoRaWAN-IoT-On-Premise-Platform

  • ChirpStack : LoRaWAN Network and Application Server ทำการลงทะเบียนหมายเลขอุปกรณ์ LoRaWAN IoT และถอดรหัสข้อมูลที่ได้รับในรูปแบบ AES128 และมีตัวกลาง MQTT broker (Message Queuing Telemetry Transport) โดยทำหน้าที่เป็นผู้ส่ง (publish)
ChirpStack-Network-Server-LoRaWAN-data-uplink
Received packets
ChirpStack-Network-Server-LoRaWAN-data-payload
Payload
  • Node-RED : เป็นเครื่องมือพัฒนาแบบโฟลว์สำหรับการเขียนโปรแกรม โดยเป็นผู้รับ (subscribe) มาจาก ChirpStack ผ่านโปรโตคอล MQTT และนำข้อมูลจาก payload มาถอดรหัสตามรูปแบบ BASE64 ก็จะได้ข้อมูลที่ส่งมาจากเซนเซอร์ นำไปเก็บไว้ที่ InfluxDB

Node-RED-flow-diagram-programming-Tools

  • InfluxDB : Time Series Database ใช้เก็บข้อมูลที่มาจากเซนเซอร์และข้อมูลที่มาจาก LoRaWAN Gateway ไว้ในฐานข้อมูล โดยเรียงตามอนุกรมของเวลาโดยอัตโนมัติ ทำให้เราสามารถนำข้อมูลไปวิเคราะห์ หรือดูย้อนหลังได้ตลอดเวลา

InfluxDB-Studio-show-database-in-time-series

  • Grafana : Real Time Dashboard นำข้อมูลจากฐานข้อมูลมาแสดงผลในรูปแบบต่างๆ

Grafana-Number-of -People-Confidence-guage-visualization

ข้อเสนอแนะ

หากต้องการนำไปใช้งานจริง ควรเลือกใช้ Sensor ประเภท Industrial grade จะมีความเหมาะสมกับสภาพแวดล้อมจริงและให้ความน่าเชื่อถือได้มากกว่า Industrial Grade SenseCAP A1101 – LoRaWAN Vision AI Sensor

Industrial-Grade-SenseCAP-A1101-LoRaWAN-Vision-AI-Sensor

ความคิดเห็นส่วนตัว

  • หลังจากที่ได้ลองศึกษา SenseCAP K1100 ทั้งเซ็นเซอร์จาก Wio Terminal onboard และ Grove โดยทุกๆ เซ็นเซอร์ จะส่งข้อมูลผ่านบอร์ด LoRa-E5 ไร้สายระยะไกลไปที่ LoRaWAN Gateway ยิ่งศึกษาไปเรื่อยๆ ก็ยิ่งสนุก เพราะสามารถนำเซ็นเซอร์มาต่อได้หลากหลายโปรโตคอลมากๆ ทั้งดิจิตอลและอนาล็อกผ่านทาง GPIO 40pin หรือบอร์ดเซ็นเซอร์สำเร็จรูปต่างๆ เช่น I2C , SPI
  • เวลา Upload program เขียนลงบอร์ด Wio Terminal ได้โดยอัตโนมัติ (Automatic Bootloader) ไม่ต้องกดปุ่มใดๆ และหากเข้าสู่โหมด Automatic Bootloader ไม่ได้ ทาง SeeedStudio ก็ออกแบบ Firmware รองรับไว้แล้ว โดยยอมให้เข้าสู่โหมด Manual Bootloader ด้วยการเลื่อนสวิทซ์ 2 ครั้งแบบเร็วๆ รายละเอียดวิธีทำอยู่ในรีวิว Episode I
  • การใช้งาน LoRaWAN ส่งข้อมูลแบบไร้สายระยะไกล จำเป็นต้องอาศัยความรู้ความเข้าใจพอสมควร เนื่องจากระบบ LoRa มีขั้นตอนการเชื่อมต่อที่สลับซับซ้อนกว่า Wi-Fi หรือ Bluetooth มาก ดังนั้นหากทางบริษัท SeeedStudio พัฒนา Firmware ตัวใหม่ออกมาที่สามารถเชื่อมต่อได้โดยไม่ต้อง Coding ก็จะดีมากๆ
  • ผลิตภัณฑ์ SenseCAP K1100 มีความสามารถสูง, เชื่อถือได้, ทำงานไม่เคยแฮงค์ และถูกพัฒนาปรับปรุงอย่างต่อเนื่องตลอดเวลา สถาบันการศึกษาต่างๆ ทั้งระดับประถม, มัธยม และอุดมศึกษา น่านำไปเป็นส่วนหนึ่งของอุปกรณ์การเรียนการสอนในหลักสูตร STEM (Science, Technology, Engineering and Mathematics) ดังนั้นหากทำให้นักเรียน, นักศึกษา สามารถเข้าถึงได้ในราคาที่ย่อมเยาว์กว่านี้ ก็จะดีต่อใจมิใช่น้อย

ขอขอบคุณบริษัท SeeedStudio ที่ส่งชุดผลิตภัณฑ์ SenseCAP K1100 มาให้รีวิวในครั้งนี้ หากทุกท่านมีความสนใจในผลิตภัณฑ์ดังกล่าว ติดตามได้จากลิงค์  SenseCAP K1100 ราคา $99.00 หรือ ~3,500฿

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