При подключении кадров камеры Android к Vision SDK сначала проверьте расположение данных. Затем определите, где происходит вращение, обрезка, масштабирование и зеркальное отображение. Обычный предварительный просмотр не доказывает, что модель получила правильные пиксели или что блоки обнаружения соответствуют правильным позициям отображения.

Имена форматов не заменяют проверки компоновки плоскости изображения.

Для изображений с несколькими цветовыми плоскостями запишите шаг строки каждой плоскости изображения, шаг пикселя и действительный диапазон данных. Не предполагайте, что строки и образцы пикселей не имеют заполнения. Документация по плоскости изображения Android определяет расстояния в байтах между соседними строками и выборками пикселей отдельно. Проверьте копирование или преобразование на соответствие фактическому формату и интерфейсу SDK. Один только предварительный просмотр не является достаточным доказательством.

Определите время жизни данных для асинхронных задач

Документация по изображениям утверждает, что доступ к ранее полученным буферам плоскостей после закрытия изображения имеет неопределенное поведение. Если асинхронной задаче требуются данные после закрытия образа, закройте образ только после копирования всех необходимых данных в буфер, принадлежащий приложению. Повторно используйте эти буферы в соответствии с условиями завершения задачи. Копирование само по себе не заменяет проверки формата и границ.

Записывайте координаты изображения и отображайте координаты отдельно.

Этап обработки Необходимо определение Доказательства для сохранения
Исходный ввод Размеры изображения, формат и область обрезки Исходный кадр и допустимая область
Ввод модели Порядок вращения, масштабирования или обрезки Изображение и параметры, отправленные в SDK
Координаты результата Происхождение, единицы измерения и соответствующее изображение Результирующие значения и версия изображения
Наложение предварительного просмотра Отображение размеров, границ или обрезки и зеркального отображения. Область отображения и сравнение позиций

Корректное отображение не проверяет весь конвейер

Видеть Документация по предварительной версии Android для ориентации датчика, ориентации устройства и размеров предварительного просмотра. Проверьте действительный контракт SDK и проверьте, поддерживает ли он ротацию или зеркалирование. Избегайте применения преобразования дважды. Сравните входные данные модели, результаты и наложения для одного и того же кадра. Без исходных входных данных оставьте путь ввода непроверенным. В этой статье объясняются методы обработки; никаких новых испытаний устройств не проводилось.

Сопутствующие услуги: Android, мобильные и встроенные SDK для машинного зрения, консультация по проекту.