Anda di halaman 1dari 1

4/21/2021 Image detection - Jupyter Notebook

Object Detection with ImageAI

Pengenalan
Deteksi objek adalah teknologi yang berada di bawah domain Computer Vision yang lebih luas. Metode ini berkaitan dengan mengidentifikasi dan melacak objek yang ada dalam gambar dan video. Deteksi objek memiliki banyak aplikasi seperti deteksi wajah, deteksi kendaraan, penghitungan pejalan kaki, mobil tanpa pengemudi, sistem keamanan, dll.

Dua tujuan utama deteksi objek meliputi:

Untuk mengidentifikasi semua objek yang ada dalam gambar


Penyaringan objek

Pada materi kali ini, Anda akan melihat cara melakukan deteksi objek dengan Python dengan bantuan ImageAI.

ImageAI
ImageAI adalah library Python yang dibangun untuk membantu pengembang untuk membangun aplikasi dan sistem dengan self-contained deep learning dan kemampuan Computer Vision menggunakan beberapa baris kode secara langsung. ImageAI berisi implementasi Python dari hampir semua algoritme deep learning yang canggih seperti RetinaNet, YOLOv3, dan TinyYOLOv3.

ImageAI menggunakan beberapa API yang bekerja secara offline - memiliki API deteksi objek, deteksi video, dan pelacakan objek yang dapat dipanggil tanpa akses internet. ImageAI menggunakan model yang telah dilatih sebelumnya dan dapat dengan mudah disesuaikan.

Kelas ObjectDetection dari pustaka ImageAI berisi fungsi untuk melakukan deteksi objek pada gambar atau kumpulan gambar apa pun, menggunakan model terlatih. Dengan ImageAI, Anda dapat mendeteksi dan mengenali 80 jenis objek umum sehari-hari.

1. Menyiapkan environment
TensorFlow

In [ ]: pip install tensorflow==2.4.0

OpenCV

In [ ]: pip install opencv-python

Keras

In [ ]: pip install keras

ImageAI

In [ ]: pip install imageAI

Trained Model

Sekarang unduh file model TinyYOLOv3 (https://gitlab.com/andreass.bayu/imageai-repo/-/releases/1.0) yang berisi model klasifikasi yang akan digunakan untuk deteksi objek.

2. Import Package
Impor kelas ObjectDetection dari library ImageAI.

In [1]: from imageai.Detection import ObjectDetection

3. Buat instance dari class ObjectDetection


Sekarang Anda telah mengimpor pustaka imageAI dan kelas ObjectDetection , hal berikutnya adalah membuat instance kelas ObjectDetection , seperti yang ditunjukkan di sini:

In [2]: detector = ObjectDetection()

4. Membuat spesifikasi lokasi gambar dan model


Mari tentukan path atau lokasi dari gambar masukan, gambar keluaran, dan model kita.

In [3]: model_path = "yolo-tiny.h5"


input_path = "image-1.jpeg"
output_path = "newimage.jpg"

5. Pilih fungsi deteksi objek


Setelah membuat instance kelas ObjectDetection, sekarang kita dapat memanggil berbagai fungsi dari kelas ObjectDetection yang berisi fungsi berikut untuk memanggil model terlatih: setModelTypeAsRetinaNet() , setModelTypeAsYOLOv3() , dan setModelTypeAsTinyYOLOv3() .

In [4]: detector.setModelTypeAsTinyYOLOv3()

6. setModelPath()
Selanjutnya, kita akan memanggil fungsi setModelPath () . Fungsi ini menerima string yang berisi path atau lokasi ke model terlatih:

In [5]: detector.setModelPath(model_path)

7. Load Model
Langkah ini memanggil fungsi loadModel() dari instance detektor yang memuat model dari lokasi yang ditentukan di atas menggunakan metode kelas setModelPath() .

In [6]: detector.loadModel()

8. Deteksi Image
Untuk mendeteksi objek dalam gambar, kita perlu memanggil fungsi detectObjectsFromImage menggunakan objek detektor yang kita buat di bagian sebelumnya.

Fungsi ini membutuhkan dua argumen: input_image dan output_image_path . input_image adalah lokasi tempat gambar yang kita deteksi berada, sedangkan parameter output_image_path adalah lokasi untuk menyimpan gambar dengan objek yang terdeteksi. Fungsi ini mengembalikan dictionary (array) yang berisi nama dan persentase probabilitas dari semua objek yang terdeteksi dalam gambar.

In [7]: detection = detector.detectObjectsFromImage(input_image=input_path, output_image_path=output_path)

9. Cek Output
Dictionary (array) dapat diakses dengan menelusuri setiap item dalam data tersebut.

In [8]: for eachItem in detection:


print(eachItem["name"] , " : ", eachItem["percentage_probability"])

person : 72.82338738441467
person : 68.93472671508789
person : 62.875401973724365
person : 60.45691967010498
person : 63.08807730674744
person : 71.54139876365662

10. Liat Hasilnya

In [9]: from IPython.display import Image


Image(filename='newimage.jpg')

Out[9]:

https://hypercomputation-hub.gunadarma.ac.id/fti/user/36418642/notebooks/Materi-5/Image detection.ipynb 1/1

Anda mungkin juga menyukai