c++gdal如何在大图像中截取小图像并获取其图像信息_盘点GAN在目标检测中的应用...

本文首发于公众号【机器学习与生成对抗网络】,欢迎关注、回复 GAN 获取分类好的论文集,后台会邀您加入CV&GAN交流群一起讨论)

戳我,查看GAN的系列专辑~!

ecd48185322de19a6c4464fba4e0c2f3.png

1,2017-CVPR: A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

摘要

  • 如何学习对遮挡和变形不敏感的物体检测器?当前解决方案主要使用的是基于数据驱动的策略:收集具有不同条件下的对象物体的大规模数据集去训练模型,并期望希望最终可学习到不变性。
  • 但数据集真的有可能穷尽所有遮挡吗?作者认为,像类别一样,遮挡和变形也有长尾分布问题:一些遮挡和变形在训练集是罕见的,甚至不存在。
  • 提出了一种解决方案:学习一个对抗网络去生成具有遮挡和变形的样本。对抗的目标是生成难以被目标检测器分类的样本检测网络和对抗网络通过联合训练得到。实验结果表明,与Fast-RCNN方法相比,VOC07的mAP提升了2.3%,VOC2012的mAP提升了2.6%。

9b3bfe922bfe8477f9ab5a1bedc96b81.png

引言

  • 一种可能的解决方法是通过采样来生成逼真的图像。然而,这实际上不太可行,因为图像生成将需要训练这些罕见样本。
  • 另一个解决方案是生成所有可能的遮挡和变形,并从中训练物体检测器。但由于变形和遮挡的搜索空间很大,因此这实际上也不可行和灵活。
  • 事实上,使用所有样本通常不是最佳解决方案,而选择“困难”的正样本更好。有没有办法可以生成具有不同遮挡和变形的困难正样本且无需生成像素级别的图像本身呢?
  • 本文训练另一个网络:通过在空间上遮挡某些特征图区域或通过操纵特征图来创建空间变形以形成难样本的对抗网络。这里的关键思想是在卷积特征空间中创建对抗性样本,而不是直接生成像素级别的数据,因为后者是一个困难得多的问题。

方法

  • 1,用于遮挡的Adversarial Spatial Dropout。作者提出使用一种Adversarial Spatial Dropout Network(ASDN)在前景目标的深层特征级别上生成遮挡。在标准的Fast-RCNN中,RoI池层之后获得每个前景对象的卷积特征;使用这些特征作为对抗网络的输入,ASDN以此生成一个掩码,指示要删除的特征部分(分配0),以使检测网络无法识别该对象。

4e792de79c524c0872dd4224d1618086.png
  • 2,Adversarial Spatial Transformer Network(ASTN),关键思想是基于STN在特征上产生变形并使检测网络难以识别。通过与ASTN对抗,可以训练出更好的检测网络。
  • 注:STN(Spatial Transformer Network )具有三个组成部分:localisation network, grid generator和sampler。给定特征图作为输入,localisation network将估计变形量(例如,旋转度、平移距离和比例因子)。这些变量将用作grid generator和sampler生成目标特征图的输入,输出是变形后的特征图。

a7f407f7c20142dda5d3fe7237e1000d.png

2,2017-CVPR: Perceptual Generative Adversarial Networks for Small Object Detection

  • 小物体分辨率低、易受噪声影响,检测任务非常困难。现有检测方法通常学习多个尺度上所有目标的表征来检测小对象。但这种架构的性能增益通常限于计算成本。
  • 这项工作将小物体的表征提升为“超分辨”表征,实现了与大物体相似的特性,因此更具判别性。通过结合生成对抗网络(Perceptual GAN)模型,缩小小对象与大对象之间的表征差异来改善小对象检测性能。具体来说,生成器学习将小对象表征转换为与真实大对象足够相似以欺骗对抗判别器的超分辨表征。同时,判别器与生成器对抗以识别生成的表征,并对生成器施加条件要求——生成的小对象表征必须有利于检测目标。

71cb5d1e47b568fda4ade3ac5d2cb1fe.png

