Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 55 reacties

Onderzoekers aan de Universiteit van British Columbia hebben een software-algoritme ontwikkeld waarmee de beeldkwaliteit van foto's die zijn genomen met goedkope en eenvoudige lenzen sterk verbeterd zou kunnen worden.

Om kwalitatief goede foto's te kunnen maken worden traditioneel grote en veelal complexe objectieven met meerdere lenzen gebruikt. Deze zijn in staat om onder andere sferische en chromatische afwijkingen voldoende te corrigeren. Compacte en veelal goedkopere objectieven kunnen dergelijke afwijkingen minder goed corrigeren, met een minder goede fotokwaliteit tot gevolg.

Onderzoekers aan de Universiteit van British Columbia stellen dat zij met een nieuw software-algoritme de kwaliteit van beelden die zijn geschoten met eenvoudige lenzen sterk kunnen verbeteren. Op de Siggraph 2013-bijeenkomst presenteerden de onderzoekers een paper waarbij de software beeldcorrecties kan uitvoeren op basis van de point spread functions van een lens, ofwel de onscherpte die ontstaat door de gebruikte optica. Door deze eigenschappen te weten kan onder andere de scherpte worden hersteld op basis van informatie uit meerdere kleurkanalen, evenals correcties op sferische en chromatische afwijkingen.

Sample van nieuw software-algoritme

Volgens de onderzoekers kan met het nieuwe software-algoritme de kwaliteit van veel foto's die gemaakt worden met goedkope lenzen worden verbeterd. Wel zou het algoritme nog moeite hebben met beelden wanneer er meerdere point spread functions op verschillende afstanden worden gedetecteerd. Ook bij diafragma's groter dan f/2 zou het algoritme nog niet goed werken.

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (55)

Canon heeft een soortgelijke technologie al ruim een jaar in z'n DPP raw-converter.
Daar heet het Digital Lens Optimizer.

Hieronder een voorbeeld met een ultra-wide-angle objectief.
http://www.martinbaileyph...l-digital-lens-optimizer/

Hier hoe te gebruiken van Canon Japan:
http://web.canon.jp/imaging/dlo/howto/index.html

En hier nog wat uitleg van het Canon Professional Network (waar ik ook lid van ben)
http://cpn.canon-europe.c..._11_software_explained.do

Hij rekent dan aan de hele raw-file welke dan een stuk groter wordt.

[Reactie gewijzigd door MadButcher op 30 september 2013 16:51]

Da's iets heel anders. Dat is software die de inherente vervorming van een objectief corrigeert. Zit sinds een paar jaar bijv standaard in Adobe Photoshop, Lighroom en Camera RAW. Daarmee kun je "geometric distortion", "chromatic aberration", en "vignetting" fixen. Gebruikers kunnen zelf ook "lens corrections" maken en die voor anderen beschikbaar stellen.

Een aantal Alpha-camera's van Sony hebben ook ingebouwde objectiefcorrectie. Er zullen vast meer merken zijn die hetzelfde trucje kennen.

[Reactie gewijzigd door ymmv op 30 september 2013 19:37]

Dan heb je niet goed gelezen.
Correcties voor chromatische abberatie, vervorming en vignettering zaten al veel langer in Canon's DPP.
Dat is ook algemeen bekend gemeengoed.
Dit is nu het totale lijstje van de DIgital Lens Optimizer:

- Spherical aberration – this is image blur occurring in the centre of the image.
- Curvature of field – this is blurring at the periphery of the image caused as a result of the lens’ focussing surface being curved.
- Astigmatism – this is the blurring in the radial and circular directions at the image periphery.
- Comatic aberration – this appears at the periphery of the image in a radial direction as image streaking or colour blurring.
- Sagittal halo – this appears in the periphery of the image as a circular blur.
- Chromatic aberration of magnification – this is the chromatic blurring at the periphery of the image.
- Axial chromatic aberration – this is the mainly violet coloured blur that occurs in the centre of an image that has pinpoint light sources.

[Reactie gewijzigd door MadButcher op 1 oktober 2013 06:34]

