заглушки YOLOv7: найдосконаліший алгоритм виявлення об’єктів? - Об'єднуйтесь.AI
Зв'язатися з нами

Штучний Інтелект

YOLOv7: найдосконаліший алгоритм виявлення об’єктів?

mm

опублікований

 on

6 липня 2022 року увійде в історію штучного інтелекту, оскільки саме в цей день було випущено YOLOv7. З моменту свого запуску YOLOv7 був найгарячішою темою в спільноті розробників комп’ютерного бачення, і це з правильних причин. YOLOv7 вже розглядається як віха в галузі виявлення об’єктів. 

Незабаром після Стаття YOLOv7 була опублікована, вона виявилася найшвидшою та найточнішою моделлю виявлення заперечень у реальному часі. Але як YOLOv7 випереджає своїх попередників? Що робить YOLOv7 таким ефективним у виконанні завдань комп’ютерного зору? 

У цій статті ми спробуємо проаналізувати модель YOLOv7 і спробуємо знайти відповідь на питання, чому YOLOv7 зараз стає галузевим стандартом? Але перш ніж ми зможемо відповісти на це питання, нам доведеться поглянути на коротку історію виявлення об’єктів. 

Що таке виявлення об’єктів?

Виявлення об'єктів є розділом комп'ютерного зору який визначає та знаходить об’єкти на зображенні чи відеофайлі. Виявлення об’єктів є будівельним блоком багатьох програм, включаючи безпілотні автомобілі, відеоспостереження та навіть робототехніку. 

Модель виявлення об’єктів можна класифікувати на дві різні категорії, однозарядні детектори, та багатозарядні детектори. 

Виявлення об'єктів у реальному часі

Щоб справді зрозуміти, як працює YOLOv7, нам важливо зрозуміти основну мету YOLOv7:Виявлення об'єктів у реальному часі». Виявлення об'єктів у реальному часі є ключовим компонентом сучасного комп'ютерного зору. Моделі виявлення об’єктів у реальному часі намагаються ідентифікувати та знайти цікаві об’єкти в реальному часі. Моделі виявлення об’єктів у реальному часі зробили для розробників справді ефективним відстеження об’єктів, що цікавлять, у рухомому кадрі, як-от відео, або живе спостереження. 

Моделі виявлення об’єктів у реальному часі, по суті, є кроком вперед у порівнянні зі звичайними моделями виявлення зображень. У той час як перший використовується для відстеження об’єктів у відеофайлах, другий знаходить і ідентифікує об’єкти в нерухомому кадрі, як зображення. 

Як наслідок, моделі виявлення об’єктів у реальному часі дійсно ефективні для відеоаналітики, автономних транспортних засобів, підрахунку об’єктів, відстеження кількох об’єктів і багато іншого. 

Що таке YOLO?

YOLO або "Дивишся лише раз” — це сімейство моделей виявлення об’єктів у реальному часі. Концепцію YOLO вперше представив у 2016 році Джозеф Редмон, і майже миттєво про неї заговорили у всьому місті, оскільки вона була набагато швидшою та точнішою за існуючі алгоритми виявлення об’єктів. Невдовзі алгоритм YOLO став стандартом у галузі комп’ютерного зору. 

Фундаментальна концепція, яку пропонує алгоритм YOLO, полягає у використанні наскрізної нейронної мережі з використанням обмежувальних прямокутників і ймовірностей класу для прогнозування в реальному часі. YOLO відрізнялася від попередньої моделі виявлення об’єктів у тому сенсі, що пропонувала інший підхід до виявлення об’єктів шляхом зміни призначення класифікаторів. 

Зміна підходу спрацювала, оскільки незабаром YOLO став галузевим стандартом, оскільки розрив у продуктивності між ним та іншими алгоритмами виявлення об’єктів у реальному часі був значним. Але чому YOLO був таким ефективним? 

У порівнянні з YOLO алгоритми виявлення об’єктів тоді використовували мережі регіональних пропозицій для виявлення можливих цікавих регіонів. Потім процес розпізнавання проводився для кожного регіону окремо. Як наслідок, ці моделі часто виконували кілька ітерацій на одному зображенні, а отже, недостатня точність і більший час виконання. З іншого боку, алгоритм YOLO використовує один повністю зв’язаний рівень для одночасного виконання прогнозу. 

