disusun oleh
Gambar 3. Kiri: gambar asli. Kanan: 4 prediksi di setiap sel (Hui, 2018).
Setiap prediksi terdiri dari sebuah boundary box dan 21 skor untuk setiap kelas
(satu kelas tambahan tanpa objek), dan memilih skor tertinggi sebagai kelas untuk
objek terikat. SSD mengambil kelas "0" untuk mengindikasikan tidak ada objek.
Convolutional predictors/ Prediktor konvolusional untuk deteksi objek.
SSD tidak menggunakan jaringan proposal wilayah. Sebagai gantinya, SSD
menggunakan metode yang sangat sederhana yang dapat menghitung skor lokasi dan
kelas menggunakan small convolution filters. Misalnya, dalam Conv4_3, menerapkan
empat filter 3×3 untuk memetakan 512 saluran input ke 25 saluran output.
Gambar 4. penerapan empat filter 3x3 untuk memetakan 512 saluran input ke 25
saluran output (Hui, 2018).
Multi-scale Feature Maps untuk deteksi objek.
Sebenarnya SSD menggunakan banyak lapisan (Multi-scale feature maps) untuk
mendeteksi objek. Karena CNN mengurangi dimensi spasial secara bertahap, resolusi
feature maps juga akan berkurang. SSD menggunakan lapisan resolusi lebih rendah
untuk mendeteksi objek skala yang lebih besar. Misalnya, feature maps 4×4
digunakan untuk objek berskala lebih besar dapat dilihat pada gambar berikut :
Gambar 5. Feature maps resolusi lebih rendah (sebelah kanan) mendeteksi objek
dengan skala lebih besar (Hui, 2018).
SSD menambahkan 6 lapisan konvolusi tambahan setelah VGG16. Lima di antaranya
ditambahkan untuk deteksi objek. Secara total, SSD membuat 8732 prediksi
menggunakan 6 lapisan.
Gambar 8. Jika prediksi acak, model tidak akan tampil (Hui, 2018).
Jika prediksi mencakup lebih banyak bentuk, seperti gambar 9 di bawah ini,
model dapat mendeteksi lebih banyak jenis objek. Bentuk seperti ini membuat
pelatihan jauh lebih mudah dan lebih stabil.
Gambar 9. Prediksi yang beragam mencakup lebih banyak jenis objek (Hui, 2018).
Boundary box tidak memiliki bentuk dan ukuran yang berubah-ubah. Secara
konseptual, boundary box dapat dibagi menjadi kelompok dengan masing-masing
kelompok yang diwakili oleh default boundary box (pusat dari kelompok). SSD juga
menyimpan default boxes ke minimum (4 atau 6) dengan satu prediksi per default
boxes untuk setiap lapisan feature maps, SSD berbagi set default boxes yang sama
yang berpusat di lokasi yang sesuai. Tetapi lapisan yang berbeda menggunakan set
default boxes yang berbeda untuk menyesuaikan deteksi objek pada resolusi yang
berbeda. 4 kotak hijau di bawah ini menggambarkan 4 default boxes.
Gambar 10. 4 kotak hijau sebagai 4 default boxes (Hui, 2018).
Memilih Default Boundary Box
Default boxes dipilih secara manual. SSD mendefinisikan nilai skala untuk
setiap lapisan feature maps. Mulai dari kiri, Conv4_3 mendeteksi objek pada skala
terkecil 0,2 (atau kadang-kadang 0,1) dan kemudian meningkat secara linear ke
lapisan paling kanan pada skala 0,9. Menggabungkan nilai skala dengan rasio aspek
target. Untuk layer yang membuat 6 prediksi, SSD dimulai dengan 5 rasio aspek
target: 1, 2, 3, 1/2 dan 1/3. Kemudian lebar dan tinggi defaul boxes dapat dihitung
dengan :
w=scale . √aspect ratio
scale
h=
√ aspect ratio
kemudian SSD menambahkan default boxes ekstra dengan skala:
scale= √ scale . scale at next level
Matching Strategy
Prediksi SSD diklasifikasikan sebagai kecocokan positif atau kecocokan
negatif. SSD hanya menggunakan kecocokan positif dalam menghitung biaya
lokalisasi (ketidakcocokan default boxes). Jika default boxes yang sesuai (bukan kotak
batas yang diprediksi) memiliki IoU lebih besar dari 0,5 dengan ground truth,
kecocokannya positif. Kalau tidak, itu negatif. ( IoU, persimpangan atas persatuan,
adalah rasio antara area berpotongan di atas area yang bergabung untuk dua wilayah).
Strategi pencocokan ini mendorong setiap prediksi untuk memprediksi bentuk lebih
dekat ke default boxes yang sesuai. Oleh karena itu prediksi yang lebih beragam dan
lebih stabil dalam pelatihan.
Multi-Scale Feature Maps & Default Boundary Boxes
Berikut adalah contoh bagaimana SSD menggabungkan multi-scale feature
maps dan default boundary boxes untuk mendeteksi objek pada skala yang berbeda.
Anjing di bawah ini diberikan dengan satu kotak default (merah) di lapisan feature
maps 4 × 4, tetapi tidak ada kotak default di feature maps resolusi 8 × 8 yang lebih
tinggi. Kucing yang lebih kecil hanya terdeteksi oleh lapisan feature maps 8 × 8
dalam 2 kotak default (berwarna biru).
Gambar 11. Penggabungan multi-scale feature maps dan default boundary boxes
untuk mendeteksi objek pada skala yang berbeda (Hui, 2018).
Feature maps yang mempunyai resolusi lebih tinggi digunakan untuk
mendeteksi objek kecil. Lapisan pertama untuk deteksi objek conv4_3 memiliki
dimensi spasial 38×38, pengurangan yang cukup besar dari gambar input. Karena,
SSD biasanya berkinerja buruk untuk objek kecil dibandingkan dengan metode
deteksi lainnya. Jika ada masalah, dapat diatasi dengan menggunakan gambar dengan
resolusi lebih tinggi.
Loss Function
Localization loss adalah ketidaksesuaian antara ground truth box dan predicted
boundary box. SSD hanya meprediksi dari kecocokan positif. Pencocokan negatif
dapat diabaikan. Confidence loss adalah hilangnya dalam membuat prediksi kelas.
Untuk setiap prediksi positif (Hui, 2018).
Secara umum metode Single Shot Detector (SSD) mempunyai satu rumus
sederhana dalam menentukan default boxes dan scale default boxes, dengan N
merupakan jumlah default boxes, Lconf = loss classification, Lloc = loss localization, L
= prediction box dan g = truth ground box, untuk menentukan default box bisa dilihat
pada rumus no 1:
1
L ( x , c ,l , g )= ( L ( x ,c ) +∝ Lloc ( x ,l , g ) )
N conf
Rumus Default Boxes (No 1)
Sedangkan untuk menentukan scale default boxes bisa dilihat pada Rumus no 2:
S max−S min
Sk =S min ( k−1 ) , k ∈ [ 1 , m ]
m−1
Rumus Scale default boxes (No 2)
Dengan Smin adalah lapisan skala terendah, Smax lapisan skala tertinggi dan Sk adalah
input pixels. (Sukusvieri, 2020).
9. Metode Penelitian
9.1 Jenis Penelitian
Jenis penelitian yang dilakukan adalah penelitian terapan (applied research).
Menurut Jujun S. Sumantri, 1985 Penelitian terapan merupakan penelitian yang
dilakukan dengan tujuan menerapkan, menguji dan mengevaluasi kemampuan suatu
teori yang diterapkan dalam memecahkan masalah-masalah praktis (Admin, 2012).
Penelitian ini bertujuan untuk menerapkan metode Single Shot Detector (SSD) untuk
melakukan identifikasi ikan laut hasil tangkapan secara real-time untuk mendapatkan
nilai akurasi dari model arsitektur yang digunakan.
9.2 Sarana Pendukung
Dalam penelitian ini, pada pembuatan sistem diperlukan sarana pendukung yang
berupa beberapa perangkat lunak dan perangkat keras yang membantu dalam
menyelesaikan sistem. Berikut ini merupakan perangkat lunak dan perangkat keras
yang menjadi sarana pendukung dalam penelitian.
9.2.1 Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian guna untuk mendukung
pembuatan sistemadalah :
1. Sistem Operasi Windows 7 Professional 64-bit
2. Jupyter Notebook (Python 3.7)
3. Microsoft Office 2010
4. Tensorflow 1.15
5. Google Chrome 64-bit (Browser)
6. Balsamiq MockUps
9.2.2 Perangkat Keras
Perangkat keras yang mendukung pembuatan aplikasi pada penelitian ini adalah :
1. Laptop Fujitsu, Intel® Core™ i5-3320M CPU @ 2.60GHz
2. RAM 4 GB
3. Mouse
4. Printer
5. Kamera handphone
9.3 Metode Pengumpulan Data
Metode pengumpulan data berdasarkan jenis datanya, data yang dikumpulkan
dalam penelitian ini adalah sebagai berikut:
1. Data Primer
Data primer adalah data yang diambil langsung dari obyek penelitian atau
merupakan data yang berasal dari sumber asli atau pertama. Teknik
pengumpulan data primer dilakukan melalui teknik observasi dengan cara
mengumpulkan informasi-informasi langsung ke lokasi penelitian. Penelitian ini
melakukan pengambilan foto/gambar dari ikan laut hasil tangkapan nelayan.
2. Data Sekunder
Data sekunder adalah data yang tidak didapatkan secara langsung dari
objek penelitian, melainkan data yang berasal dari sumber yang telah
dikumpulkan oleh pihak lain. Teknik pengumpulan data sekunder dilakukan
dengan cara studi dokumentasi dan studi literatur.
9.6 Metode Pengembangan Sistem
Metode pengembangan untuk penelitian ini adalah metode air terjun (waterfall).
Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial
atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung
(Rosa & Shalahuddin, 2018).
a. Analisis Kebutuhan
Tahap ini merupakan tahap yang menjadi kebutuhan sistem dengan batasan
serta fungsi-fungsi yang dibutuhkan oleh sistem. Tujuan tahap ini adalah untuk
dapat memahami perangkat lunak seperti apa yang dibutuhkan untuk mencapai
tujuan secara optimal. Adapun analisis kebutuhan aplikasi yang akan dibuat
adalah, sebagai berikut:
1. Kebutuhan Data Masukan
Data Masukan yang dibutuhkan pada aplikasi ini adalah berupa
gambar/foto dari ikan laut hasil tangkapan nelayan.
2. Kebutuhan Data Keluaran
Data keluaran pada aplikasi ini adalah hasil identifikasi objek ikan secara
real-time.
b. Desain
Desain perangkat lunak adalah proses multi langkah yang ada pada desain
pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat
lunak, representasi antaramuka dan prosedur pengkodean. Tahap ini mentranslasi
kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain
agar dapat diterapkan menjadi program pada tahap selanjutnya. Flowchart atau
diagram alir dari sistem yang akan dibuat adalah sebagai berikut.
Mulai
Mengumpulkan ±
1000 gambar ikan
Melakukan anotasi
dengan label img
Training data
dengan model
SSD
Selesai
Bulan
No Kegiatan Juni Juli Agust Sept Okt
2020 2020 2020 2020 2020
1 Studi Kepustakaan
2 Penerimaan Proposal Skripsi
3 Pengumpulan dan Analisis Data
4 Pembuatan Aplikasi/Program
5 Pengujian Aplikasi/Program
6 Penyelesaian Laporan Akhir
DAFTAR PUSTAKA
Admin. (2012, Januari 4). idtesis.com/jenis-jenis-penelitian. Dipetik Juli 18, 2020, dari Jenis-
Jenis Penelitian: https://idtesis.com/jenis-jenis-penelitian
Anonim. (2012). Sumber Daya Alam Provinsi Bengkulu. Dipetik Juli 16, 2020, dari Aren
Indonesia: https://arenindonesia.wordpress.com/sentra-aren/bengkulu/
Anonim. (2020, Juli 7). https://id.wikipedia.org/wiki/Ikan. Dipetik Juli 14, 2020, dari
Wikipedia Ensiklopedia Bebas: https://id.wikipedia.org/wiki/Ikan
Beale, M. H., Hagan, M. T., & Demuth, H. B. (2017). Neural Network Toolbox TM
MATLAB User †TM.
Chang, J., & Park, E. (2017). A Method forClassifying Medical Images using Transfer
Learning : A Pilot Study on Histopathology of Breast Cancer.
Chen, G., Sun, P., & Shang, Y. (2017). Automatic Fish Classification System Using Deep
Learning. IEEE Computer Society, 24.
Gonzalez, R. C., & Woods, R. E. (2002). Digital Image Processing (2nd ed.). Prentice Hall.
Hui, J. (2018, Maret 14). SSD object detection: Single Shot MultiBox Detector for real-time
processing. Dipetik Juli 21, 2020, dari medium.com/@jonathan_hui:
https://medium.com/@jonathan_hui/ssd-object-detection-single-shot-multibox-
detector-for-real-time-processing-9bd8deac0e06
Keshk, H. M., & Yin, X. C. (2017). Satellite Super-Resolution Images Depending on Deep
Learning Methods: A Comparative Study. IEEE, 1 & 7.
Le, H. T., Urruty, T., Beurton-aimar, M., Nghiem, T. P., Tran, H. T., Verset, R., et al. (2018).
Study of CNN Based Classification for Small Specific Datasets.
Lecun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 436-444.
Lecun, Y., Bottou, L., & Bengio, Y. (1990). Gradient-based learning applied to document
recognition.
Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C. Y., & Berg, A. C. (2016). SSD:
Single shot multibox detector. Lecture Notes in Computer Science (Including Subseries
Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9905 LNCS,
21–37. https://doi.org/10.1007/978-3-319-46448-0_2
Mutmainah, I. (2019, Juni 2). Mengenal Convolutional Neural Network (CNN) Pada
Program R. Dipetik Juli 25, 2020, dari medium.com/@16611092/:
https://medium.com/@16611092/mengenal-convolutional-neural-network-cnn-pada-
program-r-9eebe14b8674
Ogunlana, S., Olabode, O., Oluwadare, S. A., & Iwasokun, G. B. (2015, Juni). Fish
Classification Using Support Vector Machine. African Journal of Computing & ICT,
8(2), 75&81.
Park, J. H., Hwang, K. B., Park, H. M., & Choi, Y. K. (2019, Januari). Application of CNN
for Fish Species Classification. Journal of the Korea Institute of Information and
Communication Engineering, 23(1), 39.
Putra, I. W., Wijaya, A. Y., & Soelaiman, R. (2016). Klasifikasi Citra Menggunakan
Convolutional Neural Network (CNN) pada Caltech 101. JURNAL TEKNIK ITS, 7-8.
Rosa, A., & Shalahuddin, M. (2018). Rekayasa Perangkat Lunak Edisi Revisi. Bandung:
Informatika.
Sena, S. (2017, November 13). Pengenalan Deep Learning Part 7 : Convolutional Neural
Network (CNN). Dipetik Juli 10, 2020, dari Medium:
https://medium.com/@samuelsena/pengenalan-deep-learning-part-7-convolutional-
neural-network-cnn-b003b477dc94
Sofia, N. (2018, Juni 19). Convolutional Neural Network. Dipetik Juli 18, 2020, dari
medium.com/@nadhifasofia: https://medium.com/@nadhifasofia/1-convolutional-
neural-network-convolutional-neural-network-merupakan-salah-satu-metode-
machine-28189e17335b
Sugiyono. (2014). Metode Penelitian Kuantitatif, Kualitatif, dan R&D. Bandung: Alfabeta.
Sukusvieri, A. (2020). Implementasi Metode Single Shot Detector (SSD) untuk Pengenalan
Wajah. Tugas Akhir, 9-13.
Tung, C., Hsieh, C. L., & Kuo, Y. F. (2017). Sea fish identification using convolutional
neural network. ASABE Annual International Meeting, 4.
Vazhayil, A., R, V., & KP, S. (2018, Juli). Comparative Study Of The Detection Of
Malicious URLs Using Shallow and Deep Networks. ICCCNT, 5-6.