พื้นฐาน Computer Vision และ Object Detection

📘 หลักสูตรอบรม

“พื้นฐาน Computer Vision และ Object Detection ด้วย AI”

1. หลักการของหลักสูตร

หลักสูตรนี้มุ่งเน้นให้ผู้เรียนเข้าใจการทำงานของ Computer Vision และ Object Detection ผ่านการลงมือปฏิบัติจริง โดยใช้ภาษา Python และเครื่องมือที่ใช้งานจริงในอุตสาหกรรม เช่น OpenCV และ YOLO World

ผู้เรียนจะได้เรียนรู้ตั้งแต่:

  • การติดตั้งระบบ
  • การเขียนโปรแกรมพื้นฐาน
  • การประมวลผลภาพ
  • การใช้ AI ตรวจจับวัตถุแบบ Real-time

โดยใช้โค้ดตัวอย่างจริงในการเรียนรู้ เพื่อให้สามารถนำไปต่อยอดได้ทันที

2. วัตถุประสงค์ของหลักสูตร

  1. เพื่อให้ผู้เรียนเข้าใจพื้นฐานของ Computer Vision
  2. เพื่อให้สามารถติดตั้งและใช้งาน Python สำหรับงาน AI ได้
  3. เพื่อให้เข้าใจหลักการของ Object Detection
  4. เพื่อให้สามารถใช้งาน YOLO World ตรวจจับวัตถุได้
  5. เพื่อให้สามารถพัฒนาโปรแกรมตรวจจับวัตถุแบบ Real-time

3. ความรู้พื้นฐาน Computer Vision (เข้าใจง่าย)

🔹 Computer Vision คืออะไร

คือการทำให้คอมพิวเตอร์ “มองเห็นภาพ” และเข้าใจสิ่งที่อยู่ในภาพ เช่น:

  • แยกคน / สัตว์ / วัตถุ
  • ตรวจจับตำแหน่ง (Bounding Box)
  • จำแนกประเภท (Classification)

🔹 Object Detection คืออะไร

คือการ:

  1. หา “วัตถุอยู่ตรงไหน”
  2. บอกว่า “วัตถุนั้นคืออะไร”

เช่น:

  • ตรวจจับ “คน” → วาดกรอบ + แสดงคำว่า person
  • ตรวจจับ “โทรศัพท์” → วาดกรอบ + แสดง phone

4. เครื่องมือที่ใช้ในหลักสูตร

  • Python
  • OpenCV → จัดการภาพ / กล้อง
  • Ultralytics YOLO World → AI ตรวจจับวัตถุ

5. ขั้นตอนการเรียน (Step-by-Step)

🔹 ขั้นที่ 1: ติดตั้งโปรแกรมพื้นฐาน

✅ 1. ติดตั้ง Python

  • ดาวน์โหลดจาก: https://www.python.org
  • แนะนำเวอร์ชัน: 3.10 – 3.11
  • ⚠️ ต้องติ๊ก “Add Python to PATH”

✅ 2. ติดตั้ง VS Code

✅ 3. ตรวจสอบการติดตั้ง

เปิด Terminal แล้วพิมพ์:

python --version
pip --version

🔹 ขั้นที่ 2: สร้างโปรเจกต์

mkdir ai-object-detection
cd ai-object-detection

🔹 ขั้นที่ 3: สร้าง Virtual Environment (แนะนำ)

python -m venv venv

เปิดใช้งาน:

  • Windows:
venv\Scripts\activate

🔹 ขั้นที่ 4: ติดตั้ง Library

pip install opencv-python
pip install ultralytics

🔹 ขั้นที่ 5: หลักการทำงานของโค้ด (อธิบายทีละส่วน)

🧠 1. โหลด Library

import cv2
from ultralytics import YOLOWorld
  • cv2 → ใช้จัดการภาพและกล้อง
  • YOLOWorld → โมเดล AI

⚙️ 2. ตั้งค่า

MODEL_SIZE = "yolov8s-worldv2.pt"
CONF_THRESHOLD = 0.30
CLASSES = ["person", "phone", "laptop"]
  • MODEL → ขนาดโมเดล
  • CONF → ความมั่นใจ
  • CLASSES → กำหนดสิ่งที่อยากตรวจจับ

🤖 3. โหลดโมเดล AI

model = YOLOWorld(MODEL_SIZE)

👉 ครั้งแรกจะโหลดไฟล์จากอินเทอร์เน็ต

🎯 4. เปิดกล้อง

cap = cv2.VideoCapture(0)
  • 0 = กล้องหลัก

🔁 5. อ่านภาพแบบ Real-time

ret, frame = cap.read()

🔍 6. ตรวจจับวัตถุ

results = model.predict(
    source=frame,
    conf=CONF_THRESHOLD
)

🖼️ 7. วาดกรอบ

annotated_frame = results[0].plot()

📺 8. แสดงผล

cv2.imshow("Detection", annotated_frame)

⛔ 9. กด q เพื่อออก

if cv2.waitKey(1) & 0xFF == ord('q'):

🔹 ขั้นที่ 6: Workshop (Hands-on)

🎯 กิจกรรมที่ 1

  • ตรวจจับ “คน” และ “โทรศัพท์”

🎯 กิจกรรมที่ 2

  • เปลี่ยน CLASSES เช่น:
["dog", "cat", "bottle"]

🎯 กิจกรรมที่ 3

  • ปรับค่า CONF_THRESHOLD
  • ดูผลลัพธ์ที่เปลี่ยน

🎯 กิจกรรมที่ 4 (Advanced)

  • ปิดการกำหนด class → ใช้ Open Vocabulary
# model.set_classes(CLASSES)

6. ปัญหาที่พบบ่อย (Troubleshooting)

❌ เปิดกล้องไม่ได้

  • เช็ค device index:
cv2.VideoCapture(1)

❌ โมเดลโหลดไม่ได้

  • เช็คอินเทอร์เน็ต
  • ลองรันใหม่

❌ โปรแกรมช้า

  • เปลี่ยนโมเดล:
yolov8n-worldv2.pt