De implementatie en vergelijking van wiskundige modellen in het kader van beeldverwerking

Bjarne Dewilde
Een hardnekkig, wederkerend probleem in de digitale fotografie is beschadiging door ruis. Relatief eenvoudige technieken op basis van de lineaire warmtevergelijking zijn in staat de hoeveelheid ruis in een afbeelding aanzienlijk te verminderen maar kunnen geen onderscheidt maken tussen effectieve schade ten gevolge van ruis en belangrijke details. Dit probleem kan vermeden worden door a priori informatie op te nemen van structuren die behouden moeten blijven, een eigenschap die de niet-lineaire diffusievergelijking, zoals Perona-Malik, bezit.

SOS-wiskunde: het creëren van ruisvrije foto’s

Het is niet ongewoon dat het nemen van de perfecte foto veelal resulteert in een tegenvallend resultaat. Een hardnekkig, wederkerend probleem in de digitale fotografie is beschadiging door ruis. Via geavanceerde wiskundige vergelijkingen kunnen we dergelijke foto’s herstellen zonder hun kwaliteit te verminderen. 

Beeld u in: een adembenemende zonsondergang op een zwoele zomeravond. Het ongeziene schouwspel van licht en kleur wordt enthousiast vastgelegd met de beste digitale fotocamera voorhanden. Helaas blijkt het eindresultaat slechts een slechte kopie van de werkelijkheid te zijn. Het is namelijk niet ongewoon dat het nemen van een foto resulteert in een afbeelding van matige tot slechte kwaliteit ten gevolge van ongunstige omgevingsfactoren of camera-instellingen. Een vaak voorkomend probleem is beschadiging door ruis waardoor een “korrelig” effect kan ontstaan.

Soorten ruis

In de praktijk onderscheidt men twee veelvoorkomende vormen van ruis: Gaussische ruis en “zout en peper” ruis. Het verschil tussen beide soorten wordt visueel aangetoond in Figuur 1. Links bevindt zich een onbeschadigde afbeelding van een kattenoog met daarnaast dezelfde afbeelding respectievelijk beschadigd door 50% Gausissche ruis en 10% “zout en peper” ruis.

Figuur 1: De twee verschillende soorten ruis

Het probleem

Het wegwerken van dergelijke beschadigingen is meestal gemakkelijker gezegd dan gedaan. Men zou de afbeelding kunnen vervagen waardoor de ruis minder zichtbaar wordt. Het grote nadeel van deze werkwijze is dat details eveneens uitgevaagd worden waardoor belangrijke informatie verloren gaat. Dit zorgt ervoor dat dergelijke oplossingen onbruikbaar zijn in veel praktische toepassingen zoals het herstellen van röntgenfoto’s. Er is bijgevolg nood aan geavanceerdere technieken die in staat zijn schade ten gevolge van ruis en belangrijke details te onderscheiden. Voor mensen is dit een vanzelfsprekende opgave, wij zien namelijk een duidelijk verschil tussen beschadigde oppervlakken en details zoals randen en texturen. Een computer beschikt uiteraard niet over een paar ogen en interpreteert een afbeelding bijgevolg op een andere manier. Een digitale afbeelding wordt voorgesteld door een grote verzameling kleine vierkantjes (pixels) die een bepaalde kleur aannemen bepaald door een bijbehorende pixelwaarde. Een computer interpreteert een afbeelding dus als een grote verzameling getallen die elk een bepaalde kleur voorstellen. Dit principe is weergegeven in Figuur 2. Het is niet zo evident om uit een verzameling pixelwaarden af te leiden welke ruis of belangrijke details voorstellen. Er is nood aan een techniek die deze waarden op een intelligente manier kan interpreteren.

Figuur 2: De pixel representatie van een digitale afbeelding

Wiskunde to-the-rescue

