2013-12-23 5 views
0

Я обнаруживаю автомобиль с видео/камеры, он отлично работает для обнаружения автомобиля с видео/камеры, но если предполагается, что видео 6 секунд содержат 2 автомобиля, и каждое транспортное средство содержит 2 секунды в видеоролике, он извлекает 35+ кадров для одного автомобиля и в том же корпусе для другого автомобиля, простыми словами он извлекает все кадры из видео, содержащего транспортные средства, но мое требование состоит в том, чтобы извлечь только один кадр одного транспортного средства, как если бы 6 сек видео содержали 2 транспортные средства, чем я должен извлечь 2 рамы, которые содержат весь автомобиль, и игнорировать все остальные рамы. Я уже реализовал на ней энтропийную технику, которая делает ее лучше, но все же я получаю слишком много кадров одного и того же автомобиля. Я хочу знать технику, в которой я могу извлечь единственную раму, которая содержит весь автомобиль, и игнорировать все другие рамы, которые содержат это транспортное средство (тот же самый автомобиль)Как выбрать один конкретный кадр

ответ

0

Предполагая, что вы не только получите результат двоичной детекции ("там это автомобиль «), но и какая-то пространственная информация (« есть автомобиль, а его ограничивающий ящик ... »), то вы можете просто сохранить рамку, которая показывает больше всего.

Что-то вроде этого

best_frame = None 
best_frame_score = 0.0 
for frame in video: 
    has_car, score = detect_car(frame) 
    if has_car and score > best_frame_score: 
     best_frame = frame 
     best_frame_score = score 

Это предполагает, что функция detect_car возвращает двоичный результат обнаружения и некоторые счет. Оценка может быть, например, размером ограничительной рамки.

+0

Я не использую технику с ограничивающей коробкой, я использую серфинг с приближением svm – AHF

+0

Тогда вам, конечно, нужно будет вычислить свою оценку другим способом. –

+0

для этого я использую энтропию – AHF

Смежные вопросы