Nota: El entorno de configuración es el sistema Ubuntu.
Consulte el blog para conocer la configuración de la versión de Windows:
1. Dirección de descarga del artículo:
LWL : Aprender qué aprender para la segmentación de objetos de vídeo. [artículo]
KYS : Conozca su entorno: Explotación de la información de la escena para el seguimiento de objetos.[artículo]
PrDiMP : regresión probabilística para seguimiento visual.[artículo]
DiMP : predicción de modelos discriminativos de aprendizaje para seguimiento. [artículo]
ATOM : Seguimiento preciso mediante maximización de superposición. [artículo]
2. Descarga de código:
https://github.com/visionml/pytracking
3. Crea un nuevo entorno virtual y actívalo.
conda create -n pytracking python=3.7.0
activate pytracking
4. Instale pytorch
pip install torch===1.4.0 -f https://download.pytorch.org/whl/torch_stable.html
pip install torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html
5. Instalar bibliotecas dependientes 1
pip install matplotlib pandas tqdm
pip install opencv-python visdom tb-nightly scikit-image tikzplotlib gdown
6. Instalar bibliotecas dependientes 2
pip install cython
pip install pycocotools
pip install lvis
7. Instale una agrupación de ROI precisa
1) Instalar ninja-build
sudo apt-get install ninja-build
Si no es una cuenta sudoer, debe agregar las siguientes variables de entorno para usar ninja-build
export PATH="/usr/bin:/usr/lib:/usr/share:/usr/share/man:$PATH"
2) Descargue la biblioteca de agrupación de Precise ROI y cópiela en la ruta ltr/external/PreciseRoIPooling/
Dirección de descarga: https://github.com/vacancy/PreciseRoIPooling
3)用PreciseRoIPooling/src/prroi_pooling_gpu_impl.cu Reemplace PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu
用PreciseRoIPooling/src/prroi_pooling_gpu_impl.cuh ReemplazarPreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cuh
cp projectdir/pytracking-master/ltr/external/PreciseRoIPooling/src/prroi_pooling_gpu_impl.cu* projectdir/pytracking-master/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/
Explique por qué necesita hacer esto: Los dos archivos PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cuh y PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu utilizan enlaces suaves de ruta relativa. Nuestro código no está clonado por git. Para instalación formal , la ruta relativa no es válida, por lo que es necesario copiarla y reemplazarla. En cuanto a por qué no se utiliza git clone, es porque el servidor a menudo no puede acceder al sitio web de github.
8. Instale el muestreador de correlación espacial (biblioteca requerida por el rastreador KYS)
pip install spatial-correlation-sampler
9. Instale jpeg4py
sudo apt-get install libturbojpeg
pip install jpeg4py
10. Descargue el modelo previamente entrenado
Descargar modelo previamente entrenado
enlace de descarga:
https://github.com/visionml/pytracking/blob/master/MODEL_ZOO.md
Dirección de descarga de Baidu Cloud:
Enlace: https://pan.baidu.com/s/12R58DNaRJqHodNcT5YzjUQ
Código de extracción: wbrq
Cree una nueva ruta de red para guardar el modelo previamente entrenado descargado
11. Generar archivo de configuración
correr:
python -c "from pytracking.evaluation.environment import create_default_local_file; create_default_local_file()"
python -c "from ltr.admin.environment import create_default_local_file; create_default_local_file()"
Después de la ejecución, se generarán dos archivos de configuración, pytracking/evaluación/local.py y ltr/admin/local.py, para establecer la ruta del modelo previo al entrenamiento y la ruta del conjunto de datos de evaluación.
12. correr
Abra una terminal y ejecute el servidor de visualización.
activate pytracking
python -m visdom.server
Vea los resultados a través de la dirección http://localhost:8097/ .
Abra otra terminal y ejecute el código.
activate pytracking
python pytracking/run_tracker.py atom default --dataset_name otb --sequence Soccer --debug 1 --threads 0
Explique los parámetros: atom es el nombre del rastreador que debe ejecutarse.
El valor predeterminado es la configuración del parámetro. Hay muchos parámetros disponibles en la ruta pytracking/parameter/atom.
otb es el nombre del conjunto de datos que debe ejecutarse
Fútbol es el nombre de la secuencia de video que se debe ejecutar.
nivel de visualización de controles de depuración
threadsEl número de hilos en ejecución
13. Encontré un error (1)
plantear excepción ('No se pudo leer el archivo {}'.format(ruta))
Excepción: No se pudo leer el archivo /data3/publicData/Datasets/OTB/OTB2015/BlurCar1/groundtruth_rect.txt
Solución:
Abra pytracking/utils/load_text.py y cambie la función:
def load_text_numpy(path, delimiter, dtype)
Como sigue:
def load_text_numpy(path, delimiter, dtype):
if isinstance(delimiter, (tuple, list)):
for d in delimiter:
try:
# ground_truth_rect = np.loadtxt(path, delimiter=d, dtype=dtype)
# to deal with different delimeters
import io
with open(path,'r') as f:
ground_truth_rect=np.loadtxt(io.StringIO(f.read().replace(',',' ')))
return ground_truth_rect
except:
pass
raise Exception('Could not read file {}'.format(path))
else:
ground_truth_rect = np.loadtxt(path, delimiter=delimiter, dtype=dtype)
return ground_truth_rect
14. Encontré un error (2)
subprocess.CalledProcessError: El comando '['ninja', '-v']' devolvió un estado de salida 1 distinto de cero.
....
RuntimeError: Error al crear la extensión '_prroi_pooling'
causas del problema:
La antorcha instalada por pip tiene problemas de compatibilidad y no puede generar la biblioteca _prroi_pooling. Simplemente instálelo usando el método conda en el tutorial.
Solución:
pip uninstall torch
pip uninstall torchvision
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
15. Ejecute el paso 12 nuevamente
Compilado exitosamente
Ejecute los 12 pasos nuevamente
Los resultados del seguimiento se pueden ver en http://localhost:8097/