Friday, October 28, 2016

Gaussiese Bewegende Gemiddelde Kode

Gaussiese Smoothing Gewone name: Gauss glad Kort beskrywing Die Gaussiese glad operateur is 'n 2-D konvolusie operateur wat gebruik word om beelde vervaag en verwyder detail en geraas. In hierdie sin is dit soortgelyk aan die gemiddelde filter. maar dit maak gebruik van 'n ander kern wat die vorm van 'n Gaussiese (klokvormige) bult verteenwoordig. Dit kern het 'n paar spesiale eienskappe wat hieronder uiteengesit word. Hoe dit werk Die Gaussiese verspreiding in 1-D het die vorm: waar is die standaardafwyking van die verspreiding. Ons het ook aanvaar dat die verspreiding het 'n gemiddeld van nul (dit wil sê dit is gesentreer op die lyn x 0). Die verspreiding word geïllustreer in Figuur 1. Figuur 1 1-D Gaussiese verspreiding met gemiddelde 0 en 1 in 2-D, 'n isotropiese (dws sirkulêr simmetriese) Gaussiese het die vorm: Hierdie verspreiding word in Figuur 2. Figuur 2 2-D Gaussiese verspreiding met gemiddelde (0,0) en 1 Die idee van Gauss glad is om hierdie 2-D verspreiding as 'n punt-verspreiding funksie te gebruik, en dit word bereik deur konvolusie. Sedert die beeld gestoor word as 'n versameling van diskrete pixels moet ons 'n diskrete benadering te produseer om die Gaussiese funksie voordat ons die konvolusie kan verrig. In teorie, die Gaussiese verspreiding is nie-nul oral, wat 'n oneindig groot konvolusie kern sou vereis, maar in die praktyk is dit effektief nul meer as sowat drie standaardafwykings vanaf die gemiddelde, en daarom het ons die kern op hierdie punt kan afkap nie. Figuur 3 toon 'n geskikte-heelgetal waarde konvolusie kern wat 'n Gaussiese met 'n van 1,0 by benadering. Dit is nie duidelik hoe om die waardes van die masker om 'n Gaussiese benader haal. 'N Mens kan die waarde van die Gaussiese gebruik in die middel van 'n pixel in die masker, maar dit is nie akkuraat nie omdat die waarde van die Gaussiese wissel nie-lineêr oor die pixel. Ons geïntegreerde die waarde van die Gaussiese oor die hele pixel (deur die WHALM Gaussiese by 0.001 inkremente). Die integrale is nie heelgetalle: ons die skikking verklein sodat die hoeke moes die waarde 1. Ten slotte, die 273 is die som van al die waardes in die masker. Figuur 3 Diskrete benadering tot Gaussiese funksie met 1.0 Sodra 'n geskikte kern is bereken, dan is die Gaussiese glad uitgevoer kan word met behulp van standaard konvolusie metodes. Die konvolusie kan in werklikheid redelik vinnig uitgevoer word sedert die vergelyking vir die 2-D isotropies Gaussiese hierbo getoon is skeibare in x en y-komponente. So het die 2-D konvolusie kan uitgevoer word deur eerste convolving met 'n 1-D Gauss in die x rigting, en dan convolving met 'n ander 1-D Gauss in die y rigting. (Die Gaussiese is in werklikheid die enigste heeltemal sirkulêr simmetriese operateur wat kan ontbind word in so 'n manier.) Figuur 4 toon die 1-D x komponent kern wat gebruik sou word om die volle kern getoon in figuur 3 (na skalering deur 273 , afronding en truncating een ry pixels rondom die grens, want hulle het meestal die waarde 0. Dit verminder die 7x7 matriks om die bostaande 5x5.). Die y-komponent is presies dieselfde, maar word vertikaal georiënteerde. Figuur 4 Een van die denim 1-D konvolusie pitte wat gebruik word om die volle kern vinniger getoon in figuur 3 te bereken. 'N Verdere manier om 'n Gaussiese glad met 'n groot standaardafwyking te bereken is om 'n beeld 'n paar keer oprollen met 'n kleiner Gaussiese. Terwyl dit is bestryk komplekse, kan dit toepaslikheid hê as die verwerking word uitgevoer met behulp van 'n hardeware pyplyn. Die Gaussiese filter het nie net nut in ingenieurstoepassings. Dit is ook om aandag te trek uit computational bioloë, want dit is toegeskryf aan 'n bedrag van biologiese aanneemlikheid, bv sommige selle in die visuele bane van die brein het dikwels 'n ongeveer Gaussiese reaksie. Riglyne vir die gebruik van die krag van Gauss glad is om 'n beeld vervaag, in 'n soortgelyke wyse aan die gemiddelde filter. Die mate van gladstryking word bepaal deur die standaardafwyking van die Gaussiese. (Groter standaardafwyking Gaussians, natuurlik, vereis groter konvolusie pitte ten einde akkuraat te verteenwoordig.) Die Gaussiese uitgange 'n geweegde gemiddelde van elke buurt pixels, met die gemiddelde geweegde meer in die rigting van die waarde van die sentrale pixels. Dit is in teenstelling met die gemiddelde filters eenvormig geweegde gemiddelde. As gevolg hiervan, 'n Gaussiese bied sagter glad en bewaar kante beter as 'n soortgelyke grootte gemiddelde filter. Een van die beginsel regverdigings vir die gebruik van die Gaussiese as glad filter is te danke aan sy frekwensieweergawe. Die meeste-konvolusie gebaseer glad filters op te tree as laagdeurlaat frekwensie filters. Dit beteken dat die uitwerking daarvan is om 'n hoë ruimtelike frekwensie komponente van 'n beeld te verwyder. Die frekwensieweergawe van 'n konvolusie filter, dit wil sê die uitwerking daarvan op verskillende ruimtelike frekwensie, kan gesien word deur die neem van die Fourier-transform van die filter. Figuur 5 toon die frekwensie reaksie van 'n 1-D beteken filter met breedte 5 en ook van 'n Gaussiese filter met 3. Figuur 5 frekwensieweergawes van Box (dit wil sê dat) filter (breedte 5 pixels) en Gaussiese filter (3 pixels). Die ruimtelike frekwensie-as gemerk in siklusse per pixel, en dus geen waarde bo 0,5 het 'n ware betekenis. Beide filters verswak hoë frekwensies meer as 'n lae frekwensies, maar die gemiddelde filter vertoon ossillasies in sy frekwensieweergawe. Die Gaussiese aan die ander kant toon geen ossilasies. Trouens, die vorm van die frekwensiereaksiekurwe self (halwe) Gaussiese. So deur die keuse van 'n toepaslike grootte Gaussiese filter ons kan redelik vol vertroue oor watter reeks ruimtelike frekwensie is steeds teenwoordig is in die beeld na filter, wat nie die geval van die gemiddelde filter wees. Dit het gevolge vir 'n paar rand opsporing tegnieke, soos genoem in die afdeling oor nul kruisings. (Die Gaussiese filter blyk ook baie soortgelyk aan die optimale glad filter vir rand opsporing onder die wat gebruik word om die Canny rand detector lei kriteria te wees.) Om die uitwerking van glad met agtereenvolgens groter en groter Gaussiese filters te illustreer. toon die effek van die filter met 'n Gaussiese van 1.0 (en pitgrootte 52155). toon die effek van die filter met 'n Gaussiese van 2.0 (en pitgrootte 92159). toon die effek van die filter met 'n Gaussiese van 4.0 (en pitgrootte 1521515). Ons het nou oorweeg om die Gaussiese filter vir geluidsreductie. Byvoorbeeld, kyk na die beeld wat deur Gaussiese ruis het gehandel met 'n gemiddelde van nul en 8. Gladstryking dit met 'n 52.155 Gaussiese opbrengste (Vergelyk hierdie resultaat met dié verkry deur die gemiddelde en mediaan filters.) Sout en peper geraas is meer uitdagend vir 'n Gaussiese filter. Hier sal ons die beeld wat is beskadig deur 1 sout en peper geraas (dit wil sê individuele stukkies is omgekeer met waarskynlikheid 1) glad. Die foto toon die resultaat van Gauss smoothing (met behulp van dieselfde konvolusie soos hierbo). Vergelyk dit met die oorspronklike Let daarop dat die grootste deel van die geraas nog bestaan ​​en dat, hoewel dit ietwat afgeneem het in grootte, is dit gesmeer oor 'n groter ruimtelike streek. Die verhoging van die standaard afwyking gaan voort om te verminder / vervaag die intensiteit van die geraas, maar verswak ook 'n hoë frekwensie detail (bv kante) aansienlik, soos in Interaktiewe Eksperimentering Jy kan interaktief eksperimenteer met hierdie operateur deur hier te klik. Oefeninge Vanaf die Gaussiese ruis (gemiddelde 0, 13) beskadig beeld bereken beide beteken filter en Gaussiese filter glad op verskillende skale, en vergelyk elk in terme van geraas verwydering vs verlies van detail. By hoeveel standaardafwykings vanaf die gemiddelde nie 'n Gaussiese val tot 5 van sy hoogtepunt waarde Op grond van hierdie dui op 'n geskikte vierkante pitgrootte vir 'n Gaussiese filter met s. Skat die frekwensieweergawe vir 'n Gaussiese filter deur Gaussiese glad 'n beeld, en die neem van die Fourier-transform beide voor en na die tyd. Vergelyk dit met die frekwensieweergawe van 'n gemiddelde filter. Hoe die tyd wat dit neem om te stryk met 'n Gaussiese filter vergelyk met die tyd wat dit neem om te stryk met 'n gemiddelde filter vir 'n kern van dieselfde grootte Let daarop dat in beide gevalle die konvolusie kan aansienlik bespoedig word deur die ontginning van sekere kenmerke van die kern. Verwysings E. Davies masjien Visie: Teorie, algoritmes en Functionaliteiten. Akademiese Press, 1990, pp 42 - 44. R. Gonzalez en R. Woods digitale beeldverwerking. Addison-Wesley Publishing Company, 1992, p 191. R. Haralick en L. Shapiro Rekenaar en robot Visie. Addison-Wesley Publishing Company, 1992, Vol. 1, Hfst. 7. B. Horn robot Visie. MIT Press, 1986, Hfst. 8. D. Vernon masjien Visie. Prentice-Hall, 1991, pp 59-61, 214. Plaaslike inligting Spesifieke inligting oor hierdie operateur kan hier gevind word. Meer algemene advies oor die plaaslike HIPR installasie is beskikbaar in die Plaaslike inligting inleidende section. Smoothing Images Die onderstaande verduideliking behoort aan die boek Computer Vision: Algoritmes en aansoeke deur Richard Szeliski en LearningOpenCV Smoothing. ook bekend as vervaag. is 'n eenvoudige en dikwels gebruikte beeldverwerking werking. Daar is baie redes vir glad. In hierdie handleiding word daar gefokus op glad om geraas te verminder (ander gebruike sal gesien word in die volgende tutoriale). Om 'n glad aksie uit te voer sal ons 'n filter van toepassing op ons beeld. Die mees algemene tipe filters is lineêr. waarin 'n uitset pixel8217s waarde (dit wil sê) is bepaal as 'n geweegde som van insette pixel waardes (dit wil sê): Dit help om 'n filter te visualiseer as 'n venster van koëffisiënte gly oor die beeld. Daar is baie soorte filters, hier sal ons praat van die mees gebruikte: genormaliseerde Box Dit filter is die eenvoudigste van alle Elke uitset pixel is die gemiddelde van sy kern bure (almal bydra met gelyke gewigte) Die kern is hieronder: Gauss filter Waarskynlik die mees bruikbare filter (hoewel nie die vinnigste). Gaussiese filter word gedoen deur convolving elke punt in die insette array met 'n Gaussiese kern en dan optel almal aangemoedig om die uitset verskeidenheid produseer. Net om die prentjie duideliker te maak, onthou hoe 'n 1D Gaussiese kern lyk veronderstelling dat 'n beeld is 1D, kan jy sien dat die pixel geleë in die middel van die grootste gewig sou hê. Die gewig van sy bure daal as die ruimtelike afstand tussen hulle en die sentrum pixel toeneem. Onthou dat 'n 2D Gaussiese kan voorgestel word as: Mediaan Filter Die mediaan filter loop deur elke element van die sein (in hierdie geval die beeld) en vervang elke pixel met die mediaan van die naburige pixels (geleë in 'n vierkantige omgewing rondom die geëvalueer pixel ). Bilaterale Filter Tot dusver het ons 'n paar filters wat hoofdoel is om 'n invoer beeld glad verduidelik. Maar soms die filters nie net los die geraas, maar ook weg glad die kante. Om dit te voorkom (op sekere mate ten minste), kan ons 'n bilaterale filter gebruik. In 'n soortgelyke wyse as die Gaussiese filter, die bilaterale filter is ook van mening die naburige pixels met gewigte aan elkeen van hulle. Hierdie gewigte het twee komponente, waarvan die eerste is die dieselfde gewig wat gebruik word deur die Gauss filter. Die tweede komponent in ag neem die verskil in intensiteit tussen die naburige pixels en die geëvalueer een. Vir 'n meer gedetailleerde verduideliking wat jy kan kyk op hierdie skakel Kode Wat beteken hierdie program doen Loads 'n beeld Pas 4 verskillende soorte filters (verduidelik in teorie) en wys die gefiltreer beelde agtermekaar Verduideliking Let8217s die OpenCV funksies wat slegs die smoothing prosedure behels kyk, aangesien die res is reeds bekend teen hierdie tyd. Genormaliseer Blok Filter: OpenCV bied die funksie vervaag uit te voer glad met hierdie filter. Ons spesifiseer 4 argumente (meer besonderhede, kyk die Verwysingsgroep): src. Bron beeld dst. beeld bestemming Grootte (w, h). Definieer die grootte van die kern te gebruik (met wydte w pixels en hoogte h pixels) Punt (-1, -1). Dui aan waar die anker punt (die pixel geëvalueer) is geleë ten opsigte van die omgewing. As daar 'n negatiewe waarde, dan is die middelpunt van die kern is van mening dat die anker punt. Dit word gedoen deur die funksie GaussianBlur: Hier gebruik ons ​​4 argumente (meer besonderhede, kyk die OpenCV verwysing): Dokumentasie tsmovavg uitset tsmovavg (tsobj, s, lag) gee terug Die eenvoudige bewegende gemiddeld vir finansiële tydreekse voorwerp, tsobj. lag dui die aantal vorige datapunte gebruik met die huidige data punt by die berekening van die bewegende gemiddelde. uitset tsmovavg (vektor, s, lag, dowwe) gee terug Die eenvoudige bewegende gemiddelde vir 'n vektor. lag dui die aantal vorige datapunte gebruik met die huidige data punt by die berekening van die bewegende gemiddelde. uitset tsmovavg (tsobj, e, timeperiod) gee terug Die eksponensiële geweegde bewegende gemiddelde vir finansiële tydreekse voorwerp, tsobj. Die eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod spesifiseer die tydperk. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n 10-tydperk eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. Eksponensiële Persentasie 2 / (TIMEPER 1) of 2 / (WINDOWSIZE 1). uitset tsmovavg (vektor, e, timeperiod, dowwe) gee terug Die eksponensiële geweegde bewegende gemiddelde vir 'n vektor. Die eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod spesifiseer die tydperk. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n 10-tydperk eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. (2 / (timeperiod 1)). uitset tsmovavg (tsobj, t, numperiod) gee terug Die driehoekige bewegende gemiddelde vir finansiële tydreekse voorwerp, tsobj. Die driehoekige bewegende gemiddelde dubbel glad die data. tsmovavg word bereken dat die eerste eenvoudige bewegende gemiddelde met venster breedte van oordek (numperiod 1) / 2. Dan bereken dit 'n tweede eenvoudige bewegende gemiddelde op die eerste bewegende gemiddelde met dieselfde venster grootte. uitset tsmovavg (vektor, t, numperiod, dowwe) gee terug Die driehoekige bewegende gemiddelde vir 'n vektor. Die driehoekige bewegende gemiddelde dubbel glad die data. tsmovavg word bereken dat die eerste eenvoudige bewegende gemiddelde met venster breedte van oordek (numperiod 1) / 2. Dan bereken dit 'n tweede eenvoudige bewegende gemiddelde op die eerste bewegende gemiddelde met dieselfde venster grootte. uitset tsmovavg (tsobj, w, gewigte) gee terug Die geweegde bewegende gemiddelde vir die finansiële tydreekse voorwerp, tsobj. deur die verskaffing van gewigte vir elke element in die bewegende venster. Die lengte van die gewig vektor bepaal die grootte van die venster. As groter gewig faktore word gebruik vir meer onlangse pryse en kleiner faktore vir vorige pryse, die neiging is meer ontvanklik vir onlangse wysigings. uitset tsmovavg (vektor, w, gewigte, dowwe) gee terug Die geweegde bewegende gemiddelde vir die vektor deur die verskaffing van gewigte vir elke element in die bewegende venster. Die lengte van die gewig vektor bepaal die grootte van die venster. As groter gewig faktore word gebruik vir meer onlangse pryse en kleiner faktore vir vorige pryse, die neiging is meer ontvanklik vir onlangse wysigings. uitset tsmovavg (tsobj, m, numperiod) gee terug Die gemodifiseerde bewegende gemiddelde vir die finansiële tydreekse voorwerp, tsobj. Die aangepaste bewegende gemiddelde is soortgelyk aan die eenvoudige bewegende gemiddelde. Oorweeg die argument numperiod die lag van die eenvoudige bewegende gemiddelde wees. Die eerste gewysigde bewegende gemiddelde bereken word soos 'n eenvoudige bewegende gemiddelde. Daaropvolgende waardes word bereken deur die toevoeging van die nuwe prys en trek die laaste gemiddelde van die gevolglike bedrag. uitset tsmovavg (vektor, m, numperiod, dowwe) gee terug Die gemodifiseerde bewegende gemiddelde vir die vektor. Die aangepaste bewegende gemiddelde is soortgelyk aan die eenvoudige bewegende gemiddelde. Oorweeg die argument numperiod die lag van die eenvoudige bewegende gemiddelde wees. Die eerste gewysigde bewegende gemiddelde bereken word soos 'n eenvoudige bewegende gemiddelde. Daaropvolgende waardes word bereken deur die toevoeging van die nuwe prys en trek die laaste gemiddelde van die gevolglike bedrag. dowwe 8212 dimensie te bedryf saam positiewe heelgetal met waarde 1 of 2 Dimension te bedryf saam, wat as 'n positiewe heelgetal met 'n waarde van 1 of 2. dowwe is 'n opsionele insette argument, en as dit nie gebruik word as 'n inset, die verstek waarde 2 word aanvaar. Die standaard van dowwe 2 dui op 'n ry-georiënteerde matriks, waar elke ry is 'n veranderlike en elke kolom is 'n waarneming. As dowwe 1. die insette is veronderstel om 'n kolomvektor of-kolom-georiënteerde matriks, waar elke kolom is 'n veranderlike en elke ry 'n waarneming wees. e 8212 aanwyser vir eksponensiële bewegende gemiddelde karakter vektor Eksponensiële bewegende gemiddelde is 'n geweegde bewegende gemiddelde, waar timeperiod is die tydperk van die eksponensiële bewegende gemiddelde. Eksponensiële bewegende gemiddeldes te verminder die lag deur die toepassing van meer gewig aan onlangse pryse. Byvoorbeeld, 'n tydperk van 10 eksponensiële bewegende gemiddelde gewigte die mees onlangse prys deur 18.18. Eksponensiële Persentasie 2 / (TIMEPER 1) of 2 / (WINDOWSIZE 1) timeperiod 8212 Lengte van tyd positiewe getal Kies Jou CountryMoving Gemiddelde Filter (MA filter) laai. Die bewegende gemiddelde filter is 'n eenvoudige Low Pass FIR (Eindige Impulse Response) filter wat algemeen gebruik word vir glad 'n verskeidenheid van monsters data / sein. Dit neem M monsters van insette op 'n tyd en neem die gemiddelde van die M-monsters en produseer 'n enkele uitset punt. Dit is 'n baie eenvoudige LPF (laaglaatfilter) struktuur wat handig te pas kom vir wetenskaplikes en ingenieurs om ongewenste lawaaierige komponent filter van die beoogde data. As die filter lengte toeneem (die parameter M) die gladheid van die uitset verhoog, terwyl die skerp oorgange in die data gemaak word toenemend stomp. Dit impliseer dat die filter het 'n uitstekende tyd domein reaksie, maar 'n swak frekwensieweergawe. Die MA filter voer drie belangrike funksies: 1) Dit neem M insette punte, bere die gemiddelde van die M-punte en produseer 'n enkele uitset punt 2) As gevolg van die berekening / berekeninge betrokke. die filter stel 'n definitiewe bedrag van die vertraging 3) Die filter dien as 'n laaglaatfilter (met 'n swak frekwensiedomein reaksie en 'n goeie tyd domein reaksie). Matlab Kode: Na aanleiding van Matlab kode simuleer die tydgebied reaksie van 'n M-punt bewegende gemiddelde filter en ook plotte die frekwensieweergawe vir verskeie filter lengtes. Tyd Domain Reaksie: Op die eerste plot, ons het die insette wat gaan in die bewegende gemiddelde filter. Die insette is raserig en ons doel is om die geraas te verminder. Die volgende figuur is die uitset reaksie van 'n 3-punt bewegende gemiddelde filter. Dit kan afgelei word uit die figuur dat die 3-punt bewegende gemiddelde filter nie veel in die filter van die geraas gedoen het. Ons verhoog die filter krane tot 51-punte en ons kan sien dat die geraas in die uitset baie, wat uitgebeeld word in die volgende figuur verminder. Ons verhoog die krane verder tot 101 en 501 en ons kan waarneem dat selfs-al die geraas is amper nul, die oorgange is drasties afgestomp uit (kyk na die helling op die weerskante van die sein en vergelyk kan word met die ideale baksteenmuur oorgang in ons insette). Frekwensie: Van die frekwensieweergawe dit kan beweer dat die roll-off is baie stadig en die stop orkes verswakking is nie goed nie. Gegewe hierdie stop-band attenuasie, duidelik, die bewegende gemiddelde filter kan nie een band van frekwensies van 'n ander te skei. Soos ons weet dat 'n goeie vertoning in die tydgebied resultate in 'n swak vertoning in die frekwensiedomein, en omgekeerd. In kort, die bewegende gemiddelde is 'n buitengewoon goeie glad filter (die aksie in die tydgebied), maar 'n besonder slegte laaglaatfilter (die aksie in die frekwensiedomein) Eksterne skakel: aanbevole boeke: Primêre SidebarSmoothing In baie eksperimente in die wetenskap , die ware sein amplitudes (y-as waardes) verandering eerder glad as 'n funksie van die x-as waardes, terwyl baie soorte geraas word beskou as 'n vinnige, ewekansige verandering in amplitude van punt tot punt in die sein. In laasgenoemde situasie kan dit nuttig wees in sommige gevalle wees om te probeer om die geraas deur 'n proses genaamd glad verminder. In smoothing, is die data punte van 'n sein verander sodat individuele punte wat hoër as die onmiddellik aangrensende punte (vermoedelik as gevolg van geraas) is verminder, en punte wat laer is as die aangrensende punte verhoog is nie. Dit lei natuurlik tot 'n gladder sein (en 'n stadiger stap reaksie op veranderinge sein). Solank as wat die ware onderliggende sein is eintlik glad, dan is die ware teken sal nie veel verwring deur glad nie, maar die geraas sal verminder. In terme van die frekwensie komponente van 'n sein, 'n glad werking tree op as 'n laaglaatfilter. die vermindering van die hoë-frekwensie komponente en verby die lae-frekwensie komponente met min verandering. Glad algoritmes. Die meeste glad algoritmes is gebaseer op die verskuiwing en vermeerder tegniek, waarin 'n groep van aangrensende punte in die oorspronklike data vermenigvuldig punt-vir-punt deur 'n stel van getalle (koëffisiënte) wat die gladde vorm definieer, die produkte is opgetel en gedeel deur die som van die koëffisiënte, wat een punt van stryk data word, dan is die stel koëffisiënte geskuif een punt af die oorspronklike data en die proses word herhaal. Die eenvoudigste glad algoritme is die vierkantige wagon of ongeweegde gly-gemiddelde gladde dit eenvoudig elke punt in die sein met die gemiddelde van m aangrensend punte, waar m 'n positiewe heelgetal genoem die gladde breedte vervang. Byvoorbeeld, vir 'n 3-punt glad (m 3), want j 2 tot N-1, waar S j die j de punt in die stryk sein, Y j die j de punt in die oorspronklike sein, en N is die totale aantal punte in die sein. Soortgelyke gladde bedrywighede kan gebou word vir enige gewenste gladde breedte, m. Gewoonlik m 'n onewe getal. As die geraas in die data is wit geraas (dit is, eweredig versprei oor die hele frekwensie) en sy standaardafwyking is s. dan is die standaardafwyking van die oorblywende in die sein na die eerste pas van 'n ongeweegde gly-gemiddelde glad geraas sal ongeveer s oor die vierkantswortel van m (s / sqrt (m)), waar m die gladde breedte. Ten spyte van sy eenvoud, hierdie gladde is eintlik optimum vir die algemene probleem van die vermindering van wit geraas, terwyl die behoud van die skerpste stap reaksie. Die reaksie op 'n stap verandering is in werklikheid lineêre. sodat hierdie filter het die voordeel van heeltemal reageer met geen nawerking sy binne sy reaksie tyd. wat gelyk is aan die gladde breedte gedeel deur die sampling rate. Die driehoekige glad is soos die vierkantige gladde, hierbo, behalwe dat dit implementeer 'n geweegde glad funksie. Vir 'n 5-punt glad (m 5), want j 3 tot N-2, en insgelyks vir ander glad breedtes (sien die sigblad UnitGainSmooths. xls). In albei hierdie gevalle, die heelgetal in die deler is die som van die koëffisiënte in die teller, wat lei tot 'n eenheid-wins gladde dat geen effek op die sein het waar dit is 'n reguit lyn en wat die gebied onder pieke bewaar. Dit is dikwels nuttig om 'n glad werking meer as een keer aansoek doen, dit wil sê om 'n reeds stryk sein glad, ten einde meer en meer ingewikkeld glad maak bou. Byvoorbeeld, die 5-punt driehoekige gladde bo is gelykstaande aan twee passe van 'n 3-punt vierkantige glad. Drie pas van 'n 3-punt vierkantige gladde resultaat in 'n 7-punt pseudo-Gaussiese of hooiberg gladde, waarvoor die koëffisiënte in die verhouding 1: 3: 6: 7: 6: 3: 1. Die algemene reël is dat N passe van 'n w - width gladde resultate in 'n gekombineerde gladde breedte van N w - N 1. Byvoorbeeld, 3 passe van 'n 17-punt glad resultate in 'n 49-punt glad. Hierdie multi-pass glad maak is meer effektief op die vermindering van hoë-frekwensie geraas in die sein as 'n vierkantige gladde maar uitstal stadiger stap reaksie. In al hierdie glad maak, is die breedte van die gladde m gekies om 'n vreemde heelgetal wees, sodat die gladde koëffisiënte simmetries gebalanseer rondom die sentrale punt, wat belangrik is, want dit behou die posisie x-as van pieke en ander funksies in die sein. (Dit is veral noodsaaklik vir analitiese en spektroskopiese aansoeke, want die piek posisies is dikwels belangrike doelwitte meting). Let daarop dat ons hier is die veronderstelling dat die x-as tussenposes van die sein is uniform, dit wil sê dat die verskil tussen die x-as waardes van aangrensende punte is dieselfde regdeur die sein. Dit is ook aanvaar in baie van die ander sein-verwerking tegnieke in hierdie essay beskryf, en dit is 'n baie algemene (maar nie noodsaaklik) kenmerkend van seine wat verkry word deur outomatiese en gerekenariseerde toerusting. Die Savitzky-Golay glad is gebaseer op die kleinste-kwadrate pas van polinome te segmente van die data. Die algoritme word in www. wire. tu-bs. de/OLDWEB/mameyer/cmr/savgol. pdf. In vergelyking met die gly-gemiddelde glad maak, die Savitzky-Golay glad nie meer so effektief op die vermindering van geraas, maar meer effektief op die behoud van die vorm van die oorspronklike sein. Dit is in staat om van differensiasie asook glad. Die algoritme is meer kompleks en die rekenaarmatige keer groter is as die gladde tipes wat hierbo bespreek is, maar met 'n moderne rekenaars die verskil is nie beduidende en kode in verskeie tale is aanlyn oral beskikbaar. Sien SmoothingComparison. Die vorm van 'n glad algoritme kan bepaal word deur die toepassing van daardie gladde 'n delta-funksie. 'n sein wat bestaan ​​uit al nulle behalwe vir een punt, soos blyk uit die eenvoudige Matlab / Octave script DeltaTest. m. Geraas vermindering . Glad gewoonlik verminder die geraas in 'n sein. As die geraas is wit (dit is, eweredig versprei oor die hele frekwensie) en sy standaardafwyking is s. dan is die standaardafwyking van die oorblywende in die sein na 'n aangee van 'n vierkantige geraas gladde sal ongeveer s / sqrt (m), waar m die gladde breedte wees. As 'n driehoekige gladde plaas gebruik word, sal die geraas effens minder wees, oor s 0.8 / sqrt (m). Glad bedrywighede kan meer as een keer toegepas word: dit wil sê, kan 'n voorheen-stryk sein weer glad. In sommige gevalle kan dit nuttig wees as daar 'n groot deel van 'n hoë-frekwensie geraas in die sein. Maar die geluidsreductie vir wit geraas is minder in elke opeenvolgende glad. Byvoorbeeld, drie passe van 'n vierkantige glad verminder wit geraas met 'n faktor van ongeveer s 0.7 / sqrt (m), slegs 'n geringe verbetering op twee passe. Die frekwensieverspreiding van geraas, deur geraas kleur aangewese. aansienlik effekte die vermoë van gladstryking om geraas te verminder. Die Matlab / Octave funksie NoiseColorTest. m vergelyk die effek van 'n 100-punt wagon (ongeweegde gly gemiddelde) glad op die standaardafwyking van wit, pienk en blou geraas, wat almal 'n oorspronklike onbestreken standaardafwyking van 1.0. Omdat glad is 'n laaglaatfilter proses, dit effekte lae frekwensie (pienk) geraas minder, en 'n hoë-frekwensie (blou) geraas meer as wit geraas. Einde effekte en die verlore punte probleem. Nota in die vergelykings hierbo dat die 3-punt vierkantige gladde gedefinieer net vir j 2 tot N-1. Daar is nie genoeg data in die sein te definieer 'n volledige 3-punt glad vir die eerste punt in die sein (j 1) of vir die laaste punt (j N). want daar is geen data punte voor die eerste punt of na die laaste punt. (Net so, 'n 5-punt glad gedefinieer net vir j 3 tot N-2, en dus 'n gladde kan nie bereken word vir die eerste twee punte of vir die laaste twee punte). In die algemeen, vir 'n m - width gladde, daar sal (m -1) / 2 punte aan die begin van die sein en (m -1) wees / 2 punte aan die einde van die sein waarvoor 'n volledige m - width glad kan nie bereken word. Wat om te doen Daar is twee benaderings. Een daarvan is om die verlies van punte te aanvaar en te knip af die punte of vervang dit met nulle in die gladde sein. (Dis die benadering wat in die meeste van die figure in hierdie vraestel). Die ander benadering is om progressief kleiner glad maak gebruik aan die einde van die sein, byvoorbeeld om te gebruik 2, 3, 5, 7 punt glad vir sein punte 1, 2, 3, en 4 en vir punte N, N-1 , N-2, N-3. onderskeidelik. Die later benadering kan beter wees as die kante van die sein bevat belangrike inligting, maar dit verhoog uitvoering tyd. Die fastsmooth funksie hieronder bespreek kan enigeen van hierdie twee metodes aan te wend. Voorbeelde van gladstryking. 'N Eenvoudige voorbeeld van gladstryking word in Figuur 4. Die linker helfte van hierdie sein is 'n lawaaierige piek. Die regter helfte is dieselfde piek na 'n driehoekige glad algoritme ondergaan. Die geraas is aansienlik verminder, terwyl die piek self nouliks verander. Smoothing verhoog die sein-tot-ruis verhouding en laat die sein eienskappe (piek posisie, hoogte, breedte, omgewing, ens) meer akkuraat gemeet word deur visuele inspeksie. Figuur 4. Die linker helfte van hierdie sein is 'n lawaaierige piek. Die regter helfte is dieselfde piek na 'smoothing algoritme ondergaan. Die geraas is aansienlik verminder, terwyl die piek self nouliks verander, maak dit makliker om die hoogtepunt posisie, hoogte te meet, en direk breedte met grafiese of visuele skatting (maar dit beteken nie metings gemaak deur kleinste-kwadrate metodes sien hieronder te verbeter). Hoe groter die gladde breedte, hoe groter is die geluidsreductie, maar ook hoe groter is die moontlikheid dat die sein sal verwring deur die gladheid werking. Die optimale keuse van gladde breedte hang af van die breedte en vorm van die sein en die digitalisering interval. Vir piek-tipe seine, die kritieke faktor is die smoothing verhouding. die verhouding tussen die gladde breedte m en die aantal punte in die half-breedte van die piek. In die algemeen, die verhoging van die glad verhouding verbeter die sein-tot-ruis verhouding, maar veroorsaak 'n vermindering in amplitude en in toename in die bandwydte van die piek. Die syfers hierbo toon voorbeelde van die effek van drie verskillende gladde breedtes op lawaaierige Gaussiese-vormige pieke. In die figuur aan die linkerkant, die hoogtepunt 'n (ware) hoogte van 2,0 en daar is 80 punte in die half-breedte van die piek. Die rooi lyn is die oorspronklike onbestreken piek. Die drie bo-groen lyne is die resultate van gladstryking hierdie hoogtepunt met 'n driehoekige glad van wydte (van bo na onder) 7, 25, en 51 punte. Omdat die breedte hoogtepunt is 80 punte, die gladde verhoudings van hierdie drie glad maak is 7/80 0.09, 25/80 0.31, en 51/80 0,64, onderskeidelik. Soos die gladde breedte toeneem, is die geraas progressief verminder, maar die piek hoogte ook effens verminder. Vir die grootste gladde, is die breedte piek effens toegeneem. In die figuur aan die regterkant, die oorspronklike piek (in rooi) het 'n ware hoogtepunt van 1,0 en 'n half-breedte van 33 punte. (Dit is ook minder luidrugtig as die voorbeeld aan die linkerkant.) Die drie bo-groen lyne is die resultate van die dieselfde drie driehoekige glad maak van wydte (van bo na onder) 7, 25, en 51 punte. Maar omdat die breedte hoogtepunt in hierdie geval is slegs 33 punte, die gladde verhoudings van hierdie drie glad maak is groter - onderskeidelik 0.21, 0.76 en 1.55. Jy kan sien dat die piek distortion (vermindering van piek hoogte en toename in piek breedte) is groter vir die nouer piek omdat die gladde verhoudings is hoër. Glad verhoudings van meer as 1,0 word selde as gevolg van oormatige piek ondergang. Let daarop dat selfs in die ergste geval, die piek posisies is nie in werking gestel (die veronderstelling dat die oorspronklike pieke was simmetriese en nie oorvleuel deur ander pieke). As die behoud van die vorm van die piek is belangriker as die optimalisering van die sein-tot-ruis-verhouding, die Savitzky-Golay het die voordeel bo gly-gemiddelde glad maak. In alle gevalle, die totale oppervlakte onder die piek onveranderd. Die probleem met smoothing is dat dit dikwels minder voordelig as wat jy dink. Dit is baie belangrik om daarop te wys dat glad resultate soos geïllustreer in die bostaande figuur bedrieglik indrukwekkende mag wees omdat hulle 'n enkele voorbeeld van 'n raserige sein wat glad gemaak om verskillende grade in diens. Dit veroorsaak dat die kyker om die bydrae van 'n lae-frekwensie geraas, wat moeilik is om visueel te skat, want daar is so min lae-frekwensie siklusse in die sein rekord onderskat. Hierdie probleem kan gevisualiseer deur die opname van 'n aantal onafhanklike monsters van 'n raserige sein bestaande uit 'n enkele piek, soos geïllustreer in die twee figure hieronder. Hierdie syfers toon tien gesuperponeer erwe met dieselfde piek maar met onafhanklike wit geraas, elke geplot met 'n ander lyn kleur, onbestreken aan die linkerkant en stryk aan die regterkant. Inspeksie van die reëlmatige seine op die regte toon duidelik die variasie in piek posisie, hoogte, en breedte tussen die 10 monsters wat veroorsaak word deur die lae frekwensie geraas wat nog in die stryk seine. Net omdat 'n sein lyk glad nie beteken daar is geen geluid. Lae-frekwensie geraas wat nog in die seine na glad sal steeds inmeng met akkurate meting van piek posisie, hoogte, en breedte. Dit moet duidelik wees dat glad kan selde heeltemal geraas uit te skakel, want die meeste geraas is versprei oor 'n wye verskeidenheid van frekwensies, en glad eenvoudig verlaag die geraas in 'n deel van sy frekwensie reeks. Slegs vir 'n paar baie spesifieke tipes geraas (bv diskrete frekwensie geraas of enkel-punt spykers) is daar verwagting: enigiets naby aan geraas uitskakeling voltooi. Die figuur aan die regterkant hieronder is 'n voorbeeld sein dat sommige van hierdie beginsels illustreer. Die sein bestaan ​​uit twee Gaussiese pieke, een geleë op X50 en die tweede by x150. Beide pieke het 'n hoogtepunt hoogte van 1,0 en 'n hoogtepunt half-breedte van 10, en 'n normaalweg verspreide ewekansige wit geraas met 'n standaardafwyking van 0.1 is bygevoeg om die hele sein. Die x-as voorbeeld interval is egter verskillend vir die twee pieke sy 0.1 vir die eerste piek (vanaf x0 tot 100) en 1.0 vir die tweede piek (vanaf x100 200). Dit beteken dat die eerste piek word gekenmerk deur tien keer meer punte wat die tweede piek. Dit kan lyk soos die eerste piek is luidruchtiger as die tweede, maar dis net 'n illusie die sein-tot-ruis verhouding vir beide pieke is 10. Die tweede piek lyk minder lawaaierig net omdat daar minder geraas monsters daar en ons is geneig om te onderskat die verspreiding van klein monsters. Die gevolg hiervan is dat wanneer die sein stryk, die tweede piek is baie meer geneig om te word verwring deur die gladde (dit korter en wyer) as die eerste piek. Die eerste hoogtepunt kan 'n veel wyer gladde breedte duld, wat lei tot 'n groter mate van geluidsreductie. (Net so, indien beide pieke gemeet met die kleinste-kwadrate krommepassing metode, die pas van die eerste piek is meer stabiel met die geraas en die gemeet parameters van daardie hoogtepunt sal ongeveer 3 keer meer akkuraat as die tweede piek wees, want daar is 10 keer meer data punte in daardie piek, en die meting akkuraatheid verbeter rofweg met die vierkantswortel van die aantal datapunte as die geraas is wit). Jy kan die data lêer UDX in TXT formaat of in Matlab MAT formaat af te laai. Optimalisering van gladstryking. Soos glad verhouding toeneem, is geraas vinnig verminder op die eerste, dan stadiger, en die hoogte piek is ook eers stadig, dan vinniger verminder. Die gevolg is dat die sein-tot-geraas toeneem vinnig op die eerste, dan 'n maksimum bereik. Dit word geïllustreer in die figuur aan die linkerkant vir 'n Gaussiese hoogtepunt met 'n wit geraas (geproduseer deur die Matlab / Octave script SmoothWidthTest. m). Wat is die beste gladde verhouding Dit hang af van die doel van die piek meting. As die doel van die meting is om die ware hoogtepunt hoogte en breedte te meet, moet dan glad verhoudings onder 0.2 gebruik word en die Savitzky-Golay glad verkies. Die meting van die hoogte van lawaaierige pieke is baie beter gedoen deur krommepassing die onbestreken data eerder as deur die neem van die maksimum van die reëlmatige data (sien CurveFittingCSmoothing). Maar as die doel van die measuremen t is die hoogtepunt posisie te meet (x-as waarde van die piek), veel groter gladde verhoudings kan as jy wil diens, want smoothing het min uitwerking op die piek posisie (tensy piek is asimmetries of die toename in piek breedte is so erg dat dit veroorsaak dat naasliggende pieke te oorvleuel). In kwantitatiewe analise programme wat gebaseer is op kalibrasie deur standaard monsters, die piek hoogte vermindering veroorsaak deur glad nie so belangrik is. As dieselfde sein veredeling word toegepas op die monsters en die standaarde, sal die piek hoogte vermindering van die standaard seine presies dieselfde as dié van die monster seine en die effek sal presies te kanselleer nie. In sulke gevalle glad breedtes 0,5-1,0 gebruik kan word as wat nodig is om die sein-tot-ruis verhouding verder te verbeter, soos getoon in die figuur aan die linkerkant (vir 'n eenvoudige gly-gemiddelde vierkantige gladde). In praktiese analitiese chemie, is absolute hoogtepunt hoogte metings selde nodig kalibrasie teen standaard oplossings is die reël. (Onthou: die doel van kwantitatiewe ontleding is nie 'n sein te meet nie, maar eerder om die konsentrasie van die analiet te meet.) Dit is baie belangrik, maar om presies dieselfde seinverwerking stappe toe te pas om die standaard seine as om die monster seine, anders 'n groot sistematiese fout kan lei. Vir 'n meer gedetailleerde vergelyking van al vier glad tipes hierbo beskou, sien SmoothingComparison. (A) vir kosmetiese redes, 'n mooier lyk of meer dramatiese prent van 'n sein vir visuele inspeksie of publikasies voor te berei, spesifiek ten einde langtermyn gedrag oor kort termyn beklemtoon. of (b) indien die sein daarna sal ontleed word deur 'n metode wat sal afgebreek deur die teenwoordigheid van te veel hoë-frekwensie geraas in die sein, byvoorbeeld as die hoogtes van berge is om visueel of grafies bepaal word of deur die gebruik van die MAX funksie, of indien die ligging van maksima, minima, of buigpunte in die sein is om outomaties bepaal word deur die opsporing van nul-kruisings in afgeleide van die sein. Optimalisering van die hoeveelheid en tipe glad is baie belangrik in hierdie gevalle (sien DifferentiationSmoothing). Maar oor die algemeen, as 'n rekenaar beskikbaar is om kwantitatiewe metings te maak, sy beter om kleinste-kwadrate metodes gebruik op die onbestreken data, eerder as grafiese skattings op stryk data.


No comments:

Post a Comment