[CLS 02 · 从类别到区域与掩码](/course/notebooks/f9ab632ba16b4f2084669791cba6ba85.html) # 6. 活动:类别图与实例图怎样不同? · 实现代码 [独立阅读](/course/notebook-blocks/a77753adddda4578b9601eba650283c3.html) 主线阅读与优先实验 同图四输出、共享计算、FCN、RoIAlign、信息碰撞与SAM接口 展开完整实现代码 ``` # 独立 CPU 教学标签网格;不是照片真值或检测模型输出。 instance = [ [0,0,0,0,0,0,0,0], [0,1,1,2,2,0,0,0], [0,1,1,2,2,0,0,0], [0,1,1,2,2,0,0,0], [0,0,0,0,3,3,3,0], [0,0,0,0,3,3,3,0]] class_of = {0:0,1:1,2:1,3:2} # 类别0背景,1杯子,2书 semantic = [[class_of[x] for x in row] for row in instance] boxes = {} for identity in [1,2,3]: coordinates=[(r,c) for r,row in enumerate(instance) for c,x in enumerate(row) if x==identity] rows,cols=zip(*coordinates) boxes[identity]=(min(cols),min(rows),max(cols)+1,max(rows)+1) print('实例图:'); [print(row) for row in instance] print('语义图:'); [print(row) for row in semantic] print('框(x0,y0,x1,y1;右/下边界不含):',boxes) assert semantic[1][2]==semantic[1][3]==1 assert instance[1][2]!=instance[1][3] ```