Kodning av ansiktstextur med oberoende komponenter



Relevanta dokument
Massage i skolan - positiva och negativa effekter

Informationssäkerhetsmedvetenhet

Skolmiljö och stress Ett arbete om hur lärare och elever upplever skolmiljön med stress som utgångspunkt

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

Matematisk modellering fortsättningskurs Visuell variation

Laboration i Fourieroptik

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Resultat. Principalkomponentanalys för alla icke-kategoriska variabler

Ung och utlandsadopterad

Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder

ANDRA BASER ÄN TIO EXTRAMATERIAL TILL. Matematikens grunder. för lärare. Anders Månsson

36 träfigurer (20 träfigurer och 9 halvfigurer som kan stå i spår, 7 magnetiska träbitar)

Kravspecifikation. Stefan Johansson D08 Grupp 15

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/ SE

Förberedelser: Sätt upp konerna i stigande ordningsföljd (första inlärningen) eller i blandad ordningsföljd (för de elever som kommit längre).

Måluppfyllelse i svenska/svenska som andraspråk vid nationella prov årskurs 3 vårterminerna 2009 och 2010 TOTALT ANTAL ELEVER 2009: 72

Alla rättigheter till materialet reserverade Easec

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Skriv ut korten. Laminera dem gärna. Då håller de längre och kan användas om igen. Klipp ut dem och lägg de röda respektive de gröna i var sin ask.

STYRNING AV PORTFÖLJER MED FLERA TILLGÅNGAR

8-4 Ekvationer. Namn:..

Internet som ett strategiskt verktyg för småföretag. Rickard Karlsson Martin Kennerud Wickström

Självkoll: Ser du att de två uttrycken är ekvivalenta?

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.

arbetsplatsanpassning, teknik, akustik och hälsoekonomi

FOURIERANALYS En kort introduktion

4/27/12. Fönstring i MDCT. Föreläsning 10: Ljudkodning ( Audio Coding ) 1. Inledning PCM, standardmetoder, MDCT, psykoakustik, ljudtryck

Grunderna i stegkodsprogrammering

Burrows-Wheelers transform

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Föreläsning 3.1: Datastrukturer, en översikt

Begrepp :: Determinanten

SF1624 Algebra och geometri Tentamen Onsdagen 29 oktober, 2014

SÄLJCHEFENS 10 VIKTIGASTE PUNKTER

Frågeställning. Metod. Teoretiskt perspektiv

Concept Selection Chaper 7

Vardagsord. Förstår ord som fler än, färre än osv. Har kunskap om hälften/dubbelt. Ex. Uppfattning om antal

För att skriva CSS-kod använder man sig av olika kommandon. Ett exempel på hur man kan skriva kod för att ändra textfärg kan vara:

Mobil streckkodsavläsare

Catherine Bergman Maria Österlund

Forma komprimerat trä

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

Öppna bilden C:\Photoshop5-kurs\Bananer 96ppi.psd. Aktivera verktyget Färgpyts i verktygslådan.

Basbyte (variabelbyte)

Objektiv. Skillnad i egenskaper mellan objektiv med olika brännvidder (småbild)

Mjukare gång Halverat effektbehov

Registrera/publicera i DiVA

75059 Stort sorteringsset

Bygga hus med LECA-stenar

Instuderingsfrågor ETS052 Datorkommuniktion

Att använda bildhanteringsprogram, del 2

FOTA. Tävling åk. 4-7 FÖR DINA RÄTTIGHETER! 25 ÅR! Fyra enkla övningar om Barnkonventionen BAR N KONV EN TIONEN. 20 november 2014

Handbok i materialstyrning - Del A Effektivitetsmått och effektivitetsuppföljning

Wkassa Handledning för administratörer

Tillgänglighet för personer med synskada i cirkulationsplatser jämfört med andra korsningstyper sammanfattning av enkätstudie

2014:2 RIKSFÖRENINGEN FÖR LÄRARNA I MATEMATIK, NATURVETENSKAP OCH TEKNIK

Sinnena den mänskliga hårdvaran

