Среднее значение вычитания - PullRequest
0 голосов
/ 29 мая 2018

Меня смущает, полезно ли в моем случае вычитание среднего значения изображения.

Я тренирую сеть SegNet с изображениями дорог и вычитаю среднее во время обучения.

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

Я понимаю важность среднего вычитания, поскольку оно уменьшает эффект разнообразного освещения, а такжепомогает в расчете градиента в процессе обучения.Но разве это не значит, что я теряю важную информацию?Я прилагаю изображения для справки.

Оригинал

Original image

со средним вычитанием

Mean subtraction

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

Мы будем очень благодарны за объяснение или ссылку на какой-либо источник, который может объяснить это.Спасибо.

1 Ответ

0 голосов
/ 29 мая 2018

Здесь нужно учесть две вещи:

  1. Сами значения пикселей
  2. Как эти значения отображаются на экране

Если вашimages имеет целочисленный тип без знака (скажем, uint8), и вы вычитаете среднее значение, не переводя изображение в другой тип, вы, скорее всего, уничтожите информацию об изображении.Например, если ваше изображение содержит значения пикселей

204 208 100  75  86

, а среднее значение равно 100,3, результат uint8 вычитания этого среднего значения равен

104 108   0   0   0    -- saturated subtraction

или

* 1018.*

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

Правильно, конечно, использовать значения с плавающей точкой:

103.7  107.7   -0.3  -25.3  -14.3    -- floating-point subtraction

В этом случае данные по-прежнему содержат точнота же информация, только теперь она имеет нулевое среднее значение.

Теперь, как отобразить это изображение с нулевым средним на экране?Вы можете либо сопоставить каждое значение от <0 до 0, и каждое значение> от 255 до 255, чтобы значения за пределами допустимого диапазона [0,255] были насыщенными;или вы можете найти минимальные и максимальные значения в ваших данных, линейно отобразить значения пикселей в допустимый диапазон.В первом случае это будет выглядеть так, как будто вы испортили изображение (как в вашем примере), во втором случае оно будет выглядеть не сильно измененным на изображении.То есть, нет способа показать изображение на экране и все равно увидеть эффект среднего вычитания.

...