V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thinszx
V2EX  ›  机器学习

在图像识别时,图像大面积空白的部分对算法学习到的特征会有影响吗?

  •  
  •   thinszx · 2020-03-27 20:50:51 +08:00 · 2447 次点击
    这是一个创建于 1701 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一批灰度图,其中很多都是像这样有一大半是纯黑色的,resnet50 跑出来的分类结果(二分类)能达到九十七九十八,所以我就在想,这些黑色的部分对于算法学习到的特征有影响吗?有没有人研究过或者有什么论文的?

    image.png

    image.png

    原图是 bmp 的,图床不支持,只能这样截图上传了

    11 条回复    2020-03-28 00:26:18 +08:00
    ThirdFlame
        1
    ThirdFlame  
       2020-03-27 20:52:38 +08:00
    应该有影响吧。 反正我在做验证码识别的时候,只在单个字符外边留 2 、3 个像素的白,这样很容易训练出来。
    thinszx
        2
    thinszx  
    OP
       2020-03-27 20:56:14 +08:00
    @ThirdFlame 可是我模型跑出来的结果很好(我本来以为能有七八十的准确率就上天了),如果有影响的话,是图片具有多少空白部分这个特征也被学习到了吗?实在是想不通,查论文好像也没人研究过
    lsvih
        3
    lsvih  
       2020-03-27 21:03:06 +08:00
    影响不大,尤其对 CNN 这些影响不大。模型会学出来这些大块黑色部分和分类无关的。不过一般会增加训练难度和时间
    Mohanson
        4
    Mohanson  
       2020-03-27 21:11:05 +08:00
    判断是否有影响, 首先决定于 "这片黑色的留白是否是预期的训练数据的一部分" .

    如果不是, 就需要对训练数据做预处理, 剔除干扰数据(你此处是黑色空白). 二分类 97 的 Acc 已经是极差的训练结果了, 随便训练的手写数字识别 10 分类都能到 98.4 的 Acc: http://accu.cc/content/daze/ga/fooled_nn/, 一些论文做的 1000 分类甚至都能到 95% Acc. PS: 在机器学习领域七八十的准确率和 random.rand() 没什么区别, 最简单的 knn 算法都能比这个数据好.

    先做目标提取, 然后才是目标分类.
    ColinDowney
        5
    ColinDowney  
       2020-03-27 21:12:30 +08:00 via Android
    之前听李宏毅老师的机器学习课程有提到怎样分析模型学到了什么。在 ppt 里把相关的工作找出来了,供参考:
    “Rich feature hierarchies for accurate object detection and semantic segmentation”, CVPR, 2014
    http://cs231n.github.io/understanding-cnn/
    “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps”, ICLR, 2014
    Visualizing and understanding convolutional networks. In Computer Vision–ECCV 2014 (pp. 818-833)
    thinszx
        6
    thinszx  
    OP
       2020-03-27 21:59:49 +08:00
    @Mohanson 谢谢指教!这个图片是用恶意流量转十六进制转出来的,因为想着图像识别的算法比较成熟,所以试了一下,空白部分是流量长度不够做的补位,如果要丢弃掉黑色部分的话可能就只能选取图片中完整的部分做了,会不会丢掉很多特征呀?
    thinszx
        7
    thinszx  
    OP
       2020-03-27 22:00:55 +08:00
    @ColinDowney 谢谢!😊
    zzj0311
        8
    zzj0311  
       2020-03-27 22:27:40 +08:00 via Android   ❤️ 1
    0 不管怎么运算肯定是没有激活的,但没有激活也是特征。
    就你这个应用来讲(先不管这个 approach 是不是 make sense ),简单来讲这个就是流量的长短这个特征咯
    lsvih
        9
    lsvih  
       2020-03-27 22:39:40 +08:00
    原来是做流量的。。1D CNN 或者 LSTM 之类的 seq model 不香吗,转成图片不是多此一举
    thinszx
        10
    thinszx  
    OP
       2020-03-27 23:46:56 +08:00
    @lsvih 其实我这个是复现一篇论文的,文中用的是 resnet/cnn 加 bilstm 的结构,resnet/cnn 部分主要是截取的报文部分转图片,其实利用的就是流量交换的信息头和数据,可能是因为图像的算法还是成熟些吧,现成的东西多,不过你说的对,seq model 从效率上讲比图片高多了,光是转图片的过程就够我训练模型了...
    Liyiw
        11
    Liyiw  
       2020-03-28 00:26:18 +08:00   ❤️ 1
    影响或多或少是有的
    不过 resnet 的 cnn 部分实际上上卷积核的划窗,这样大面积空白对 cnn 的影响应该比较小
    可以的话对这个部分做数据增强吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.