Як працює YOLO?

Є три кроки, які пояснюють, як працює алгоритм YOLO. 

Рефреймінг виявлення об’єктів як єдина проблема регресії

Команда Алгоритм YOLO намагається переформулювати виявлення об’єкта як одну проблему регресії, включаючи пікселі зображення, до ймовірностей класу та координат обмежувальної рамки. Таким чином, алгоритм має переглянути зображення лише один раз, щоб передбачити та знайти цільові об’єкти на зображеннях. 

Причини іміджу глобально

Крім того, коли алгоритм YOLO робить прогнози, він обґрунтовує зображення глобально. Він відрізняється від методів на основі регіональних пропозицій і ковзання, оскільки алгоритм YOLO бачить повне зображення під час навчання та тестування набору даних і може кодувати контекстну інформацію про класи та те, як вони виглядають. 

До YOLO Fast R-CNN був одним із найпопулярніших алгоритмів виявлення об’єктів, який не міг бачити ширший контекст зображення, тому що він помилково приймав фонові плями на зображенні за об’єкт. У порівнянні з алгоритмом Fast R-CNN, YOLO на 50% точніший коли йдеться про фонові помилки. 

Узагальнює представлення об’єктів

Нарешті, алгоритм YOLO також спрямований на узагальнення зображень об’єктів на зображенні. У результаті, коли алгоритм YOLO було запущено на наборі даних із природними зображеннями та перевірено на результати, YOLO значно перевершив існуючі моделі R-CNN. Це тому, що YOLO є дуже узагальненим, шанси його поломки під час впровадження на неочікуваних вхідних даних або нових доменів були невеликими. 

YOLOv7: Що нового?

Тепер, коли ми маємо базове розуміння того, що таке моделі виявлення об’єктів у реальному часі та що таке алгоритм YOLO, настав час обговорити алгоритм YOLOv7. 

Оптимізація навчального процесу

Алгоритм YOLOv7 не тільки намагається оптимізувати архітектуру моделі, але також націлений на оптимізацію процесу навчання. Він спрямований на використання оптимізаційних модулів і методів для підвищення точності виявлення об’єктів, збільшуючи витрати на навчання, зберігаючи при цьому вартість перешкод. Ці модулі оптимізації можна назвати a тренувальний мішок халяви. 

Кероване призначення міток від грубого до тонкого

Алгоритм YOLOv7 планує використовувати нове кероване призначення міток від грубого до тонкого свинцю замість традиційного Динамічне призначення міток. Це тому, що з динамічним призначенням міток навчання моделі з декількома вихідними рівнями викликає деякі проблеми, найпоширенішою з яких є те, як призначити динамічні цілі для різних гілок та їхніх результатів. 

Перепараметризація моделі

Повторна параметризація моделі є важливою концепцією виявлення об’єктів, і її використання зазвичай супроводжується деякими проблемами під час навчання. Алгоритм YOLOv7 планує використовувати концепцію шлях поширення градієнта для аналізу політики повторної параметризації моделі застосовні до різних рівнів мережі. 

Розширення та складене масштабування

Алгоритм YOLOv7 також представляє розширені та складені методи масштабування використовувати та ефективно використовувати параметри та обчислення для виявлення об’єктів у реальному часі. 

YOLOv7 : пов’язана робота

Виявлення об'єктів у реальному часі

Наразі YOLO є галузевим стандартом, і більшість детекторів об’єктів у режимі реального часу розгортають алгоритми YOLO та FCOS (повністю згорткове одноетапне виявлення об’єктів). Сучасний детектор об’єктів у реальному часі зазвичай має такі характеристики

  • Міцніша та швидша мережева архітектура. 
  • Ефективний метод інтеграції функцій. 
  • Точний метод виявлення об'єктів. 
  • Надійна функція втрат. 
  • Ефективний метод призначення міток. 
  • Ефективний метод навчання. 

Алгоритм YOLOv7 не використовує самоконтрольоване навчання та методи дистиляції, які часто вимагають великих обсягів даних. І навпаки, алгоритм YOLOv7 використовує метод, який можна навчити. 

Перепараметризація моделі

