Обяснено откриване на обект: Бърз R-CNN

Откриването на обект се състои от две отделни задачи, които са класификация и локализация. R-CNN означава регионално базирана конволюционна невронна мрежа. Ключовата концепция зад поредицата на R-CNN са предложенията за региони. Предложенията за регион се използват за локализиране на обекти в изображение. В следващите блогове реших да пиша за различни подходи и архитектури, използвани в Object Detection. В тази статия най-накрая представям Faster R-CNN, като накратко споменавам разликите му от R-CNN.

Предишен:

R-CNN:



Проблеми с RCNN

Проблемът с представения по-рано RCNN беше неговата изчислителна цена. Доколкото си спомняме, ние получаваме нашия регион от предложения чрез алгоритъм, като например селективно търсене, след което трябва да преоразмерим всичко и да преминем през мрежа. Така че преоразмеряването и предаването на всяка отделна култура е тясно място на RCNN.

Работни детайли

Една бърза R-CNN мрежа приема като вход цяло изображение и набор от предложения за обекти. Все пак трябва да прекараме изображение през нашия алгоритъм; Слоят за обединяване на ROI е въведен за преодоляване на посочения по-горе проблем.

Първо, получаваме прозорци за ROI, като мащабираме нашите предложения, така че да съответства на размера на картата на характеристиките. За да направим това, трябва просто да умножим оригиналните стойности по размера на картата на характеристиките / оригиналния размер. Например, представете си, че размерът на изображението е 1056x640 и размерът на картата на функциите е намален до 66x40. В този случай можем да умножим всички измерения на предложението по 1/16 (66/1056=1/16 или 40/640=1/16). Така че пространственият мащаб ще бъде 1/16 в този случай.

И така, максималното обединяване на ROI разделя h × w ROI прозорците на H × W (напр. 7 x 7) мрежа от подпрозорци, всеки от които има размер приблизително h/H × w/W. Накрая се извършва максимално обединяване, за да се получат максималните стойности на всеки подпрозорец. Обединяването се прилага независимо към всеки канал на картата на характеристиките, както при стандартното максимално обединяване.

Докато изрязваме ROI от нашата карта на характеристиките, ние ги предаваме през нашата мрежа, за да предвидим нашите класове и да коригираме прогнозираните ограничителни полета.

Положителни срещу отрицателни примери

След като извлечем нашето предложение за регион, ние също трябва да ги етикетираме за обучение. Следователно авторите обозначават всички предложения, които имат IOU от поне 0,5, с което и да е от граничните полета за основна истина със съответните им класове. Въпреки това всички други предложения за региони, които имат IOU по-малко от 0,3, са етикетирани като фон. Така останалите просто се игнорират.

Регресия на ограничителна кутия

Изображението по-горе показва делти, които трябва да бъдат предвидени от CNN. И така, x, y са координати на центъра. докато w, h са съответно ширина и височина. И накрая, G и P означават респективно ограничителна кутия и предложение за регион. Важно е да се отбележи, че загубата на ограничителна кутия се изчислява само за положителни проби.

Загуба на много задачи

Както може да се види, регресионната загуба се изчислява само за положителни проби. Загубата на локализация, въведена в статията, е гладка загуба на L1, която изглежда по следния начин:

където x е сбор от разликите между стойностите на основната истина на {x, y, w, h} и тези на нашите прогнозирани стойности.

Класификационната загуба обаче е добре известна загуба на кръстосана ентропия.

Някои последни думи

Както може да се види, Fast RCNN преодолява някои проблеми, свързани с RCNN. Има обаче още няколко недостатъка, поради които не се използва повече. Най-големият недостатък все още е алгоритъмът за селективно търсене, използван за извличане на предложения. Като се има предвид, че алгоритъмът се изпълнява на процесора, времето за извод става бавно. Затова ще пиша за други алгоритми, които бяха въведени за преодоляване на тези проблеми, като Faster RCNN.

Оригинален документ: Fast R-CNN