Azure Custom Vision без Azure, или «где у них маска». Как мы распознавали маску на лице (и других частях тела)
Среди набора примеров для Azure на GitHub был найден один очень интересный: распознавание образов на Raspberry Pi, в офлайне. Авторами предлагается подготовить модель машинного обучения в одном из облачных сервисов Azure, затем перенести ее на компьютер, у которого большую часть времени нет подключения к Интернет, после чего распознавание образов будет работать автономно. Разработчики подготовили проект для двух платформ: ARM32 (собственно Raspberry Pi) и AMD64 (но без поддержки веб-камеры).
На волне коронавирусного хайпа мы решили адаптировать пример для распознавания, надета маска на человеке или нет. Сразу выяснилось, что шаги по адаптации примера не вполне очевидны. В этом материале рассмотрим последовательно, как этот пример, во-первых, модифицировать для работы со своей моделью машинного обучения, во-вторых, перенести его на платформу AMD64. Будем считать, что наш компьютер, на котором работает модель, управляет турникетом: если человек пришел в маске, турникет открывается, если нет — остается закрытым.