Wat niet is vastgelegd, wat niet is gefotografeerd, kan je ook niet te voor schijn toveren.

Het lijkt mij dat ze algoritmes hebben ontwikkeld die nog beter de beschikbare informatie (uit de verschillende kleur kanalen) kan gebruiken in combinatie met vooraf bekende informatie van de lens, om zo tot een beter beeld te komen. Dat maakt het geen betere foto. Het is een betere interpretatie. Bovendien, goedkope lenzen zijn vaak niet zo standaard, per versie kunnen ze verschillen. Hoe het beeld op de sensor valt, kanook net anders zijn. Als je dat echt wil, zou je dan de input vwb de lensfouten dat per lens moeten invoeren? Ik ben benieuwd.

Het lijkt me juist ook interessant voor de wat betere toestellen, met dedicated hard- en software zou het een stuk sneller moeten kunnen dan nu via een generiek CPU. Voordeel is dat na bewerken veel minder nodig zal zijn. Wat ik alleen niet opmaak uit het verhaal of er ook nog ergens verlies optreed, bv kleur of contrast. Voor wat hoort wat vaak...

.
Je kan volgens bepaalde algoritmes een beeld reconstrueren, maar het zal nooit zo goed worden als het organeel. Je kunt ook op basis van ervaringen bepaalde beelden verbeteren. Als camera een ding ziet met een stam en groene blaadjes aan de bovenkant, kan het beeld zodanig worden geoptimaliseerd dat de boom er beter uit ziet. Maar het zou zomaar kunnen dat het algoritme er informatie bij verzint om die boom te reconstrueren.

De spreiding in lenzen zou je kunnen opheffen door de camera-lens combinatie te kalibreren bij ingebruikname. Hiervoor moet dan wel een testbeeld op of in de verpakking worden toegevoegd.

[Reactie gewijzigd door GJvdZ op 30 september 2013 17:34]

Volgens het filmpje op hun website hebben ze een calibratiestap, waarin dmv. een foto van een bepaald patroon te nemen de afwijking voor een specifieke lens achterhaald kan worden.
Waarom moet ik spontaan denken aan CSI: enhance ... enhance ... enhance ... enzo verder.

Verder een mooie nieuwe ontwikkeling die ook wel gebruikt kan worden in telefooncamera's om de scherpte er nog wat meer in te brengen,

edit: typo

[Reactie gewijzigd door Jump op 30 september 2013 15:50]

Het verschil zijnde dat bij CSI de nieuwe informatie (weerspiegeling van de dader in een schroef op het nummerbord) uit het niets wordt gecreeerd, waar die hier geextrapoleerd wordt aan de hand van bekende eigenschappen van de camera. Erg slim bedacht, een voorspelbare afwijking kan gecorrigeerd worden.

Als de smartphonemakers nu bij zinnen komen en accepteren dat met een 1/4"-1/2" sensor 5MP beter werkt dan 20, wordt het misschien ooit nog mogelijk leesbare fotos te maken met een smartphone.
Megapixels
Ja, goede opmerking over die megapixels. okay.. 4 mp is wel weer erg weinig, maar 41 is misschien wel weer een beetje over the top. Overigens... helemaal afhankelijk van je wensen natuurelijk !! (41MP is best leuk :-))
Leuk artikel hierover http://connect.dpreview.c..._medium=text&ref=mainmenu

Zoom or not-to-zoom
Het wordt echter wel nog een factorx moeilijker wanneer het zoomlens zou betreffen. Bij een Prime lens (vaste brandpunts afstand) heb je slechts één situatie, maar bij een zoomlens zijn de karakteristieken van de lens op elke brandpuntsafstand weer anders. lijkt mij een stuk ingewikkelder analyseren

Retro-perspective
Als in de Exif gegevens is vastgelegd welke lens gebruikt is, dan lijkt het me gewoon mogelijk om het ook nog op archief beelden toe te passen, mits er voor die specifieke lens natuurlijk een profiel beschikbaar is.

Beetje off-topic, maar een tijdje geleden zag ik een idee van Adobe in uitvoering waarbij de shake-blur in een foto geanalyseerd werd (beweging van de camera zelf dus) door de tool en zodoende het hele beeld aanzienlijk verbeterd werd. Dus die hele analyse en verbeteringen daardoor is dus wel zeker mogelijk in de nabije toekomst!

