Bildeforbehandlingsalgoritmer. Moderne problemer innen vitenskap og utdanning Anvendelse av nevrale nettverk for mønstergjenkjenning

Laboratoriearbeid nr. 1

Bildebehandlingsalgoritmer

Konvolusjonsoperasjon

Convolution er en svært utbredt algoritme som kan brukes til både bildeforbehandling og gjenkjenning og identifikasjon av objekter. La bildet spesifiseres av en todimensjonal lysstyrkematrise F" , og impulsresponsen av matrisen H... Matematisk konvolusjon av en matrise F med kjerne H kan bestemmes av følgende formel:

hvor M2xN2 - størrelsen på konvolusjonskjernematrisen. Matrisestørrelse F er lik (M1 + M2-1) x (N1 + N2-1), hvor M1xN1 - størrelsen på den opprinnelige matrisen F" ... Matrise F hentes fra den originale ved å legge til elementer ved kantene av matrisen i henhold til en eller annen regel for å bringe den til ønsket størrelse. Vanligvis er den originale matrisen polstret i kantene med nuller for halve bredden av matrisen H til venstre og til høyre og henholdsvis halve høyden opp og samme ned. Deretter størrelsen på den resulterende matrisen R vil være den samme som matrisen F" .

Konvolusjon kan beregnes direkte ved å "kjøre" en matrise over en annen, som allerede vist ovenfor. I fig. 1 viser skjemaet for beregning av konvolusjonen (størrelsen på maskematrisen er tatt lik 3x3). Konvolusjonsoperatoren kan sees på som en matrise av koeffisienter (masker) som er elementvis multiplisert med det valgte bildefragmentet og deretter summert for å oppnå den nye verdien til elementet i det filtrerte bildet. Denne matrisen kan være av vilkårlig størrelse, ikke nødvendigvis kvadratisk.

Ris. 1. Implementering av konvolusjonsoperasjonen.

Trening

    Implementer en algoritme som utfører operasjonen for konvolusjon av det originale bildet med en matrisemaske.

    Størrelsen og typen av matrisemasken settes av brukeren.

    Bruk følgende maskematriser for å implementere ulike bildebehandlingsalgoritmer:

    • for å jevne ut og undertrykke støy i bildet, bruk en 3x3 matrisemaske i følgende form:

    for å understreke konturene, brukes matrisemasker av følgende type:

1/9*

    for å velge konturene, brukes en maske av følgende type:

4. Implementer et medianfilter som brukes til å undertrykke punkt- og impulsstøy. Pikselen til bildet og dets naboer i det betraktede området er stilt opp i en variasjonsserie (i stigende eller synkende pikselverdier) og den sentrale verdien til denne variasjonsserien velges som en ny pikselverdi. Resultatet av gjennomsnittlig filtrering er at all tilfeldig støy i bildet vil effektivt elimineres. Dette er fordi enhver tilfeldig brå endring i pikselintensitet innenfor interesseområdet vil bli sortert, dvs. den vil bli plassert enten øverst eller nederst i de sorterte verdiene i dette området og vil ikke telles, siden midtverdien alltid tas for den nye verdien av elementene.

5. Implementer en pregealgoritme. Preging gjøres på samme måte som for gjennomsnittsberegning eller understreking av konturalgoritmer. Hver piksel i bildet behandles av en 3x3 pregematrise. For eksempel kan følgende matrisemaske tas som pregingskjernen:

Etter at pikselverdien er behandlet av pregingskjernen, legges den til 128. Dette vil endre bakgrunnspikselverdien til en middels grå (rød = 128, grønn = 128, blå = 128). Beløp over 255 kan avrundes til 255.

I den pregede versjonen av bildet ser konturene ut til å være ekstrudert over overflaten. Retningen til bildebelysningen kan endres ved å endre posisjonene 1 og -1 i kjernen. Hvis for eksempel verdiene 1 og -1 byttes, blir belysningsretningen reversert.

6. Vannfarging av bildet. Akvarellfilteret forvandler bildet, og etter bearbeiding ser det ut som om det er malt i akvarell:

    Det første trinnet i å bruke et akvarellfilter er å jevne ut fargene i bildet. En av anti-aliasing-metodene er å bruke en median fargegjennomsnitt på hvert punkt. Fargeverdien til hver piksel og dens 24 naboer (størrelsen på matrisemasken er 5x5) er ordnet i en rekke variasjoner i synkende eller stigende rekkefølge. Median (trettende) fargeverdi i variasjonsserien er tilordnet midtpikselen.

    etter å ha jevnet ut fargene, må du bruke et understrekingsfilter for å markere grensene for fargeovergangene.

Representasjon av bilder

Det er to hovedtyper bilderepresentasjoner - vektor og raster.

