Модели за класификацију слика које смо до сада обрађивали узимају слику и производе категоријски резултат, као што је класа 'број' у проблему MNIST. Међутим, у многим случајевима не желимо само да знамо да слика приказује објекте - желимо да одредимо њихову прецизну локацију. Управо то је суштина детекције објеката.
Слика са YOLO v2 веб сајта
Претпоставимо да желимо да пронађемо мачку на слици. Веома наиван приступ детекцији објеката био би следећи:
- Разбијте слику на више плочица.
- Покрените класификацију слике на свакој плочици.
- Плочице које резултирају довољно високом активацијом могу се сматрати да садрже тражени објекат.
Слика из радне свеске за вежбе
Међутим, овај приступ је далеко од идеалног, јер омогућава алгоритму да веома непрецизно одреди оквир објекта. За прецизнију локацију, потребно је да применимо неку врсту регресије за предвиђање координата оквира - а за то су нам потребни специфични скупови података.
Овај блог пост пружа одличан увод у детекцију облика.
Можете наићи на следеће скупове података за овај задатак:
- PASCAL VOC - 20 класа
- COCO - Уобичајени објекти у контексту. 80 класа, оквири и маске за сегментацију
Док је за класификацију слика лако измерити колико добро алгоритам ради, за детекцију објеката морамо измерити и исправност класе, као и прецизност локације предвиђеног оквира. За ово друго користимо такозвани Пресек преко уније (IoU), који мери колико добро се два оквира (или две произвољне области) преклапају.
Фигура 2 из овог одличног блог поста о IoU
Идеја је једноставна - делимо област пресека између две фигуре са облашћу њихове уније. За две идентичне области, IoU би био 1, док би за потпуно одвојене области био 0. У другим случајевима, IoU ће варирати од 0 до 1. Обично узимамо у обзир само оне оквире за које је IoU изнад одређене вредности.
Претпоставимо да желимо да измеримо колико добро је дата класа објеката
- Размотрите криву прецизност-позив која показује тачност у зависности од вредности прага детекције (од 0 до 1).
- У зависности од прага, добијамо више или мање објеката детектованих на слици, и различите вредности прецизности и позива.
- Крива ће изгледати овако:
Слика из NeuroWorkshop
Просечна прецизност за дату класу
Разматраћемо само оне детекције за које је IoU изнад одређене вредности. На пример, у PASCAL VOC скупу података обично се претпоставља
Слика из NeuroWorkshop
Главна метрика за детекцију објеката назива се Средња просечна прецизност, или mAP. То је вредност Просечне прецизности, просечена преко свих класа објеката, а понекад и преко
Постоје две широке категорије алгоритама за детекцију објеката:
- Мреже за предлог региона (R-CNN, Fast R-CNN, Faster R-CNN). Главна идеја је генерисање регионa од интереса (ROI) и покретање CNN-а преко њих, тражећи максималну активацију. Ово је донекле слично наивном приступу, са изузетком да се ROI генеришу на паметнији начин. Један од главних недостатака ових метода је што су споре, јер је потребно много пролаза CNN класификатора преко слике.
- Један пролаз (YOLO, SSD, RetinaNet) методе. У овим архитектурама дизајнирамо мрежу да предвиђа и класе и ROI у једном пролазу.
R-CNN користи Селективно претраживање за генерисање хијерархијске структуре ROI региона, који се затим прослеђују кроз CNN екстракторе карактеристика и SVM класификаторе за одређивање класе објекта, и линеарну регресију за одређивање координата оквира. Званични рад
Слика из ван де Санде и др. ICCV’11
Слике из овог блога
Овај приступ је сличан R-CNN-у, али региони се дефинишу након што су примењени слојеви конволуције.
Слика из званичног рада, arXiv, 2015
Главна идеја овог приступа је коришћење неуронске мреже за предвиђање ROI - такозване мреже за предлог региона. Рад, 2016
Слика из званичног рада
Овај алгоритам је још бржи од Faster R-CNN-а. Главна идеја је следећа:
- Екстрахујемо карактеристике користећи ResNet-101.
- Карактеристике се обрађују помоћу мапе оцена осетљивих на позицију. Сваки објекат из
$C$ класа се дели на$k\times k$ регије, и тренирамо мрежу да предвиђа делове објеката. - За сваки део из
$k\times k$ регија све мреже гласају за класе објеката, и класа објекта са максималним бројем гласова се бира.
Слика из званичног рада
YOLO је алгоритам за реално време са једним пролазом. Главна идеја је следећа:
- Слика се дели на
$S\times S$ регије. - За сваку регију, CNN предвиђа
$n$ могућих објеката, координате оквира и поузданост=вероватноћа * IoU.
Слика из званичног рада
- RetinaNet: званични рад
- SSD (Single Shot Detector): званични рад
Наставите учење у следећој радној свесци:
У овој лекцији сте направили брзи преглед различитих начина на које се детекција објеката може остварити!
Прочитајте ове чланке и радне свеске о YOLO-у и испробајте их сами:
- Добар блог пост који описује YOLO
- Званични сајт
- Yolo: Keras имплементација, радна свеска корак по корак
- Yolo v2: Keras имплементација, радна свеска корак по корак
- Детекција објеката од Никила Сардане
- Добро поређење алгоритама за детекцију објеката
- Преглед алгоритама дубоког учења за детекцију објеката
- Увод у основне алгоритме за детекцију објеката корак по корак
- Имплементација Faster R-CNN-а у Python-у за детекцију објеката











