24.1 Convoluţie

Convoluția imaginii funcționează în același mod ca și convoluția unidimensională. De exemplu, imaginile pot fi văzute ca o însumare a impulsurilor, adică funcții delta scalate și schimbate. De asemenea, sistemele liniare sunt caracterizate prin modul în care răspund la impulsuri; adică prin răspunsurile lor la impuls. După cum vă așteptați, imaginea de ieșire de la un sistem este egală cu imaginea de intrare în convoluție cu răspunsul la impuls al sistemului.

Funcția delta bidimensională este o imagine compusă din zerouri, cu excepția unui singur pixel la: row = 0, column = 0, care are o valoare de unu. Pentru moment, să presupunem că indicii rând și coloană pot avea valori atât pozitive, cât și negative, astfel încât unu este centrat într-o mare vastă de zerouri. Atunci când funcția delta este trecută printr-un sistem liniar, singurul punct nezero va fi schimbat într-un alt model bidimensional. Întrucât singurul lucru care se poate întâmpla la un punct este acela că se răspândește, răspunsul la impuls este adesea numit funcția de răspândire a punctului (PSF - point spread function) în jargonul de procesare a imaginilor.

Ochiul uman oferă un exemplu excelent al acestor concepte. După cum este descris în ultimul capitol, primul strat al retinei transformă o imagine reprezentată ca un model de lumină într-o imagine reprezentată ca un model de impulsuri nervoase. Cel de-al doilea strat al retinei procesează această imagine neurală și o transmite către cel de-al treilea strat, fibrele care formează nervul optic. Imaginați-vă că imaginea proiectată pe retină este un punct foarte mic de lumină în centrul unui fundal întunecat. Adică, un impuls este introdus în ochi. Presupunând că sistemul este liniar, prelucrarea imaginii care are loc în retină poate fi determinată prin inspectarea imaginii care apare la nivelul nervului optic. Cu alte cuvinte, vrem să găsim funcția de răspândire a punctului a procesării. Vom revizui ipoteza despre liniaritatea ochiului mai târziu în acest capitol.

Figura 24-1 prezintă acest experiment. Figura (a) ilustrează impulsul care lovește retina în timp ce (b) arată imaginea care apare la nervul optic. Stratul mijlociu al ochiului trece vârful luminos, dar produce o regiune circulară de întuneric crescut. Ochiul realizează acest lucru printr-un proces cunoscut sub numele de inhibiție laterală. Dacă o celulă nervoasă din stratul mijlociu este activată, aceasta scade capacitatea vecinilor din apropiere de a deveni activi. Când o imagine completă este privită de ochi, fiecare punct din imagine contribuie la o versiune scalată și schimbată a acestui răspuns la impuls la imaginea care apare la nervul optic. Cu alte cuvinte, imaginea vizuală este în convoluție cu acest PSF pentru a produce imaginea neurală transmisă creierului. Întrebarea evidentă este: cum face convoluția imaginii vizuale cu acest PSF să îmbunătățească capacitatea ochiului de a înțelege lumea?

a. Imagine la primul strat b. Imagine la al treilea strat

Figura 24-1 PSF a ochiului.

Stratul mijlociu al retinei schimbă un impuls, arătat în (a), într-un impuls înconjurat de o suprafață întunecată, arătată în (b). Această funcție de răspândire a punctului accentuează marginile obiectelor.

Figura 24-2 Benzi Mach.

Procesarea imaginii în retină rezultă într-o lentă modificare a marginii, ca în (a), fiind ascuțită, ca în (b). Aceasta o face să separe mai ușor obiectele din imagine, dar produce o iluzie optică numită benzi Mach. Lângă margine, overshoot face regiunea întunecată mai întunecată și regiunea luminoasă mai luminoasă. Aceasta produce benzi întunecate și luminoase care rulează paralel cu marginea.

perceived brightness - luminozitate percepută

