CameraX ImageAnalysis устанавливает TargetResolution меньше 640x480 - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь улучшить скорость распознавания лиц, передавая изображение 480x360 в ImageAnalysis CameraX. Однако следующий код создает изображение 640x480, что снижает обнаружение до 10 кадров в секунду. Если я даю 480x360, я могу улучшить скорость до 20.

  1. Как я могу получить меньшее целевое разрешение и значение по умолчанию

  2. Есть ли еще, чтобы показать изображение, которое я получил для анализа изображений, как предварительный просмотр. В отличие от превью usecase. Это сделано для того, чтобы при обнаружении лиц не было большого отставания при предварительном просмотре.

    ImageAnalysis imageAnalysis = builder .setTargetResolution (новый размер (360, 480)) .setTargetRotation (вращение) .setBackpressureStrategy (ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST). build ();

1 Ответ

1 голос
/ 06 августа 2020

Как я могу получить меньшее целевое разрешение и значение по умолчанию

По умолчанию согласно docs должно быть 640x480.

Как Чтобы получить меньшее целевое разрешение, я могу себе представить три возможности.

  1. Вы неправильно ссылаетесь на объект imageAnalysis где-то в конце строки, и он игнорирует ваш конструктор, и по умолчанию используется разрешение по умолчанию 640x480 .
  2. Ваша камера не поддерживает разрешение размера (360 480), а ближайший поддерживаемый - 640 x 480.
  3. Вы указываете размер в неправильном порядке, т.е. размер (360, 480) может привести к в другом выбранном разрешении, чем Размер (480, 360). (Вы ссылаетесь на них в обоих порядках в своем вопросе).

Согласно docs

Целевое разрешение пытается установить sh a минимальная граница разрешения изображения. Фактическое разрешение изображения будет ближайшим доступным разрешением размером , которое не меньше целевого разрешения , как определено реализацией камеры. Однако, если не существует разрешения, равного целевому разрешению или превышающего его, будет выбрано ближайшее доступное разрешение, меньшее целевого.

Итак, я бы попробовал несколько меньших размеров, например, Size (200, 200) и посмотрите, какие меньшие разрешения поддерживаются, и увеличивайте оттуда масштаб.

Есть ли способ показать изображение, которое я получил для анализа изображений, в качестве предварительного просмотра. В отличие от превью usecase. Это сделано для того, чтобы при обнаружении лиц не было большого отставания при предварительном просмотре.

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

Если вам нужна дополнительная помощь по этому вопросу, предоставьте весь свой код, связанный с созданием вашего экземпляра ImageAnalysis.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...