iIA Super Countering Kit

รูปที่ 1 ชิ้นงานที่ต้องการตรวจสอบ

ตัวอย่างศึกษาของชุดนี้คือถุงใส่ bolt ทั้ง 3 ชนิด ดังรูปที่ 1 โดยที่มีการกำหนดจำนวน bolt แต่ละชนิดใน 1 ถุงแตกต่างกันดังนี้

            • Bolt ชนิด A จำนวน 2 ชิ้น/ถุง
            • Bolt ชนิด B จำนวน 2 ชิ้น/ถุง
            • Bolt ชนิด C จำนวน 1 ชิ้น/ถุง

1. หาสิ่งที่เราต้องการตรวจสอบ/ตรวจจับ

ผลลัพธ์: คุณลักษณะที่ต้องการตรวจจับ

รูปที่ 2 

งานนี้มีแนวคิดเพิ่มเติมจากงานปกติคือ bolt แต่ละชนิดจะต้องอยู่ในถุงตามจำนวนที่กำหนด หรือง่าย ๆ เลยคือ ชิ้นงานของเราจะต้องอยู่ในพื้นที่ของถุง ดังนั้นเราจะหา Feature ของ boltโดยตรงเลยไม่ได้ ต้องหา Feature ของถุงให้เจอก่อนแล้วค่อยหา feature ของ bolt ต่อ โดยที่เราจะมี Ai ทั้งหมด 2 ชุด คือ ถุง และ bolt

            • Ai ชุดที่ 1 มีชื่อคลาสดังนี้
              • Bag
            • Ai ชุดที่ 2 มีชื่อคลาสดังนี้
              • A
              • B
              • C

เพราะฉะนั้นตั้งแต่ข้อที่ 2 ถึงข้อที่ 4 ต้องทำ 2 ครั้งสำหรับ Ai ชุดที่ 1 และ ชุดที่ 2

2. ทำ Dataset

ผลลัพธ์: ไฟล์ภาพ (Trainset และ Testset) 

เมื่อเรากำหนดแล้วว่า Feature ของเราคืออะไรและมีคลาสชื่อว่าอะไรบ้าง ต่อไปเป็นการทำ Dataset เริ่มต้นจากการเก็บภาพเพื่อมาทำ Dataset

2.1 เปิด Project ที่ชื่อว่า Images_Capture และทำการกดฟันเฟืองที่กล่อง image capture และ browse เพื่อทำการเลือกโฟลเดอร์ที่ต้องการบันทึกรูปภาพ (โดยปกติจะสร้างโฟลเดอร์ใหม่ชื่อว่า images)

รูปที่ 3 โปรเจค Images_Capture

จากรูปที่ 4  กดปุ่ม Capture เพื่อทำการเก็บภาพที่ต้องการ ซึ่งงานนี้เรามีจำนวนสิ่งที่ต้องการตรวจจับ 6 คลาสแต่ variant น้อย เนื่องจากว่าภายในภาพนั้นสิ่งแวดล้อมไม่มีการเปลี่ยนแปลงเลย หากว่าเราสนใจแค่ในกรอบสีแดงในรูปที่ 5 และนอกกรอบสีแดงก็ยังคงเป็นแบบเดิมไม่มีการเปลี่ยนแปลง ดังนั้นจึงถือว่างานนี้มี variant น้อย จึงใช้ dataset ในการฝึกฝนจำนวน 200 ภาพและเฉลี่ยให้แต่ละคลาสเท่ากัน โดยแบ่งเป็นข้อมูลสำหรับการฝึกฝน(Trainset)จำนวน 160 ภาพและ ข้อมูลสำหรับการทดสอบ(Testset)จำนวน 40 ภาพ

รูปที่ 4 สิ่งที่สนใจในชิ้นงาน

3. ทำการให้ป้ายกำกับ (labelling)

ผลลัพธ์: Ground truth (.gt file)

นำเข้ารูปโดยคลิกที่ Load Images คลิกซ้ายและลากจะเกิดกรอบ ให้ลากกรอบนี้ครอบไปยังจุดที่ต้องการ เช่น RAM_NG ครอบไปยังจุดที่ขาล็อคของหน่วยความจำไม่สนิทดังรูปที่ 5 ทำเช่นนี้กับ คลาสอื่นๆ โดยที่สามารถเพิ่มชื่อคลาสได้ที่ว่างตามลูกศรในรูปที่ 6 ผู้ใช้งานต้องทำการ Label สิ่งที่ต้องการตรวจจับให้ครบถ้วนในทุกคลาสและทุกภาพ หากภาพใดไม่มีวัตถุที่ต้องการตรวจจับ ไม่จำเป็นต้องทำการ Label ใดๆ เมื่อให้ป้ายกำกับครบหมดแล้วให้ทำการกด Save GT เพื่อทำการบันทึกการให้ป้ายกำกับ (Labelling) หรือ Ground truth โดยที่ทำแบบนี้กับ trainset และ testset

