Easy Image Classification using Lobe

Hai Handsome
Super AI Engineer
Published in
4 min readJan 27, 2021

สวัสดีครับ เพื่อนๆ พี่ๆ น้องๆ ทุกท่าน ผมหมอไฮ้ หรือนายแพทย์คณิต คูศิริวิเชียรนะครับ วันนี้ผมขออนุญาตที่จะพาเพื่อนๆ ทุกท่าน มาชมเทคโนโลยี AI ในปัจจุบันกันครับ ผมเชื่อว่าเพื่อนๆทุกท่านคงเคยได้ยินคำว่า AI มาก่อนหน้านี้ ไม่มากก็น้อยนะครับ AI เนี่ยย่อมาจากคำว่า Artificial Intelligence หรือที่คนไทยเราเรียกว่า ปัญญาประดิษฐ์ ซึ่งจริงๆแล้วคำว่าปัญญาประดิษฐ์เนี่ย มีความหมายว่า ระบบใดๆก็ตามที่ช่วยให้เครื่องจักรสามารถเลียนแบบความสามารถขั้นสูงของมนุษย์ได้ (AI refers to a broad class of systems that enable machines to mimic advanced human capabilities) ตัวอย่างของ AI ก็เช่น

Image by Gerd Altmann from Pixabay

· Image Classification คือ ความสามารถในการจำแนกรูปภาพได้ เช่น การแยกภาพผู้ชายกับผู้หญิง การแยกภาพผลไม้ชนิดต่างๆ

· Speech to Text และ Text to Speech คือ ความสามารถในการแปลงคำพูดให้กลายเป็นข้อความ และการแปลงข้อความให้กลายเป็นคำพูด ถ้าทางฝั่ง iOS ก็เช่น Siri หรือถ้าฝั่ง Android ก็ Google Assistance

· Natural Language Processing คือ การประมวลผลคำ เช่น การวิเคราะห์รูปแบบของประโยค, การวิเคราะห์ความหมายของประโยค ซึ่งใช้ใน Application ประเภท ChatBot

· Recommendation System คือ ระบบแนะนำ เช่น การแนะนำสินค้าให้แก่ลูกค้า ใน Lazada หรือ Shopee เป็นต้น

เพื่อนๆอาจจะคิดว่า “โอ้โห! มันเจ๋งมากเลย!” แต่ถ้าเราอยากจะสร้างระบบ AI ของเราขึ้นมาเนี่ย ต้องยากแน่ๆ ซึ่งจริงๆแล้วมันก็ยากจริงๆแหละ เพราะระบบ AI เกี่ยวข้องกับการคำนวณทางคณิตศาสตร์มากมายเต็มไปหมดนะครับ เช่น Vector, Matrix รวมถึง Calculus ที่หลายๆคนร้องยี๊….

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

อารัมภบทมานานแล้ว เรามาเริ่มกันเลยดีกว่าครับ ให้เพื่อนๆไป Download โปรแกรม Lobe ได้ที่ https://lobe.ai นะครับ เมื่อเปิดขึ้นมาแล้วก็จะได้หน้าตาประมาณนี้ออกมานะครับ

เพื่อนๆสามารถเข้าไปดูในหัวข้อ Examples หรือ Click Link ที่ https://lobe.ai/examples ได้นะครับ จะเห็นว่ามีตัวอย่างที่น่าสนใจอยู่เยอะแยะเลยนะครับ ว่า Lobe สามารถทำอะไรได้บ้างครับ

และเมื่อพร้อมแล้วก็ Click ปุ่ม Download เพื่อ Download โปรแกรม Lobe มาเก็บไว้ที่เครื่องเราได้เลยนะครับ

ซึ่งก่อนจะ Download เราต้องกรอกชื่อและ Email รวมถึงประเทศ และบอกว่าเราจะใช้ Lobe เพื่อทำอะไรก่อนนะครับ จึงจะสามารถ Download ได้ครับ

จากนั้นรอสักครู่เพราะขนาดไฟล์ใหญ่พอควรครับ

