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

Алгарытмы паляпшэння выяваў у ВПЗ: падаўленне шумоў

Антон Літвіненка, Кіеў, Ukraine

LVEE Winter 2013

A review of image denoising enhancement algorithms devilered by FLOSS projects is provided together with discussion of their end-user characteristics and some theoretical aspects.

Лічбавая апрацоўка выяваў надае шырокія магчымасці паляпшэння іх якасці, ў прыватнасці ў выпадку, калі тэхнічныя магчымасці фотаапаратуры (ці іншых сродкаў атрымання выявы) не дазваляюць атрымання якаснага выніку адразу, альбо ж з любых іншых прычынаў не атрымалася стварыць выяву належнае якасці.

Тэарэтычныя засады працэсу паляпшэння выяваў грунтуюцца на тэорыі хібнасцяў, тэорыі інфармацыі ды тэорыях чалавечаскага зроку. Варта мець на ўвазе наступныя палажэнні:

  1. Канчатковай мэтай працэсу паляпшэння якасці з’яўляецца атрыманне выявы, якая спрыймалася б чалавечаскім зрокам як больш дасканалая ў параўнанні з арыгіналам. Такім чынам, фармальныя крытэры (зашумленасць, наяўнасць артэфактаў ці скажэнняў і г.д.) з’яўляюцца выключна дапаможнымі (і выяўленне іх сувязі з успрыйняццём чалавечаскім зрокам з’яўляецца нетрывіяльнай задачай навукі і мастацтва). Напрыклад, празмернае падаўленне шуму можа прызвесці да горшага выніку (“пластмасавы твар”), чым частковае.
  2. Недахопы выявы, як правіла, маюць пэўны ўзор, які дазваляе адрозніць іх ад карыснай інфармацыі паводле фармальных крытэраў, якія могуць вылічацца праграмна ў аўтаматычным ці напаўаўтаматычным рэжыме. Напрыклад, г.зв. “гарачыя пікселы” (дэфектныя элементы матрыцы) рэзка адрозніваюцца ад суседзяў – як правіла, маюць максімальнае значэнне ў адным канале RGB (ці ў некалькіх).
  3. Алгарытмы паляпшэння бяруць усю неабходную інфармацыю для пабудовы выніковага здымку выключна з арыгінальнай выявы. Калі гэтая інфармацыя фізічна адсутнічае, паляпшэнне немагчыма (з выявы 100×100 немагчыма зрабіць стэнд А0).
  4. Тым не менш, пэўная колькасць карыснай інфармацыі заўсёды губіцца ў працэсе паляпшэння.

Выдаленне шумоў.

У сучаснай фатаграфіі асноўным аб’ектам выдалення шумоў з’яўляецца цеплавы шум сенсара (лічбавых камер альбо сканераў). Выкарыстанне высокіх значэнняў святлоадчувальнасці ды неабходнасць асвятляць цёмныя фрагменты выявы робяць шумы даволі заўважнымі. Узор такога шуму – невялікія выпадковыя адхіленні ад “правільных” значэнняў з пэўным статыстычным размеркаваннем.

  • Лічбавы шум з’яўляецца каляровым і даволі непрыемным на выгляд;
  • У кампактных камерах з няпоўным (cropped) кадрам заўважны шум можа пачынацца на ISO 200, а ў найпрасцейшых – нават на ISO 100.
  • Для чалавечаскага вока монахромны шум выглядае прыемней каляровага, таму падаўленне шума можа застасоўвацца толькі да інфармацыі пра колер піксела (як правіла, ў каляровай прасторы LAB), пакідаючы некранутай інфармацыю пра яркасць.
  • Часам карыстальнікі блытаюць лічбавы шум і плёўкавае зярно, з якім зараз амаль не даводзіцца мець справу праз высокую якасць сучаснай плёўкі (шумы сканера мацнейшыя) і эстэтычны выгляд самаго зярна (для прыгажосці здымку прыбраць шум важлівей, чым зярно).
  • Любая інфармацыя, якая абмяжоўвае агульнасць ўзору шумоў, можа і павінна быць выкарыстана. Напрыклад, у сканах каляровых негатываў C-41 большасць шумоў хаваецца ў сінім канале схемы RGB (шмат сканераў, у прыватнасці планшэтных, маюць праблемы з “выцягваннем” дадзеных сіняга каналу праз інтэнсіўную памаранчовую маску на негатывах C-41) – мэтазгодна прыбіраць шумы ў першую чаргу ў ім.

