Page 173 - python
P. 173
147
็
ี่
เกบไวในตัวแปร faces เมื่อวนเขาไปในตัวแปรดังกลาวจะทําการเขียนสี่เหลี่ยมครอบพื้นทใบหนาดวย
ตําแหนง x,y,w,h โดยวาดสีเขียว (0,255,0) และความหนาเสน 2 พิกเซล แสดงผลลัพธไดดังภาพดานบน
11.14 การตรวจจับใบหนาขนาดเล็กดวย Tinyface
Tiny Face พัฒนาโดย Peiyun Hu, Deva Ramanan เปนการคนหาใบหนาที่มีขนาดเล็ก 25x20
ื
่
ิ
ิ
พกเซลทําไดแมนยํามาก ถาใชเทมเพลตของใบหนาทีใหญ 2 เทา ซงคอ 50x40 พกเซลจะใชเทมเพลตขนาด
ึ
่
25x20 สวนการคนหาใบหนาขนาดใหญ 250x200 พิกเซลจะแมนยําหากใชเทมเพลตที่เล็กลง 2 เทา คือ
125x100 พกเซล
ิ
ื่
1) เปด colab เพอใช python version 2 ดวยลิงค https://colab.research.google.com/
notebook#create=true&language=python2
2) เลือก Runtime -> Change Runtime Type -> เลือก Python2 และ Hardware -> เลือก
GPU -> กดปุม Save
3) เขียนโคด python ตอไปนี้
ตัวอยางที่ 11.11 การตรวจจับใบหนาขนาดเล็กดวย Tinyface
!wget "http://dsdi.msu.ac.th/programming/tiny/tiny_face_model.py"
!wget "http://dsdi.msu.ac.th/programming/tiny/util.py"
!wget "http://dsdi.msu.ac.th/programming/tiny/tiny_face_eval4nb.py"
!wget "http://dsdi.msu.ac.th/programming/tiny/tinyface.pkl"
# -*- coding: utf-8 -*-
%tensorflow_version 1.x
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import tiny_face_model
import util
code = open("tiny_face_eval4nb.py","r").read()
exec(code)
!mkdir input
!mkdir output
!wget "http://dsdi.msu.ac.th/programming/tiny/ex02.jpg" -O input/ex02.jpg
with tf.Graph().as_default():
z = evaluate("tinyface.pkl","input", "output")
ตัวอยางที่ 11.11 คําสั่ง wget เปนการดาวนโหลดไฟล tiny_face_model.py , util.py ,
tiny_face_eval4nb.py และ tinyface.pkl ซึ่งอยูบนเว็บ dsdi.msu.ac.th จากนั้น คําการขอใช
ั
tensorflow_version 1.x และทําการ disable_v2_behavior() เนื่องจาก tinyface เวอรชั่นนี้พฒนา