I vektorrepresentasjonen er bildet beskrevet av et sett med linjer (vektorer) som inneholder koordinatene til start- og sluttpunktene, krumningen til linjer og andre geometriske egenskaper, reglene for å konstruere ulike områder og fargekarakteristikker er også beskrevet. Med andre ord, for en rasterrepresentasjon er det nødvendig å danne en viss matematisk modell. Derfor brukes vektorrepresentasjonen hovedsakelig for å løse problemer med bildesyntese. Selv om noen bildegjenkjenningsalgoritmer for arbeidet deres krever nøyaktig vektorrepresentasjonen, som må hentes fra det originale bildet.

Et rasterbilde er en eller flere matriser som beskriver den romlige fordelingen av bildekarakteristikker på et visst kartesisk koordinatnett. I dette tilfellet er bildet bygget fra mange punkter og har en rasterstruktur. Hovedelementet i rasterbilderepresentasjonen er en piksel (forkortelse for uttrykket "bildeelementer" - bildeelementer), som har koordinater i rasterkoordinatsystemet og noen attributter (farge, lysstyrke, gjennomsiktighet, etc.). Antall piksler i X- og Y-koordinatene (horisontalt og vertikalt) setter oppløsningen (dimensjonen) til bilderepresentasjonen. Pikselfarge spesifiseres etter dybde – antall biter som kreves for å spesifisere en hvilken som helst farge.

Rasterbilder, avhengig av metodene for å angi fargen på pikselen og egenskapene til originalbildet, er delt inn i:

Binær

Halvtone

Palett

Full farge

I binær representasjon kan fargen på en piksel være enten hvit eller svart og er kodet i én bit. Bildet er en matrise. Hvert element I (i, j) i denne matrisen har verdien enten 0 eller 1, hvor i er radnummeret, og er kolonnenummeret j til elementet som tilsvarer den gitte pikselen (fig. 1).

I gråtonebilder representerer piksler gråtonelysstyrkeverdier. Matriseindekser som beskriver et gråtonebilde spesifiserer posisjonen til pikselen på rasteret, og verdien til matriseelementet

- stiller inn lysstyrken I (i, j) (fig. 2).

Palettbilder er beskrevet av to matriser (fig. 3). Man lagrer verdiene til indeksene, som spesifiserer referansen til raden i palettmatrisen. Palettmatrisen er et fargekart. Den inneholder 3 grupper med kolonner - tilsvarende de røde "R", grønne "G" og blå "B" fargene. De angir også fargen på den tilsvarende pikselen.

Paletten er en Nc 3 matrise, der Nc er antall farger.

Bildeforbehandlingsalgoritmer

Fullfargebilder er bygget i RGB-format og representerer tre matriser R (i, j), G (i, j), B (i, j). De tilsvarende elementene i hver matrise inneholder verdiene for intensiteten til røde, grønne og blå farger for pikselen spesifisert av matriseindeksene. Et fullfargebilde har således ikke et fargekart og fargen til hver piksel er representert av tre tall tatt fra de tilsvarende matrisene (fig. 4).

Formatet til tall i matriser kan enten være heltall eller flyttall. Det første tilfellet refererer til de såkalte digitaliserte bildene oppnådd ved hjelp av forskjellige enheter - skannere, digitale kameraer, TV-kameraer, etc. Det er i dette formatet at informasjon om bilder lagres i standard grafikkfiler.

Det andre alternativet brukes til intern representasjon av bilder under behandlingen. I dette tilfellet er det praktisk å normalisere intensitetsdataene til ett område, for eksempel til et område, og utføre forskjellige beregninger med flytende tall, og deretter konvertere resultatet til den opprinnelige heltallsformen. Denne metoden lar deg redusere beregningsfeil og forbedre nøyaktigheten til behandlingsresultatet.

For fullfargebilder er én parameter det maksimale antallet farger som kan representeres i det formatet. De mest brukte bildene har 16, 256, 65536 (High Color) og 10,7 millioner (True Color) farger.

Bildeforbehandlingsalgoritmer

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Bildeforbehandlingsalgoritmer

Indeksmatrise

31 15 03 09

Palettmatrise

Bildeforbehandlingsalgoritmer

Et fullfargebilde kan ikke bare representeres i RGB-format, men også ved bruk av andre fargesystemer.

I HSB-systemet er farge representert av følgende fargekarakteristikker: Farge - fargetone;

Metning - metning; Lysstyrke - lysstyrke.

Det antas at dette fargesystemet tilsvarer særegenhetene ved menneskelig oppfatning av farge.

I LAB-systemet betraktes farge som en kombinasjon av lyshet og to uavhengige kromatisitetsverdier, som bestemmer den sanne fargen til en piksel. Chroma A - velger en farge fra magenta til grønn. Kromatisitet B - den andre fargekomponenten er valgt fra området fra gul til cyan.

