全面复现SSDA-YOLO跨域目标检测

近期在网上我关注到了一篇论文SSDA-YOLO,是关于跨域半监督目标检测,具体是干什么的我就不说了,我们来复现一下SSDA-YOLO。

1.源码下载:

首先我们需要下载一个SSDA-YOLO的源码,这个你自己去下载就行了。github上是公开的。

2.数据集准备:

下载到了源码以后是不能直接进行训练的。我们要准备自己的两个数据集(源域A和目标域B,以后内容我就用AB来代替,不说源域目标域)。对于我们的数据集A和B,首先我们要用CycleGAN进行训练,将A和B的图像风格进行转换。

CycleGAN这个训练得很久,我用一张A2000训练200轮,训练了近60个小时才训练完成。CycleGAN并没有什么难的,你直接照着官网上教程一直下去就好了,网上也有一些教程,参考结合。CycleGAN主要是得到转换后的图像。

给大家推荐两个训练CycleGAN的博主,我都是看着他们和官网上的进行训练的,有些人是在自己电脑上进行训练,有些人租的服务器,两者不一样,所以每个人遇到的错误都不一样。大家多试几次就好了。

以下是我CycleGAN图像风格转换后的结果:

(我用的都是个人的数据进行训练)

训练好的数据集有A,B以及A转换后得到的C;B转换后得到的D(A、B是源域、目标域,C是A生成的伪造图像,D是B生成的伪造图像)

然后我们就可以训练SSDA-YOLO了,SSDA-YOLO是基于YOLOv5源码开发的,所以在很多训练方式上和YOLOv5一致。

接下来我们要放置数据集。切记。每一步都要准确,不然半天报错。

-SSOD
        --source     数据集A(源域)   --就是YOLOv5的格式,放置方法。
                --images
                        -train
                        --val
                --labels
                        --train
                        --val
        --forge     数据集B(目标域)  
                --images
                        --train
                        --val
                --labels
                        --train  ---这里要放置空白的标签文件,不然跑不起来
                        --val
        --forge  ------这里存放的就是伪造图像
                --train_s-t  -----源域训练集的伪造图像
                --train_t-s  -----目标域训练集的伪造图像
                --val_s-t    -----源域验证集的伪造图像

以下是我数据集存放的图片:

                                                            

接下来配置data.yaml。如下图:图中有中文解释。

3.训练

接下来是训练,找到ssda_yolov5_train.py 的735、736行,改一下参数。

直接train ssda_yolov5_train.py就可以开始训练了。

说明几点:

1.我整篇文章都没有说环境,这个东西,能做到SSDA-YOLO的人,都是跑过很多模型的人了,我相信环境肯定难不倒你。

2.CycleGAN和SSDA-YOLO是两个环境,我个人是在服务器上训练的。所以不牵扯环境需要重新配置啥的。

3.大家有什么问题,私信回我就行,我挺喜欢和别人交流这些问题的。

最后留给大家一个思考题:

SSDA-YOLO、Efficient Teacher等半监督目标检测框架都是很相似的,那有没有一种可能用SSDA-YOLO来训练单纯的半监督目标检测(只是把数据改一改)呢?

从结构上是可以实现的,我正在搞。

现在半监督目标检测框架有很多了,但是基于YOLO这种框架的开源的非常少。很多人都是在YOLO上改习惯了,你发论文总不能光用个YOLOv5。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值