มาดูบทเรียนเกี่ยวกับ Python กันหน่อยคือการเตรียม Environment สำหรับประมวลผลระบบตรวจจับใบหน้าเบื้องต้นด้วย Python และ Face Recognition
หลายคน Request มาเยอะมากว่า อยากให้เพิ่มบทเรียนของ Go และ Python เข้ามาหน่อยอีกอย่างก็ไม่ค่อยได้อัพเด็ตกันนานมากกับบทความของ Python ก็เลยหยิบเรื่องพวกนี้มาทำบทเรียนให้แทนล่ะกัน
ระบบเริ่มต้นนี้คือ Python กับการจดจำ และประมวลผลใบหน้า ซึ่งเราจะใช้ Library หลักคือ https://github.com/ageitgey/face_recognition เนื่องจากเค้าได้ทำไว้ให้เราเรียกใช้ได้อย่างสะดวกเขียนคำสั่งไม่กี่บรรทัด ซ้ำยังทำงานร่วมกับ OpenCV ได้อีกด้วย
ก่อนอื่นเรามาเตรียม Environment กันก่อนดีกว่า สิ่งที่เราต้องมีคือ Visual Studio Code ซึ่งเราไปดาวน์โหลดมาได้เลยจาก https://code.visualstudio.com
เมื่อติดตั้งแล้ว เราต้องลง Python3, Cmake, Dlib และ OpenCV ตามลำดับซึ่งสำหรับผมใช้ Mac OSx เลยต้องลง Library เหล่านี้ผ่าน Home Brew https://brew.sh/index_th ก็ไม่ยากอะไรแค่เปิด Terminal ขึ้นมาแล้วพิมพ์ใน $ ของ Terminal ได้เลย:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ถ้าติดตั้งเสร็จแล้วก็จะได้เรียกชุดติดตั้งผ่านเจ้านี่ได้สบายๆ
เมื่อติดตั้ง Home Brew เป็นที่เรียบร้อยแล้วก็ได้เวลาที่เราจะลง Library ที่ต้องใช้งานสักทีนั่นคือ:
$ brew install python
นั่นคือการติดตั้ง Python ซึ่งผมจะลง Python 3
ถ้าลง Python แล้วเราจะเรียกใช้ คำสั่ง pip หรือ pip3 ได้ซึ่งเป็น Python Package Index (PyPI) เป็นคลังโปรแกรมและไลบรารีเสริมของ Python โดย Python เวอร์ชั่นใหม่ ๆ สามารถสั่งติดตั้งโมดูลจาก PyPI ได้ด้วยคำสั่ง pip หรือ pip3 ในตัวอย่างคือเราต้องติดตั้ง cmake
$ pip3 install cmake
ถ้าติดตั้งเสร็จแล้วก็ให้เราเรียกติดตั้ง Dlib ซึ่งเป็น Native Library ภาษา C++ library ซึ่งใน Package ของมันจะมี Machine learning algorithms ชุดคำสั่ง และ เครื่องมือต่างๆในการสร้างโปรแกรมที่ซับซ้อน อย่างระบบการจดจำใบหน้าให้ง่าย เช่น Face Landmark เป็นต้น
$ pip3 install dlib
ทีนี้เผื่อจะทำ Project อื่นๆ ให้เราลงติดตั้งไว้ก่อนนั่นคือ OpenCV
$ pip3 install opencv-python
สุดท้ายคือ Face Recognition พระเอกของเรา
$ pip3 install face_recognition
มาทดสอบกันหน่อยว่า เราสามารถ Develop ได้ไหมไปหาภาพมาหน่อยแล้วกัน ภาพที่ผมใช้คือภาพผมเอง
บันทึกไว้ Folder เดียวกับไฟล์ python ของเราในตัวอย่างผมตั้งชื่อไฟล์ว่า banyapon.jpg ให้เปิด Visual Studio Code ขึ้นมาไปที่เมนู Add-on ติดตั้ง Python ให้เรียบร้อยอันไหนก็ได้ครับเหมือนกันหมด แล้วสร้างไฟล์ ชื่อ test.py ขึ้นมา
import face_recognition image = face_recognition.load_image_file("banyapon.jpg") face_location = face_recognition.face_locations(image) print(face_location) print(f"Number of Face:{len(face_location)}")
ให้คลิกขวาที่ Folder ใน Solution Work Space เลือก “Run Python File in Terminal” เพื่อดูผลลัพธ์ใน Terminal
ให้เราไปดูว่ามันนับจำนวนใบหน้าของคนในภาพได้ใน Terminal ได้กี่ภาพซึ่งคำตอบคือ 1 ถูกต้อง
ลองไปหารูปภาพของใบหน้าหลายๆ ภาพมาใช้งานหน่อยสิว่ามันประมวลผลได้ถูกต้องไหม:
ชื่อไฟล์คือ beegees.jpg เราลองแก้ไข Code เป็น:
import face_recognition image = face_recognition.load_image_file("beegees.jpg") face_location = face_recognition.face_locations(image) print(face_location) print(f"Number of Face:{len(face_location)}")
ผลลัพธ์คือ:
บทเรียนต่อไป: การดึงและจำแนกใบหน้า Pull Face ด้วย Python และ Face Recognition
9 Comments