Det finnes andre systemer for å representere farger. Naturligvis er de alle relatert, og fra en representasjon kan en annen hentes. Variasjonen av fargesystemer skyldes oppgavene som er løst med deres hjelp. For eksempel er det mer praktisk å utføre fargekorrigering i LAB-systemet, reprodusere bildet på LCD-skjermen i RGB-systemet, skrive ut bedre,

Bildeforbehandlingsalgoritmer

ved å bruke CMYK-representasjon. I alle fall, når de behandler bilder og gjenkjenner dem, jobber de med en rasterrepresentasjon av bilder som inneholder en eller flere matriser.

Klassifisering av forbehandlingsalgoritmer

Bildeforbehandlingsalgoritmer vil bli delt inn i forskjellige grupper avhengig av klassifiseringsfunksjonen. Alle forbehandlingsalgoritmer må enten på en eller annen måte forbedre kvaliteten på bildene, eller transformere den til en form som er mest praktisk for etterfølgende behandling.

Algoritmer som tar sikte på å forbedre fargegjengivelsen til et bilde kalles fargekorrigeringsalgoritmer. Denne gruppen inkluderer også algoritmer som fungerer med halvtonebilder som endrer lysstyrke- og kontrastegenskaper.

Algoritmer som tar sikte på å behandle de romlige egenskapene til bilder kalles algoritmer romlig filtrering. Denne gruppen inkluderer algoritmer for undertrykkelse av interferens, algoritmer for romlig utjevning og romlig forsterkningsalgoritmer, algoritmer for undertrykkelse og forsterkning av romlige frekvenser.

Algoritmer som utfører geometriske operasjoner på et bilde kalles geometriske prosesseringsalgoritmer... Disse inkluderer:

Bildeforbehandlingsalgoritmer

Beskjære et bilde - valg fra originalbildet av en viss del av en rektangulær form;

Endre størrelsen på bildet. Disse algoritmene bruker ulike interpoleringsmetoder som tillater enten å fylle ut de manglende piksler i det forstørrede bildet, eller å beregne pikselverdiene på nytt når bildet reduseres.

Roter bildet. Disse algoritmene roterer det originale bildet med en gitt vinkel, og beregner pikselverdiene på nytt ved hjelp av ulike interpoleringsmetoder.

Algoritmer som utfører transformasjoner fra ett fargesystem til et annet kalles fargekonverteringsalgoritmer... De inkluderer også algoritmer for konvertering av fargebilder til gråtoner og binariseringsalgoritmer som konverterer det originale bildet til et binært.

Algoritmer som fremhever noen områder i originalbildet i henhold til ulike, ofte uformelle forhold, kalles segmenteringsalgoritmer. Et eksempel på en slik algoritme kan for eksempel være en algoritme som skal velge områder med tekst og grafisk informasjon på et dokumentbilde, eller en algoritme som velger områder i et tekstbilde som refererer til enkeltord.

Bildeforbehandlingsalgoritmer

Romlige filtreringsalgoritmer

Romlig filtrering av et bilde i matematisk form er en diskret konvolusjon av et diskret bilde med en viss impulsrespons fra romfilteret

Hvis (i, j)

Im (i m, j n) h (m, n), hvor:

m N11 n N21

Im, If-matriser for de originale og filtrerte bildene, h matrise for impulsresponsen til filteret,

N 11, N 21 er nedre og øvre grenser for impulsresponssøylene, N 12, N 22 er venstre og høyre grenser for radene i impulsresponsen.

Impulsresponsmatrisen kan oppnås ved å beregne romfilteret basert på spesifiserte parametere. En stor mengde litteratur om digital filtrering er for eksempel viet metoder for å beregne romlige filtre. For praktiske beregninger kan du bruke standard matematiske pakker, for eksempel inkluderer "MATLAB"-systemet filterberegningssystemet "Image Filter Design".

Merk at filtrering også kan utføres i frekvensdomenet. I det

Bildeforbehandlingsalgoritmer

I tilfelle er filtreringsrekkefølgen som følger:

Konverter et bilde fra romlig domene til frekvensdomene ved å bruke 2D diskret Fourier-transformasjon

Utfør elementvis multiplikasjon av frekvensmatrisen til bildet med frekvensmatrisen til filteret

Transform det oppnådde resultatet til et romlig domene ved å bruke den inverse todimensjonale diskrete Fourier-transformasjonen.

jeg (x, y)

jeg (f x, f y)

Hvis (f x, f y) Im (f x, f y) H (f x, f y)

Hvis (fx, f y)

Hvis (x, y).

Filtrering av bilder i frekvensdomenet brukes sjelden på grunn av den store mengden beregning. Imidlertid er denne metoden for filtrering mye brukt i teoretiske beregninger når man analyserer alternativer for bildebehandling. Den lar deg tydelig visualisere hva slags filtrering som er nødvendig. Hvis du for eksempel skal fremheve skarpe endringer i lysstyrken i bildet, så er det åpenbart at du må bruke høypassfiltre. Tvert imot, hvis du trenger å bli kvitt lavfrekvent støy - jittersløyfer, individuelle overspenninger, etc., må du bruke lavpassfiltre. Spesifikke filterparametere velges basert på frekvensanalyse av interferens og egenskaper til det originale bildet.

