Пример #1
0
from im_utils import *
import sys
import os

if not len(sys.argv) == 2:
    print('Usage: {} <Video File>'.format(sys.argv[0]))
    exit(1)

video = sys.argv[1]
if not os.path.exists(video):
    print('Error! File {} does not exists'.format(video))
    exit(1)

print('Loading Object Detector...')
detector = ObjectDetector('ssd/saved_model')
detector.loadModel()
#detector.getBoundingBoxes(cv2.imread('amur_small/002019.jpg'))
#detector.getBoundingBoxes(cv2.imread('amur_small/002019.jpg'))

print('Loading Identifiers...')
tigers_identifier = SvmIdentifier('amur-alexnet-relu6-linear-pca.model',
                                  detector)
jaguars_identifier = SvmIdentifier('jaguar-alexnet-fc7-linear-pca.model',
                                   detector)
elephants_identifier = SvmIdentifier('elp-alexnet-fc7-linear-pca.model',
                                     detector)

tigers_identifier.loadModel()
jaguars_identifier.loadModel()
elephants_identifier.loadModel()
Пример #2
0
    minId, maxId = min([x[1] for x in id_map]), max([x[1] for x in id_map])

    idNum = None
    if len(args) > 4:
        idNum = int(args[4])

    rev_map = {}
    for x in id_map:
        if not x[1] in rev_map:
            rev_map[x[1]] = []
        rev_map[x[1]].append(x[0])

    print('Loading Object Detector')
    det = ObjectDetector(objdetmodel)
    det.SCORE_THRESHOLD = 0.7
    det.loadModel()
    # Warming up
    det.getBoundingBoxes(readImageFromFile(os.path.join(folder,
                                                        rev_map[0][0])))
    det.getBoundingBoxes(readImageFromFile(os.path.join(folder,
                                                        rev_map[0][0])))

    print('Loading Object Identifier')
    idn = SvmIdentifier(modelPath, det)
    idn.loadModel()

    if not idNum is None and not idn.isPresent(idNum):
        print(
            'Provided Id {} is not present in trained model, will choose random Id'
        )
        idNum = None
folder = 'amur/detection_train/trainval'
images = ['{}/{}'.format(folder, x) for x in os.listdir(folder)]

imagelist = np.random.choice(images, n, replace=False)

print('Measuring performance over {} images...'.format(len(images)))

config = args[1]
weights = args[2]

#model = YoloObjectDetector(config, weights, '../darknet/darknet/custom_data/detector.data')
#model.loadModel()

model = ObjectDetector(config)
model.loadModel()

print('Warming up...')
#model.getBoundingBoxes(images[0])
#model.getBoundingBoxes(images[1])
model.getBoundingBoxes(cv2.imread(images[0]))
model.getBoundingBoxes(cv2.imread(images[1]))
[cv2.imread(x) for x in imagelist]

print('Starting...')
times = []
for im in imagelist:
    #model.getBoundingBoxes(im)
    img = cv2.imread(im)
    st = time.time()
    model.getBoundingBoxes(img)