Упражнение. Развертывание приложения классификации изображений реального времени в Azure Sphere
В этом упражнении вы развернете приложение реального времени в Azure Sphere. Вы протестируете входное изображение и выведете результат в эмуляторе терминала.
Убедитесь, что:
- Устройство Azure Sphere подключено к компьютеру по USB.
- Устройство Azure Sphere подключено к Интернету.
- Среда разработки настроена.
В этом модуле вы не будете использовать камеру для записи изображений. С помощью скрипта Python вы создадите выходное изображение путем преобразования изображений в пиксельные значения.
Создание данных изображения
В этом упражнении вы протестируете входное изображение оленя.
Пиксельные значения изображения преобразуются с помощью скрипта Python, определенного в папке scripts, в клонированном репозитории.
Откройте файл deer.jpg.h и скопируйте пиксельные значения.
Добавьте данные изображения в файл include\arm_nnexamples_cifar10_inputs.h для проверки. Данные изображения определяются в файле arm_nnexamples_cifar10_inputs.h.
По умолчанию значения добавляются в файл arm_nnexamples_cifar10_inputs. h для проверки. Можно закомментировать и протестировать разные изображения.
Развертывание приложения реального времени
Сведения о данных метки в CIFAR10:
- самолет: 0
- автомобиль: 1
- птица: 2
- кот: 3
- олень: 4
- собака: 5
- лягушка: 6
- лошадь: 7
- корабль: 8
- грузовик: 9
Нажмите клавишу F5, чтобы отладить проект. Если проект не был собран ранее или были изменены файлы и требуется повторная сборка, Visual Studio Code выполнит сборку проекта перед началом отладки.
В окне вывода Azure Sphere должно отобразиться сообщение "Развертывание изображения...", за которыми следуют пути к пакету SDK и компилятору.
В подключенном эмуляторе терминала должны появиться следующие выходные данные программы ImageClassification_RTApp_MT3620_Baremetal. Вы увидите выходные данные модели CIFAR10.
start execution input pre-processing conv1 img_buffer2 -> img_buffer1 pool1 img_buffer1 -> img_buffer2 conv2 img_buffer2 -> img_buffer1 pool2 img_buffer1 -> img_buffer2 conv3 img_buffer2 -> img_buffer1 pool3 img_buffer-> img_buffer2 0: 0 1: 0 2: 0 3: 0 4: 127 5: 0 6: 0 7: 0 8: 0 9: 0 Complete.
В качестве входных данных выступало цветное изображение размером 32 x 32 пикселя, которое модель классифицировала в один из 10 выходных классов.
Так как значение является выходным значением слоя softmax, каждое число обозначает степень вероятности для одного из 10 классов изображений. В следующем случае метка 4 соответствует метке "олень" с наибольшим номером. Это означает, что модель обнаружила оленя на входном изображении.
Установите точку останова в любом месте в файле main.c и пошагово выполните приложение, чтобы изучить функции отладки Visual Studio Code для Azure Sphere.