Essensen av bildebehandling er å bringe det originale scenebildet til en form som gjør det mulig å løse problemet med å gjenkjenne objektene.

Det endelige målet med bildebehandling i STZ er å forberede sceneobjekter for gjenkjenning, dvs. tilordning av bildene deres til noen forhåndsdefinerte klasser. Til tross for variasjonen av de presentertedyrene, skiller STZ vanligvis tre hovedbehandlingstrinn:

1) forhåndsbehandling av bildet;

2) segmentering;

3) beskrivelse.

Forbehandling har på sin side to grunnleggende stadier: bildedannelse og koding (komprimering). Sekvensen av trinn er ikke stiv og avhenger av den spesifikke oppgaven.

Bildeforbehandling

Alle metoder for bildeforbehandling i STZ er delt inn i romlig og frekvens. Romlige metoder er prosedyrer som opererer direkte på pikslene i et bilde. Lysstyrke brukes som en egenskap for bildet. Y (x, y). Frekvensmetoder er assosiert med transformasjonen av et bilde til et komplekst plan ved bruk av Fourier-transformasjonen.

Når vi vurderer forbehandlingsprosedyrene, vil vi begrense oss til romlige metoder, og det originale bildet vil bli betraktet som gråtoner.

Den første fasen av forbehandlingen er bildedannelse. Dannelse av et bilde er prosedyren for direkte å oppnå et bilde i form av en rekke diskrete elementer plassert i minnet til videoprosessoren - piksler som danner en matrise eller kontur.

I STZ, på stadiet av bildedannelse, velges lysstyrketerskelen ved å justere belysningen og bildet filtreres.

Filtrering bilde er det mest tidkrevende og komplekse forbehandlingsstadiet. Generelt løser filtrering følgende hovedoppgaver:

· Utjevning (undertrykking av høyfrekvent støy som "snø");

· Kontrastforbedring;

· Valg av kontur.

Utjevningsprosedyren utføres umiddelbart etter valg av lysstyrketerskel. Dens betydning ligger i gjennomsnitt, i henhold til en viss regel, verdiene til lysstyrkefunksjonen Y (X, y) inne i det analyserte fragmentet av bildet.

Et lavpassfilter brukes for å eliminere høyfrekvent snøinterferens. Ulempe lavpassfiltrering er forringelsen av kontrasten i bildet.

Segmentering



Som et resultat av forbehandling inneholder bildet en eller flere konturrepresentasjoner av objekter. Prosedyren for å skille disse konturene og korrelere dem med visse objekter kalles segmentering.

Hvis det på forhånd er kjent at bildet inneholder flere objekter, utføres segmenteringsprosedyren etter valg av konturene før stadiet med bildekoding.

Segmenteringsalgoritmer er som regel basert på søket etter diskontinuitet i konturen og likheten mellom områder. I det første tilfellet blir en kontur funnet og dens programmerte traversering utføres i henhold til den etablerte regelen. Hvis stien er stengt, anses den å tilhøre objektet. I det andre tilfellet bestemmes områder av bildet som har felles egenskaper (for eksempel den samme lysstyrken til piksler). Når slike områder blir funnet, tilordnes de enten til bakgrunnen eller til objektet.

Bildekoding

For systemer som behandler gråtonebilder med romlige metoder, skilles to hovedkodingsmetoder ut:

· Koding av det faktiske bildet ved hjelp av metoden for koder for serielengder;

· Koding av bildekonturen med Freeman-kjedekoden.

I begge tilfeller, ved koding, er det en betydelig reduksjon i mengden data som karakteriserer bildet. Kodeeffektiviteten bestemmes av komprimeringsforholdet til bildet.

Essensen av koding etter metoden for koder serielengder, implementert ved hjelp av RLE-algoritmen, er å representere bildet med ensartede segmenter av skannelinjen, der lysstyrken og fargene til pikslene er de samme. Dessuten er hver serie preget av den tilsvarende verdien og lengden på serien (antall piksler).

For å kode bildekonturen direkte, brukes oftest en kjede Freeman-kode(fig. 6.22, b). I dette tilfellet er konturen til objektet, fra et bestemt punkt, definert av en sekvens av vektorer som tar diskrete verdier med en helningsvinkel til modulen som er et multiplum av 45. Verdien av modulen er 2 hvis helningsvinkelen til vektoren er 45, og 1 hvis den er vertikal eller horisontal. Endringen i retningen til vektoren når du beveger deg fra ett punkt på kurven til et annet gjenspeiler naturen til endringen i den modellerte kurven.



