Лучше обрезать или сжать данные для обучения?

Вопрос или проблема

Я пытаюсь создать распознаватель объектов в Tensorflow и использовал labelImg для классификации крупных электрических передающих башен на разных расстояниях. Чтобы мои 10-16 МП (~2-7 МБ) изображения могли обучаться на компьютере с 16 ГБ ОЗУ, мне нужно их обрезать до размером около 200×500 и <100 кБ.

Таким образом, на мой взгляд, это сохраняет детали далекой башни и означает, что функция image_resizer, установленная на 1024×600, не превратит башню размером 200×500 в изображение 5000×3000 в полную неузнаваемость. Проблема в том, что алгоритм, похоже, распознает только близко расположенные башни и крупные в кадре, и я подозреваю, что это может быть из-за отсутствия внешней перспективы в обрезанной версии. (Или недостаточное количество снимков отдаленных башен) Но даже если я сожму изображения до 1920×1080, башни все равно становятся размытыми и артефактными до неузнаваемости.

Просто интересно, есть ли у кого-то опыт работы с новыми обучающими наборами данных и могли бы они подсказать, что лучше использовать для обучения.
Прикреплен пример с уменьшенной до 2 МП версией и обрезанной версией. Обрезанная версия показывает башню справа. Башня в 2 МП гораздо более артефактная.

1080p image

enter image description here

Это эмпирический вопрос, на который лучше всего ответить с помощью кросс-валидации и оценки, какой вариант показывает наилучшую производительность оценочной метрики на отложенном наборе данных.

.

Ответ или решение

Теория

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

Обрезка

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

Сжатие

Сжатие, с другой стороны, предполагает уменьшение размеров файла без обрезки частей изображения. Оно позволяет сохранить целостность оригинального изображения и таким образом сохранить контекст. Однако чрезмерное сжатие может приводить к артефактам и потере качества, что негативно сказывается на обучении модели, особенно если нужный объект становится размытым или искажен. Это может затруднить модели задачу выделения характеристик объекта.

Пример

Рассмотрим ваш конкретный случай. У вас есть изображения больших электрических башен, снятые с различных дистанций, и вы заметили, что алгоритм лучше распознает башни, которые находятся ближе к камере. Это может подразумевать, что обрезка изображений, сосредоточенных на самих башнях, оставила вашу модель без примеров того, как выглядят башни на дальнем расстоянии или в различных контекстах.

С другой стороны, ваши попытки сжатия изображений до 1920×1080 пикселей привели к сильной деградации качества изображения с наличием артефактов. Это усложнило задачу модели по обнаружению башен, так как ключевые детали могли стать неразличимыми.

Применение

Итак, как следует поступить в вашей ситуации? В первую очередь, необходимо определиться с приоритетами задачи. Если важнее всего высокая точность распознавания объектов по их морфологическим характеристикам, даже в ситуации, когда они занимают большую площадь кадра, обрезка может быть целесообразной. Однако следует учитывать потери в контекстной информации. Иногда решение может заключаться в том, чтобы создавать обучающий набор из различных изображений, включая и те, где остаточный контекст сохранен частично.

Следует также рассмотреть возможности использования различных комбинаций обрезанных и сжатых изображений для пополнения обучающего набора. Это может помочь в формировании более устойчивой модели, способной справляться как с близкими, так и удалёнными объектами. Тщательное тестирование с использованием кросс-валидации может помочь определить оптимальную стратегию предобработки данных.

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

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

Оцените материал
Добавить комментарий

Капча загружается...