RDD2022提交官网得到F1-Score的步骤【自己摸索的,不保证对和全面,返回结果是F1-Score: India=nan】

提交地址

RDD2022提交的步骤

1. 进入到官网

2. 注册账号&登陆账号

在这里插入图片描述

创建账户的界面

点击下图按钮后就会显示英文,大概意思是:向你提供的邮箱发送了邮件,需要点击激活

进去邮件点击链接就会跳转到登陆界面了,填写刚刚注册用到的邮箱和密码即可

3. 提交界面

1、进去提交界面
在这里插入图片描述

2、 选择文件,提交

这里有5组实验结果提交入口:

  • 所有国家
  • India
  • Japan
  • Norway
  • United State

在这里插入图片描述

4. 代码,制作符合要求的txt

  • 大概猜测的要求
    • 貌似没看到官方的文字要求,就只能看到官方提交样例IEEE_bigdata_RDD2020/sampleSubmission.txt,但是直接提交的话会有错
    • 要包含某个国家的test的所有图像名,然后是个,,然后跟着预测出来的cls 实际x 实际y 实际w 实际y,如果该图像预测出多个目标狂就依次这样5个数字为一组写在后面,例如Japan_012519.jpg,4 161 534 317 592 3 0 311 160 589 (yolo系列直接检测出来的txt是包含的相对x 相对y 相对w 相对h,所以下面代码还原成了实际x 实际...
    • 不按照这要求的话,就会显示:图片名字不符合,多了或者少了;类别需要不符合,没在区间内等等
  • 本代码制作的txt下载链接:百度网盘链接

在这里插入图片描述

dirpath = r'F:\A_Publicdatasets\RDD2022_released_through_CRDDC2022\RDD2022\India\test\images'   # 官方提供的印度的test图像
detect_dirpath = r'G:\pycharmprojects\yolov7-main\runs\detect\exp2\labels'  # 运行yolov7的detect.py,使用了save-txt参数,但是是保存的以图像名称单独存放的检测效果

filelist = os.listdir(dirpath)
detect_dirlist = os.listdir(detect_dirpath)

with open('caogao1.txt', 'w') as f:
    for file in filelist:
        filetxt = file.replace('jpg', 'txt')
        if filetxt in detect_dirlist:  # 如果在的话,就直接copy文件中的内容!!可能后面还需要处理一下,因为我设置的类别不是从1开始
            with open(os.path.join(detect_dirpath, filetxt), 'r') as ff:
                lines = ff.readlines()
                linetemp = file + ','

                image = cv2.imread(os.path.join(dirpath, file))
                h, w = image.shape[:-1]
                for line in lines:

                    line_list = line[:-1].split(' ')
                    linetemp += str(int(line_list[0]) + 1) + ' '  # cls 类别+1,因为是从1开始标的
                    linetemp += str(int(float(line_list[1]) * w)) + ' ' # x
                    linetemp += str(int(float(line_list[2]) * h)) + ' ' # y
                    linetemp += str(int(float(line_list[3]) * w)) + ' ' # w
                    linetemp += str(int(float(line_list[4]) * h)) + ' ' # h

                f.write(linetemp + '\n')
        else:
            f.write(file + ',\n')

5. 提交后返回的结果

可以只上传一个实验上去,例如我上传India的:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/LWD19981223/article/details/134727386