Inköpsorder. Innehåll. 1. Registrera Order Bokföra order... 3

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

Pernilla Falck Margareta Picetti Siw Elofsdotter Meijer. Matte. Safari. Direkt. Lärarhandledning. Andra upplagan, reviderade sidor

Vad håller vi på med?

Till dig som vill göra fältförsök med genetiskt modifierade växter

Hur kommunikation kan bidra till att engagemanget för ett miljöledningssystem bibehålls

Möjliga Världar. Skapande Skola, Halmstad. Robert Hais

Projektspecifikation för Cv på webben

Reglerteori, TSRT09. Föreläsning 4: Kalmanfiltret & det slutna systemet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

FÖRKORTA DIN VÄG PÅ BANAN

Föreläsning 10: Ljudkodning ( Audio Coding )

Hällen för kockar utan gränser!

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs

Matematik Åk 9 Provet omfattar stickprov av det centrala innehållet i Lgr b) c) d)

Smartair System. TS1000 Version 4.23

Skidskytteträning för ungdomar

Mimer Akademiens arbete med barnens matematikutveckling Ann S Pihlgren Elisabeth Wanselius

Räntemodeller och marknadsvärdering av skulder

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Uppgift 1 ( Betyg 3 uppgift )

Min syn på idéframställan

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Ämnesområde Hörselvetenskap A Kurs Akustik och ljudmiljö, 7 hp Kurskod: HÖ1015 Tentamenstillfälle 1

Barns brukarmedverkan i den sociala barnavården - de professionellas roll för barns delaktighet

Exempelsamling :: Vektorintro V0.95

Piratpartistisk tidning

Abstrakt algebra för gymnasister

Handledning för publicering av avhandlingar och andra vetenskapliga publikationer i DiVA

Tentaupplägg denna gång

Låt barnen leka och lära om barns rättigheter och miljö med Retoys pedagogiska Lekväskor!

ppi = 72 ppi = 18 ppi = 36 DIGITALA BILDER (pixelbaserad) DIGITAL RASTRERING ppi (pixels per inch) Sasan Gooran (HT 2003)

Usify. EasyReader. Affärsmodeller

NMCC Sigma 8. Täby Friskola 8 Spets

Lagring av reservdelar till brevsorteringsmaskiner inom Posten

PROBLEM OCH LÖSNINGAR RUNT TYNGDLÖSHET

SÄKERHETSVISAREN 1. LEDNING OCH PRIORITERINGAR

Lektionsanteckningar 2: Matematikrepetition, tabeller och diagram

Tänk i mindre banor och förbättra byggandet, miljön och klimatet.

A registered trademark of SNA Europe Group. Vi är tillverkare. ERGO TM serien. Den bästa skruvmejseln i världen

Transkript:

Kodning av ansiktstextur med oberoende komponenter Jörgen Ahlberg Report no. LiTH-ISY-R-2297 ISSN 1400-3902

Avdelning, Institution Division, department Datum Date Image Coding Group 2000-10-02 Department of Electrical Engineering Språk Language Svenska/Swedish Engelska/English Rapporttyp Report: category Licentiatavhandling Examensarbete C-uppsats D-uppsats Övrig rapport ISBN ISRN Serietitel och serienummer Title of series, numbering ISSN 1400-3902 URL för elektronisk version www.icg.isy.liu.se LiTH-ISY-R-2297 Titel Title Kodning av ansiktstextur med oberoende komponenter Författare Author Jörgen Ahlberg Sammanfattning Abstract I denna rapport redovisas ett experiment att komprimera ansiktstexturer med hjälp av oberoende komponenter. För att genomföra experimentet har vi samlat ett antal ansiktsbilder i en träningsmängd, utfört en geometrisk normalisering på dessa samt klippt bilderna så att endast själva ansiktet (inte hela huvudet) finns med. På datamängden har vi sedan utfört en principalkomponentanalys, och jämfört dess möjlighet till bildkompression med oberoende transformkomponenter. 95-11-01/lli Nyckelord Keywords Ansiktstextur, ICA, oberoende komponenter