Shit daar gaat de Unique Selling Point van een professionele fotograaf, de verschillen worden steeds kleiner. Dan maar verder onderscheiden op gebied van framing en creativiteit!!!
En toch zou ook dat niet zo 'lastig' moeten zijn. Misschien zou een niet traploze lens een uitkomst kunnen zijn, bij iedere trap weet je de afwijking van de lens weer. Een vorm van welk algoritme bij welke trap en je bent er! Traploos zou zelfs kunnen gezien dat toch stiekem altijd berekenbaar is, volgens mij weet een camera nu al prima hoe/wat.

Ik ben benieuwd hoeveel rekenkracht hier bij komt kijken en wat dit zou kunnen beteken voor smartphones
Ja, zou kunnen. Ook in DSLR's zie je steeds vaker de correctie van vertekening en vignetering enzo, ook voor zooms.
4MP is op een smartphone echt niet te weinig. Als je een 8-12MP foto en een 4MP naast elkaar zet, heeft de 4MP minder pixels, maar maakt dat weer goed door meer helderheid bij laag licht en betere kleurreproductie, waar bij 12MP de foto uitgezoomd al donkerder is en je op 100% zoom alleen maar ruis ziet, als zo'n schilderij dat uit individuele stippen is opgebouwd. Dat was aan de smartphonereviews hier op Tweakers (en bij de buren) heel duidelijk te zien de afgelopen jaren.

[Reactie gewijzigd door Origin64 op 2 oktober 2013 07:48]

Dat ben ik met je eens hoor. Hoewel 4mp dan toch wel een ondergrens bereikt heeft voor mij. Eerlijk gezegd... de 4mp op de HTC One was voor mij de deal breaker om hem uiteindelijk niet te kopen.

In low-light prima enzo, maar de plaatjes overdag missen voor m'n gevoel de crispness (ja sorry... da's geen goed Nederlandsch) van wat een foto uit een smarphone moet bieden. Maar goed... da's mijn smaak hè
Da's natuurlijk mogelijk, ja. Schijnt dat de nieuwe iPhone het door een paar trucjes ook iets beter doet in het donker, zelfs met die kleine pixels.
Waarom moet ik spontaan denken aan CSI: enhance ... enhance ... enhance ... enzo verder.
Daar dacht ik ook meteen aan :P

Wel een interessante ontwikkeling. Zou dit tekst etc. ook beter leesbaar maken? Het lijkt me nl. niet dat je meer uit zo'n foto kunt halen dan erin zit.
Zou dit tekst etc. ook beter leesbaar maken? Het lijkt me nl. niet dat je meer uit zo'n foto kunt halen dan erin zit.
Ik zou verwachten van wel.

Je hebt gelijk als je stelt dat je er niet meer informatie uit kan halen dan die in het plaatje zit... maar in veel gevallen is het probleem met een onscherp plaatje niet dat de informatie weg is, maar eerder dat de informatie een slecht herkenbare vorm aangenomen heeft.

Om er wat wiskundige termen tegen aan te gooien:
Een geblurd plaatje bestaat uit de convolutie van een scherp plaatje met de PSF (point spread function).
Als je dan de (versimpelde) situatie bekijkt waar de PSF constant is voor het hele plaatje, dan volgt uit de convolutiestelling dat je het geblurde plaatje krijgt door de fouriertransform van het scherpe plaatje te vermenigvuldigen met de fouriertransform van de PSF, en vervolgens de inverse fouriertransform te nemen van het resultaat.
Om vanuit je geblurde plaatje weer een scherp plaatje te krijgen moet je de inverse convolutie met de PSF nemen, wat volgens de convolutiestelling gelijk is met: de fouriertransform van het geblurde plaatje delen door de fouriertransform van de PSF, en vervolgens de inverse fouriertransform nemen.
Wiskundig gezien is het dus theoretisch mogelijk om een geblurd plaatje weer mooi scherp te maken, onder de volgende voorwaarden:
1. de PSF is op een of andere manier bekend.
2. de fouriertransform van de PSF is op geen enkel punt gelijk aan 0... want delen door 0 mag niet.