Bildebeskrivelse

Under beskrivelse definisjonen av de karakteristiske parametrene til objektet er forstått - tegn(diskriminatorer) nødvendig for å skille den fra alle som utgjør scenen.

I henhold til deres fysiske essens er skiltene delt inn i globale og lokale. Global funksjon bilder er en funksjon som kan beregnes for et hvilket som helst bilde av et objekt.

Lokale skilt brukes sjeldnere; de karakteriserer ikke hele bildet, men bare en del av det. Disse inkluderer vinkelen mellom to konturlinjer, antall og parametere for hull i objektbildet, etc.

Bildegjenkjenning

Anerkjennelse kalles en prosess der, på grunnlag av et sett med trekk ved et bestemt bilde av et objekt, bestemmes dets tilhørighet til en bestemt klasse.

Gjenkjenning implementerer funksjonen til visuell bildeanalyse.

Konvensjonelt kan alle anerkjennelsesmetoder deles inn i to grupper: teoretiske og strukturelle. De vanligste teoretiske anerkjennelsesmetodene bruker beslutningsteoriens prinsipper.

Det er umulig å bestemme den virkelige verdien av objektets attributter, siden verdiene varierer med hver måling. Derfor er gjenkjenningsproblemet stilt som følger: å bestemme sannsynligheten for at et objekt tilhører en gitt klasse.

Et av de mest interessante områdene innen bildegjenkjenning i STZ er assosiert med utviklingen av ansiktsgjenkjenningsalgoritmer. Gjenkjenningsalgoritmen (verifikasjons) er nær registreringsalgoritmen. Funksjonene som er valgt fra det gjeldende bildet kombineres til en funksjonsvektor, hvis komponenter sammenlignes med de tilsvarende komponentene til alle vektorene i databasen.

1

I denne artikkelen er algoritmer for bildebehandling av intelligente mobile roboter utviklet basert på uklar logikk og nevrale nettverk, som sørger for valg av kanter i bildet ved hjelp av Sobel-operatøren. Essensen av bildebehandling er å bringe det originale scenebildet til en form som gjør det mulig å løse problemet med å gjenkjenne objektene. Hovedproblemene vurderes, så vel som måtene å løse dem på under den første forberedelsen av bildet for anerkjennelse. Algoritmen for forbehandling ved bruk av uklar logikk og prosessen med binarisering av bildet blir analysert i detalj. En algoritme for uklar prosessering er konstruert for valg av grenser i et bilde ved å bruke Sobel-operatoren.

bildebehandling

uklar logikk

intelligent system

gjenkjenning av gjenstander

1. Vesnin E.N., Veto A.V., Tsarev V.A. Om utvikling og anvendelse av adaptive optoelektroniske systemer for teknisk syn // Automatisering i industrien, 2009.- Nr. 11.- S. 48-52.

2. Grishin V.A. Systemer for teknisk visjon for å løse problemer med kontroll av ubemannede luftfartøyer // Sensorer og systemer, nr. 2, 2009.- S. 46-52.

3. Klevalin V.A., Polivanov A.Yu. Digitale gjenkjenningsmetoder i tekniske synssystemer til industriroboter // Mekatronikk, automasjon, kontroll, 2008, nr. 5.- S. 56-56.

4. Mikhailov S.V., Romanov V.V., Zaikin D.A. Teknisk visjonssystem for diagnostikk av skjæreprosessen av materialer // Bulletin of computer and information technology, 2007, No. 3.- S. 12-19.

5. Semin M.S. Gjennomgang av løsningen av anvendte problemer ved bruk av tekniske synssystemer // http://www.videoscan.ru/page/718#13.

For tiden er automatisk bildebehandling et av de viktigste områdene innen kunstig intelligens og innebærer utvikling av robotsystemer som utfører mønstergjenkjenning. Et av de mest effektive verktøyene for mønstergjenkjenning er systemer basert på uklar logikk og kunstige nevrale nettverk. I det tekniske synssystemet (STZ) trengs flere metoder og algoritmer som løser samme problem på ulike måter, samtidig som de gir nødvendige indikatorer for identifiseringshastighet og pålitelighet.

Essensen av den hybride bildebehandlingsalgoritmen i STZ av mobile robotsystemer (MRC) er å bringe det originale scenebildet til en form som gjør det mulig å løse problemet med å gjenkjenne objektene.

Algoritme for bildeforbehandling ved bruk av et fuzzy system i STZ

For bildebehandling representerer fuzzy prosessering mange forskjellige fuzzy tilnærminger, som er forståelse, representasjon, bildebehandling, segmenter og fuzzy sett. I prosessen med mønstergjenkjenning er prosessen med foreløpig uklar bildebehandling av stor betydning, siden kvaliteten på dataene som da kommer til inngangene til det nevrale nettverket avhenger av det. Innenfor rammen av problemet som skal løses, kan den utviklede algoritmen for preliminær fuzzy prosessering representeres som følgende sekvens av trinn (fig. 1): bildefangst ved bruk av et webkamera; konvertere det resulterende fargebildet til et gråtonebilde; uklar bildebehandling.