Далей будзе разглянуты шэраг алгарытмаў для выдалення шумоў з выявы і іхнюю рэалізацыю ў вольных праграмных прадуктах: GIMP (GPL3+), ImageMagick (Apache 2.0), G’MIC (+ранейшая GREYCStoration, CeCILL license), Krita (GPL2), ufraw (GPL).

Алгарытмы (для цеплавога шуму без “гарачых пікселаў” ды плямаў).

Размыццё (прымітыўны).

Гауссава размыццё + памяншэнне памеру. Вельмі просты, але губіцца шмат інфармацыі. Можа быць карысны пры нестандартных узорах шумоў, калі падабраць больш прасунуты спосаб падаўлення не атрымліваецца. Даступны ў любым рэдактары.

Прыклад для ImageMagick:

newsize=`convert src.tif -format "%[fx:w/4]x%[fx:h/4]" info:`
convert src.tif -blur 4x4 -resize $newsize dst.tif

Dechroma.

Гаусава размыццё каляровых каналаў A і B у схеме LAB з вялікім радыюсам (15-100). Робіць шум монахраматычным. Змяшчае каляровую гаму выявы (як правіла, пасля апрацоўкі даводзіцца дадаць чырвані). Можа быць карысны як адзін з пунктаў апрацоўкі пры моцнай зашумленасці выявы альбо як адзіны пры невялікім каляровым шуме (калі з нейкіх прычынаў непажадана кранаць канал яркасці). Даступны ў любым рэдактары, здольным працаваць са схемай LABGIMP рэалізаваны як асобны плагін dechroma).

GREYCStoration (анізатропнае згладжванне).

Алгарытм, заснаваны на выкарыстанні дыференцыяльных ураўненняў у частковых вытворных для анізатропнага (з марфалагічным аналізам і захаваннем контураў) згладжвання [1,2]. Апрача падаўлення шумоў, можа выкарыстоўвацца для павялічэння памеру выявы (з аналізам марфалогіі ды тэкстурным сінтэзам для дадатковых пікселаў), а таксама для інтэрпаляцыі выявы (для выдалення пылу, надпісаў і г.д.). У той жа час, не вельмі добра спраўляецца з моцна зашумленымі выявамі (атрымліваецца альбо “пластмасавая” выява, альбо застаюцца вялікія і хімерна пакручаныя (хаця і “выраўненыя”) плямы). Рэалізаваны як асобная праграма GREYCStoration (пазней увайшла у склад праэкту G’MIC як “anisotropic smoothing”) і плагін для GIMP (як у межах G’MIC для GIMP, так і асобна).

Wavelet denoise.

Алгарытм, заснаваны на выкарыстанні вэйвлетнай апрацоўкі дадзеных. Выдзяляе элементы выявы розных характэрыстычных памераў, некаторыя аслабляючы (падаўленне шумоў), а некаторыя узмацняючы (падвышэнне рэзкасці). Добра спраўляецца з шумамі рознай моцнасці. У той жа час, на моцна зашумленых выявах пакідае частку дэфектаў у выглядзе плямаў, падобных на вынік застасавання пудры. Апрача таго, троху мацней за GREYCStoration размывае выяву. Аптымальным з’яўляецца выкарыстанне на як мага ранейшым этапе апрацоўкі (напрыклад, выкарыстанне пры канверсіі RAW лепей ад выкарыстання пры апрацоўцы выніку канверсіі). Рэалізаваны ў GIMP (плагін), Krita, ufraw. Не рэалізаваны ў ImageMagick і G’MIC.

Асабісты досвед аўтара ў большасці выпадкаў рэкамендуе выкарыстанне фільтра wavelet denoise з пошукам аптымальных наладак (магчыма, разам з падвышэннем рэзкасці выявы), у выпадках не вельмі зашумленых кадраў -таксама GREYCStoration.

Плямы.

Гэты тып шумоў характэрызуецца тым, што значэнні пікселаў у іх цалкам выбіваюцца з шэрагу суседніх пікселаў і фрагментаў выявы, ніяк не залежачы ад іхніх “правільных” значэнняў. Іхняй прычынай могуць быць, напрыклад: пыл і бруд на матрыцы ды оптыцы, “бітыя” і “гарачыя” пікселы (сапсаваныя элементы матрыцы), пыл і драпіны на плёўках, надпісы і “вадзяныя знакі” на выяве і г.д. Агульны падыход да іх выдалення заключаецца ў знаходжанні закранутых плямай пікселаў ды іх заменай на пікселы, значэнні каторых пэўным чынам сінтэзаваныя з атачэння (гаусавым размыццём ці метадамі аналізу марфалогіі). Галоўнай праблемай з’яўляецца правільны пошук і вызначэнне межаў плям (а таксама іх адрозненне ад “карысных” элементаў выявы). З гэтай мэтай ужываецца шмат спецыфічных падыходаў.