Методи повторної параметризації моделі розглядаються як методика ансамблю, яка об’єднує кілька обчислювальних модулів на стадії інтерференції. Далі цю техніку можна розділити на дві категорії: модельний ансамбль, та ансамбль модульного рівня. 

Тепер, щоб отримати остаточну модель перешкод, техніка перепараметризації на рівні моделі використовує дві практики. У першій практиці використовуються різні навчальні дані для навчання багатьох ідентичних моделей, а потім усереднюються ваги навчених моделей. Як альтернатива, інша практика усереднює ваги моделей під час різних ітерацій. 

Останнім часом повторна параметризація на рівні модуля набуває величезної популярності, оскільки вона розбиває модуль на різні модульні гілки або різні ідентичні гілки під час фази навчання, а потім продовжує інтегрувати ці різні гілки в еквівалентний модуль під час інтерференції. 

Однак методи повторної параметризації не можуть бути застосовані до всіх видів архітектури. Це причина, чому Алгоритм YOLOv7 використовує нові методи повторної параметризації моделі для розробки відповідних стратегій підходить для різних архітектур. 

Масштабування моделі

Масштабування моделі – це процес збільшення або зменшення існуючої моделі, щоб вона відповідала різним обчислювальним пристроям. Масштабування моделі зазвичай використовує різноманітні фактори, наприклад кількість шарів (глибина), розмір вхідних зображень (дозвіл), кількість пірамід ознак (етап), і кількість каналів (ширина). Ці фактори відіграють вирішальну роль у забезпеченні збалансованого співвідношення параметрів мережі, швидкості перешкод, обчислень і точності моделі. 

Одним із найбільш часто використовуваних методів масштабування є NAS або пошук архітектури мережі який автоматично шукає відповідні коефіцієнти масштабування в пошукових системах без будь-яких складних правил. Основним недоліком використання NAS є те, що це дорогий підхід для пошуку відповідних коефіцієнтів масштабування. 

Майже кожна модель повторної параметризації моделі аналізує індивідуальні та унікальні коефіцієнти масштабування незалежно, і, крім того, навіть оптимізує ці фактори незалежно. Це тому, що архітектура NAS працює з некорельованими коефіцієнтами масштабування. 

Варто зазначити, що моделі на основі конкатенації, як VoVNet or DenseNet змінити ширину введення кількох шарів, коли глибина моделей масштабується. YOLOv7 працює на запропонованій архітектурі, заснованій на конкатенації, і, отже, використовує складений метод масштабування.

Цифра, згадана вище, порівнює розширені ефективні мережі агрегації рівнів (E-ELAN) різних моделей. Запропонований метод E-ELAN зберігає градієнтний шлях передачі оригінальної архітектури, але спрямований на збільшення потужності доданих функцій за допомогою групової згортки. Цей процес може покращити функції, отримані за допомогою різних карт, а також зробити використання обчислень і параметрів ефективнішим. 

Архітектура YOLOv7

Модель YOLOv7 використовує моделі YOLOv4, YOLO-R і Scaled YOLOv4 як свою основу. YOLOv7 є результатом експериментів, проведених на цих моделях, щоб покращити результати та зробити модель більш точною. 

Extended Efficient Layer Aggregation Network або E-ELAN

E-ELAN є фундаментальним будівельним блоком моделі YOLOv7, і він є похідним від уже існуючих моделей ефективності мережі, головним чином ELAN. 

Основними міркуваннями при розробці ефективної архітектури є кількість параметрів, щільність обчислень і обсяг обчислень. Інші моделі також враховують такі фактори, як вплив співвідношення каналів вводу/виводу, розгалужень в архітектурі мережі, швидкість мережевих перешкод, кількість елементів у тензорах згорткової мережі тощо. 

Команда CSPVoNet Модель не лише враховує вищезазначені параметри, але й аналізує шлях градієнта, щоб дізнатися більше різноманітних функцій, увімкнувши ваги різних шарів. Цей підхід дозволяє втручання бути набагато швидшим і точним. The ELAN архітектура спрямована на розробку ефективної мережі для контролю найкоротшого найдовшого градієнтного шляху, щоб мережа могла бути більш ефективною в навчанні та конвергенції. 