Oamenii și alte animale folosesc vederea pentru a identifica obiectele din apropiere, cum ar fi dușmanii, mâncarea și colegii. Aceasta se face prin diferențierea unei regiuni în imagine de alta, pe baza diferențelor de luminozitate și culoare. Cu alte cuvinte, primul pas în recunoașterea unui obiect este identificarea marginilor acestuia, discontinuitatea care separă un obiect de fundalul acestuia. Stratul mijlociu al retinei ajută această sarcină prin ascuțirea marginilor din imaginea văzută. Ca o ilustrare a modului în care funcționează, Fig. 24-2 prezintă o imagine care se schimbă lent de la întuneric la lumină, producând o margine neclară și slabă. Figura (a) prezintă profilul de intensitate al acestei imagini, modelul de luminozitate care intră în ochi. Figura (b) prezintă profilul de luminozitate care apare pe nervul optic, imaginea transmisă creierului. Prelucrarea în retină face ca marginea dintre zonele luminoase și întunecate să apară mai abruptă, întărind că cele două regiuni sunt diferite.

Depășirea (overshoot) răspunsului de margine creează o iluzie optică interesantă. Pe lângă margine, regiunea întunecată pare a fi neobișnuit de întunecată, iar regiunea luminoasă pare să fie neobișnuit de luminoasă. Fâșiile rezultate luminoase și întunecate se numesc benzi Mach, după Ernst Mach (1838-1916), fizician austriac care le-a descris pentru prima oară.

Ca și în cazul semnalelor unidimensionale, convoluția imaginii poate fi văzută în două moduri: de la intrare și de la ieșire. Din partea de intrare, fiecare pixel din imaginea de intrare contribuie la o versiune scalată și deplasată a funcției de împrăștiere a punctului la imaginea de ieșire. Așa cum se vede din partea de ieșire, fiecare pixel din imaginea de ieșire este influențat de un grup de pixeli de la semnalul de intrare. Pentru semnale unidimensionale, această regiune de influență este răspunsul impulsului răsturnat de la stânga la dreapta. Pentru semnale de imagine, PSF este răsturnat de la stânga-la-dreapta și de sus-în-jos. Deoarece majoritatea PSF-urilor utilizate în DSP sunt simetrice în jurul axelor verticale și orizontale, aceste răsturnări nu fac nimic și pot fi ignorate. Mai târziu, în acest capitol vom examina PSF-urile nesimetrice care trebuie să țină seama de răsturnări (flip).

Figura 24-3 prezintă câteva PSF-uri comune. În (a), pillbox are un vârf circular și laterale drepte. De exemplu, dacă obiectivul unei camere nu este focalizat corespunzător, fiecare punct al imaginii va fi proiectat într-un punct circular pe senzorul de imagine (vedeți înapoi la figura 23-2 și considerați efectul deplasării ecranului de proiecție către stânga sau dreapta). Cu alte cuvinte, pillbox este funcția de împrăștiere a punctului dintr-o lentilă în afara focalizării.

Gaussian, prezentat în (b), este PSF sistemelor de imagine limitate prin imperfecțiuni aleatoare. De exemplu, imaginea dintr-un telescop este estompată de turbulența atmosferică, determinând fiecare punct de lumină să devină un Gaussian în imaginea finală. Senzorii de imagine, cum ar fi CCD-ul și retina, sunt adesea limitați de împrăștierea luminii și/sau a electronilor. Teorema limitei centrale dictează faptul că o blurare Gaussiană rezultă din aceste tipuri de procese aleatorii.

Pillbox și Gaussian sunt utilizate în procesarea imaginii la fel cum filtru de medie mobilă este utilizat cu semnale unidimensionale. O imagine în convoluție cu aceste PSF-uri va apărea încețoșată și are margini mai puțin definite, dar va fi mai scăzută în zgomot aleatoriu. Acestea se numesc filtre de netezire, pentru acțiunea lor în domeniul timp, sau filtre low-pass, pentru modul în care tratează domeniul frecvență. PSF pătrat, prezentat în (c), poate fi folosit și ca filtru de netezire, dar nu este simetric circular. Acest lucru duce la estomparea diferită pe direcțiile diagonale în comparație cu cea verticală și orizontală. Acest lucru poate fi sau nu important, în funcție de utilizare.

Opusul unui filtru de netezire este o intensificare a muchiei sau un filtru trece-sus. Tehnica de inversiune spectrală, discutată în Capitolul 14, este folosită pentru a schimba între cele două. Așa cum este ilustrat în (d), un nucleu (kernel) de filtru de îmbunătățire a muchiei este format prin luarea negativă a unui filtru de netezire și prin adăugarea unei funcții delta în centru. Prelucrarea imaginii care apare în retină este un exemplu al acestui tip de filtru.

Figura (e) prezintă funcția sinc bidimensională. Procesarea semnalului unidimensional folosește windowed-sinc pentru a separa benzile de frecvență. Deoarece imaginile nu au informațiile lor codificate în domeniul frecvență, funcția sinc este rareori utilizată ca un kernel de filtru de imagini, deși se găsește folosită în anumite probleme teoretice. Funcția sinc poate fi greu de folosit deoarece cozile sale scad foarte încet în amplitudine (1/x), ceea ce înseamnă că trebuie tratată ca fiind infinit de largă. În comparație, cozile Gaussian scad foarte rapid (e-x2) și pot fi trunchiate fără nici un efect rău.

Figura 24-3 Funcții comune de răspândire a punctului.

Pillbox, Gaussian și pătrată, arătate în (a), (b) și (c), sunt filtre (low-pass) comune de netezire. Filtrele (high-pass) de accentuare a marginii sunt formate prin extragerea unui kernel low-pass dintr-un impuls, cum se arată în (d). Funcția sinc, (e), este utilizată foarte puțin în procesarea imaginii, deoarece imaginile au informația lor codată în domeniul spațial, nu în domeniul frecvență.

Toate aceste kerneluri de filtre folosesc indecșii negativi în rânduri și coloane, permițând ca PSF să fie centrat la row = 0 și column = 0. Indicii negativi sunt deseori eliminați în DSP unidimensională prin deplasarea kernelului de filtru spre dreapta până când toate eșantioanele nezero au un indice pozitiv. Această schimbare mișcă semnalul de ieșire cu o cantitate egală, ceea ce, de obicei, nu este îngrijorător. În comparație, o schimbare între imaginile de intrare și ieșire este, în general, inacceptabilă. Corespunzător, indicii negativi sunt norme pentru nucleele de filtrare în procesarea imaginilor.

O problemă cu convoluția imaginii este că implică un număr mare de calcule. De exemplu, atunci când o imagine de 512 x 512 pixeli este în convoluție cu un PSF de 64 x 64 pixeli, sunt necesare mai mult de un miliard de înmulțiri și adunări (adică 64 × 64 × 512 × 512). Timpii lungi de execuție pot face tehnicile impracticabile. Trei abordări sunt folosite pentru a accelera lucrurile.

Prima strategie este de a utiliza un PSF foarte mic, adesea doar 3 × 3 pixeli. Aceasta se efectuează prin executarea buclei (looping) prin fiecare eșantion în imaginea de ieșire, utilizând codul optimizat pentru a se multiplica și a acumula nouă pixeli corespunzători din imaginea de intrare. O cantitate surprinzătoare de prelucrare poate fi obținută cu un simplu PSP de 3 × 3, deoarece este suficient de mare pentru a afecta muchiile dintr-o imagine.

A doua strategie este utilizată atunci când este nevoie de un PSF mare, dar forma sa nu este critică. Aceasta necesită un nucleu de filtru separabil, o proprietate care permite convoluției imaginii să fie efectuată ca o serie de operații unidimensionale. Acest lucru poate îmbunătăți viteza de execuție de sute de ori.

A treia strategie este convoluția FFT, utilizată atunci când nucleul de filtru este mare și are o formă specifică. Chiar și cu îmbunătățirile de viteză oferite de FFT foarte eficient, timpul de execuție va fi îngrozitor. Să analizăm mai detaliat detaliile acestor trei strategii și exemple de utilizare a acestora în procesarea imaginilor.

Secțiunea următoare: Modificarea muchiei 3x3