Пошук крытычных значэнняў пікселаў.

Крытычныя значэнні (блізкія да мінімальных ці максімальных) пікселаў нехарактэрныя для тыповай фатаграфіі ці малюнка (тыповы максімальны белы колер на фатаграфіі будзе не #ffffff, а, нешта на кшталт #e5e5e5), паколькі іначай фрагменты выявы могуць выглядаць як плямы перасветаў ці недасветаў. Таму пікселы са значэннямі вышэй і ніжэй пэўных гранічных разглядаюцца як ненатуральныя. Так працуе плагін “прыбраць плямы” (despeckle) для GIMP, прыбіранне “гарачых” пікселаў ва ufraw і G’MIC. У Krita ды ImageMagick непасрэдная рэалізацыя адсутнічае (хаця ўручную можна рэалізаваць падобны алгарытм у шматлікіх рэдактарах).

Медыянныя фільтры.

Базуюцца на ізаляванасці шуму і тым, што зашумленыя пікселы выбіваюцца з агульнага шэрагу. Для фрагмента пэўнага памеру вакол піксела вылічаецца медыяннае значэнне, якое замяшчае першаснае значэнне гэтага піксела. Пасля атрыманы вынік можа пэўным чынам змешвацца із зыходнай выявай. Рэалізавана ў G’MIC (ў тым ліку G’MIC для Gimp), у скрыпце isonoise 3 на глебе ImageMagick.

Чорны кадр.

Застасоўваецца збольшага для апрацоўкі RAW. Праграме акрамя асноўнае выявы перадаецца выява, знятая пры тых жа ўсталяваннях, але ў цалкавітай цемры. Дазваляе вылучыць “бітыя” і “гарачыя” пікселы. Рэалізаваны ва ufraw.

Інфрачырвоная падсветка.

Пры сканаванні каляровых C-41 негатываў ці E-6 слайдаў робіцца дадатковы праход сканера з інфрачырвонай лампай, у святле якой праяўляюцца дэфекты плёўкі (пыл, драпіны). Рэалізавана ў шматлікіх праграмах для сканавання плёўкі (збольшага прапрыетарных). Не працуе для класічных (срэбных) чорна-белых плёвак.

Штамп і healing brush.

Павольны, але высакаякасны біямеханічны спосаб пошуку і выдалення плямаў. Рэалізаваны ў GIMP.

На жаль, абмежаваныя досвед і поспехі аўтара на ніве ачысткі выяваў ад плям пакуль не дазваляюць надаць больш-менш агульныя рэкамендацыі на гэты конт.

Прыклад (рыс. 1).
Выява-прыклад

Кадр 1: арыгінал (фрагмент сцяны касцёла св. Георгія ў Сопаце, зняты са святлоадчувальнасцю ISO 400 ў фармаце RAW на камеру з памерам сэнсара 1/1.6");
Кадр 2: Dechroma (гаўсава размыццё каналу A : 50, гаўсава размыццё каналу B : 50; Колер → Баланс колеру → 10 пунктаў у бок чырвонага);
Кадр 3: GREYCStoration у G’MIC для GIMP (амплітуда: 80, метад рашэння: Рунге-Кутта, іншыя параметры па змоўчванні);
Кадр 4: Wavelet denoise (Схема: LAB, гранічныя значэнні для L, A, B: 0,75; 1,0; 1,0; Мяккасці: 0,0 для ўсіх каналаў).

Такім чынам, вольнае праграмнае забеспячэнне надае шырокі спектр магутных тэарэтычна абгрунтаваных алгарытмаў прыбірання шумоў з лічбавых выяваў, якія даюць карыстальніку вялікі выбар інструментаў для паляпшэння якасці выяваў, першасная якасць якіх з нейкай прычыны з’яўляецца недастатковай.

1 D. Tschumperlé. “Fast Anisotropic Smoothing of Multi-Valued Images using Curvature-Preserving PDE’s”, International Journal of Computer Vision, May 2006;
2 D. Tschumperlé, R. Deriche. “Vector-Valued Image Regularization with PDE’s : A Common Framework for Different Applications”. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 27, No 4, pp 506-517, April 2005.
3 Fred’s ImageMagick Scripts: Isonoise. http://www.fmwconcepts.com/imagemagick/isonoise/index.php

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад