コード例 #1
0
    totalResultsFile.write("\npre nms:" + str(cfg.TEST.RPN_PRE_NMS_TOP_N))
    totalResultsFile.write("\npost nms:" + str(cfg.TEST.RPN_POST_NMS_TOP_N))
    totalResultsFile.write("\ntest lists:" + readlists)
    for model_idx in xrange(iterStart, iterEnd, iterStep):
        caffemodel = modelprefix + str(model_idx) + "0000.caffemodel"
        writeFile = open(
            toTxtDir + "/ret_" + caffemodel.split('.')[0] + ".txt", "w")
        net = caffe.Net(prototxt, modelPath + caffemodel, caffe.TEST)
        numFrame = 0
        n_pos_gt = 0
        n_pos_re = 0
        n_pos_tp = 0
        for filename in filelists:
            picName = filename.strip().split(' ')[0].split('.')[0] + '.jpg'
            nhand_gt, handcls_gt, box_gt = get_gt_from_xml(
                from_xml_path + filename.strip().split(' ')[0].split('.')[0] +
                '.xml')

            n_pos_gt += nhand_gt
            frame = cv2.imread(from_img_path + picName)
            numFrame += 1
            handcls, handbox, handscore = demo(net, frame)
            nhand = handbox.shape[0]
            n_pos_re += nhand
            nTP = 0
            if nhand > 0:
                writeFile.write(picName + ' ' + str(nhand))
                for i in xrange(0, nhand):
                    writeFile.write(' hand %d %d %d %d' %
                                    (handbox[i][0], handbox[i][1],
                                     handbox[i][2], handbox[i][3]))
コード例 #2
0
if __name__ == '__main__':
    speical_config()
    filelists = readFile.readlines()
    writeFile = open(to_xml_path+"../neg_"+ caffemodel.split('.')[-2].split('/')[-1]+".txt", "w")
    net = caffe.Net(prototxt, model_path+caffemodel, caffe.TEST)
    # print '\n\nLoaded network: {:s}'.format(caffemodel)
    numFrame = 0
    n_hand_gt = 0
    n_false_null = 0
    n_false_neg = 0
    handcls_gt = np.array([], dtype = int)
    box_gt = np.array([], dtype = int)
    for line in filelists:
        fileame = line.strip().split(' ')[0].split('.')[0]
        xml_path = from_xml_path + fileame+ '.xml'
        n_hand_gt, handcls_gt, box_gt = get_gt_from_xml( from_xml_path + fileame+ '.xml' )
        frame = cv2.imread(from_img_path+fileame+'.jpg')
        copyframe = frame.copy()
        numFrame+=1
        handcls, handbox, handscore = demo(net, frame, CONF_THRESH, NMS_THRESH)
        nhand = handbox.shape[0]
        nTP = 0
        if nhand > 0:
            for i in xrange(0, nhand):
                writeFile.write(' hand %d %d %d %d'%(handbox[i][0],handbox[i][1],handbox[i][2],handbox[i][3]))
                if (IOU_multi(handbox[i], box_gt) > iouN):
                    n_false_neg += 1
                else:
                    for gt_idx in xrange(box_gt.shape[0]):
                        print box_gt[gt_idx]
                        cv2.rectangle(frame, (box_gt[gt_idx][0], box_gt[gt_idx][1]), (box_gt[gt_idx][2], box_gt[gt_idx][3]), (255, 0, 0), 4)