In de praktijk zijn er natuurlijk nog een aantal punten die meespelen... zo kan de deconvolutie bijvoorbeeld artifacts opleveren aan de randen. Ook kan het zijn dat de ruis in het plaatje versterkt wordt.

Het bovenstaande kan je in principe verifieren met een softwarepakket zoals Mathematica:
1. importeer een scherp plaatje
2. maak een matrix M1 met een PSF
3. blur het scherpe plaatje door een convolutie te maken met matrix M1
4. maak een matrix M2 = InverseFourier[ 1 / Fourier[ M1 ] ] (let op... in deze stap kan het fout gaan als er punten zijn waar de fouriertransform van de PSF gelijk is aan 0)
5. maak een convolutie van het geblurde plaatje met matrix M2. Als het goed is heb je nu weer een scherp plaatje... mogelijk met wat artifacts.
Wat ik begrijp is het niet zo dat achteraf de foto scherper gemaakt wordt, maar dat er eerder bewerkingen wordt gedaan op data uit de sensor. Hier heb je nog beschikking over de losse RGB kanalen voordat deze gecombineerd worden tot een foto. Kortom, je hebt dan nog meer mogelijkheden met je data dan nadat je er een statische foto van maakt.
Waarom moet ik spontaan denken aan CSI: enhance ... enhance ... enhance ... enzo verder.
We komen inderdaad wel steeds meer die richting op. Laatst photopshop die onscherpe foto's weer scherp kan krijgen. En dan nu dit.

Alleen wat ik mij afvraag:
Een foto die met 2mp is genomen. Deze scale je up naar 4mp. Door interpolatie is het mogelijk om in ieder geval een redelijke foto te krijgen zonder pixels. Alleen met als nadeel dat je foto niet meer scherp is. Wat doet de software van bijv. Adobe of deze in dat geval?

Of krijg je dan van die praktijken die je hebt met de renders van SNESX? Dat je wel een scherp beeld krijgt, maar doordat interpolatie niet weet om wat voor een figuur het gaat, krijg je je een misvormde figuren...
Wat het artikel al aangeeft is dat het niet zo zeer gaat om het 'creeren' van extra data, iets waar het bij opschalen wel om gaat. Dit algoritme zal mijns inziens dan ook totaal niet effectief zijn bij het opschalen van plaatjes. Daar zijn interpolatie-algoritmes voor, die op basis van omliggende pixels beslissen welke kleur het beste past. Hoe Adobe het tegenwoordig doet weet ik niet precies.

De reden dat dit algoritme niets met opschalen doet is omdat je in het geval van de onscherp genomen foto @ 10 MP ook daadwerkelijk 10 MP kleurdata hebt. En alhoewel die dan niet zo scherp is als met een beter objectief, is de data wel op bepaalde manier opgebouwd, namelijk volgens de brekingen van de gebruikte lens.

Als je die tekortkomingen van de lens in kaart brengt kun je daarmee die tekortkomingen opheffen en een scherpere foto creeeren. Wat ze bijvoorbeeld concreet kunnen gebruiken is onscherpte door breking van de verschillende kleuren. Elke golflengte breekt net iets anders, hetgeen ook onscherpte tot gevolg heeft. Maar als je deze kleuren in de foto weer weet te verenigen dan heb je weer een scherpere foto. Zo werken nabewerkingstools voor foto's ook, maar dat werkt dus wederom alleen met echte foto's, niet met een plaatje op internet wat je van 5MP naar 10MP opschaalt.

Bij SNESX gaan ze gok ik anders te werk. Indien je namelijk een plaatje opschaalt en alsnog contrast wil behouden, zul je flink wat truuks uit de kast moeten halen. Hierdoor krijg je rare vormen, omdat het algoritme deze 'erbij moet verzinnen' als het ware. Resultaat, een 'scherp' plaatje, maar of het er goed uitziet...nee daar ben ik het dan niet mee eens. Hetzelfde krijg je als je een plaatje opschaalt en dan tot in den treure gaat verscherpen, ondanks dat je plaatje ongetwijfeld 'scherper' lijkt te worden blijft er uiteindelijk niks meer van over en gaat het er zelfs 'vies' uitzien.

