Teori Amazon Rekognition: DetectFaces

DetectFaces merupakan salah satu function yang terdapat di Amazon Rekognition yang dipakai untuk mendeteksi wajah yang didapatkan dari gambar atau video yang menghasilkan tampilan data-data wajah secara rinci, tetapi ini tidak menjamin 100% akurat.

Hal ini memungkinkan bagian dari mata kuliah pengolahan citra atau Computer Vision yang dimana bisa memperoleh data informasi dengan mengandalkan citra digital. Amazon Rekognition merupakan salah satu layanan Computer Vision yang disediakan oleh AWS.

DetectFaces telah mendeteksi 100 wajah terbesar di dalam gambar. Setiap wajah dideteksi akan menampilkan hasil data-data yang terdapat di gambar tersebut secara rinci. Ini termasuk untuk mendeteksi ekspresi (emosi), jenis kelamin, umur, kualitas gambar, dan sebagainya agar bisa menghasilkan data-data secara akurat yang mendekati.

Algoritma untuk pendeteksi wajah inilah paling efektif secara terbuka. Algoritma tersebut tidak memungkinkan untuk mendeteksi wajah dengan nilai confidence yang rendah. Kamu meneruskan untuk  input gambar sebagai image bytes yang disandikan base64 atau sebagai referensi ke gambar di bucket Amazon S3. Jika kamu menggunakan AWS CLI untuk memanggil operasi Amazon Rekognition, maka passing byte images tidak mendukung. File gambar yang support untuk algoritma tersebut harus extensi PNG atau JPEG.

Function DetectFaces ini bisa diterapkan berbagai bahasa pemrograman melalui AWS SDK, termasuk bahasa pemrograman PHP untuk membuat program atau sistem aplikasi yang berkaitan dengan pendeteksi wajah seseorang dengan menggunakan layanan Amazon Rekognition dan bantuan kamera dan / atau webcam.

Jadi, kamu bisa membuat program atau sistem aplikasi berbasis web yang mengandalkan pendeteksian wajah (Detector Faces) dengan menggunakan layanan Amazon Rekoginition dan AWS SDK for PHP sebagai API Tools-nya. Misalkan, kamu membuat aplikasi web untuk mendeteksi ekspresi seseorang atau mencocokan wajah selfie dan foto KTP dengan sensor tertentu yang dapat menghasilkan data output yang mendekati akurat.

Sintaks :

$result = $client->detectFaces([
    'Attributes' => ['<string>', ...],
    'Image' => [ // WAJIB
        'Bytes' => <string || resource || Psr\Http\Message\StreamInterface>,
        'S3Object' => [
            'Bucket' => '<string>',
            'Name' => '<string>',
            'Version' => '<string>',
        ],
    ],
]);

Kamu bisa menggunakan sintaks yang diatas untuk menggunakan untuk memanggil layanan Function DetectFaces untuk mendeteksi wajah ke dalam sistem aplikasi website kamu agar gambar tersebut dapat dideteksi oleh Machine Learning dari AWS yakni Amazon Rekognition.

Keterangan :

Kode perintah untuk memanggil Function DetectFaces.

$result = $client->detectFaces([
...
...
...
]);

Kode perintah untuk memasukkan gambar ke dalam Function detectFaces.

'Image' => [
 'Bytes' => <string || resource || Psr\Http\Message\StreamInterface>
...
...
]

Di dalam kode perintah Image ini memiliki beberapa komponen yang diantaranya :

  • Bytes : Mengkonversikan gambar ke dalam bentuk teks enkripsi base64-encoded.

Kode perintah untuk konfigurasi dalam mengambil gambar atau image di dalam Amazon S3.

  • Bucket : Memberikan nama bucket yang telah dibuat di Amazon S3.
  • Name : Memberikan nama gambar yang ada di dalam Bucket S3.
  • Version : Memberikan versi kebijakan (policy) dari layanan Amazon S3.

Gunakan kode perintah atau komponen tersebut di dalam Image.

'S3Object' => [ 
 'Bucket' => '<string>', 
 'Name' => '<string>', 
 'Version' => '<string>'
 ]

Kode perintah untuk konfigurasi dalam mengambil gambar atau image di dalam komputer, hosting, atau VPS.

  • Profile : Memberikan nama user dari Amazon IAM yang telah memberikan hak akses untuk Amazon Rekognition.
  • Key : Memberikan kode Access Key ID (kode ID pengguna).
  • Secret : Memberikan kode Secret Key (kode keamanan).
  • Token : Memberikan kode token Key (biasanya sering dipakai dari AWS Educate), kode tersebut memberikan batasan waktu yang telah ditentukan.
