试验关系可视化

编写不易如果觉得不错,麻烦关注一下~ 

目标,把数据集中的方位标出来,上面是实现效果的样本

from PIL import Image
import pylab
import matplotlib.pyplot as plt
img = Image.open('cat_dog.jpg')
import matplotlib.patches as patches
dog_bbox, cat_bbox = [60, 45, 350, 400], [370, 100, 500, 350]
def bbox_to_rect(bbox, color,img):  # 本函数已保存在d2lzh_pytorch中方便以后使用
    # 将边界框(左上x, 左上y, 右下x, 右下y)格式转换成matplotlib格式:
    # ((左上x, 左上y), 宽, 高)
    #bbox
    width = bbox[2] - bbox[0]
    height = bbox[3] - bbox[1]
    bbox1 = plt.Rectangle(
        xy=(bbox[0], bbox[1]), width=width, height=height,
        fill=False, edgecolor=color, linewidth=2)
    fig = plt.imshow(img);#*width*height
    fig.axes.add_patch(bbox1)
    plt.text(bbox[0],
             bbox[1], s='hello',
             color='white',
             verticalalignment='bottom',
             bbox={'color':'red', 'pad': 0})

bbox_to_rect(dog_bbox, 'red', img)
bbox_to_rect(cat_bbox, 'blue', img)
pylab.show()

原图

下面从train_id 的第一个索引看起。只看第一幅图,就应该知道数据集的位置关系、语义关系的设置(后来发现 train_ids.pkl 程序中并没有采用这个文件,所以大家只当是如何显示框即象限即可,所以所放置的图片不对)

下面就是第一幅图

其数据集中所对应的36个固定框

将上面的36个框稍微修改标注函数,即可得到下面的图片其中编号即为框的排列序号。

看一下之前的一篇文章的方位角类别信息

太密集先放前10个 

看0 索引与其他索引的框之间的类别号是否如截图分区所示。

如果只画框的中心点:

看一下关系类型 :整幅图大部分仍属于稀疏状态。

Here are the 15 relationships used in semantic relationship classifier:
wearing, holding, sitting on, standing on, riding, eating, hanging from, carrying, attached to, walking on, playing, covering, lying on, watching, looking at

部分绘制代码,水平线与垂直线以及两个斜线。构成八象限分区图

    plt.plot(center_x, center_y, 'r*',)
    plt.text(center_x,
             center_y, s=str(i),
             color='white',
             verticalalignment='bottom',
             bbox={'color':'red', 'pad': 0})
    #
    if i == 0:
        plt.axhline(y=center_y, ls="-", c="green")
        plt.axvline(x=center_x, ls="-", c="green")
        plt.plot([center_x, center_x +100], [center_y, center_y+100])
        plt.plot([center_x, center_x - 100], [center_y, center_y + 100])
        plt.plot([center_x, center_x + 300], [center_y, center_y - 300])
        plt.plot([center_x, center_x -300], [center_y, center_y-300])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值