"ทุ่มเทอย่างสุดกำลัง เพื่อความฝันและวันข้างหน้า วันนี้เหนื่อยไม่ว่าถ้าหากมันทำให้มีวันหน้าที่สวยงามได้"
เปรียบเทียบภาพ 3D Photo บน Facebook ที่ถ่ายจาก iPhone X และ Note 9
14 Oct 2018 20:00   [38985 views]

วันก่อน Facebook เปิดให้เรา ๆ สามารถอัปโหลดภาพที่ถ่ายด้วยโหมด Portrait บน iOS แล้วให้มองเห็นเป็นภาพสามมิติบนฟีด Facebook ได้เรียบร้อย น่าจะเห็นกันหมดแล้วเนอะ คนไทยเล่นกันเยอะมาก ซึ่งส่วนตัวพอเห็นแล้วก็แอบรู้สึกสนใจมาก ก็เลยไปนั่งศึกษาวันนึงเต็ม ๆ ถึงเทคนิคเบื้องหลังจนถึงการ Reverse Engeering เพื่อสร้างภาพ Portrait ขึ้นมาเองเพื่ออัปเป็น 3D Photo บน Facebook โดยไม่จำเป็นต้องถ่ายด้วย iPhone แต่อย่างใด ทำด้วย Photoshop หรือถ่ายด้วย Note 9 ก็ยังได้ วันนี้ก็เลยเอาที่ศึกษามาเล่าลงบล็อกให้ฟังกัน

เทคนิคเบื้องหลัง 3D Photo

คนที่เคยอัปแล้วก็จะรู้ว่าไม่ใช่ทุกรูปที่เราสามารถอัปโหลดเป็น 3D Photo ได้ แต่จะมีแค่รูปที่ถ่ายด้วยโหมด "Portrait" ของ iOS เท่านั้นที่จะสามารถแสดงผลเป็น 3D Photo บน Facebook ได้ ถามว่าทำไม ?

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

ซึ่งก็เหมือนตาเราแหละ พอเรารู้ว่าวัตถุไหนอยู่ใกล้อยู่ไกล เราก็จะมองเห็นเป็นสามมิติได้ คราวนี้พอเป็นภาพ Portrait ที่มีข้อมูลความลึกแนบมาด้วย ซอฟต์แวร์มันก็เลยรู้แล้วว่าส่วนไหนของภาพมันลึกหรือตื้นแค่ไหน เราก็จะสามารถนำภาพนั้นมาสร้างเป็นโมเดล 3 มิติจำลองขึ้นมาและแสดงผลอย่างที่เห็นใน 3D Photo บนฟีด Facebook นั่นเอง มันตรงไปตรงมามาก แต่ก็ต้องใช้ความรู้หลายอย่างเหมือนกันในการทำให้สมบูรณ์ และผลออกมาก็เจ๋งมากกกกก ประทับใจ

อาจจะพอเข้าใจแต่คงยังไม่เห็นภาพ งั้นเราเอาภาพที่แกะ Depth Map ออกมาแล้วมาให้ดูเลยละกัน ! รับรองเห็นภาพทันที

ตัวอย่างภาพพร้อม Depth Map ของ iPhone X และ Note 9

ทั้งภาพ Portrait บน iPhone X และภาพ Live Focus บน Note 9 ล้วนใช้เทคนิคเดียวกัน (แต่เก็บข้อมูลไว้คนละแบบ) ซึ่งเราแกะตัว Depth Map ของทั้งภาพบน iPhone X และ Note 9 ออกมาเรียบร้อย ภาพออกมาเป็นดังนี้ !

iPhone X

อันนี้เป็นรูปและ Depth Map ที่แกะออกมาจากภาพ Portrait ของ iPhone X ครับ

โดยภาพฝั่งซ้ายคือภาพที่คนเห็น มีขนาด 3024x4032 พิกเซล ส่วนภาพฝั่งขวาคือภาพ Depth Map ที่ถูกซ่อนไว้ มีขนาด 576x768 พิกเซล (เล็กกว่าภาพจริง 5.25 เท่า) โดยสียิ่งเข้ามก็คือจะยิ่งไกล ส่วนสีขาว ๆ คือส่วนที่ใกล้ ก็จะเห็นว่าเก็บรายละเอียดความลึกได้น่าประทับใจมากเลยนะ ต้องยอมรับความสามารถด้านวิศวกรรมของ Apple เลย

Samsung Galaxy Note 9

ส่วนอันนี้เป็นรูปและ Depth Map ที่แกะออกมาจากภาพ Live Focus ของ Samsung Galaxy Note 9 ครับ

Depth Map ของ Note 9 จะต่างกันไปหน่อย โดยภาพส่วนซ้ายจะมีขนาดเท่ากันกับของ iPhone X คือ 3024x4032 พิกเซล แต่ภาพ Depth Map จะมีความละเอียด 756x1008 พิกเซล หรือเล็กกว่าภาพจริง 4 เท่า