3,2018 Adversarial Occlusion-aware Face Detection

  • 有遮挡人脸检测是一项具有挑战性的任务。通过同时检测被遮挡的人脸和分割被遮挡区域,本文引进一种对抗性遮挡人脸检测器Adversarial Occlusion-aware Face Detector (AOFD)。
  • 为了检测重度遮挡的脸部,设计AOFD的出发点是:(1)有效地利用未被遮挡的面部区域,以及(2)将遮挡的干扰转化为有益的信息。
  • 对于问题(1),未检测到的脸通常被遮住了关键特征部分,例如眼睛和嘴巴。一种可行的方法是在训练集中遮盖脸部的这些独特部分,迫使检测器了解即使暴露区域较少的人脸是什么样。为此,以对抗的方式设计了掩模生成器,以为每个正样本产生掩模。
  • 对于问题(2),找到常见的遮挡有助于检测其背后的不完整面孔。因此,引入了“遮挡分割”分支去分割遮挡部分包括头发、眼镜、围巾、手和其他物体等。由于训练样本很少,这并非易事。因此,作者标记了从互联网下载的374个训练样本进行遮挡分割(该数据集记为SFS:small dataset for segmentation)。
  • 如图2所示,在RoI之后添加了一个遮挡区域生成器,然后是一个分类分支和一个边界框回归分支。最后,分割分支负责对每个边界框内的遮挡区域进行分割。最终将结合分类,边界框回归和遮挡分割的最终结果输出。
  • 实验表明,AOFD不仅明显优于MAFA遮挡的人脸检测数据集的最新技术,而且在用于普通人脸检测的基准数据集(如FDDB)上也达到了竞争性的检测精度。

cd01def3b24ab1aba6efdfac0b120261.png

4,2018-ECCV:SOD-MTGAN: Small Object Detection via Multi-Task Generative Adversarial Network

  • 目标检测是计算机视觉中的一个基本而重要的问题。尽管在大规模检测基准(例如COCO数据集)上对大/中型对象已经取得了令人印象深刻的结果,但对小对象的性能却远远不能令人满意。原因是小物体缺少足够的外观细节信息,这些信息可以将它们与背景或类似物体区分开。
  • 为了解决小目标检测问题,提出了一种端到端的多任务生成对抗网络(MTGAN)。其中生成器是一个超分辨率网络,可以将小的模糊图像上采样到精细图像,并恢复详细信息以进行更精确的检测。判别器是一个多任务网络,该网络用真实/虚假分数,对象类别分数和边界框回归量来描述每个超分辨图像块。
  • 此外,为了使生成器恢复更多细节以便于检测,在训练过程中,将判别器中的分类和回归损失反向传播到生成器中。
  • 在具有挑战性的COCO数据集上进行的大量实验证明了该方法从模糊的小图像中恢复清晰的超分辨图像的有效性,并表明检测性能(特别是对于小型物体)比最新技术有所提高。

fd59acca1f291fe7d67cbb9aebc1658b.png

