cnn程序流程图_Mask-rcnn算法流程图
昨天看下Mask-rcnn的keras代码,Github上start最多的那个。由于代码量⽐较多,所以需要梳理下整个流程。今天⽤visio简单绘制下整个数据流程图,⽅便理解整个算法。⾥⾯的知识点还是⽐较多的,所以搞清楚⼀个算法的细节,需要我们认真阅读下源码,并思考为什么这样做。只要能够掌握好细节,我们才可以对算法部分进⾏改进。
注:⿊⾊是第⼀阶段,也就是RPN阶段。红⾊是第⼆阶段,也就是使⽤RPN的输出进⾏分类,框回归以及分割。⾦字塔特征就是
p2,p3,p4,p5,p6。
输⼊张量:
有限公司注册input_image, 输⼊图像 shape(None,h,w,n) 其中h、w必须是2^6=64的倍数
input_image_meta= np.array(
[image_id] + # size=1
list(original_image_shape) + # size=3
list(image_shape) + # size=3
list(window) + # size=4 (y1, x1, y2, x2) in image cooredinates
[scale] + # size=1
日产君爵list(active_class_ids) # size=num_classes
)
input_rpn_match,RPN⽹络的输⼊,取值-1,0,1 shape(None,None,1)
input_rpn_bbox,RPN⽹络的输⼊,输⼊框 shape(None,None,4)
input_gt_class_ids,检测⽹络的输⼊,真实类别 shape(None,None)
input_gt_boxes,检测⽹络的输⼊,真实框 shape(None,None,4) 需要进⾏归⼀化
input_gt_masks,检测⽹络的输⼊,真实掩码 shape(None,mask_h,mask_w,MAX_INSTANCE)
输出张量:
rpn_class_logits,经过RPN⽹络的输出,shape(None,all_h*all_w*ratio_l,2) all_h,all_w是p2p3p4p5p6的特征图⾼和宽之和
rpn_class, 经过RPN玩⽹络的输出 ,shape(None,all_h*all_w*ratio_l,2) ratio_l代表 每个特征图中RPN_ANCHOR_RATIOS的长度rpn_bbox, 经过RPN玩⽹络的输出 ,shape(None,all_h*all_w*ratio_l,4) 4代表dy,dx,log(dh),log(dw)
通讯专业
mrcnn_class_logits,相继经过NMS的ProposalLayer和Align_pooling后送⼊检测⽹络的分类liner
shape(None,TRAIN_ROIS_PER_IMAGE,NUM_CLASS)闽南新娘
mrcnn_class,相继经过NMS的ProposalLayer和Align_pooling后送⼊检测⽹络的分类softmax
shape(None,TRAIN_ROIS_PER_IMAGE,NUM_CLASS)
mrcnn_bbox,相继经过NMS的ProposalLayer和Align_pooling后送⼊检测⽹络的分类坐标dy,dx,log(dh),log(dw)
shape(None,TRAIN_ROIS_PER_IMAGE,4)
10台风mrcnn_mask,相继经过NMS的ProposalLayer和Align_pooling后送⼊掩码⽹络的掩码信息
shape(None,TRAIN_ROIS_PER_IMAGE,mask_h,mask_w,NUM_CLASS)
rpn_rois, 经过RPN⽹络后进⾏NMS的ProposalLayer层,shape(None,proposals_roi_num,(y1,x1,y2,x2))
output_rois, 就是中间变量rois shape(None,TRAIN_ROIS_PER_IMAGE,4)
rpn_class_loss, 由input_rpn_match, rpn_class_logits计算出来的损失
rpn_bbox_loss, 由input_rpn_bbox, input_rpn_match, rpn_bbox计算出来的损失
class_loss, 由target_class_ids, mrcnn_class_logits, active_class_ids计算出来 target_class_ids由input_image_meta得来bbox_loss, 由target_bbox, target_class_ids, mrcnn_bbox计算出来
mask_loss, 由target_mask, target_class_ids, mrcnn_mask计算出来
中间张量:经过DetectionTargetLayer层的结果
rois, shape(None,TRAIN_ROIS_PER_IMAGE,4)
target_class_ids, shape(None,TRAIN_ROIS_PER_IMAGE)
target_bbox, shape(None,TRAIN_ROIS_PER_IMAGE,4) deta
target_mask shape(None,TRAIN_ROIS_PER_IMAGE,mask_h,mask_w)
手抄报红领巾心向党
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论