7. Uczenie maszynowe¶
Większość detektorów w rozdziale o obrazie była kodowana ręcznie pod konkretny cel: ręcznie dostrojone zakresy kolorów do śledzenia plam, ręcznie wyprowadzone wzorce wag do filtrów krawędzi, stałe założenia geometryczne dla wyszukiwarek linii i okręgów. Każdy algorytm obejmował jeden rodzaj zadania, a dodanie nowego celu oznaczało napisanie nowego algorytmu. Uczenie maszynowe zmienia ten przepływ pracy. Zamiast jednego algorytmu na cel, aplikacja wczytuje wytrenowany model – stos wag wytworzony poza urządzeniem na komputerze stacjonarnym przy użyciu wielu przykładowych obrazów – i uruchamia go na kamerze. Ten sam silnik, który uruchamia detektor twarzy, uruchamia estymator pozy dłoni, tracker pozy ciała, klasyfikator obiektów lub cokolwiek innego, do czego wytrenowano model.
Moduł ml jest zestawem narzędzi. Każda operacja opiera się na pojedynczym obiekcie Model, który wczytuje plik modelu z pamięci flash, zarządza jego skwantyzowanymi tensorami wejściowymi i wyjściowymi, kieruje każde wnioskowanie do właściwego silnika na kamerze i przepuszcza powstałe tensory przez opcjonalny post-processor, który konwertuje je z powrotem na postać wyniku, na którą aplikacja może zareagować – ramki, punkty kluczowe, klasy lub cokolwiek, do czego model służy.
Moduł ml
Potok wnioskowania
Silniki wnioskowania
Dekodowanie wyjścia
Podsumowanie