Jaringan Syaraf Tiruan Berbasis Wilayah
Jaringan Syaraf Tiruan Berbasis Wilayah (bahasa Inggris: Region-based Convolutional Neural Networks) adalah keluarga model pembelajaran mesin untuk visi komputer dan khususnya deteksi objek
Sejarah
The original goal of R-CNN was to take an input image and produce a set of bounding boxes as output, where each bounding box contains an object and also the category (e.g. car or pedestrian) of the object. More recently, R-CNN has been extended to perform other computer vision tasks. The following covers some of the versions of R-CNN that have been developed.
- November 2013: R-CNN. Given an input image, R-CNN begins by applying a mechanism called Selective Search to extract regions of interest (ROI), where each ROI is a rectangle that may represent the boundary of an object in image. Depending on the scenario, there may be as many as two thousand ROIs. After that, each ROI is fed through a neural network to produce output features. For each ROI's output features, a collection of support-vector machine classifiers is used to determine what type of object (if any) is contained within the ROI.[1]
- April 2015: Fast R-CNN. While the original R-CNN independently computed the neural network features on each of as many as two thousand regions of interest, Fast R-CNN runs the neural network once on the whole image. At the end of the network is a novel method called ROIPooling, which slices out each ROI from the network's output tensor, reshapes it, and classifies it. As in the original R-CNN, the Fast R-CNN uses Selective Search to generate its region proposals.[2]
- June 2015: Faster R-CNN. While Fast R-CNN used Selective Search to generate ROIs, Faster R-CNN integrates the ROI generation into the neural network itself.[2]
- March 2017: Mask R-CNN. While previous versions of R-CNN focused on object detection, Mask R-CNN adds instance segmentation. Mask R-CNN also replaced ROIPooling with a new method called ROIAlign, which can represent fractions of a pixel.[3][4]
- June 2019: Mesh R-CNN adds the ability to generate a 3D mesh from a 2D image.[5]
Apa itu Backbone?
Backbone adalah jaringan saraf konvolusional standar (biasanya ResNet50 atau ResNet101) yang berfungsi sebagai ekstraktor fitur. Lapisan awal mendeteksi fitur rendah (seperti tepi dan sudut), sedangkan lapisan kemudian mendeteksi fitur tingkat tinggi (seperti mobil, orang, langit).
Melalui jaringan backbone, gambar diubah dari 1024x1024px x 3 (RGB) menjadi peta fitur berbentuk 32x32x2048. Peta fitur ini menjadi input untuk tahapan-tahapan berikutnya.
Meskipun backbone yang dijelaskan di atas sudah bagus, masih dapat ditingkatkan. Feature Pyramid Network (FPN) diperkenalkan oleh penulis yang sama dari Mask R-CNN sebagai ekstensi yang dapat lebih baik merepresentasikan objek pada berbagai skala.
FPN meningkatkan piramida ekstraksi fitur standar dengan menambahkan piramida kedua yang mengambil fitur tingkat tinggi dari piramida pertama dan meneruskannya ke lapisan lebih rendah. Dengan melakukan hal tersebut, ini memungkinkan fitur pada setiap tingkat memiliki akses baik ke fitur tingkat rendah maupun tingkat tinggi.
Tahap Dalam Mask R-CNN:
Tahap Pertama: Sebuah jaringan saraf ringan yang disebut sebagai region proposal network (RPN) [6]memindai semua FPN dari atas ke bawah dan mengusulkan wilayah yang mungkin berisi objek. Meskipun memindai peta fitur adalah cara yang efisien, diperlukan metode untuk mengaitkan fitur dengan lokasi gambar mentahnya. Solusinya disebut anchors. Anchors adalah set kotak dengan lokasi dan skala yang telah ditentukan relatif terhadap gambar. Kelas ground-truth (hanya objek atau latar belakang yang diklasifikasikan biner pada tahap ini) dan bounding boxes ditetapkan untuk setiap anchor. Karena anchors dengan skala yang berbeda terikat pada tingkat yang berbeda pada peta fitur, RPN menggunakan anchors ini untuk menentukan di mana peta fitur 'seharusnya' mendapatkan objek dan ukuran bounding box-nya.
Tahap Kedua: Prosedurnya mirip dengan RPN, satu-satunya perbedaan adalah bahwa tanpa bantuan anchors, tahap ini menggunakan trik yang disebut ROIAlign untuk menemukan area yang relevan dalam peta fitur, dan ada sebuah cabang yang menghasilkan masker untuk setiap objek pada tingkat piksel. ROIAlign, di mana mereka melakukan sampling pada peta fitur di titik-titik yang berbeda dan menerapkan interpolasi bilinear.
Hal yang paling menarik yang saya temukan tentang Mask R-CNN adalah kita sebenarnya dapat memaksa lapisan-lapisan berbeda dalam jaringan saraf untuk mempelajari fitur dengan skala yang berbeda, sama seperti anchors dan ROIAlign, alih-alih memperlakukan lapisan sebagai kotak hitam.
- ^ Gandhi, Rohith (July 9, 2018). "R-CNN, Fast R-CNN, Faster R-CNN, YOLO — Object Detection Algorithms". Towards Data Science. Diakses tanggal March 12, 2020.
- ^ a b Bhatia, Richa (September 10, 2018). "What is region of interest pooling?". Analytics India. Diakses tanggal March 12, 2020.
- ^ Farooq, Umer (February 15, 2018). "From R-CNN to Mask R-CNN". Medium. Diakses tanggal March 12, 2020.
- ^ Weng, Lilian (December 31, 2017). "Object Detection for Dummies Part 3: R-CNN Family". Lil'Log. Diakses tanggal March 12, 2020.
- ^ Wiggers, Kyle (October 29, 2019). "Facebook highlights AI that converts 2D objects into 3D shapes". VentureBeat. Diakses tanggal March 12, 2020.
- ^ Vandy, Ahmad Misry Ar Razy (2021-01-01). "Implementasi Mask R-CNN Dan CNN Untuk Identifikasi Merek Mobil Berdasarkan Citra". Institut Teknologi Telkom Purwokerto.