ZCA白化

来源:互联网 发布:排卵期计算软件下载 编辑:程序博客网 时间:2024/04/30 04:22
  1. patches = [];  
  2. tx = imread('test.jpg');%load('pcaData.txt','-ascii');  
  3. tx = double(tx);  
  4. x = zeros(size(tx, 1) * size(tx, 2), size(tx, 3));  
  5. tx = tx(:);  
  6. for i = 1 : size(x,2)  
  7.     x(:, i) = tx(1 + size(x, 1) * (i - 1) : size(x,1) * i);  
  8. end  
  9. patches = x';  
  10. %for i = 1 : size(x,2);  
  11. %     im = imread(strcat('train\', num2str(i), '.png'));  
  12. %     im = reshape(im, [132*32*3]);  
  13. %     im = double(im);  
  14. %     % centralize  
  15. %     im(1:32*32) = im(1:32*32) - mean(im(1:32*32));  
  16. %     im(32*32+1:2*32*32) = im(32*32+1:2*32*32) - mean(im(32*32+1:2*32*32));  
  17. %     im(2*32*32+1:3*32*32) = im(2*32*32+1:3*32*32) - mean(im(2*32*32+1:3*32*32));  
  18. %       
  19. %     patches = [patches, im'];  
  20. %end  
  21. y = ZCA_whitening(patches);  
  22. y = y * y';  
  23. y = ZCA_normalize(y);  
  24. covx = 1/1000 * patches * patches';  
  25. covx = ZCA_normalize(covx);  
  26. hold on  
  27. subplot(1,2,1)  
  28. imshow(uint8(covx))  
  29. subplot(1,2,2)  
  30. imshow(uint8(y));  


[python] view plain copy
  1. function y = ZCA_normalize(x)  
  2. [row, col] = size(x);  
  3. tx = [];  
  4. for i = 1 : row  
  5.     tx = [tx, x(i,:)];  
  6. end  
  7. tx = tx - min(tx);  
  8. tx = tx / max(tx) * 255;  
  9. y = zeros(row, col);  
  10. for i = 1 : row  
  11.     y(i, :) = tx((i - 1) * col + 1 : i * col);  
  12. end  
  13. end  

[html] view plain copy
  1. %% 假定每一个d维数据是0均值的,那么这n个d维数据的矩阵X(d*n)的协方差矩阵为  
  2. %% covX = 1/(n-1)*X*X'  
  3. %% 为了消除维数之间的相关性,做变换W,得到Y,即Y = W*X  
  4. %% 下面求‘去相关矩阵W'.由于W消除了相关性,所以Y*Y'是对角阵,故令W满足  
  5. %% Y*Y' = (n-1)*I  
  6. %% 由于满足条件的W很多,那么不妨设W=W'  
  7. %% 之后的推导比较自然,比较难想到的就是将X*X'做正交分解为P*D*P'  
  8.   
  9. function y = ZCAwhitening(x)  
  10. [dim, n] = size(x);  
  11. [P, D] = schur(x * x');  
  12. w = sqrt(n-1) * P * D^(-1/2) * P';  
  13. y = w * x;  
  14. end  
效果图——数据集是取自Kaggle上的Tiny Image Classification的比赛
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 口袋妖怪用修改器被ban了怎么办 联币金融提现不到账怎么办 秘密花园的手抄报怎么办?五年级 雷蛇鼠标不亮了怎么办呢 汽车后备箱的垫子好臭怎么办 摩托尾箱内衬味道太重怎么办 买房子把办贷款的单据丢了怎么办 鞋盒破损卖家拒绝退货怎么办 顺丰快递退回发件人签收失败怎么办 客户收到衣服后说衣服破损怎么办 纱窗被老鼠咬了个洞怎么办 双色印刷机开槽刀调不动怎么办 水管软管两端的螺帽下包生锈怎么办 棉花被子盖时间长了被芯变小怎么办 垫的被子发霉了啊没有地方晒怎么办 小孩拉尿在丝棉被棉怎么办 把兔子养大了竟然会咬人怎么办 小兔子生下来母兔子不喂奶怎么办 11个月的宝宝肚子有小白虫怎么办 电焊把脸烤了痒的不行怎么办? 还没满月的宝宝吐奶怎么办 周岁宝宝发烧腹泻吃药老吐怎么办 生完宝宝后肚皮很黑怎么办 两个月宝宝抵抗力差总生病怎么办 两岁宝宝只会说几个简单的词怎么办 两岁宝宝对绘本不感兴趣怎么办 一岁十个月宝宝不爱吃饭怎么办 孩子上三年级学习太差应该怎么办 mac系统打数字出显符号怎么办 我太粗心了工作中总犯错怎么办 四年级的孩子数学计算总粗心怎么办 小孩做作业拖拉的很厉害怎么办 二年级孩子做作业太粗心怎么办 发现孩子做作业时玩手机怎么办 高三孩子考试时慌乱老粗心怎么办 助班面试你的学生不喜欢你怎么办 上三年级的小孩不愿做作业怎么办 快一年了孩子上幼儿园总哭怎么办 宝宝吃多了吐了很多怎么办 一岁宝宝只吃母乳不吃辅食怎么办 孩子平常考得好正式考不好怎么办