През изминалата година работих със Системи за откриване на хора за последния изследователски проект от моето бакалавърско обучение. Нашият екип беше фокусиран върху откриването на хора от емисии на живо от камери за видеонаблюдение. Тази история е кратко резюме и оценказа някои от проектите и библиотеките с отворен код, които сме използвали за откриване от хора.

Откриването на хора е клон на откриването на обекти. Откриването на обекти е задача за идентифициране на наличието на предварително дефинирани типове обекти в изображение. Тази задача включва кактоидентификация на присъствието на обектитеи идентификация на правоъгълната граница около всеки обект(т.е. локализиране на обекта). Система за откриване на обекти, която може да открива класа „Човек“, може да работи като система за откриване на хора.

Бих започнал тази история сранни подходи за откриване на хора, които ще разгледам в тази част от историята. Тези подходи са възникнали в началото на 2000-те години. Въпреки че са наречени „ранни“, тези подходи все още се използват в индустрията.

В предстоящите части бих разгледал базираните на задълбочено обучение техники, което е съвременният подход.

В по-късните части бих обсъдил две по-скорошни тенденции Оценка на човешката поза(идентификация на позициите на ставите на човек)и Човешка сегментация(идентификация на полигонална граница, представляваща всеки човек).

Тестова стенда

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

Intel Core i7 7700 HQ (до 3,8 GHz), 16 GB памет, nVidia Geforce GTX 1060 6 GB VGA, Ubuntu 16.04 и Open CV 3.4.

Въпреки наличието на GPU, по време на тестовете не е регистрирано използване на GPU. Производителността е почти изцяло обвързана с процесора.

Всички тестове се извършват върху тестово видео „TownCentre“ от „„Оценка на груб поглед в проекта за визуално наблюдение““ от Оксфордския университет.

Ранни подходи за откриване на хора

В този раздел бих се съсредоточил върху каскадата на Хаар и базираните на HOG подходи за откриване на хора.

Каскади на Haar за откриване на хора

Подходът, базиран на функциите на Haar за откриване на обекти, е предложен от Пол Виолаи Майкъл Джоунс в тяхната статия „Бързо откриване на обекти с помощта на подсилена каскада от прости функции публикуван през 2001 г. Този подход се използва широко за разпознаване на лица.

OpenCV включва вградена функционалност за осигуряване на каскадно базирано на Haar откриване на обекти. Предварително обучени модели, предоставени от OpenCV за „Откриване на цялото тяло“, „Откриване на горната част на тялото“ и „Откриване на долната част на тялото“ са налични тук.

Този кодов фрагмент на Python показва приложението на каскадата на Хаар за откриване на хора с помощта на Open CV 3.4. Той показва време за кадри от приблизително 90 - 100 милисекунди на кадър (еквивалентно на 11 кадъра в секунда) в моя тестов стенд.

Хистограми на ориентирани градиенти за човешко откриване

HOG подходът за откриване на пешеходци е предложен отN. ДалалиБ. Тригсв тяхната статия „Хистограми на ориентирани градиенти за откриване от хора»“, публикувана през 2005 г.

OpenCV включва вградена функционалност за осигуряване на базирано на HOG откриване. Той също така включва предварително обучен модел за откриване на хора.

Този кодов фрагмент на Python показва приложението на HOG Human Detection с помощта на Open CV 3.4. Показва време за кадър от приблизително 150–170 милисекунди на кадър (еквивалентно на 6,25 кадъра в секунда) в моя тестов стенд.

Недостатъци на ранните подходи

По-долу са изброени някои често срещани недостатъци, които забелязах, когато използвах каскади на Haar и HOG за откриване на хора. Тези наблюдения се основават на предварително обучени модели, налични с Open CV.

Пропуснати откривания

Тези два подхода не са много добри при откриването на хора в различни позиосвен ако не се използват множество модели за откриване на хора във всяка поза. Наличните предварително обучени модели с Open CV са обучени да идентифицират изправената поза на човек. Те се представят доста добрепри откриване на хора отизглед отпред и изглед отзад. Въпреки това разпознаването от странични изгледи на хора е като цяло лошо.

Фалшиви откривания и дублиращи се откривания

Тези ранни подходи също са податливи за откриване на нечовешки обекти като хора. Компромис между Пропуснати откривания и Грешни откривания може да се постигне чрез коригиране на параметрите на прага. Някои фалшиви откривания (като откриванията на изображението долу вляво) могат да бъдат избегнати чрез определяне на прагове за минимален размер на кутията за откриване.

Възможно е също да се случат дублирани откривания, като откриването в изображението долу вдясно. Техника, известна като немаксимално потискане, може да се използва за избягване на определени дублирани задържания, както е обяснено в този урок.

Ненадеждна граница на откриване

Границата на откриване, осигурена от каскадата на Haar и HOG, не пасва плътно на откритото лице. Всъщност границата на границата не е последователнамежду откриванията. Това затруднява извличането на позициите на частите на тялото на човек (да речем местоположението на краката), като се използват съотношения, изчислени на границата на откриване.

Трептене при откриване

Доста често се наблюдава, че лице, засечено в един кадър, не се засича в следващия кадър и обратно. Поради това задържанията са податливи на трептене.

Силни страни на ранните подходи

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

Повечето от проблемите, присъстващи в подходите за ранно откриване на хора, са коригирани в по-новите подходи, базирани на дълбоко обучение. Написах втора част от тази поредица, анализирайки как съвременните подходи минимизират горепосочените недостатъци.

Част 2 — „Как съвременните подходи се справят с недостатъците на по-ранните подходи за откриване на хора в реално време“

справка

  1. Всички тестове се извършват върху тестово видео „TownCentre“ от „„Оценка на груб поглед в проекта за визуално наблюдение““ от Оксфордския университет.
  2. Урок за PyImageSearch за откриване на лица на HOG
  3. Отворете CV 3.4 документация/урок за каскадно разпознаване на лица на Haar