OpenPose训练过程解析(6)

LMDB详解

部分LMDB文件截图

lmdb.png

  • numSample是标注的所有人的数目:numSample = len(data) #genLMDB.py line:41
    其中data是COCO.json文件中[root]里的数据


    COCO_json.png
  • random_order是对numSample个数的数组进行重排(0-32)
  • totalWriteCount用来统计numSample个数据里要写为LMDB(不是验证集(在COCO.json里有标志位))的个数
totalWriteCount = isValidationArray.count(0.0);     #count用来统计字符串里某个字符出现的次数
  • 0/28 skipped 1/22 skipped 2/21 skipped

根据random_order中的数组排列,data[28] data[22] data[21]中的['isValidation']标志位都不是0(即表示为属于验证集的一部分)


COCO_json.data[28].png
  • dataset/COCO/images/train2014/COCO_train2014_000000000113.jpg

data[15]不是验证集


COCO_json.data[15].png
  • dataset/COCO/images/mask2014/train2014_mask_miss_000000000113.png
    读取对应的mask_miss图像
  • type(img), img.shape
    (640, 416, 3) 输出image的类型和shape
  • type(meta_data), meta_data.shape
    (640, 416, 1) 输出meta_data的类型和shape
meta_data = np.zeros(shape=(height,width,1), dtype=np.uint8)    #维度为[height width 1],8位整形
  • height_binary 输出图像高度的二进制表示
height_binary = float2bytes(data[idx]['img_height'])

你可能感兴趣的:(OpenPose训练过程解析(6))