以垃圾分类为例,这里可分为4大类(厨余垃圾、可回收垃圾、其他垃圾和有害垃圾),也可分为40小类垃圾(具体如下)
json文件中的信息
文件中是一个字典,key为数字类别num_classes,value为真实类别truth_classes
目的
40小类
我们需要读取json文件,获取两个列表。
一个是数字类别num_classes
//num_classes
num_classes=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]
另一个是真实类别truth_classes
// truth_classes
truth_classes = ['一次性快餐盒', '污损塑料', '烟蒂', '牙签', '破碎花盆及碟碗', '竹筷', '剩饭剩菜', '大骨头', '水果果皮', '水果果肉', '茶叶渣', '菜叶菜根', '蛋壳', '鱼骨', '充电宝', '包', '化妆品瓶', '塑料玩具', '塑料碗盆', '塑料衣架', '快递纸袋', '插头电线', '旧衣服', '易拉罐', '枕头', '毛绒玩具', '洗发水瓶', '玻璃杯', '皮鞋', '砧板', '纸板箱', '调料瓶', '酒瓶', '金属食品罐', '锅', '食用油桶', '饮料瓶', '干电池', '软膏', '过期药物']
注意
1、json文件中的内容是字典形式的
2、将values值提取出来,得到的也是一个字符型的列表,但这不影响,值得提醒的是,我们只需要用到后面具体的小类别的名字,前面大类别的名字不需要。如15:可回收物/包 我们只需要“包”,因此需切片,具体见下方代码
import json
def get_classes(json_path):
num_classes = []
real_classes = []
truth_classes = []
with open(json_path, 'r', encoding='utf8') as file:
dict_label = json.load(file)
for i in dict_label.keys():
num_classes.append(i)
for j in dict_label.values