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
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.
### 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>
* AI tracker was one frame late
* TransT tracker integration
* fixed linter issues
* added transt tracker to readme
* clone a fixed transt version
* nvidia/cuda:11.1-devel-ubuntu20.04 not available anymore, replaced with nvidia/cuda:11.7.0-devel-ubuntu20.04
* Fix show empty tasks (#100)
* Fix show empty tasks
* v1.41.1
* Update changelog
Co-authored-by: Boris Sekachev <sekachev.bs@gmail.com>
* [Snyk] Upgrade dotenv-webpack from 7.1.1 to 8.0.0 (#98)
feat: upgrade dotenv-webpack from 7.1.1 to 8.0.0
Snyk has created this PR to upgrade dotenv-webpack from 7.1.1 to 8.0.0.
See this package in npm:
https://www.npmjs.com/package/dotenv-webpack
See this project in Snyk:
https://app.snyk.io/org/cvat/project/6c66365f-c154-46f2-b5db-4a4cd35fea4d?utm_source=github&utm_medium=referral&page=upgrade-pr
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* Add repo disclaimer in README (#127)
* Update README.md
* Update README.md
* Update tools-control.tsx
* Add ModelHandler class
* Small fixes
Co-authored-by: dschoerk <dominik.schoerkhuber@tuwien.ac.at>
Co-authored-by: Dominik Schörkhuber <dschoerk@gmx.at>
Co-authored-by: Dominik Schörkhuber <e1027470@student.tuwien.ac.at>
Co-authored-by: Nikita Manovich <nikita@cvat.ai>
Co-authored-by: Maria Khrustaleva <maya17grd@gmail.com>
Co-authored-by: Boris Sekachev <sekachev.bs@gmail.com>
Co-authored-by: Andrey Zhavoronkov <andrey@cvat.ai>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
* Update curl command for Google Drive weights and adjust yaml files (#4736)
* update changelog
Co-authored-by: Boris Sekachev <boris.sekachev@yandex.ru>
* Added HRNet18 click based interactive segmentation (#3729)
The commit adds serverless container that has a click based
interactive segmentation model(HRNet18) that performs better than
f-BRS method statistically.
* fixup! Added HRNet18 click based interactive segmentation (#3729)
Co-authored-by: Nikita Manovich <nikita.manovich@intel.com>
* Improved removable points, added a button to finish current object
* Code refactoring for ai tools and opencv
* Fixed style for workspace selector
* IOG UX fix
* Updated version & changelog
* Added 'min_neg_points' parameter to serverless interactors
* Return 'min_neg_points' from the server
* fixed cpu mask rcnn+preparation for gpu
* fix-limit gpu memory to 30% of total memory per worker
Co-authored-by: Nikita Manovich <nikita.manovich@intel.com>
* Initial version of Inside Outside Guidance serverless function
* Support neg_points in interactors
* Improved deployment process of serverless functions
* Improve installation.md for serverless functions.
* Update CHANGELOG, use NUCLIO_DASHBOARD_DEFAULT_FUNCTION_MOUNT_MODE as
recommended by nuclio developers.
* Disable warning from markdown linter about max line length for a table.
* Fix IOG function with conda environment
* Fix tensorflow matterport/mask_rcnn
Co-authored-by: Boris Sekachev <boris.sekachev@intel.com>
* discard polygons with length of 4 or less
* updated minimum length of polygons
* added line in CHANGELOG
Co-authored-by: Nikita Manovich <nikita.manovich@intel.com>
* Implement SiamMask serverless function (cannot be deployed yet)
* Fix deployment (need to test the function itself).
* Removed mask from state in SiamMask serverless function.
* Update CHANGELOG.md
* Add support of the tracker serverless function into lambda manager.
* Add an example how to deploy siammask serverless function.
* Initial experiments with nuclio
* Update nuclio prototype
* Improve nuclio prototype for dextr.
* Dummy lambda manager
* OpenFaaS prototype (dextr.bin and dextr.xml are empty).
* Moved openfaas prototype.
* Add comments
* Add serializers and HLD for lambda_manager
* Initial version of Mask RCNN (without debugging)
* Initial version for faster_rcnn_inception_v2_coco
* Fix faster_rcnn_inception_v2_coco
* Implemented mask_rcnn_inception_resnet_v2_atrous_coco
* Implemented yolo detector as a lambda function
* Removed dextr app.
* Added types for each function (detector and interactor)
* Initial version of lambda_manager.
* Implement a couple of methods for lambda:
GET /api/v1/lambda/functions
GET /api/v1/lambda/functions/public.dextr
* First working version of dextr serverless function
* First version of dextr which works in UI.
* Modify omz.public.faster_rcnn_inception_v2_coco
- image decoding
- restart policy always for the function
* Improve omz.public.mask_rcnn_inception_resnet_v2_atrous_coco
* Improve omz.public.yolo-v3-tf function
* Implemented the initial version of requests for lambda manager.
* First working version of POST /api/v1/lambda/requests
* Updated specification of function.yaml (added labels and used annotations section).
* Added health check for containers (nuclio dashboard feature)
* Read labels spec from function.yaml.
* Added settings for NUCLIO
* Fixed a couple of typos. Now it works in most cases.
* Remove Plugin REST API
* Remove tf_annotation app (it will be replaced by serverless function)
* Remove tf_annotation and cuda components
* Cleanup docs and Dockerfile from CUDA component.
* Just renamed directories inside serverless
* Remove redundant files and code
* Remove redundant files.
* Remove outdated files
* Remove outdated code
* Delete reid app and add draft of serverless function for reid.
* Model list in UI.
* Fixed the framework name (got it from lambda function).
* Add maxRequestBodySize for functions, remove redundant code from UI for auto_annotation.
* Update view of models page.
* Unblock mapping for "primary" models.
* Implement cleanup flag for lambda/requests and labeling mapping for functions.
* Implement protection from running multiple jobs for the same task.
* Fix invocation of functions in docker container.
* Fix Dockerfile.ci
* Remove unused files from lambda_manager
* Fix codacy warnings
* Fix codacy issues.
* Fix codacy warnings
* Implement progress and cancel (aka delete) operation.
* Send annotations in batch.
* Fix UI. Now it can retrieve information about inference requests in progress.
* Update CHANGELOG.md
* Update cvat-ui version.
* Update nuclio version.
* Implement serverless/tensorflow/faster_rcnn_inception_v2_coco
* Add information how to install nuclio platform and run serverless functions.
* Add installation instructions for serverless functions.
* Update OpenVINO files which are responsible for loading network
* relocated functions
* Update dextr function.
* Update faster_rcnn function from omz
* Fix OpenVINO Mask-RCNN
* Fix YOLO v3 serverless function.
* Dummy serverless functions for a couple of more OpenVINO models.
* Protected lambda manager views by correct permissions.
* Fix name of Faster RCNN from Tensorflow.
* Implement Mask RCNN via Tensorflow serverless function.
* Minor client changes (#1847)
* Minor client changes
* Removed extra code
* Add reid serverless function (no support in lambda manager).
* Fix contribution guide.
* Fix person-reidentification-retail-300 and implement text-detection-0004
* Add semantic-segmentation-adas-0001
* Moving model management to cvat-core (#1905)
* Squached changes
* Removed extra line
* Remove duplicated files for OpenVINO serverless functions.
* Updated CHANGELOG.md
* Remove outdated code.
* Running dextr via lambda manager (#1912)
* Deleted outdated migration.
* Add name for DEXTR function.
* Fix restart policy for serverless functions.
* Fix openvino serverless functions for images with alpha channel
* Add more tensorflow serverless functions into deploy.sh
* Use ID instead of name for DEXTR (#1926)
* Update DEXTR function
* Added source "auto" inside lambda manager for automatic annotation.
* Customize payload (depends on type of lambda function).
* First working version of REID (Server only).
* Fix codacy warnings
* Avoid exception during migration (workaround)
File "/usr/local/lib/python3.5/dist-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: table "engine_pluginoption" does not exist
* Add siammask serverless function (it doesn't work, need to serialize state)
* Run ReID from UI (#1949)
* Removed reid route in installation.md
* Fix a command to get lena image in CONTRIBUTION guide.
* Fix typo and crash in case a polygon is a line.
Co-authored-by: Boris Sekachev <40690378+bsekachev@users.noreply.github.com>