-->

Rancang Bangun Sistem Deteksi Objek Berbasis YOLOv5 dengan Arsitektur Client–Server

Riska Dwi Septya
0

 

LAPORAN PROYEK

Rancang Bangun Sistem Deteksi Objek
Berbasis YOLOv5 dengan Arsitektur Client–Server

 

Disusun oleh:

3G Kelompok 5

Muhammad Brian Maulana, Nicolas Satria Afri Liyansa,

 Riska Dwi Septya, Ryan Andhika Taruna Sakti

 

Teknik Elektro, Program Studi Jaringan Telekomunikasi Digital

Politeknik Negeri Malang

 

Kata Pengantar

    Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa atas tersusunnya laporan proyek ini. Laporan ini mendokumentasikan perancangan dan implementasi sistem deteksi objek berbasis YOLOv5 dengan arsitektur client-server sebagai solusi atas keterbatasan komputasi pada perangkat edge. Saran dan kritik konstruktif sangat kami harapkan demi perbaikan di masa mendatang.

 

Malang, Mei 2024

3G Kelompok 5

 

Bab 1 — Pendahuluan

  Computer Vision, khususnya deteksi objek (object detection), telah menjadi fondasi berbagai aplikasi modern seperti pengawasan keamanan, kendaraan otonom, dan kendali kualitas industri. Kemajuan deep learning berbasis Convolutional Neural Network (CNN) mendorong peningkatan akurasi sistem secara signifikan, seiring meningkatnya permintaan terhadap sistem yang akurat, cepat, dan hemat daya. 

    YOLOv5 (You Only Look Once v5) dari Ultralytics dipilih karena menawarkan keseimbangan optimal antara kecepatan inferensi dan akurasi, serta tersedia dalam berbagai varian model (nano hingga xlarge). Namun, Raspberry Pi sebagai perangkat edge memiliki keterbatasan serius — prosesor ARM Cortex-A tanpa GPU dedicated menghasilkan waktu inferensi yang terlalu lambat (beberapa detik per frame) untuk kebutuhan real-time.

  Solusi yang diadopsi adalah arsitektur client-server: Raspberry Pi berfungsi sebagai client yang mengambil gambar dan mengirimkannya melalui FTP ke server Ubuntu VM yang berkapasitas komputasi lebih besar, lalu menerima kembali hasil deteksi. Pendekatan ini memisahkan beban komputasi berat dari perangkat edge secara efektif.

Bab 2 — Teknologi yang Digunakan

Perangkat Keras
  1. PC/Laptop Client
  2. Smartphone Android (Opsional)
  3. Komputer Server
  4. Kamera/Webcam
  5. Router/Switch
  6. Jaringan LAN/Wi-Fi
Perangkat Lunak

  1. Windows 10/11
  2. Ubuntu Server
  3. Python 3
  4. YOLOv5
  5. OpenCV
  6. vsftpd (FTP Server)
  7. ftplib
  8. Visual Studio Code
  9. VirtualBox (Jika menggunakan VM Ubuntu)

Bab 3 — Arsitektur Client–Server

Gambar diatas menunjukkan diagram blok sistem deteksi objek berbasis YOLOv5 dengan arsitektur client-server. Sistem terdiri atas tiga bagian utama, yaitu client, jaringan komunikasi, dan server yang saling terhubung melalui jaringan LAN atau Wi-Fi. Pada sisi client, perangkat yang digunakan dapat berupa PC, laptop, atau smartphone Android yang berfungsi untuk mengambil gambar menggunakan kamera, mengirimkan gambar ke server, menerima hasil deteksi, dan menampilkan hasil tersebut kepada pengguna. Client tidak melakukan proses deteksi secara langsung sehingga kebutuhan komputasi pada perangkat ini relatif ringan.

Komunikasi antara client dan server dilakukan melalui jaringan yang dihubungkan menggunakan router atau switch. Pertukaran data menggunakan protokol FTP, di mana gambar hasil pengambilan kamera dikirim dari client ke server melalui proses upload. Setelah gambar diterima, server akan melakukan pengolahan data menggunakan model YOLOv5 yang berjalan pada lingkungan Python. Pada penelitian ini, server dapat berupa komputer yang menjalankan sistem operasi Ubuntu secara langsung maupun melalui Virtual Machine (VM).

Server berfungsi sebagai pusat pemrosesan sistem. Gambar yang diterima dari client akan melalui proses deteksi objek menggunakan YOLOv5 yang meliputi tahap penerimaan gambar, inferensi model, dan pembuatan hasil deteksi. Hasil yang dihasilkan berupa gambar yang telah diberi anotasi (bounding box) serta data deteksi dalam format JSON atau CSV yang berisi informasi objek yang berhasil dikenali. Setelah proses deteksi selesai, server mengirimkan kembali hasil deteksi tersebut kepada client melalui FTP menggunakan mekanisme download.

