毕设日志——增加多尺度对应的不一样scale的RPN网络

4.25

错误
在这里插入图片描述


4.27

修改anchor不同的RPN,即conv5-3和conv4-3融合
本来想运行一个epoch,结果运行成下面的没有指定epoch个数的:

CUDA_VISIBLE_DEVICES=1 python trainval_net.py --dataset pascal_voc --net vgg16 --bs 1 --nw 1  --cuda

以后记住用:

CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset pascal_voc --net vgg16 --epochs 1 --bs 1 --nw 1 --cuda >output.log 2>&1 &
# 或者
CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset pascal_voc --net vgg16 --epochs 1 --bs 1 --nw 1 --cuda 

然后八点生成了第一个epoch的结果:

在这里插入图片描述
之后第二个epoch看loss=0.3095效果还不错:
在这里插入图片描述

测试
python test_net.py --dataset pascal_voc --net vgg16 --checkepoch 1 --checkpoint 13463 --cuda

在这里插入图片描述

demo
python demo.py --net vgg16 --checksession 1 --checkepoch 1 --checkpoint 13463 --cuda

效果好像变差了:
左边是新的,右边是4.21结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 可以看到,更小的依然检测不到


4.27晚

  • 修改config.py里面的train和test的参数:
# Scale to use during training (can list multiple scales)
# The scale is the pixel size of an image's shortest side
#__C.TRAIN.SCALES = (600,) # wjg,4.27
__C.TRAIN.SCALES = (375,)

# Max pixel size of the longest side of a scaled input image
#__C.TRAIN.MAX_SIZE = 1000 # wjg 4.27
__C.TRAIN.MAX_SIZE = 1200

# Scale to use during testing (can NOT list multiple scales)
# The scale is the pixel size of an image's shortest side
#__C.TEST.SCALES = (600,)
# wjg 4.27
__C.TEST.SCALES = (375,)

# Max pixel size of the longest side of a scaled input image
#__C.TEST.MAX_SIZE = 1000
# wjg 4.27
__C.TEST.MAX_SIZE = 1200
  • 增加conv3-3对应的RPN
  • 修改3个RPN的anchor scale分布
  • 明天可以考虑自适应修改(kmeans???)anchor

4.27-28

CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset pascal_voc --net vgg16 --epochs 6 --bs 1 --nw 1 --cuda >output.log 2>&1 &

记住是1961号python进程:
在这里插入图片描述
在这里插入图片描述
4.28早上结果:
在这里插入图片描述
在这里插入图片描述

测试
python test_net.py --dataset pascal_voc --net vgg16 --checkepoch 6 --checkpoint 13463 --cuda

在这里插入图片描述
检测结果还不错:

AP for pedestrian = 0.6944
AP for car = 0.8666
AP for truck = 0.9036
AP for tram = 0.8095
AP for van = 0.8804
Mean AP = 0.8309
~~~~~~
Results:
0.694
0.867
0.904
0.809
0.880
0.831
demo
python demo.py --net vgg16 --checksession 1 --checkepoch 6 --checkpoint 13463 --cuda

效果在KITTI的testing集合上还可以,对小目标有提升:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.28总结

  • 我在KITTI数据集上用faster rcnn和修改之后的faster rcnn分别进行了测试比较
    针对小目标在高层特征下不易检测出的问题,经VGG16提取特征,将其中conv4_3提取的特征送入和conv5_3各自的RPN,之后分别通过RPI

  • pooling后再一起送入分类器 两层feature map对应的RPN使用的anchor的scale不同

  • 没有增加RPN之前,测试5类,epoch=6的测试结果mAP是0.8428,增加RPN之后为0.8309

  • 但是从图片效果来看,对图片中更小目标的检测效果有提高

  • 下一步我考虑:

  • 将conv3_3层的feature map也加入一个anchor scale更小的RPN是否会有提升。

  • 参考yolo v2中的聚类方法获取anchor size的方法,在不同层feature map上能不能获得比手工指定anchor scale更好的效果。

  • 之前老师说KITTI不够multi scale,我目前只尝试了KITTI,在数据集的使用和处理方面不知道如何能有所改进。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值