Object Detection DETR (DEtection TRansformer)

Derajat Salim Wibowo

Sosial Media


0 orang menyukai ini
Suka

Summary

Transformer telah merevolusi computer vision dengan menghadirkan mekanisme yang kuat untuk memahami hubungan spasial dan kontekstual dalam gambar. Model seperti DETR (DEtection TRansformer) memungkinkan deteksi objek secara end-to-end tanpa kerumitan tradisional seperti anchor box, sementara Vision Transformer (ViT) mendefinisikan ulang klasifikasi gambar dengan memproses patch gambar sebagai token. Kemajuan ini menunjukkan potensi transformer dalam menyelesaikan berbagai tugas visual, seperti deteksi objek, segmentasi semantik, dan generasi gambar, menjadikannya fondasi penting dalam deep learning modern untuk aplikasi computer vision.

Description

Pendahuluan:

Dalam portofolio ini, saya akan mempresentasikan implementasi dan evaluasi model deteksi objek berbasis transformer, yakni DETR (DEtection TRansformer). Model DETR, yang menggabungkan kekuatan arsitektur transformer dengan backbone ResNet-50, menawarkan pendekatan end-to-end yang inovatif untuk tugas deteksi objek. Dengan menghilangkan mekanisme tradisional seperti region proposal dan non-maximum suppression, DETR menyederhanakan proses deteksi dan mencapai hasil yang kompetitif. Portofolio ini akan membahas arsitektur DETR secara mendalam, proses pelatihan, serta evaluasi kinerja model pada dataset COCO 2017.

Arsitektur DETR ResNet-50: 

model image

DETR adalah model deteksi objek yang menggunakan transformer untuk langsung memprediksi bounding box objek dalam gambar. Model ini berbeda dari metode deteksi objek tradisional karena tidak memerlukan komponen tambahan seperti anchor box atau non-maximum suppression.

Cara kerjanya:

  1. Ekstraksi Fitur: Gambar diubah menjadi representasi numerik (fitur) oleh jaringan saraf konvolusional (CNN).
  2. Encoding: Fitur-fitur ini diproses oleh transformer encoder untuk memahami hubungan antar bagian gambar.
  3. Decoding: Transformer decoder menghasilkan sekumpulan prediksi bounding box.
  4. Bipartite Matching: Prediksi dicocokkan dengan label yang benar untuk menghitung kesalahan dan memperbarui model.

Keunggulan DETR:

  • Sederhana: Desain yang lebih bersih tanpa komponen tambahan.
  • Fleksibel: Dapat digunakan untuk berbagai tugas visi komputer.
  • Akurat: Kinerja setara atau bahkan lebih baik dari metode konvensional.

Implementasi Penggunakan DETR-ResNet50: 

Berikut adalah penjelasan dari kode yang digunakan untuk menampilkan proses Object Detection menggunakan model DETR (DEtection TRansformer) dari Meta AI. Kode ini merupakan contoh implementasi yang cocok untuk portofolio di bidang computer vision dan machine learning:

1. Import Library

  • torch: Digunakan untuk memanfaatkan GPU jika tersedia.
  • PIL.Image: Library untuk memuat dan memproses gambar.
  • transformers.pipeline: Mempermudah pemanggilan model pra-terlatih, dalam hal ini untuk object detection.
  • matplotlib: Digunakan untuk visualisasi gambar dan bounding box.

2. Memuat Gambar

  • Gambar dimuat dari path yang ditentukan. Jika file tidak ditemukan, program akan berhenti dengan pesan kesalahan.
  • Image.open: Membuka file gambar yang akan diproses.

3. Inisialisasi Object Detection Pipeline

  • Model: Menggunakan DETR-ResNet-50, model pra-terlatih untuk object detection.
  • Device: Menentukan apakah akan menggunakan GPU (device=0) atau CPU (device=-1) berdasarkan ketersediaan GPU.

4. Deteksi Objek

  • detector: Melakukan prediksi bounding box dan label objek pada gambar.
  • Output: results adalah list dari objek-objek yang terdeteksi, masing-masing berupa dictionary dengan atribut:
    • box: Koordinat bounding box (xmin, ymin, xmax, ymax).
    • label: Label objek (misalnya, "person", "car").
    • score: Skor keyakinan model terhadap prediksi tersebut.

5. Visualisasi Gambar

a) Menampilkan Gambar Asli

  • Menampilkan gambar asli tanpa anotasi.

b) Menampilkan Gambar dengan Bounding Box

  • Bounding Box:
    • Dibuat menggunakan matplotlib.patches.Rectangle.
    • Koordinat (xmin, ymin) adalah sudut kiri atas.
    • (xmax - xmin) dan (ymax - ymin) adalah lebar dan tinggi kotak.
  • Label dan Skor:
    • Ditambahkan sebagai teks di dekat bounding box, menunjukkan jenis objek dan skor keyakinan.
  • Hasil:
    • Gambar ditampilkan dengan bounding box dan label berwarna merah.

 

Informasi Course Terkait
  Kategori: Computer Vision
  Course: Master Class Computer Vision