faster rcnn用自己的数据训练。
数据读入部分matlab代码
VOC数据下有VOCCode文件夹,里面有很多自带的数据读入代码。
在faster rcnn的代码中,第一步是调用VOCinit生成一系列参数。放在结构体VOCopt里面。
这一部分代码在imdb_from_voc.m里面。
然后读imdb数据,就是图片本身。这里用到了VOCopt.imgpath,VOCopt.imgsetpath,VOCopt.classes。
还需要读取image_ids,是个txt文件。
VOCopt在读入roidb的时候还用,就是检测物体位置和类别信息,代码在roidb_from_voc.m里面。
这里用了VOCopt.datadir,annopath。
读入bbox和label用了PASreadrecord.m,也在VOCCode文件夹下。
In rpn training procedure:
roidb is used for function "proposal_prepare_image_roidb" in function "proposal_train". In training procedure, data "image_roidb_train" is the true label, which is calculated with roidb.
In data "image_roidb_train", there were image_path, image_id, im_size, imdb_name, num_class came from imdb, while boxes and class came from roidb, bbox_targets calculated in functoin: proposal_prepare_image_roidb, and image calculated in ??.
In faster rcnn training procedure:
functiong: fast_rcnn_prepare_image_roidb. Data in roidb: overlap, boxes, class.
训练的时候就不用VOCopt了。