Closed jmbuena closed 3 years ago
He intentado ejecutar el script del detector de coches pero me daba todo el rato el siguiente error: Undefined function 'chnsPyramid' for input arguments of type 'struct'. Error in acfDetect>acfDetectImg (line 91) P=chnsPyramid(I,pPyramid);
Error in acfDetect (line 41) if(~multiple), bbs=acfDetectImg(I,detector); else
Error in apply_detector_to_imgs (line 54) bbs = acfDetect(I, badacost_detector);
Error in main (line 98) apply_detector_to_imgs(badacost_detector, …
No he conseguido encontrar el fallo, he revisado la forma en que se leen las imágenes y como se pasan los parámetros pero no consigo detectar el fallo.
Hola Jorge,
Si estás usando el detector de coches entrenado, este tiene que usarse con acfDetectBadacost (el acfDetect sólo toma detectores entrenados con AdaBoost - con acfTrain -).
En la línea 52 de apply_detector_to_imgs.m se hace la selección de un detector AdaBoost (llamando a acfDetect) o uno BAdaCost (llamando a acfDetectBadacost). La selección se hace mirando si es un cellarray o no. Si es un cellarray (varios detectores juntos) se llama a acfDetect y si no lo es a acfDetectBadaCost.
Prueba sencillamente a llamar en cualquier caso a acfDetectBadacost (pasando por el else).
A ver si es eso ... JM
Ya sabemos usar el detector BadaCost en Matlab.
En este caso hay que usar el toolbox de Matlab modificado con BadaCost..
Aquí el script de detección es acfDetectBadacost. Este script llama a:
1) chnsPyramid 2) Llama para cada escala al código C++ para detección en ventana deslizante acfDetectBadacostTrees1.
Un ejemplo para jugar con la detección BAdaCost es el detector de coches.