Oberoende komponentanalys - introduktion I PCA (principalkomponentanalys) försöker man finna de komponenter hos träningsdata som har maximal varians. Om träningsdata är gaussiska får man då oberoende komponenter, i annat fall får man nöja sig med okorrelerade komponenter. Ofta modellerar man sina data som varandes gaussiska, och kan således nöja sig med en PCA (man kan ändå inte göra något bättre), men om man har tydligt icke-gaussiska data skulle man gärna finna de oberoende komponenterna i stället. Typiska applikationer är att skilja olika signalkällor från varandra (cocktail-partyproblemet) eller datakompression; informationsteorin säger oss att optimal kompression förutsätter oberoende meddelanden (eftersom den ömdesidiga informationen då är noll). Hur hittar man då oberoende komponenter? Centrala gränsvärdessatsen ger, under vissa förutsättningar, att komponenter i träningsdata som är en linjärkombination av ingående signaler blir gaussiskt fördelade. Om vi i stället kan finna icke-gaussiska komponenter borde alltså de vara de ursprungliga signalerna. Vi satsar alltså på att finna en uppsättning komponenter som är så icke-gaussiska som möjligt; vi utför en Independent Component Analysis, ICA. Självklart är inte bara metoden utan också själva idén med ICA meningslös om indata faktiskt är gaussiska - då bör vi göra en PCA i stället. Vad betyder då Så icke-gaussisk som möjligt? Det förutsätter att vi har ett sätt att mäta gaussicitet (eller snarare icke-gaussicitet) på. Hyvärinen [1] redogör för kurtosis och negentropi som möjliga praktiska mått på icke-gaussicitet. Vidare visas att det är samma sak att försöka minimera den ömsesidiga informationen som att maximera negentropin. Hyvärinen visar också ett exempel där ICA utförts på (blockuppdelade) naturliga bilder. De oberoende komponenterna var slående lika Gabor-wavelets, vilket antyder att bildkomprimeringsalgoritmer baserade på sådana kan vara bra (i betydelsen liten ömsesidig information). Det är också intressant att notera att det är just sådana komponenter som det mänskliga synsinnet uppfattar. För detaljer om ICA hänvisas till en tidig artikel där konceptet definieras [5] eller något av Hyvärinens artiklar [1,2]. Experiment med ansiktstexturer Eftersom vi i gruppen tidigare arbetat med kodning av ansiktstexturer via PCA (se t.ex [4]), ligger tanken att koda ansiktstexturer med oberoende komponenter nära till hands. Denna kodning ska sedan jämföras med en enkel PCA-kodare. Beskrivning av experimentet Som ingående datamängd använder vi samlat hundra ansiktsbilder, utfört en geometrisk normalisering på dessa samt klippt bilderna så att endast själva ansiktet (inte hela huvudet) finns med. Geometrisk normalisering innebär att ett polygonnät anpassats till varje ansikte, och sedan formats om till en standardiserad form. På detta vis kan ansikten uttryckas som linjärkombinationer av varandra, utan att få dubbla ögonpar och andra obehagliga artefakter. 5