Selanjutnya, client menerima hasil deteksi dari server dan menampilkannya kepada pengguna melalui antarmuka aplikasi. Dengan arsitektur client-server ini, proses komputasi yang membutuhkan sumber daya besar dapat dipusatkan pada server, sementara client hanya bertugas melakukan akuisisi data, pengiriman data, dan penyajian hasil. Pendekatan ini memungkinkan sistem bekerja lebih efisien serta mempermudah pengembangan dan pemeliharaan sistem di masa mendatang.

 

Keuntungan Arsitektur Client-Server pada Proyek Ini:

  • Mengurangi beban komputasi pada perangkat client.
  • Meningkatkan kecepatan proses deteksi objek.
  • Mempermudah pengelolaan dan pembaruan sistem.
  • Mendukung penggunaan berbagai jenis perangkat client.
  • Meningkatkan skalabilitas sistem untuk banyak client.
  • Mempermudah pemeliharaan dan monitoring sistem.
  • Mengoptimalkan penggunaan sumber daya komputasi.
  • Memudahkan pengembangan dan integrasi sistem di masa depan.
  • Mempermudah pertukaran data melalui protokol FTP.
  • Meningkatkan keandalan dan stabilitas sistem.
  • Memusatkan proses deteksi pada satu server.
  • Mengurangi kebutuhan spesifikasi tinggi pada perangkat client.

Bab 4 — Cara Kerja Sistem

Berdasarkan flowchart yang telah dirancang, proses sistem dimulai dengan tahap inisialisasi sistem, yaitu melakukan konfigurasi perangkat, koneksi jaringan, dan layanan FTP yang digunakan untuk komunikasi antara client dan server. Setelah proses inisialisasi selesai, client melakukan pengambilan gambar menggunakan kamera. Gambar yang berhasil diperoleh kemudian disimpan sementara pada perangkat client sebelum dikirimkan ke server melalui proses upload menggunakan protokol FTP.

Setelah gambar diterima oleh server, sistem menjalankan proses deteksi objek menggunakan model YOLOv5. Pada tahap ini, gambar terlebih dahulu melalui proses preprocessing untuk menyesuaikan format dan ukuran data yang akan diproses. Selanjutnya dilakukan inferensi menggunakan model YOLOv5 untuk mengenali objek yang terdapat pada gambar. Hasil inferensi kemudian diproses kembali melalui tahap postprocessing untuk menyaring hasil deteksi dan menghasilkan prediksi yang lebih akurat.

Setelah proses deteksi selesai, server menghasilkan keluaran berupa gambar yang telah diberi anotasi (bounding box) dan label objek, serta data hasil deteksi dalam format JSON atau TXT. Hasil tersebut kemudian dikirim kembali kepada client melalui FTP menggunakan proses download. Client menerima hasil deteksi dan menampilkannya kepada pengguna melalui antarmuka aplikasi sehingga pengguna dapat melihat objek yang berhasil dikenali oleh sistem.

Selanjutnya sistem melakukan pemeriksaan apakah pengguna ingin melakukan proses deteksi kembali. Apabila pengguna memilih untuk melakukan deteksi ulang, maka alur sistem akan kembali ke tahap pengambilan gambar pada client dan seluruh proses akan diulangi. Namun, apabila pengguna tidak ingin melanjutkan proses deteksi, maka sistem akan mengakhiri seluruh proses dan masuk ke tahap selesai. Dengan alur tersebut, sistem mampu melakukan deteksi objek secara berulang dan terstruktur menggunakan arsitektur client–server yang memisahkan proses akuisisi data dan pemrosesan deteksi objek.

Bab 5 — Implementasi Sistem

5.1 Konfigurasi Server (Ubuntu VM)

Ubuntu Server 22.04 LTS diinstal pada VM baru (minimal 4 GB RAM, 2 CPU core, 30 GB storage) dengan mode jaringan Bridged Adapter agar berada dalam jaringan LAN yang sama dengan Raspberry Pi. Python 3.9+ beserta torch, torchvision, dan opencv-python diinstal. Repository YOLOv5 diunduh dari GitHub Ultralytics, dependensi dipasang via requirements.txt, dan model pre-trained YOLOv5s (~14 MB, 80 kelas COCO) diunduh. vsftpd dikonfigurasi untuk menerima file input dan menyediakan direktori output hasil deteksi.

5.2 Konfigurasi Client (Raspberry Pi)

Pada Raspberry Pi, Python 3 diinstal bersama ftplib (built-in) dan picamera/opencv-python untuk akses kamera. Skrip Python mengotomatisasi alur lengkap: pengambilan gambar, koneksi FTP, unggah, tunggu hasil, unduh, dan tampilkan/log hasil deteksi.