ELAN вже досягла стабільної стадії незалежно від кількості обчислювальних блоків у стеку та довжини шляху градієнта. Стабільний стан може бути зруйнований, якщо обчислювальні блоки накопичуються необмежено, і коефіцієнт використання параметрів зменшиться. The запропонована архітектура E-ELAN може вирішити проблему, оскільки вона використовує розширення, перемішування та об’єднання потужностей постійно покращувати здатність до навчання мережі, зберігаючи початковий градієнтний шлях. 

Крім того, порівнюючи архітектуру E-ELAN з ELAN, єдина відмінність полягає в обчислювальному блоці, тоді як архітектура перехідного рівня не змінена. 

E-ELAN пропонує розширити потужність обчислювальних блоків і розширити канал за допомогою групова згортка. Після цього буде обчислено карту функцій і змішано в групи відповідно до параметра групи, а потім об’єднано разом. Кількість каналів у кожній групі залишиться такою ж, як і в оригінальній архітектурі. Нарешті, групи карт функцій будуть додані для визначення кардинальності. 

Масштабування моделі для моделей на основі конкатенації

Масштабування моделі допомагає налаштування атрибутів моделей це допомагає генерувати моделі відповідно до вимог і різних масштабів для відповідності різним швидкостям перешкод. 

На малюнку показано масштабування моделі для різних моделей на основі конкатенації. Як ви можете бачити на малюнках (a) і (b), вихідна ширина обчислювального блоку збільшується зі збільшенням глибини масштабування моделей. В результаті вхідна ширина передавальних шарів збільшується. Якщо ці методи реалізовано в архітектурі на основі конкатенації, процес масштабування виконується поглиблено, і це зображено на малюнку (c). 

Таким чином, можна зробити висновок, що неможливо проаналізувати коефіцієнти масштабування незалежно для моделей на основі конкатенації, і скоріше їх потрібно розглядати або аналізувати разом. Тому для моделі на основі конкатенації доцільно використовувати відповідний метод масштабування складеної моделі. Крім того, коли коефіцієнт глибини масштабується, вихідний канал блоку також повинен бути масштабований. 

Сумка халяви, яку можна тренувати 

Сумка халяви – це термін, який використовують для опису розробники набір методів або технік, які можуть змінити стратегію навчання або вартість намагаючись підвищити точність моделі. Отже, що це за пакети халяви, які можна навчати, у YOLOv7? Давай подивимось. 

Запланована повторна параметризована згортка

Алгоритм YOLOv7 використовує шляхи поширення градієнтного потоку для визначення як ідеально поєднати мережу з перепараметризованою згорткою. Такий підхід YOLov7 є спробою протидії Алгоритм RepConv який, хоча і працював спокійно на моделі VGG, працює погано, якщо застосувати його безпосередньо до моделей DenseNet і ResNet. 

Щоб ідентифікувати зв'язки в згортковому шарі, Алгоритм RepConv поєднує згортку 3×3 і згортку 1×1. Якщо ми проаналізуємо алгоритм, його продуктивність і архітектуру, то побачимо, що RepConv руйнує конкатенація в DenseNet, а залишкова в ResNet

На зображенні вище показано заплановану перепараметризовану модель. Можна побачити, що алгоритм YOLov7 виявив, що рівень у мережі з конкатенацією або залишковими з’єднаннями не повинен мати ідентифікаційного з’єднання в алгоритмі RepConv. Як наслідок, можна перемикатися за допомогою RepConvN без ідентифікаційних з’єднань. 

Грубий для допоміжних і тонкий для втрат свинцю

Глибокий нагляд це галузь інформатики, яка часто знаходить своє використання в процесі навчання глибоких мереж. Фундаментальним принципом глибокого нагляду є те, що воно додає додаткову допоміжну головку в середніх шарах мережі разом із неглибокими мережевими вагами з допоміжною втратою як орієнтиром. Алгоритм YOLOv7 відноситься до головки, яка відповідає за кінцевий результат, як головної головки, а допоміжної головки є головка, яка допомагає в навчанні. 

Йдучи далі, YOLOv7 використовує інший метод для призначення міток. Традиційно призначення міток використовувалося для створення міток шляхом безпосереднього посилання на базову істину та на основі заданого набору правил. Однак останніми роками розподіл і якість прогнозованих даних відіграють важливу роль для створення надійної мітки. YOLOv7 генерує програмну мітку об'єкта за допомогою прогнозів обмежувальної рамки та базової правди. 

