klassificering moln molnskugga skog öppen mark
exempel på klassificering 2 1 3 6 7 8 11 9 10 3 2 4 5 1 4 6 5 7 11 8 10 9 5 10 1 8 2 6 7 4 11 3 9
exempel på klassificering
50 öre 50 öre 1 kr (ny) (gammal) 10 kr 5 kr klassning av mynt
klassificering (2 föreläsningar) egenskapsrymd val av egenskap objektvis (form, storlek,...) pixelvis (spektral, temporal, artificiell,...) övervakad (supervised) klassificering oövervakad (unsupervised) klassificering beslutsfunktioner boxklassificering minsta avstånds-klassning optimal klassificerare (Bayes) maximum likelihood klustring k-mean hierarkisk matchning
lågnivå förbehandling/ förbättring avbildning & digitalisering problem bildanalys segmentering kunskapsbas högnivå mellannivå representation, beskrivning (mätningar) klassificering, igenkänning, tolkning resultat
intelligens förmåga att urskilja relevant information från en bakgrund av irrelevanta detaljer förmåga att lära från exempel och generalisera kunskapen så att den kan användas i nya och andra situationer förmåga att dra slutsatser från ofullständig information
notation & definition objekt (eller mönster = patterns) är intressanta objekt/regioner pixel med ett eller flera grånivåvärden (multispektral...) objekt representeras av egenskapsvektorer (= feature vectors) en samling värden för olika egenskaper, x 1, x 2, en objektsklass är en samling objekt/mönster som har likartade egenskaper betecknas ω 1, ω 2, ω 3, egenskapsrum (=feature space) är där vi drar beslutsgränser för de olika klasserna objekt/mönsterigenkänning: metod för att tillskriva objekt klasstillhörighet automatiskt (med så liten inblandning av användaren som möjligt)
egenskapsrum (feature space) w 1 =banan w 2 =apelsin w 3 =äpple w 4 =päron p 2 /a x 1 =p 2 /a hög låg låg hög låg låg hög hög grånivåvariation egenskapsvektorer x 2 =grånivåvariation
steg i klassificering OBJEKTSVIS segmentering separering i objekt & bakgrund etikettering mät egenskaper beskrivning dra gränser i egenskapsrymden identifiering av klasser PIXELVIS ingen segmentering! varje pixel som objekt (egenskap = grånivå) klassificering baserad på färg grånivårepresentation av textur temporala skillnader dra gränser i egenskapsrymden identifiering av klasser
problem segmentering val av egenskaper diskriminerande stabil, pålitlig statistiskt oberoende såfåsom möjligt dra gränser förutbestämda (supervised) identifierade från information om typiska exempel träningssteg dynamisk (unsupervised) datorn fixar
segmenteringsberoende tröskelvärde 127 tröskelvärde 147
textur Fig 11.22
vad kan texturanalys användas för? segmentera, dela upp en bild i olika regioner med samma textur. klassificera objekt baserat på textur
example: dela upp objekt och bakgrund med hjälp av textur original image (neurala stamceller på en glasyta) tröskling filtrerad med hjälp av varians trösklad variansbild
val av egenskaper form objektsvis textur pixelvis (egengjorda lager!) grånivå pixelvis
ÖVERVAKAD KLASSIFICERING supervised classification klassificeringen övervakas av användaren användaren bestämmer måtten för olika klasser exempel på objekt som tillhör kända klasser används för träning användaren markerar objekten datorn beräknar egenskaper och drar gränser i egenskapsrymden nya objekt klassificeras enligt indelningen av egenskapsrymden först kunskap sedan klassning
OÖVERVAKAD KLASSIFICERING unsupervised classification datorn används för att dela in egenskapsrymden i kluster användaren anger identitet för varje kluster antag att objekt med egenskapsvektorer nära varandra i egenskapsrymden tillhör samma klass dela in egenskapsrymden i naturliga kluster efter klustering: jämför med referensdata identifiera klasser först klassning sedan kunskap
klassificeringsmetoder box bayes (neural nätverk) klustering minsta avstånd maximum likelihood övervakad oövervakad
övervakad klassificering utvärdera deskriptorerna/måtten genom analys av histogram/scatterplots välj lämpliga deskriptorer separerande! beskriv klasser från träningsdata genom medelvärde och fördelning runt medelvärdet
träningsdata ω 1 =blad 1 ω 2 =blad 2 ω 3 =blad 3 ω 4 =blad 4
utvärdering av träningsdata P 2 /A= omkrets x omkrets / area
utvärdering av träningsdata
utvärdering av träningsdata
utvärdering av träningsdata
utvärdering av träningsdata
exempel 1: klassning av löv
exempel 1: klassning av löv
övervakad klassificering från formdeskriptorer
ω 2 ω 1 mätvärden för löv ω 3 ω 4 elongatedness P 2 /A relative convex area 0.9890 0.9902 1.0068 1.0241 1.0326 1.0484 1.0492 1.0659 1.0690 1.0694 1.0695 1.1146 1.3787 1.4011 1.4330 1.4533 1.4788 1.4932 1.5224 1.5414 1.5556 1.5857 1.8824 1.9062 1.9803 1.0619 1.0882 1.1091 1.1212 1.1340 1.1538 1.1667 1.1875 1.1921 1.1940 1.2000 1.2386 1.3030 1.0374 1.0614 1.1518 1.1792 1.1914 1.1950 1.2018 1.2308 1.2367 1.2443 1.2500 1.3333 1.3819 1.8996 2.0634 2.0798 2.1588 2.1679 2.1981 2.2856 2.3348 2.3753 2.3921 2.4366 2.4664 1.1789 1.1867 1.2813 1.3238 1.3240 1.3505 1.3560 1.3878 1.4007 1.4307 1.5247 1.5424 1.6044 1.0648 1.0717 1.0757 1.0764 1.0812 1.0837 1.0972 1.1047 1.1090 1.1320 1.1663 1.1729 1.1928 1.5358 1.7640 1.8290 1.8624 1.9061 1.9326 2.0280 2.0917 2.1708 2.2437 2.2719 2.4009 2.4077 0.6586 0.6656 0.6674 0.6746 0.6914 0.6992 0.7017 0.7061 0.7104 0.7336 0.7466 0.7542 0.5091 0.5092 0.5125 0.5174 0.5186 0.5193 0.5193 0.5212 0.5354 0.5355 0.5424 0.5462 0.5719 0.5054 0.5056 0.5058 0.5062 0.5067 0.5067 0.5074 0.5079 0.5090 0.5109 0.5111 0.5127 0.5153 0.5541 0.5548 0.5563 0.5608 0.5673 0.5724 0.5768 0.5787 0.5802 0.5843 0.5948 0.6005 0.6019 medel: 1.0441 1.5888 1.1654 1.2073 min : 0.9890 1.3787 1.0619 1.0374 max: 1.1146 1.9803 1.3030 1.3819 medel: 2.2382 1.3763 1.1099 2.0342 min: 1.8996 1.1789 1.0648 1.5358 max: 2.4664 1.6044 1.1928 2.4077 medel: 0.7008 0.5275 0.5085 0.5756 min: 0.6586 0.5091 0.5054 0.5541 max: 0.7542 0.5719 0.5153 0.6019
3D diagram över träningsdata
exempel 2: klassning från multispektral bild Band 1: blå Band 2: grön Band 3: röd Band 4: near infrared Band 5: thermal infrared
övervakad klassificering från multispektrala data
generaliserad tröskling multispektral tröskling intervall för varje klass och egenskap alla objekt med egenskapsvektorer i samma box tillhör samma klass boxklassificering
boxklassificering löv: elongatedness P 2 /A
boxklassificering multispektral U S C H F W urban sand corn hay forest water
multispektral tröskling grånivå färg röd grön blå
röd grön blå
använd beslutsfunktioner (diskriminantfunktioner) egenskapsvektor med n egenskaper: x = ( x 1, x,..., x ) T 2 n W objektsklasser: ω ω,..., 1, 2 ω W beslutsfunktion för varje objektsklass: ( x) d ( x) d ( x) d,..., d 1 i, 2 beslut genom: x tillhör klass ω i om beslutsgränser i egenskapsrymden ges av d ij ( x) > d ( x), j = 1,2,..., W, i j j W ( x) = d ( x) d ( x) = 0 i j
minsta avståndsklassning varje klass representeras av en medelvärdesvektor träning: använd exempelobjekt från kända klasser för att beräkna medelvärdesvektor för varje klass nya objekt klassas till närmaste klass egenskap 1 m 1 m 2 beslutsgräns d 12 egenskap 2
minstaavståndsklassning löv: elongatedness P 2 /A d 23 d 24 d 41 d 43
minstaavståndsklassning multispektral d US U S C H F W urban sand corn hay forest water = ny pixel som ska klassas
begränsning minstaavståndsklassning lämplig då avstånd mellan medelvärde är stort jämfört med spridningen i varje klass ω 1 ω 2
varians & kovarians varians: mått på spridning inom egenskap kovarians: mått på samverkan mellan egenskaper beskrivs med kovariansmatris egenskap 1 egenskap 2 egenskap 3 egenskap 1 inom 1 mellan 1 & 2 mellan 1& 3 egenskap 2 mellan 1 & 2 inom 2 mellan 2 & 3 egenskap 3 mellan 1& 3 mellan 2 & 3 inom 3
beräkning av varians & kovarians egenskaper: x 1, x 2, x 3,... egenskapsvektor för varje objekt i: x 1,i, x 2,i, x 3,i,... medelvärde för varje egenskap (och klass): x medel_1 x medel_2 x medel_3... cov 1 n 1 n ( x ) = ( ) ( ) i, x j xi, k xmedel x j, k xmedel k = 1 i j
medelvärdesvektor för varje klass beräknas från träningsdata egenskap 1 egenskap 2 egenskap 3 1.0441 2.2383 0.7008 1.5855 1.3763 0.5275 1.1654 1.3763 0.5275 1.2073 2.0342 0.5756 ω 2 ω 1 ω 3 ω 4
kovariansmatriser för lövklasserna C ω1 0.0014 = 0.0061 0.0011 0.0061 0.0299 0.0052 0.0011 0.0052 0.0010 C ω3 = 0.0042 0.0026 0.0002 0.0026 0.0018 0.0001 0.0002 0.0001 0.0000 C ω2 = 0.0409 0.0244 0.0034 0.0244 0.0163 0.0022 0.0034 0.0022 0.0003 C ω4 = 0.0088 0.0232 0.0015 0.0232 0.0680 0.0042 0.0015 0.0042 0.0003 x 1 =elongatedness x 2 =P 2 /A x 3 =relative convex area Cω i = cov cov cov ( x1, x1 ) cov( x1, x2 ) cov( x1, x3 ) ( x1, x2 ) cov( x2, x2 ) cov( x2, x3 ) ( x, x ) cov( x, x ) cov( x, x ) 1 3 2 3 3 3
maximum likelihood klassning klassa enligt största sannolikhet ta hänsyn till kovarians antag att fördelningen inom varje klass är gaussisk, dvs normalfördelad varje klass kan beskrivas med medelvärdesvektor och kovariansmatris
normalfördelning samma varians för båda egenskaperna
normalfördelning olika varians för egenskaperna
normalfördelning kovarians och olika varians
maximum likelihood klassning beräkna medelvärdesvektor kovariansmatris för varje klass från träningsdata skapa beslutsfunktioner för varje klass beror av medelvärdesvektor och kovariansmatris nya objekt klassas till den klass som ger högst sannolikhet
likelihood löv: elongatedness P 2 /A
likelihood multispektral
lägst sannolikhet för felklassning optimal klassificerare TA HÄNSYN TILL sannolikhet för att ett objekt med egenskapsvektor x tillhör klass ω i kostnad för felklassificering (dvs objekt som tillhör ω i klassas som ω j ).
Bayes klassning utvidgning av maximum likelihood tar hänsyn till förenklad optimal a priori kunskaper om hur sannolik en klass är kostnad för felklassificering
antaganden om kovariansmatrisen Fall 1 minsta avstånd: oberoende egenskaper ingen kovarians samma varians Fall 2 okorrelerade: oberoende egenskaper ingen kovarians olika varians i olika dimensioner Fall 3 samma kovarians: samma kovarians för alla klasser Fall 4 - generellt: olika kovarians
fall 1 minsta avståndsklassning: oberoende egenskaper samma varians
fall 2 okorrelerade egenskaper: oberoende egenskaper olika varians i olika dimensioner
fall 3 samma kovariansmatris för alla klasser
fall 4 (general) resten! komplicerade beslutsytor
objekt = okänd nytt objekt x beslutsgräns använd tröskling: för låg sannolikhet identitet okänd eller bakgrund använd bakgrund som en objektsklass
färginformation för segmentering red green blue
färgsegmentering HSI baserat på färg hue saturation som extra information intensitet används sällan (ingen färginformation) RGB ofta tillräckligt skatta medelfärg för segmenteras
histogram för färgbild (RGB)
RGB-rymden beräkna medelvektor a från träningsdata definiera avståndsfunktion D interessanta punkter z: D(z,a) D 0 euclidean minimum distance mahalanobis maximum likelihood chess board box T 1 D ( z, a) = z a D( z, a) = ( z a) C ( z a) = ( z a ) 2 + ( z a ) 2 + ( z a ) 2 R R G G B B C=covariance matrix R & G & B tröskling
segmentering baserat på avstånd i RGB-rymden sample pixel avståndsbild trösklad avståndsbild
klassificering baserad på textur skapa en fler-lagerbild varje lager beskriver ett texturmått lager skapas genom filtrering, pixelshift,... pixelvis klassning
riktning kantdetektion 1 0 1 2 0 2 1 0 1 1 0 1 2 0 2 1 0 1 1 0 1 2 0 2 1 0 1 1 2 1 0 0 0 1 2 1 1 2 1 0 0 0 1 2 1
riktning summering band 1 vertikalt band 1 horisontellt band 2 band 2
utjämning olika grånivå använd medelvärdesfilter för utsmetning enkel tröskling ger klassning 65 114
klassning genom tröskling av medelvärdesfiltrerad bild
textur & färg: shift träningsytor: röd=molnskugga orange=moln gul=öppen mark grön=skog original bild ML-klassning (general) träningsytor klassning på 4-lagers bild: lager 1: original lager 2: shift 2 i x lager 3: shift 2 i y lager 4: shift 2 i x och y
relaxation nödvändig vid pixelvis klassning ge varje pixel den vanligaste förekommande värdet av omgivande grannarna välj storlek på omgivningen ω1 ω1 ω 1 ω1 ω2 ω 3 ω2 ω1 ω 1 ω 1
efter relaxation träningsytor: röd=molnskugga orange=moln gul=öppen mark grön=skog original bild ML-klassning (general) efter relaxation (11x11) klassning på 4-lagers bild: lager 1: original lager 2: shift 2 i x lager 3: shift 2 i y lager 4: shift 2 i x och y
pixelvis klassning egenskapsvektorer genom grånivåerna för varje lager i bilden viktigt att träningsytorna är representativa träning på alla potentiella klasser artificiella lager för att framhäva textur kan användas efter pixelvis klassning utförs ofta relaxation OBS! lagren måste vara linjärt oberoende och inte konstanta ( varians 0)
simulera neuronerna i hjärnan kan generera komplicerade beslutsgränser mellan klasserna träningssteget viktigt inget antagande om täthetsfunktion (som för maximum likelihood) har andra nackdelar... neural networks kan användas för klassificering
Hotelling transformen - principal component analysis (pca) beräkna medel och kovariansmatris för en population (=pixlar) skapa ett nytt koordinatsystem origo i medel axlar i riktning så att variansen maximeras rotera använd för egenskapsrymden!
egenskap för pixlar i multispektral bild grånivå för varje band band 2 band 1
PCA för multispektrala bilder för att lättare se skillnader transformera så att variansen maximeras komprimering använd n första PCna band 2 band 1
principalkomponenter för en multispektralbild band 1 band 2 band 3 PC 1 PC 2 PC 3
sammanfattning: övervakad klassificering egenskaper kan vara grånivåer färg, artificiella lager mängd av formdeskriptorer egenskaper ska väljas efter förmåga att kunna separera klasser att lägga till fler egenskaper kan leda till försämrad klassning träningsmängden ska vara MYCKET större än antal egenskaper linjärt beroende egenskaper bör undvikas
påminnelse: oövervakad klassificering antag att objekten med egenskapsvektorer som ligger nära varandra i egenskapsrymden tillhör samma klass gruppera egenskapsvektorerna i naturliga kluster som representerar klasserna efter klustring: jämför med referensdata bestäm klassidentitet
klusteranalys dela egenskapsrymden i kluster baserat på likhet använd hierarkisk eller icke-hierarkisk metod för klustring hierarkisk k-means egenskap 1 egenskap 2
k-means klustring antal kluster = k ange k startpunkter (slumpmässigt eller enligt någon modell) objekt klassas som den klass som ligger närmast objekt flyttas mellan kluster med målsättning minimera variansen inom varje kluster maximera variansen mellan kluster
k-means klustring
hierarkisk klustring skapa ett klustringsträd (dendrogram) börja med att varje objekt är en egen klass slå ihop de närmaste klasserna enligt något avståndsmått forsätt till endast en klass återstår bestäm antalet klasser baserat på avstånden i trädet
feature space enkelt dendrogram avstånd 1 2 3 5 4 klass
avståndsmått och länkningsregler avståndsmått euklidiskt city block länkningsregler, dvs hur vi mäter avstånd när flera objekt bildat kluster single linkage (nearest neighbour) kortaste avstånd complete linkage (furthest neighbour) längsta avstånd
egenskapsrymd för aktuella blad
etiketter: ω 1 = 1, 2, 3, 4 ω 2 = 5, 6, 7, 8 ω 3 =9,10,11,12 ω 4 =13,14,15,16 i etikettsbild ω 1 =1,5,7,11 ω 2 =2,9,10,20 ω 3 =3,4,6,8 ω 4 =14,15,16,17 ω 1 ω2 ω 3 ω 4
etiketter: ω 1 = 1, 2, 3, 4 ω 2 = 5, 6, 7, 8 ω 3 =9,10,11,12 ω 4 =13,14,15,16 i etikettsbild ω 1 =1,5,7,11 ω 2 =2,9,10,20 ω 3 =3,4,6,8 ω 4 =14,15,16,17 ω 1 ω2 ω 3 ω 4
etiketter: ω 1 = 1, 2, 3, 4 ω 2 = 5, 6, 7, 8 ω 3 =9,10,11,12 ω 4 =13,14,15,16 i etikettsbild ω 1 =1,5,7,11 ω 2 =2,9,10,20 ω 3 =3,4,6,8 ω 4 =14,15,16,17 ω 1 ω2 ω 3 ω 4
etiketter: ω 1 = 1, 2, 3, 4 ω 2 = 5, 6, 7, 8 ω 3 =9,10,11,12 ω 4 =13,14,15,16 i etikettsbild ω 1 =1,5,7,11 ω 2 =2,9,10,20 ω 3 =3,4,6,8 ω 4 =14,15,16,17 ω 1 ω2 ω 3 ω 4
sammanfattning klassificering box bayes (neural networks) klustring minsta avstånd maximum likelihood övervakad övervakad klassning träningssteg beslutsfunktioner d i (x) nya objekt klassas efter värdet på d i (x):na oövervakad oövervakad klassning klustring av egenskapsvektorer i egenskapsrymden identitet efter klustring
matching hitta kända objekt i en bild eller söka efter speciella mönster en del av bildförståelse kan användas för segmentering Gunilla: hierarkisk chamfermatchning
matching genom korrelation använd korrelation för att hitta: träff för delbild w(x,y) av storlek JxK med bild f(x,y) av storlek MxN c ( x, y) = f ( s, t) w( x + s, y + t) x = 0,1,..., M 1, y = 0,1,..., N 1 s t fig 12.8
fig 12.9
registrering genom matchning av kritiska punkter exempel: standardhjärna hitta kritiska puntker i bild 1 manuellt automatiskt (hörn, ) leta efter samma punkter i bild 2 bestäm transformation (translation, skalning, rotation)
vidare: strukturella metoder än så länge: klassificering baserat på kvantitativa mått inte bara kvantitativt utan också spatiella relationer strukturell metod ex. fingeravtryck representeras av strängar eller träd
strängar... primitiver a b strängrepresentation w=...ababababab...... ofta för form av kant eller liknande
träd mest för hierarkiska strukturer image $ downtown residential buildings highways housings shopping malls highways high density large structures multiple numerous intersections loops low density small wooded structures areas single few intersections
påminnelse: formtal formtal av ordning n välj en rektangel av ordning n som bäst approximerar basrektangeln rektangeln ger gridstorlek n=12: 2 4, 3 3, 1 5 entydigt formtal GW Fig 11.12
grad av likhet - matchning of formtal grad av likhet k mellan a och b: högsta ordningen för vilken formtalen sammanfaller generellt: använd likhetsmatris för strängmatchning fig 12.24 likhetsmatris