《“Clustering by Composition”—Unsupervised Discovery of Image Categories》 PAMI 2014

1、首先对相册里的每一张照片,取N个descriptor;

2、对每一张照片Ii,针对里面每一个descriptor,去相册里剩余的照片里以均匀采样的方式随机取样一张照片;

3、再在被抽取的照片里随机抽取S个descriptor(当common region占到照片尺寸10%的时候,S=40就可以);

4、再在这S个descriptor里找到和当前Ii里当前这个descriptor最匹配的一个descriptor,假设和a1暂时最匹配的是                       b16,和a2最匹配的是b7,如下图;

5、再做propogation,即针对每一个点,看邻居都对应到哪里了。如a2对应到b7,则a2会建议左边邻居要不要考虑

下b7左边的b6,所以a1会在b6和b16里面选择一个最佳的匹配;

6、接下来,假设a1和b6比较匹配,a1又会在b6的周围邻居里面找找看有没有比b6更加适合它的,这样的过程会使

common region以不规则的方式生长,如下图;

7、针对每一张照片上每个descriptor都找到对应点后,就可以算照片两两之间的affinity,在这里用Bit-Saving来表示                affinity。

而计算两张照片间的相关度可以用p(R|Ref)/p(R|H0)来表示。分子是指由其中一张reference image提供当前                        image 所需的某一个region R的概率。分母是指当前的region是随机产生的概率。

p(R|Ref)可以用两张对应照片里的对应区域的所有匹配descriptor的匹配误差来表示,如下。

               
而p(R|H0)可以用R里边所有descriptor随机产生的概率相乘起来得到。
            而每一个p(di|H0)可以用在这个相册所有照片的所有descriptor组成的库D里找到它的概率来表示。
            具体计算过程如下:将D做k-means分群,同一群里的点都用群中心来量化,量化误差就可以用来表示这个点的稀有性。
 
            对于一些随机取到它的概率很高的点,就是它们在D里面会出现很多,所以它们在分群时可以自成一群,它们离群中心也近,所以量化误差小,上述概率就很大。而对于一些离群的独特的点,它们就不能自成一群,就会被分配到附近的群,但是还是离群中心很远,量化误差很大,上述概率很小。即不太可能随机产生。
            根据香农定理,对一个随机变量进行编码所需的编码长度是-log p(x)。所以化解上式得到如下:
            
            即affinity可以用相对于随机产生一个region,用reference image来产生region R,节省的bits数来表示。
       8、得到两两之间的affinity matrix之后,如果I0可以由I1和I2组成,也可以用I3和I4组成,那在下一次迭代中,I3可以听从I0的建议以更高的概率采样到I1。这样就不用去算两两间所有的affinity,相反会得到比较稀疏的affinity,运算量会下降,时间会更快。
       9、大概跑完几十次迭代后,就会收敛。最后做normalize-cut就可分群。
      总结:算法的主要特色是composition和random。

照片聚类2014年最新方法——“Clustering by Composition”相关推荐

  1. 最新综述:深度学习图像三维重建最新方法及未来趋势

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 今天分享的是:深度学习领域基于图像的三维物体重建最新方法及未来趋势 ...

  2. 2014年最新720多套Android源码2.0GB免费一次性打包下载

    之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年3月份开始不断整理源码区和其他网站上的android源码,目前总共有720套左右,根据实现的功能被我分成了100多个类,总共 ...

  3. 密度峰值聚类算法DPC(Density Peak Clustering)理论基础与python实现

    密度峰值聚类算法DPC(Density Peak Clustering) 基于密度峰值的聚类算法全称为基于快速搜索和发现密度峰值的聚类算法(clustering by fast search and ...

  4. 2014年最新前端开发面试题

    2014年最新前端开发面试题(题目列表+答案 完整版) 转载自https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Qu ...

  5. 2014年最新前端开发面试题(转自markyun)

    2014年最新前端开发面试题(转自markyun) PS:在其基础上完善了一些答案,增加一些问题 欢迎fork wj:) 目录 前言 HTML 部分 CSS 部分 JavaScript 部分 其他问题 ...

  6. 2014年最新web前端开发面试题

    2014年最新web前端开发面试题 本文是一份非常不错的2014年web前端开发工程师的面试题集锦,并附有参考答案,推荐大家参考下. 试题目录: HTML 部分 CSS 部分 JavaScript 部 ...

  7. 论文研读-文献聚类可视化-文献聚类结果可视分析方法研究

    文献聚类结果可视分析方法研究 1 论文概述 1.1 摘要 1.2 引言 1.3 脉络 2 可视分析框架 2.1 框架概述 2.2 框架组成 3 可视化设计 3.1 语料结构可视化 3.2 语料内容可视 ...

  8. 2014年最新前端开发面试题(面霸题库)

    原文地址为: 2014年最新前端开发面试题(面霸题库) 欢迎加入Javascript前端技术,群号为:85088298  本人博客已经迁移至jruif.github.io The last time ...

  9. Oracle8i 到Oracle 12c的2014年最新PSU、Bundle Patch、SPU信息

    Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (文档 ID 145 ...

最新文章

  1. c语言动态内存分配数组,【C】动态内存分配
  2. 关于×××隧道技术在使用中的优势
  3. html宽度满屏,宽度满屏的代码怎么样写?
  4. Linux下环境搭建(一)——java、tomcat配置
  5. 如何获取jar包的在执行机上面的路径
  6. Atitit.软件GUI按钮与仪表盘(01)--报警系统--
  7. Android小提示四
  8. OLED多级菜单记录
  9. 针孔相机畸变成像详解
  10. 怎样提高睡眠质量容易入睡,五种应对失眠的妙招
  11. Nginx+Tomcat集群:搭建Jpress(三)
  12. 增量式编码器工作原理超详细图解
  13. Vuetify Carouse轮播图 图片切换导致页面总是自动跳转到轮播图位置
  14. 华为手机摄影从入门到精通_华为手机拍照技巧从入门到精通
  15. 可达性分析算法-针对的对象
  16. 数学之美读书感悟03
  17. 命运2服务器维护2021,命运2 2021年3月17日更新内容详解 冰影系列削弱一览[多图]...
  18. 香港五个遊客不常到的本地拍攝熱門地點
  19. H5中常见的 Android 和 iOS 兼容性问题
  20. SVN使用:从SVN服务器(linux)彻底删除文件,扩大空间

热门文章

  1. python处理时间的标准函数库_python+pandas+时间、日期以及时间序列处理方法
  2. html5 websocket php,HTML5 WebSocket技术使用详解
  3. 【AI创造营】是极客就坚持一百秒?
  4. python输出一首诗_用Python自动生成藏头诗
  5. springboot2.3.3中关于spring-data-elasticsearch-4.0.3的使用
  6. IE8 浏览器性能解密
  7. 大话设计模式 简单工厂模式
  8. 计算机系学生用什么系统,大学计算机系学生:重装系统必备的法宝
  9. OpenWrt搭建time machine软路由搭建苹果时间机器服务器
  10. Unity在PC端调用电脑镜头