[Com] รูป Selfie ที่ดีเป็นยังไง ?!?! Deep Neural Network บอกให้ !
เนื่องจากผมได้มีโอกาสอ่านบทความของ คุณ Andrej Karpathy ซึ่งเป็นนักเรียนป.เอกที่ Stanford ได้เขียนบทความว่า “What a Deep Neural Network thinks about your #selfie” ซึ่งผมว่ามันน่าสนใจดี เลยเอามาเล่าให้ฟังครับ เผื่อไว้เป็นเทคนิคการถ่าย selfie เรียก Like กันครับ ! ทั้งหมดนี้เป็นการตัดสินใจจากคอมพิวเตอร์นะครับ (แล้วมาสรุปได้ดังนี้ครับ)
หลักของ Good #Selfie ง่ายมากครับ เพียงแค่
- ต้องเป็นผู้หญิง
- สัดส่วนของใบหน้าที่เห็นเป็น 1 ใน 3 ของรูป (ตามหลัก 1/3)
- ตัดหน้าผากออก
- โชว์ผมยาว
- ใส่แสงสว่างๆ
- ใส่ฟิวเตอร์
- ใส่กรอบ
อ้าว ! แล้วถ้าหากเกิดเป็นผู้ชายละครับ จะทำไง…ลองทำตามนี้ดูครับ
- ต้องถ่ายรูปแบบเห็นเต็มทั้งหัว (หน้าและผม)
- เห็นบ่า
- มีผมแนวแฟนซี ๆ ประมาณว่า ผมยาวนิด ๆ เซ็ตหรือปัดตั้งขึ้น (ประมาณ Undercut fade)
เหตุที่สรุปแบบนี้เพราะว่า Top 100 จาก 50,000 ภาพนั้นมีแต่ผู้หญิงครับ
สิ่งที่ไม่ควรทำในการถ่าย #Selfie
- ถ่ายรูปเซลฟี่ในที่แสงน้อยๆ
- เห็นหัวใหญ่เกินไป
- ถ่ายรูปหมู่
แล้วถ้าเป็นเซเลป (Celebrities) ละ
การทดลอง ได้ทำการดึงรูป #selfie จากคนดัง แล้วมาทำการวิเคราะห์โดย ConvNet แล้วนำมาเรียงภาพที่ดีที่สุดจากมุมบนซ้ายไปจึงถึงด้านล่าง
ผมลัพธ์ที่ได้นั้นน่าแปลกที่ ConvNet บอกว่าหลักการ “ห้ามถ่ายรูปหมู่” ใช่ไม่ได้ กับเซเลป ดังจะเห็นได้จากภาพของ Ellen DeGeneres และคนอื่นๆจาก Oscars ซึ่ง ConvNet บอกว่าเป็นภาพ #selfie ที่ดี (ในตารางแถวที่ 2)
อีกข้อหนึ่งคือ “ห้ามเป็นผู้ชาย” ซึ่งก็ใช้ไม่ได้ กับ Chris Pratt (ในตารางแถวที่ 2) Justin Beiber, Stephen Collber, Jimmy Fallon (แถวที่ 3)
สิ่งสุดท้ายที่น่าสังเกตคือ แม้จะไม่ได้ถ่ายตามหลักการ เช่น การจัดเฟรมที่ไม่ดี (เห็นหน้าใหญ่เกินไป) แสงมืดๆ หรืออื่นๆ ก็ยังปรากฎอยู่ในตารางแถวท้าย ๆ อยู่ดี ดังนั้นอาจสรุปได้ว่า หากคุณเป็นเซเลปจะเป็นข้อยกเว้นของหลักการทั้งหมดนี้ครับ
เบื้องหลังของหลักการ Good #selfie
ขั้นตอนการทดลองของคุณ Karpathy คือ
- เขียนสคิปดึงภาพที่ติดแฮชแท็ก #selfie จากอินเตอร์เน็ต…ซึ่งได้มาประมาณ 5 ล้านภาพ
- สโคปให้เหลือภาพที่มีใบหน้าอย่างน้อย 1 หน้า…ซึ่งจะเหลือประมาณ 2 ล้านภาพ
- ทำการตัดสินว่าภาพไหนคือภาพ #selfie ที่ดีหรือแย่ โดยคำนวณจาก จำนวนคนที่เห็นภาพนั้น จำนวน Like จากนั้นนำมาเรียงตามจำนวน follower ของ user นั้นๆ โดยมีการให้โบนัสพิเศษในการติดแฮชแท็กอื่นเพิ่ม (เพื่อเพิ่มคนเข้ามาดูภาพ) จากนั้นทำการแบ่งเป็นกลุ่ม ๆ ละ 100 ภาพ จากจำนวน like ซึ่งภาพเหล่านี้ จะถูกเก็บเฉพาะรูปที่โพสมาแล้วมากกว่า 1 เดือน (เพื่อให้เวลาในการ like ใกล้เคียงกัน) จากนั้นให้ 50 ภาพแรกที่มี like มาก เป็นภาพ #selfie ทีดี และ 50 ภาพ ที่เหลือเป็นภาพที่แย่ ซึ่งได้มีการตัดคนที่มี follower น้อยเกินไปหรือมากเกินไปออกด้วย รวมทั้งคนที่ติดแฮชแท็กมากเกินไป ก็ถูกตัดออกเช่นกัน
- จากนั้นนำภาพ #selfie ที่ดี 1 ล้านภาพ และภาพ #selfie ที่แย่ 1 ล้านภาพ มาเทรนด้วย ConvNet (Convolutional Neural Network)
ปรับภาพเซลฟี่ให้ดูดีขึ้นด้วยการตัดภาพ (Corp)
การทดลองนี้ได้ให้ ConvNet หาภาพเซลฟี่ที่ดีที่สุดด้วยการตัดภาพแบบอัตโนมัติ เพื่อให้ได้คะแนนสูงที่สุด ซึ่งภาพด้านซ้ายเป็นภาพต้นฉบับและภาพด้านขวาคือภาพที่ตัดภาพแล้วได้คะแนนสูงสุด
สังเกตได้ว่า ConvNet จะชอบให้หัวของคนตามหลักการ 1/3 และตัดหน้าฝากออก และจะเห็นว่าภาพด้านขวาล่างจะเห็นว่า ConvNet ตัดหน้าคนออกไปเลย (ซึ่งผิดวัตถุประสงค์ไปนิด 555)
แล้วภาพ #selfie ของคุณหล่ะ ?
หากอยากรู้ว่า ConvNet จะบอกว่าภาพ #selfie ของคุณได้คะแนนเท่าไหร่ ดีหรือแย่ คุณ Karpathy ได้ทำการเขียน twitter bot ไว้ โดยโพสภาพหรือแนบลิงค์ภาพเซลฟี่ของคุณ แล้วทำการ mention bot โดย @deepselfie ในโพสนั้น bot จะทำการทำการคำนวณคะแนนและบอกผลลัพธ์ให้ภายใน 1 นาที (ความแม่นยำประมาณ 60% ครับ) ดังตัวอย่าง
สำหรับขั้นตอนโดยละเอียด ใครสนใจลองอ่านได้จากบล๊อกของคุณ Karpathy ได้เลยครับ หวังว่าจะเป็นประโยชน์สำหรับทุกคนที่ชอบถ่ายเซลฟี่นะครับ