Крім того, новий метод призначення міток алгоритму YOLOv7 використовує передбачення провідної головки для керування як провідною, так і допоміжною головкою. Метод призначення міток має дві запропоновані стратегії. 

Провідний спеціаліст із присвоєння етикеток

Стратегія виконує обчислення на основі результатів прогнозу головного керівника та базової істини, а потім використовує оптимізацію для створення м’яких міток. Потім ці м’які мітки використовуються як навчальна модель як для головної, так і для допоміжної головок. 

Стратегія працює на основі припущення, що оскільки провідний керівник має більшу здатність до навчання, мітки, які він генерує, мають бути більш репрезентативними та співвідноситись між джерелом і цільовим джерелом. 

Керований пристрій для присвоєння етикеток свинцевої головки від грубого до тонкого

Ця стратегія також виконує обчислення на основі результатів прогнозу провідної голови та базової правди, а потім використовує оптимізацію для створення м’яких міток. Однак є ключова відмінність. У цій стратегії є два набори м’яких міток, грубий рівень, та тонка етикетка. 

Груба мітка створюється шляхом послаблення обмежень позитивного зразка

процес призначення, який розглядає більше сіток як позитивні цілі. Це зроблено для того, щоб уникнути ризику втрати інформації через слабку здатність до навчання допоміжної головки. 

На малюнку вище пояснюється використання навченого мішка халяви в алгоритмі YOLOv7. На ньому зображено грубий для допоміжної головки та тонкий для свинцевої головки. Коли ми порівнюємо модель із допоміжною головкою (b) зі звичайною моделлю (a), ми помітимо, що схема в (b) має допоміжну головку, тоді як у (a) її немає. 

На малюнку (c) зображено загальний незалежний засіб призначення міток, тоді як малюнки (d) і рисунок (e) відповідно представляють провідний керований розподільник і керований провідний розподільник від грубого до точного, які використовуються YOLOv7.  

Інший мішок халяви, який можна навчити

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

  • Пакетна нормалізація в технології Conv-Bn-Activation: Ця стратегія використовується для підключення згорткового рівня безпосередньо до рівня пакетної нормалізації. 
  • Неявні знання в YOLOR: YOLOv7 поєднує стратегію з картою згорткових функцій. 
  • Модель EMA: Модель EMA використовується як остаточна еталонна модель у YOLOv7, хоча її основне використання має використовуватися в методі середнього вчителя. 

YOLOv7 : Експерименти

Експериментальне встановлення

Алгоритм YOLOv7 використовує Набір даних Microsoft COCO для навчання та перевірки їх модель виявлення об’єкта, і не всі ці експерименти використовують попередньо навчену модель. Розробники використали набір даних поїздів 2017 для навчання, а для вибору гіперпараметрів використали набір даних перевірки 2017. Нарешті, продуктивність результатів виявлення об’єктів YOLOv7 порівнюється з сучасними алгоритмами виявлення об’єктів. 

Розробники розробили базову модель для периферійний графічний процесор (YOLOv7-tiny), звичайний графічний процесор (YOLOv7) і хмарний графічний процесор (YOLOv7-W6). Крім того, алгоритм YOLOv7 також використовує базову модель для масштабування моделі відповідно до різних вимог сервісу та отримує різні моделі. Для алгоритму YOLOv7 масштабування стека виконується на шиї, а запропоновані сполуки використовуються для збільшення глибини та ширини моделі. 

Базові лінії

Алгоритм YOLOv7 використовує попередні моделі YOLO та алгоритм виявлення об’єктів YOLOR як базовий рівень.

Наведений вище малюнок порівнює базову лінію моделі YOLOv7 з іншими моделями виявлення об’єктів, і результати цілком очевидні. У порівнянні з Алгоритм YOLOv4, YOLOv7 не тільки використовує на 75% менше параметрів, але також використовує на 15% менше обчислень і має на 0.4% вищу точність. 

Порівняння з сучасними моделями детекторів об’єктів

На наведеному вище малюнку показано результати порівняння YOLOv7 із сучасними моделями виявлення об’єктів для мобільних і загальних графічних процесорів. Можна помітити, що метод, запропонований алгоритмом YOLOv7, має найкращий компромісний показник швидкості та точності. 

Дослідження абляції: запропонований метод складного масштабування

