733 Commits (91b36ce393e84b5ac2d6bc3ffcb21dedc26ce086)

Author SHA1 Message Date
Nikita Manovich d99125a8ea
Clean up data when a project is deleted (#5632)
Fix https://github.com/opencv/cvat/issues/5595
3 years ago
Kirill Sizov 2dc741238b
Fix webhook signature (#5622) 3 years ago
Boris Sekachev 54e3198602
Reduced number of noisy information on ortho views for 3D canvas (#5608)
### Motivation and context
<img width="1252" alt="image"
src="https://user-images.githubusercontent.com/40690378/213575152-087aa6c8-48a8-483c-bdb9-927c5147a4f3.png">

Related #3438
3 years ago
Padraig X. Lamont a9476cb623
Fix typing of credentials parameter of make_client in the Python SDK (#5609)
### Motivation and context
This is a very simple pull request. The type of the credentials
parameter of `make_client` is currently `Optional[Tuple[int, int]]`, but
it should be `Optional[Tuple[str, str]]` as used by `Client#login`. This
PR makes that change.

### How has this been tested?
The typing does not affect the functionality of the code (just the
warnings I get in an IDE).
3 years ago
Maxim Zhiltsov 58b05536f5
Fix pagination in some endpoints (#5557)
- Added missing pagination or page parameters in `/projects/{id}/tasks`,
`/tasks/{id}/jobs`, `/jobs/{id}/issues`, `/jobs/{id}/commits`,
`/issues/{id}/comments`, `/organizations`
- Updated SDK, tests and UI
3 years ago
Roman Donchenko 330f123785
Fix some typos (#5601) 3 years ago
Maria Khrustaleva dfb658653f
Fix Upload data annotation from CVAT to Azure Blob storage (#5596)
Fix issue #5149
3 years ago
Boris Sekachev fb0b8675e1
Grid view and multiple context images supported (#5542)
### Motivation and context
<img width="1918" alt="image"
src="https://user-images.githubusercontent.com/40690378/210207552-7a7dcb0b-4f0c-4cb6-a030-9522ff68a710.png">
<img width="1920" alt="image"
src="https://user-images.githubusercontent.com/40690378/210207577-d05503e8-71d5-4e5c-aecd-03e5a762d7b1.png">
3 years ago
Maxim Zhiltsov 31f0578220
Add a way to create task with custom jobs (#5536)
This PR adds an option to specify file to job mapping explicitly during
task creation. This option is incompatible with most other job-related
parameters like `sorting_method` and `frame_step`.

- Added a new task creation parameter (`job_file_mapping`) to set a
custom file to job mapping during task creation
3 years ago
Maria Khrustaleva b00bc653ff
Social account authentication tests (#5444)
Depends on #5349
Related #5432
Added tests for social account authentication functionality: cypress
test with dummy auth server
3 years ago
Michael Fujarski 881c1aa5a0
Loading 16-bit tiff images (#5005)
Pull Request regarding Issue #2987 

PIL.Image conversion from I;16 to L or RGB are unsuccessful as for now.
See the corresponding Issue in the Pillow GitHub (Opened 2018, so no
changes to be expected)
https://github.com/python-pillow/Pillow/issues/3011

The proposed changes at least fix this issue for the mode 'I;16' and
delivers a possible solution for other modes (eg. I;16B/L/N).

This results in a correct calculation of the preview thumbnail and the
actual image, the annotation will be performed on.

We have used this solution on our own dataset and created annotations
accordingly.
3 years ago
Waqar Shahid Qureshi 6b41630144
Update model_handler.py (#4665)
use the OpenCV contour function to extract contour instead of
scikit-image function. to solve the problem of poor drawing of the
contour see the issue 4660
https://github.com/openvinotoolkit/cvat/issues/4660
3 years ago
Rodrigo Berriel 43ed0a2e2d
Fix HRNet dimension error on images with alpha channel (#5570)
This is pretty much the same fix applied to f-BRS in #5384. We've been
using HRNet for a while and now an then we receive "500 errors" just as
reported in #5299 when someone forgets to drop the alpha-channel from
our images.

### Motivation and context
The RuntimeError is a little bit different, but comes from the same
issue: RGBA instead of RGB images:
> RuntimeError: Given groups=1, weight of size [16, 3, 1, 1], expected
input[*, 4, *, *] to have 3 channels, but got 4 channels instead.

### How has this been tested?
I created a task with images with and w/o alpha channel, and the
interactor works on both now.
3 years ago
Andrey Zhavoronkov 6c3e3c98a6
Fixed chunk and preview cache usage (#5569) 3 years ago
Roman Donchenko 3d9c5add94
SDK: fix string field serialization for multipart/form-data requests (#5479)
Django REST Framework ignores the Content-Type on request body parts, so
it doesn't know that they are JSON-encoded. Instead, it just tries to
decode each part as if it was an `str()`-encoded value.

Change the encoding to match the decoding. The only type this matters
for is `str`, because `json.dumps` and `str` produce different encodings
for `str` values.

Remove `none_type` from the list of encodable types since, to my
knowledge, there's no way to encode a `None` value as a
`multipart/form-data` part in a way that DRF will understand.
3 years ago
Hardik Dava f3843aa74f
YoloV7 serverless detector feature for auto annotation (#5552)
### Motivation and context

Integration of YOLOv7 as a serverless nuclio function that can be used
for auto-labeling. YoloV7 is the SOTA at the time of this PR therefore
it would make sense to support it in CVAT. The integration is quite
simple into CVAT as docker based on Ultralytics YoloV5 with coco
pretrained model (https://github.com/WongKinYiu/yolov7) and a docker
image (https://hub.docker.com/r/ultralytics/yolov5).

related issue: #5548 

### How has this been tested?

Automatic annotation was run using YOLOv7 on a custom dataset.
The serverless function was deployed using

```
nuctl deploy --project-name cvat \
  --path serverless/onnx/WongKinYiu/yolov7/nuclio \
  --volume `pwd`/serverless/common:/opt/nuclio/common \
  --platform local
```

Then using the 'Automatic annotation' action the function was tested and
the auto-generated labels were controlled to check that no coordinates
misfit is happening.

### Use custom model:
1. Export your model with NMS for image resolution of 640x640
(preferable).
2. Copy your custom model yolov7-custom.onnx to /serverless/common
3. Modify function.yaml file according to your labels.
4. Modify model_handler.py as follow:
```
 self.model_path = "yolov7-custom.onnx"
```

Co-authored-by: Nikita Manovich <nikita@cvat.ai>
Co-authored-by: yasakova-anastasia <yasakova_anastasiya@mail.ru>
3 years ago
Irrom c29b2837c4
Adjust Windows Installation Instructions to account for Nuclio issue#1821 (#5558)
In my understanding of https://github.com/nuclio/nuclio/issues/1821, the
Nuctl (1.8.14) CLI is looking for a path that is only valid on a Linux
environment, which it does not find when running via Git Bash (even when
using the Windows version of Nuctl). However, installing CVAT onto a
Linux VM allows Nuctl to locate this path and operate normally. I
initially found this when setting up CVAT myself on Git Bash as per the
given instructions for Windows 10.

(I am still learning how to use GitHub as far as pull requests / forks /
etc work, sorry if this is not the right way to approach this change.
Please let me know if I've missed something important.)

### How has this been tested?
This is only a change to instructions, but I did test this on multiple
machines . As long as the machine is capable of running a Linux kernel
it shouldn't run into any issues.
3 years ago
Roman Donchenko 33c624ae1e
PyTorch adapter: add a way to disable cache updates (#5549)
This will let users to run their PyTorch code without network access,
provided that they have already cached the data.

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->
Unit tests.
3 years ago
Maxim Zhiltsov c808471d84
Improve SDK UX with task creation (#5502)
Extracted from https://github.com/opencv/cvat/pull/5083

- Added a default arg for task data uploading
- Added an option to wait for the data processing in task data uploading
- Moved data splitting by requests for TUS closer to the point of use
3 years ago
Maria Khrustaleva c91cf8accd
Add filename pattern to cli (#5525)
Add ability to create task with `filename_pattern` by cli.
3 years ago
Roman Donchenko ce37be1f60
SDK: add a ProjectVisionDataset class (#5523) 3 years ago
Roman Donchenko 4d32c3c686
SDK: make the dataset cache directory customizable (#5535)
This is useful for people whose home directory is too small/not fast
enough. It also lets us make the tests less hacky.
3 years ago
Roman Donchenko 580ae49e5a
Migrate to Docker Compose V2 (#5524)
Also, migrate to the version less Compose file format.

Compose V1 is EOL:
<https://www.docker.com/blog/announcing-compose-v2-general-availability/>.
3 years ago
Maria Khrustaleva 75b338b549
Fix vulnerability (#5521) 3 years ago
Andrey Zhavoronkov 959c659bce
Allow empty redis pass (#5520)
Fix `Error: UPGRADE FAILED: error validating "": error validating data:
unknown object type "nil" in Secret.stringData.redis-password`
3 years ago
Maria Khrustaleva e624c5b959
Simplify upload data for task (#5498)
It's possible to specify only the manifest file and filename pattern for
creating task with cloud storage data.
The special characters supported now for the pattern are `*`, `?`,
`[seq]`, `[!seq]`.
Please see
[here](8898a8b264/tests/python/rest_api/test_tasks.py (L686))
for some examples of how to use this functionality.

Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
3 years ago
Nikita Manovich 207116705f
v2.4.0.alpha (#5508)
Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
Co-authored-by: Kirill Sizov <kirill.sizov@cvat.ai>
3 years ago
Scotty Kwok 4fdac63739
Keyboard shortcut to delete frame (fixes #5369) (#5370)
This fixes #5369 by adding keyboard shortcut [x] that delete a frame
without prompt.

Co-authored-by: Scotty Kwok <scottykwok@sebit.word>
Co-authored-by: Boris Sekachev <sekachev.bs@gmail.com>
3 years ago
Roman Donchenko e018b10e00
SDK: fix `Project.import_dataset` incorrectly waiting for completion (#5459)
You have to use the `import_status` action in order to query the input
status. Otherwise, the `/api/projects/{id}/dataset/` endpoint initiates
a dataset export. Currently, `import_dataset` inadvertently monitors the
status of that export, not the original import.
3 years ago
Maxim Zhiltsov 2ed778818a
Allow server debugging when deployed with Docker (#5445)
Closes https://github.com/opencv/cvat/issues/5327

- Added a way to debug the server in Docker-based deployments
- Added docs
3 years ago
Maria Khrustaleva c9f214a894
Unify error handling with the cloud storage (#5389)
Added a general solution for checking bucket and file status instead of
checking in all places. Exception information has become more
user-friendly.
3 years ago
Roman Donchenko 487c60ce2b
SDK: Add an adapter layer that presents a CVAT task as a torchvision dataset (#5417) 3 years ago
Roman Donchenko 0a032b3236
Migrate to using pathlib in most of the SDK (#5435)
For user-facing functions, keep accepting `str` paths to maintain
compatibility and flexibility, but add support for arbitrary path-like
objects. For internal functions (in `downloading.py` and
`uploading.py`), don't bother and require `pathlib.Path`.

The only code that isn't converted is build-time code (e.g. `setup.py`)
and code that came from openapi-generator.
3 years ago
Anastasia Yasakova 3f9ab7cf68
Fix loss of rotation in CVAT format (#5407)
Fix https://github.com/opencv/cvat/issues/4378
3 years ago
Maxim Zhiltsov cacb99735f
Add job access checks for model invocations (#5392)
Fixes #4996
- Added job access checks for model launches in the interactive mode
3 years ago
Roman Donchenko 192fd72680
Fix creation of tasks with Git repositories via the SDK (#5409)
Fixes #4365
3 years ago
Boris Sekachev 8b13a2c485
3D Performance issue fixed: Multiple selection the same object or null (#5411)
Related #3438
3 years ago
Boris Sekachev d4788ee61e
Multiple fixes in 3D drawing, see description (#5410)
### Motivation and context
Related #3438 

- When dblclick one of sideviews during drawing - UI is broken
- When mouseleave sideviews during drawing - bbox disappears, need to
draw again
- Sometimes multiple draw boxes exist on view

Example:

![bug_1](https://user-images.githubusercontent.com/40690378/205139685-2c348b4f-30c0-4bcc-a101-e07c880ff358.gif)
3 years ago
Nikita Manovich 3e1ccc8602
Fix exception when run export for an empty task (#5396)
Fix https://github.com/opencv/cvat/issues/5245

The PR contains a simple fix. Just return BAD REQUEST if somebody tries
to export a task without data. It doesn't make sense. But a more complex
fix will require changing a massive amount of code. It doesn't make any
sense to support such a weird scenario.
3 years ago
Boris Sekachev 772f0cd117
Adjusted initial camera position, enabled 'Reset zoom' option for 3D canvas (#5395) 3 years ago
Andrey Zhavoronkov 01fec6fb72
Fix chart not being upgradable (#5371) 3 years ago
Andrey Zhavoronkov 6f6db4d554
Helm: fix secrets for non-default release name (#5403) 3 years ago
Maria Khrustaleva f405c4acac
Fix missing source tag in project annotations (#5408) 3 years ago
Boris Sekachev 785edcb272
Allow dragging 3D canvas in IDLE mode (#5385) 3 years ago
Kirill Lakhov 19b2643e69
Allowed to upload `.xml` and `.json` annotation files from UI (#5386)
<!-- Raised an issue to propose your change
(https://github.com/cvat-ai/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the
[CONTRIBUTION](https://github.com/cvat-ai/cvat/blob/develop/CONTRIBUTING.md)
guide. -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
<!-- Why is this change required? What problem does it solve? If it
fixes an open
issue, please link to the issue here. Describe your changes in detail,
add
screenshots. -->
Resolved #5274
+ Fixed typo in tests

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable by a reason then ~~explicitly
strikethrough~~ the whole
line. If you don't do that github will show an incorrect process for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into
[CHANGELOG](https://github.com/cvat-ai/cvat/blob/develop/CHANGELOG.md)
file
- [ ] I have updated the [documentation](
https://github.com/cvat-ai/cvat/blob/develop/README.md#documentation)
accordingly
- [x] I have added tests to cover my changes
- [x] I have linked related issues ([read github docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary
([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
[cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
and
[cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.
3 years ago
Andrey Zhavoronkov 6f09c777f2
Fixed FBRS runtime dimension error on images with alpha channel (#5384) 3 years ago
Maria Khrustaleva ca83d3c925
Fix attaching manifest file with custom name (#5377)
<!-- Raised an issue to propose your change
(https://github.com/cvat-ai/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the
[CONTRIBUTION](https://github.com/cvat-ai/cvat/blob/develop/CONTRIBUTING.md)
guide. -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
<!-- Why is this change required? What problem does it solve? If it
fixes an open
issue, please link to the issue here. Describe your changes in detail,
add
screenshots. -->
Closes #5361 
### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->
Updated existing cypress test
### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable by a reason then ~~explicitly
strikethrough~~ the whole
line. If you don't do that github will show an incorrect process for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into
[CHANGELOG](https://github.com/cvat-ai/cvat/blob/develop/CHANGELOG.md)
file
~~- [ ] I have updated the [documentation](
https://github.com/cvat-ai/cvat/blob/develop/README.md#documentation)
accordingly~~
- [x] I have added tests to cover my changes
- [x] I have linked related issues ([read github docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary
([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
[cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
and
[cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

Co-authored-by: Nikita Manovich <nikita@cvat.ai>
3 years ago
Boris Sekachev 460df331e4
Implemented propagate backward (#5355)
<!-- Raised an issue to propose your change
(https://github.com/cvat-ai/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the
[CONTRIBUTION](https://github.com/cvat-ai/cvat/blob/develop/CONTRIBUTING.md)
guide. -->

<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context
Resolved #2998

<img width="428" alt="image"
src="https://user-images.githubusercontent.com/40690378/203806586-1367477b-cfff-46f1-947b-d0292cd6f02e.png">


### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable by a reason then ~~explicitly
strikethrough~~ the whole
line. If you don't do that github will show an incorrect process for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into
[CHANGELOG](https://github.com/cvat-ai/cvat/blob/develop/CHANGELOG.md)
file
- [ ] I have updated the [documentation](
https://github.com/cvat-ai/cvat/blob/develop/README.md#documentation)
accordingly
- [x] I have added tests to cover my changes
- [x] I have linked related issues ([read github docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary
([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
[cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
and
[cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.
3 years ago
Anastasia Yasakova 279f01b53b
Fix: Can't dump annotations with objects type is track from several jobs (#5250) 3 years ago
Kirill Lakhov 8705e2366c
Added force logout on CVAT app start if token is missing (#5331) 3 years ago