Kuinka laskea PSNR

Posted on
Kirjoittaja: Monica Porter
Luomispäivä: 22 Maaliskuu 2021
Päivityspäivä: 18 Marraskuu 2024
Anonim
Machine Learning with Python! Mean Squared Error (MSE)
Video: Machine Learning with Python! Mean Squared Error (MSE)

Signaalin ja kohinan huippusuhde (PSNR) on signaalin maksimitehon ja signaalikohinan tehon välinen suhde. Suunnittelijat käyttävät yleensä PSNR-tekniikkaa pakattujen rekonstruoitujen kuvien laadun mittaamiseen. Jokaisella kuvaelementillä (pikselillä) on väriarvo, joka voi muuttua, kun kuva pakkataan ja sitten pakata. Signaaleilla voi olla laaja dynaaminen alue, joten PSNR ilmaistaan ​​yleensä desibeleinä, mikä on logaritminen asteikko.


    Määritä vyö ja desibeli. Vyö määritetään matemaattisesti seuraavasti: LB = log10 (P1 / P0), missä P1 ja P0 ovat kaksi kvandiota, jotka ovat samoissa mittayksiköissä. Decibeli on 0,1 bel, joten desibeliarvo LdB on LdB = 10 log10 (P1 / P0).

    Määritä keskimääräinen neliövirhe (MSE) kahden monokromaattisen kuvan välillä, jolloin yhden kuvan katsotaan olevan likiarvo toiselle. MSE voidaan kuvata pikseliarvojen erojen neliön keskiarvona kahden kuvan vastaavien pikselien välillä.

    Ilmaista MSE matemaattisesti vaiheessa 1 esitetystä kuvauksesta. Siksi meillä on MSE = 1 / mn, missä I ja K ovat matriiseja, jotka edustavat vertailtavia kuvia. Nämä kaksi summausta suoritetaan ulottuvuuksille "i " ja "j. ". Siksi I (i, j) edustaa kuvan I pikselin (i, j) arvoa.

    Määritä kuvan I pikselien suurin mahdollinen arvo. Tyypillisesti tämä voidaan antaa muodossa (2 ^ n) - 1, missä n on pikseliä edustavien bittien lukumäärä. Siten 8-bittisen pikselin maksimiarvo olisi (2 ^ 8) - 1 = 255. Kuvan I pikselien maksimiarvo olkoon MAX.


    Laske PSNR desibeleinä. Vaiheesta 1 meillä on desibeliarvo LdB kuten LdB = 10 log10 (P1 / P0). Olkoon nyt P1 = MAX ^ 2 ja P0 = MSE. Sitten meillä on PSNR = 10 log10 (MAX ^ 2 / MSE) = 10 log10 (MAX / (MSE) ^ (1/2)) ^ 2 = 20 log10 (MAX / (MSE) ^ (1/2)). Siksi PSNR = 20 log10 (MAX / (MSE) ^ (1/2)).