На малюнку вище порівнюються результати використання різних стратегій для масштабування моделі. Стратегія масштабування в моделі YOLOv7 збільшує глибину обчислювального блоку в 1.5 рази та масштабує ширину в 1.25 рази. 

У порівнянні з моделлю, яка лише збільшує глибину, модель YOLOv7 працює на 0.5% краще, використовуючи менші параметри та обчислювальну потужність. З іншого боку, у порівнянні з моделями, які лише масштабують глибину, точність YOLOv7 покращилася на 0.2%, але кількість параметрів потрібно масштабувати на 2.9%, а обчислення – на 1.2%. 

Запропонована запланована перепараметризована модель

Щоб перевірити загальність запропонованої повторно параметризованої моделі, Алгоритм YOLOv7 використовує його в моделях на основі залишків і конкатенації для перевірки. Для процесу перевірки використовується алгоритм YOLOv7 3-шаровий ELAN для моделі на основі конкатенації та CSPDarknet для моделі на основі залишку. 

Для моделі на основі конкатенації алгоритм замінює згорткові шари 3 × 3 у 3-стіковій ELAN на RepConv. На малюнку нижче показано детальну конфігурацію Planned RepConv і 3-stacked ELAN. 

Крім того, при роботі з моделлю на основі залишків алгоритм YOLOv7 використовує зворотний темний блок, оскільки вихідний темний блок не має блоку згортки 3×3. На малюнку нижче показано архітектуру Reversed CSPDarknet, яка змінює положення згорткового шару 3×3 і 1×1. 

Пропонована втрата помічника для допоміжного керівника

Для допоміжних втрат для допоміжної головки модель YOLOv7 порівнює незалежне призначення міток для методів допоміжної головки та провідної головки. 

На малюнку вище наведено результати дослідження пропонованої допоміжної головки. Можна побачити, що загальна продуктивність моделі зростає зі збільшенням асистентських втрат. Крім того, кероване призначення міток лідера, запропоноване моделлю YOLOv7, працює краще, ніж незалежні стратегії призначення лідерів. 

Результати YOLOv7

На основі наведених вище експериментів, ось результат продуктивності YOLov7 у порівнянні з іншими алгоритмами виявлення об’єктів. 

На малюнку вище порівнюється модель YOLOv7 з іншими алгоритмами виявлення об’єктів, і можна чітко помітити, що YOLOv7 перевершує інші моделі виявлення заперечень з точки зору Середня точність (AP) проти пакетної інтерференції

Крім того, на малюнку нижче порівнюється продуктивність YOLOv7 з іншими алгоритмами виявлення заперечень у реальному часі. YOLOv7 знову поступається іншим моделям щодо загальної продуктивності, точності та ефективності. 

Ось кілька додаткових спостережень за результатами та показниками YOLOv7. 

  1. YOLOv7-Tiny — це найменша модель у сімействі YOLO з понад 6 мільйонами параметрів. YOLOv7-Tiny має середню точність 35.2%, і він перевершує моделі YOLOv4-Tiny з порівнянними параметрами. 
  2. Модель YOLov7 має понад 37 мільйонів параметрів, і вона перевершує моделі з вищими параметрами, такі як YOLov4. 
  3. Модель YOLOv7 має найвищу швидкість mAP і FPS в діапазоні від 5 до 160 FPS. 

Висновок

YOLO або You Only Look Once — це найсучасніша модель виявлення об’єктів у сучасному комп’ютерному зорі. Алгоритм YOLO відомий своєю високою точністю та ефективністю, і, як наслідок, він знаходить широке застосування в галузі виявлення об’єктів у реальному часі. З тих пір, як у 2016 році був представлений перший алгоритм YOLO, експерименти дозволяли розробникам постійно вдосконалювати модель. 

Модель YOLOv7 є останнім доповненням до сімейства YOLO, і це найпотужніший алгоритм YOLo на сьогоднішній день. У цій статті ми поговорили про основи YOLOv7 і спробували пояснити, що робить YOLOv7 таким ефективним. 

«За фахом інженер, душею — письменник». Кунал є технічним письменником, який глибоко любить і розуміє штучний інтелект і машинне навчання, відданий справі спрощення складних концепцій у цих сферах за допомогою своєї цікавої та інформативної документації.