รายละเอียดโมดูล รุ่นที่ 3 ปี 2564

ภาพรวมของหลักสูตร

ลำดับการเรียน

Module 1 การพัฒนา application ด้วยภาษา Python

       การเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming: OOP) เป็นหนึ่งในวิธีการเขียนโปรแกรมที่ได้รับความนิยมสูงในการสร้างแอพพลิเคชั่นในปัจจุบัน  หัวข้อนี้จะได้เรียนรู้การสร้าง class เพื่อใช้ในการเขียนโปรแกรมแบบ OOP โดยเน้นไปที่การใช้งานร่วมกับ GUI เพื่อให้สามารถนำไปใช้ใน Project ทางด้าน Computer Vision ง่ายขึ้น

เนื้อหา (Contents) : 

  • Basic python
  • Object and Class
  • Basic GUI with OpenCV

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • สร้างแอพพลิเคชั่นอย่างง่ายด้วย python ได้
  • ประกอบพื้นฐานจากOpenCV ได้
  • ออกแบบ Class ไว้ใช้สำหรับการเขียนโปรแกรมเชิงวัตถุได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 2 การเขียนโปรแกรมภาษา Python เพื่อใช้กับงานทาง Computer vision

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

เนื้อหา (Contents) : 

  • List, Tuple,  Function
  • 2D and 3D numpy array, Tensor
  • Basic OpenCV
  • Image slicing and cropping
  • Image resizing
  • Image rotation
  • Drawing on image
  • Image frame from video

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • เขียนโปรแกรมเพื่ออ่านภาพนิ่งและภาพเคลื่อนไหวได้
  • ประมวลผลข้อมูลเชิงตำแหน่งบนภาพหรือวีดีโอได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 3 การประมวลผลภาพและภาพเคลื่อนไหว (image and video processing)
       การประมวลผลให้ได้ภาพที่มีคุณภาพที่เหมาะสมก่อนนำไปใช้งานมีผลต่อการวิเคราะห์ข้อมูลอย่างมากหัวข้อนี้จะเรียนเกี่ยวกับการจัดการเรื่องความสว่างของภาพสีการทำให้ภาพเรียบเนียนการจัดการสัญญาณรบกวนรวมถึงประยุกต์ใช้การประมวลผลภาพเชิงความถี่

เนื้อหา (Contents) : 

  • Color Space
  • Brightness and contrast appointment
  • Convolutional operator
  • Image smoothing
  • Masking and bitwise operation
  • Frequency domain transformation

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • ประมวลผลภาพให้ได้ภาพมีความราบเรียบมีความสว่างและความต่างสีที่เหมาะสมได้
  • ใช้ข้อมูลเชิงความถี่ช่วยในการปรับภาพโดยใช้เป็นคุณลักษณะของภาพได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 4 การแยกองค์ประกอบภาพ (image segmentation)

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

เนื้อหา (Contents) :

  • Thresholding on color spaces
  • Morphological transformation
  • Template matching
  • Distance transform
  • Edge detection
  • Image contour
  • Watershed segmentation

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

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

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 5 แบบจำลองเครือข่ายประสาทเทียมเชิงลึกแบบคอนโวลูชัน และการประยุกต์ใช้ (Deep Convolutional Neural Network)

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

เนื้อหา (Contents) :

  • Introduction to supervised learning and Artificial Neural Network
  • Convolution operator and kernels
  • Convolutional Neural Network (CNN)
  • Transferred learning
  • Output interpretation

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • สร้างโมเดลการเรียนรู้เชิงลึกที่เหมาะสมเพื่อใช้ในการจำแนกประเภทของภาพได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 6 การสกัดคุณลักษณะด้วย deep learning เพื่อใช้กับการจำแนกประเภทของภาพแบบ instance based classification

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

เนื้อหา (Contents) : 

  • Distance and similarity
  • Triplet-loss model and
  • Triplet-loss model training
  • Instance based classification

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • สกัดคุณลักษณะของภาพเป็นเวกเตอร์บน Euclidean Space ได้
  • สร้างและนำโมเดลแบบจำลองการจำแนกประเภทของภาพแบบเทียบตัวอย่างไปใช้งานได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 7 การตรวจจับและรู้จำใบหน้า (Face detection and recognition)

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

เนื้อหา (Contents) : 

  • การตรวจจับองค์ประกอบใบหน้าโดยใช้ Haarcascade feature
  • การตรวจจับองค์ประกอบใบหน้าโดยใช้ Deep learning
  • การสร้างโมเดลรู้จำใบหน้าบุคคล

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • สกัดใบหน้าของบุคคลที่อยู่ในภาพทั้งภาพนี่งและภาพเคลื่อนไหวได้
  • สร้างโมเดลรู้จำใบหน้าบุคคลได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 8 การสร้างแบบจำลองตรวจจับความผิดปกติด้วย deep learning (Anomaly detection using deep learning)

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

เนื้อหา (Contents) : 

  • Anomaly detection
  • Autoencoder model
  • Anomaly detection using reconstruction error
  • Anomaly detection using distribution of density
  • Anomaly in image classification output

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • สร้างโมเดลเพื่อจำแนกประเภทของภาพที่ผิดปกติจะภาพส่วนมากได้
  • วิเคราะห์ความผิดปกติของการทำนายจากการกระจายตัวความหนาแน่นของผลการทำนายได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 9 การตรวจจับวัตถุในภาพและภาพเคลื่อนไหว (Object detection) โดยใช้ deep learning

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

