目标跟踪算法里面有很多都用到了CN颜色特征,这里是论文 Learning Color Names for Real-World Applications 中提出的颜色特征的提取方法,应该很多论文用的都是这种方法。
从网上看到一个研究颜色特征的网站:http://www.cat.uab.cat/downloads/里面有很多颜色特征的论文和代码。
2009年的论文
J. van de Weijer, C. Schmid, J. J. Verbeek, and D. Larlus. Learning color names for real-world applications. TIP,
18(7):1512–1524, 2009. 2, 3
作者使用英语中常用的黑、蓝、棕、灰、绿、橙、粉、紫、红、白和黄共11种颜色来表示颜色,即为Color Names特征。通过在谷歌图片搜索( Google-image search)中的搜索结果进行学习,提出了使用概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)方法将RBG空间的特征映射为11维度的Color Names特征。
后来在论文
Danelljan M, Shahbaz Khan F, Felsberg M, et al. Adaptive color attributes for real-time visual
tracking[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014: 1090-1097
中Danelljan证明了CN特征在目标跟踪应用中优于其他颜色特征,这也使得后来的很多算法在特征融合中都使用到了CN特征。
这里的代码可以从下面网址下载:https://github.com/MK-90/VisualTracking
文件夹里面:
w2c.mat文件是作者使用谷歌图片训练好的映射矩阵,用来将颜色从RGB空间映射到CN空间。
im2c.m文件,里面的im2c函数将像素点标注为Color Names,也就是将每个像素点按照映射标注为CN的11个颜色名称中的1个。输入double类型的图像,输出所有像素点为11个颜色的概率。
im2c.m
function out=im2c(im,w2c,color)
% input im should be DOUBLE !
% color=0 is color names out
% color=-1 is colored image with color names out
% color=1-11 is prob of colorname=color out;
% order of color names: black , blue , brown , grey , green , orange , pink , purple , red , white , yellow
color_values = {