Ein Memorandum darüber, wie OpenVino in Situationen gut funktioniert, in denen Pyenv Pipenv auch unter macOS Catalina verwendet. Dies ist eine Fortsetzung von "OpenVino unter macOS Catalina ausführen". Wenn Sie keine virtuelle Umgebung verwenden oder eine Umgebung gut erstellen können, lesen Sie dies bitte. Dies ist eine Auffrischung des Inhalts für Anfänger, die die oben genannte Umgebung verwenden.
macOS Catalina(10.15.4) OpenVino(2020.2.117) Python 3.7.5 cmake 3.17.1
Wenn Sie OpenVino installieren und dem Tutorial folgen, übergeben Sie den Pfad zu opencv und verwenden pip ohne Erlaubnis. Wenn Sie also unachtsam pyenv oder pipenv verwenden, ist dies bedeutungslos. Schauen Sie sich zuerst die Quelle an, nicht wie gesagt. Es ist ein wenig ärgerlich, aber wenn Sie das Rätsel $ source /opt/intel/openvino/bin/setupvars.sh nicht in .bash_profile usw. schreiben und es jedes Mal ausführen, wenn Sie das Terminal starten, kann es zu Konflikten mit anderen Entwicklungsumgebungen kommen. Es wird niedriger sein.
Laden Sie dmg für macOS von [hier] herunter (https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/choose-download/mac.html) und entpacken Sie es. Lauf. Normalerweise als Root-Benutzer installieren. Wenn Sie fertig sind, werden Sie zu einer Webseite weitergeleitet, aber führen Sie die Tutorial-Demo hier noch nicht aus!
Erstellen Sie ein Projektverzeichnis und legen Sie pyenv und pipenv fest. Die empfohlene Version von Python für OpenVino ist 3.7.5. Installieren Sie daher 3.7.5 für pyenv.
$ pyenv install 3.7.5
$ mkdir ~/Documents/openvino-projects
$ cd ~/Documents/openvino-projects
$ source /opt/intel/openvino/bin/setupvars.sh
[setupvars.sh] OpenVINO environment initialized
Wir haben eine Tutorial-Demo und einige Bibliotheken zusammengestellt, die in anderen Demos verwendet werden. Platzieren Sie den folgenden Inhalt mit dem Namen Pipfile im Projektverzeichnis (hier ~ / Documents / openvino-projects).
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
tensorflow = "<2.0.0,>=1.2.0"
mxnet = ">=1.0.0,<=1.5.1"
networkx = ">=1.11"
numpy = ">=1.12.0"
protobuf = "==3.6.1"
onnx = ">=1.1.2"
defusedxml = ">=0.5.0"
pyyaml = "*"
requests = "*"
scipy = "*"
[requires]
python_version = "3.7"
Erstellen Sie eine virtuelle Umgebung und betreten Sie die Shell.
$ cd ~/Documents/openvino-projects
$ pyenv local 3.7.5
$ pipenv --python 3.7.5
........Abkürzung
$ pipenv install
#Hier abschließen..Wenn es nicht für immer endet, ist es unvermeidlich (obwohl ich es nicht sehr empfehlen kann), also nach gewaltsamer Beendigung,
pipenv install --skip-Lass uns sperren.
........Abkürzung
$ pipenv shell
In der Tutorial-Demo auf der Webseite, die nach der Installation angezeigt wird, wird nur ein Skript ausgeführt, das das Modell herunterlädt, transformiert und sogar ausführt. Dies erledigt jedoch einige zusätzliche Arbeiten, sodass ich es ein wenig beheben werde.
$ cd /opt/intel/openvino/deployment_tools/demo/
$ sudo cp ./demo_squeezenet_download_convert_run.sh ./demo_squeezenet_download_convert_run2.sh
Kommentieren Sie die Zeilen 146-150 von demo_squeezenet_download_convert_run2.sh aus und speichern Sie (erfordert Root-Rechte).
demo_squeezenet_download_convert_run2.sh
#if [[ "$OSTYPE" == "darwin"* ]]; then
# $pip_binary install -r $ROOT_DIR/../open_model_zoo/tools/downloader/requirements.in
#else
# sudo -E $pip_binary install -r $ROOT_DIR/../open_model_zoo/tools/downloader/requirements.in
#fi
Lauf.
$ ./demo_squeezenet_download_convert_run2.sh
........Abkürzung
$ ./demo_security_barrier_camera.sh
........Abkürzung
Wenn es keinen Fehler gibt und das Ergebnis so etwas wie [WEB-Seite] ist (https://docs.openvinotoolkit.org/2020.2/_docs_install_guides_installing_openvino_macos.html#set-the-environment-variables)
Speichern Sie den folgenden Inhalt in Ihrem Projektverzeichnis als update_rpath.sh.
update_rpath.sh
install_name_tool -add_rpath '/opt/intel/openvino/opencv/lib' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/external/tbb/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine_legacy.dylib
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libMKLDNNPlugin.dylib
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino/python/python3.7/openvino/inference_engine/ie_api.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/external/tbb/lib' /opt/intel/openvino/python/python3.7/openvino/inference_engine/ie_api.so
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine.dylib
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine_legacy.dylib
Führen Sie die obige Datei aus (siehe vorherigen Beitrag (https://qiita.com/y-fuku/items/ed70fac7f65ef73f80f6), um zu erfahren, warum dies durchgeführt wird).
$ cd ~/Documents/openvino-projects
$ chmod 755 ./update_rpath.sh
$ sudo ./update_rpath.sh
Kopieren Sie das Verzeichnis mit den Demo-Dateien in Ihr Projektverzeichnis.
$ cp -r /opt/intel/openvino/deployment_tools/open_model_zoo/demos .
cmake mit der Python-Modul-Option.
$ cd demos
$ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON .
......Abkürzung
Es wird jedoch nicht so kompiliert, wie es ist. Bearbeiten Sie daher CmakeCache.txt (Zeile 34).
CMakeCache.txt
...... weggelassen ...
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=-Wno-inconsistent-missing-override
...... weggelassen ...
machen
$ make -j2
...... weggelassen ...
Die ausführbare Datei wird unter Intel64 / Release erstellt. Lassen Sie uns crossroad_camera_demo ausführen. Schauen Sie sich zunächst die [Erklärungsseite für jedes Beispiel] an (https://docs.openvinotoolkit.org/latest/_demos_README.html).
crossroad_camera_demo ist die Seite hier. Lassen Sie es uns vorerst sorgfältig lesen. Zunächst müssen Sie die erforderlichen Modelldateien herunterladen. Laden Sie das gewünschte Modell wie folgt herunter.
$ cd ~/Documents/openvino-projects
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-vehicle-bike-detection-crossroad-0078
...... weggelassen ...
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-attributes-recognition-crossroad-0230
...... weggelassen ...
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-reidentification-retail-0031
...... weggelassen ...
Das Modell wird unter openvino-projects / intel / heruntergeladen. Crossroad_camera_demo kann eine Videodatei oder Kamera als Eingabe verwenden, eine PC-Kamera eignet sich jedoch nicht zum Fotografieren von Passanten. Verwenden Sie daher eine geeignete Videodatei. Nützliche Ressourcen für die Demo finden Sie hier.
Verwenden wir hier People-Detection.mp4.
$ mkdir sample-videos
# people-detection.Laden Sie mp4 und Probe-Legen Sie es in den Videoordner.
$ ./demos/intel64/Release/crossroad_camera_demo \
-i ./sample-videos/people-detection.mp4 \
-m ./intel/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml \
-m_pa ./intel/person-attributes-recognition-crossroad-0230/FP16/person-attributes-recognition-crossroad-0230.xml \
-m_reid ./intel/person-reidentification-retail-0031/FP16/person-reidentification-retail-0031.xml \
-d CPU -d_pa CPU -d_reid CPU
In dieser Demo werden wir Personen erkennen, Attributinformationen schätzen und mithilfe separater Modelle verfolgen (neu identifizieren).
Demos für Python finden Sie unter demos / python_demos /. Lassen Sie uns eine Demo der Gesichtserkennung ausführen. Klicken Sie hier, um die Erklärungsseite der Gesichtserkennung aufzurufen. Laden Sie in ähnlicher Weise die erforderliche Modelldatei herunter und führen Sie sie aus. Dieses Mal werde ich eine PC-Kamera verwenden. In dieser Demo können Sie die einfache Gesichtserkennungsfunktion mit der Option --run_detector verwenden. Machen Sie ein Foto vom Zielgesicht.
$ cd ~/Documents/openvino-projects
$ mkdir face-data
#Mach ein Foto von dir, mein Name.JPG usw. Gesicht-Legen Sie es in Daten.
#Modell herunterladen (direkt unter dem Projektverzeichnis ausführen)
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name face-detection-retail-0004
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name landmarks-regression-retail-0009
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name face-reidentification-retail-0095
#Führen Sie die Demo aus
$ python3 demos/python_demos/face_recognition_demo/face_recognition_demo.py \
-m_fd ./intel/face-detection-retail-0004/FP16/face-detection-retail-0004.xml \
-m_lm ./intel/landmarks-regression-retail-0009/FP16/landmarks-regression-retail-0009.xml \
-m_reid ./intel/face-reidentification-retail-0095/FP16/face-reidentification-retail-0095.xml \
--verbose --run_detector -fg ./face-data
Wenn Sie es starten, werden Sie aufgefordert, Ihren Namen in das auf einem anderen Bildschirm aufgenommene Gesichtsfoto einzugeben. Geben Sie einen Namen Ihrer Wahl ein. Als nächstes wird ein weiteres Bild (was war ursprünglich enthalten?) Angezeigt. Beantworten Sie dies entsprechend.
Die Kamera startet und erkennt Ihr Bild.
Recommended Posts