
บริษัท Data wow กำลังเปิด Open API ให้คนนอกทดลองได้ใช้งาน สำหรับการใช้งาน AI model ใน use case ต่าง ๆ
สวัสดีครับทุกท่านนนน วันนี้ผมมีสิ่งที่น่าสนใจมานำเสนอ บริษัท Data wow ที่ผมทำงานอยู่นั้นกำลังเปิด Open API ให้ทุกๆท่านได้ทดลองใช่งานกัน โดย API ตัวแรกที่เราภูมิใจนำเสนอ ก็คือ "Face embedding API" นั่นเองงง สำหรับ Face embedding API ที่เราเปิดนั้น เพื่อนๆ สามารถนำไปใช้งานในการเปรียบเทียบหน้าตาของบุคคลว่า เอ๊ะ รูป 2 รูปนี้เป็นคนเดียวกันรึเปล่า
Face Embedding คือการแปลงรูปภาพหน้าคนให้กลายเป็น vector เพื่อเป็นตัวแทนของภาพหน้านั้น ๆ [Face Embedding ของ Data Wow] มีขั้นตอนในการสร้าง Embedding Vector ดังนี้
Face Detector: ใช้ RetinaNet ในการหาใบหน้าบนรูปและระบุตำแหน่ง Facial Landmark เช่น จมูก, ตา, และ ปากจำนวน 5 จุด โดยเราได้ปรับแต่ง RetinaNet เพิ่มเติมด้วยข้อมูลที่ Data Wow จัดทำขึ้นเอง ทำให้โมเดลมีความแม่นยำในการหาใบหน้าสูงถึง 95%
Face Embedding: แปลงใบหน้าที่พบโดย Face Detector ให้เป็น Embedding Vector ขนาด 128 dimension ด้วย Neural Network ที่ใช้ Loss Function แบบ Angular Additive Margin Loss ซึ่งสามารถแยกหน้าที่แตกต่างกันได้มากกว่า 50,000 หน้า
เรามาดูกันว่า Face embedding API ใช้งานกันอย่างไร ไม่ยาก ๆ เขียน Code นิดเดียวก็ได้แล้ว
URL: "https://backend.datawow.io"
API_KEY: "Data wow"
สำหรับภาษาต่าง ๆ Postman documenter
Headers
required
'X-Api-Key' = 'Data wow'
Body
required
form-data['image', 'File image'] หรือ form-data['image_url', 'url image']

{
  "data": {
      "slug": "4b55398c-1f0e-4918-a201-c600f2bd7e65",
      "status": "done",
      "imageurl": "https://datawow-demo.s3-ap-southeast-1.amazonaws.com/ice2.jpg",
      "results": {
          "faces": [
              {
                  "embedding": [
                      0.08793905377388,
                      -0.02070523239672184,
                      0.06881865113973618,
                      ...
                  ],
                  "boundingbox": {
                      "x1": 0.3211106030858968,
                      "y1": 0.18583024342854818,
                      "x2": 0.6111332452831726,
                      "y2": 0.5628035227457683,
                      "confidence": 0.9997031092643738
                  },
                  "landmarks": [
                      {
                          "x": 0.3681415641394845,
                          "y": 0.35111751556396487
                      },
                      {
                          "x": 0.4957949704994623,
                          "y": 0.3346814791361491
                      },
                      {
                          "x": 0.4205733409638947,
                          "y": 0.42969783147176105
                      },
                      {
                          "x": 0.40488320073196366,
                          "y": 0.4896906852722168
                      },
                      {
                          "x": 0.5020971845163419,
                          "y": 0.47675485610961915
                      }
                  ]
              }
          ]
      }
  },
  "status": "OK"
}

จากตัวอย่างการเปรียบเทียบ Vector นั้นจะมีค่า อยู่ที่ 0.6513119868954528 สำหรับ ratio ที่เหมาะสมในการนำไปใช้สำหรับ Model type นี้คือมากกว่า 0.3 ขึ้นไป
ตัวอย่างภาพที่นำมาเปรียบเทียบ

สำหรับ Open API ที่เปิดให้ใช้งาน จะเป็นตัว Staging Environment เชิญเล่นได้ตามอัธยาศัยครับ ถ้าสนใจที่จะใช้งานในระบบ Production Level ให้ติดต่อมาได้ที่ sale@datawow.io