Apa itu Deteksi Keberatan dengan Tensorflow? dan Cara Kerjanya [Contoh]

Diterbitkan: 2021-06-18

Daftar isi

Deteksi Objek – Apa artinya?

Deteksi objek adalah proses di mana suatu objek dapat diidentifikasi atau ditempatkan dalam gambar atau video melalui bantuan computer vision. Jika kita memiliki citra yang memiliki kucing dan manusia dan kita harus mengklasifikasikan objek-objek di dalam citra, maka teknik pendeteksian objek yaitu deteksi objek dapat diterapkan dan objek yang diperlukan yaitu kucing dan orang dapat ditemukan. Ini dapat dicapai melalui kotak pembatas yang digambar di sekitar objek yang terdeteksi. Oleh karena itu lokasi objek yang diinginkan diketahui.

Kebanyakan orang masih bingung dengan pengenalan objek dan pengenalan gambar. Perbedaan antara keduanya terletak pada kenyataan bahwa dalam hal pengenalan gambar, seluruh gambar diberi label sedangkan dalam pengenalan objek, objek di dalam gambar diberi label.

Kelas objek seperti orang, tabel, dll, dan koordinat lokasi objek dalam gambar tertentu dapat diidentifikasi melalui teknik pendeteksian objek. Kinerja algoritma pendeteksi objek tergantung pada kemampuannya untuk menemukan objek di dalam gambar. Salah satu contoh pendeteksian objek adalah deteksi wajah.

Mengapa Deteksi Objek?

Karena kemampuan unik yang dimiliki deteksi objek, proses ini dapat diterapkan dalam banyak tugas penting, seperti:

  • Menghitung orang dalam kerumunan.
  • Mengemudi dalam kasus mobil self-driving.
  • CCTV.
  • Deteksi wajah.
  • Deteksi anomali

Pendekatan Deteksi Objek

Algoritme yang digunakan untuk metode pendeteksian objek mungkin dilatih sebelum digunakan atau tanpa pengawasan.

Dua pendekatan yaitu pendekatan berbasis pembelajaran mesin dan pembelajaran mendalam digunakan untuk mendeteksi objek.

  • Berbagai fitur gambar seperti histogram warna atau tepi, dll. sedang dilihat oleh pendekatan berbasis ML. Model regresi berdasarkan fitur ini kemudian dihasilkan dan lokasi objek diprediksi.
  • Jaringan saraf convolutional (CNNs) digunakan dalam kasus pendekatan berdasarkan pembelajaran mendalam untuk mendeteksi objek melalui metode tanpa pengawasan.

Cara Kerja Metode Deteksi Objek

Tugas deteksi objek dapat dilakukan melalui langkah-langkah berikut:

  • Gambar input dipecah menjadi beberapa segmen kecil. Kumpulan kotak yang diikat menjadi satu dibuat mencakup seluruh gambar.
  • Setiap area tersegmentasi dikenakan proses ekstraksi fitur. Kemudian memprediksi keberadaan objek yang valid di dalam kotak. Proses menentukan apakah ada fitur visual yang ada di dalam kotak.
  • Sebuah kotak tunggal dibangun untuk kotak-kotak yang tumpang tindih.

Deteksi objek menggunakan TensorFlow

TensorFlow dapat didefinisikan sebagai perpustakaan yang merupakan sumber terbuka untuk pembelajaran mesin dan telah banyak digunakan di beberapa aplikasi seperti pengenalan gambar, pencarian suara, pengenalan objek, dll. Baik Python dan C++ API disediakan oleh TensorFlow.

  • Baik algoritme pembelajaran mendalam maupun algoritme pembelajaran mesin ada dalam TensorFlow.
  • Python digunakan sebagai bahasa front-end dan juga berjalan secara efisien di C++.
  • Grafik komputasi dibuat oleh developer menggunakan TensorFlow.
  • Operasi matematika diwakili oleh node dalam grafik dan data diwakili melalui koneksi.

TensorFlow dikembangkan untuk melakukan penelitian tentang pembelajaran mesin dan jaringan saraf dalam oleh tim Google Brain dalam organisasi Penelitian Intelijen Mesin Google.

