Membuka kunci ponsel cukup dengan menatap layar kini terasa biasa. Namun di balik proses yang berlangsung kurang dari satu detik itu, ada rangkaian perhitungan matematika yang bekerja sangat cepat. Kecerdasan buatan (AI) sebenarnya tidak “melihat” wajah seperti manusia. Ia membaca angka, menghitung jarak, dan membandingkan pola. Artikel ini mengurai, langkah demi langkah, bagaimana matematika menjadi tulang punggung teknologi pengenalan wajah.

Wajah Diubah Menjadi Deretan Angka

Bagi komputer, foto hanyalah kumpulan piksel, dan setiap piksel adalah angka yang menyatakan tingkat kecerahan atau warna. Foto berukuran \(1000 \times 1000\) piksel, misalnya, adalah tabel berisi satu juta angka. Tabel angka semacam ini dalam matematika disebut matriks.

Sistem pengenalan wajah modern kemudian meringkas matriks raksasa itu menjadi sebuah vektor yang jauh lebih pendek, umumnya berisi sekitar 128 hingga 512 angka. Vektor ringkasan ini sering disebut embedding, semacam “sidik jari numerik” dari sebuah wajah:

\[ \mathbf{v} = (v_1, v_2, v_3, \ldots, v_{128}) \]

Dua foto orang yang sama, meski diambil dari sudut berbeda, akan menghasilkan vektor yang mirip. Sebaliknya, foto dua orang berbeda menghasilkan vektor yang berjauhan. Di sinilah gagasan kuncinya: membandingkan wajah berarti membandingkan vektor.

Konvolusi: Cara AI Menangkap Pola Wajah

Proses meringkas foto menjadi vektor dilakukan oleh jaringan saraf konvolusional (Convolutional Neural Network, CNN). Operasi intinya adalah konvolusi: sebuah “kaca pembesar” matematis berukuran kecil (disebut kernel) digeser ke seluruh bagian gambar untuk mendeteksi pola seperti tepi, lengkungan, hingga bentuk mata dan hidung. Secara matematis:

\[ S(i,j) = \sum_{m}\sum_{n} I(i+m,\, j+n)\, K(m,n) \]

Di sini \(I\) adalah gambar, \(K\) adalah kernel, dan \(S(i,j)\) adalah hasil deteksi pola pada posisi \((i,j)\). Operasi ini pada dasarnya hanyalah perkalian dan penjumlahan, wilayah aljabar linear, yang diulang jutaan kali. Lapisan awal jaringan menangkap pola sederhana, lapisan berikutnya menggabungkannya menjadi pola yang makin kompleks, hingga akhirnya terbentuk vektor embedding tadi.

Mengukur Kemiripan dengan Jarak

Setelah dua wajah menjadi dua vektor, katakanlah \(\mathbf{a}\) dan \(\mathbf{b}\), pertanyaan “apakah ini orang yang sama?” berubah menjadi pertanyaan geometri: “seberapa dekat kedua vektor ini?” Ukuran yang paling umum adalah jarak Euclidean, perluasan langsung dari teorema Pythagoras:

\[ d(\mathbf{a},\mathbf{b}) = \sqrt{(a_1-b_1)^2 + (a_2-b_2)^2 + \cdots + (a_{128}-b_{128})^2} \]

Ukuran lain yang juga populer adalah kemiripan kosinus, yang menghitung sudut antara dua vektor:

\[ \cos\theta = \frac{\mathbf{a}\cdot\mathbf{b}}{\lVert \mathbf{a}\rVert\, \lVert \mathbf{b}\rVert} = \frac{\displaystyle\sum_{i=1}^{128} a_i\, b_i}{\sqrt{\displaystyle\sum_{i=1}^{128} a_i^2}\; \sqrt{\displaystyle\sum_{i=1}^{128} b_i^2}} \]

Nilai \(\cos\theta\) yang mendekati 1 berarti kedua vektor searah, pertanda kuat bahwa keduanya berasal dari wajah orang yang sama.

Ambang Batas: Titik Keputusan

Sistem tidak pernah menjawab “ya” atau “tidak” secara ajaib. Ia membandingkan hasil hitungan dengan sebuah ambang batas (threshold) \(\tau\) yang telah ditentukan:

\[ \text{Keputusan} = \begin{cases} \text{wajah cocok}, & \text{jika } d(\mathbf{a},\mathbf{b}) \le \tau \\[4pt] \text{wajah tidak cocok}, & \text{jika } d(\mathbf{a},\mathbf{b}) > \tau \end{cases} \]

Pemilihan \(\tau\) adalah soal keseimbangan. Ambang yang terlalu longgar berisiko meloloskan orang lain (false accept), sedangkan ambang yang terlalu ketat bisa menolak pemilik sahnya sendiri (false reject). Menyetel keseimbangan ini adalah persoalan statistika dan teori peluang, bukan sekadar coba-coba.

Belajar dari Kesalahan: Peran Kalkulus

Dari mana jaringan tahu kernel dan bobot mana yang tepat? Jawabannya: dilatih. Selama pelatihan, sistem menghitung seberapa besar kesalahannya melalui sebuah fungsi kerugian (loss function), lalu memperbaiki diri sedikit demi sedikit menggunakan penurunan gradien (gradient descent):

\[ w_{\text{baru}} = w_{\text{lama}} – \eta\, \frac{\partial L}{\partial w} \]

Turunan parsial \(\partial L / \partial w\) menunjukkan arah mana yang memperkecil kesalahan, dan \(\eta\) (laju belajar) mengatur besar langkahnya. Inilah kalkulus yang bekerja diam-diam: jutaan bobot diperbarui berulang-ulang hingga jaringan mahir memisahkan wajah satu orang dari orang lainnya.

Catatan Kehati-hatian

Secanggih apa pun matematikanya, pengenalan wajah tetap punya keterbatasan. Pencahayaan buruk, usia yang bertambah, atau data latih yang kurang beragam dapat menurunkan akurasi. Karena itu, teknologi ini sebaiknya dipandang sebagai alat bantu, bukan penentu tunggal, terutama dalam urusan yang menyangkut identitas dan hak seseorang. Penggunaannya juga perlu memperhatikan izin, perlindungan data pribadi, dan peraturan yang berlaku.

Penutup

Pengenalan wajah pada dasarnya adalah kisah sukses matematika terapan: aljabar linear mengubah wajah menjadi vektor, geometri mengukur kemiripannya, statistika menentukan ambang keputusannya, dan kalkulus melatih sistemnya. Lain kali ponsel Anda terbuka hanya dengan sekali tatap, ingatlah bahwa di baliknya ada teorema Pythagoras yang bekerja dalam 128 dimensi.

Disclaimer: Artikel ini bersifat edukatif dan menyederhanakan sejumlah konsep teknis agar mudah dipahami. Implementasi nyata pada tiap perangkat atau sistem dapat berbeda-beda.