Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into dk/user-search
Browse files Browse the repository at this point in the history
  • Loading branch information
ActiveChooN committed Nov 10, 2020
2 parents 237d192 + a916e65 commit 8c22003
Show file tree
Hide file tree
Showing 28 changed files with 470 additions and 88 deletions.
42 changes: 31 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,36 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.2.0] - Unreleased
## [1.2.0-beta] - Unreleased

### Added

-

### Changed

-

### Deprecated

-

### Removed

-

### Fixed

-

### Security

-

## [1.2.0-alpha] - 2020-11-09

### Added

- Removed Z-Order flag from task creation process
- Ability to login into CVAT-UI with token from api/v1/auth/login (<https://github.com/openvinotoolkit/cvat/pull/2234>)
- Added layout grids toggling ('ctrl + alt + Enter')
- Added password reset functionality (<https://github.com/opencv/cvat/pull/2058>)
Expand All @@ -29,6 +54,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Ability to upload prepared meta information along with a video when creating a task (<https://github.com/openvinotoolkit/cvat/pull/2217>)
- Optional chaining plugin for cvat-canvas and cvat-ui (<https://github.com/openvinotoolkit/cvat/pull/2249>)
- MOTS png mask format support (<https://github.com/openvinotoolkit/cvat/pull/2198>)
- Ability to correct upload video with a rotation record in the metadata (<https://github.com/openvinotoolkit/cvat/pull/2218>)
- User search field for assignee fields (<https://github.com/openvinotoolkit/cvat/pull/2370>)

### Changed
Expand All @@ -41,14 +67,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated `docker-compose` file version from `2.3` to `3.3`(<https://github.com/openvinotoolkit/cvat/pull/2235>)
- Added auto inference of url schema from host in CLI, if provided (<https://github.com/openvinotoolkit/cvat/pull/2240>)
- Track frames in skips between annotation is presented in MOT and MOTS formats are marked `outside` (<https://github.com/openvinotoolkit/cvat/pull/2198>)

### Deprecated

-
- UI packages installation with `npm ci` instead of `npm install` (<https://github.com/openvinotoolkit/cvat/pull/2350>)

### Removed

-
- Removed Z-Order flag from task creation process

### Fixed

Expand All @@ -70,10 +93,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Cannot read property 'label' of undefined (Fixed?) (<https://github.com/openvinotoolkit/cvat/pull/2311>)
- Excluded track frames marked `outside` in `CVAT for Images` export (<https://github.com/openvinotoolkit/cvat/pull/2345>)
- 'List of tasks' Kibana visualization (<https://github.com/openvinotoolkit/cvat/pull/2361>)

### Security

-
- An error on exporting not `jpg` or `png` images in TF Detection API format (<https://github.com/openvinotoolkit/datumaro/issues/35>)

## [1.1.0] - 2020-08-31

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ patches and features.
- Install npm packages for UI and start UI debug server (run the following command from CVAT root directory):

```sh
npm install && \
cd cvat-core && npm install && \
cd ../cvat-ui && npm install && npm start
npm ci && \
cd cvat-core && npm ci && \
cd ../cvat-ui && npm ci && npm start
```

> Note for Mac users
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile.ui
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@ RUN npm config set loglevel info

# Install cvat-data dependencies
WORKDIR /tmp/cvat-data/
RUN npm install
RUN npm ci

# Install cvat-core dependencies
WORKDIR /tmp/cvat-core/
RUN npm install
RUN npm ci

# Install cvat-canvas dependencies
WORKDIR /tmp/cvat-canvas/
RUN npm install
RUN npm ci

# Install cvat-ui dependencies
WORKDIR /tmp/cvat-ui/
RUN npm install
RUN npm ci

# Build source code
COPY cvat-data/ /tmp/cvat-data/
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,7 @@ Other ways to ask questions and get our support:
- [Intel AI blog: New Computer Vision Tool Accelerates Annotation of Digital Images and Video](https://www.intel.ai/introducing-cvat)
- [Intel Software: Computer Vision Annotation Tool: A Universal Approach to Data Annotation](https://software.intel.com/en-us/articles/computer-vision-annotation-tool-a-universal-approach-to-data-annotation)
- [VentureBeat: Intel open-sources CVAT, a toolkit for data labeling](https://venturebeat.com/2019/03/05/intel-open-sources-cvat-a-toolkit-for-data-labeling/)

## Projects using CVAT

- [Onepanel](https://github.com/onepanelio/core) - Onepanel is an open source vision AI platform that fully integrates CVAT with scalable data processing and parallelized training pipelines.
2 changes: 1 addition & 1 deletion cvat-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ If you make changes in this package, please do following:
- Dependencies installation

```bash
npm install
npm ci
```

- Building the module from sources in the `dist` directory:
Expand Down
10 changes: 3 additions & 7 deletions cvat-core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cvat-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"axios": "^0.20.0",
"browser-or-node": "^1.2.1",
"cvat-data": "../cvat-data",
"detect-browser": "^5.0.0",
"detect-browser": "^5.2.0",
"error-stack-parser": "^2.0.2",
"form-data": "^2.5.0",
"jest-config": "^24.8.0",
Expand Down
2 changes: 1 addition & 1 deletion cvat-ui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ you also need to do `npm install` to update `package-lock.json`
- Installing dependencies:

```bash
cd ../cvat-core && npm install && cd - && npm install
cd ../cvat-core && npm ci && cd - && npm ci
```

- Running development UI server with autorebuild on change
Expand Down
19 changes: 9 additions & 10 deletions cvat-ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions cvat-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"dependencies": {
"@types/lodash": "^4.14.165",
"@types/platform": "^1.3.3",
"@types/react": "^16.9.51",
"@types/react": "^16.9.53",
"@types/react-color": "^3.0.4",
"@types/react-dom": "^16.9.0",
"@types/react-redux": "^7.1.2",
Expand All @@ -67,10 +67,10 @@
"moment": "^2.29.1",
"platform": "^1.3.6",
"prop-types": "^15.7.2",
"react": "^16.13.1",
"react": "^16.14.0",
"react-color": "^2.18.1",
"react-cookie": "^4.0.3",
"react-dom": "^16.13.1",
"react-dom": "^16.14.0",
"react-hotkeys": "^2.0.0",
"react-redux": "^7.1.1",
"react-router": "^5.1.0",
Expand Down
2 changes: 1 addition & 1 deletion cvat/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

from cvat.utils.version import get_version

VERSION = (1, 2, 0, 'alpha', 0)
VERSION = (1, 2, 0, 'beta', 0)

__version__ = get_version(VERSION)
33 changes: 33 additions & 0 deletions cvat/apps/dataset_manager/formats/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- [PASCAL VOC and mask](#voc)
- [YOLO](#yolo)
- [TF detection API](#tfrecord)
- [ImageNet](#imagenet)

## How to add a new annotation format support<a id="how-to-add"></a>

Expand Down Expand Up @@ -802,3 +803,35 @@ taskname.zip/
```

- supported annotations: Rectangles, Polygons, Masks (as polygons)

### [ImageNet](http://www.image-net.org)<a id="imagenet" />

#### ImageNet Dumper

Downloaded file: a zip archive of the following structure:

```bash
# if we save images:
taskname.zip/
└── label1/
├── label1_image1.jpg
└── label1_image2.jpg
└── label2/
├── label2_image1.jpg
├── label2_image3.jpg
└── label2_image4.jpg
# if we keep only annotation:
taskname.zip/
└── <any_subset_name>.txt
└── synsets.txt
```

- supported annotations: Labels

#### ImageNet Loader

Uploaded file: a zip archive of the structure above

- supported annotations: Labels
41 changes: 41 additions & 0 deletions cvat/apps/dataset_manager/formats/imagenet.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

import os.path as osp
from glob import glob

import zipfile
from tempfile import TemporaryDirectory

from datumaro.components.project import Dataset
from cvat.apps.dataset_manager.bindings import CvatTaskDataExtractor, \
import_dm_annotations
from cvat.apps.dataset_manager.util import make_zip_archive

from .registry import dm_env, exporter, importer


@exporter(name='ImageNet', ext='ZIP', version='1.0')
def _export(dst_file, task_data, save_images=False):
extractor = CvatTaskDataExtractor(task_data, include_images=save_images)
extractor = Dataset.from_extractors(extractor) # apply lazy transform
with TemporaryDirectory() as temp_dir:
if save_images:
dm_env.converters.get('imagenet').convert(extractor,
save_dir=temp_dir, save_images=save_images)
else:
dm_env.converters.get('imagenet_txt').convert(extractor,
save_dir=temp_dir, save_images=save_images)

make_zip_archive(temp_dir, dst_file)

@importer(name='ImageNet', ext='ZIP', version='1.0')
def _import(src_file, task_data):
with TemporaryDirectory() as tmp_dir:
zipfile.ZipFile(src_file).extractall(tmp_dir)
if glob(osp.join(tmp_dir, '*.txt')):
dataset = dm_env.make_importer('imagenet_txt')(tmp_dir).make_dataset()
else:
dataset = dm_env.make_importer('imagenet')(tmp_dir).make_dataset()
import_dm_annotations(dataset, task_data)
3 changes: 2 additions & 1 deletion cvat/apps/dataset_manager/formats/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,5 @@ def make_exporter(name):
import cvat.apps.dataset_manager.formats.mots
import cvat.apps.dataset_manager.formats.pascal_voc
import cvat.apps.dataset_manager.formats.tfrecord
import cvat.apps.dataset_manager.formats.yolo
import cvat.apps.dataset_manager.formats.yolo
import cvat.apps.dataset_manager.formats.imagenet
3 changes: 3 additions & 0 deletions cvat/apps/dataset_manager/tests/test_formats.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ def test_export_formats_query(self):
'Segmentation mask 1.1',
'TFRecord 1.0',
'YOLO 1.1',
'ImageNet 1.0',
})

def test_import_formats_query(self):
Expand All @@ -285,6 +286,7 @@ def test_import_formats_query(self):
'Segmentation mask 1.1',
'TFRecord 1.0',
'YOLO 1.1',
'ImageNet 1.0',
})

def test_exports(self):
Expand Down Expand Up @@ -320,6 +322,7 @@ def test_empty_images_are_exported(self):
('Segmentation mask 1.1', 'voc'),
('TFRecord 1.0', 'tf_detection_api'),
('YOLO 1.1', 'yolo'),
('ImageNet 1.0', 'imagenet_txt'),
]:
with self.subTest(format=format_name):
if not dm.formats.registry.EXPORT_FORMATS[format_name].ENABLED:
Expand Down
Loading

0 comments on commit 8c22003

Please sign in to comment.