เมื่อได้ไฟล์ Lobe.exe มาแล้ว ก็ให้ทำการติดตั้งตามวิธีมาตรฐานทั่วไปนะครับ

เมื่อติดตั้งเสร็จ เราจะได้ Icon ดังรูปนี้

มาอยู่ที่หน้าจอ Desktop ของเรานะครับ อย่ารอช้า Double-Click เพื่อเปิดโปรแกรม Lobe ได้เลยครับ จะได้หน้าตาแบบนี้ครับ

ถึงตอนนี้เราจะต้องมาคิดนึดนึงล่ะครับ ว่าเราจะทำ Project เกี่ยวกับอะไรกันดี คิด…คิด…คิด…ติ๊กต๊อก…ติ๊กต๊อก…ติ๊กต๊อก…ปิ๊ง!!!

Icons made Smashicons from www.flaticon.com

ช่วงนี้ COVID-19 ระบาดนี่ การสวมหน้ากากอนามัยเป็นการป้องกันการระบาดของโรคที่ทำได้ง่ายและมีความสำคัญสูง ที่พวกเราทุกคนควรร่วมมือกันสวมหน้ากากอนามัยนะครับ เพื่อลดการแพร่เชื้อในผู้ติดเชื้อ และลดการรับเชื้อในผู้ที่ยังไม่ติด เพราะฉะนั้นเรามาทำระบบตรวจสอบว่าคนสวมใส่หน้ากากอนามัยหรือไม่สวมกันดีกว่านะครับ

เมื่อคิด Project ได้แล้ว ก็ให้เพื่อนๆ Click ที่ปุ่ม New Project เพื่อสร้าง Project ใหม่ได้เลยครับ ขั้นแรกให้ตั้งชื่อ Project ก่อนครับ โดยใน Project ผมขอตั้งชื่อว่า Mask Detection นะครับ

จะเห็นว่าหน้าตาโปรแกรมจะเรียบง่ายสไตล์ Minimal มากๆ โดยจะแบ่งเป็น 3 ส่วน คือ Label, Train และ Play เราจะมาเริ่มทีละส่วนนะครับ

Label

ก่อนอื่นเพื่อนๆต้องรู้จักคำศัพท์นิดนึงครับ คือ คำว่า Labeling

การ Labeling คือ การ Assign Category หรือ การจัดกลุ่มให้กับรูปภาพของเพื่อนๆ เพื่อเป็นตัวอย่างให้ Lobe ได้ใช้สำหรับเรียนรู้ พูดง่ายๆก็คือเพื่อเอาไว้เพื่อสอนให้ Lobe ได้รู้จักและจดจำจุดเด่นของแต่ละรูปเอาไว้นั่นเองครับ เช่น ให้ Lobe ดูรูปรถ แล้วก็บอกว่านี่คือรูปรถ ให้ Lobe ดูรูปเรือ แล้วก็บอกว่านี่คือรูปเรือ และเมื่อ Lobe ได้เรียนรู้ได้หลายๆรูป ต่อไปมันก็จะได้สามารถทายได้ว่ารูปอื่นๆที่ให้มันดูเนี่ยเป็นรูปรถ หรือ เรือ นั่นเองครับ

สำหรับการใช้งานในส่วนนี้ ก่อนอื่นดูให้แน่ใจว่าฝั่งซ้าย เราอยู่ในหัวข้อ Label อยู่

จากนั้นให้เรา Click ที่ปุ่ม Import ที่อยู่ด้านขวา จะเห็นว่ามีเมนูย่อยให้เลือกนะครับ ว่าเราจะนำเข้าข้อมูลอะไร ซึ่งแบ่งเป็น Images, Camera และ Dataset ดังนี้ครับ

· Images: กรณีเพื่อนๆมีรูปภาพอยู่แล้ว ให้เลือก Images เพื่อเลือกรูปที่ต้องการให้ Lobe ได้ทันทีครับ

· Camera: ถ้าเพื่อนๆยังไม่มีรูป แต่มี WebCam ติดอยู่ที่เครื่องคอมพิวเตอร์ของเพื่อนๆแล้วล่ะก็ ก็สามารถใช้รูปภาพจาก WebCam ได้ครับ

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