[Reactie gewijzigd door A Lurker op 30 september 2013 16:31]

Dit is gewoon het in detail meten van de afbeeldingsfunctie, van object naar sensor, en het inverteren van die functie.
Waarom jij daaraan moet denken, weet geen mens. Wat ze in dat soort tv-series doen, zal nooit werken. Informatie die er niet is, kun je ook niet tevoorschijn halen. Wat je wel kunt doen, is info toevoegen, maar dan sluiten we de verkeerde mensen op :+
Zou je dit algoritme ook kunnen toepassen op de iets wat crappy foto's die gemaakt zijn met duurdere lenzen? Kun je er nóg meer uithalen...?
Deconvolutie om het effect van de beeldvormingschain weg te rekenen is zo oud als de straat, maar werd vermeden om dat het een hoop artefacten introduceert. Het vernieuwende hieraan is eigenlijk het opleggen van die extra constraint, namelijk dat randen in elk van de drie kanalen samen moeten vallen. Deze constraint help het iteratieve optimalisatiealgoritme naar een goede oplossing te convergeren. Iteratieve deconvolutie blijft echter data-dependent en berekeningstijden zijn dus afhankelijk van wat je raw schiet.

Het meest vervelende aan deze aanpak is de vereiste calibratie. Bovendien is die calibratie alleen maar geldig voor 1 bepaalde zoominstelling. Draai je aan je lens voor een lichtelijk andere zoom... poef! Opnieuw calibreren.

Fijn dat deconvolutie terug wat aandacht krijgt.
Nee. Het enige wat je hiermee kan is de vervorming van lenzen compenseren. Een slechte foto uit een goed apparaat is een goede weergave van matige belichting/compositie/scherpte, niets wat de lens zijn schuld is dus :-)
Dus eigenlijk is dit slechts een doorontwikkeling van iets wat we al een tijdje hebben. Vrijwel iedere moderne camera is in staat vervorming te compenseren. Nu wordt er alleen nog wat gerommeld om het beeld scherper te doen lijken.
Ja en nee, het gaat natuurlijk om meer dan 'vervorming' het gaat echt om onscherpte en kleurafwijkingen. Dit gaat dus veel verder dan de tele- of groothoeklenscompensatie die inderdaad vrij standaard is.
Zoals de berekeningen voor de Hubble foto's, voor de upgrade?
Ik gok dat niet post-save gaat werken maar eerder met de image data van de cmos.
Klinkt erg mooi, alleen jammer van de 2 laatste zinnen.

Overigens zien de voorbeelden die ze geven er echt belachelijk veel beter uit.
Hopelijk kan dit snel verbeterd worden en zijn weg vinden naar consumenten electronica.

Ik ben benieuwd hoe veel rekenkracht hiervoor nodig is. Het zou bijv op telefoon hardware snel moeten kunnen draaien.
Heb je het filmpje gezien? ( http://player.vimeo.com/video/61495125 )
Ik probeerde de QR-code te scannen, maar dat lukte niet. Maar hij ziet er bijna goed genoeg uit daarvoor.
De QR-code stuur je door naar m.paybyphone.com. Verbazingwekkend algoritme :) Vraag me wel af wat nou beoordeeld wat een "Slechte" lens is. Is bijvoorbeeld een kitlens van een DSLR een "Slechte" lens?
Vooral lenzen in smartphones lijkt me. Ze maken mensen wijs dat je geweldige foto's mee kunt maken want ze hebben wel 13mp sensor! Ze zeggen er niet bij dat de lens vooral de beperkende factor is, en meer MP's op een sensor van het zelfde formaat ook niet helpt.

Mensen weten dat steeds meer, dus nu moeten ze iets verzinnen om toch met crappy lenzen betere foto's te maken. En voor de voorbeelden gebruiken ze natuurlijk de 'ideale' slechte foto. Zoals het artikel al zegt zijn er nog wat probleem gevallen.