Flera metoder och algoritmer för att beräkna de oberoende komponenterna (dvs utföra en ICA) finns. Här har FastICA-algoritmen använts, eftersom den finns fritt tillgänglig som ett paket till MatLab [3]. FastICA-algoritmen tillåter ICA i ett K-dimensionellt underrum av träningsrummet, dvs en PCA utförs först, och sedan utförs en ICA i det rum som spänns upp av de K principala komponenterna. Basfunktioner sedan har beräknats på följande fyra vis: 1. PCA: Låt en bild representeras av en p-dimensionell kolumnvektor a i, och samla dessa i en matris A =[a 1,..., a N ]. Eftersom N (antalet träningsbilder) är mindre än p (antalet pixlar i varje bild) så kan man göra en PCA på A T i stället för på A för att spara tid. De beräknade principalkomponenterna multipliceras sedan med A för att ge de äkta principalkomponenterna. De nio första principalkomponenterna visas i figur 1. 2. ICA i ett niodimensionellt underrum. De nio oberoende komponenterna visas i figur 2. 3. ICA i ett femtiodimensionellt underrum; nio oberoende komponenter visas i figur 3. 4. ICA i ett hundradimensionellt underrum; nio oberoende komponenter visas i figur 4. Hur använder vi alltså dessa baser för bildkompression? Jo, låt den inkommande bilden x avbildas på de oberoende komponenterna/principalkomponterna enligt y =Tx, där T =[t 1,..., t M ] T och vektorn t i är den i:te transformkomponenten. Den M-dimensionella vektorn med transformkoefficienter y kan vi representera med ett lägre antal bitar genom att antingen kvantisera den hårdare (eller listigare) eller genom att slänga bort vissa koefficienter (dvs låta M < N). Innan vi transformerar x subtraherar vi medelansiktet (estimerat från träningsdata) samt även DC-nivån (samma sak har gjorts med träningsdata innan beräkning av PCA/ICA). Vid rekonstruktion måste således DC-nivån återställas och medelansiktet adderas. Enklast gör vi det genom att utöka matrisen T med en DC-basfunktion t 0 = [ 1 1] T D (1) där D är dimensionen hos x. Det totala systemet (kodning och avkodning) ges alltså av ỹ = qt ( M ( x x) ) (2) där q( ) är en kvantiserare, q -1 ( ) en inverskvantiserare och T 1 x = T Mq () ỹ + x, (3) T M = [ t 0,, t M 1 ] T. (4) Vi kan direkt, redan innan vi utfört experimentet, konstatera att transformkoefficienterna erhållna via PCA-transform antagligen kan modelleras väl som varandes gaussiska. Därmed vet vi hur vi bör kvantisera dess koefficienter. ICA-transformkoefficienterna är däremot inte gaussiska, och dessutom lär dess koefficienter vara olika fördelade. Vi måste därför konstruera en separat kvantiserare för varje koefficient. Vi kommer i detta experiment bortse från det, och bara använda likformig kvantisering. 6

Utförande Låt oss först studera bilderna i figur 1-4. Kan vi på grundval av dessa sluta oss till hur lämpliga de olika baserna är för bildkomprimering? Ja, faktiskt! Vi kan lätt se att ju större underrum vi gör vår ICA i, desto mer spatiellt lokaliserade är transformkomponenterna. Detta medför ett problem: Om vi har beräknat vår transform i ett stort underrum, och sedan vill gå över i ett mindre underrum för att öka kompressionen måste vi också göra om vår ICA! Om vi låter bli det kommer den rekonstruerade bilden förlora i kvalitet inom ett (för varje slängd komponent) spatiellt begränsat område, vilket upplevs som störande. Vi får alltså inte en skalbar kodare, dvs vi kan inte variera antalet koefficienter utan att ändra kodarstrukturen (transformen). För att bekräfta utför vi det första experimentet och försöker komprimera ansiktet som visas i figur 5 a) (ansiktet är givetvis inte med i träningsmängden). I figur 5 b) har vi använt 100 oberoende komponenter för att rekonstruera ansiktet; PSNR är 33.8 db. I figur 5 c) har vi använt samma komponenter, men bara 50 av dem; PSNR sjunker med 5 db! I figur 5 d), slutligen, har vi gjort en ny ICA i 50-dimensioner och använder alla 50. PSNR går upp till 33.1 db. I samtliga fall är varje transformkoefficient kvantiserad till 8 bitar, dvs b) representeras med 100 bytes medan c) och d) endast tar upp 50 bytes. För den oinvigde kan det vara svårt att se kvalitetsskillnaden (speciellt om bilderna är utskrivna på papper, då skrivarens rastrering kan medföra en värre distorsion än kompressionen!), men man bör betänka att kompressionen distorderar så att ansiktet blir mer och mer likt medelansitket. Bilden ser alltså fortfarande ganska bra ut även vid hög distorsion, men blir mindre lik originalpersonen. Eftersom vi här dessutom studerar geometriskt normaliserade ansikten, upplevs alla ansikten som mer lika varandra. I figur 6 visas PSNR för varje antal koefficienter mellan 2 och 99. Den heldragna linjen visar PSNR då en ny ICA utförts för varje underrum, medan punkterna visar PSNR för en 100-dimensionell ICA. Slutsats: Transformkodning med ICA ger en ej skalbar kodare. Om vi begränsar oss till ICA-transformer där vi utfört ICA i samma underrum som vi utför transformen i kan vi jämföra resultaten med en PCA-kodare. Rimligen får vi då ungefär samma resultat eftersom vi återskapar ansiktet inom samma underrum; möjligen kan vi får kvantiseringseffekter som skiljer dem åt (teoretiskt bör ICA vara bättre, men eftersom vi inte känner fördelingarna hos transformkoefficienterna är detta inte säkert). Nytt experiment: Ansiktet i figur 5 a) har kodats med 10, 50 respektive 100 transformkoefficienter. Alla transformkoefficienter har kvantiserats likformigt till 8 bitar. Resultaten visas i figur 7; PSNR skiljer sig som väntat inte åt mellan metoderna. Slutsats: Utan specialiserade kvantiserare är PCA och ICA likvärdiga för ansiktstexturkodning. 7

