{ "info": { "author": "Alexandre Carlier", "author_email": "alexandre.carlier01@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 3.7" ], "description": "# UltimateLabeling\n\n[![Build Status](https://travis-ci.com/alexandre01/UltimateLabeling.svg?branch=master)](https://travis-ci.com/alexandre01/UltimateLabeling)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI](https://img.shields.io/pypi/pyversions/ultimatelabeling.svg)](https://pypi.python.org/pypi/ultimatelabeling)\n[![PyPI](https://img.shields.io/pypi/v/ultimatelabeling.svg)](https://pypi.python.org/pypi/ultimatelabeling) \n\nA multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker. Developed using PyQt5.\n\n**[Under development]**\n\nThe integrated object detectors and trackers are based on the following codes:\n- [OpenPifPaf](https://github.com/vita-epfl/openpifpaf): for human pose estimation\n- [YOLO darknet](https://github.com/AlexeyAB/darknet): for object detection\n- [SiamMask](https://github.com/foolwood/SiamMask): for visual object tracking\n- [Hungarian algorithm (scipy.optimize)](https://github.com/scipy/scipy): for optimal instance ID assignment\n\nFor remote server processing, follow the guide below in order to configure the [server files](https://github.com/alexandre01/UltimateLabeling_server).\n\n\n## Demo \n![screenshot](docs/ultimatelabeling.jpg)\n\n![uptown_funk](docs/uptown_funk.jpg)\n\n![roundabout](docs/roundabout.jpg)\n\n\n## Features\n- SSH connection to the remote server (see below to configure the server)\n- YOLO and OpenPifPaf integrated object & pose detectors (single frame and entire video mode)\n- Hungarian instance ID assignment\n- SiamMask Visual object tracking for missing or mislabeled objects\n- Zoom on the video, resizable bounding boxes and skeletons\n- Dark mode!\n\n\n## Installation\n\nInstall the requirements using `pip` as follows:\n\n```\npip install -r requirements\n```\n\nPut the videos (folder of images or video file, the frames will be extracted automatically) inside the `data` folder. Then, open the GUI using \n\n```sh\npython -m ultimatelabeling.main\n```\n\nAfter closing the window, the annotations are available in the `output` folder.\n\n\n## Remote server configuration\nTo configure the remote GPU server, follow the steps below:\n\n```sh\ngit clone https://github.com/alexandre01/UltimateLabeling_server.git\ncd UltimateLabeling_server\npip install -r requirements.txt\nbash siamMask/setup.sh\nbash detection/setup.sh\n```\n\nThe data images and videos should be placed in the folder `data`, similarly to the client code.\n\nTo extract video files, use the following script:\n\n```sh\nbash extract.sh data/video_file.mp4\n```\n\n\n## Licence\nCopyright (c) 2019 Alexandre Carlier, released under the MIT licence.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alexandre01/UltimateLabeling", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ultimatelabeling", "package_url": "https://pypi.org/project/ultimatelabeling/", "platform": "", "project_url": "https://pypi.org/project/ultimatelabeling/", "project_urls": { "Homepage": "https://github.com/alexandre01/UltimateLabeling" }, "release_url": "https://pypi.org/project/ultimatelabeling/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "A multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker.", "version": "0.1.1" }, "last_serial": 5342605, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "152de6ea077ad64f7865c9fc42a8e639", "sha256": "e825baf5a1b25be083a7133d13f82607dd76ee82aa898303c9e294ef3307d2da" }, "downloads": -1, "filename": "ultimatelabeling-0.1.0-py3.7.egg", "has_sig": false, "md5_digest": "152de6ea077ad64f7865c9fc42a8e639", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 131228, "upload_time": "2019-05-31T12:19:53", "url": "https://files.pythonhosted.org/packages/73/5a/c955583e1d76124364fa5e2e0f06ab0ddc766da435b9dcaaa13bf7152993/ultimatelabeling-0.1.0-py3.7.egg" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c3c93689077978899c8df15def6e06da", "sha256": "6085dd694d329bb2f26ee6e23b01f867bab8598f9417949bc4e588b0ab3f5e1a" }, "downloads": -1, "filename": "ultimatelabeling-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c3c93689077978899c8df15def6e06da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38665, "upload_time": "2019-05-31T12:37:36", "url": "https://files.pythonhosted.org/packages/72/cf/eeb6bc2c4d76deda9b130a53dbc6be8e27f86523ead665d9855576665b20/ultimatelabeling-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3c93689077978899c8df15def6e06da", "sha256": "6085dd694d329bb2f26ee6e23b01f867bab8598f9417949bc4e588b0ab3f5e1a" }, "downloads": -1, "filename": "ultimatelabeling-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c3c93689077978899c8df15def6e06da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38665, "upload_time": "2019-05-31T12:37:36", "url": "https://files.pythonhosted.org/packages/72/cf/eeb6bc2c4d76deda9b130a53dbc6be8e27f86523ead665d9855576665b20/ultimatelabeling-0.1.1.tar.gz" } ] }