Lecture 03 学习讲义
正文
工具
按问题查找
Lecture 036. 活动:类别图与实例图怎样不同? · 实现代码

6. 活动:类别图与实例图怎样不同? · 实现代码

独立阅读

主线阅读与优先实验

同图四输出、共享计算、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]