รูปที่ 5 การให้ป้ายกำกับกับข้อมูล (labelling)

4. ทำการฝึกฝน (Training)

ผลลัพธ์: โมเดลที่ได้รับการฝึกฝน (Weight)

ทำการฝึกฝนด้วย google colab โดยเราจะอัพโหลดภาพปและ Ground truth ของเราขึ้นไปยัง google colab 

รูปที่ 6

1. แท็บ DataGen

ส่วนนี้จะเหมือนกับแท็บ labelling ในกล่อง DeepTrain แต่จะไม่มีในส่วนของการทำ labeling จะมีเพียงแค่การโหลดภาพ .gt การตั้งค่า Augmentation และการสร้าง Project Directory เท่านั้นมี 3 ขั้นตอนดังนี้

รูปที่ 7 ขั้นตอนการตั้งค่าการฝึกฝน

  • Image Folder: กด Select และ Select เพื่อทำการเลือก Folder ที่เก็บภาพ
  • GT File: กด Select และเลือกไฟล์ .gt ที่เราต้องการและกด Select เพื่อทำการยืนยัน
  • Generate: กด Generate เพื่อทำการสร้าง Project Directory
  • Augmentation: ผู้ใช้งานสามารถตั้งค่าได้ตามสมควร

2. Train&Test

รูปที่ 8

เมื่อทำการ generate เสร็จเรียบร้อยกดปุ่ม Train (ปุ่มสีเขียว) เพื่อทำการฝึกนฝนโมเดล ใหสังเกตุที่ค่า Avg loss  เมื่อค่านี้ต่ำกว่า 0.1 ให้ทดสอบโมเดลโดยการนำเข้าภาพทดสอบ (ในที่นี้เราจะใช้ภาพทดสอบเป็นภาพชุดเดียวกับที่ใช้ในการฝึกฝน) ทำการกด Select และ Select ที่ Data test หลังจากนั้นให้ทำการ กด Update model และลองกด Next/Prev เพื่อทำการเลื่อนรูปภาพและประเมินว่าโมเดลสามารถตรวจจับข้อมูลที่ต้องการได้หรือไม่ หากโมเดลสามารถตรวจจับข้อมูลได้แล้วให้ทำการ Export โมเดลออกมาที่เครื่อง โดยไฟล์ที่ได้จะเป็น .zip ประกอบไปด้วย 3 ไฟล์ คือ weight name และ cfg

3. iIA Smart Inspection Kit

ผลลัพธ์: ผู้ใช้งานสามารถใช้งาน iIA Smart Inspection Kit อย่างมีประวิทธิภาพ

ทำการเปิดโปรเจค iIA_Smart_Inspection_Kit.npj โดยตัวโปรเจคนี้จะมี 2 scene คือ main และ Program โดยที่หน้า main คือหน้าของ UI ที่จะทำการแสดงผล ส่วน program จะเก็บ flow ทั้งหมดของงานนี้เอาไว้

4. main scene

ผลลัพธ์: แสดงผลลัพธ์ของการตรวจสอบได้

รูปที่ 9

สิ่งที่สนใจ 

  • หน่วยความจำ (RAM) จะแสดงผลที่ RAM Slot: แสดงผล 2 อย่างคือ NG, OK
  • โมดูลไวไฟ (Wi-Fi module) จะแสดงผลที่ Wiring VCC: แสดงผล 2 อย่างคือ  NG, OK และ Wiring  GND: แสดงผล 2 อย่างคือ NG, OK
  • เมื่อผลลัพธ์ทั้งหมดเป็น OK ไฟจะขึ้นสีเขียว แสดงผลลัพธ์ทั้งหมดว่าชิ้นงานนี้ผ่านการตรวจสอบ

5. Program scene

ผลลัพธ์: การตั้งค่า Flow program

รูปที่ 10 ตั้งค่า flow program 

ทำการนำเข้าโมเดลที่ฝึกฝนแล้วจากข้อ 4 เข้ามาใน flow Program โดยผู้ใช้งานสามารถตั้งชื่อโมเดลได้ตามการใช้งานหรือตามความเข้าใจของผู้ใช้งานได้ และ ผู้ใช้งานสามารถเปลี่ยนจาก Images Slide เป็น กล่องอื่นๆได้ เช่น Web Cam หรือ Image Call 

 

 

Leave a Comment

Your email address will not be published. Required fields are marked *

wpChatIcon
wpChatIcon