加载中…
个人资料
星光灿烂
星光灿烂
  • 博客等级:
  • 博客积分:0
  • 博客访问:5,148
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
访客
加载中…
好友
加载中…
评论
加载中…
分类
博文
(2017-06-23 16:41)
标签:

杂谈

     实际上,索引可以在分块的过程中记录,分块其实很简单。然后采用表面瑕疵检测算法对每一块图像进行分析。在这里暂时不采用这个思路进行分析,暂时随机选块随机指定位置,并输出该位置在整幅图像中的位置。
    从图中可以看出,瑕疵存在的位置是随机的,分块有可能将一个瑕疵分到好几个块。因此需要对运算的结果进行合并。合并的原则是分别判断当前块与其相邻的块的瑕疵位置是否是相邻的,若相邻,则作为同一块合并。
    若是位于四个角,则需要与其相邻的三个块进行结果归一运算,若位于边缘,则需要对其相邻的五个块进行结果归一运算。若位于中心,则需要对其相邻的八个块进行结果归一运算。块和块之间是有重叠的,所以最好是确定了准确的位置以后,再进行归并操作。
   还有一种想法是首先将所有的瑕疵所属的图片ID确定好,找到相连的ID号。如果是相邻的,那么有很大的可能性是同一块的。然后再根据坐标是否相邻判断是不是可以合并。判断序号是否是相邻的办法需要探讨,这就涉及到如何编码的问题了。
         4&nb
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-22 08:44)
      布料类型检测通过多种修正策略,可以超大可能性的保证检测结果的正确性。在布料的类型被正确检测的前提下,可以调用专门的分类器检测对应的布料。
     在采集的大图像分块之前,该图像所属的布料类型已经确定了。对该图像进行分块并检测表面瑕疵,获取表面瑕疵的轮廓信息。瑕疵的位置和大小信息还可以使用矩形对象表示,检测出来的瑕疵图像要保存到指定的文件夹下,每一个瑕疵图像还要用正常的纹理样本集作为训练样本,识别是否是正常的纹理。如果是正常纹理,则将该瑕疵取消掉。主要的原因是检测的过程中难以避免会产生误检,采用这样的方式可以将一部分误检滤除掉。
     由于采用分块的方式进行检测,因此需要对结果进行合并。对每一块图像在分块的时候就应该记录其真实的顶点坐标。对应的块图像在检测出轮廓以后,其相应的相对整幅图像的轮廓坐标应该加上其顶点坐标。
     另外哪一帧图像对应什么距离也应该能确定。正确来说,在验布机不动的情况下,相机应该是不拍的。在相机能正常抓拍的前提下,每一幅图像对应了布料中的一段。对应的图像编号与坐标就可以确定其长度
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-21 13:54)
标签:

杂谈

下面是搜集的几篇重要的资料。

关于凸优化的英文文献。

http://cs229.stanford.edu/section/cs229-cvxopt.pdf

2 常见的凸优化工具和库

3 稀疏表示分类
4 关于核函数
核函数的类型 
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-19 14:22)
     http://cvxr.com/cvx/
采用下面的测试程序,解决如下凸优化问题。



clc;
clear all;
cd cvx
cvx_setup
cd ..
m = 20; n = 10; p = 4;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1); e = rand;
cvx_begin
    variable x(n)
    minimize( norm( A * x - b, 2 ) )
    subject to
        C * x == d
        norm( x, Inf ) <= e
cvx_end

产生的结果如下:
-----------------------------------------------------
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-19 10:24)
 
稀疏表示求解最优化问题在这一段程序中存在较大的疑问。之前的程序是很好理解的,但是这一部分却不是特别明白。如何使用核函数稀疏表示。
 核函数的概念源于支持向量机。支持向量机[1]  通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间。特征空间的维数可能非常高。如果支持向量
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-17 08:53)

采用了 kernel sparse representations classifier implemented和LPQ特征,检测效果和另一版本的SRC是一样的,检测速度略慢。检测率很高,只有一个误检。由此可见,将来识别瑕疵的类型也可以考虑使用该特征。



 测试样本类别为1 .\FabricTest\001.3.jpg
测试样本类别为1 .\FabricTest\001.7.jpg
测试样本类别为1 .\FabricTest\001.jpg
测试样本类别为2 .\FabricTest\002.5.jpg
测试样本类别为3 .\FabricTest\003.4.jpg
测试样本类别为3 .\FabricTest\003.6.jpg
测试样本类别为3 .\FabricTest\003.7.jpg
测试样本类别为4 .\FabricTest\004.5.jpg
测试样本类别为4 .\FabricTest\004.6.jpg
测试样本类别为4 .\FabricTest
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-16 13:58)
       经过一段时间的探索发现,LPQ特征是非常有用的,在布料种类识别中效果是非常好的,尽管会存在一定的误检,但是在特定的检测环境下,用处还是非常大的。接下来搜集一下关于LPQ相关的资料。
 存在几个版本的LPQ,都用程序实现一下,看看有什么不一样的。



阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-15 11:35)
     对LPQ的纹理图像最好也贴出来看看。




阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-15 08:48)
     纹理特征只是尝试了一种,LPQ特征,LPQ特征看起来好像比较粗糙。还有Textons基元特征还有LBP特征,最好是单独形成代码,以方便尝试。对于各种图像提取了Textons特征的结果图在这里贴一下。
     



阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2017-06-14 10:47)
     不过LPQ特征提取起来是比较慢的,尽管效果是非常好的。原来造成检测慢的原因是只输入一个参数的时候,默认的处理图像的大小为259*259,图像通过线性差值变化为259*259的大小,由于图像有点大,处理的速度因此会比较慢。图像的大小调整为24*24的时候,有一个误检,当随便写为30*30的时候,误检就没了。
     由此看来,布料类型识别的识别率是非常的高的,而且选用的样本也不需要很多。尽管检测的效果是比较喜人的,但是由于测试的样本是非常少的,样本的种类采集的也太少,还需要采集更多的样本。其实样本种类的识别无非是用来监控是不是检测的同一种布。而且如果说布头有非常明确的特征的话,那么也是可以用这种识别布料种类的方法去判断是不是布头部分的图像。
    接下来继续采集布料的图像,扩充一下样本集,并做更多的测试。下面两种比较类似,其实也可以看作同一种类型的。有些布料只是颜色不一样,但是除去颜色,其纹理是一样的,因此可以看作同一种布料。将布料进行分类的目的是将不同的布料建立不同的样本库。如果将所有的布料都用同一个超级巨大的字典去查,运算的速度毫无疑问是超级慢的。而纹理类
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有