Kantdetektion ( kantdetektion ) - et begreb i teorien om billedbehandling og computersyn , dels fra området objektsøgning og objektudvælgelse, er baseret på algoritmer, der udvælger punkter i et digitalt billede, hvor lysstyrken ændres skarpt eller der er andre typer inhomogeniteter.
Hovedformålet med at registrere skarpe ændringer i billedets lysstyrke er at fange vigtige begivenheder og ændringer i verden. De kan afspejle forskellige antagelser om billedmodellen, ændringer i billedets lysstyrke kan indikere:
Ideelt set er resultatet af grænsevalg et sæt af relaterede kurver, der repræsenterer grænserne for objekter, ansigter og indtryk på en overflade, samt kurver, der repræsenterer ændringer i overfladens position. Anvendelse af et kantdetektionsfilter på et billede kan således reducere mængden af data, der behandles, betydeligt på grund af det faktum, at den filtrerede del af billedet anses for mindre signifikant, og de vigtigste strukturelle egenskaber ved billedet bevares. Det er dog ikke altid muligt at skelne grænserne i billeder af den virkelige verden med medium kompleksitet. Grænserne udtrukket fra sådanne billeder har ofte sådanne mangler som fragmentering (grænsernes kurver er ikke forbundet med hinanden), fraværet af grænser eller tilstedeværelsen af falske grænser, der ikke svarer til det undersøgte objekt.
Grænserne, der er fremhævet i et 2D-billede af en 3D-scene, kan underinddeles i synsvinkelafhængige eller synspunkt-uafhængige. Synspunktsuafhængige grænser afspejler typisk egenskaber, der er nedarvet fra objekter i en 3D-scene, såsom overfladefarve og form. Synspunktsafhængige grænser kan ændres med synspunktet og afspejle scenegeometri, såsom overlappende objekter.
En normal kant kan for eksempel være en kant mellem røde og gule blokke. På den anden side kan en linje være et sæt pixels af en anden farve på en konstant baggrund. Derfor kan en linje have en kant på hver side af sig.
Kanter er ret vigtige i mange billedbehandlingsapplikationer, især i machine vision-systemer, der analyserer scener af kunstige genstande under faste lysforhold. I de senere år har der imidlertid været konsekvente (og vellykkede) undersøgelser af computersynsmetoder, der ikke er afhængige af kantdetektion som et forbehandlingstrin.
Selvom noget litteratur overvejer valget af ideelle trinkanter, er kanterne i et naturligt billede normalt ikke det. De er normalt påvirket af en eller flere af følgende effekter:
og derfor bruger mange forskere den trinformede kant udjævnet af en Gauss-funktion (fejlfunktion) som den enkleste tilnærmelse af den ideelle kantmodel til modellering af slørede grænser i anvendte problemer. Således kan et endimensionelt billede , der har præcis én kant i et punkt , modelleres som:
Her
.Til venstre for grænsen er lysstyrke , til højre - . Parameteren kaldes grænseslørstørrelsen.
For at illustrere, hvorfor kantdetektion er et ikke-trivielt problem, skal du overveje problemet med kantdetektion på det følgende endimensionelle signal. Her kan vi umiddelbart intuitivt sige, at grænsen skal ligge mellem 4. og 5. pixel.
5 | 7 | 6 | fire | 152 | 148 | 149 |
Hvis ændringen i lysstyrke mellem 4. og 5. pixel var mindre, og ændringen i lysstyrke mellem deres naboer var større, ville det ikke længere være så nemt at sige, at grænsen skulle være på dette sted. Desuden kan man argumentere for, at der overhovedet burde være mere end én grænse.
5 | 7 | 6 | 41 | 113 | 148 | 149 |
Derfor er det ikke altid en let opgave at fastgøre en vis tærskel for, hvad ændringen i lysstyrke mellem to tilstødende pixels skal være, så vi kan sige, at der er en grænse. Dette er en af grundene til, at kantdetektering ikke er en triviel opgave, medmindre objekterne i scenen er ret simple, og lysforholdene er godt tilpasset.
Der er mange tilgange til kantdetektion, men næsten alt kan opdeles i to kategorier: Metoder baseret på søgning efter maksima og metoder baseret på søgning efter nuller. Peak-baserede metoder fremhæver kanter ved at beregne "kantstyrken", sædvanligvis et første afledt udtryk, såsom gradientens størrelse, og derefter søge efter lokale maksima for kantstyrken ved hjælp af den antagne retning af kanten, normalt vinkelret på gradienten vektor. Nul-baserede metoder søger efter skæringspunkter for abscissen af det andet afledte udtryk, typisk nuller af Laplacian eller nuller af et ikke-lineært differentielt udtryk, som det vil blive beskrevet senere. Som et forbehandlingstrin anvendes billedudjævning næsten altid til kantdetektion, normalt med et Gauss-filter.
De offentliggjorte kantdetektionsmetoder adskiller sig i de anvendte anti-aliasing-filtre og i måden, kantstyrken beregnes på. Selvom mange kantdetekteringsmetoder er afhængige af beregning af gradienten af et billede, adskiller de sig i de typer filtre, der bruges til at beregne gradienterne i x- og y-retningerne.
John Cannyundersøgt det matematiske problem med at opnå et filter, der er optimalt med hensyn til udvælgelse, lokalisering og minimering af flere responser på en kant. Han viste, at det ønskede filter er summen af fire eksponentialer. Han viste også, at dette filter godt kan tilnærmes ved den første afledte af Gauss. Canny introducerede konceptet Non-Maximum Suppression (undertrykkelse af ikke-maksimum), hvilket betyder, at kantpixelerne er erklærede pixels, hvor det lokale maksimum af gradienten i gradientvektorens retning er nået.
Selvom hans arbejde blev udført i de tidlige dage af computersyn, er Canny kantdetektoren stadig en af de bedste detektorer i dag. Bortset fra i særlige tilfælde er det svært at finde en detektor, der yder væsentligt bedre end Canny-detektoren.
Canny-Deriché-detektoren blev afledt af et lignende matematisk kriterium som Canny-detektoren, selvom det fra et andet synspunkt resulterede i et sæt rekursive filtre til billedudjævning i stedet for eksponentielle og Gauss-filtre.
For at estimere størrelsen af en billedgradient eller dens udjævnede version kan der anvendes forskellige gradientoperatorer. Den enkleste tilgang er at bruge centrale forskelle:
svarende til anvendelsen af følgende filtre på billedet:
Den velkendte Sobel-operatør er baseret på følgende filtre:
Med disse estimater kan vi beregne størrelsen af gradienten som følger:
og retningen af gradienten beregnes således:
Andre operatorer til beregning af gradienten af et billede blev foreslået af Judith Prewitt og Lawrence Roberts og er kendt som henholdsvis Pruitt-operatoren og Roberts - krydsoperatoren.
Når vi har fundet styrken af grænsen (normalt størrelsen af gradienten), er næste trin at anvende en tærskel for at afgøre, om grænsen er på et givet punkt i billedet. Jo mindre tærsklen er, jo flere kanter vil der være, men jo mere modtagelig vil resultatet være for støj, hvilket fremhæver unødvendige billeddata. Omvendt kan en høj tærskel gå glip af svage kanter eller modtage en kant i fragmenter.
Hvis tærsklen blot anvendes på gradientstørrelsesbilledet, vil de resulterende kanter være tykke, og der kræves en vis efterbehandling for at gøre kanten tynd og præcis. Hvis grænserne imidlertid vælges ved hjælp af ikke-maksimal undertrykkelse, vil grænserne være tynde pr. definition og kan sammenføjes til polygoner ved kantsammenføjningsproceduren (grænsesporing). På et diskret gitter kan det ikke-maksimale undertrykkelsestrin implementeres ved at estimere gradientretningen ved hjælp af første afledte, afrunde retningen med værdier i 45-graders intervaller og til sidst sammenligne gradientværdierne i den resulterende gradientretning.
Den traditionelle tilgang til at løse problemet med at finde en passende tærskel er "sene" tærskler. Metoden bruger flere tærskler. Vi bruger den øvre tærskel til at finde startpunktet for grænsen. Når vi har et udgangspunkt, sporer vi kanten, punkt for punkt, indtil kantstyrkeværdien er over den nedre tærskel. Denne algoritme antager, at kanterne højst sandsynligt er kontinuerlige kurver og giver os mulighed for at spore de svage områder af kanterne uden at antage, at alle de støjende punkter i billedet vil blive mærket som kanter. Der er dog stadig problemet med at vælge passende tærskelværdier for denne metode, da de optimale parametre kan variere fra billede til billede.
Grænseforfining er en proces, der gør grænser tynde ved at fjerne uønskede falske punkter, der vises på grænsen. Denne teknik anvendes efter at billedet er blevet udjævnet (ved hjælp af et median- eller gaussisk filter), en kantoperator (som den ovenfor beskrevne) er blevet anvendt til at beregne kantstyrken, og efter at kanterne er blevet ryddet ved hjælp af passende tærskler. Denne metode fjerner alle uønskede punkter og, når den anvendes omhyggeligt, producerer den kanter, der er en pixel tykke.
Fordele:
Der er mange populære metoder til at løse dette problem. En af dem er beskrevet nedenfor:
Nogle kantvalgsoperatorer bruger anden afledning af billedets lysstyrke i stedet for at arbejde med en gradient. Dette bestemmer naturligvis styrken af gradientændringen. I det ideelle tilfælde vil det at finde nullerne for den anden afledede gøre det muligt at finde gradientens lokale maksima.
Marr-Hildreth-operatoren er baseret på at beregne rødderne af Laplace-operatoren anvendt på et billede, der er glattet med et Gauss-filter. Imidlertid har denne operator vist sig at fremhæve falske kanter i homogene områder af billedet, hvor gradienten har et lokalt minimum. Derudover lokaliserede denne operatør dårligt afrundede kanter. Derfor er denne operatør nu snarere af historisk værdi.
En mere avanceret måde at detektere andenordens kanter, som også udtrækker kanter med pixelpræcision, er at bruge følgende differentielle tilgang til at detektere nuller af den anden afledede med hensyn til retningen af gradientvektoren.
Lad os introducere et lokalt koordinatsystem ved hvert punkt i billedet , hvor retningen er parallel med gradienten. Forudsat at billedet er blevet udjævnet med et gaussisk filter, og skala-repræsentationen på skalaen er blevet beregnet, kan vi kræve, at en skala-repræsentationsgradientværdi, der er lig med den første afledede i -retningen, har en første afledet i -retningen lig med nul
,mens den anden afledede i - retningen fra skal være negativ, da vi kun er interesseret i maksima, dvs.
.Skrevet som et eksplicit udtryk for lokale partielle afledte , … , kan denne kantdefinition udtrykkes som nul linjer af den differentielle invariant
som opfylder følgende betingelse:
hvor , ... angiver partielle afledte beregnet på skalerepræsentationen opnået ved at filtrere det originale billede med et gaussisk filter.
I dette tilfælde vil kanterne automatisk være kontinuerlige kurver med pixelpræcision. De resulterende kanter kan desuden anvendes til fremhævning ved hjælp af forsinket tærskelværdi.
I praksis kan de første afledte beregnes som beskrevet tidligere, mens de anden afledede kan beregnes ud fra skaleringsrepræsentationen som følger:
svarende til følgende operatører:
Afledte af højere orden kan beregnes på samme måde.
Den seneste udvikling inden for kantdetektionsteknikker bruger en frekvenstilgang til kantdetektion. Fasetilpasningsmetoder forsøger at finde områder i billedet, hvor alle sinusoider i frekvensrummet er i fase. Disse områder vil normalt svare til områder af den opfattede kant, uanset hvor meget ændringen i lysstyrke er der. Den største fordel ved denne metode er, at den stærkt understreger " Mach-bånd " og undgår de typiske falske grænser omkring en ru kant.