Внедрение MASK-CNN на мобильных устройствах с OpenCV - PullRequest
0 голосов
/ 16 октября 2019

Контекст:

В настоящее время я работаю над проектом, в котором мне необходимо определить определенный набор очков и измерить его расстояние до камеры с помощью планшетного устройства Samsung S5e. Я реализовал DNN, который обнаруживает очки в заданном кадре, и следующим шагом является применение сегментации к этой обрезанной части изображения.

Для обнаружения моего объекта используется собственная реализация OpenCV Object-Detection, основанная наЦель Caffe Backend для моделей и весов заключалась в том, чтобы использовать быстрый однократный детектор для снижения общего фонового шума, сохраняя при этом окупаемость инвестиций для следующей (более тяжелой) задачи - сегментации объектов. Алгоритм DNN не поддерживает объектную сегментацию (только обнаружение объектов), поэтому я хочу использовать CNN (MASK-CNN) на моем обрезанном изображении.

Все мои обрезанные изображения имеют размер 300x200 (дополненный)с нулями, чтобы соответствовать размеру 300x200 для отдельных ограничивающих рамок). Это изображение содержит только очки с лицом в качестве фона и заполняет отдельные недостающие пиксели для каждого обнаружения черным заполнением для достижения моего целевого разрешения (300x200).

Я хотел использовать MASK-CNN, но понял, что он масштабирует входные данныедо 800px с наименьшей стороны, я не очень хочу этого, поскольку я хочу вычислить алгоритм на планшете Samsung, поэтому я хочу, чтобы общее разрешение было относительно небольшим, что должно снизить нагрузку на процессор.


Вопросы:

Я спрашиваю, есть ли способ напрямую изменить алгоритм масштабирования входного изображения, в лучшем случае полностью его отключить (потому что я уже сделалмасштабирование самостоятельно) при использовании MASK-CNN с OpenCV C ++. Кроме того, мне интересно, является ли реалистичным размер 300x200 для изображения, рассчитываемого на процессоре планшета максимум за 2 секунды. Я знаю, что последний вопрос, вероятно, должен быть проверен мной самостоятельно, но, возможно, у кого-то достаточно опыта, чтобы ответить на него. Я мог бы легко уменьшить целевое разрешение еще больше, изменив его размер, было бы заметно быстрее вычислять 100x50?


Я не могу начать тренировку, пока не знаю, какЧтобы решить проблему масштабирования, мой алгоритм обнаружения объектов в настоящее время обрезает обнаружение по отдельности до разрешения цели 300x200, и, следовательно, весь мой тренировочный набор данных имеет это разрешение. Маркировка / маскирование данных займет много времени, поэтому я должен убедиться, что я действительно могу вычислить CNN для этого целевого разрешения.

Заранее спасибо.

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