Voor iedereen die zich weleens afvroeg waarvoor wiskunde zoal nuttig kan zijn volgt nu een interessante toepassing; een oplossing voor bovenstaand probleem kan namelijk gevonden worden door beroep te doen op een niet-lineaire diffusievergelijking, waarvan de Perona-Malik vergelijking een bekend voorbeeld is. Voor sommigen klinkt deze benaming misschien al angstaanjagend en complex, gelukkig kan het idee en werkwijze achter deze vergelijking vrij eenvoudig aangekaart worden.

Om te bepalen of een pixelwaarde al dan niet beschadigd is, wordt nagegaan in hoeverre deze pixelwaarde afwijkt van de pixelwaarden van zijn buren. Het is namelijk zo dat de pixelwaarde van een beschadigde pixel een grotere afwijking vertoond ten opzichte van de pixelwaarden van zijn directe buren aangezien die een opvallend verschillende kleur voorstellen. Pixels die deel uitmaken van dunne lijnen of egale oppervlakken zullen daarentegen telkens één of meerdere buren hebben die ongeveer dezelfde pixelwaarde aannemen. Om de locatie van deze randen in een afbeelding na te gaan kan gebruik gemaakt worden van de gradiënt. Dit is een wiskundig begrip die de maat van afwijking t.o.v. de omgeving voorstelt. In het kader van beeldverwerking zal de gradiënt van een pixel dus een indicatie geven in hoeverre de pixelwaarde afwijkt ten opzichte van de pixelwaarden van zijn buren. Concreet zal een grote gradiënt duiden op een beschadigde pixel terwijl een matige tot kleine gradiënt duidt op een egaal oppervlak of rand aangezien nabijgelegen pixelwaarden weinig tot niet verschillen.

In een volgende stap worden enkel de beschadigde pixels aangepast waardoor de hoeveelheid ruis aanzienlijk verminderd zonder de belangrijkste details en randen te verliezen. Wanneer het resultaat, bekomen via deze geavanceerdere werkwijze, vergeleken wordt met het uniform vervagen van de volledige afbeelding, is duidelijk te zien dat meer informatie behouden blijft.

Realisaties en resultaten

Om de exacte werking van dergelijke wiskundige vergelijkingen en hun parameters te bestuderen werd een gebruiksvriendelijke applicatie ontwikkeld waarmee gemakkelijk beschadigde afbeeldingen ruisvrij gemaakt kunnen worden. Concreet werden de hierboven vermelde Perona-Malik vergelijking, een methode op basis van fractionele diffusie en de naïeve methode op basis van vervagen geïmplementeerd. In Figuur 3 worden al deze technieken onderling vergeleken om te bepalen welke de beste resultaten oplevert. Dit gebeurt door de beschadigde afbeeldingen in Figuur 1 te herstellen via alle oplossingsmethoden en deze vervolgens onderling te vergelijken. Van links naar rechts is te zien: de beschadigde afbeelding, het resultaat na vervagen, het resultaat bekomen via de Perona-Malik vergelijking en het resultaat bekomen door middel van fractionele diffusie. Meteen valt op hoe het eenvoudigweg vervagen van beide soorten ruis inderdaad leidt tot een wazig en in de praktijk meestal onbruikbaar eindresultaat. Om na te gaan welke geavanceerde techniek de beste eindresultaten oplevert, moeten we een onderscheid maken naargelang het type ruis. Gaussische ruis wordt namelijk het best weggewerkt via de Perona-Malik vergelijking aangezien die het scherpste eindresultaat oplevert terwijl “zout en peper ” ruis overduidelijk het best verwijderd wordt via fractionele diffusie. Er kan bijgevolg geen eenduidig oordeel geveld worden omtrent de beste geavanceerde methode aangezien beiden gespecialiseerd zijn in het verwijderen van een ander type ruis.

Figuur 3: De eindresultaten bekomen via de verschillende technieken bij het herstellen van een door Gausissche ruis en "zout en peper" ruis beschadigde afbeelding

