Apostille K.10 — modal perbandingan tanda tangan + analisis "kenapa 0%?"
Deployed: app ahu-ai-ocr:1f2db4e0 :3520 + ahu-signature-verify v1.1 · backend 2548 ✅ / frontend 975 ✅ · diverifikasi live pada e4229ea8
1. Modal perbandingan (klik panel tanda tangan)
Klik panel "Perbandingan tanda tangan (AI)" di blok penandatangan kini membuka modal:
crop dokumen vs spesimen ukuran besar, badge skor + tier, tautan lembar spesimen utuh, aksi
"Tandai tanda tangan di dokumen" / "Gambar ulang kotak" (khusus verifikator), dan analisis AI baru —
Peta kemiripan: overlay heatmap per-patch (area hangat punya padanan kuat di crop satunya,
dingin tidak).
Peta ini langsung membongkar misteri skor: pada dokumenmu, area hangat justru di stempel dan teks
cetak, sementara goresan tanda tangannya dingin — model baseline mencocokkan stempel/kertas, bukan
bentuk goresan. Itu akar "0%"-nya.
2. "How come it is 0%? Perhaps I chose the wrong person?" — TIDAK, pilihanmu benar
Keempat kandidat Darsani adalah orang yang sama (re-registrasi 2008→2025). Aku membandingkan
tanda tangan dokumen dengan keempat berkas spesimennya:
| Spesimen | Bentuk berkas | Skor AI | Catatan |
|---|---|---|---|
| 2655 (pilihanmu, 2008) | Form "CONTOH TANDA TANGAN" ter-scan miring | 0% | Setelah fix rotasi v1.1, crop kini sel TANDATANGAN yang benar — dan secara visual goresannya paling mirip dokumen ("Marci"-flourish yang sama) |
| 290994327 (2024) | Ttd di atas stempel | 24% | Skor "tertinggi" karena crop-nya juga berisi stempel — bukan karena goresan |
| 291092585 (2025) | Surat pengantar multi-halaman | 32%* | Tidak bermakna: berkasnya memuat ttd pejabat lain* (Galih Yudha Praja) yang terdeteksi lebih dulu — masalah data registri |
| 291063455 (2025) | Ttd bersih biru tua | 0% | Goresan mirip juga, tapi crop bersih vs crop dokumen berstempel → cosine jatuh |
Kesimpulan: skornya rendah bukan karena salah orang, tapi karena pembanding baseline
(dinov2-cosine) terkonfound stempel/teks dan variasi lembar spesimen. Dokumen 2013 + spesimen era
2008 milik orang yang sama, goresannya cocok secara kasat mata; verifikator kini bisa melihatnya
sendiri lewat modal + lembar spesimen utuh. Kalibrasi C5 (model metric khusus tanda tangan +
preprocessing pemisah stempel/tinta) adalah perbaikan sesungguhnya — data matriks ini jadi korpus
awalnya.
Perbaikan nyata yang sudah masuk v1.1: deteksi spesimen kini memindai 4 orientasi (lembar legacy
sering ter-scan miring) dan pemenangnya dipilih berdasar kecocokan dengan crop dokumen — lembar
2655-mu tidak lagi ter-crop di sel PARAF yang salah.
3. "Gambar ulang kotak" → tugas VERIFIKATOR, dihapus dari pemohon
Kotak tanda tangan hanya memberi makan perbandingan advisory yang dipakai verifikator; pemohon
tidak mendapat manfaat apa pun darinya. Maka: tombol "Gambar kotak tanda tangan" / "Gambar ulang
kotak" (di blok signer maupun modal) kini hanya muncul untuk verifikator_apostille/admin, dan
endpoint signature-region dijaga requireVerifikatorRole. "Tandai tanda tangan di dokumen"
(sorot, read-only) tetap untuk semua. Diverifikasi live: role umum = 0 tombol gambar; verifikator =
tampil di blok + modal.
Teknis
- Service v1.1:
_best_crops_per_rotation(deteksi terbaik per 0/90/180/270; skor deteksi TIDAK
dipakai memilih orientasi — detektor sama pedenya pada ttd miring, terbukti di matriks) + pilihan
final via cosine vs crop dokumen;_sim_maps= cross patch-cosine dinov2 → heatmap overlay. - Backend: kolom aditif
SignerMatch.signatureDocMap/signatureSpecMap(migrasi
20260713060000_signer_match_sim_maps), routesignature-crop/{doc-map|specimen-map}, kontrak
signature.docMapUrl/specimenMapUrl. - FE:
SignatureCompareModal(5 test) + panel advisory jadi clickable ("Perbesar").