7. Машинне навчання¶
Більшість детекторів у розділі про зображення були написані вручну для конкретної цілі: вручну налаштовані діапазони кольорів для відстеження плям, вручну виведені шаблони ваг для фільтрів меж, фіксовані геометричні припущення для пошуку ліній і кіл. Кожен алгоритм охоплював один вид задач, і додавання нової цілі означало написання нового алгоритму. Машинне навчання змінює робочий процес. Замість одного алгоритму на ціль застосунок завантажує навчену модель — стек ваг, отриманих зовні на настільному комп’ютері з великою кількістю прикладів зображень — і запускає її на камері. Той самий рушій, що запускає детектор облич, запускає оцінювач пози рук, трекер пози тіла, класифікатор об’єктів чи будь-що інше, для чого навчено модель.
Модуль ml є інструментарієм. Кожна операція будується на єдиному об’єкті Model, що завантажує файл моделі з флеш-пам’яті, керує квантованими вхідними та вихідними тензорами, направляє кожен інференс до відповідного рушія на камері та передає отримані тензори через необов’язковий постпроцесор, що перетворює їх назад у форму результату, з якою може працювати застосунок — прямокутники, ключові точки, класи або що завгодно, для чого призначена модель.
Модуль ml
Конвеєр інференсу
Рушії інференсу
Декодування виходу
Підсумок