美文网首页
行人检测中输出边界框的图片

行人检测中输出边界框的图片

作者: 元水1314 | 来源:发表于2020-11-13 09:06 被阅读0次

    为了了解行人检测中CityPersons数据集中标注信息中对齐框和可见框的区别,
    首先使用

    annos = scio.loadmat(anno_path) 
    

    把标注信息从anno_train.mat中转换成python,然后使用
    'anno = annos[index][0][64]
    print(anno)'
    把aachen_000064_000019_leftImg8bit.png的标注信息输出
    标注信息如下:
    Dataset...
    [[(array(['aachen'], dtype='<U6'), array(['aachen_000064_000019_leftImg8bit.png'], dtype='<U36'), array([[ 1, 1191, 412, 34, 85, 24000, 1195, 413, 27,
    84],
    [ 1, 1207, 408, 38, 92, 24001, 1213, 408, 25,
    92],
    [ 1, 1137, 406, 36, 87, 24002, 1148, 407, 12,
    86],
    [ 1, 1144, 397, 41, 100, 24003, 1151, 398, 32,
    99],
    [ 1, 1118, 408, 35, 84, 24004, 1122, 408, 28,
    84],
    [ 1, 1068, 404, 36, 88, 24005, 1071, 405, 30,
    87],
    [ 1, 692, 424, 17, 40, 24007, 694, 424, 12,
    40],
    [ 1, 679, 427, 15, 36, 24008, 679, 431, 15,
    32],
    [ 1, 924, 416, 27, 66, 24009, 927, 417, 19,
    65],
    [ 2, 221, 350, 78, 189, 25000, 221, 350, 78,
    189],
    [ 0, 19, 395, 36, 38, 0, 19, 395, 36,
    38],
    [ 0, 863, 395, 7, 6, 0, 863, 395, 7,
    6],
    [ 0, 430, 418, 14, 10, 0, 430, 418, 14,
    10],
    [ 0, 635, 423, 13, 12, 0, 635, 423, 13,
    12]], dtype=uint16))]]
    上面的信息每一行代表着:
    [class_label, x1,y1,w,h, instance_id, x1_vis, y1_vis, w_vis, h_vis]
    然后从上面选择一个标注的框,使用下面的代码输出标注信息中的框出行人的图片
    ···
    import cv2
    from google.colab.patches import cv2_imshow
    img1=cv2.imread('./data/citypersons/images/train/aachen/aachen_000064_000019_leftImg8bit.png')
    img2=cv2.rectangle(img1,(1144,397),(1144+41,397+100),(0,255,0),3)

    cv2_imshow(img1)
    ···

    发现可见信息就是框中只包含可见的部分,不包含被遮挡的部分,
    对齐框中的信息就是包括整个行人,包括被遮挡的部分,
    CityPersons数据集中,行人的分类有0,1,2,3,4,5,标注是1和2 的时候,对齐框和可见框不一样,当行人的分类是其它的时候,对齐框和可见框一样

    相关文章

      网友评论

          本文标题:行人检测中输出边界框的图片

          本文链接:https://www.haomeiwen.com/subject/iaxvbktx.html