Ris. 1. Algoritme for foreløpig uklar bildebehandling

Dermed er det første trinnet i pre-fuzzy-behandling å konvertere bildet fra farge til gråtoner. Konvertering av fargene på bildet til gråtoner er som følger. Hele fargepaletten er representert som en kube, hvis toppunkter tilsvarer forskjellige farger. Gråskalaen er plassert på kubens diagonal, og forbinder de svarte og hvite hjørnene.

For å konvertere bildet til gråtoner, utheves intensiteten til de røde, grønne og blå komponentene i fargen for hvert punkt i bildet, og deretter konverteres fargen ved hjelp av følgende formel:

hvor er den nye fargeverdien, er intensiteten til den røde komponenten i fargen, er intensiteten til den grønne komponenten i fargen, og er intensiteten til den blå komponenten i fargen. Hver algoritme gir ut mellom 0 og 1 gråtoner. Det finnes flere metoder for å konvertere bilder kun til gråtoner. Lyshetsmetoden bruker gjennomsnittsverdien mellom de to mest og minst signifikante fargene:. Gjennomsnittsmetoden bruker gjennomsnittet av alle tre fargene: ... Luminansmetoden bruker et vektet gjennomsnitt av alle tre fargene, tar hensyn til menneskelig persepsjon. Så, siden det menneskelige øyet er mest utsatt for grønn farge, anses vekten som den viktigste:. Lysstyrkebestemmelsesmetoden brukes av bildebehandlingsprogramvare. Den har implementert funksjonen " rgb2gray "i MATLAB og dette brukes ofte til datasyn. Den uklare forbehandlingsprosessen har prosessen med å konvertere bilder fra farger (RGB) til gråtoner ved hjelp av en luminansbestemmelsesmetode. Bildet konverteres deretter fra gråtoner til svart-hvitt (fig. 2).

Ris. 2. Prosessen med å konvertere bilder fra farge til gråtoner

Bildebinarisering under forbehandling

Formålet med foreløpig uklar bildebehandling er dannelsen og påfølgende forbedring av bildet, dets binarisering og koding (spesielt å få en konturrepresentasjon). Bildebinarisering er prosessen med å konvertere et bilde som består av en gradering av én farge (i vårt tilfelle grå) til et binært bilde, dvs. et bilde der hver piksel bare kan ha to farger (i vårt tilfelle er disse svart-hvitt). Som et resultat av denne transformasjonen, blir fargen på en piksel konvensjonelt betraktet som lik null eller én, mens piksler med nullverdi (i dette tilfellet hvite piksler) kalles bakgrunnen, og piksler med verdi lik én (svart). ) kalles forgrunnen. Men det binære bildet oppnådd som et resultat av en slik transformasjon er forvrengt sammenlignet med originalen, som er preget av utseendet av hull og uskarphet på objekter, utseendet på bildestøy i homogene områder, samt tap av integritet av strukturen til objekter.

Tapet av objektets integritet, samt brudd på objektet, oppstår av en rekke årsaker, for eksempel stor ujevn belysning av objektet eller berøring (eller overlappende objekter). Det er overlegget (eller berøringen - som et spesielt tilfelle av overlapping) som forårsaker en spesiell vanskelighet i behandlingen. på den ene siden kan bildet av flere objekter tolkes som ett objekt, og på den andre siden vil algoritmer som kontrollerer den geometriske integriteten til objektet danne hull på stedene for overlapping, og presentere disse områdene som bakgrunn. Kompleksiteten i behandlingen ligger i fraværet av en teoretisk løsning på problemet med å tolke påleggingen av objekter, siden noe av informasjonen går tapt. Ved implementering av algoritmer i praksis blir et av de angitte alternativene tatt som den riktige avgjørelsen - enten anses krysset som en fortsettelse av det nåværende objektet, eller det overlappende området vil bli betraktet som bakgrunnen.

Thresholding konverterer et farge- eller gråtonebilde til et svart-hvitt-bilde. Terskeltransformasjoner er sentrale i bildesegmenteringsapplikasjoner på grunn av deres intuitive egenskaper og enkle implementering. For hver piksel i bildet undersøkes intensitetsnivået, hvis verdien er over et visst terskelnivå, tilsvarer dette hvitt. Hvis den er under den innstilte terskelen, er den satt til svart. Terskelnivået vil være mellom 0 og 255.