ทางด้านระยะความลึกความตื้น โหมด Live Focus ของ Samsung จะเก็บสีที่กลับกับของ iPhone คือวัตถุที่อยู่ใกล้จะสีเข้ม ในขณะที่วัตถุที่อยู่ไกลจะสีอ่อน และรายละเอียดสีก็จะน้อยกว่าพอสมควร (สังเกตว่าส่วนใหญ่จะเทา ๆ ไม่มีดำปี๋กับขาวปืดเท่าไหร่)

ส่วนรายละเอียด Depth Map ก็จะเห็นได้ว่าดีพอสมควร แต่ก็แย่กว่าของ iPhone X เล็กน้อย ทั้งนี้เพราะว่าใช้บิตสีน้อยนั่นเอง

ตัวอย่างภาพ 3D Photo ที่ถ่ายด้วย iPhone X และ Note 9

ถึงแม้ว่าตอนนี้ภาพ 3D Photo จะอัปได้เฉพาะ iPhone ที่มีกล้องคู่เท่านั้น แต่จากการแกะไฟล์เมื่อวานทำให้เราสามารถสร้างภาพ Portrait ในฟอร์แมตของ Apple ขึ้นมาด้วยซอฟต์แวร์ได้ ก็เลยลองเอาภาพที่ถ่ายจาก Note 9 มาอัปเป็น 3D Photo ได้เช่นกัน และนี่คือผลลัพธ์ครับ

ภาพที่ 1

ถ่ายด้วย iPhone X

ถ่ายด้วย Samsung Galaxy Note 9

 

ภาพที่ 2

ถ่ายด้วย iPhone X

ถ่ายด้วย Samsung Galaxy Note 9

ก็เทียบผลลัพธ์กันเอาเองนะคร้าบ ไม่ได้แต่งอะไรเลยทั้งสิ้น ใช้ข้อมูลดิบ ๆ เลย

ภาพแฝดในแบบสามมิติ

เนื่องจากเราสามารถสร้างภาพฟอร์แมต Portrait ขึ้นมาเองได้ เราก็เลยสามารถเอาเทคนิคการซ้อนรูปแฝดเข้ามาใช้ร่วมกับ Depth Map ได้ด้วย และนี่คือผลลัพธ์ขอรับกระผมมม

ถ่ายด้วย iPhone X

ถ่ายด้วย Samsung Galaxy Note 9

แถม

อันนี้ลองใช้ Unity สร้างภาพ 3 มิติพร้อม Depth Map มา ผลออกมาก็ใช้งานได้สวยงามเลย

ทำอะไรแปลก ๆ ได้หลายอย่างเลยนะนี่ =D

สรุป

โดยรวมก็ได้ความรู้อะไรเยอะอยู่เหมือนกันจากการ Research ครั้งนี้ ใครถามว่ามีโอกาสที่ Android จะใช้ฟีเจอร์นี้ได้มั้ย ? ก็ตอบว่ามีนะ เห็นจากภาพด้านบนว่าภาพจาก Note 9 ก็อัปเป็น 3D Photo ได้ ข้อมูลมีเพียงพอ แต่ปัญหาใหญ่ ๆ คือ ภาพจากกล้องคู่ของแอนดรอยด์มันไม่มีมาตรฐาน ทำให้ภาพของแต่ละแบรนด์ล้วนอยู่คนละฟอร์แมตกันทั้งสิ้น รวมถึงของ Huawei ด้วย ดังนั้นคงต้องใช้เวลาหน่อยกว่าฟีเจอร์นี้จะ Roll Out ให้ครบทุกแบรนด์ครับ (และนี่เป็นสาเหตุว่าทำไมฟีเจอร์นี้ถึงออกบน iOS ก่อน)

และที่น่าสนใจคือ หลังจากลองเล่น ๆ ดูแล้ว พบว่าภาพจาก Note 9 อัปออกมาได้มิติสวยกว่าภาพจาก iPhone X ด้วยนะ อันนี้เป็นความคิดเห็นส่วนตัว แต่ก็ลองดูจากด้านบนเอา นี่รอเล่นแบบ Native ไม่ต้องนั่งแฮคเลย

ก็รอกันต่อปายยยชาวดอย เอ้ย ชาวดรอยด์ ~

บทความที่เกี่ยวข้อง

Jan 12, 2019, 18:23
43152 views
ศึก Git Hosting ฟรี การปะทะของ GitHub, Bitbucket, GitLab และ Azure DevOps ใช้ตัวไหนดี
Mar 8, 2018, 16:17
177506 views
ทำความรู้จัก Blockchain Consensus Protocol แบบต่าง ๆ: เมื่อโลกนี้ไม่ได้มีแค่ Proof of Work
0 Comment(s)
Loading