Menjangkar RCNN Lebih Cepat

10

Dalam makalah RCNN Lebih Cepat ketika berbicara tentang penahan, apa artinya dengan menggunakan "piramida kotak referensi" dan bagaimana hal ini dilakukan? Apakah ini hanya berarti bahwa pada setiap titik jangkar W * H * k dihasilkan kotak pembatas?

Di mana W = lebar, H = tinggi, dan k = jumlah rasio aspek * skala num

tautan ke kertas: https://arxiv.org/abs/1506.01497

Program Buruk
sumber
Ini pertanyaan yang sangat bagus.
Michael R. Chernick

Jawaban:

10

Jangkar Dijelaskan

Jangkar

(HfeaturemapWfeaturemap)(k)dari mereka, tetapi mereka sesuai dengan gambar. Untuk setiap jangkar maka RPN memprediksi kemungkinan berisi objek secara umum dan empat koordinat koreksi untuk memindahkan dan mengubah ukuran jangkar ke posisi yang tepat. Tetapi bagaimana geometri jangkar harus melakukan apa pun dengan RPN?

Jangkar Sebenarnya Muncul di fungsi Kehilangan

Saat melatih RPN, pertama label kelas biner ditugaskan untuk setiap jangkar. Jangkar dengan Persimpangan-over-Union ( IoU ) tumpang tindih dengan kotak ground-kebenaran, lebih tinggi dari ambang tertentu, diberi label positif (demikian juga jangkar dengan IoU kurang dari ambang yang diberikan akan diberi label Negatif). Label-label ini selanjutnya digunakan untuk menghitung fungsi kerugian:

Fungsi Kehilangan RPN

ppt

masukkan deskripsi gambar di sini

x,y,w,x,xa,xy,w,h

Juga perhatikan jangkar tanpa label tidak diklasifikasikan atau dibentuk kembali dan RPM hanya membuangnya dari perhitungan. Setelah pekerjaan RPN selesai, dan proposal dihasilkan, sisanya sangat mirip dengan Fast R-CNNs.

Mahan Fathi
sumber
@Fathi Bagaimana kalau kita punya banyak kelas? Sejauh yang saya tahu, di Fast R-CNN setiap pelatihan RoI diberikan satu kelas kebenaran dasar. Jadi, saya kira hal serupa terjadi di sini?
thanasissdr
@Fathi Saya sepenuhnya setuju dengan apa yang Anda katakan, jadi saya kira Anda setuju dengan saya. Maksud saya penulis makalah asli untuk Faster R-CNN hanya menggunakan dua kelas (latar belakang / objek) untuk kesederhanaan, mencoba menjelaskan cara kerja RPN, kan? Jadi, alih-alih hanya memiliki dua kelas, saya bisa memiliki lebih dari dua kelas dan saya kira saya bisa menggunakan fungsi cross entropy loss yang dikenal, bukan?
thanasissdr
@thanasissdr Gagasan mendasar di balik Faster R-CNN adalah bahwa "ketika jaring saraf sangat bagus dalam hal lain, mengapa tidak menggunakannya untuk proposal wilayah juga?". Membandingkan Fast R-CNN dengan standar R-CNN, satu-satunya perbedaan adalah bahwa proposal RoI - yang lagi-lagi dibuat menggunakan teknik lama yang sama, misalnya SelectiveSearch atau EdgeBoxes - dipetakan dari gambar mentah ke fitur konvolusional, dan kemudian diumpankan ke FC. Dengan cara ini proses forward pass dari setiap RoI melalui CNN dihilangkan.
Mahan Fathi
Dalam R-CNN Lebih Cepat, RPN belajar untuk mengusulkan daerah yang tepat. Setelah RPN selesai, sisanya mirip dengan Fast R-CNN, dan FC mengklasifikasikan dan mundur proposal.
Mahan Fathi
@thanasissdr Ya. Kami berada di halaman yang sama. Saya kira Anda dapat mengklasifikasikan dalam RPN, tetapi itu tidak perlu karena jaring FC melakukan klasifikasi lagi, dan tidak mengalami kesulitan menolak proposal sampah. Pikirkan juga pipeline, bagaimana Anda akan menggunakan skor klasifikasi, dan bagaimana mereka akan membantu? Stand terakhir saya adalah, klasifikasi (latar belakang / objek) adalah landasan dalam Faster R-CNN.
Mahan Fathi
1

Saya membaca makalah ini kemarin dan, pada pandangan pertama, itu membingungkan saya juga. Setelah membaca ulang saya sampai pada kesimpulan ini:

  • Lapisan terakhir dari jaringan asli (ZF atau VGG-16) berfungsi sebagai input untuk Jaringan Proposal Wilayah dan penyatuan RoI. Dalam kasus VGG-16, lapisan konv terakhir ini adalah a 7x7x512 (HxWxD).
  • Lapisan ini dipetakan ke lapisan 512 dimensi dengan 3x3lapisan konv. Ukuran output adalah 7x7x512(jika bantalan digunakan).
  • Lapisan ini dipetakan ke lapisan 7x7x(2k+4k)(misalnya 7x7x54) dengan 1x1lapisan konv untuk masing-masing kkotak jangkar.

Sekarang menurut Gambar 1 di kertas Anda dapat memiliki piramida gambar input (gambar yang sama dengan skala yang berbeda), piramida filter (filter skala berbeda, di lapisan yang sama) atau piramida kotak referensi. Yang terakhir mengacu pada kkotak jangkar di lapisan terakhir dari jaringan proposal wilayah. Alih-alih filter dengan ukuran berbeda yang ditumpuk di atas satu sama lain (casing tengah), filter dengan ukuran dan rasio aspek berbeda ditumpuk di atas satu sama lain.

Singkatnya, untuk setiap titik jangkar ( HxW, misalnya 7x7) digunakan piramida kotak referensi ( k, misalnya 9).

Pieter
sumber
tapi apa sebenarnya kotak jangkar? Apakah tujuan dari setiap kotak jangkar: digunakan sebagai input ke RPN untuk memprediksi delta dalam lebar dan tinggi kotak jangkar untuk setiap kotak jangkar yang dianggap sebagai bagian dari latar depan?
BadProgrammer
RPN memprediksi pergeseran delta dari lokasi foreground dan skor objectness. Yang terakhir mencoba untuk secara eksplisit memprediksi apakah itu latar belakang atau latar depan (juga lihat catatan kaki 3).
Pieter
Bisakah Anda menjelaskan bagaimana 3x3lapisan konv diterjemahkan 7x7? Dalam prototxt, dikatakan padding adalah 1 pada layer VGG16 terakhir.
Klik