วิธีการ Label ภาพเพื่อสร้างฐานข้อมูลใช้ในงาน ML/AI ขึ้นมาเองอย่างง่าย

ปกติเวลาเราเรียนวิชาที่เกี่ยวกับปัญญาประดิษฐ์อย่างเช่น Machine Learning หรือ Deep Learning เราจะได้ยินคำว่า Dataset (หรือเรียกประมาณว่าเป็นฐานข้อมูล) กันบ่อย ๆ ในเปเปอร์งานวิจัย ในหนังสือ อินเตอร์เน็ต หรืออื่น ๆ แต่ฐานข้อมูลที่มีให้ก็มีรูปเยอะหรือน้อยก็ขึ้นกับผู้จัดทำฐานข้อมูลขึ้นมาเอง

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

Continue reading

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

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

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

Continue reading

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

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

ส่วนไลบรารี ONNX.js เป็นส่วนหนึ่งของไลบรารี ONNX (Open Neural Network Exchange) ที่ได้รับการพัฒนาโดยบริษัทไมโครซอฟท์ เพื่อให้นำโมเดลที่ได้รับการเรียนรู้จากไลบรารี Deep learning ต่าง ๆ ได้แก่ PyTorch, Mxnet, Scikit learn เป็นต้น มาแปลงเพื่อนำไปใช้กันกับไลบรารีอื่นได้เลย หรือนำโมเดลที่เรียนรู้มาทำนายข้อมูล (Inference) ได้ โดยไลบรารี ONNX.js นี้ เปิดให้นักพัฒนาที่เทรนข้อมูลมาแล้ว เอามาทำนายข้อมูลที่มีอยู่บนเว็บเบราวเซอร์ (หรือบนคอมพิวเตอร์ผ่าน Node.js) ได้โดยไม่จำเป็นต้องมาเรียนรู้ใหม่อีก

Continue reading