Tracking
Lacak pergerakan objek — wajah atau kendaraan — secara real-time lintas kamera menggunakan Face Tracking dan Plate Tracking di Lenz Dashboard.
Pengenalan
Fitur Tracking memungkinkan Anda menelusuri riwayat pergerakan suatu objek — individu (berdasarkan wajah) atau kendaraan (berdasarkan nomor plat) — di seluruh kamera yang terpasang dalam sistem. Berbeda dengan Live Events yang menampilkan semua kejadian secara masuk dari seluruh kamera, Tracking berfokus pada satu subjek spesifik dan memvisualisasikan seluruh jejak pergerakannya secara kronologis.
Kapan Menggunakan Tracking
| Skenario | Fitur yang Tepat |
|---|---|
| Memantau semua aktivitas deteksi dari seluruh kamera secara langsung | Live Events |
| Melacak rute pergerakan seorang individu di seluruh kamera | Face Tracking |
| Melacak di mana saja suatu kendaraan terdeteksi berdasarkan nomor plat | Plate Tracking |
| Mencari wajah dari foto di data event historis | Face Search |
Perbedaan dengan Live Events
| Aspek | Live Events | Tracking |
|---|---|---|
| Fokus | Semua event dari semua kamera | Satu subjek (face_id atau nomor plat) |
| Arah penelusuran | Real-time, stream masuk | Historis, berdasarkan rentang waktu |
| Output | Daftar event lintas analitik | Kronologi lokasi satu objek |
| Tipe data | Semua jenis analitik | Face Recognition / LPR saja |
Halaman /tracking mendukung dua mode: Tracking Wajah dan Tracking Plat. Anda dapat berpindah mode menggunakan toggle di bagian atas halaman. Mode yang aktif tercermin pada URL melalui parameter ?type=face atau ?type=plate.
Akses ke halaman ini dikendalikan oleh RBAC dan feature flag. Dibutuhkan izin pada resource FACE_TRACKING atau PLATE_TRACKING, serta flag FACE_TRACKING_FEATURE_ENABLED atau PLATE_TRACKING_FEATURE_ENABLED yang diaktifkan oleh administrator. Jika halaman tidak dapat diakses, hubungi administrator sistem Anda.
Cara Menggunakan
Face Tracking — Lacak Pergerakan Berdasarkan Wajah
Buka halaman Tracking
Akses halaman /tracking dari sidebar Lenz Dashboard. Secara default, mode yang aktif adalah Tracking Wajah. Pastikan toggle di bagian atas menampilkan "Tracking Wajah".
Masukkan identitas yang ingin dilacak
Di halaman pencarian, Anda dapat memasukkan subjek dengan dua cara:
- Cari berdasarkan nama — ketik nama individu yang sudah terdaftar (enrolled) di kolom pencarian. Sistem akan menampilkan daftar kandidat dari database enrollment.
- Masukkan Face ID secara langsung — jika Anda sudah mengetahui
face_idindividu tersebut (misalnya dari hasil Face Search), masukkan langsung ke kolom ID.
Pilih individu yang tepat dari daftar hasil pencarian, atau tekan Enter setelah memasukkan Face ID.
Atur rentang waktu
Gunakan filter rentang waktu untuk menentukan periode yang ingin Anda telusuri. Semakin spesifik rentang waktu, semakin cepat sistem merespons dan semakin relevan hasilnya.
Lihat hasil Tracking
Sistem akan memanggil endpoint GET /api/events/face-related dan menampilkan seluruh event di mana individu tersebut terdeteksi, diurutkan secara kronologis. Setiap event menampilkan:
- Foto wajah yang terdeteksi (thumbnail)
- Nama lokasi dan kamera
- Waktu deteksi
- Tingkat kepercayaan (confidence score)
- Koordinat geografis kamera (jika tersedia)
Telusuri detail per event
Klik event mana pun untuk melihat detail lengkap, termasuk gambar konteks lokasi (location image) dan data pipeline dari mesin analitik.
Plate Tracking — Lacak Pergerakan Berdasarkan Nomor Plat
Aktifkan mode Plate Tracking
Di halaman /tracking, klik toggle Tracking Plat di bagian atas halaman. URL akan berubah menjadi /tracking?type=plate.
Cari nomor plat
Di kolom pencarian, ketikkan sebagian atau seluruh nomor plat kendaraan. Sistem mendukung wildcard (*) untuk pencarian parsial — misalnya B 1234* akan menemukan semua plat yang diawali dengan "B 1234".
Sistem memanggil GET /api/events/search/plates dan menampilkan daftar plat yang cocok beserta ringkasan:
- Nomor plat
- Pertama kali terdeteksi (
first_seen) - Terakhir kali terdeteksi (
last_seen) - Jumlah total deteksi (
detection_count)
Pilih plat dan lihat riwayat pergerakan
Pilih nomor plat dari hasil pencarian. Sistem kemudian memanggil GET /api/events/plate-related untuk mengambil seluruh riwayat deteksi kendaraan tersebut, diurutkan berdasarkan waktu. Setiap entri menampilkan lokasi kamera, waktu deteksi, dan gambar kendaraan.
Plate Tracking menggunakan deduplication berbasis bucket waktu 10 menit per Stream — artinya jika kendaraan yang sama terdeteksi oleh kamera yang sama dalam rentang 10 menit, hanya satu entri yang ditampilkan. Ini mencegah hasil yang terlalu padat dari satu lokasi.
Tipe Tracking
Face Tracking
Lacak pergerakan individu berdasarkan face_id di seluruh kamera. Data diambil dari mesin Face Recognition dan ditampilkan beserta confidence score, foto wajah, dan lokasi kamera secara kronologis.
Plate Tracking
Lacak rute perjalanan kendaraan berdasarkan nomor plat. Mendukung pencarian parsial dengan wildcard dan menampilkan agregasi first_seen, last_seen, serta jumlah deteksi sebelum Anda melihat detail riwayat lengkap.
Fitur Utama
Pencarian Lintas Kamera
Satu face_id atau nomor plat ditelusuri di seluruh kamera yang terpasang — tanpa perlu memeriksa rekaman satu per satu secara manual.
Kronologi Pergerakan
Hasil ditampilkan secara urut waktu sehingga Anda dapat merekonstruksi rute pergerakan subjek dari satu lokasi ke lokasi lain.
Confidence Score
Setiap event Face Tracking menyertakan skor kepercayaan (70–99%) dari mesin Face Recognition, membantu Anda menilai keandalan setiap deteksi.
Location Image
Thumbnail gambar konteks lokasi disertakan per event, memberikan gambaran visual situasi di sekitar kamera saat deteksi terjadi.
Wildcard Search (Plate)
Pencarian plat mendukung karakter wildcard (*) sehingga Anda dapat menemukan kendaraan meski hanya mengetahui sebagian nomor plat.
Optimasi Payload
Parameter disable_base64_image mengurangi ukuran payload hingga 99% dengan menggunakan URL gambar menggantikan data base64 — mempercepat respons pada koneksi terbatas.
API Reference
Semua endpoint memerlukan header Authorization: Bearer <token>. Basis URL mengikuti konfigurasi instalasi Lenz Anda.
GET /api/events/face-related — Face Tracking Events
Mengambil seluruh event di mana individu dengan face_id tertentu terdeteksi dalam rentang waktu yang ditentukan.
Query Parameters:
Prop
Type
curl -G "${API_URL}/api/events/face-related" \
-H "Authorization: Bearer ${TOKEN}" \
--data-urlencode "face_id=abc123def456" \
--data-urlencode "timestamp_from=2025-04-01T00:00:00Z" \
--data-urlencode "timestamp_to=2025-04-30T23:59:59Z" \
--data-urlencode "limit=50" \
--data-urlencode "disable_base64_image=true"{
"ok": true,
"message": "success",
"data": [
{
"id": 1001,
"analytic_id": "fr-analytic-01",
"stream_id": "stream-camera-lobby",
"stream_latitude": -6.2088,
"stream_longitude": 106.8456,
"primary_image_url": "https://api.example.com/images/primary/1001.jpg",
"secondary_image_url": "https://api.example.com/images/secondary/1001.jpg",
"label": "John Doe",
"result": "abc123def456",
"location": "Lobby Utama",
"status": "KNOWN",
"logic": "MATCH",
"timestamp": "2025-04-15T08:23:11Z",
"confidence": 92,
"location_image": "https://api.example.com/images/location/1001.jpg",
"node_num": 1,
"instance": "instance-jakarta",
"pipeline_event_id": "evt-9876"
}
]
}Keterangan field response:
Prop
Type
GET /api/events/search/plates — Plate Search
Mencari plat kendaraan di data event historis dan mengembalikan hasil yang diagregasi per nomor plat.
Query Parameters:
Prop
Type
curl -G "${API_URL}/api/events/search/plates" \
-H "Authorization: Bearer ${TOKEN}" \
--data-urlencode "q=B 1234*" \
--data-urlencode "timestamp_from=2025-04-01T00:00:00Z" \
--data-urlencode "timestamp_to=2025-04-30T23:59:59Z" \
--data-urlencode "limit=20"{
"ok": true,
"message": "success",
"data": [
{
"plate_number": "B 1234 XYZ",
"first_seen": "2025-04-03T07:12:00Z",
"last_seen": "2025-04-28T18:45:30Z",
"detection_count": 47
}
]
}GET /api/events/plate-related — Plate Tracking Events
Mengambil seluruh riwayat deteksi untuk satu nomor plat dalam rentang waktu tertentu.
Query Parameters:
Prop
Type
curl -G "${API_URL}/api/events/plate-related" \
-H "Authorization: Bearer ${TOKEN}" \
--data-urlencode "plate_number=B 1234 XYZ" \
--data-urlencode "timestamp_from=2025-04-01T00:00:00Z" \
--data-urlencode "timestamp_to=2025-04-30T23:59:59Z" \
--data-urlencode "limit=50" \
--data-urlencode "disable_base64_image=true"{
"ok": true,
"message": "success",
"data": [
{
"id": 2001,
"analytic_id": "lpr-analytic-01",
"stream_id": "stream-gate-in",
"stream_latitude": -6.1751,
"stream_longitude": 106.8272,
"primary_image_url": "https://api.example.com/images/primary/2001.jpg",
"secondary_image_url": "https://api.example.com/images/secondary/2001.jpg",
"label": "B 1234 XYZ",
"result": "B 1234 XYZ",
"location": "Gerbang Masuk",
"logic": "LPR",
"timestamp": "2025-04-15T07:58:44Z",
"plate_number": "B 1234 XYZ",
"location_image": "https://api.example.com/images/location/2001.jpg",
"node_num": 2,
"instance": "instance-jakarta",
"pipeline_event_id": "evt-5432"
}
]
}Endpoint plate-related menerapkan deduplication berbasis bucket waktu 10 menit per Stream. Artinya, jika kendaraan yang sama terdeteksi oleh kamera yang sama lebih dari sekali dalam rentang 10 menit, hanya satu event yang dikembalikan. Ini menjaga jumlah hasil tetap proporsional dan tidak terlalu padat.
Tips & Troubleshooting
API Reference
Dokumentasi lengkap seluruh Endpoint Tracking — parameter, schema respons, dan contoh cURL untuk Face Tracking dan Plate Tracking.
Selanjutnya
Live Events
Pantau semua event deteksi dari seluruh kamera secara real-time dalam satu tampilan terpusat.
Streams
Kelola konfigurasi kamera dan analitik yang menjadi sumber data untuk fitur Tracking.
Face Search
Cari wajah di seluruh data historis menggunakan foto referensi tanpa perlu mengetahui face_id terlebih dahulu.
API Reference — Resource Monitoring
Endpoint untuk mengambil statistik sumber daya real-time dari Lenz Dashboard, Visionaire, Media Server, Fremis-N, dan Database.
API Reference — Tracking
Endpoint untuk Face Tracking (pelacakan pergerakan individu berdasarkan face_id) dan Plate Tracking (pelacakan kendaraan berdasarkan nomor plat LPR).