API (Application Programming Interface) mencegah pengembang menulis kode dari awal melalui penyediaan serangkaian operasi umum. API deteksi objek TensorFlow diterapkan untuk melatih model deteksi objek. Kerangka kerja ini dibangun di atas TensorFlow. Fitur-fitur yang termasuk dalam TensorFlow deteksi objek adalah:

  • Model yang sudah dilatih disebut “Model Zoo” dan tersedia dalam framework.
  • Dataset yang digunakan untuk melatih berbagai model terlatih adalah:
  • kumpulan data COCO.
  • kumpulan data KITTI.
  • Kumpulan data Gambar terbuka

Kerangka kerja TensorFlow deteksi objek terdiri dari berbagai model yang memiliki arsitektur bervariasi dan karenanya akurasi prediksi yang berbeda. Jenis arsitektur dari model yang sudah dilatih adalah:

1. MobileNet-SSD

Jaringan konvolusi tunggal mengidentifikasi lokasi kotak pembatas pada satu lintasan. Arsitekturnya terdiri dari lapisan dasar (MobileNet) dengan beberapa lapisan konvolusi. Lokasi kotak pembatas diprediksi melalui operasi pada peta fitur. Informasi yang ada pada setiap kotak pembatas tercantum di bawah ini:

  • Lokasi offset kotak pembatas di empat sudut (cx, cy, w, h).
  • Probabilitas kelas C (c1, c2, …cp)

Bentuk kotak tidak diprediksi oleh SSD melainkan lokasi kotak diprediksi. Jumlah K kotak pembatas ditentukan untuk setiap lokasi peta fitur. Bentuk k bounding box sudah diatur sebelum latihan yang sebenarnya.

Persamaan berikut menghitung kerugian.

L=1/N (kelas L + kotak L)

Dimana, N: nomor kotak yang cocok, kelas L: kerugian softmax, kotak L: kesalahan yang terkait dengan kotak yang cocok.

2. MobileNet

Sebuah konvolusi standar difaktorkan menjadi sebuah konvolusi dan konvolusi yang pointwise yaitu 1*1 konvolusi. Perhitungan dikurangi dengan pengurangan ukuran model melalui faktorisasi.

3. Inception-SSD

Inception-SSD memiliki arsitektur yang sama dengan MobileNet-SSD, namun, dasar arsitektur dalam kasus MobileNet-SSD adalah MobileNet, dan ini adalah model Inception.

4. RCNN lebih cepat

Prediksi lokasi objek didasarkan pada algoritma usulan wilayah. Jaringan deteksi telah mengurangi waktu berjalannya melalui kemajuan dalam SSPnet dan Fast R-CNN. Peta fitur konvolusi dihasilkan ketika gambar input dimasukkan ke dalam jaringan saraf dalam kasus RCNN Lebih Cepat.

Usulan wilayah kemudian diidentifikasi melalui peta fitur konvolusi dan dilengkungkan menjadi kotak. Kotak kemudian dibentuk kembali menjadi ukuran yang ditetapkan melalui lapisan penyatuan ROL (Lapisan Wilayah Yang Diinginkan). Ini kemudian digunakan sebagai input ke lapisan yang terhubung sepenuhnya.

Lapisan softmax digunakan untuk memprediksi kelas proposal wilayah dari vektor fitur ROL. Nilai offset kotak pembatas juga diprediksi.

Pemilihan Model TensorFlow Deteksi Objek

Model TensorFlow Deteksi Objek yang tepat dapat dipilih dari API TensorFlow berdasarkan kebutuhan spesifik pengguna. Jaringan deteksi single-shot, yaitu jaringan SSD dapat digunakan jika pengguna memerlukan model berkecepatan tinggi. Modelnya cukup cepat dan dapat mendeteksi umpan video pada fps tinggi.

Namun, jika akurasi lebih diperlukan maka FasterRCNN mungkin menjadi pilihan yang lebih baik karena akurasi modelnya tinggi tetapi memiliki kecepatan yang relatif lebih lambat. Oleh karena itu, pengguna dapat menjelajahi berbagai peluang yang tersedia sesuai kebutuhannya.

Contoh TensorFlow untuk deteksi objek

