Упражнение. Развертывание приложения классификации изображений реального времени в Azure Sphere

Завершено

В этом упражнении вы развернете приложение реального времени в Azure Sphere. Вы протестируете входное изображение и выведете результат в эмуляторе терминала.

Убедитесь, что:

  • Устройство Azure Sphere подключено к компьютеру по USB.
  • Устройство Azure Sphere подключено к Интернету.
  • Среда разработки настроена.

В этом модуле вы не будете использовать камеру для записи изображений. С помощью скрипта Python вы создадите выходное изображение путем преобразования изображений в пиксельные значения.

Создание данных изображения

В этом упражнении вы протестируете входное изображение оленя.

The illustration shows the input image.

Пиксельные значения изображения преобразуются с помощью скрипта Python, определенного в папке scripts, в клонированном репозитории.

The illustration shows the Python script of converting the image to pixel values.

  1. Откройте файл deer.jpg.h и скопируйте пиксельные значения.

    The illustration shows pixel values converted from the image.

  2. Добавьте данные изображения в файл include\arm_nnexamples_cifar10_inputs.h для проверки. Данные изображения определяются в файле arm_nnexamples_cifar10_inputs.h.

    The illustration shows image data in Visual Studio Code.

  3. По умолчанию значения добавляются в файл arm_nnexamples_cifar10_inputs. h для проверки. Можно закомментировать и протестировать разные изображения.

Развертывание приложения реального времени

Сведения о данных метки в CIFAR10:

  • самолет: 0
  • автомобиль: 1
  • птица: 2
  • кот: 3
  • олень: 4
  • собака: 5
  • лягушка: 6
  • лошадь: 7
  • корабль: 8
  • грузовик: 9
  1. Нажмите клавишу F5, чтобы отладить проект. Если проект не был собран ранее или были изменены файлы и требуется повторная сборка, Visual Studio Code выполнит сборку проекта перед началом отладки.

  2. В окне вывода Azure Sphere должно отобразиться сообщение "Развертывание изображения...", за которыми следуют пути к пакету SDK и компилятору.

  3. В подключенном эмуляторе терминала должны появиться следующие выходные данные программы 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 соответствует метке "олень" с наибольшим номером. Это означает, что модель обнаружила оленя на входном изображении.

  4. Установите точку останова в любом месте в файле main.c и пошагово выполните приложение, чтобы изучить функции отладки Visual Studio Code для Azure Sphere.