Categories
Computer Diary

ทำ Synthetic Head Pose Dataset เพื่อเทรน AI

ปกติเวลาที่เทรนโมเดล AI ที่เป็น Deep Learning สิ่งหนึ่งที่โมเดลเหล่านี้ต้องการสำหรับการเทรนโมเดลคือข้อมูล Dataset สำหรับการฝึกที่มีข้อมูลเป็นจำนวนมาก อย่างไรก็ตามปัญหาหนึ่งคือไม่มี Dataset ที่มีจำนวนมากพอสำหรับการเทรน

วิธีทั่วไปที่ทำก็ออกไปเก็บข้อมูล และจัดทำ Ground Truth สำหรับการเทรนโมเดล AI เพิ่ม ซึ่งโอเค อย่างไรก็ดีมีอีกวิธีหนึ่งที่เราสามารถทำได้คือการสังเคราะห์ชุดข้อมูล Dataset ขึ้นมา (หรือเรียกว่าทำ Synthetic Dataset)

Categories
Computer Diary

ROG Flow X13: การตั้งค่าและทดสอบกับ AI/ML

เดิมทีเรามีโน้ตบุ๊คตัวเก่าอย่าง Surface Pro X ที่ใช้อยู่แล้วครับ เพียงแต่ช่วงนี้เครื่องอืดไปหน่อยสำหรับการใช้งานทางด้าน AI/ML ด้าน Computer Vision แถมคอมตั้งโต๊ะที่มีอยู่ก็พกพาไปไหนก็ไม่สะดวก และคอมที่แล็บก็ต้องรีโมทเข้าไปใช้งานก็ไม่สะดวกเช่นกัน เลยมองหาโน้ตบุ๊คซักตัวสำหรับการพกพา

Categories
Computer Diary

วิธีเทรน Segmentation โดย mmSegmentation

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

โดยเรื่องนี้อยู่ในหัวข้อ AI (Artificial Intelligence) อย่าง Computer Vision ที่อยู่ในเรื่องของ Semantic Segmentation

Categories
Computer Diary

วัดระยะห่างระหว่างตาดำจากภาพโดยภาษา Python

อันนี้เป็นส่วนหนึ่งของงานวิจัย ทำไปแล้วบางส่วน

ปกติการวัดตาดำ เราจะพบได้ในคนที่เลือกขนาดเครื่อง Virtual Reality Headset หรือวัดขนาดแว่นตา หรืออื่น ๆ ปกติเราจะใช้ไม้บรรทัดวัดเพื่อให้รู้ว่าระยะห่างระหว่างตาดำ (Interpupillary Distance) มีระยะห่างเท่าไร อย่างไรก็ดีเราจะใช้ไม้บรรทัดวัดไปตลอดเหรอก็ไม่สะดวกเท่าไร แถมสมัยนี้เราก็ใช้คอมพิวเตอร์กันอยู่แล้วด้วย เลยเอามาเขียนโค้ดส่วนนี้เพื่อจับระยะการอ้าปากครับ

Categories
Computer Diary

พูดถึง Head Pose Estimation ที่ใช้ในขณะนี้

Head Pose Estimation คือเทคนิคการจับภาพการเคลื่อนไหวของศีรษะเมื่อเทียบกับมุมกล้องที่ถ่ายอยู่ในขณะที่จับภาพ โดยนำภาพใบหน้าของบุคคลที่จับภาพได้จากเทคนิคการจับภาพใบหน้าที่ได้กล่าวถึงในบทความก่อนหน้านี้มาประมวลผลผ่านเทคนิคหนึ่งแล้วระบุเป็นองศาการเคลื่อนไหวของศีรษะใน 3 ทิศทางได้แก่ หันศีรษะซ้าย-ขวา (Yaw), ก้ม-เงยศีรษะ (Pitch) และเอนศีรษะซ้าย-ขวา (Roll)

Categories
Computer Diary

เทคนิคการนำโมเดล Tensorflow มารันบน Node.js โดยไม่ต้องใช้ tfjs-converter

ปกติเวลาเรามีข้อมูลที่ได้รับการเทรนเรียบร้อยแล้วทดสอบแล้วได้ผลที่แม่นยำตามที่เราต้องการ จากนั้นเรานำโมเดลที่ผ่านการเทรน และทดสอบแล้วมารันในโปรแกรมซึ่งส่วนใหญ่ก็จะเขียนในภาษาไพทอน แต่ทีนี้เราจะต้องดูปลายทางว่าเราจะนำข้อมูลที่เทรนมาทำงานบนเว็บเบราวเซอร์ มาไว้ในอุปกรณ์ IoT (Internet of Things) หรืออื่น ๆ

Categories
Computer Diary

การติดตั้ง เขียนโค้ดเพื่อใช้งาน ONNX.js และข้อสังเกต

อัพเดท: ตัวไลบรารีได้รับการพัฒนาต่อแล้วครับ อ่านได้ในรายละเอียดหัวข้ออัพเดทด้านล่างของบทความครับ

การนำโมเดลที่ได้รับการเรียนรู้แล้วมาทำงานบนเว็บเบราว์เซอร์ไม่ได้เป็นเรื่องใหม่นัก เพราะบริษัทกูเกิ้ลพัฒนาไลบรารีชื่อ Tensorflow.js โดยเรานำโมเดลที่ได้รับการเรียนรู้แล้วมาทำนาย หรือเรียนรู้ข้อมูลใหม่บนเว็บไซต์ได้เลยโดยไม่จำเป็นต้องส่งข้อมูลไปทำนายบนเซิร์ฟเวอร์

Categories
Computer Diary

Face Detection in my thesis

ตอนนี้ธีสิสที่ทำอยู่เกี่ยวกับการวัดการเคลื่อนไหวของศีรษะและลำคอในผู้ป่วยที่เป็นมะเร็งศีรษะและลำคอที่ผ่านการทำกายภาพบำบัดที่เดิมจะให้หมอวัดองศาการเคลื่อนไหวของศีรษะและลำคอ (Cervical range of motion) แต่ทีนี้ติดปัญหาเรื่องความแม่นยำ และความน่าเชื้อถือของการวัด (reliability & validity) เราจะทำเป็นตัวโปรแกรมเพื่อให้ประเมินการเคลื่อนไหวจาก webcam แทน แล้วทีนี้ขั้นแรกของเราจะต้องทำคือการใช้เทคนิคการจับภาพใบหน้า (Face detection)