Penggunaan TensorFlow API untuk deteksi objek tidak memerlukan pengetahuan sebelumnya tentang pembelajaran mesin atau jaringan saraf. File yang disediakan oleh API akan banyak digunakan. Satu-satunya persyaratan adalah mengetahui dasar-dasar python.

1. Mengunduh TensorFlow

  • TensorFlow dapat diunduh melalui git atau diunduh secara manual.
  • Mengunduh TensorFlow melalui git adalah salah satu cara termudah untuk mengunduh. Untuk mengunduh melalui git, sistem harus sudah menginstal git pre di dalamnya. Setelah, git diinstal, perintah berikut harus diketik di terminal.
  • Tautan berikut harus dikunjungi dan tombol hijau harus diklik. File zip harus diunduh dan diekstraksi.
  • Folder harus diganti namanya menjadi model dari models-master.
  • Lingkungan harus dibuat secara virtual. Salah satu tujuan utama menciptakan lingkungan virtual python adalah menciptakan lingkungan python yang terisolasi. Ini akan digunakan untuk proyek di bawah python. Oleh karena itu, dependensi setiap proyek akan berbeda.
  • Perintah berikut harus digunakan dalam prompt anaconda:

Dalam hal ini, lingkungan virtual bernama obj_detection

conda create -n obj_detection -> untuk mengatur lingkungan secara virtual

conda mengaktifkan obj_detection -> untuk mengaktifkan lingkungan virtual

2. Menginstal dependensi

  • Dependensi yang diperlukan oleh API harus diinstal pada PC lokal.
  • Dependensi dapat diinstal setelah mengaktifkan lingkungan virtual.
  • Perintah berikut harus diketik

pip instal tensorflow

  • Jika ada GPU, perintah berikut diperlukan

pip install tensorflow-gpu

  • Ketergantungan lain harus diinstal melalui perintah berikut:

pip install bantal Cython lxml jupyter matplotlib contextlib2 tf_slim

3. Mengunduh Protokol Buffer (Protobuff)

  • Buffer protokol adalah mekanisme tertentu untuk menyusun data secara serial seperti XML.
  • 'Protobuff' harus diunduh dari tautan .
  • Ekstrak file dan salin file ke subfolder bernama "penelitian" di folder "model" yang sudah diunduh.
  • Folder yang berisi file protobuf harus dinavigasi ke dan menjalankan perintah berikut:

protoc object_detection/protos/*.proto –python_out=.

  • Eksekusi perintah yang berhasil akan membuat file python terhadap masing-masing file proto di folder protos di bawah deteksi objek di folder model.

Kesimpulan

Deteksi objek adalah teknik yang diterapkan secara luas dalam berbagai aplikasi waktu nyata. Kami telah belajar bahwa teknik ini dapat dicapai melalui penerapan pembelajaran mesin atau algoritma pembelajaran mendalam.

Selain itu, dengan penerapan API, yaitu TensorFlow, pengguna harus memiliki pengetahuan sebelumnya tentang konsep pemrograman python. Baru setelah itu metode deteksi objek menggunakan TensorFlow API dapat dipahami dengan benar. TensorFlow adalah platform sumber terbuka untuk pembelajaran mesin. Oleh karena itu, untuk memahami mekanisme kerja TensorFlow dan penerapannya, sebaiknya pelajari konsep machine learning.

Jika Anda seorang profesional tingkat menengah yang ingin belajar pemrograman python, menerapkan model ML bersama dengan komputasi awan, Anda dapat melihat kursus “ Magister Sains dalam Pembelajaran Mesin & Kecerdasan Buatan ” yang disediakan oleh upGrad . Kursus yang disertifikasi bersama oleh IIIT Bangalore & LJMU akan menyelaraskan tujuan Anda dengan pelatihan ahli dan memungkinkan Anda mempersiapkan diri untuk masuk ke perusahaan impian Anda. Yang Anda butuhkan hanyalah memiliki gelar sarjana. Tim bantuan kami siap menghubungi Anda jika ada pertanyaan terkait kursus oleh upGrad.

Pimpin Revolusi Teknologi Berbasis AI

PROGRAM PG EKSEKUTIF DALAM PEMBELAJARAN MESIN DAN KECERDASAN BUATAN
Lamar Sekarang