BLOGS

สร้างโมเดล Quality Control ด้วย Google Cloud Visual Inspection AI [Part 2/2]

Suwat.T • 01/10/2022
Google Cloud Solutions Specialist

จากบทความที่แล้ว ที่ได้อธิบายประโยชน์และตัวอย่างการนำ Visual Inspection AI ไปประยุกต์ใช้ในอุตสาหกรรมต่างๆ ในบทความนี้จะเป็นการเจาะลึกการทำโมเดลการตรวจสอบคุณภาพสินค้า (Quality Control) การสร้างโมเดล Machine Learning/ AI ด้วย Visual Inspection AI เป็นบริการบน Google Cloud Platform ที่ช่วยให้เราสามารถสร้างโมเดลสำหรับ QC โดยเฉพาะ

เริ่มใช้งาน Visual Inspection AI กันเลย

        โดยจะทำการตรวจสอบการประกอบชิ้นส่วนของแผงวงจร (PCBs : Printed Circuit Boards) ด้วย Visual Inspection AI เพื่อให้มั่นใจได้ว่าส่วนประกอบต่าง ๆ ของแผงวงจรอยู่ในตำแหน่งที่ถูกต้องและส่วนประกอบแต่ละส่วนไม่มีความเสียหาย รวมถึงได้ชิ้นส่วนประกอบได้ตรงตามมาตรฐานอีกด้วยโดย Workflow การทำโมเดลจะเป็นดังนี้

เริ่มใช้งาน Visual Inspection AI

1. เริ่มต้น Enable API และสร้าง Dataset

เมื่อเข้ามาหน้า Console Visual Inspection AI ให้เราทำการเลือก ENABLE VISUAL INSPECTION AI API
> + CREATE A DATASET

เริ่มต้น Enable API และสร้าง Dataset

ในขั้นตอน Create Dataset ให้เราทำการตั้งชื่อ Dataset name : “pcb_component ” และทำการเลือก Objective ของโมเดลเป็นแบบ Assembly Inspection ซึ่งเป็นโมเดลสำหรับตรวจสอบการประกอบชิ้นส่วนต่าง ๆ

Assembly Inspection

2. Import Image Dataset

ในขั้นตอนนี้เราจะ Import Image Dataset
ด้วยวิธี Select an Import File from Cloud Storage โดยเป็นการเลือก CSV file 
ซึ่งข้อมูลภายใน CSV จะเป็น PATH ของ Image Dataset
หรือ
ถ้าเราไม่มี Image Dataset บน Cloud Storage เราก็สามารถ Upload รูปภาพ
จากเครื่องขึ้นไปยัง Cloud Storage ได้จากหน้าเดียวกัน
หลังจากเรียบร้อยแล้วให้เลือก CONTINUE

รูปตัวอย่าง Path ในไฟล์ .csv

Google AI for Inspection

ซึ่งหลังจากที่เรา Import Image Dataset เรียบร้อย
เราก็จะได้รูปภาพที่อยู่บน Visual Inspection AI Dataset ดังภาพประกอบต่อไปนี้

Visual Inspection AI Dataset

3. เลือก Template ที่จะทำการ Set Component

ขั้นตอนนี้เป็นการเลือก Template
ซึ่งเราจะทำการเลือก Image Dataset มา 1 รูป
โดยเลือก COMPONENTS > SELECT IMAGE

Google Visual Inspection AI

เมื่อเลือกรูปที่จะใช้เป็น Template แล้วเราจะทำการ Enable Using as Template โดยจุดประสงค์ของการ Set Template นั้นคือเพื่อที่จะให้อัลกอริทึม Visual Inspection AI โฟกัสพื้นที่ที่มีส่วนเกี่ยวข้อง (Include) และไม่เกี่ยวข้อง (Exclude)

เมื่อทำการเลือกส่วน Include และ Exclude เสร็จให้เราเลือก Save และไปเลือก Components ส่วนอื่นที่ต้องการจะตรวจสอบ

AI Enable Using as Template

