From 40bec821b29bcf9b900e6a34dddf15befb54b1eb Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Tue, 10 Dec 2019 18:18:58 +0300 Subject: [PATCH 1/3] Updated doc --- CONTRIBUTING.md | 41 ++++++++++++++++++++++++++--------------- cvat-ui/.env | 0 cvat-ui/package.json | 2 +- 3 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 cvat-ui/.env diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea7c4a63..f6695930 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,20 +18,21 @@ Next steps should work on clear Ubuntu 18.04. $ sudo apt-get install -y curl redis-server python3-dev python3-pip python3-venv libldap2-dev libsasl2-dev ``` -- Install [Visual Studio Code](https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions) for development +- Install [Visual Studio Code](https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions) +for development -- Install CVAT on your local host: +- Install CVAT on your local host: ```sh -$ git clone https://github.com/opencv/cvat -$ cd cvat && mkdir logs keys -$ python3 -m venv .env -$ . .env/bin/activate -$ pip install -U pip wheel -$ pip install -r cvat/requirements/development.txt -$ pip install -r datumaro/requirements.txt -$ python manage.py migrate -$ python manage.py collectstatic +git clone https://github.com/opencv/cvat +cd cvat && mkdir logs keys +python3 -m venv .env +. .env/bin/activate +pip install -U pip wheel +pip install -r cvat/requirements/development.txt +pip install -r datumaro/requirements.txt +python manage.py migrate +python manage.py collectstatic ``` - Create a super user for CVAT: @@ -44,17 +45,27 @@ Password: *** Password (again): *** ``` +- Install UI packages and start UI debug server: +```sh +cd cvat-core && npm install +cd ../cvat-ui && npm install +npm run start +``` + - Run Visual Studio Code from the virtual environment -``` +```sh $ code . ``` -- Inside Visual Studio Code install [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) and [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) extensions +- Inside Visual Studio Code install [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) and [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) extensions + +- Reload Visual Studio Code -- Reload Visual Studio Code +- Select `server: debug` configuration and start it (F5) to run REST server and its workers -- Select `server: debug` configuration and start debugging (F5) +- Select `cvat-ui: chrome` configuration and start it (F5) to run UI server +(this server restarts automatically after any changes in the source code) You have done! Now it is possible to insert breakpoints and debug server and client of the tool. diff --git a/cvat-ui/.env b/cvat-ui/.env new file mode 100644 index 00000000..e69de29b diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 59b3196f..d8b4944c 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -5,7 +5,7 @@ "main": "src/index.tsx", "scripts": { "build": "webpack --config ./webpack.config.js", - "server": "nodemon --watch config --exec 'webpack-dev-server --config ./webpack.config.js --mode=development --open'" + "server": "nodemon --watch config --exec 'webpack-dev-server --config ./webpack.config.js --mode=development'" }, "author": "Intel", "license": "MIT", From 13f6435cb68c88b5696b8c1ca1b8145e9d5b3159 Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Tue, 10 Dec 2019 18:34:25 +0300 Subject: [PATCH 2/3] Updated contributing --- CONTRIBUTING.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f6695930..90c57795 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,7 +55,7 @@ npm run start - Run Visual Studio Code from the virtual environment ```sh -$ code . + code . ``` - Inside Visual Studio Code install [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) and [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) extensions @@ -64,9 +64,6 @@ $ code . - Select `server: debug` configuration and start it (F5) to run REST server and its workers -- Select `cvat-ui: chrome` configuration and start it (F5) to run UI server -(this server restarts automatically after any changes in the source code) - You have done! Now it is possible to insert breakpoints and debug server and client of the tool. ## JavaScript coding style From fa8fd166b1946fe209c127d50ef39c6106e45dae Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Tue, 10 Dec 2019 19:19:13 +0300 Subject: [PATCH 3/3] Updated contributing --- CONTRIBUTING.md | 70 ++++++++++++++++++++++++++++++++++++++++++- cvat/settings/base.py | 2 +- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 90c57795..41e8188f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,7 +66,75 @@ npm run start You have done! Now it is possible to insert breakpoints and debug server and client of the tool. -## JavaScript coding style +## How to setup additional components in development environment + +### Automatic annotation +- Install OpenVINO on your host machine according to instructions from +[OpenVINO website](https://docs.openvinotoolkit.org/latest/index.html) +- Add some environment variables (copy code below to the end of ``.env/bin/activate`` file): +```sh + source /opt/intel/openvino/bin/setupvars.sh + + export OPENVINO_TOOLKIT="yes" + export IE_PLUGINS_PATH="/opt/intel/openvino/deployment_tools/inference_engine/lib/intel64" + export OpenCV_DIR="/usr/local/lib/cmake/opencv4" + export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/intel/openvino/inference_engine/lib/intel64" +``` + +Notice 1: be sure that these paths actually exist. Some of them can differ in different OpenVINO versions. + +Notice 2: you need to deactivate, activate again and restart vs code +to changes in ``.env/bin/activate`` file are active. + +### ReID algorithm +- Perform all steps in the automatic annotation section +- Download ReID model and save it somewhere: +```sh + wget https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.xml -O reid.xml + wget https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.bin -O reid.bin +``` +- Add next line to ``.env/bin/activate``: +```sh + export REID_MODEL_DIR="/path/to/dir" # dir must contain .xml and .bin files +``` + +### Deep Extreme Cut +- Perform all steps in the automatic annotation section +- Download Deep Extreme Cut model, unpack it, and save somewhere: +```sh +wget https://download.01.org/openvinotoolkit/models_contrib/cvat/dextr_model_v1.zip -O dextr.zip +unzip dextr.zip +``` +- Add next lines to ``.env/bin/activate``: +```sh + export WITH_DEXTR="yes" + export DEXTR_MODEL_DIR="/path/to/dir" # dir must contain .xml and .bin files +``` + +### Tensorflow RCNN +- Download RCNN model, unpack it, and save it somewhere: +```sh +wget -O model.tar.gz http://download.tensorflow.org/models/object_detection/faster_rcnn_inception_resnet_v2_atrous_coco_2018_01_28.tar.gz && \ +tar -xzf model.tar.gz +``` +- Add next lines to ``.env/bin/activate``: +```sh + export TF_ANNOTATION="yes" + export TF_ANNOTATION_MODEL_PATH="/path/to/the/model/graph" # truncate .pb extension +``` + +### Tensorflow Mask RCNN +- Download Mask RCNN model, and save it somewhere: +```sh +wget https://github.com/matterport/Mask_RCNN/releases/download/v2.0/mask_rcnn_coco.h5 +``` +- Add next lines to ``.env/bin/activate``: +```sh + export AUTO_SEGMENTATION="yes" + export AUTO_SEGMENTATION_PATH="/path/to/dir" # dir must contain mask_rcnn_coco.h5 file +``` + +## JavaScript/Typescript coding style We use the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) for JavaScript code with a litle exception - we prefere 4 spaces for indentation of nested blocks and statements. diff --git a/cvat/settings/base.py b/cvat/settings/base.py index b91af63f..961c792f 100644 --- a/cvat/settings/base.py +++ b/cvat/settings/base.py @@ -158,7 +158,7 @@ if 'yes' == os.environ.get('TF_ANNOTATION', 'no'): if 'yes' == os.environ.get('OPENVINO_TOOLKIT', 'no'): INSTALLED_APPS += ['cvat.apps.auto_annotation'] -if 'yes' == os.environ.get('OPENVINO_TOOLKIT', 'no'): +if 'yes' == os.environ.get('OPENVINO_TOOLKIT', 'no') and os.environ.get('REID_MODEL_DIR', ''): INSTALLED_APPS += ['cvat.apps.reid'] if 'yes' == os.environ.get('WITH_DEXTR', 'no'):