For tiden er det et stort antall binariseringsmetoder. Essensen av denne transformasjonen av rasterbilder er en komparativ analyse av lysstyrken til den nåværende pikselen med en viss terskelverdi: hvis lysstyrken til den nåværende pikselen overskrider terskelverdien, dvs. , da vil fargen på pikselen i det binære bildet være hvit, ellers vil fargen være svart. Terskeloverflaten er en matrise, hvis dimensjon tilsvarer dimensjonen til originalbildet.

I prosessen med binarisering er alle metoder delt inn i to grupper i henhold til prinsippet om å konstruere en terskeloverflate - dette er metoder for global og lokal binariseringsbehandling. I globale binariseringsbehandlingsmetoder er terskeloverflaten et plan med en konstant terskellysstyrkeverdi, dvs. terskelverdien beregnes basert på analysen av histogrammet til hele bildet og er den samme for alle piksler i originalbildet. Global terskelverdi har en betydelig ulempe - hvis kildebildet har ujevn belysning, blir områdene som ikke er godt opplyst i sin helhet klassifisert som forgrunn. I lokale binariseringsbehandlingsmetoder endres terskelverdien for hvert punkt basert på noen funksjoner i området som tilhører et eller annet nabolag til det gitte punktet. Ulempen med denne typen transformasjon er den lave hastigheten til algoritmene knyttet til omberegningen av terskelverdiene for hvert punkt i bildet.

Vi vil bruke Bernsens metode som metode for å løse problemet. Metoden er basert på ideen om å sammenligne lysstyrkenivået til den konverterte pikselen med de lokale gjennomsnittsverdiene beregnet i miljøet. Pikslene i bildet behandles én etter én ved å sammenligne deres intensitet med gjennomsnittsverdiene for lysstyrken i vinduene sentrert på punktene (fig. 3).

Ris. 3. Konverter bildepiksel

Fuzzy prosesseringsalgoritme for kantekstraksjon og bildesegmentering

Etter å ha konvertert bildet til svart-hvitt, oppnås et gradientbilde ved hjelp av Sobel-operatoren og mates til inngangene til fuzzy image processing (FOI) (fig. 4).

Fuzzy bildebehandling består av tre hovedtrinn: bildefuzzification, fuzzy inferenssystem basert på medlemskapsverdier og bildedefuzzification. Den viktigste uklare bildebehandlingen er i midttrinnet (fuzzy inferens-system). Etter overføring av bildedata fra grått nivå til fuzzification, bestemmes fuzzy inferenssystemet av medlemskapsverdiene. Fuzzification - koding av bildedata og defuzzification - dekodingsresultater som gjør at bilder kan behandles med uklare metoder.

Bilde - størrelse med gråtoner og kan defineres som en rekke fuzzy ettpunktssett (fuzzy sett kan støttes med bare ett punkt), som indikerer medlemskapsverdien til hver piksel i forhold til en forhåndsbestemt bildeegenskap (f.eks. lysstyrke, glatthet, etc.).

(1)

hvor og er tilhørigheten til en piksel i betegnelsen for uklare sett. Bestemmelsen av medlemskapsverdier avhenger av de spesifikke kravene til den aktuelle applikasjonen og den tilhørende kunnskapsbasen.

Systemutgangen for inngangssystemet er gitt av følgende formel:

(2)

Ris. 4. Algoritme for uklar bildebehandling for grensedeteksjon

Anvendelse av nevrale nettverk for mønstergjenkjenning

En flerlagsperceptron er et kunstig nevralt nettverk som består av flere inngangsnoder som danner et inngangslag, ett eller flere beregningslag av nevroner og ett utgangslag (fig. 6). I slike nettverk blir signalet påført inngangslaget overført sekvensielt i foroverretningen fra lag til lag. Denne typen ANN brukes med hell til å løse ulike problemer, spesielt for problemet med mønstergjenkjenning.

Det nevrale nettverket for tilbakepropagasjon består av flere lag med nevroner, og hvert nevron i det forrige laget er koblet til hvert nevron i det neste laget. I slike nettverk, etter å ha bestemt antall lag og antall elementer i hvert lag, er det nødvendig å beregne verdiene til nettverkets vekter og terskler på en slik måte at prognosefeilen minimeres. Denne oppgaven løses ved hjelp av en rekke læringsalgoritmer. Essensen av disse algoritmene er å tilpasse nettverket til treningsdataene. Feilen til det implementerte nettverket vil bli bestemt ved å kjøre alle inngangsdata og sammenligne de faktiske verdiene oppnådd ved utgangen av nettverket med målverdiene. Deretter summeres de oppnådde forskjellene til en felles, såkalt feilfunksjon, som karakteriserer den totale nettverksfeilen. Men oftere tas summen av kvadratene av feilene som feilfunksjonen.

