Closed hust-lidelong closed 2 years ago
这个是在MMdetection v2.2中增加的TODO,在高版本的MMdetection应该已经实现了,如果之后有时间升级更高版本的MMdetection应该能支持这个功能。
这个是在MMdetection v2.2中增加的TODO,在高版本的MMdetection应该已经实现了,如果之后有时间升级更高版本的MMdetection应该能支持这个功能。
那请问使用您现在这个版本的obbdetection代码做test的时候,只能使用单GPU吗
可以使用多GPU,要用tools/dist_test.sh
当我在单GPU使用
--show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
输出为空
--show-dir 可能需要先创建文件夹,不知道visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12这个文件夹是否已经存在
--show-dir 可能需要先创建文件夹,不知道visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12这个文件夹是否已经存在
新建该文件夹以后,可以保存了。感谢 还有一个问题想请教作者, https://github.com/jbwang1997/OBBDetection/blob/master/docs/oriented_model_starting.md 中写的
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --format-only --options save_dir=${SAVE_DIR}
该命令行的作用,是把split的图片结果合并,并生成txt以提交给测试服务器时使用吗?如果我需要把split图片合并为完整图,并保存可视化检测结果,可以用这行命令吗?
当我使用
CUDA_VISIBLE_DEVICES=1 python tools/test.py \
configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py \
work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth \
--eval mAP \
--show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
可视化结果正常,但是计算的mAP = 0 :
请问哪里出问题了呢
--show-dir 可能需要先创建文件夹,不知道visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12这个文件夹是否已经存在
新建该文件夹以后,可以保存了。感谢 还有一个问题想请教作者, https://github.com/jbwang1997/OBBDetection/blob/master/docs/oriented_model_starting.md 中写的
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --format-only --options save_dir=${SAVE_DIR}
该命令行的作用,是把split的图片结果合并,并生成txt以提交给测试服务器时使用吗?如果我需要把split图片合并为完整图,并保存可视化检测结果,可以用这行命令吗?
是的,这是对DOTA数据集的优化,可以直接生成用于提交到DOTA测试的.zip文件格式。
如果要可视化全图结果,可以使用BboxToolkit/tools/visualize.py --load_type选择dota_submission, 加载的--img_dir 为原始的DOTA图像目录,--ann_dir 选择{SAVE_DIR}。具体的用法可以参考这里
当我使用
CUDA_VISIBLE_DEVICES=1 python tools/test.py \ configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py \ work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth \ --eval mAP \ --show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
可视化结果正常,但是计算的mAP = 0 :
请问哪里出问题了呢
这里DOTA test数据集没有提供标签,所以ground truth数量为0,mAP最后的结果也为0
--show-dir 可能需要先创建文件夹,不知道visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12这个文件夹是否已经存在
新建该文件夹以后,可以保存了。感谢 还有一个问题想请教作者, https://github.com/jbwang1997/OBBDetection/blob/master/docs/oriented_model_starting.md 中写的
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --format-only --options save_dir=${SAVE_DIR}
该命令行的作用,是把split的图片结果合并,并生成txt以提交给测试服务器时使用吗?如果我需要把split图片合并为完整图,并保存可视化检测结果,可以用这行命令吗?
是的,这是对DOTA数据集的优化,可以直接生成用于提交到DOTA测试的.zip文件格式。
如果要可视化全图结果,可以使用BboxToolkit/tools/visualize.py --load_type选择dota_submission, 加载的--img_dir 为原始的DOTA图像目录,--ann_dir 选择{SAVE_DIR}。具体的用法可以参考这里
好的,非常感谢,我尝试一下
当我使用
CUDA_VISIBLE_DEVICES=1 python tools/test.py \ configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py \ work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth \ --eval mAP \ --show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
可视化结果正常,但是计算的mAP = 0 :
请问哪里出问题了呢
这里DOTA test数据集没有提供标签,所以ground truth数量为0,mAP最后的结果也为0
因为我刚入门,还有几个问题想请问: (1)我能否理解为,DOTA数据集中:training set 和validation set 有label, test set 没有label?在训练阶段,使用training set 和validation set 一起做训练,在test阶段,使用 test set 做测试呢? (2)我如何提交并计算DOTA test数据集的mAP呢? https://github.com/jbwang1997/OBBDetection/tree/master/configs/obb/oriented_rcnn 这里面的mAP是在什么数据集计算?也是上传到服务器计算得到的吗?是上传txt 还是pkl文件进行计算呢? (3)您论文里的Table 1: Recall results on the DOTA validation set.是如何得到的啊 (4)训练完一个模型以后,我能否在本地就得到一些评价指标,以及时知道训练模型是否work,而不用上传服务器才知道呢?能否在DOTA validation set,本地计算相关的评价指标呢?
希望能得到您的指点
当我使用
CUDA_VISIBLE_DEVICES=1 python tools/test.py \ configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py \ work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth \ --eval mAP \ --show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
可视化结果正常,但是计算的mAP = 0 :
请问哪里出问题了呢
这里DOTA test数据集没有提供标签,所以ground truth数量为0,mAP最后的结果也为0
因为我刚入门,还有几个问题想请问: (1)我能否理解为,DOTA数据集中:training set 和validation set 有label, test set 没有label?在训练阶段,使用training set 和validation set 一起做训练,在test阶段,使用 test set 做测试呢? (2)我如何提交并计算DOTA test数据集的mAP呢? https://github.com/jbwang1997/OBBDetection/tree/master/configs/obb/oriented_rcnn 这里面的mAP是在什么数据集计算?也是上传到服务器计算得到的吗?是上传txt 还是pkl文件进行计算呢? (3)您论文里的Table 1: Recall results on the DOTA validation set.是如何得到的啊 (4)训练完一个模型以后,我能否在本地就得到一些评价指标,以及时知道训练模型是否work,而不用上传服务器才知道呢?能否在DOTA validation set,本地计算相关的评价指标呢?
希望能得到您的指点
当我使用
CUDA_VISIBLE_DEVICES=1 python tools/test.py \ configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py \ work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth \ --eval mAP \ --show-dir visual_results/faster_rcnn_orpn_r50_fpn_1x_dota10_epoch_12
可视化结果正常,但是计算的mAP = 0 :
请问哪里出问题了呢
这里DOTA test数据集没有提供标签,所以ground truth数量为0,mAP最后的结果也为0
因为我刚入门,还有几个问题想请问: (1)我能否理解为,DOTA数据集中:training set 和validation set 有label, test set 没有label?在训练阶段,使用training set 和validation set 一起做训练,在test阶段,使用 test set 做测试呢? (2)我如何提交并计算DOTA test数据集的mAP呢? https://github.com/jbwang1997/OBBDetection/tree/master/configs/obb/oriented_rcnn 这里面的mAP是在什么数据集计算?也是上传到服务器计算得到的吗?是上传txt 还是pkl文件进行计算呢? (3)您论文里的Table 1: Recall results on the DOTA validation set.是如何得到的啊 (4)训练完一个模型以后,我能否在本地就得到一些评价指标,以及时知道训练模型是否work,而不用上传服务器才知道呢?能否在DOTA validation set,本地计算相关的评价指标呢? 希望能得到您的指点
讲解的太全面了,非常感谢!给您点赞
作者,您好。 我想要快速比较模型是否有效果,因此当我把
configs\obb\_base_\datasets\dota.py
disable evluation, only need train and test uncomments it when use trainval as train注释,并使用does evaluation while training uncomments it when you need evaluate every epoch。即:
开始测试后(tools/test.py),会报错:
但是我使用BboxToolkit/tools/img_split.py切割以后,得到的split_ss_dota1_0文件夹中只有:
请问该如何修改呢?谢谢
这里需要把val数据集也切割一下。在split_config中应该有val数据集的分割config,是这个
这里需要把val数据集也切割一下。在split_config中应该有val数据集的分割config,是这个
可以了,感谢! 但是在validation set 做测试,使用--eval recall 以后,会报以下错误:
请问问题出在哪里呢
--eval recall是RPN的评价指标,需要使用orpn_*.py的模型
--eval recall是RPN的评价指标,需要使用orpn_*.py的模型
您好,当我输入一下代码以后:
CUDA_VISIBLE_DEVICES=0 python tools/test.py \
configs/obb/oriented_rcnn/orpn_r50_fpn_1x_dota10.py \
work_dirs/faster_rcnn_orpn_r50_fpn_1x_dota10/epoch_12.pth
--eval recall
没有显示recall的值,请问在哪里查看呢
recall的计算时间会比较长一些
@jbwang1997 请问在您的test.py中,只能实现batchsize为1的吗? 如果要多batchsize的话,应该如何改呢?
1.我把samples_per_gpu=1改为samples_per_gpu=10 2.去掉base中的 assert samples_per_gpu == 1
不过好像还是不太行,还有哪里需要改呢?
现在在一个GPU上test只能batchsize为1,如果要改成多batch需要修改模型的后处理方式,比较复杂。
尊敬的作者,您好! 我在https://github.com/jbwang1997/OBBDetection/blob/master/tools/test.py 看到您标注为TODO,请问什么时候可以完善这个功能呢,谢谢!