Откриването на обекти е една от най-модерните технологии в момента в областта на компютърното зрение. Изследванията се извършват с наистина бързи темпове в тази област и резултатите са просто изумителни.

Но какво точно е откриването на обект? Откриването на обекти се занимава с идентифициране и локализиране на обекти от определени класове с ограничаващи полета от даден вход (изображение или видео).

Някои от най-успешните алгоритми за откриване на обекти към тази дата са следните:

1. Регионално базирани CNN: RCNN, Бърз RCNN, По-бърз RCNN

2. ЙОЛО

3. SSD

(В тази статия ще разгледаме RCNN и поредица от подобрения, направени в него, т.е. Fast R-CNN и Faster R-CNN)

Аз. Региони със CNN (R-CNN):

Този алгоритъм включва намиране на конкретни региони в изображение, които е вероятно да съдържат обекти (използвайки селективно търсене) и препращането им през CNN за извличане на функции. По-късно извлечените характеристики се използват за предсказване на класа и ограничителната кутия около тях.

По принцип RCNN включва следните стъпки:

1. Около 2000 предложения за региони отдолу нагоре се извличат от входно изображение.

2. Независимо от размера или съотношението на страните на кандидатския регион, ние изкривяваме всички пиксели в тясно ограничаващо поле около него до необходимия размер. За всяко предложение той изчислява функции, използвайки голям CNN.

3. Той класифицира всеки регион с помощта на специфични за класа линейни SVM.

4. Алгоритъмът също така предвижда четири стойности, които са стойности на отместване, за да се увеличи прецизността на ограничителната кутия.

Недостатъци:

1. Обучението е бавно: Около 2000 предложения за регион трябва да бъдат класифицирани на изображение, което отнема огромно време.

2. Изводът е бавен: Отнема около 47 s/на изображение с VGG16. Откриването в реално време не е възможно.

II. Бърз R-CNN:

Fast R-CNN е импровизиран наследник на алгоритъма R-CNN. Той включва няколко промени, които го правят по-бърз и по-точен в сравнение с обсъждания по-рано R-CNN.

Основният проблем с R-CNN беше, че изпълнява CNN пропуск за всяко предложение за регион, без да споделя изчисления. Бързият R-CNN подобрява R-CNN, като препраща цялото изображение през CNN.

Тя включва следните стъпки:

1. Цялото изображение се предава напред през CNN, за да се генерира конволюционна карта на характеристиките.

2. Регионът на интерес се идентифицира от картата на конволюционните характеристики и върху тях се прилага Слой за обединяване на ROI, за да се преоформят всички до един и същ размер. След това всяко предложение се предава на напълно свързан слой.

3. Слоят Softmax и слоят с линейна регресия след това се използват паралелно за извеждане на класовете и ограничаващите кутии.

Недостатъци:

Въпреки че Fast R-CNN е подобрение спрямо R-CNN по отношение на скорост и точност, той все още използва селективно търсене за предложение за регион, което всъщност отнема много време процес.

III. По-бърз R-CNN:

Faster R-CNN е по-нататъшен напредък спрямо Fast R-CNN. Основната разлика между Fast R-CNN и Faster R-CNN е фактът, че той използва мрежата за регионални предложения (RPN) за генериране на региони от интерес.

Следват стъпките, включени в Faster R-CNN:

1. Цялото изображение се предава през CNN, за да се генерира карта на конволюционни характеристики (точно както направихме в случай на Fast R-CNN).

2. Регионите на интерес се идентифицират чрез прилагане на мрежа за предложения за региони (RPN) върху тези карти на характеристиките, които връщат предложенията за обекти с техния резултат за обектност.

3. Слоят за обединяване на ROI се прилага върху тях, за да ги доведе до същия размер и след това предложенията се предават на напълно свързан слой.

4. Слоят Softmax и слоят с линейна регресия се прилагат отгоре му, за да се класифицират и изведат ограничителните кутии.

По-бързият R-CNN е най-добрият сред алгоритмите за откриване на обекти, които обсъдихме в тази статия. Откриването на обекти не е ограничено само до регионално базирани CNN. Има много други алгоритми като YOLO, SSD и RetinaNet, които ще обсъдим в предстоящите статии.

Препратки:

  1. http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
  2. https://arxiv.org/pdf/1311.2524.pdf
  3. https://arxiv.org/pdf/1504.08083.pdf