小物体检测系统(SOD-MTGAN):

  • (A)将图像输入网络。
  • (B)基线检测器可以是任何类型的检测器(例如Faster RCNN 、FPN或SSD),用于从输入图像中裁剪正(即目标对象)和负(即背景)例,以训练生成器和判别器网络,或生成ROIs进行测试。
  • (C)正例和负例(或ROI)是由现成的检测器生成的。
  • (D)生成器子网重建得到低分辨率输入图像的超分辨率版本(4倍放大);判别器网络将GT与生成的高分辨率图像区分开,同时预测对象类别并回归对象位置(判别器网络可以使用任何典型的体系结构,例如AlexNet、VGGNet、ResNet作为骨干网,在实验中使用ResNet-50或ResNet-101。

猜您喜欢:

GAN&CV交流群,无论小白还是大佬,诚挚邀您加入

1.GAN公式简明原理之铁甲小宝篇

2【实习面经】GAN生成式算法岗一面

  1. GAN整整6年了!是时候要来捋捋了!
  2. 数百篇GAN论文已下载好!搭配一份生成对抗网络最新综述!
  3. 新手指南综述 | GAN模型太多,不知道选哪儿个?
  4. 人脸图像GAN,今如何?(附多篇论文下载)
  5. 人脸生成新SOTA?
  6. 语义金字塔式-图像生成:一种使用分类模型特征的方法
  7. 拆解组新的GAN:解耦表征MixNMatch
  8. CVPR 2020 | StarGAN第2版:多域多样性图像生成
  9. CVPR 2020 | GAN中的反射/反光、阴影
  10. CVPR 2020 | 几篇GAN语义生成论文
  11. CVPR 2020 | 10篇改进GAN的论文(网络、训练、正则等)
  12. CVPR 2020 | 11篇GAN图像转换img2img 的论文
  13. CVPR2020之MSG-GAN:简单有效的SOTA?
  14. CVPR2020之姿势变换GAN
  15. CVPR2020之多码先验GAN:预训练好的模型怎么使用?
  16. 两幅图像!这样能训练好 GAN 做图像转换吗?
  17. ECCV 2020 的对抗相关论文(对抗生成、对抗攻击)
  18. 2020年9月70篇GAN/对抗论文汇总
  19. 2020年8月60篇GAN/对抗论文汇总
  20. 2020年7月90篇GAN/对抗论文汇总
  21. 2020年6月100篇GAN/对抗论文汇总
  22. 2020年5月60篇GAN论文汇总
  23. 最新下载!2020年4月份70多篇GAN论文!
  24. 最新下载!一览2020年3月至今90多篇GAN论文!
  25. 最新下载!一览2020年2月50多篇GAN论文!
  26. 一览!2020年1月份的GANs论文!
  27. 2019年12月份的GANs论文一览
  28. 这么多!11月份来的这些GAN论文都在解决什么方向的问题?

部分应用介绍:

  1. 脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?
  2. 【无中生有的AI】关于deepfake的入门级梳理
  3. 容颜渐失!GAN来预测?
  4. 异常检测,GAN如何gan?
  5. 虚拟换衣!这几篇最新论文不来GAN GAN?
  6. 脸部妆容迁移!速览几篇用GAN来做的论文
  7. 有点夸张、有点扭曲!速览GAN如何夸张漫画化人脸!
  8. 见微知细之超分辨率GAN!附70多篇论文下载!
  9. 天降斯雨,于我却无!GAN用于去雨如何?
  10. 结合GAN的零次学习(zero-shot learning)
  11. 强数据所难!SSL(半监督学习)结合GAN如何?
  12. 弱水三千,只取你标!AL(主动学习)结合GAN如何?
  13. 【1】GAN在医学图像上的生成,今如何?
  14. 英伟达few-shot图像转换
  15. 【图像上色小综述】生成对抗网络的GAN法
  16. 文字生成图像!GAN生成对抗网络相关论文大汇总

37667a6a05b516ed510d9173618e1e3e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在大图像截取图像图像信息,可以使用GDAL库来实现。GDAL是一个开源的地理信息系统库,可以处理各种栅格数据格式。 下面是一个使用GDAL库来截取图像图像信息的示例代码: ```c++ #include "gdal_priv.h" #include <iostream> int main() { GDALAllRegister(); // 打开大图像 GDALDataset *poDataset = (GDALDataset*) GDALOpen("big_image.tif", GA_ReadOnly); if (poDataset == NULL) { std::cout << "Cannot open big image file!" << std::endl; return -1; } // 定义小图像的位置和大小 int x = 1000; // 小图像左上角x坐标 int y = 1000; // 小图像左上角y坐标 int width = 500; // 小图像宽度 int height = 500; // 小图像高度 // 创建小图像的数据集 GDALDataset *poSmallDataset = poDataset->CreateCopy("small_image.tif", x, y, width, height, NULL); if (poSmallDataset == NULL) { std::cout << "Cannot create small image file!" << std::endl; GDALClose(poDataset); return -1; } // 图像的元数据 double adfGeoTransform[6]; poSmallDataset->GetGeoTransform(adfGeoTransform); std::cout << "Small image origin X: " << adfGeoTransform[0] << std::endl; std::cout << "Small image origin Y: " << adfGeoTransform[3] << std::endl; std::cout << "Small image pixel width: " << adfGeoTransform[1] << std::endl; std::cout << "Small image pixel height: " << adfGeoTransform[5] << std::endl; // 关闭数据集 GDALClose(poSmallDataset); GDALClose(poDataset); return 0; } ``` 在这个示例代码,我们首先打开了大图像,然后定义了小图像的位置和大小。接着我们创建了小图像的数据集,并了小图像的元数据,包括原点坐标和像素大小。 需要注意的是,这个示例代码仅仅是截取了小图像,并了其元数据,如果需要进行更复杂的图像处理,还需要使用其他的图像处理库和算法来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值