เทคโนโลยีเวกเตอร์ฝังใบหน้าฉบับสมบูรณ์ -- คณิตศาสตร์เบื้องหลังเวกเตอร์ 512 มิติ
เมื่อคุณอัปโหลดรูปเพื่อค้นหานักแสดงหญิงหนังโป๊ภาพบน ClipThaiXXX ใบหน้าของคุณจะถูกแปลงเป็นเวกเตอร์ตัวเลขทศนิยม 512 ค่าภายในมิลลิวินาที บทความนี้เจาะลึกคณิตศาสตร์และวิศวกรรมเบื้องหลังกระบวนการนี้
จากพิกเซลสู่เวกเตอร์
ภาพต้นฉบับจะถูกประมวลผลผ่านตัวตรวจจับ RetinaFace ก่อน ตัวตรวจจับจะระบุตำแหน่งใบหน้าทั้งหมดในภาพ และส่งออกจุดสำคัญห้าจุดสำหรับแต่ละใบหน้า: ตาซ้าย ตาขวา ปลายจมูก มุมปากซ้าย และมุมปากขวา
การแปลง Affine
ด้วยจุดสำคัญทั้งห้า เราคำนวณเมทริกซ์การแปลง affine ที่ตัดและจัดแนวใบหน้าลงบนแคนวาสมาตรฐาน 112x112 พิกเซล ซึ่งทำให้มั่นใจว่าใบหน้าทั้งหมดอยู่ในท่าทางและสัดส่วนเดียวกัน
ฟังก์ชันการสูญเสีย ArcFace
เครือข่ายแบ็คโบน ResNet-100 ฝึกด้วย ArcFace (Additive Angular Margin Loss) ต่างจากการสูญเสีย softmax แบบดั้งเดิม ArcFace เพิ่มโทษมาร์จินในปริภูมิมุม บังคับให้เวกเตอร์ฝังของอัตลักษณ์เดียวกันอยู่ใกล้กันมากขึ้น
ทำความเข้าใจความเหมือนโคไซน์โดยสัญชาตญาณ
- ความเหมือนโคไซน์ของเวกเตอร์สองตัววัดความสอดคล้องของทิศทางในปริภูมิมิติสูง
- ค่า 1.0 หมายถึงทิศทางเดียวกันทั้งหมด (ตรงกัน 100%)
- ค่า 0.0 หมายถึงตั้งฉาก -- ไม่เกี่ยวข้องกันเลย
- เราใช้ 0.45 (45%) เป็นเกณฑ์สำหรับ "ความเหมือนที่มองเห็นได้"
โครงสร้างดัชนี FAISS
ไลบรารี Facebook AI Similarity Search (FAISS) ช่วยให้เราค้นหาในเวกเตอร์หลายล้านตัวได้ในเวลาไม่ถึงมิลลิวินาที เราใช้ดัชนี IVF-PQ (Inverted File Quantized) ที่แบ่งปริภูมิค้นหาเป็นเซลล์ Voronoi โดยแต่ละการค้นหาจะสแกนเฉพาะเซลล์ที่ใกล้ที่สุดเท่านั้น
เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของ ClipThaiXXX | ลองค้นหาใบหน้า