Konfiguration von Pytracking-Serien-Tracking-Algorithmen (LWL-, KYS-, PrDiMP-, DiMP- und ATOM-Tracker) (Ubuntu-Version)

Hinweis: Die Konfigurationsumgebung ist das Ubuntu-System.

Weitere Informationen zur Windows-Versionskonfiguration finden Sie im Blog:

Konfiguration von Pytracking-Serien-Tracking-Algorithmen (LWL-, KYS-, PrDiMP-, DiMP- und ATOM-Tracker) (Windows 10-Version)_Bobo hat einen großen Dream-CSDN-Blog

1. Adresse zum Herunterladen des Papiers:

LWL : Erfahren Sie, was Sie für die Segmentierung von Videoobjekten lernen sollten.[Papier]

KYS : Kennen Sie Ihre Umgebung: Szeneninformationen für die Objektverfolgung nutzen.[Papier]

PrDiMP : Probabilistische Regression für visuelles Tracking.[Papier]

DiMP :Diskriminative Modellvorhersage für das Tracking lernen.[Papier]

ATOM : Genaue Verfolgung durch Überlappungsmaximierung.[Papier]

2. Code-Download:

https://github.com/visionml/pytracking

3. Erstellen Sie eine neue virtuelle Umgebung und aktivieren Sie sie

conda create -n pytracking python=3.7.0
activate pytracking

4. Installieren Sie 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. Installieren Sie abhängige Bibliotheken 1

pip install matplotlib pandas tqdm
pip install opencv-python visdom tb-nightly scikit-image tikzplotlib gdown

6. Installieren Sie abhängige Bibliotheken 2

pip install cython
pip install pycocotools
pip install lvis

7. Installieren Sie Precise ROI-Pooling

1) Ninja-Build installieren

sudo apt-get install ninja-build

Wenn es sich nicht um ein Sudoer-Konto handelt, müssen Sie die folgenden Umgebungsvariablen hinzufügen, um Ninja-Build verwenden zu können

export PATH="/usr/bin:/usr/lib:/usr/share:/usr/share/man:$PATH"

2) Laden Sie die Precise ROI-Pooling-Bibliothek herunter und kopieren Sie sie in den Pfad ltr/external/PreciseRoIPooling/

Download-Adresse: https://github.com/vacancy/PreciseRoIPooling

3)PreciseRoIPooling/src/prroi_pooling_gpu_impl.cu ersetzt PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu

用PreciseRoIPooling/src/prroi_pooling_gpu_impl.cuh Ersetzen SiePreciseRoIPooling/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/

Erklären Sie, warum Sie dies tun sollten: Die beiden Dateien PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cuh und PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu verwenden relative Pfad-Softlinks. Unser Code ist nicht von Git geklont. Für die formale Installation: Der relative Pfad ist ungültig und muss daher kopiert und ersetzt werden. Der Grund, warum Git-Klon nicht verwendet wird, liegt daran, dass der Server häufig nicht auf die Github-Website zugreifen kann.

8. Installieren Sie den Spatial-Correlation-Sampler (für den KYS-Tracker erforderliche Bibliothek).

pip install spatial-correlation-sampler

 9. Installieren Sie jpeg4py

sudo apt-get install libturbojpeg
pip install jpeg4py

10. Laden Sie das vorab trainierte Modell herunter

Laden Sie das vorab trainierte Modell herunter

Download-Link:

https://github.com/visionml/pytracking/blob/master/MODEL_ZOO.md

Baidu Cloud-Download-Adresse:

Link: https://pan.baidu.com/s/12R58DNaRJqHodNcT5YzjUQ
Extraktionscode: wbrq 

Erstellen Sie einen neuen Netzwerkpfad, um das heruntergeladene vorab trainierte Modell zu speichern

11. Konfigurationsdatei generieren

laufen:

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()"

Nach der Ausführung werden zwei Konfigurationsdateien, pytracking/evaluation/local.py und ltr/admin/local.py, generiert, um den Pfad des Vortrainingsmodells und den Pfad des Bewertungsdatensatzes festzulegen.

 12. Laufen

Öffnen Sie ein Terminal und führen Sie den Visualisierungsserver aus

activate pytracking
python -m visdom.server

Sehen Sie sich die Ergebnisse über die Adresse http://localhost:8097/ an .

Öffnen Sie ein anderes Terminal und führen Sie den Code aus

activate pytracking
python pytracking/run_tracker.py atom default --dataset_name otb --sequence Soccer --debug 1 --threads 0

Erklären Sie die Parameter: Atom ist der Name des Trackers, der ausgeführt werden muss.

Standard ist die Parametereinstellung. Unter dem Pfad pytracking/parameter/atom sind viele Parameter verfügbar.

otb ist der Name des Datensatzes, der ausgeführt werden muss

Fußball ist der Name der Videosequenz, die abgespielt werden muss.

Debug steuert die Visualisierungsebene

threadsDie Anzahl der laufenden Threads

13. Es ist ein Fehler aufgetreten (1)

raise Exception('Konnte Datei {}'.format(path)) nicht lesen.
Ausnahme: Datei /data3/publicData/Datasets/OTB/OTB2015/BlurCar1/groundtruth_rect.txt konnte nicht gelesen werden
 

Lösung:

Öffnen Sie pytracking/utils/load_text.py und ändern Sie die Funktion:

def load_text_numpy(path, delimiter, dtype)

Wie folgt:

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. Es ist ein Fehler aufgetreten (2)

subprocess.CalledProcessError: Der Befehl '['ninja', '-v']' hat einen Exit-Status ungleich Null 1 zurückgegeben.

....

RuntimeError: Fehler beim Erstellen der Erweiterung „_prroi_pooling“

Problemursachen:

Der von pip installierte Brenner weist Kompatibilitätsprobleme auf und kann die _prroi_pooling-Bibliothek nicht generieren. Installieren Sie es einfach mit der Conda-Methode im Tutorial.

Lösung:

pip uninstall torch
pip uninstall torchvision
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

15. Führen Sie Schritt 12 erneut aus

Erfolgreich kompiliert

Führen Sie die 12 Schritte erneut aus 

Tracking-Ergebnisse können unter http://localhost:8097/ eingesehen werden.

Guess you like

Origin blog.csdn.net/qq_17783559/article/details/117933369