資源簡介
基于HOG特征提取的圖像分類器,HOG的核心思想是所檢測的局部物體外形能夠被光強梯度或邊緣方向的分布所描述。通過將整幅圖像分割成小的連接區域稱為cells,每個cell生成一個方向梯度直方圖或者cell中pixel的邊緣方向,這些直方圖的組合可表示出所檢測目標的目標)描述子。為改善準確率,局部直方圖可以通過計算圖像中一個較大區域稱為block的光強作為measure被對比標準化,然后用這個measure歸一化這個block中的所有cells.這個歸一化過程完成了更好的照射/陰影不變性。

代碼片段和文件信息
function?blockfeat?=?BinHOGFeature(?b_magb_orientcell_sizenblock...??
????bin_num?weight_vote)??
%?計算1個block的hog??
%?weight_vote:?是否進行高斯加權投票??
???
%?block的HOG直方圖??
blockfeat=zeros(bin_num*nblock^21);??
???
%?高斯權重??
gaussian_weight=fspecial(‘gaussian‘cell_size*nblock0.5*cell_size*nblock);??
???
%?分割block??
for?n=1:nblock??
????for?m=1:nblock??
????????%?cell的左上角坐標??
????????x_off?=?(m-1)*cell_size+1;??
????????y_off?=?(n-1)*cell_size+1;??
???
????????%?cell的梯度大小和方向??
????????c_mag=b_mag(y_off:y_off+cell_size-1x_off:x_off+cell_size-1);??
????????c_orient=b_orient(y_off:y_off+cell_size-1x_off:x_off+cell_size-1);??
???
????????%?cell的hog直方圖??
????????c_feat=zeros(bin_num1);??
????????for?i=1:bin_num??
????????????%?是否進行高斯加權?投票??
????????????if?weight_vote==false??
????????????????c_feat(i)=sum(c_mag(c_orient==i));??
????????????else??
????????????????c_feat(i)=sum(c_mag(c_orient==i).*gaussian_weight(c_orient==i));??
????????????end??
????????end??
???
????????%?合并到block的HOG直方圖中??
????????count=(n-1)*nblock+m;??
????????blockfeat((count-1)*bin_num+1:count*bin_num1)=c_feat;??
????end??
end??
???
%?歸一化?L2-norm??
sump=sum(blockfeat.^2);??
blockfeat?=?blockfeat./sqrt(sump+eps^2);??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2243??2016-12-09?15:23??ImgHOGFeature.m
?????文件??????15335??2016-09-23?16:15??3.jpg
?????文件???????1307??2016-12-09?15:04??BinHOGFeature.m
-----------?---------??----------?-----??----
????????????????18885????????????????????3
評論
共有 條評論