ขั้นตอนต่อมาให้เราทำการ ADD NEW COMPONENT ส่วนประกอบที่เหลือที่เราต้องการจะตรวจสอบเช่น Resistance, Soldering

AI ตรวจสอบ Resistance, Soldering

เมื่อเรา Set Template ของแผงวงจรที่ต้องการจะตรวจสอบเรียบร้อยแล้ว
ก็จะได้หน้าตาของ Template โดยจะประกอบไปด้วย Include, Exclude, Resistance และ Soldering ดังนี้

Set Template ของแผงวงจร

เมื่อ Set Template เสร็จแล้ว
เลือก DETECT COMPONENTS ซึ่งจะเป็นการ Define Components ต่างๆ ใน Template ออกมาเป็นแต่ละส่วนย่อย

DETECT COMPONENTS

หลังจากที่กด DETECT COMPONENTS จะใช้เวลาประมาณ 15 – 20 นาที

Define Components

4. Detect Components ทุกรูปบน Dataset ตาม Image Template

ขั้นตอนนี้จะเป็นการ Review ดูตัวอย่างว่า Components ที่ถูก Detected มีการ Detect Components ได้ถูกต้องหรือไม่ โดยจะเป็นการนำรูป Template ไป Define Components กับรูปที่เหลือบน Dataset

เมื่อตรวจสอบแล้วพบว่า Component ไม่ถูกต้อง ให้เราทำการปรับ Bounding Boxes ใหม่
แต่ถ้าหากมีการแยก Components ถูกต้องและใช้งานได้ดี ให้เราเลือก Apply to all > APPLY

AI Model - Detect Components ทุกรูปบน Dataset ตาม Image Template

Apply to all จะใช้เวลาในการประมวลผลประมาณ 15 – 20 นาที
ถ้าระบบประมวลผลเสร็จเรียบร้อยแล้วสถานะทางด้านขวาจะขยับไปที่ Finish

AI Model สำหรับสายงาน QC

5. Train Anomaly Detection Model

หลังจากที่เราได้เรา Define Components ทุกรูปบน Dataset มาแล้วขั้นตอนนี้เราจะทำการ Train model ตรวจจับความผิดปกติของ Components ที่ถูก Crop ซึ่งรูปที่เราได้จากการ Define Components รูปภาพยัง Unassigned อยู่คือไม่มีการ Label Components ว่า NORMAL หรือ ABNORMAL

ดังนั้นขั้นตอนต่อไปนี้ เราจะ Train Model สำหรับ Component Resistance เท่านั้น
ให้ Filter เฉพาะ Resistance มา Train แล้วเลือก START TRAINING

Train Model สำหรับ Component Resistance

อาจจะใช้เวลาในการ Train model ประมาณ 50-60 นาที ซึ่งขึ้นอยู่กับปริมาณของ Dataset ที่นำมา Train ด้วย
หลังจากที่เรา Trained model เรียบร้อยแล้วก็จะมีปุ่ม GO TO EVALUATE REVIEW PAGE เพื่อตรวจสอบผลลัพธ์

Image Recognition AI Model

เลือก GO TO EVALUATE REVIEW PAGE > Suggest to label ภายใต้ Resistance
จะแสดงรูปภาพที่มีค่า Model Defect Score ค่านี้จะเป็นตัวช่วยให้เรารู้ว่ารูปภาพของ Components มีข้อบกพร่องมากน้อยเพียงใด
ถ้าค่า Score ยิ่งสูงจะยิ่งทำให้โมเดลเชื่อว่ารูปภาพของ Components มีข้อบกพร่องมาก

รูปภาพของ Components ที่มีกรอบ Suggest to Label
คือภาพที่ระบบ Visual Inspection AI เชื่อว่ารูปนั้นมีแนวโน้มที่จะได้รับความสนใจในการตรวจสอบ
ซึ่งหากเรา Label ตามการ Suggest to Label และยืนยันว่าเป็นปกติ (NORMAL) หรือผิดปกติ (ABNORMAL)
จะช่วยให้ระบบ Visual Inspection AI  สามารถตรวจจับความผิดปกติของ Components ที่ตรวจสอบได้ดีขึ้น

