@ -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
$ 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
```sh
$ git clone https://github.com/opencv/cvat
git clone https://github.com/opencv/cvat
$ cd cvat & & mkdir logs keys
cd cvat & & mkdir logs keys
$ python3 -m venv .env
python3 -m venv .env
$ . .env/bin/activate
. .env/bin/activate
$ pip install -U pip wheel
pip install -U pip wheel
$ pip install -r cvat/requirements/development.txt
pip install -r cvat/requirements/development.txt
$ pip install -r datumaro/requirements.txt
pip install -r datumaro/requirements.txt
$ python manage.py migrate
python manage.py migrate
$ python manage.py collectstatic
python manage.py collectstatic
```
```
- Create a super user for CVAT:
- Create a super user for CVAT:
@ -44,21 +45,96 @@ Password: ***
Password (again): ** *
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
- 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
- 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 debugging (F5)
- Select `server: debug` configuration and start it (F5) to run REST server and its workers
You have done! Now it is possible to insert breakpoints and debug server and client of the tool.
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
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.
litle exception - we prefere 4 spaces for indentation of nested blocks and statements.