ในที่นี้ผมยังไม่มีรูป แต่มี WebCam นะครับ ดังนั้นจึงขอยกตัวอย่างเป็นการใช้ WebCam ในการจับภาพนะครับ เพราะฉะนั้นให้ Click ที่ Camera ได้เลยครับ จะได้ออกมาดังภาพนี้ครับ

ให้เพื่อนๆ Click ที่มุมซ้ายล่างของรูปเพื่อใส่ Label นะครับ ซึ่งในที่นี้ผมยังไม่ได้ใส่ Mask เพราะฉะนั้นให้ใส่ Label เป็น No Mask ครับ แล้วก็เก็กหน้าหล่อๆ แล้วก็กดปุ่ม Capture ซึ่งเป็นวงกลมสีขาวตรงกลางด้านล่างได้เลยครับ เราต้องใส่รูปไปอย่างน้อย 5 รูปนะครับ โปรแกรม Lobe จึงจะสามารถทำงานได้ครับ โดยรูปที่ใส่ไปเนี่ยให้เพื่อนๆ ขยับใบหน้าไปมาเล็กน้อย อาจหันหรือหมุนคอ รวมถึงอาจปรับเปลี่ยนมุมกล้องได้นะครับ ทั้งนี้เพื่อให้ Lobe ได้เรียนรู้รูปภาพที่ไม่ได้ใส่หน้ากากอนามัยหลายๆแบบครับ

กรณีเพื่อนๆมีกล้องหลายตัว และอยากเลือกกล้องที่ต้องการ ก็ให้ Click ปรับแต่งได้ที่ปุ่มรูปเฟืองนะครับ ปุ่มนี้นอกจากการเลือกกล้องแล้ว ยังสามารถ Flip Camera เพื่อทำ Mirror Effect ได้อีกด้วยครับ

เมื่อ Capture รูปภาพที่ No Mask เสร็จแล้ว ให้เพื่อนๆใส่หน้ากากอนามัยให้เรียบร้อย จากนั้น Click บริเวณมุมซ้ายล่างของภาพที่เดิม แล้วใส่ Label ว่า Mask ลงไป และทำการ Capture รูปภาพเหมือนเดิมนะครับ อย่างน้อย 5 รูป

เมื่อทำเสร็จแล้ว ให้เรา Click ปุ่ม Done นะครับ โปรแกรมจะแสดงรูปภาพให้เราเห็นว่ารูปภาพแต่ละกลุ่มที่เราทำการ Labeling นั้นมีภาพอะไรบ้าง และจำนวนเท่าไหร่ ถ้า OK แล้วก็กดปุ่ม Train ต่อได้เลยครับ

Train

สำหรับโปรแกรม Lobe เมื่อเราทำการ Labeling เสร็จ โปรแกรมจะเริ่มทำการ Training ทันทีโดยอัตโนมัติ

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

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

เมื่อเสร็จขั้นตอนนี้แล้ว เราก็มาทดลองทำนายภาพเล่นกันดูครับ กดปุ่ม Play ได้เลยครับ

Play

เพื่อนๆสามารถใช้รูปจากไฟล์รูปภาพหรือจาก WebCam เพื่อให้โปรแกรมทำนายดูได้นะครับ โดยดูจาก Label ด้านซ้ายล่าง ว่าโปรแกรมทำนายว่าอะไร

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

จบแล้วนะครับ เป็นยังไงบ้างครับเพื่อนๆ ผมจะดีใจมากนะครับ ถ้าเพื่อนๆพอจะได้ Concept เกี่ยวกับ AI ไปบ้างไม่มากก็น้อยนะครับ แถมยังได้ของเล่นคือโปรแกรม Lobe ไปทดลองเล่นกันดูอีก น่าจะถูกใจทั้งมือใหม่มือเก่าในวงการ AI นะครับ ขอบคุณมากครับ

References

· https://www.thailand.intel.com/content/www/th/th/artificial-intelligence/posts/difference-between-ai-machine-learning-deep-learning.html

· https://docs.lobe.ai/docs/welcome/welcome/

--

--