我想在UCF_CC_50数据集上训练CSRNet模型,该数据集的图像总数为50.并面临这样的问题



我想在UCF_CC_50数据集上训练CSRNet模型,但出现了这个问题

KeyError  Traceback (most recent call last)    <ipython-input-11-78e054690de5> in <module>  
4     img= plt.imread(img_path)
5     k = np.zeros((img.shape[0],img.shape[1]))
***----> 6     gt = mat["image_info"][0,0][0,0][0]***
7     for i in range(0,len(gt)):
8         if int(gt[i][1])<img.shape[0] and int(gt[i][0])<img.shape[1]:
**KeyError: 'image_info'**
件路径为

C:\Users\Gigabyte pc\Desktop\COUNTING\CSRNet pytorch master\UCF_CC_50\part_A_final/train_data\images\IMG_1.jpg

您正在读取与图像'...IMG_1.jpg'相对应的matfile'...ground_truthGT_IMG_1.mat'。在处理此数据点时,尝试访问存储在读取的matfile中的变量'image_info'。正如您收到的错误消息所示:

KeyError:'image_info'

matfile不包含此变量'image_info'

要进行调试,请读取matfile并查看存储在其中的变量的名称。请注意,命名它们是区分大小写的。

您的代码不符合您试图读取的注释文件的结构。UCF-50中的注释CC数据集可以简单地通过获得关键字"的值来读取;anPoints";。

您可以对代码进行以下更改,以读取逐点人头注释的x和y坐标:

4 img= plt.imread(img_path)
5 k = np.zeros((img.shape[0],img.shape[1]))
6 gt = mat["annPoints"]
7 for i in range(0,len(gt)):

最新更新