• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    Python
  • Created almost 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

本仓库主要包含了针对目标检测数据集的增强手段和源码:图像的旋转,镜像,裁剪,亮度/对比度的变换等

DataAugmentation_ForObjectDetect

本仓库主要包含了针对目标检测数据集的增强手段和源码:图像的旋转,镜像,裁剪,亮度/对比度的变换等采取的实验数据格式为VOC的格式,标签存储在xml文件中.代码中涉及一些对.xml文件的基本操作

2020/12/16更新

没有想到,这个古老的创库还有人star,为了不误导大家。这里有必要进行说明:这种增强方式属于离线数据增强,图片数量会成倍增加,这是属于效率很低的一种方式,即占磁盘空间,又耗费训练时间.大可不必,真正在训练中使用的时候是完全可以利用现成的api的,比如pytorh自带的transforms库里面就实现了很多的增强:

data_transforms = transforms.Compose([
        transforms.RandomResizedCrop(224),
        transforms.RandomHorizontalFlip(0.5),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    ])

比如上面代码中的transforms.RandomHorizontalFlip(0.5)就是每一次对一个batch进行处理时,以0.5的概率进行水平翻转,当你的训练epoch>>1的时候,必然会保证到原图和翻转图都在训练中出现,所以这是一种巧妙和高效的实现.当然代码的底层实现,和本创库的几个实现函数基本是一致的。但实际使用还是建议使用在线随机增广。注意的就是,对于目标检测而言,图片的几何变换必然导致标注的变换,这个并不是pytorch自带的,需要自己进行实现,原理还是如本创库.不过大多数有点东西的仓库(SSD,YOLO等)都实现了各种数据增强,建议阅读。本创库的代码不建议使用,但是可以用来理解目标检测中图片的变换以及其相应的标注的变换规则!

这里推荐一下我另一个更优实际价值的目标检测仓库: 目标检测数据集制作:VOC,COCO,YOLO等常用数据集格式的制作和互相转换脚本 效率神器!欢迎star!

rotated.py包含了旋转图像以及对应的标签的旋转代码

对图像的旋转可以调用cv2的库函数,但是对标签的操作需要搞清楚一个点绕着另一个点旋转后的坐标与原坐标的对应关系,计算公式见代码!

padd_rotated_crop.py

由于图像的旋转会使得一部分信息损失,而且不是很容易的判断旋转后的图像是否还包含我们的完整目标。 因此可以尝试把原图像先安装长短边的长度填充为一个正方形,这样可以确保填充后的图像在旋转过程中,原图中的目标信息不会丢失。 然后可以旋转作一个裁剪(根据目标的标签坐标,只要避开旋转后的标签坐标就能很好的裁剪出图像),当然也可以不裁剪,但是这样会降低模型 训练的效率

color.py 目前只是对图像的亮度/对比度的改变

该部分代码还应该有对图像的颜色变换,下次更新!对亮度和对比度的调节利用的是像素的简单线性变换。

mirror.py

该部分代码主要是对图像进行水平,竖直,对角的镜像变换 对图像的操作cv2.flip();对标签的变化其实就是利用原图的长宽来减去原像素,三种情况有所不同,但很好理解,只是有些细节需要注意,见代码! 注:对原图的对角镜像其实等价于对原图旋转180°

More Repositories

1

baby-llama2-chinese

用于从头预训练+SFT一个小参数量的中文LLaMa2的仓库;24G单卡即可运行得到一个具备简单中文问答能力的chat-llama2.
Python
2,471
star
2

data-science-competition

该仓库用于记录作者本人参加的各大数据科学竞赛的获奖方案源码以及一些新比赛的原创baseline. 主要涵盖:kaggle, 阿里天池,华为云大赛校园赛,百度aistudio,和鲸社区,datafountain等
Python
1,306
star
3

objectDetectionDatasets

目标检测数据集制作:VOC,COCO,YOLO等常用数据集格式的制作和互相转换脚本
Python
415
star
4

MultiClassify_LSTM_ForChinese

本项目主要是利用LSTM来对中文文本进行情感分类,包含四个类别(愤怒,焦虑,抑郁,伤感)
Python
52
star
5

Fashion-MNIST

这是一个入门机器学习/深度学习的小项目,包含随机森林,多层感知器,卷积神经网络,实现了训练可视化,多分类混淆矩阵等计算
Python
44
star
6

GarbageDetection

华为云杯”2020深圳开放数据应用创新大赛·生活垃圾图片分类.排名:50/4388;方案:SSD-efficientd3-DiouLoss
Python
13
star
7

Baidu_BigData2020

2020第六届百度&西安交大大数据竞赛暨IKCEST第二届“一带一路”国际大数据竞赛
Jupyter Notebook
11
star
8

TianChi-Sunsport

阿里天池太阳黑子分类--赛道一方案分享(0.908第十名)
Python
9
star
9

DIGIX-ImageRetrieval

华为DIGIX图像检索
Python
9
star
10

Tianchi-competition-ZhiHuiHaiYang

智慧海洋初赛testB-0.8742方案
Jupyter Notebook
8
star
11

Antai_Cup

(阿里天池安泰杯国际人工智能电子商务的挑战)Antai Cup-International E-commerce Artificial Intelligence Challenge
Python
4
star
12

kaggle-Sartorius

Sartorius - Cell Instance Segmentation Detect single neuronal cells in microscopy images
Python
1
star
13

BioPulmonaryNodules

Python
1
star