Систе́ма Ві́оли — Джо́нса виявля́ння об'є́ктів (англ. Viola–Jones object detection framework) — це система машинного навчання виявляння об'єктів, запропонована 2001 року [en] та [en]. Її було вмотивовано головно задачею виявляння облич, хоча її можливо пристосовувати й для виявляння інших класів об'єктів.
Цей алгоритм ефективний для свого часу, здатний виявляти обличчя на зображеннях 384 на 288 пікселів зі швидкістю 15 кадрів за секунду на звичайному Intel Pentium III 700 МГц. Він також стійкий, забезпечує високі влучність та повноту.
Хоч він і має нижчу точність за сучасніші методи, такі як згорткова нейронна мережа, його ефективність і компактний розмір (лише близько 50 тисяч параметрів у порівнянні з мільйонами параметрів для типових ЗНМ, таких як [en]) означають, що його все ще використовують у випадках з обмеженою обчислювальною потужністю. Наприклад, у первинній праці повідомили, що цей виявляч облич може працювати на Compaq iPAQ з 2 кадрами за секунду (цей пристрій має малопотужний StrongARM без апаратного забезпечення рухомої коми).
Опис задачі
Виявляння облич — це задача бінарної класифікації, поєднана з задачею встановлення розташування: для заданого зображення вирішити чи воно містить обличчя, і побудувати обмежувальні рамки для облич.
Щоби зробити це завдання легшим, алгоритм Віоли — Джонса виявляє лише повністю видимі (без затуляння) фронтальні (без повороту голови) вертикальні (без нахилу), добре освітлені повнорозмірні (займають більшу частину кадру) обличчя на зображеннях із фіксованою роздільністю.
Ці обмеження не такі суворі, як здається, оскільки можливо унормовувати картинку, щоби наближувати її до вимог Віоли — Джонса.
- будь-яке зображення можливо перемасштабувати до фіксованої роздільності
- для загального зображення з обличчям невідомого розміру та спрямування можливо виконувати виявляння плям, щоби виявляти потенційні обличчя, а потім масштабувати й повертати їх у вертикальне, повнорозмірне положення.
- яскравість зображення можливо виправляти за допомогою балансування білого.
- обмежувальні рамки можливо знаходити, ковзаючи вікном усім зображенням та позначуючи кожне вікно, яке містить обличчя.
- Як правило, це виявлятиме одне й те ж обличчя декілька разів, до чого можливо застосовувати методи усування дублювання, наприклад, придушування немаксимумів.
Вимога «фронтальності» не підлягає обговоренню, оскільки не існує простого перетворення зображення, яке могло би перетворювати обличчя з профілю на анфас. Проте можливо натренувати декілька класифікаторів Віоли — Джонса, по одному на кут: один для анфасу, один для огляду в 3/4, один для профілю, ще кілька для кутів між ними. Потім під час виконання можливо виконувати всі ці класифікатори паралельно, щоби виявляти обличчя під різними кутами огляду.
Вимога «повної видимості» також не підлягає обговоренню, і її неможливо виконати, просто навчивши більше класифікаторів Віоли — Джонса, оскільки існує занадто багато можливих способів затуляння обличчя.
Складові системи
Повне подання алгоритму наведено в .
Розгляньмо зображення фіксованої роздільності . Наше завдання — ухвалити бінарне рішення: чи це фотографія стандартизованого обличчя (фронтального, добре освітленого тощо), чи ні.
Віола — Джонс — це, по суті, алгоритм навчання ознак з підсилюванням, тренований за допомогою видозміненого алгоритму [en] на класифікаторах гааровими ознаками для пошуку послідовності класифікаторів . Класифікатори гааровими ознаками грубі, але обчислюються дуже швидко, а видозмінений AdaBoost створює сильний класифікатор із багатьох слабких.
Під час виконання задане зображення послідовно перевіряють на . Якщо в будь-який момент , алгоритм негайно повертає «обличчя не виявлено». Якщо всі класифікатори повертають 1, тоді алгоритм повертає «обличчя виявлено». Через це класифікатор Віоли — Джонса також називають «каскадним гааровим класифікатором» (англ. "Haar cascade classifier").
Класифікатори гааровими ознаками
Розгляньмо перцептрон , визначений двома змінними . Він бере зображення фіксованої роздільності, й повертає
Класифікатор гааровими ознаками — це перцептрон з дуже особливим видом , що робить його надзвичайно невитратним для обчислення. А саме, якщо ми випишемо матрицю , ми виявимо, що вона набуває лише трьох можливих значень , і якщо ми забарвимо матрицю білим на , чорним на , та прозорим на , то ця матриця це один з 5 можливих шаблонів, показаних праворуч.
Кожен шаблон також мусить бути симетричним відносно x та y (без урахування зміни кольору), тому, наприклад, для горизонтальної біло-чорної ознаки ці два прямокутники мусять мати однакову ширину. Для вертикальної біло-чорно-білої ознаки білі прямокутники мусять мати однакову висоту, але обмежень щодо висоти чорного прямокутника немає.
Обґрунтування гаарових ознак
Гаарові ознаки, які використовують в алгоритмі Віоли — Джонса, — це підмножина загальніших гаарових базисних функцій, які раніше використовували в галузі виявляння об'єктів на основі зображень.
Незважаючи на грубість порівняно з такими альтернативами як керовані фільтри, гаарові ознаки достатньо складні, щоби їх було можливо зіставляти з ознаками типових людських облич. Наприклад:
- Область очей темніша за верхню частину щік.
- Область перенісся світліша за очі.
Склад властивостей, які утворюють зіста́вні ознаки обличчя:
- Розташування й розмір: очі, рот, перенісся
- Значення: напрямлені градієнти яскравості пікселів
Крім того, будова гаарових ознак дозволяє ефективно обчислювати з використанням лише сталої кількості додавань і віднімань, незалежно від розміру прямокутних елементів, завдяки використанню таблиці сумарних площ.
Навчання та використання класифікатора Віоли — Джонса
Обрати роздільність для класифікування зображень. У первинній статті радили .
навчання
Зібрати навчальний набір, де одні зображення містять обличчя, а інші ні. Виконати певне видозмінене тренування AdaBoost на наборі всіх класифікаторів гааровими ознаками розмірності , поки не буде досягнуто бажаного рівня влучності та повноти. Цей видозмінений алгоритм AdaBoost видаватиме послідовність класифікаторів гааровими ознаками .
Деталі видозміненого алгоритму AdaBoost розкрито нижче.
використання
Щоби скористатися класифікатором Віоли — Джонса з на зображенні , послідовно обчислити . Якщо в будь-який момент, , алгоритм негайно повертає «обличчя не виявлено». Якщо всі класифікатори повертають 1, то алгоритм повертає «виявлено обличчя».
Алгоритм навчання
Одначе швидкість, з якою можливо оцінювати ознаки, не компенсує належним чином їхню кількість. Наприклад, у стандартному підвікні розміром 24x24 пікселі загалом є M = 162336 можливих ознак, і було би до неможливого витратно під час перевірки зображення оцінювати їх усі. Тож ця система виявляння об'єктів використовує варіант алгоритму навчання [en] як для обрання найкращих ознак, так і для тренування класифікаторів, які їх використовують. Цей алгоритм створює «сильний» класифікатор як лінійну комбінацію зважених простих «слабких» класифікаторів.
Кожен слабкий класифікатор — це порогова функція на основі ознаки .
Порогове значення та полярність визначають тренуванням, як і коефіцієнти .
Тут подано спрощену версію алгоритму навчання:
Вхід: Набір із N позитивних і негативних тренувальних зображень із їхніми мітками . Якщо зображення i є обличчям, , якщо ні, .
- Ініціалізація: призначити вагу кожному зображенню i.
- Для кожної ознаки з
- Перенормувати ваги так, щоб вони давали в сумі одиницю.
- Застосувати ознаку до кожного зображення в тренувальному наборі, а потім знайти оптимальні поріг та полярність , які мінімізують зважену похибку класифікування. Тобто, , де
- Призначити вагу пороговій функції , що обернено пропорційно частоті помилок. Таким чином на найкращі класифікатори зважають більше.
- Ваги для наступної ітерації, тобто , зменшують для зображень i, які було класифіковано правильно.
- Встановити остаточний класифікатор в
Каскадна архітектура
- Позитивними (обличчями) є в середньому лише 0,01 % усіх підвікон
- На всі підвікна витрачається однаковий час обчислення
Мусимо витрачати більшу частину часу на лише потенційно позитивні підвікна.
- Простий 2-ознаковий класифікатор може досягати майже 100 % рівня виявляння з 50 % рівнем ХП.
- Цей класифікатор може діяти як 1-й шар ряду для відфільтровування більшості негативних вікон
- 2-й рівень із 10 ознаками може впоруватися зі «складнішими» негативними вікнами, які вижили на 1-му рівні, й так далі…
- Каскад поступово складніших класифікаторів досягає ще кращих рівнів виявляння. Оцінювання сильних класифікаторів, породжених процесом навчання, можливо робити швидко, але недостатньо швидко для реального часу. Через це сильні класифікатори впорядковують у каскад у порядку складності, де кожен наступний класифікатор навчається лише на тих обраних зразках, які проходять через попередні класифікатори. Якщо на будь-якій стадії каскаду класифікатор відхиляє підвікно, яке перевіряє, то подальшу обробку не виконують, і продовжують пошук у наступному підвікні. Тому каскад має вигляд виродженого дерева. У випадку облич перший класифікатор у каскаді — званий оператором уваги — використовує лише дві ознаки, досягаючи хибнонегативного рівня приблизно 0 % й хибнопозитивного рівня 40 %. Дія цього єдиного класифікатора полягає в зменшенні кількості оцінювання всього каскаду приблизно вдвічі.
У каскадуванні кожен етап складається з сильного класифікатора. Таким чином, усі ознаки згруповано в кілька етапів, де кожен етап має певну кількість ознак.
Робота кожного етапу полягає у визначенні того, чи дане підвікно точно не обличчя, чи воно може ним бути. Дане підвікно негайно відкидають як не обличчя, якщо воно не проходить будь-якого з етапів.
Нижче наведено просту систему для навчання каскаду:
- f = пошаровий максимально прийнятний хибнопозитивний рівень.
- d = пошаровий мінімально прийнятний рівень виявляння.
- Ftarget = цільовий загальний хибнопозитивний рівень.
- P = набір позитивних прикладів.
- N = набір негативних прикладів.
F(0) = 1,0; D(0) = 1,0; i = 0 поки F(i) > Ftarget збільшити i n(i) = 0; F(i)= F(i-1) поки F(i) > f × F(i-1) збільшити n(i) використати P та N для тренування класифікатора з n(i) ознаками за допомогою [en] Оцінити поточний каскадний класифікатор на затверджувальному наборі, щоби визначити F(i) та D(i) зменшити поріг для i-того класифікатора (тобто скільки слабких класифікаторів потрібно задовольнити, щоби задовольнити сильний) допоки поточний каскадний класифікатор не матиме рівня виявляння принаймні d × D(i-1) (це також впливає на F(i)) N = ∅ якщо F(i) > Ftarget то оцінити поточний каскадний виявляч на наборі зображень без облич та помістити будь-які хибні виявлення до набору N.
Каскадна архітектура має цікаві наслідки для продуктивності окремих класифікаторів. Оскільки активування кожного класифікатора повністю залежить від поведінки його попередника, хибнопозитивний рівень всього каскаду становить
Аналогічно, рівень виявляння
Отже, щоби відповідати хибнопозитивним рівням, яких зазвичай досягають інші виявлячі, кожен класифікатор може виходити з напрочуд низькою продуктивністю. Наприклад, для 32-етапного каскаду для досягнення хибнопозитивного рівня 10−6 кожен класифікатор повинен досягти хибнопозитивного рівня лише приблизно 65 %. Водночас, проте, кожен класифікатор повинен мати виняткові можливості для досягання адекватного рівня виявляння. Наприклад, щоби досягти рівня виявляння близько 90 %, кожному класифікаторові у вищезгаданому каскаді потрібно досягти рівня виявляння близько 99,7 %.
Використання Віоли — Джонса для відстежування об'єктів
У відео рухомих об'єктів не потрібно застосовувати функцію виявляння об'єктів до кожного кадру. Замість цього можливо використовувати такі алгоритми відстежування як алгоритм КЛТ, щоб виявляти характерні ознаки в обмежувальних рамках виявляння та відстежувати їхнє переміщення між кадрами. Це не лише покращує швидкість відстежування, усуваючи потребу повторно виявляти об'єкти в кожному кадрі, але й покращує стійкість, оскільки характерні ознаки стійкіші до обертання та фотометричних змін, ніж система виявляння Віоли — Джонса.
Примітки
- Viola, P.; Jones, M. (2001). Rapid object detection using a boosted cascade of simple features. Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001. IEEE Comput. Soc. 1. doi:10.1109/cvpr.2001.990517. ISBN . S2CID 2715202. (англ.)
- Viola, Paul; Jones, Michael J. (May 2004). Robust Real-Time Face Detection. International Journal of Computer Vision. 57 (2): 137—154. doi:10.1023/b:visi.0000013087.49260.fb. ISSN 0920-5691. S2CID 2796017. (англ.)
- Wang, Yi-Qing (26 червня 2014). An Analysis of the Viola-Jones Face Detection Algorithm. Image Processing on Line. 4: 128—148. doi:10.5201/ipol.2014.104. ISSN 2105-1232. (англ.)
- C. Papageorgiou, M. Oren and T. Poggio. A General Framework for Object Detection. International Conference on Computer Vision, 1998 (англ.)
- Viola-Jones' face detection claims 180k features. stackoverflow.com. Процитовано 27 червня 2017. (англ.)
- R. Szeliski, Computer Vision, algorithms and applications, Springer (англ.)
- Viola, Jones: Robust Real-time Object Detection, IJCV 2001 Див. с. 11. (англ.)
- Torbert, Shane (2016). Applied Computer Science (вид. 2nd). Springer. с. 122—131. (англ.)
- Face Detection and Tracking using the KLT algorithm (англ.)
Посилання
- Слайди, що подають цю систему (англ.)
- Інформація щодо гаарових базисних функцій (англ.)
- . Архів оригіналу за 18 жовтня 2020. (англ.)
- . Архів оригіналу за 3 липня 2022. — інструмент із відкритим кодом для добування з зображень
- (PDF). Архів оригіналу (PDF) за 2 лютого 2019. (англ.)
- An improved algorithm on Viola-Jones object detector (англ.)
- Цитування алгоритму Віоли — Джонса в Академії Google
- Video lecture on Viola–Jones algorithm на YouTube — Пояснення Adaboost з ppt від Ціна Чена, Discovery Labs, Університет Оттави, та відеолекція від Рамшрі Ґутхама.
Втілення
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Siste ma Vi oli Dzho nsa viyavlya nnya ob ye ktiv angl Viola Jones object detection framework ce sistema mashinnogo navchannya viyavlyannya ob yektiv zaproponovana 2001 roku en ta en Yiyi bulo vmotivovano golovno zadacheyu viyavlyannya oblich hocha yiyi mozhlivo pristosovuvati j dlya viyavlyannya inshih klasiv ob yektiv Cej algoritm efektivnij dlya svogo chasu zdatnij viyavlyati oblichchya na zobrazhennyah 384 na 288 pikseliv zi shvidkistyu 15 kadriv za sekundu na zvichajnomu Intel Pentium III 700 MGc Vin takozh stijkij zabezpechuye visoki vluchnist ta povnotu Hoch vin i maye nizhchu tochnist za suchasnishi metodi taki yak zgortkova nejronna merezha jogo efektivnist i kompaktnij rozmir lishe blizko 50 tisyach parametriv u porivnyanni z miljonami parametriv dlya tipovih ZNM takih yak en oznachayut sho jogo vse she vikoristovuyut u vipadkah z obmezhenoyu obchislyuvalnoyu potuzhnistyu Napriklad u pervinnij praci povidomili sho cej viyavlyach oblich mozhe pracyuvati na Compaq iPAQ z 2 kadrami za sekundu cej pristrij maye malopotuzhnij StrongARM bez aparatnogo zabezpechennya ruhomoyi komi Opis zadachiViyavlyannya oblich ce zadacha binarnoyi klasifikaciyi poyednana z zadacheyu vstanovlennya roztashuvannya dlya zadanogo zobrazhennya virishiti chi vono mistit oblichchya i pobuduvati obmezhuvalni ramki dlya oblich Shobi zrobiti ce zavdannya legshim algoritm Violi Dzhonsa viyavlyaye lishe povnistyu vidimi bez zatulyannya frontalni bez povorotu golovi vertikalni bez nahilu dobre osvitleni povnorozmirni zajmayut bilshu chastinu kadru oblichchya na zobrazhennyah iz fiksovanoyu rozdilnistyu Ci obmezhennya ne taki suvori yak zdayetsya oskilki mozhlivo unormovuvati kartinku shobi nablizhuvati yiyi do vimog Violi Dzhonsa bud yake zobrazhennya mozhlivo peremasshtabuvati do fiksovanoyi rozdilnosti dlya zagalnogo zobrazhennya z oblichchyam nevidomogo rozmiru ta spryamuvannya mozhlivo vikonuvati viyavlyannya plyam shobi viyavlyati potencijni oblichchya a potim masshtabuvati j povertati yih u vertikalne povnorozmirne polozhennya yaskravist zobrazhennya mozhlivo vipravlyati za dopomogoyu balansuvannya bilogo obmezhuvalni ramki mozhlivo znahoditi kovzayuchi viknom usim zobrazhennyam ta poznachuyuchi kozhne vikno yake mistit oblichchya Yak pravilo ce viyavlyatime odne j te zh oblichchya dekilka raziv do chogo mozhlivo zastosovuvati metodi usuvannya dublyuvannya napriklad pridushuvannya nemaksimumiv Vimoga frontalnosti ne pidlyagaye obgovorennyu oskilki ne isnuye prostogo peretvorennya zobrazhennya yake moglo bi peretvoryuvati oblichchya z profilyu na anfas Prote mozhlivo natrenuvati dekilka klasifikatoriv Violi Dzhonsa po odnomu na kut odin dlya anfasu odin dlya oglyadu v 3 4 odin dlya profilyu she kilka dlya kutiv mizh nimi Potim pid chas vikonannya mozhlivo vikonuvati vsi ci klasifikatori paralelno shobi viyavlyati oblichchya pid riznimi kutami oglyadu Vimoga povnoyi vidimosti takozh ne pidlyagaye obgovorennyu i yiyi nemozhlivo vikonati prosto navchivshi bilshe klasifikatoriv Violi Dzhonsa oskilki isnuye zanadto bagato mozhlivih sposobiv zatulyannya oblichchya Skladovi sistemiPovne podannya algoritmu navedeno v Rozglyanmo zobrazhennya I x y displaystyle I x y fiksovanoyi rozdilnosti M N displaystyle M N Nashe zavdannya uhvaliti binarne rishennya chi ce fotografiya standartizovanogo oblichchya frontalnogo dobre osvitlenogo tosho chi ni Viola Dzhons ce po suti algoritm navchannya oznak z pidsilyuvannyam trenovanij za dopomogoyu vidozminenogo algoritmu en na klasifikatorah gaarovimi oznakami dlya poshuku poslidovnosti klasifikatoriv f 1 f 2 f k displaystyle f 1 f 2 f k Klasifikatori gaarovimi oznakami grubi ale obchislyuyutsya duzhe shvidko a vidozminenij AdaBoost stvoryuye silnij klasifikator iz bagatoh slabkih Pid chas vikonannya zadane zobrazhennya I displaystyle I poslidovno pereviryayut na f 1 I f 2 I f k I displaystyle f 1 I f 2 I f k I Yaksho v bud yakij moment f i I 0 displaystyle f i I 0 algoritm negajno povertaye oblichchya ne viyavleno Yaksho vsi klasifikatori povertayut 1 todi algoritm povertaye oblichchya viyavleno Cherez ce klasifikator Violi Dzhonsa takozh nazivayut kaskadnim gaarovim klasifikatorom angl Haar cascade classifier Klasifikatori gaarovimi oznakami Rozglyanmo perceptron f w b displaystyle f w b viznachenij dvoma zminnimi w x y b displaystyle w x y b Vin bere zobrazhennya I x y displaystyle I x y fiksovanoyi rozdilnosti j povertaye f w b I 1 yaksho x y w x y I x y b gt 0 0 inakshe displaystyle f w b I begin cases 1 quad text yaksho sum x y w x y I x y b gt 0 0 quad text inakshe end cases Priklad pryamokutnih elementiv pokazanih vidnosno ohopnogo vikna viyavlyannya Klasifikator gaarovimi oznakami ce perceptron f w b displaystyle f w b z duzhe osoblivim vidom w displaystyle w sho robit jogo nadzvichajno nevitratnim dlya obchislennya A same yaksho mi vipishemo matricyu w x y displaystyle w x y mi viyavimo sho vona nabuvaye lishe troh mozhlivih znachen 1 1 0 displaystyle 1 1 0 i yaksho mi zabarvimo matricyu bilim na 1 displaystyle 1 chornim na 1 displaystyle 1 ta prozorim na 0 displaystyle 0 to cya matricya ce odin z 5 mozhlivih shabloniv pokazanih pravoruch Kozhen shablon takozh musit buti simetrichnim vidnosno x ta y bez urahuvannya zmini koloru tomu napriklad dlya gorizontalnoyi bilo chornoyi oznaki ci dva pryamokutniki musyat mati odnakovu shirinu Dlya vertikalnoyi bilo chorno biloyi oznaki bili pryamokutniki musyat mati odnakovu visotu ale obmezhen shodo visoti chornogo pryamokutnika nemaye Na oblichchya nakladeno gaarovu oznaku shozhu na perenissya Na oblichchya nakladeno gaarovu oznaku shozhu na oblast ochej temnishu za verhnyu chastinu shik Obgruntuvannya gaarovih oznak Gaarovi oznaki yaki vikoristovuyut v algoritmi Violi Dzhonsa ce pidmnozhina zagalnishih gaarovih bazisnih funkcij yaki ranishe vikoristovuvali v galuzi viyavlyannya ob yektiv na osnovi zobrazhen Nezvazhayuchi na grubist porivnyano z takimi alternativami yak kerovani filtri gaarovi oznaki dostatno skladni shobi yih bulo mozhlivo zistavlyati z oznakami tipovih lyudskih oblich Napriklad Oblast ochej temnisha za verhnyu chastinu shik Oblast perenissya svitlisha za ochi Sklad vlastivostej yaki utvoryuyut zista vni oznaki oblichchya Roztashuvannya j rozmir ochi rot perenissya Znachennya napryamleni gradiyenti yaskravosti pikseliv Krim togo budova gaarovih oznak dozvolyaye efektivno obchislyuvati f w b I displaystyle f w b I z vikoristannyam lishe staloyi kilkosti dodavan i vidniman nezalezhno vid rozmiru pryamokutnih elementiv zavdyaki vikoristannyu tablici sumarnih plosh Navchannya ta vikoristannya klasifikatora Violi Dzhonsa Obrati rozdilnist M N displaystyle M N dlya klasifikuvannya zobrazhen U pervinnij statti radili M N 24 24 displaystyle M N 24 24 navchannya Zibrati navchalnij nabir de odni zobrazhennya mistyat oblichchya a inshi ni Vikonati pevne vidozminene trenuvannya AdaBoost na nabori vsih klasifikatoriv gaarovimi oznakami rozmirnosti M N displaystyle M N poki ne bude dosyagnuto bazhanogo rivnya vluchnosti ta povnoti Cej vidozminenij algoritm AdaBoost vidavatime poslidovnist klasifikatoriv gaarovimi oznakami f 1 f 2 f k displaystyle f 1 f 2 f k Detali vidozminenogo algoritmu AdaBoost rozkrito nizhche vikoristannya Shobi skoristatisya klasifikatorom Violi Dzhonsa z f 1 f 2 f k displaystyle f 1 f 2 f k na zobrazhenni I displaystyle I poslidovno obchisliti f 1 I f 2 I f k I displaystyle f 1 I f 2 I f k I Yaksho v bud yakij moment f i I 0 displaystyle f i I 0 algoritm negajno povertaye oblichchya ne viyavleno Yaksho vsi klasifikatori povertayut 1 to algoritm povertaye viyavleno oblichchya Algoritm navchannya Odnache shvidkist z yakoyu mozhlivo ocinyuvati oznaki ne kompensuye nalezhnim chinom yihnyu kilkist Napriklad u standartnomu pidvikni rozmirom 24x24 pikseli zagalom ye M 162336 mozhlivih oznak i bulo bi do nemozhlivogo vitratno pid chas perevirki zobrazhennya ocinyuvati yih usi Tozh cya sistema viyavlyannya ob yektiv vikoristovuye variant algoritmu navchannya en yak dlya obrannya najkrashih oznak tak i dlya trenuvannya klasifikatoriv yaki yih vikoristovuyut Cej algoritm stvoryuye silnij klasifikator yak linijnu kombinaciyu zvazhenih prostih slabkih klasifikatoriv h x sgn j 1 M a j h j x displaystyle h mathbf x operatorname sgn left sum j 1 M alpha j h j mathbf x right Kozhen slabkij klasifikator ce porogova funkciya na osnovi oznaki f j displaystyle f j h j x s j yaksho f j lt 8 j s j inakshe displaystyle h j mathbf x begin cases s j amp text yaksho f j lt theta j s j amp text inakshe end cases Porogove znachennya 8 j displaystyle theta j ta polyarnist s j 1 displaystyle s j in pm 1 viznachayut trenuvannyam yak i koeficiyenti a j displaystyle alpha j Tut podano sproshenu versiyu algoritmu navchannya Vhid Nabir iz N pozitivnih i negativnih trenuvalnih zobrazhen iz yihnimi mitkami x i y i displaystyle mathbf x i y i Yaksho zobrazhennya i ye oblichchyam y i 1 displaystyle y i 1 yaksho ni y i 1 displaystyle y i 1 Inicializaciya priznachiti vagu w 1 i 1 N displaystyle w 1 i frac 1 N kozhnomu zobrazhennyu i Dlya kozhnoyi oznaki f j displaystyle f j z j 1 M displaystyle j 1 M Perenormuvati vagi tak shob voni davali v sumi odinicyu Zastosuvati oznaku do kozhnogo zobrazhennya v trenuvalnomu nabori a potim znajti optimalni porig ta polyarnist 8 j s j displaystyle theta j s j yaki minimizuyut zvazhenu pohibku klasifikuvannya Tobto 8 j s j arg min 8 s i 1 N w j i e j i displaystyle theta j s j arg min theta s sum i 1 N w j i varepsilon j i de e j i 0 if y i h j x i 8 j s j 1 inakshe displaystyle varepsilon j i begin cases 0 amp text if y i h j mathbf x i theta j s j 1 amp text inakshe end cases Priznachiti vagu a j displaystyle alpha j porogovij funkciyi h j displaystyle h j sho oberneno proporcijno chastoti pomilok Takim chinom na najkrashi klasifikatori zvazhayut bilshe Vagi dlya nastupnoyi iteraciyi tobto w j 1 i displaystyle w j 1 i zmenshuyut dlya zobrazhen i yaki bulo klasifikovano pravilno Vstanoviti ostatochnij klasifikator v h x sgn j 1 M a j h j x displaystyle h mathbf x operatorname sgn left sum j 1 M alpha j h j mathbf x right Kaskadna arhitektura Pozitivnimi oblichchyami ye v serednomu lishe 0 01 usih pidvikon Na vsi pidvikna vitrachayetsya odnakovij chas obchislennya Musimo vitrachati bilshu chastinu chasu na lishe potencijno pozitivni pidvikna Prostij 2 oznakovij klasifikator mozhe dosyagati majzhe 100 rivnya viyavlyannya z 50 rivnem HP Cej klasifikator mozhe diyati yak 1 j shar ryadu dlya vidfiltrovuvannya bilshosti negativnih vikon 2 j riven iz 10 oznakami mozhe vporuvatisya zi skladnishimi negativnimi viknami yaki vizhili na 1 mu rivni j tak dali Kaskad postupovo skladnishih klasifikatoriv dosyagaye she krashih rivniv viyavlyannya Ocinyuvannya silnih klasifikatoriv porodzhenih procesom navchannya mozhlivo robiti shvidko ale nedostatno shvidko dlya realnogo chasu Cherez ce silni klasifikatori vporyadkovuyut u kaskad u poryadku skladnosti de kozhen nastupnij klasifikator navchayetsya lishe na tih obranih zrazkah yaki prohodyat cherez poperedni klasifikatori Yaksho na bud yakij stadiyi kaskadu klasifikator vidhilyaye pidvikno yake pereviryaye to podalshu obrobku ne vikonuyut i prodovzhuyut poshuk u nastupnomu pidvikni Tomu kaskad maye viglyad virodzhenogo dereva U vipadku oblich pershij klasifikator u kaskadi zvanij operatorom uvagi vikoristovuye lishe dvi oznaki dosyagayuchi hibnonegativnogo rivnya priblizno 0 j hibnopozitivnogo rivnya 40 Diya cogo yedinogo klasifikatora polyagaye v zmenshenni kilkosti ocinyuvannya vsogo kaskadu priblizno vdvichi U kaskaduvanni kozhen etap skladayetsya z silnogo klasifikatora Takim chinom usi oznaki zgrupovano v kilka etapiv de kozhen etap maye pevnu kilkist oznak Robota kozhnogo etapu polyagaye u viznachenni togo chi dane pidvikno tochno ne oblichchya chi vono mozhe nim buti Dane pidvikno negajno vidkidayut yak ne oblichchya yaksho vono ne prohodit bud yakogo z etapiv Nizhche navedeno prostu sistemu dlya navchannya kaskadu f posharovij maksimalno prijnyatnij hibnopozitivnij riven d posharovij minimalno prijnyatnij riven viyavlyannya Ftarget cilovij zagalnij hibnopozitivnij riven P nabir pozitivnih prikladiv N nabir negativnih prikladiv F 0 1 0 D 0 1 0 i 0 poki F i gt Ftarget zbilshiti i n i 0 F i F i 1 poki F i gt f F i 1 zbilshiti n i vikoristati P ta N dlya trenuvannya klasifikatora z n i oznakami za dopomogoyu en Ociniti potochnij kaskadnij klasifikator na zatverdzhuvalnomu nabori shobi viznachiti F i ta D i zmenshiti porig dlya i togo klasifikatora tobto skilki slabkih klasifikatoriv potribno zadovolniti shobi zadovolniti silnij dopoki potochnij kaskadnij klasifikator ne matime rivnya viyavlyannya prinajmni d D i 1 ce takozh vplivaye na F i N yaksho F i gt Ftarget to ociniti potochnij kaskadnij viyavlyach na nabori zobrazhen bez oblich ta pomistiti bud yaki hibni viyavlennya do naboru N Kaskadna arhitektura maye cikavi naslidki dlya produktivnosti okremih klasifikatoriv Oskilki aktivuvannya kozhnogo klasifikatora povnistyu zalezhit vid povedinki jogo poperednika hibnopozitivnij riven vsogo kaskadu stanovit F i 1 K f i displaystyle F prod i 1 K f i Analogichno riven viyavlyannya D i 1 K d i displaystyle D prod i 1 K d i Otzhe shobi vidpovidati hibnopozitivnim rivnyam yakih zazvichaj dosyagayut inshi viyavlyachi kozhen klasifikator mozhe vihoditi z naprochud nizkoyu produktivnistyu Napriklad dlya 32 etapnogo kaskadu dlya dosyagnennya hibnopozitivnogo rivnya 10 6 kozhen klasifikator povinen dosyagti hibnopozitivnogo rivnya lishe priblizno 65 Vodnochas prote kozhen klasifikator povinen mati vinyatkovi mozhlivosti dlya dosyagannya adekvatnogo rivnya viyavlyannya Napriklad shobi dosyagti rivnya viyavlyannya blizko 90 kozhnomu klasifikatorovi u vishezgadanomu kaskadi potribno dosyagti rivnya viyavlyannya blizko 99 7 Vikoristannya Violi Dzhonsa dlya vidstezhuvannya ob yektivU video ruhomih ob yektiv ne potribno zastosovuvati funkciyu viyavlyannya ob yektiv do kozhnogo kadru Zamist cogo mozhlivo vikoristovuvati taki algoritmi vidstezhuvannya yak algoritm KLT shob viyavlyati harakterni oznaki v obmezhuvalnih ramkah viyavlyannya ta vidstezhuvati yihnye peremishennya mizh kadrami Ce ne lishe pokrashuye shvidkist vidstezhuvannya usuvayuchi potrebu povtorno viyavlyati ob yekti v kozhnomu kadri ale j pokrashuye stijkist oskilki harakterni oznaki stijkishi do obertannya ta fotometrichnih zmin nizh sistema viyavlyannya Violi Dzhonsa PrimitkiViola P Jones M 2001 Rapid object detection using a boosted cascade of simple features Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition CVPR 2001 IEEE Comput Soc 1 doi 10 1109 cvpr 2001 990517 ISBN 0 7695 1272 0 S2CID 2715202 angl Viola Paul Jones Michael J May 2004 Robust Real Time Face Detection International Journal of Computer Vision 57 2 137 154 doi 10 1023 b visi 0000013087 49260 fb ISSN 0920 5691 S2CID 2796017 angl Wang Yi Qing 26 chervnya 2014 An Analysis of the Viola Jones Face Detection Algorithm Image Processing on Line 4 128 148 doi 10 5201 ipol 2014 104 ISSN 2105 1232 angl C Papageorgiou M Oren and T Poggio A General Framework for Object Detection International Conference on Computer Vision 1998 angl Viola Jones face detection claims 180k features stackoverflow com Procitovano 27 chervnya 2017 angl R Szeliski Computer Vision algorithms and applications Springer angl Viola Jones Robust Real time Object Detection IJCV 2001 Div s 11 angl Torbert Shane 2016 Applied Computer Science vid 2nd Springer s 122 131 angl Face Detection and Tracking using the KLT algorithm angl PosilannyaSlajdi sho podayut cyu sistemu angl Informaciya shodo gaarovih bazisnih funkcij angl Arhiv originalu za 18 zhovtnya 2020 angl Arhiv originalu za 3 lipnya 2022 instrument iz vidkritim kodom dlya dobuvannya z zobrazhen PDF Arhiv originalu PDF za 2 lyutogo 2019 angl An improved algorithm on Viola Jones object detector angl Cituvannya algoritmu Violi Dzhonsa v Akademiyi Google Video lecture on Viola Jones algorithm na YouTube Poyasnennya Adaboost z ppt vid Cina Chena Discovery Labs Universitet Ottavi ta videolekciya vid Ramshri Guthama Vtilennya Jensen Ole Helvig PDF Arhiv originalu PDF za 21 zhovtnya 2018 angl MATLAB 1 2 OpenCV vtileno yak cvHaarDetectObjects Gaarove kaskadne viyavlyannya v OpenCV angl Trenuvannya gaarovogo kaskadu v OpenCV angl