我想在 UCF_CC_50 数据集上训练 CSRNet 模型,该数据集的图像总数为 50。并面临类似的问题
I want to train the CSRNet model on UCF_CC_50 dataset which has total number of images 50. and face a problem like
我想在 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'**
----------
enter for img_path in img_paths:
print (img_path)
mat = io.loadmat(img_path.replace('.jpg','.mat').replace('images','ground_truth').replace('IMG_','GT_IMG_'))
img= plt.imread(img_path)
k = np.zeros((img.shape[0],img.shape[1]))
gt = mat["image_info"][0,0][0,0][0]
for i in range(0,len(gt)):
if int(gt[i][1])<img.shape[0] and int(gt[i][0])<img.shape[1]:
k[int(gt[i][1]),int(gt[i][0])]=1
k = gaussian_filter_density(k)
with h5py.File(img_path.replace('.jpg','.h5').replace('images','groundtruth'), 'w') as hf:
hf['density'] = kcode here
---------
文件路径为
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_truth\GT_IMG_1.mat'
。在处理此数据点时,您尝试访问存储在您读取的 matfile 中的变量 'image_info'
。
正如您收到的错误消息所述:
KeyError: 'image_info'
matfile 不包含此变量,'image_info'
。
要调试,请阅读 matfile 并查看存储在其中的变量的名称。请注意,命名它们区分大小写。
您的代码不符合您尝试读取的注释文件的结构。 UCF-50 中的注释
可以通过获取键“annPoints”的值来简单地读取 CC 数据集。
您可以对代码应用以下更改以读取逐点人头注释的 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)):
我想在 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'**
----------
enter for img_path in img_paths:
print (img_path)
mat = io.loadmat(img_path.replace('.jpg','.mat').replace('images','ground_truth').replace('IMG_','GT_IMG_'))
img= plt.imread(img_path)
k = np.zeros((img.shape[0],img.shape[1]))
gt = mat["image_info"][0,0][0,0][0]
for i in range(0,len(gt)):
if int(gt[i][1])<img.shape[0] and int(gt[i][0])<img.shape[1]:
k[int(gt[i][1]),int(gt[i][0])]=1
k = gaussian_filter_density(k)
with h5py.File(img_path.replace('.jpg','.h5').replace('images','groundtruth'), 'w') as hf:
hf['density'] = kcode here
---------
文件路径为
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_truth\GT_IMG_1.mat'
。在处理此数据点时,您尝试访问存储在您读取的 matfile 中的变量 'image_info'
。
正如您收到的错误消息所述:
KeyError: 'image_info'
matfile 不包含此变量,'image_info'
。
要调试,请阅读 matfile 并查看存储在其中的变量的名称。请注意,命名它们区分大小写。
您的代码不符合您尝试读取的注释文件的结构。 UCF-50 中的注释 可以通过获取键“annPoints”的值来简单地读取 CC 数据集。
您可以对代码应用以下更改以读取逐点人头注释的 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)):