En av de vanligste algoritmene for å trene flerlags nevrale nettverk ern. Denne algoritmen beregner gradientvektoren til feiloverflaten. Deretter beveger vi oss en viss mengde i retning av vektoren (det vil indikere for oss retningen til den bratteste nedstigningen), hvor feilverdien vil være mindre. Slik konsekvent fremgang vil gradvis føre til minimering av feilen. Det er her vanskelighetene oppstår med å bestemme beløpet som skal forskuddstrekkes. Hvis trinnstørrelsen er relativt stor, vil det føre til raskeste nedstigning, men det er mulighet for å "hoppe over"

ønsket punkt eller gå i feil retning hvis overflaten har en ganske kompleks form. For eksempel, hvis overflaten er en smal kløft med bratte bakker, vil algoritmen bevege seg veldig sakte og hoppe fra en skråning til en annen. Hvis trinnstørrelsen er liten, vil dette føre til å finne den mest optimale retningen, men kan øke antall iterasjoner betydelig. For å oppnå det mest optimale resultatet tas trinnstørrelsen i forhold til skråningsbrattheten med en viss konstant - læringshastigheten. Valget av denne konstanten utføres eksperimentelt og avhenger av betingelsene for et bestemt problem.

La oss introdusere følgende notasjon. Matrisen av vekter fra inngangene til det skjulte laget er angitt, og matrisen av vekter som forbinder de skjulte og utgående lagene er. For indekser vil vi bruke følgende notasjon: innganger vil kun nummereres med en indeks, elementer i et skjult lag - med en indeks, og utganger - med en indeks. Antall nettverksinnganger er likt, antall nevroner i det skjulte laget er, antall nevroner i utgangslaget er. La nettverket trene på en prøve,. Da vil læringsalgoritmen for en flerlags perceptron se slik ut:

Trinn 1. Nettverksinitialisering. Små tilfeldige verdier er tilordnet vektkoeffisientene, for eksempel fra området (-0,3, 0,3); er satt - parameteren for treningsnøyaktigheten, - parameteren for læringshastigheten (som regel, og kan reduseres ytterligere i læringsprosessen), - det maksimalt tillatte antall iterasjoner.

Trinn 2. Beregn gjeldende utgangssignal. Et av bildene av treningsprøven mates til inngangen til nettverket, og verdiene til utgangene til alle nevroner i det nevrale nettverket bestemmes.

Trinn 3. Sette opp synoptiske vekter. Beregn endringen i vekt for utgangslaget til det nevrale nettverket ved å bruke formlene:

hvor , . Beregn endringen i vekt for det skjulte laget ved hjelp av formlene: , hvor

Trinn 4. Trinn 2-3 gjentas for alle treningsvektorer. Treningen avsluttes når feilfunksjonen for hvert av treningsbildene når verdien av feilfunksjonen som ikke overskrider e eller etter maksimalt tillatt antall iterasjoner.

På trinn 2 er det bedre å presentere vektorer fra treningssekvensen til inngangen i tilfeldig rekkefølge.

Antall innganger og utganger til nettverket er som regel diktert av forholdene for problemet, og størrelsen på det skjulte laget blir funnet eksperimentelt. Vanligvis er antallet nevroner i den 30-50% av antall innganger. For mange nevroner i det skjulte laget fører til at nettverket mister sin evne til å generalisere (det husker ganske enkelt elementene i treningsprøven grundig og reagerer ikke på lignende mønstre, noe som er uakseptabelt for gjenkjenningsoppgaver). Hvis antallet nevroner i det skjulte laget er for lite, er nettverket rett og slett ikke i stand til å lære.

Konklusjon

Hovedproblemene vurderes, så vel som måtene å løse dem på under den første forberedelsen av bildet for anerkjennelse. Algoritmen for forbehandling ved bruk av uklar logikk og prosessen med binarisering av bildet blir analysert i detalj. En algoritme for uklar prosessering er konstruert for valg av grenser i et bilde ved å bruke Sobel-operatoren.

Anmeldere:

Gagarina L.G., doktor i tekniske vitenskaper, professor, leder for Institutt for informatikk og programvare for datasystemer, National Research University MIET, Moskva.

Portnov EM, doktor i tekniske vitenskaper, professor ved Institutt for informatikk og programvare for datasystemer, leder for forskningslaboratoriet "Kontrollinformasjonssystemer" ved det nasjonale forskningsuniversitetet "MIET", Moskva.

Bibliografisk referanse

Aung Ch.Kh., Tant Z.P., Fedorov A.R., Fedorov P.A. UTVIKLING AV BILDEBEHANDLINGSGORITMER AV INTELLIGENTE MOBILE ROBOTER BASERT PÅ FUZZY LOGIC OG NEURAL NETTVERK // Moderne problemer innen vitenskap og utdanning. - 2014. - Nr. 6 .;
URL: http://science-education.ru/ru/article/view?id=15579 (dato for tilgang: 02/01/2020). Vi gjør deg oppmerksom på tidsskriftene utgitt av "Academy of Natural Sciences"