Het moge dus duidelijk zijn dat deze geavanceerde wiskundige technieken in staat zijn om hedendaagse problemen, zoals het herstellen en verbeteren van beschadigde afbeeldingen, efficiënt op te lossen. Het is met andere woorden dankzij dergelijke onderzoeken dat we weer een stapje dichter staan bij het accuraat fotograferen van de meest adembenemende zonsondergangen op zwoele zomeravonden.

Bibliografie

A. Devos, „digitale beeldverwerking met behulp van partiële differentiaalvergelijkingen,” UGent, Gent, België, 2017.

Nederlandse encyclopedie, „Digitale afbeeldingen - definitie - Encyclo,” Encyclo, 15 februari 2007. [Online]. Available: https://www.encyclo.nl/begrip/digitale%20afbeeldingen. [Geopend 5 mei 2019].

„Raster Data Models,” Humboldt State University, 2014. [Online]. Available: http://gsp.humboldt.edu/olm_2015/Courses/GSP_216_Online/images/raster.j…. [Geopend 5 mei 2019].

G. Benz, „8, 12, 14 vs 16-Bit Depth: What Do You Really Need?!,” PetaPixel, 19 september 2018. [Online]. Available: https://petapixel.com/2018/09/19/8-12-14-vs-16-bit-depth-what-do-you-re…. [Geopend 6 mei 2019].

18 juli 2008. [Online]. Available: https://digamation.files.wordpress.com/2008/07/digamation-bit-depth1.jpg. [Geopend 27 mei 2019].

O. Shipitko, „What does “stride” mean in image processing?,” Medium, 23 oktober 2018. [Online]. Available: https://medium.com/@oleg.shipitko/what-does-stride-mean-in-image-proces…. [Geopend 5 mei 2019].

P. Paalanen, „A programmer's view on digital images: the essentials,” Collabora, 16 februari 2016. [Online]. Available: https://www.collabora.com/news-and-blog/blog/2016/02/16/a-programmers-v…. [Geopend 5 mei 2019].

„Image file formats,” Wikipedia the free encyclopedia, 16 april 2019. [Online]. Available: https://en.wikipedia.org/wiki/Image_file_formats. [Geopend 6 mei 2019].

„Gaussian noise,” Wikipedia, 8 maart 2019. [Online]. Available: https://en.wikipedia.org/wiki/Gaussian_noise. [Geopend 13 mei 2019].

B. Li en W. Xie, „Image denoising and enhancement based on adaptive fractional calculus of small probability strategy,” South China University of Technology, Guangzhou 510640, China, 2015.

P. Perona en J. Malik, „Scale-space and edge detection using anisotropic diffusion,” IEEE Transactions on pattern analysis and machine intelligence, 1990.

M. Black, G. Sapiro, D. Marimont en D. Heeger, „Robust anisotropic diffusion,” in IEEE Transactions on image processing, 1998, p. 421–432.

J. Kačur, Method of Rothe in evolution equations, Leipzig: Teubner, 1985.

R. L. Gomes, „Is numpy really that much faster,” Rodney's Corner, 9 april 2017. [Online]. Available: https://rlgomes.github.io/work/python/numpy/python3/2017/04/02/15.11-is…. [Geopend 8 mei 2019].

„Peak signal-to-noise ratio,” Wikipedia the free encyclopedia, 14 maart 2019. [Online]. Available: https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio. [Geopend 22 mei 2019].

A. Rosebrock, „How-To: Python Compare Two Images,” pyimagesearch, 15 september 2014. [Online]. Available: https://www.pyimagesearch.com/2014/09/15/python-compare-two-images/. [Geopend 18 maart 2019].

„Structural similarity,” Wikipedia the free encyclopedia , 9 mei 2019. [Online]. Available: https://en.wikipedia.org/wiki/Structural_similarity. [Geopend 22 mei 2019].

Universiteit of Hogeschool
Bjarne Dewilde
Publicatiejaar
2019
Promotor(en)
Prof. Dr. Marian Slodička & Dr. Karel Van Bockstal
Kernwoorden
Share this on: