เทคนิคสร้าง Node เพื่อใช้งานกับ Node-RED ให้ทำตามที่เราต้องการ

Node-RED เป็นเครื่องมือที่ช่วยให้เราทำงานแบบ Flow-based programming ซึ่งเป็นอุปกรณ์ที่ช่วยให้นักพัฒนาโปรแกรมสามารถทำงานให้เครื่องมือ IoT (Internet of Things) ทำงานได้ตามที่เราต้องการได้ง่ายโดยทำผ่านเว็บเบราวเซอร์ ตัวอย่างของอุปกรณ์ที่จะมาพัฒนาที่มีชื่อก็ได้แก่ Raspberry Pi ที่วางขายมานานแล้ว จนตอนนี้ออกเป็นรุ่น Raspberry Pi 4 Model B ออกมาครับ เรามาเข้าเรื่องกันดีกว่า

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

เมื่อนำ iPad มาเขียนโปรแกรมแทนที่โน้ตบุ๊ค

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

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

Continue reading

Coding in React + Others

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

Continue reading

Face Detection in my thesis

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

Continue reading