Как нормализовать образ при обучении для набора aiy-vision? - PullRequest
0 голосов
/ 07 июня 2019

Я следовал руководству для изготовителей , обучил изготовленной на заказ модели мобильной сети и загрузил ее в мой комплект для зрения. Для тестирования модели я использую тестовый скрипт, расположенный по адресу:

/AIY-projects-python/src/examples/vision/mobilenet_based_classifier.py

но получаю следующую ошибку:

Nothing detected when threshold=.1

Я провел все утро, просматривая код, чтобы попытаться выяснить это.

Сначала я опустил порог до 0, но это не сработало. Это просто дает: Ничего не обнаружено, когда порог = 0. Чтобы это не удалось, я подумал, что с изображением что-то не так.

Итак, я вставил в скрипт строку, которая снимает изображение с камеры и сохраняет его. Я смотрел это, и это выглядело хорошо. Но я предполагаю, что это не означает, что фреймы, которые использует скрипт, хороши, поскольку я взял собственное изображение, а не сохранил фрейм, используемый скриптом ....

Но потом я заметил, что изображения нормализуются, что я забыл сделать при обучении моей модели. Значения по умолчанию для mean и std - 128. Я открыл inference.py, чтобы подтвердить, как выполняется нормализация, и увидел, что формула:

(изображение - 128) / 128.

Итак, я вернулся к чертежной доске с тренировками и нормализовал изображения в соответствии с формулой выше. Но тогда модель вообще не может делать точных прогнозов.

Сейчас я даже не знаю, что спросить. Как мне заставить это работать? Что вызывает у меня проблему с порогом? Нужно ли нормализовать тренировочные данные таким же образом, как набор для зрения нормализует их, чтобы они работали?

Спасибо

...