'credentials' => [
 'profile' => '<string>',
 'key' => '<string>',
 'secret' => '<string>',
 'token' => '<string>' /* Kode ini wajib digunakan apabila kamu menggunakan 
credential dari AWS Educate. */
]

Kode perintah untuk menentukan Zone Region yang akan dipakai layanan Amazon Rekognition pada umumnya.

'region' => '<string>'

Link untuk melihat Zone Region yang tersedia di layanan Amazon Rekognition bisa klik disini.

https://docs.aws.amazon.com/general/latest/gr/rekognition.html

Kode perintah untuk menentukan versi kebijakan (policy) yang akan dipakai layanan Amazon Rekognition pada umumnya.

'version' => '<string>'

Bentuk Data Output :

Disini memiliki bentuk data output yang diperoleh dari Function DetectFaces yang terdapat pada Amazon Rekognition.

[
    'FaceDetails' => [
        [
            'AgeRange' => [
                'High' => <integer>,
                'Low' => <integer>,
            ],
            'Beard' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'BoundingBox' => [
                'Height' => <float>,
                'Left' => <float>,
                'Top' => <float>,
                'Width' => <float>,
            ],
            'Confidence' => <float>,
            'Emotions' => [
                [
                    'Confidence' => <float>,
                    'Type' => 'HAPPY|SAD|ANGRY|CONFUSED|DISGUSTED|SURPRISED|CALM|UNKNOWN|FEAR',
                ],
                // ...
            ],
            'Eyeglasses' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'EyesOpen' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'Gender' => [
                'Confidence' => <float>,
                'Value' => 'Male|Female',
            ],
            'Landmarks' => [
                [
                    'Type' => 'eyeLeft|eyeRight|nose|mouthLeft|mouthRight|leftEyeBrowLeft|leftEyeBrowRight|leftEyeBrowUp|rightEyeBrowLeft|rightEyeBrowRight|rightEyeBrowUp|leftEyeLeft|leftEyeRight|leftEyeUp|leftEyeDown|rightEyeLeft|rightEyeRight|rightEyeUp|rightEyeDown|noseLeft|noseRight|mouthUp|mouthDown|leftPupil|rightPupil|upperJawlineLeft|midJawlineLeft|chinBottom|midJawlineRight|upperJawlineRight',
                    'X' => <float>,
                    'Y' => <float>,
                ],
                // ...
            ],
            'MouthOpen' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'Mustache' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'Pose' => [
                'Pitch' => <float>,
                'Roll' => <float>,
                'Yaw' => <float>,
            ],
            'Quality' => [
                'Brightness' => <float>,
                'Sharpness' => <float>,
            ],
            'Smile' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
            'Sunglasses' => [
                'Confidence' => <float>,
                'Value' => true || false,
            ],
        ],
        // ...
    ],
    'OrientationCorrection' => 'ROTATE_0|ROTATE_90|ROTATE_180|ROTATE_270',
]

Keterangan :

  • FaceDetails : Menampilkan hasil data output wajah seorang secara detail dari gambar.
  • AgeRange : Menampilkan perkiraan umur baik itu umur terendah maupun umur tertinggi.
  • Beard : Menampilkan perkiraan dalam penampakan jenggot.
  • BoundingBox : Memberikan highlight sebuah area dari sebuah gambar yang bisa dijadikan input untuk di proses.
  • Confidence : Menampilkan perkiraan dalam keyakinan dengan suatu gambar.
  • Emotions : Menampilkan perkiraan emosi atau ekspresi dari gambar.
  • Eyeglasses : Menampilkan perkiraan dalam penampakan kacamata.
  • EyesOpen : Menampilkan perkiraan dalam penampakan mata terbuka.
  • Gender : Menampilkan perkiraan jenis kelamin.
  • Landmarks : Menampilkan perkiraan dalam penampakan beberapa bagian wajah.
  • MouthOpen : Menampilkan perkiraan dalam penampakan mulut terbuka.
  • Mustache : Menampilkan perkiraan dalam penampakan kumis.
  • Pose : Menampilkan perkiraan dalam penampakan gaya badan.
  • Quality : Menampilkan perkiraan dalam kualitas wajah dari gambar.
  • Smile : Menampilkan perkiraan dalam akurasi senyum.
  • Sunglasses : Menampilkan perkiraan dalam penampakan kacamata hitam.
  • OrientationCorrection : Menampilkan posisi rotasi yang terdapat pada gambar atau foto.

Sumber :

https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-rekognition-2016-06-27.html#detectfaces

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *