Inhoudsopgave:
- Stap 1: Breid het dynamische bereik van uw afbeelding of afbeeldingen uit
- reden:
- Stap 2: Verwerk de afbeeldingen of voer de computervisie, machine learning of iets dergelijks uit
- Stap 3: Comprimeer het dynamische bereik van het resultaat opnieuw
- Stap 4: Misschien wilt u enkele andere variaties proberen
- Stap 5: Verder gaan: probeer het nu met HDR-beeldcomposieten
Video: Quantimetrische beeldverwerking: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
(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:
- Breid het dynamische bereik van de afbeelding of afbeeldingen uit;
- Verwerk de afbeelding of afbeeldingen zoals u dat normaal zou doen;
- 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
(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
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
(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:
- vergroot het dynamische bereik van de afbeelding;
- de afbeelding verwerken;
- comprimeer het dynamische bereik van het resultaat.
En als je een nog beter resultaat wilt, probeer dan het volgende:
meerdere verschillend belichte beelden vastleggen;
- breid het dynamisch bereik uit naar lightspace, volgens mijn vorige Instructable op HDR;
- verwerk het resulterende kwantitatieve beeld, q, in lichtruimte;
- 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:
Op beeldverwerking gebaseerd brandherkennings- en blussysteem: 3 stappen
Op beeldverwerking gebaseerd brandherkennings- en blussysteem: Hallo vrienden, dit is een op beeldverwerking gebaseerd branddetectie- en blussysteem met Arduino
Beeldverwerking met de Raspberry Pi: OpenCV installeren en kleurscheiding van afbeeldingen - Ajarnpa
Beeldverwerking met de Raspberry Pi: OpenCV en afbeeldingskleurscheiding installeren: dit bericht is de eerste van een aantal zelfstudies over beeldverwerking die nog zullen volgen. We bekijken de pixels waaruit een afbeelding bestaat nader, leren hoe u OpenCV op de Raspberry Pi installeert en we schrijven ook testscripts om een afbeelding vast te leggen en ook c
Gesture Hawk: Handgebaargestuurde robot met behulp van op beeldverwerking gebaseerde interface - Ajarnpa
Gesture Hawk: Handgebaargestuurde robot die gebruikmaakt van een op beeldverwerking gebaseerde interface: Gesture Hawk werd in TechEvince 4.0 getoond als een eenvoudige mens-machine-interface op basis van beeldverwerking. Het nut ervan ligt in het feit dat er geen extra sensoren of wearables nodig zijn, behalve een handschoen, om de robotauto te besturen die op verschillende
Een inleiding tot beeldverwerking: Pixy en zijn alternatieven: 6 stappen
Een inleiding tot beeldverwerking: Pixy en zijn alternatieven: in dit artikel zullen we de betekenis van digitale beeldverwerking (DIP) uitleggen en de redenen voor het gebruik van hardware zoals Pixy en andere hulpmiddelen om een proces op foto's of video's te maken. Aan het einde van dit artikel leert u: Hoe een digitaal beeld wordt gevormd
Moyamoya-beeldverwerking: 8 stappen
Moyamoya-beeldverwerking: Moyamoya, "rookwolk", is een zeldzame ziekte die wordt veroorzaakt door verstopping van slagaders in de basale ganglia, een gebied aan de basis van de hersenen. De ziekte is een progressieve cerebrovasculaire ziekte die vooral kinderen treft. Sym