分析rgb通道熵:
說明:兩個檔案的解析度均為256*256,yuv為4:2:0取樣空間,採用8bit量化。
思路:將檔案匯入,統計各畫素點的概率並放入buffer中儲存,再利用求熵的公式進行計算。
#include
#include
using
namespace std;
intmain()
, u0[
256]
=, v0[
256]=;
double r1[
256]
=, g1[
256]
=, b1[
256]=;
double y =
0.0, u =
0.0, v =
0.0;
double r =
0.0, g =
0.0, b =
0.0;
//開啟讀取資料夾
fopen_s
(&file1,
"down.yuv"
,"rb");
fread
(buffer0,
sizeof
(unsigned
char),
256*
256*
1.5, file1)
;for
(int i =
0; i <
(256
*256
); i++
)//計算yuv各通道的熵值
for(
int j =
0; j <
256; j++
)//y通道分量(0-256*256)
for(
int i =
(256
*256
); i <
(65536
*1.25
); i++
)//u通道分量(256*256-256*256*1.25)
for(
int j =
0; j <
256; j++
)//v通道分量(256*256*1.25-256*256*1.5)
//計算rgb的熵值
fopen_s
(&file2,
"down.rgb"
,"rb");
fread
(buffer1,
sizeof
(unsigned
char),
256*
256*
3, file2)
;for
(int i =
0; i <
(256
*256
); i++
)for
(int j =
0; j <
256; j++
)fclose
(file1)
;fclose
(file2)
; cout <<
"h(y)="
<< y << endl;
cout <<
"h(u)="
<< u << endl;
cout <<
"h(v)="
<< v << endl;
cout <<
"h(r)="
<< r << endl;
cout <<
"h(g)="
<< g << endl;
cout <<
"h(b)="
<< b << endl;
return(0
);}
結論:yuv方式的熵更小,壓縮結果更優。 語義分割單通道和多通道輸出交叉熵損失函式的計算問題
本文驗證了語義分割任務下,單通道輸出和多通道輸出時,使用交叉熵計算損失值的細節問題。對比驗證了使用簡單的函式和自帶損失函式的結果,通過驗證,進一步加強了對交叉熵的理解。交叉熵損失函式的原理和推導過程,可以參考這篇博文,交叉熵的計算公式如下 ce p,q p log q 其中 q 為 的概率,q 0,...
資訊熵計算權重
1948年美國數學家夏農 shanonc.e 為解決資訊的度量問題提出了資訊熵的概念。資訊熵是資訊理論中用來刻畫資訊無需度的乙個量,熵值越大,表示資訊的無序化程度越高,相對應的資訊效率越高 假設針對評價指標已經建立了合理的權重矩陣p,則pj表示第j個評價指標的權重。顯然pj的和為1且pj 0。為確定...
資訊熵的計算
最近在看決策樹的模型,其中涉及到資訊熵的計算,這裡東西是由訊號處理中來的,理論部分我就不再重複前人的東西了,下面給出兩個簡單的公式 當然學習過訊號與系統的童鞋一定覺得這不是夏農提出的東西嗎?o o 沒錯,就是這個東西,只不過我們用在了機器學習上,好了下面就看 吧,這些 也很簡單,我們知道資訊熵越大表...