5.3 Pengujian Koneksi Jaringan

Koneksi jaringan diverifikasi menggunakan ping sebelum menjalankan sistem penuh. Koneksi FTP diuji secara manual untuk memastikan autentikasi dan transfer file berjalan dengan benar.

Bab 6 — Hasil Pengujian

Pengujian dilakukan secara bertahap, dari validasi per komponen hingga pengujian end-to-end.

 

Ringkasan Hasil Pengujian:

  Transfer gambar (LAN): rata-rata < 500 ms untuk file berukuran 500 KB

  Akurasi deteksi objek umum (orang, kendaraan): > 85% confidence score

  Waktu inferensi YOLOv5s di server: rata-rata 50–150 ms per gambar

  Total waktu siklus (ambil → kirim → proses → terima hasil): ~2–4 detik

  Tingkat keberhasilan transfer file: 100% dalam jaringan LAN stabil

⚠️  Kendala: latensi meningkat jika ukuran gambar terlalu besar (> 3 MB)


6.1 Kendala dan Solusi

  • FTP timeout saat inferensi berat → ditambahkan mekanisme retry dengan delay di sisi client.
  • Konflik nama file gambar → penggunaan timestamp UNIX sebagai bagian dari nama file.
  • False positive pada objek sangat kecil → threshold confidence minimum diatur ke 0.45.

Bab 7 — Kesimpulan

Sistem Deteksi Objek Berbasis YOLOv5 dengan Arsitektur Client-Server telah berhasil diimplementasikan dan diuji. Sistem mampu mengatasi keterbatasan komputasi Raspberry Pi dengan mendelegasikan inferensi ke Ubuntu VM melalui protokol FTP, menghasilkan total waktu siklus 2–4 detik dengan akurasi deteksi di atas 85% confidence score.

YOLOv5 terbukti menjadi pilihan tepat berkat kecepatan inferensi 50–150 ms per gambar, kemampuan deteksi multi-kelas dalam satu pass, dan ketersediaan model pre-trained COCO yang mempercepat implementasi. Proyek ini membuktikan bahwa arsitektur client-server merupakan solusi relevan dan praktis untuk sistem kecerdasan buatan pada perangkat edge, dengan potensi pengembangan ke integrasi CCTV real-time maupun platform IoT yang lebih kompleks.

Bab 8 — Saran Pengembangan

  • Integrasi CCTV Real-Time: penggantian gambar statis dengan stream video via protokol RTSP untuk pemantauan kontinu.
  • Integrasi IoT & Notifikasi Otomatis: koneksi ke MQTT broker atau platform cloud IoT untuk memicu aksi otomatis (alarm, notifikasi smartphone).
  • Antarmuka Mobile Monitoring: aplikasi Android/iOS untuk tampilan hasil real-time dan notifikasi push.
  •  Migrasi ke Cloud Server: penggantian VM lokal dengan layanan AWS/GCP/Azure untuk akses remote dan skalabilitas elastis.
  • Optimasi Pipeline Video Real-Time: penggunaan YOLOv5n (nano) atau ekspor ke TensorRT untuk akselerasi GPU pada pemrosesan frame berurutan.
  • Fine-Tuning Dataset Khusus: pelatihan ulang YOLOv5 dengan dataset spesifik lingkungan deployment untuk meningkatkan akurasi.
  • Keamanan Transfer Data: penggantian FTP dengan SFTP dan penambahan autentikasi berbasis token pada server deteksi.

 

Daftar Pustaka

1.     Ultralytics. (2020). YOLOv5 Documentation. GitHub Repository. https://github.com/ultralytics/yolov5

2.     Canonical Ltd. (2024). Ubuntu Server Documentation. https://ubuntu.com/server/docs

3.     Raspberry Pi Foundation. (2024). Raspberry Pi Official Documentation. https://www.raspberrypi.com/documentation/

4.     Postel, J. & Reynolds, J. (1985). RFC 959: File Transfer Protocol (FTP). IETF. https://tools.ietf.org/html/rfc959

5.     Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You Only Look Once: Unified, Real-Time Object Detection. Proceedings of CVPR 2016.

6.     Python Software Foundation. (2024). ftplib — FTP Protocol Client. Python 3 Documentation. https://docs.python.org/3/library/ftplib.html

7.     VirtualBox Documentation. (2024). Oracle VM VirtualBox User Manual. https://www.virtualbox.org/wiki/Documentation

8.     OpenCV Team. (2024). OpenCV — Open Source Computer Vision Library. https://opencv.org/

 

— Akhir Laporan —

3G  Kelompok 5  |  Jaringan Telkomunikasi Digital 2026

Post a Comment

0Comments

Post a Comment (0)