รูปภาพบางรูปใน Dataset จะถูกปกปิดด้วยสี่เหลี่ยมสีน้ำเงิน เพื่อให้ง่ายต่อการระบุของส่วนประกอบที่ผิดปกติ (ABNORMAL)
การ LABEL ส่วนประกอบที่ปกติและผิดปกติด้วยตนเองหลังจากการ Training หนึ่งรอบจะช่วยปรับปรุงความแม่นยำของ Model

Image AI - ค่า Model Defect Score

เมื่อเรา Label NORMAL หรือ ABNORMAL แล้วเราสามารถ Train Model Anomaly Detection รอบใหม่โดยใช้ส่วนที่ Label
เพื่อปรับปรุง Model ซึ่งสามารถทำการเลือก START TRAINING ทางด้านขวาเพื่อเป็นการ Train Model ใหม่อีกรอบซึ่งสามารถ

AI Labeling

สรุปคือการ Train Model จะแบ่งออกเป็น 2 รอบ

  • รอบแรกจะเป็นการ Pre Train ตาม Concept Active Learning เพื่อให้โมเดลช่วย Suggest to Label
  • รอบที่สอง จะเป็นการ Train เพื่อใช้งานจริง

6. Evaluate Trained Anomaly Detect Model

เมื่อทำการ Train รอบที่สองเรียบร้อยแล้วให้เราทำการเลือก GO TO EVALUATION REVIEW PAGE โดยภายใต้ pcb_component จะมีอยู่ 2 Model ที่ได้ทำการ Train มาโดยเราจะเลือกส่วนประกอบที่เป็น Resistance

           ซึ่งหลังจากที่เราเลือกเข้ามาก็จะมีรายละเอียดการประเมินผลลัพธ์ของ Model ด้วยค่า Precision & Recall และ Confusion Matrix
ให้เราดูว่าผลลัพธ์ที่ได้มีค่าอยู่ในเกณฑ์ดีหรือไม่ดี ถ้ายังไม่ดีอาจจะต้องไปปรับกระบวนการเตรียม Data ให้ดีกว่าเดิมหรือ Label ใหม่อีกรอบ

           ซึ่งจากที่ดูผลลัพธ์ของ Model จะเห็นได้ว่าโมเดลมีการทำนายได้อย่างถูกต้องและแม่นยำทั้ง NORMAL และ ABNORMAL อีกทั้งสามารถ Export Model ไปใช้งานต่อได้ด้วย Solution Artifact ในรูปแบบของ Docker อีกด้วย

ค่า Precision & Recall และ Confusion Matrix

Conclusion

            การทำโมเดลเกี่ยวกับ Visual Inspection AI ในการตรวจสอบคุณภาพสินค้า (Quality Control) จากตัวอย่างจะเห็นได้ว่าการใช้งานค่อนข้างง่ายและมีประสิทธิภาพอีกทั้งยังสามารถนำโมเดลไป Deploy ลงบนเครื่องจักร (Edge) หรือบนคอมพิวเตอร์ได้ ดังนั้นถ้าในงานด้านอุตสาหกรรมมีการประยุกต์ใช้ Visual Inspection AI ก็จะช่วยให้การทำงานมีความสะดวก รวดเร็วและลดการเกิดความผิดพลาดที่เกิดจากมนุษย์ได้อีกด้วย

สำหรับใครที่สนใจในเรื่องของ Google Cloud Platform หรือ Service อื่นๆ
ด้าน Data Analytics, Data Lake, Data Warehouse, AI/Machine Learning
Tangerine มีผู้เชี่ยวชาญคอยให้คำปรึกษา สามารถติดต่อได้ที่อีเมล marketing@tangerine.co.th หรือโทร 094-999-4263 ได้ทันที

สอบถามข้อมูลเพิ่มเติม
Contact Form_TH Sources