Inhoudsopgave:

Quantimetrische beeldverwerking: 5 stappen
Quantimetrische beeldverwerking: 5 stappen

Video: Quantimetrische beeldverwerking: 5 stappen

Video: Quantimetrische beeldverwerking: 5 stappen
Video: Сериал - "Сваты" (1-й сезон 1-я серия) фильм комедия для всей семьи 2024, November
Anonim
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking
Quantimetrische beeldverwerking

(Bovenstaande afbeelding illustreert vergelijking van bestaande beeldverwerkingsmethode met kwantitatieve beeldverwerking. Let op het verbeterde resultaat. Afbeelding rechtsboven toont vreemde artefacten die voortkomen uit de onjuiste veronderstelling dat afbeeldingen iets zoals licht meten. Afbeelding rechtsonder laat een beter resultaat zien door hetzelfde te doen kwantitatief.)

In deze Instructable leert u hoe u de prestaties van bestaande beeld- of visiedetectiesystemen aanzienlijk kunt verbeteren door een heel eenvoudig concept te gebruiken: Quantimetrische beelddetectie

Quantimetrische beeldverwerking verbetert aanzienlijk op een van de volgende punten:

  • Bestaande beeldverwerking zoals beeldvervaging;
  • Machine learning, computervisie en patroonherkenning;
  • Draagbare gezichtsherkenning (zie https://wearcam.org/vmp.pdf), op AI en HI gebaseerde visie, enz..

Het basisidee is om de beelden kwantitatief voor te bewerken en na te bewerken, als volgt:

  1. Breid het dynamische bereik van de afbeelding of afbeeldingen uit;
  2. Verwerk de afbeelding of afbeeldingen zoals u dat normaal zou doen;
  3. Comprimeer het dynamische bereik van de afbeelding of afbeeldingen (d.w.z. maak stap 1) ongedaan.

In eerdere Instructables heb ik enkele aspecten van HDR-detectie (High Dynamic Range) en kwantitatieve detectie geleerd, b.v. lineariteit, superpositie, etc..

Laten we deze kennis nu gebruiken.

Neem elk bestaand proces dat u wilt gebruiken. Het voorbeeld dat ik zal laten zien is het onscherp maken van afbeeldingen, maar je kunt het ook voor zo ongeveer alles gebruiken.

Stap 1: Breid het dynamische bereik van uw afbeelding of afbeeldingen uit

Breid het dynamische bereik van uw afbeelding of afbeeldingen uit
Breid het dynamische bereik van uw afbeelding of afbeeldingen uit
Breid het dynamische bereik van uw afbeelding of afbeeldingen uit
Breid het dynamische bereik van uw afbeelding of afbeeldingen uit

(Cijfers aangepast van "Intelligent Image Processing", John Wiley and Sons Interscience Series, Steve Mann, november 2001)

De eerste stap is om het dynamische bereik van het invoerbeeld uit te breiden.

Idealiter zou u eerst de responsfunctie van de camera, f, moeten bepalen en vervolgens de inverse respons, f inverse, op het beeld toepassen.

Typische camera's hebben een compressief dynamisch bereik, dus we willen meestal een expansieve functie toepassen.

Als u de antwoordfunctie niet kent, begin dan met iets eenvoudigs te proberen, zoals het laden van de afbeelding in een afbeeldingsarray, het casten van de variabelen naar een gegevenstype zoals (float) of (double), en het verhogen van elke pixelwaarde tot een exponent, zoals bijvoorbeeld het kwadrateren van elke pixelwaarde.

reden:

Waarom doen we dit?

Het antwoord is dat de meeste camera's hun dynamisch bereik comprimeren. De reden dat ze dit doen, is dat de meeste weergavemedia het dynamisch bereik vergroten. Dit is heel toevallig: de hoeveelheid licht die wordt uitgezonden door een televisiescherm met een kathodestraalbuis is ongeveer gelijk aan de spanning die wordt verhoogd tot de exponent van 2,22, zodat wanneer de videospanningsingang ongeveer halverwege is, de hoeveelheid uitgestraald licht veel is. minder dan de helft.

Fotografische media hebben ook een groot dynamisch bereik. Een fotografische "neutrale" grijze kaart straalt bijvoorbeeld 18% van het invallende licht uit (niet 50% van het invallende licht). Dit veel licht (18%) wordt beschouwd als in het midden van de respons. Dus zoals je kunt zien, als we kijken naar een grafiek van output als een functie van input, gedragen weergavemedia zich alsof het ideale lineaire displays zijn die een dynamisch bereikvergroter bevatten vóór de ideale lineaire respons.

In de bovenste afbeelding hierboven zie je het display omkaderd met een stippellijn, en het komt overeen met het hebben van een expander voor het ideale lineaire display.

Aangezien beeldschermen inherent expansief zijn, moeten camera's zo worden ontworpen dat ze compressief zijn, zodat de beelden er goed uitzien op de bestaande beeldschermen.

Vroeger, toen er duizenden televisie-ontvangers waren en slechts één of twee zenders (bijv. slechts één of twee televisiecamera's), was het een gemakkelijkere oplossing om een compressieve niet-lineariteit in de camera aan te brengen dan om alle televisies en plaats er een in elke televisieontvanger.

Per ongeluk hielp dit ook bij de geluidsreductie. In audio noemen we dit "Dolby" ("companding") en kennen er een patent op toe. In video gebeurde het volledig per ongeluk. Stockham stelde voor dat we de logaritme van afbeeldingen moesten nemen voordat ze werden verwerkt, en dan de antilog. Wat hij zich niet realiseerde, is dat de meeste camera's en beeldschermen dit al heel toevallig doen. In plaats daarvan stelde ik voor dat we precies het tegenovergestelde doen van wat Stockham voorstelde. (Zie "Intelligente beeldverwerking", John Wiley and Sons Interscience Series, pagina 109-111.)

In de onderste afbeelding zie je de voorgestelde anti-homomorfe (kwantitmetrische) beeldverwerking, waar we de stap van uitbreiding en compressie van het dynamisch bereik hebben toegevoegd.

Stap 2: Verwerk de afbeeldingen of voer de computervisie, machine learning of iets dergelijks uit

De tweede stap, na uitbreiding van het dynamisch bereik, is het verwerken van de beelden.

In mijn geval voerde ik eenvoudig een deconvolutie van het beeld uit, met de vervagingsfunctie, d.w.z. beeldvervaging, zoals algemeen bekend is in de stand van de techniek.

Er zijn twee brede categorieën van kwantitatieve beelddetectie:

  • Mensen helpen zien;
  • Machines helpen zien.

Als we mensen proberen te laten zien (wat het voorbeeld is dat ik hier laat zien), zijn we nog niet klaar: we moeten het verwerkte resultaat terug in beeldruimte brengen.

Als we machines helpen zien (bijv. gezichtsherkenning), zijn we nu klaar (u hoeft niet verder te gaan naar stap 3).

Stap 3: Comprimeer het dynamische bereik van het resultaat opnieuw

Wanneer we in een uitgebreid dynamisch bereik werken, zouden we ons in "lightspace" (kwantitatieve beeldruimte) bevinden.

Aan het einde van stap 2 zijn we in lightspace en moeten we terug naar imagespace.

Dus deze stap 3 gaat over teruggaan naar beeldruimte.

Om stap 3 uit te voeren, comprimeert u eenvoudig het dynamische bereik van de uitvoer van stap 2.

Als u de reactiefunctie van de camera kent, past u deze eenvoudig toe om het resultaat f(p(q)) te krijgen.

Als je de reactiefunctie van de camera niet kent, doe dan gewoon een goede gok.

Als je de afbeeldingspixels in stap 1 hebt gekwadrateerd, is dit het moment om de vierkantswortel van elke afbeeldingspixel te nemen om terug te komen op je schatting met betrekking tot de afbeeldingsruimte.

Stap 4: Misschien wilt u enkele andere variaties proberen

Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen
Misschien wil je wat andere variaties proberen

Deblurring is slechts een van de vele mogelijke voorbeelden. Denk bijvoorbeeld aan het combineren van meervoudige belichtingen.

Maak twee willekeurige foto's, zoals de twee die ik hierboven heb. De ene werd overdag genomen en de andere 's nachts.

Combineer ze om een schemerachtig beeld te krijgen.

Als je ze gewoon bij elkaar optelt, ziet het eruit als afval. Probeer dit zelf!

Maar als je eerst het dynamische bereik van elke afbeelding uitbreidt, ze vervolgens toevoegt en vervolgens het dynamische bereik van de som comprimeert, ziet het er geweldig uit.

Vergelijk beeldverwerking (toevoegen van de afbeeldingen) met kwantitatieve beeldverwerking (uitbreiden, toevoegen en vervolgens comprimeren).

U kunt mijn code en meer voorbeeldmateriaal hier downloaden:

Stap 5: Verder gaan: probeer het nu met HDR-beeldcomposieten

Verder gaan: probeer het nu met HDR-beeldcomposieten
Verder gaan: probeer het nu met HDR-beeldcomposieten

(Boven afbeelding: HDR-lashelm gebruikt kwantitatieve beeldverwerking voor augmented reality-overlays. Zie Slashgear 2012 september 12.)

Samengevat:

maak een afbeelding en pas de volgende stappen toe:

  1. vergroot het dynamische bereik van de afbeelding;
  2. de afbeelding verwerken;
  3. comprimeer het dynamische bereik van het resultaat.

En als je een nog beter resultaat wilt, probeer dan het volgende:

meerdere verschillend belichte beelden vastleggen;

  1. breid het dynamisch bereik uit naar lightspace, volgens mijn vorige Instructable op HDR;
  2. verwerk het resulterende kwantitatieve beeld, q, in lichtruimte;
  3. comprimeren van het dynamische bereik door tonemapping.

Veel plezier en klik op "Ik heb het gehaald" en post je resultaten, en ik zal graag commentaar geven of constructieve hulp bieden.

Aanbevolen: