日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

海明嵌入Hamming Embedding生成Binary Signature之matlab程序代码

發布時間:2025/3/21 循环神经网络 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海明嵌入Hamming Embedding生成Binary Signature之matlab程序代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
% This code generates 128-bit hamming code "bs" for SIFT features %128-D % "bs": binary signature % % Bug fixed by Liang Zheng on 01/26/2015. %% load previous data feat_file = '100000.siftgeo'; % folder of holidays features %holidays特征 word_file = '100000_word.mat'; % holidays visual word %visual_word:3*1125 double P = importdata('projection_matrix_128bits.mat');% load projection matrix %映射矩陣 %P:128*128 double %mat文件怎么計算來的?? thres = importdata('thres_20k_128bits.mat');% load median matrix中位數矩陣 %thres:128*20000 double% a matrix for converting 01 strings into 0-255 uint8 data %轉換01串-> 0~255 % 將二進制轉為uint8的十進制 % uint8 data nbits = 128; %nbits:number of bits for SIFT feature m = 2.^(0:7); %m = [1 2 4 8 ... 128] % (0:7)是個向量 [0, 1, 2, 3, 4, 5, 6, 7] M = m; % [1 2 4 8 ... 128] for i = 2:nbits/8 %2~128/8 % 2~16 % 循環15次,最后得到的矩陣大小是 <16,(8*16)>即<16, 128>% 斜對角串聯,每次增加一行,增加size(m, 2)=8列,每次斜對角方向增加一個m,其他部位填充0M = blkdiag (M, m); %Block diagonal concatenation of matrix input arguments end bin2compactbin = M;% for each image, calculate the HE signatures of its features 計算特征的HE % signature [data, meta] = siftgeo_read(feat_file); % load features %feat_file = '100000.siftgeo'; data: n*128 data = data'; %轉置后,data:128*n % rootSIFT sum_val = sum(data); %sum_val: 1*128 %1、求和 for i = 1:128data(i, :) = data(i, :)./sum_val; %2、 ./ 點除 end data = single(sqrt(data)); %3、根方,并轉為single類型visual_word = importdata(word_file); % load visual word %word_file = '100000_word.mat'; %visual_word:3*1125 %對應descriptors的visual words nsift = size(visual_word, 2); %nsift = 1125, 1125個sift keypoints,size(visual_word, 1)是MA(kNN),size(visual_word, 2)是sift descriptors的個數%% feature projection and binarization %特征映射與二值化 temp_data = P*data; % projected feature %data是RootSIFT特征 %% P = importdata('projection_matrix_128bits.mat'); kNN = 3; % number of visual words assigned to each SIFT feature %visual word就是index,賦給每個SIFT feature的visual words hamming_data = zeros(128, nsift*kNN);% note, multiple assignment is implied here. kNN = 3. %注意 MA = kNN = 3,即每個feature對應3個visual words, hamming_data:128*(nsift*kNN) if ~isempty(visual_word) %非空for i = 1:kNN %1~3vw_index = visual_word(i, :); %visual_word:3*1125, 取每一行i,vw_index: 1*1125thresh = thres(:,vw_index); %thres = importdata('thres_20k_128bits.mat'); thres:128*20000,截取thres矩陣,新得到的thres:128*1125IDX = i:3:((nsift-1)*3+i); %nsift是rootSFIT個數,1125, i:3:(1124*3+i)hamming_data(:, IDX) = temp_data - thresh; % projected data minus median matrixendhamming_data(hamming_data > 0) = 1; %hamming_data > 0的部分置為1,其余部分置為0hamming_data(hamming_data <=0 ) = 0;% bs: binary signaturebs = uint8 (bin2compactbin*hamming_data); % convert 01 strings into uint8 data %bin2compactbin = M; else %visual_word為空bs = []; end% save file. bs is used as the binary signature of SIFT features write_file = '100000_he.txt'; fid = fopen(write_file, 'w'); %創建100000_he.txt文件 fwrite(fid, bs, 'uint8'); %將binary signature寫入100000_he.txt fclose(fid);

總結

以上是生活随笔為你收集整理的海明嵌入Hamming Embedding生成Binary Signature之matlab程序代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。