Ja, je kunt het war verbeteren, maar je hebt per definitie contrast verlies. Die compenseren ze dan ook weer.

Linksom of rechtsom. Als je goede kwaliteit foto's wilt maken moet je investeren in apparatuur, beginnend bij een goede lens.
Volgens mij is het niet alleen crappy lenzen maar vooral kleine lenzen en kleine sensoren (met daarop te veel pixels). Het simpele feit is dat te weinig licht wordt opgevangen, waardoor een echt goede beeldkwaliteit onmogelijk is. Dat zijn gewoon natuurwetten.

Daarentegen vinden veel mensen iets al snel een goede foto en als je ze op een bepaalde manier deelt en niet op de pixel gaat zitten staren, dan is daar niets mis mee.
Veel pixels helpen opzich wel tegen weinig licht. In beperkte mate natuurlijk; een goede lens levert meer winst op maar is vaak te groot voor een smartphone, en een DMC-LX5 met lichtsterke lens past ook maar net in m'n zak.

[Reactie gewijzigd door mae-t.net op 1 oktober 2013 02:53]

Veel pixels helpen nu juist niet tegen weinig licht. Met veel pixels zijn ze per stuk kleiner en vangen ze per stuk minder licht op, waardoor je ruis krijgt.
Mij lukte het wel: m.paybyphone.com.
In de paper worden tests gedraaid op een enkele core van een "Core2 Quad CPU with 2.40GHz and 4GB RAM". Gemiddeld doet het algoritme er 18 seconden over. Met een mobieltje zou ik het op dit moment dus nog niet comfortabel noemen :)
Het netvlies van het een biologisch oog ontvangt ook een heel slecht beeld, het is wonderlijkbaarlijk dat wij vormen kunnen herkennen, zelfs details kunnen herkennen, ook allemaal algoritmes in onze hersennen.

BTW, baby kunnen alleen maar schimmen zien, het is duidelijk dat de hersenen zelf hun driver schrijver schrijven om de ogen te focusen, en de noise eruit te filteren. Kwa kennis van hersens staan we nog in de oertijd. We snappen er eigenlijk gewoon niks van.
Het netvlies van het een biologisch oog ontvangt ook een heel slecht beeld
Ons netvlies ontvangt juist een vrij goed beeld, maar omdat onze hersenen liever bezig zijn met andere processen dan triviale dingen "zien", vullen ze een groot gedeelte in uit herinneringen etc. Scheelt verwerkingstijd.
Over de werking van het oog en de verwerking van visuele informatie in de hersenen is echter vrij veel bekend. Daarnaast is het beeld dat op de fovea (gele vlek) terechtkomt echt wel scherp en gedetailleerd. Je perifere gezichtsveld is inderdaad veel minder scherp, maar juist beter in het detecteren van plotselinge veranderingen, zoals beweging.
Maar dit is toch helemaal niets nieuws? Veel camera's die nu te koop zijn kunnen sferische en chromatische afwijkingen ook corrigeren. Ik noem Panasonic en bijvoorbeeld de Sony NEX serie...

Wellicht dat hun algoritme beter is, maar het principe bestaat al veel langer.
DxO doet dit ook al, en dat in post processing (op RAW foto's).
En hoeveel effect zou dit nog hebben als je een kwaliteitslens gebruikt? Geen enkele lens is perfect.
Zie de 'verdere resultaten' link op de project pagina: http://www.cs.ubc.ca/labs...ultispectral_results.html
Hopelijk kan dit volledig in software worden geïmplementeerd zodat oudere telefoons ook een mooie kwaliteit autorace kunnen krijgen! Heeft de 20MP sensor van de Z1 ook nog eens nut, de kwaliteit van de Z1 is ronduit teleurstellend voor het aantal megapixels.

En mijn Galaxy Nexusje maakt dan hopelijk ook acceptabelere foto's ;)
Goede ontwikkeling, zo krijg je steeds betere foto's met een telefoon camera van bijvoorbeeld een midrange/cheapass telefoon.
Niet iedereen heeft het geld voor highend telefoon's/camera's.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True