Short Explanation
Perhitungan jumlah orang secara otomatis atau Counting Crowd menjadi sangat penting di tempat-tempat yang ramai dan dinamis seperti stasiun dan stadion. Kedua tempat ini sering kali menjadi pusat kerumunan besar, di mana ribuan hingga puluhan ribu orang bergerak setiap hari atau dalam satu waktu tertentu, seperti selama acara olahraga, konser, atau jam-jam sibuk di stasiun kereta. Untuk memastikan keselamatan, kenyamanan, dan kelancaran operasional, pemantauan yang akurat dan real-time mengenai jumlah orang yang hadir sangatlah penting.
Stasiun kereta biasanya merupakan pusat transportasi yang sangat sibuk, terutama selama jam sibuk. Pemantauan jumlah orang yang berada di stasiun secara real-time dapat membantu manajemen operasional stasiun dalam mengontrol arus penumpang, mengelola antrian, dan mengoptimalkan penggunaan fasilitas. Misalnya, dengan mengetahui data keramaian, manajemen dapat memutuskan kapan harus menambah gerbong kereta atau mengarahkan orang ke jalur yang lebih sepi untuk mencegah kemacetan. Dalam konteks keamanan, pemantauan otomatis ini juga membantu deteksi dini potensi situasi berbahaya, seperti kepadatan yang berlebihan, yang bisa berujung pada insiden seperti desak-desakan atau evakuasi darurat.
Counting Crowd ini menggunakan teknologi deteksi manusia (human detection) yang memanfaatkan algoritma kecerdasan buatan (AI), terutama dalam bidang computer vision dan deep learning. Teknologi ini bekerja dengan menganalisis data visual seperti gambar atau video yang diambil dari kamera pengawas atau perangkat sensor lainnya. Computer vision digunakan untuk mengenali manusia di antara objek lain dalam gambar, sementara deep learning memungkinkan sistem untuk terus belajar dari pola-pola yang ada di dalam data visual, seperti gerakan manusia dan interaksi mereka dengan lingkungan. Sistem ini dirancang untuk mendeteksi manusia meskipun dalam kondisi yang menantang seperti keramaian yang padat, pencahayaan buruk, atau oklusi (penutupan sebagian tubuh).
Salah satu metode kunci yang digunakan adalah deteksi kepala. Karena kepala lebih mudah dikenali dalam kerumunan padat, teknologi ini berfokus pada mendeteksi bagian kepala manusia sebagai ciri yang dapat diandalkan. Setelah kepala terdeteksi, sistem akan menghitung jumlah kepala yang terlihat dalam gambar atau video. Metode ini sangat berguna di lingkungan dengan kepadatan tinggi, seperti di stasiun atau stadion, di mana sering kali sulit untuk mendeteksi seluruh tubuh seseorang. Dengan menggunakan deteksi kepala, teknologi ini dapat menghitung jumlah orang secara lebih akurat, bahkan ketika sebagian tubuh seseorang tertutupi atau ada banyak pergerakan.
Problem
- Bagaimana cara mendeteksi dan menghitung jumlah kepala manusia di area stasiun dan stadion menggunakan teknik computer vision?
- Apa saja faktor yang mempengaruhi akurasi deteksi kepala dalam video yang direkam oleh kamera CCTV di stasiun dan stadion?
- Bagaimana sistem dapat beradaptasi dengan berbagai kondisi pencahayaan dan sudut pandang kamera untuk mempertahankan akurasi deteksi?
Flowchart
Start (Mulai)
Proses dimulai, menandakan sistem mulai aktif untuk melakukan penghitungan jumlah orang.
Capture Visual Data (Pengambilan Data Visual)
Kamera atau sensor menangkap data visual dalam bentuk gambar atau video dari area yang ingin dipantau. Data ini menjadi dasar bagi sistem untuk melakukan analisis lebih lanjut.
Pre-process Data (Pra-pemrosesan Data)
Data visual yang telah diambil diproses terlebih dahulu untuk meningkatkan kualitasnya. Langkah ini dapat mencakup peningkatan kontras, pengurangan noise, atau penyesuaian pencahayaan, agar deteksi menjadi lebih akurat.
Head Detection (Deteksi Kepala)
Sistem mendeteksi keberadaan kepala manusia dari gambar atau video yang telah diproses. Fokus utama deteksi ini adalah pada kepala, karena sistem ini menggunakan deteksi kepala sebagai indikator jumlah orang.
Count Head (Penghitungan Kepala)
Pada tahap ini, sistem memeriksa apakah kepala terdeteksi dalam gambar atau video. Jika terdeteksi, maka:
- Yes (Ya) : Sistem akan menambahkan jumlah hitungan dengan 1 (Count = Count + 1).
- No (Tidak) : Jika tidak ada kepala terdeteksi, sistem tidak menambahkan hitungan dan lanjut ke tahap berikutnya.
Return the Total Count (Kembalikan Jumlah Total)
Setelah semua data telah diproses dan kepala yang terdeteksi telah dihitung, sistem mengembalikan jumlah total orang yang telah dihitung dalam bentuk data numerik.
End (Selesai)
Proses selesai, dan sistem dapat direset atau digunakan kembali untuk data input baru jika diperlukan.
Project Goals
Tujuan dari proyek ini adalah:
- Menghitung jumlah orang di area stasiun berdasarkan deteksi kepala sebagai bagian tubuh yang terlihat.
- Meningkatkan pemahaman tentang pola keramaian di stasiun untuk membantu pengelola dalam mengambil keputusan yang lebih baik terkait manajemen kerumunan.
- Meningkatkan akurasi deteksi kepala dengan mengembangkan algoritma yang efektif untuk berbagai kondisi pencahayaan dan sudut kamera.
Scope of Problem
- Sistem hanya akan mendeteksi kepala manusia untuk menghitung keramaian. Deteksi bagian tubuh lain tidak akan dilakukan dalam proyek ini.
- Proyek ini hanya akan mendeteksi keramaian pada 1 lokasi, yaitu stasiun.
- Sistem deteksi akan menggunakan kamera pengawas (CCTV).
- Data yang digunakan terbatas pada rekaman video dari kamera CCTV di stasiun. Rekaman dengan kualitas rendah atau sudut kamera yang tidak optimal tidak akan menjadi fokus utama dalam uji coba.
- Pengujian akan difokuskan pada skala kecil hingga menengah, yaitu deteksi keramaian di satu atau beberapa titik tertentu tanpa membahas penerapan sistem pada seluruh area yang lebih luas.
Tech Stack Used
- Google Colab: Platform cloud untuk pelatihan model dengan GPU gratis.
- Roboflow: Alat untuk mengelola dan mengaugmentasi dataset.
- GitLab: Platform manajemen proyek dan kode sumber.
- Visual Studio Code: Editor kode untuk pengembangan dengan Python.
- Model: YOLOv5: Algoritma deteksi objek cepat dan ringan.
- Dataset: 2000 Gambar: Dataset dengan gambar dari berbagai kondisi keramaian.
- Programming Language: Python: Bahasa utama untuk pengkodean dan pelatihan model.
Results
The Problems and How I Deal With It
Dataset Terbatas
Masalah ini muncul karena dataset yang tersedia hanya terdiri dari 2000 gambar, yang mungkin tidak mencakup semua kondisi keramaian yang dibutuhkan untuk model yang lebih akurat. Untuk mengatasinya, saya menggunakan augmentasi data dengan Roboflow untuk menambah variasi dataset melalui teknik seperti rotasi, pemotongan, dan perubahan pencahayaan, sehingga model dapat lebih robust dalam mendeteksi objek di berbagai kondisi.
Kualitas video pengujian mempengaruhi akurasi.
Video pengujian dengan kualitas rendah dapat mempengaruhi kemampuan model dalam mendeteksi objek dengan akurat. Untuk mengatasi hal ini, saya memastikan pembersihan dan peningkatan kualitas video sebelum diuji, seperti mengatur pencahayaan dan kontras.
Spesifikasi laptop
Laptop dengan spesifikasi terbatas dapat memperlambat proses pelatihan model, terutama ketika melibatkan dataset besar atau model yang kompleks seperti YOLOv5. Untuk mengatasinya, saya memanfaatkan Google Colab untuk menjalankan pelatihan model menggunakan GPU gratis yang disediakan, mempercepat proses tanpa perlu mengandalkan spesifikasi laptop lokal.
Pelatihan model membutuhkan waktu lama.
Proses pelatihan model deteksi objek seperti YOLOv5 dapat memakan waktu cukup lama, terutama untuk dataset besar dan model yang lebih kompleks. Untuk mengoptimalkan waktu, saya memanfaatkan Google Colab dengan GPU untuk mempercepat pelatihan dan melakukan pelatihan bertahap (incremental training) untuk menghindari pemborosan waktu dan sumber daya pada iterasi model yang sama.
Lessons Learned
Pentingnya Augmentasi Data
Dataset terbatas dapat mengurangi akurasi model, tetapi dengan augmentasi data yang tepat, kita bisa meningkatkan keragaman dataset dan membantu model untuk lebih adaptif pada berbagai kondisi, sehingga meningkatkan performa deteksi.
Kualitas Data Pengujian Memengaruhi Hasil
Kualitas video pengujian sangat penting dalam deteksi objek. Peningkatan kualitas video sebelum pengujian dapat mengurangi kesalahan deteksi, terutama di lingkungan dengan pencahayaan yang buruk atau pergerakan cepat.
Manfaat Menggunakan Platform Cloud
Menggunakan Google Colab untuk pelatihan model dengan GPU dapat sangat mempercepat proses pelatihan, terutama ketika spesifikasi laptop terbatas. Ini juga mengurangi ketergantungan pada perangkat keras lokal yang lebih lambat.
Pengoptimalan Waktu Pelatihan
Pelatihan model deteksi objek seperti YOLOv5 membutuhkan waktu yang panjang. Dengan incremental training dan memanfaatkan GPU, pelatihan dapat diselesaikan lebih cepat tanpa membuang sumber daya.
Adaptasi dengan Berbagai Kondisi
Menghadapi berbagai kondisi seperti pencahayaan buruk atau sudut pandang kamera yang tidak optimal mengajarkan kita pentingnya penyesuaian model agar tetap efektif dalam berbagai situasi dunia nyata.
Iterasi dan Pengujian yang Berkelanjutan
Proses deteksi objek selalu membutuhkan iterasi dan pengujian berkelanjutan. Menguji model dalam berbagai kondisi yang lebih bervariasi membantu memperbaiki hasil deteksi dan meningkatkan ketepatan sistem secara keseluruhan.
Top comments (0)