Предварительная обработка изображений в процессе глубокого обучения


Я экспериментирую с глубоким обучением на изображениях. У меня есть около ~4000 изображений с разных камер с разными условиями освещения, разрешением изображения и углом обзора.

Мой вопрос: Какой вид предварительной обработки изображений был бы полезен для улучшения обнаружения объектов? (например: нормализация контраста / цвета, шумоподавление и т. д.)

3 7

3 ответа:

Для предварительной обработки изображений перед подачей их в нейронные сети. Лучше сделать данные нулевыми с Центром . Затем попробуйте технику нормализации. Это, безусловно, повысит точность, поскольку данные масштабируются в диапазоне, отличном от произвольно больших значений или слишком малых значений.

Примером изображения будет: -

Введите описание изображения здесь

Вот объяснение этого из лекций Stanford CS231n 2016.

*

Нормализация относится к нормализация измерений данных таким образом, чтобы они имели приблизительно одинаковый масштаб. Для данных изображений существует два общих способа достижения этой нормализации. Один из них состоит в том, чтобы разделить каждое измерение на его стандартное отклонение, как только оно будет центрировано на ноль:
(X /= np.std(X, axis = 0)). Другая форма этой предварительной обработки нормализует каждое измерение так, что min и max вдоль измерения равны -1 и 1 соответственно. Имеет смысл применять эту предварительную обработку только в том случае, если у вас есть основания полагать, что разные входные данные функции имеют разные масштабы (или единицы измерения), но они должны иметь примерно одинаковое значение для алгоритма обучения. В случае изображений относительные масштабы пикселей уже примерно равны (и находятся в диапазоне от 0 до 255), поэтому нет строгой необходимости выполнять этот дополнительный этап предварительной обработки.

*

Ссылка для приведенного выше отрывка: - http://cs231n.github.io/neural-networks-2/

Это, конечно, поздний ответ для этого поста, но, надеюсь, поможет тем, кто наткнется на этот пост.

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

Основная суть статьи гласит

1) поскольку данные (изображения) мало в NN должны быть масштабированы в соответствии с размером изображения, которое NN предназначен для принятия, обычно квадрат, т. е. 100x100, 250x250

2) Рассмотрим среднее значение (левое изображение) и стандартное отклонение (правое изображение) всех входных изображений в вашей коллекции определенного набора изображений

Введите описание изображения здесь

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

4)уменьшение размерности RGB до изображения в оттенках серого, производительность нейронной сети может быть инвариантной к этому измерению или сделать задачу обучения более прослеживаемой Введите описание изображения здесь

Есть чтение через это , надеюсь, что это будет полезно. Идея состоит в том, чтобы разделить входное изображение на части. Это называется R-CNN (здесь приведены некоторые примеры). Существует два этапа этого процесса: обнаружение объекта и сегментация. Обнаружение объектов-это процесс, при котором определенные объекты на переднем плане обнаруживаются путем наблюдения за изменениями градиента. Сегментация-это процесс, при котором объекты объединяются в изображение с высоким контрастом. Использование детекторов изображений высокого уровня байесовская оптимизация, которая может определить, что может произойти дальше, используя локальную точку оптимизации.

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

Надеюсь, вся эта информация вам пригодится!