美文网首页
py-faster-rcnn---demo.py

py-faster-rcnn---demo.py

作者: 小松qxs | 来源:发表于2018-11-10 17:38 被阅读0次

    ./tool/demo.py

    可传入参数 --gpu --cpu --net(vgg16 or zf)
    cfg.TEST.HAS_RPN = True Use RPN for proposals
    prototxt : ./models/pascal_voc/下
    caffemodel :./data/faster_rcnn_models/下


    demo.py文件的主流是黄色箭头、def vis_detections( ) 是紫色箭头、def demo( ) 是浅蓝色箭头、def parse_args() 是红棕色箭头。
    其中:scores代表分数;boxes代表目标框对角两个点四个坐标值;dets代表各个框坐标和分数组成的矩阵、inds超过阈值符合要求的窗口对应的下标。

    demo函数:

    对测试图片提取预选框,并进行非极大值抑制,然后调用def vis_detections 画矩形框。参数:net 测试时使用的网络结构;image_name:图片名称。

    scores, boxes = im_detect(net, im): test.py中im_detect,得到网络预测的scores, boxes
    CONF_THRESH = 0.8: score 阈值,最后画出候选框时需要,>thresh才会被画出
    NMS_THRESH = 0.3: 非极大值抑制的阈值,剔除重复候选框
    vis_detections模块: 画出测试图片的bounding boxes, 参数im为测试图片; class_name 为类别名称,在前面定义的 CLASSES 中; dets为非极大值抑制后的bbox和score的数组;thresh是最后score的阈值,高于该阈值的候选框才会被画出来。

    im_detect(net, im, boxes=None)函数(./lib/fast_rcnn/test.py)

    1、blobs, im_scales = _get_blobs(im, boxes): blobs中data存输入图resize之后的图,im_scales = float(target_size) / float(im_size_min) or float(cfg.TEST.MAX_SIZE) / float(im_size_max) 600 1000
    2、im_blob = blobs['data'],blobs['im_info'] = [M, N, imscale] (resize之后的图像是M*N)
    3、network forward
    4、boxes = rois[:, 1:5] / im_scales[0] : boxes针对原始图像坐标(P*Q)
    5、scores = blobs_out['cls_prob']
    6、pred_boxes: boxes针对bounding-box regression deltas的修改

    相关文章

      网友评论

          本文标题:py-faster-rcnn---demo.py

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