[论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture

最近有些浮躁,还是本着看完一遍踏实弄懂一遍的想法做吧。

跟用UDA的方式做无监督不同,这篇文章是基于一种渐进式的框架,并在两个相同的网络结构之间进行微调的形式,照原文的说法是:通过提出一个渐进的两步级联框架,将车辆重新识别的问题建模为无监督的学习范式。整个的思路就是将一个模型已经学到的知识迁移到下一个模型当中。详细说来,当我们以无监督的方式逐步训练网络时,将没有label的图片送入到已经事先训练好的基本网络中,基本网络使用预训练的权重执行特征提取。将这些提取的特征进行聚类,然后将相应的聚类ID分配为聚类图像的“伪”标签,以用于下一个后续迭代。通过实施某些启发式约束,进一步细化聚类结果以获得准确且稳定的聚类。而这里的启发式约束就是通过一个事先训练好的颜色叛变网络,对聚类的样本进行颜色无关性的剔除。然后利用这些强大的集群(代表车辆)来微调另一个CNN网络,该网络具有与基础CNN相同的架构。该过程被迭代地执行,其中训练样本集在每次迭代中增长,具有越来越强大的簇,以实现无监督的自我渐进式学习直到收敛。

先看整体框架

[论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture_第1张图片

 

(1)Base Model Tarining 

用于将已知lable 的数据对CNN进行权重初始化。因此,假设标记数据集是用于训练的,基础模型训练的想法是使用这些现有标签来微调任何通用深度特征提取器。一旦训练了基础模型,就可以利用它来初始化和微调渐进式网络模块,包括特征提取,聚类和可靠的图片选择。

(2)Feature Extraction

通过使用在最后步骤中训练的基础模型中提取的特征向量来初始化该步骤

                                                           [论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture_第2张图片 

x代表第i个输入的图像,w代表权重,f代表输出的特征向量。在下一次迭代期间,使用新训练的模型提取特征,该模型被认为更准确并且将产生更合适的特征。

(3)Feature Clustering

一旦输出图像的特征被提取出来,现在的目的是以某种方式将类似的车辆组合在一起,以便可以生成相对更精确的训练样本集。

为此,将提取的特征F = {f1,f2,...,fN}应用到k-means算法,该算法将相似的特征(即,相应的图像)聚集在一起。使用k-means允许通过最小化以下优化函数来获得k(= M)个聚类质心的集合C = {c1,c2,...,ck}

[论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture_第3张图片

 

随着数据中车辆的尺寸/密度的变化,不同的车辆可能会出现错误的聚类标签并因此被分组到同一群集中。因此就需要某种约束规则和选择一种合适的距离度量函数来使得分类更为可靠。

(4)Reliable Feature Selection

细化聚类结果的方法比较native 的就是使用个各种距离函数,但是大多都有自己的缺陷。作者提了一个比较合适的解决方案是找到所有特征相对于它们各自质心的相似性,然后丢弃所有相似性小于某个定义阈值的那些特征。找到所有特征相对于它们各自质心的相似性,然后丢弃所有相似性小于某个定义阈值的那些特征。用余弦距离

[论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture_第4张图片

因为余弦距离考虑的是角度之间的差异程度,因此会遭遇共线性问题。为此,在本文中通过强制执行某些启发式约束来细化聚类结果以获得更准确和稳定的聚类。而这个约束方式就是颜色分类网络。迫使相同颜色的车辆能被分到同一类当中。在此之前首先要进行投票来判断属于这个集群当中的主色是什么,投票规则:

其中φ(vm,wc)表示使用训练(或微调)权重wc返回的第j个簇中第m个图像vm的颜色--bm,如果Vj表示第j个聚类中包含的图像集,然后| Vj | 表示设定的基数(即,任何特定第j个簇中的图像的数量),最后βj表示通过采用车辆颜色的统计模式(多数表决)获得的第j个簇中的车辆的主色,然后使用估计的主要簇颜色{βj} k j = 1来丢弃每个簇中的不同颜色图像。这样做有两个好处,1是能使相同颜色的车辆分到一类,2是能帮助聚类算法的收敛,车辆是分类主要还是看车身颜色吧。但是坏处也是显而易见的就是不同的车但是相同颜色的车辆也被分到了同一类当中。

主要缺陷:1、采用k-means算法,但是得事先知道得聚为多少类,即事先知道我的目标数据集中有多少没有标签的车辆,这在无监督的场景下约束是很大的。

2、通过颜色辨别网络当做一种先验来细化聚类的结果,理论上是有问题的,因为相同颜色但是不同的车辆还是大量存在的。

3、基准数据集是必需的,它们在大小方面都是完整的,并且涵盖了所有必要的重新ID信息,例如多视点,时空,品牌/模型和颜色信息。 现有的主要数据集(例如,车辆ID和VeRi)部分包含此类信息,因此使用它们训练的模型可能不会直接适用于实际场景

 

 

你可能感兴趣的:([论文阅读]VR-PROUD: Vehicle Re-identification Using PROgressive Unsupervised Deep Architecture)