LMDB详解
部分LMDB文件截图
-
numSample是标注的所有人的数目:numSample = len(data) #genLMDB.py line:41
其中data是COCO.json文件中[root]里的数据
- 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(即表示为属于验证集的一部分)
- dataset/COCO/images/train2014/COCO_train2014_000000000113.jpg
data[15]不是验证集
- dataset/COCO/images/mask2014/train2014_mask_miss_000000000113.png
读取对应的mask_miss图像 - type(img), img.shape
<type 'numpy.ndarray'> (640, 416, 3) 输出image的类型和shape - type(meta_data), meta_data.shape
<type 'numpy.ndarray'> (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'])