Slutsats Så länge vi inte studerar statistiken för varje transformkoefficient vinner vi ingenting på att använda ICA i stället för PCA. Tvärtom förlorar vi skalbarheten som finns hos en PCA-kodare, vilket alltså gör PCA-kodaren att föredra. Det bör tilläggas att det är ganska mycket jobb att studera statistiken för transformkoefficienterna. Antagligen skiljer sig inte enbart komponent i och j åt, utan även komponent i från en transform beräknad i ett N-dimensionellt underrum från motsvarande komponent beräknad i ett M- dimensionellt underrum. Referenser [1] A. Hyvärinen and E. Oja, Independent Component Analysis: A Tutorial, Helsinki University of Technology, Finland, April 1999. Available at http://www.cis.hut.fi/ projects/ica. [2] A. Hyvärinen, Survey on Independent Component Analysis, Neural Computing Surveys, Vol. 2, pp. 94-128, 1999. Available at http://www.cis.hut.fi/ projects/ica. [3] The FastICA-package for MatLab. http://www.cis.hut.fi/projects/ica/ fastica/ [4] J. Ström, F. Davoine, J. Ahlberg, H. Li and R. Forchheimer, "Very Low Bit Rate Facial Texture Coding", Proc. of the IWSNHC3DI'97, Rhodes, Greece, September 1997, pp. 237-240. Also in Proc. of the ECMAST Workshop, Milan, Italy, May 1997. [5] P. Comon, Independent component analysis, A new concept?, Signal Processing, Vol. 36, 1994, pp. 287-314. 8

Figur 1: De nio första principalansiktena. Figur 2: De nio oberoende ansiktena ur ett niodimensionellt underrum. 9

Figur 3: Nio oberoende ansikten ur ett femtiodimensionellt underrum. Figur 4: Nio oberoende ansikten ur ett hundradimensionellt underrum. 10

a b c d Figur 5: a) Originalansiktet; b) Ansiktet representerat med 100 oberoende komponenter beräknade i ett 100-dimensionellt underrum (33.8 db); c)... 50 oberoende komponenter beräknade i ett 100-dimensionellt underrum (28.8 db); d)... 50 komponenter ur ett 50- dimensionellt rum (33.1 db). 34 33 32 31 PSNR (db) 30 29 28 27 26 0 10 20 30 40 50 60 70 80 90 100 # koefficienter Figur 6: PSNR för ICA-kodning med variabelt antal koefficienter. Streckad linje: ICA utförd i underrum med samma dimension som antalet koefficienter. Heldragen linje: ICA utförd i 99 dimensioner. 11

ICA: PCA: # koefficienter: 10 50 100 PSNR (db): 30.3 33.1 33.8 Figur 7: Transformkodning med ICA och PCA. 12