เนื้อหา (Contents) : 

  • Deep learning model for object detection
  • Labeling and training object detection model
  • Transferred learning
  • Object detection in video

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • เตรียมข้อมูลเพื่อใช้ในการฝึกโมเดล object detection ได้
  • ฝึกโมเดลเพื่อใช้ในการ detect object ที่สนใจได้
  • นำผลลัพธ์ไปใช้งานร่วมกับการวิเคราะห์ภาพเคลื่อนไหวได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 10 การประยุกต์ใช้การแปลงภาพเป็นข้อความด้วย OCR

       การแปลงภาพเป็นข้อความช่วยให้การประยุกต์ใช้งาน Computer Vision ได้กว้างขวางขึ้นในหัวข้อนี้จะเรียนรู้เกี่ยวกับการนำแบบจำลองการแปลงอักษรมาใช้เพื่อนำไปใช้งานร่วมกับ application ที่เกี่ยวข้องต่อไป

เนื้อหา (Contents) : 

  • OCR model
  • License plate recognition application
  • Label recognition

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • ประยุกต์ใช้เทคโนโลยีกับการรู้จำตัวอักษรได้
  • ผลลัพธ์ที่ได้ไปใช้ร่วมกับ Application ที่เกี่ยวข้องได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 11 การพัฒนา API web service เพื่อ deploy AI
       การใช้งานเทคโนโลยี Deep Learning จำเป็นต้องใช้การประมวลผลสูง ทำให้ในบางโครงการที่ใช้อุปกรณ์ IOT ที่มีพลังในการประมวลผลไม่มากนัก ไม่สามารถตอบสนองความต้องการได้ทันเวลา ดังนั้นการส่งภาพมาประมวลผลที่เครื่องแม่ขายและส่งคำตอบกลับไปให้กับอุปกรณ์ IOT เพื่อให้สามารถทำงานได้อย่างอัตโนมัติจึงเป็นทางเลือกที่เหมาะสม หัวข้อนี้จะได้เรียนรู้การติดตั้งคุณแม่ขายเพื่อใช้ API Server ทำหน้าที่ประมวลผลไม่ว่าจะเป็นการทำนายด้วย Machine Learning หรือ Deep Learning

เนื้อหา (Contents) : 

  • Web service technology
  • API server using Python
  • API with query parameters
  • Working with JSON

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • ติดตั้งโปรแกรมเครื่องแม่ข่ายเพื่อให้บริการ API Server ได้
  • นำ Machine Learning Modelมา deploy เป็น API เพื่อใช้งานได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

Module 12 สถาปัตยกรรมข้อมูลขนาดใหญ่สำหรับการจัดการภาพและภาพเคลื่อนไหว (Big data architecture for image and video analysis)

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

เนื้อหา (Contents) : 

  • Hadoop and it’s eco system
  • NoSQL databases
  • Kafka
  • Big data architecture

เมื่อจบโมดูลแล้วผู้เรียนสามารถ (Learning Outcome):

  • ออกแบบโครงสร้างพื้นฐานสำหรับการประมวลผลภาพด้วยเทคโนโลยี Big data ได้

ความรู้ก่อนเรียน (Prerequisite knowledge) : ไม่มี

ภาพรวมของหลักสูตร

โมดูลกับวิชาเรียน

Advance data science tool

1229px-TensorFlowLogo.svg
750px-OpenCV_Logo_with_text_svg_version.svg

Visualization tool

Data ingestion and ETL tools

2500px-Hadoop_logo_new.svg
1000px-Apache_Hive_logo.svg

Other tool

883px-Jupyter_logo.svg

ตารางการเรียนการสอนและการให้คำปรึกษา

ระยะเวลาเรียน

  • ภาคทฤษฎีและปฏิบัติ ระหว่างวันที่ 11 กันยายน 2563 – 18 ธันวาคม 2563
    • เรียนทุกวันศุกร์และวันเสาร์ เวลา 09.00 – 16.00 น. ห้องปฏิบัติการ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี
  • Worked Integrated Learning (WIL)
    • ผู้เรียนเรียนรู้แก้ปัญหาจากโจทย์จริงของสถานประกอบการที่สังกัด ณ สถานประกอบการเต็มเวลา
    • จันทร์ – พฤหัสบดี (กันยายน 2563 – ธันวาคม 2563)
    • ผู้สอนให้คำปรึกษาเพื่อร่วมแก้โจทย์ปัญหาจากสถานประกอบการ ตามนัดหมาย ทั้งหลังคลาสเรียนและการให้คำปรึกษาออนไลน์ผ่านทาง Microsoft Teams

ตารางการเรียนการสอนและการให้คำปรึกษา

  • วันศุกร์ เวลา 00 – 16.00 น. ณ ห้อง ณ ห้อง Classroom 4/2 ชั้น 4
  • วันเสาร์ เวลา 00 – 12.00 น. ณ ห้อง Training Learning Space ชั้น 2
  • วันเสาร์ เวลา 13.00 – 16.00 น. ณ ห้อง Training I และ Training II,V ชั้น 1