Code Monkey home page Code Monkey logo

l3p-cv / lost Goto Github PK

View Code? Open in Web Editor NEW
544.0 22.0 75.0 40.97 MB

Label Objects and Save Time (LOST) - Design your own smart Image Annotation process in a web-based environment.

Home Page: https://lost.training

License: MIT License

Python 41.52% Shell 0.53% Dockerfile 0.13% JavaScript 54.31% HTML 3.08% SCSS 0.36% CSS 0.08%
annotation-tool computer-vision annotation-framework machine-learning machine-vision bounding-boxes polygon-annotations annotation-process image-annotation

lost's People

Contributors

avni-hirpara avatar dependabot[bot] avatar gereonreus avatar jaeger-j avatar jonasgoebel avatar kengggg avatar konradadamczyk avatar konradadamczyk1 avatar tkwant avatar xav-hydra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lost's Issues

How to backup/restore

Hi
I want to know how to perform full lost backup.
Simply backuping Lost Data Folder - folder choosen during installation with sudo permissions does not work.
Steps taken to test if it is working:

  1. sudo zip -r backup.zip Lost Data Folder
  2. Clean installation of LOST clean_lost folder
  3. Creating user with name should_not exist_after_restore
  4. LOST shutdown
  5. rm -rf clean_lost
  6. unzip backup.zip into clean_lost
  7. LOST start
  8. should_not exist_after_restore still exists and users from backup are not restored

a)Do I need to backup entire docker container along with Lost Data Folder ?
b)Is it somewhat related to docker volume mounting 'rprivate' ?

Many thanks
Konrad Adamczyk

Pre-Annoation for the MIA frontend

Is your feature request related to a problem? Please describe.
Not directly. When the sim_class parameter is passed with the request_anno function then there is no use for it in the MIA frontend

Describe the solution you'd like
If the requested image is pre-annotated then the image should already be displayed as pre-annotated in the MIA frontend and therefore making it faster in MIA overall

Describe alternatives you've considered
The class should be pre-selected and all images that do not belong are selected in the MIA frontend.

Progress/Loading bar when submitting images in MIA frontend

Is your feature request related to a problem? Please describe.
When there are a lot of images to be submitted then nothing happens till the submitting process is finished

Describe the solution you'd like
An indication whether LOST is processing the submit or even a progress bar would be helpful.

Describe alternatives you've considered
A normal loading circle should be enough

Cannot install the app on windows

When I run docker-compose up it ends up with an error that says:
rabbitmqlost | 2020-01-23 15:18:03.800377 crash_report #{label=>{supervisor,start_error},report=>[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{"Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only",[{auth,init_cookie,0,[{file,"auth.erl"},{line,286}]},{auth,init,1,[{file,"auth.erl"},{line,140}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,374}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,342}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}},{offender,[{pid,undefined},{id,auth},{mfargs,{auth,start_link,[]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}

and other errors that occurs on the same log file.

SIA: Deleting an annoation with the the top-right corner X not possible when...

Describe the bug
...it was deleting before with the DEL key and was received back from the history with CTRL+Z

To Reproduce
Steps to reproduce the behavior:

  1. Delete an annotation with the DEL key
  2. Receive it back with the keyboard combination CTRL+Z
  3. Now try to delete the annotation with the close-X in the right top corner of the annotation
  4. Does not work

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome

LabelTree is not a Real Tree in annotation CSV file!

In my opinion, LabelTree helps to find a class by its superclass.

However, in LOST, you can just choose one between the class and its superclass. I think the exported CSV should contain all the node classes from the root node to the leaf node. In this way, the CSV file can be more rational and sufficient to parse.

Polygon point is offset after switching to new image

Describe the bug
Sometimes when i switch to a new image to annotate and i want to start with the annotation the point for the polygon is randomly offset to the mouse pointer. It does happen randomly about every ten images. Can not reproduce the bug.
Can be probaply fixed when the position of the mouse pointer is reset for every image.

Expected behavior
The point is set where the mouse pointer is.

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser chrome

Thanks for the work guys!

Cannot delete pipeline

Describe the bug
Cannot delete pipeline

Expected behavior
Pipeline deleted
When I delete the pipeline,the following page is displayed.
Screenshots
2
3

Desktop (please complete the following information):

  • OS: Linux
  • Browser: Chrome

Moving the zoomed image view in SIA leads to losing the focus on selected annotation

Describe the bug
When using the zoom function of the SIA Editor the view can be moved by click+drag. However the focus of a selected annotation is lost when using it.

To Reproduce
Steps to reproduce the behavior:

  1. Open a SIA task
  2. zoom into the image using the mouse scroll wheel
  3. select or create an annotation and make it active
  4. move the image view area by click and drag
  5. see the lost focus

Expected behavior
Keeping the focus on the annotation while dragging the view.

Desktop (please complete the following information):

  • OS: Win64 x86_64
  • Browser Chrome
  • Version 72

SIA history contains all previous images

Describe the bug
When doing SIA the history regarding CTRL+Z contains all previously annotaded images in the session.
This means when pressing CTRL+Z too often you get the history of the previous image into the current image.

To Reproduce

  1. Annotate two images
  2. When finished with the second press CTRL+Z several times until annotations of the previous images
    is displayed

Expected behavior
Only the annotation history of the current image is displayed to the current image

Desktop (please complete the following information):

  • Windows 10
  • Chrome
  • Version 71.0.3578.98

Make the shortcuts in SIA customizable

Is your feature request related to a problem? Please describe.
Different users have different preferences. Some of our annotators reported the wish to have the keyboard shortcuts customizable.

Describe the solution you'd like
As this is user dependend it should be, if implemented, be a user specific configuration

Describe alternatives you've considered
If a user group for an annotation task could agree on a central configuration. It might be an option to have the shortcuts configured during the pipeline design by a configuration file.

SIA image size very restriced by UI constrains which make SIA hardly usable on some devices

Describe the bug
The image area is very constrained by the other UI elements. As a result an image of 1200x700 will be about 900x500 px an a "modern" 1920x1080 dektop. This wasts nearly 80% of the availabel screen area. A smaller laptop screen with the same resolution results in even smaller image area, which makes the tool unusable.

Expected behavior
Maximise the image area to increase the usability. See my proposal image. When moving all control elements to the left or right, making the top info bar foldable there would be enough space to increase the image size significantly.

However element arrangement depends on the used image. For ultra wide images the proposed arrangement would not be optimal. Maybe the UI should calculate differenz arrangements of the control elements (horizontal or vertical) and than select the arrangement with the biggest resulting image area.

Screenshots
grafik

Loop is automatically sets to finished when starting the pipe

Describe the bug
See an example pipeline in screenshot. When I want to start this pipeline the loop gets automatically to finished and the variable self.iteration in the first script node (requestannos.py) is 9.

Expected behavior
The iteration should be 0 not 9 when I start the pipeline.

Screenshots
pipeline_defekt_2

Desktop (please complete the following information):

  • OS: Linux
  • Browser chrome

Support for timeseries image stacks

I have an application where I need to label time-series imagery, I cannot simply convert the images to single images and label those as I am trying to track differences between images in the time series stack (even between pairs of images would be fine for now).

I envision an interface like (https://www.cssscript.com/demo/view-before-after-images-reveal/) where the two images can be compared, with annotation taking place on top of that interface. So far the issue in implementing this seems to be that LOST only fetches a single image from a folder at a time, and the interface only expects a single image.

I am willing to have a go at implementing this, but could you provide some guidance on the best approach and relevant parts of LOST which will need to be updated? I was thinking that instead of relying on flask to fetch the data directly from a folder, perhaps a data loader like interface (as PyTorch etc have) might be the most flexible way to go.

SIA: Polygon getting squeezed when dragged to image border and further

Describe the bug
When i draw the whole polygon twoards the image edge the polygon gets squeezed on the location of edge contact. Means that the points of the polygon do not cross the edge of the image but with further dragging the other points do move and thus the polygon gets squeezed.
Propably the same with bounding boxes and lines.

To Reproduce
Steps to reproduce the behavior:

  1. select polygon
  2. drag it towards an image border and further

Expected behavior
Not only the point but the whole polygon should not be further moveable when one point edges the images.

Desktop (please complete the following information):

  • OS: Windows 10
  • Chrome

SIA: Mouse pointer disappears after pressing del and selecting a point simultaneously

Describe the bug
When selecting a point of a polygon and pressing the key del at the same time the point gets deleted but the mouse pointer at the same time. Means that the mouse pointer is not visible for the SIA area.

To Reproduce

  1. Select a point of a polygon and keep the left mouse button pressed
  2. Press del to delete the point
  3. => Point disappears aswell as your mouse pointer

Expected behavior
Only the point disappears but not also the mouse pointer

Desktop (please complete the following information):

  • Windows 10
  • Chrome
  • 71.0.3578.98

Using the browsers zoom function changes the shown size of annotation in SIA

Describe the bug
Using the browsers zoom function changes the shown size of annotation in SIA

To Reproduce
Steps to reproduce the behavior:

  1. Go into SIA annotation task
  2. Create a label and make it active
  3. use browsers zoom function (CTRL+MouseScrollWheel or CRTL+ '+'/'-'
  4. see changing W,H,X,Y values.

Expected behavior
Consitent W,H,X,Y values for unchanged labels

Desktop (please complete the following information):

  • OS: Win10 x86_64
  • Browser Chrome
  • Version 72

changing of label not saved on prelabeled data

Describe the bug
When only changing the the label of an pre annotated image the changes are not saved.

To Reproduce
Steps to reproduce the behavior:

  1. Start a SIA task with prelabel data
  2. Go to an image with existing label
  3. Select an annotation
  4. Change the label
  5. Go to next image
  6. Go back to previous image
  7. See the old label on the changed annotation

This does not happend if the annotation is modified (moved, resized) after the label change.

Expected behavior
The label should be saved after changing it without modifing the annotation

Desktop (please complete the following information):

  • OS: Win64 x86_64
  • Browser Chrome
  • Version 72

advanced possibilities at assigning annotation tasks to users/groups

Is your feature request related to a problem? Please describe.
Currently when starting a pipeline it's only possible to assigne an annotation task to the current user starting the pipeline or a user group which includes the user starting the pipeline. Also it's only possible to select one item from the list.

Describe the solution you'd like
List all users, and groups and let the Designer select multiple items from the list (users + groups).

"Go to last edited image" button goes one image to far

To Reproduce
Steps to reproduce the behavior:

  1. Open SIA anno task
  2. edit some images
  3. remember the last seen image
  4. go some images back
  5. click "go to last edited image"
  6. see an new image (the one after the the last seen from step 3)

Expected behavior
The button should lead to the latest image presented to the user not an unknown image

Users list wrong when having multiple users that require more than one page

Describe the bug
When having 12 users and switching to the second page of the user view, the tabel is inconsistent. The user names are correct, but the other columns are filled with information from the first page. I didn't try to modify them.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Users' menu
  2. add 11 or more users
  3. go to the second page of the user list
  4. See inconsitent user data

Expected behavior
Consitent user data on every page

Desktop (please complete the following information):

  • OS: Win10 x86_64
  • Browser Chrome
  • Version 0.0.0

Logging out and in with different user gives wrong view

Describe the bug
You need at least two users. Log in as User A and logout. Klick on the return to login button. Login as user B. The first view you get is for user A instead of User B

To Reproduce
Steps to reproduce the behavior:
see description...

Expected behavior
Login in as different user should give only access to views of the logged in user.

Desktop (please complete the following information):

  • OS: Win10 x86_64
  • Browser: Chrome
  • Version: 0.0.0

Pipeline after Loop not all scripts are resetet to pending

Describe the bug
After Loop not all scripts are resetet to pending

To Reproduce
Steps to reproduce the behavior:

  1. Create pipeline like in the screenshot
  2. Start pipeline
    Expected behavior
    All scripts should to be set to pending after loop

Screenshots
pipeline_defekt

Desktop

  • OS:Linux
  • Browser chrome

no-label alert

Is your feature request related to a problem? Please describe.
Forget an annotation

Describe the solution you'd like
Alert the user when there are e.g. polygons which are annotated as "no label" before switching to the next image.

cannot delete user

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
1.Users and a group, ex mygroup
2.add two users, named user1 、user2, and belong to mygroup
3. start pipeline, create two annotation task
4. delete pipeline when user1 user2 cannot finish annotation task
5. click Users to delete user1 user2, cannot delete(an unexpected error has occured)
cat flask.log:
Traceback (most recent call last):
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functionsrule.endpoint
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask_restplus/api.py", line 325, in wrapper
resp = resource(*args, **kwargs)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask/views.py", line 88, in view
return self.dispatch_request(*args, **kwargs)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask_restplus/resource.py", line 44, in dispatch_request
resp = meth(*args, **kwargs)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/flask_jwt_extended/view_decorators.py", line 103, in wrapper
return fn(*args, **kwargs)
File "/code/backend/lost/api/user/endpoint.py", line 132, in delete
dbm.commit()
File "/code/backend/lost/db/access.py", line 82, in commit
self.session.commit()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 943, in commit
self.transaction.commit()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 467, in commit
self._prepare_impl()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
self.session.flush()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2254, in flush
self._flush(objects)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2381, in _flush
transaction.rollback(_capture_exception=True)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in exit
compat.reraise(exc_type, exc_value, exc_tb)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
raise value
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2345, in _flush
flush_context.execute()
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
rec.execute(self)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 597, in execute
uow
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 265, in delete_obj
cached_connections, mapper, table, delete)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 1028, in _emit_delete_statements
c = connection.execute(statement, del_objects)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
cursor.execute(statement, parameters)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/cursors.py", line 412, in _query
rowcount = self._do_query(q)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/cursors.py", line 375, in _do_query
db.query(q)
File "/opt/conda/envs/lost/lib/python3.7/site-packages/MySQLdb/connections.py", line 276, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.IntegrityError: (_mysql_exceptions.IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (lost.anno_task, CONSTRAINT fk_anno_task_group_id_group FOREIGN KEY (group_id) REFERENCES group (idx))') [SQL: 'DELETE FROM group WHERE group.idx = %s'] [parameters: (12,)] (Background on this error at: http://sqlalche.me/e/gkpj)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Test bug report

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

New annotation under the minArea property of SIA can't be modified

Describe the bug
A new annotation whose size is smaller than the minArea property can't be edited.

To Reproduce
Steps to reproduce the behavior:

  1. Create SIA task with minArea of 400
  2. Create an annotation smaller than 20x20 pix
  3. try to enlarge

Expected behavior
Either the creation of small annotations should be rejected, or it should be possible to enlarge small objects

Desktop (please complete the following information):

  • OS: Win64 x86_64
  • Browser Chrome
  • Version 72

lable videos

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Can't add a new class label as the pipeline has defined

In my annotation case, the new class objects will appear frequently.

In Dataturks, I can go to the backend of the Dataset Project and add the new class. But in LOST, I can't find this feature, so that I have to define a new pipeline. This wastes a lot of time.

Pipeline Annotation Task does not finish

Describe the bug
This Bug is only when you have a loop.
When you have in the first iteration images to label in anno task everything works fine.
In the second iteration when there are no images to label the anno task go to 100 but the state is not finished. The Pipeline stucks.

To Reproduce

  1. Create a Pipeline with a loop, anno task and script. (screenshot)

Expected behavior
Anno Task state should be fininshed.

Screenshots
pipeline_defekt_1

Desktop (please complete the following information):

  • OS: Linux
  • Browser: Chrome

Set executor priorities

Is your feature request related to a problem? Please describe.
If you have multiple exectutors and you want to primarily use one and have the second one for specific extreme situations then you can not do that. At the moment a worker/executor is choosen randomly.

Describe the solution you'd like
Set prioties as in a ranking.

image processing

How do I add image processing algorithms? When I make annotations I want to switch back and forth between the original image and the processed image.

Only rectangle annotation is available!

I Only ably to find rectangle annotation, no polygon, line or point are there

and I've followed the setup instructions as described in the readme.

Here is a screenshot
Screenshot from 2019-10-20 10-26-04

Desktop:

  • OS: [Ubuntu 16.04]
  • Browser [Mozzila firefox]
  • Version [69.0.2 (64-bit)]

Finishing an annotation task requires actions by every user ever active in this task

Describe the bug
The annotation task logic reserves images for an active user. Those reservations are not released after inactivity. This leads to the need that every user who ever opened the task needs to login at the end and finish the reserved images

To Reproduce
Steps to reproduce the behavior:

  1. Create an SIA task for at least two users
  2. Login as User 1
  3. Open the annotation task
  4. Logout User 1
  5. Login as User 2
  6. Start and try to finish the annotation task
  7. one the "last" image click "finish"
  8. a pop up apears which tells "not finished" yet
  9. task can only be finished by user 1

Expected behavior

  • reserved images should be released by using the logout button
  • reserved images should be released after a timeout period like the automatic logout
  • one active user left should be able to finish the annotation task

Desktop (please complete the following information):

  • OS: Win64 x86_64
  • Browser Chrome
  • Version 72

Restart a pipeline

Is your feature request related to a problem? Please describe.
It is unnecessary work to always create a new pipeline in the developing work.

Describe the solution you'd like
A simple restart button to restart the pipeline.

The storage of the two_d_anno in the database is variable and redundant

Describe the bug
In the database two_d_annos.data stores the annotation data. There are different formats.

  1. stores width, height, center x, center y
  2. stores width, height, center x, center y and left, right, top, bottom

When exporting the annotations with export_csv.py both formats will be outputted.

Expected behavior
The system should only use one format. From my point of view it should not be format 2. because there are redundant information.

SIA: deleting anno by close-X deletes it also from history

Describe the bug
When deleting an annotation by clicking to the close cross in the right top corner it can not be received back via CTRL+Z keyboard combination

Expected behavior
When deleting the annotation by pressing the DEL key it is saved in the history and can be received back with CTRL+Z

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Chrom

Kubernetes deployment

Hey
I am trying to make a kubernetes deployment of the tool. So far all of the services and deployments seem to be working fine except the "lost-cv-0" which keeps crashing with following error:

Traceback (most recent call last): File "/opt/conda/envs/lost/bin/celery", line 11, in sys.exit(main()) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/main.py", line 16, in main _main() File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/celery.py", line 322, in main cmd.execute_from_commandline(argv) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/celery.py", line 496, in execute_from_commandline super(CeleryCommand, self).execute_from_commandline(argv))) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/base.py", line 273, in execute_from_commandline argv = self.setup_app_from_commandline(argv) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/base.py", line 479, in setup_app_from_commandline self.app = self.find_app(app) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/base.py", line 501, in find_app return find_app(app, symbol_by_name=self.symbol_by_name) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/app/utils.py", line 359, in find_app sym = symbol_by_name(app, imp=imp) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/bin/base.py", line 504, in symbol_by_name return imports.symbol_by_name(name, imp=imp) File "/opt/conda/envs/lost/lib/python3.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name module = imp(module_name, package=package, **kwargs) File "/opt/conda/envs/lost/lib/python3.7/site-packages/celery/utils/imports.py", line 104, in import_from_cwd return imp(module, package=package) File "/opt/conda/envs/lost/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "/code/backend/lost/flaskapp.py", line 12, in file_handler = FileHandler(os.path.join(settings.LOST_CONFIG.project_path,'logs','flask.log')) File "/opt/conda/envs/lost/lib/python3.7/logging/init.py", line 1041, in init StreamHandler.init(self, self._open()) File "/opt/conda/envs/lost/lib/python3.7/logging/init.py", line 1070, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) FileNotFoundError: [Errno 2] No such file or directory: '/home/lost/logs/flask.log'

I tried creating the logs directory manually but it didn't solve.

Pipeline runs cannot be completed

Describe the bug
When I start pipeline sia.semiauto_yolov3,sia.request_yolo_annos.py cannot be finished

Expected behavior
Before annotator worked,request annotations using yolov3 predictions

Screenshots
1

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • OS: LInux
  • Browser: Chrome

SIA: Labels should have the same color in every image

Problem:
The labels do have in every image another color. Can lead to wrong annotations.

Request:
It would be better that when they would have the same color especially when there is a greater amount of labels.

Brush annotation tool

Is your feature request related to a problem? Please describe.
If there are multiple labels for a semantic segmentation task then it is quite cumbersome to handle the annotation task especially for small objects.

Describe the solution you'd like
For this a simple brush tool like in windows paint can be used for a pixel-based annotation. The data can then be saved with run-length encoding

new annotation in SIA sometimes spawned at shifted position

Describe the bug
Sometime when creating new annotations the new annotation is not places where the user clicked initially.

To Reproduce
Steps to reproduce the behavior:

  1. Go into SIA annotation task
  2. Select BBox Tool
  3. Right click and drag a new BBox
  4. See error

Expected behavior
The origin of the new BBox should be where the user clicked initially.

Desktop (please complete the following information):

  • OS: Win10 x86_64
  • Browser Chrome
  • Version 72

start LOST as a non-root user

Is your feature request related to a problem? Please describe.
As of now LOST has to be started as a root user. Which is not advisable and usefull in a wider userbase.

Describe the solution you'd like
The possibility to run LOST as a non-root user as in a user-group in linux

update_pipe_project.py updates wrong element in Database

Describe the bug
When copying a script from another pipeline, the update_pipe_project.py updates the wrong entry.

To Reproduce
Steps to reproduce the behavior:

  1. Have Pipeline A e.g the example pipeline "no_ai"
  2. Create a new pipeline which includes an copy of export_csv.py from "no_ai", let's call it Pipeline B
  3. Import Pipeline B with import_pipe_project.py
  4. change Pipeline B
  5. update Pipeline B with update_pipe_project.py
  6. see wrong log output:
    (INFO): Updated script: no_ai.export_csv.py
  7. check database: see attached screenshot

Expected behavior
update_pipe_project.py shall only update the selected pipeline.

grafik

Add instant annotation donwload! How to deal with growing datasets?

Let's see this case.

A pipeline has been defined.

But if

  • The images in my dataset folder are expanding, but the pipeline annotation progress will not.
  • A new class needs to be introduced, but the LabelTree of the pipeline can't be updated.
  • I just want to export some already labeled data annotation, but the pipeline makes me have to finish all the annotation task before I export the annotation.

The pipeline is a good character, however, it needs more flexibility.

SIA: switch to specific image by image number/index and image name

Is your feature request related to a problem? Please describe.
When i want to view the annotations for a specific image i can do that only by going through all images in the the list until i reach the desired image. So this takes often a lot of unecessary time.

Describe the solution you'd like
It would be nice when i could view an image by the image index/number/imagename.

Annotations Lost

Describe the bug
When annotating in Google Chrome, I encountered a loss of the label. At that time, I had already annotated a picture. He had more than 100 polygons. When I clicked the next one, I went back to the annotated picture. He has only 50 polygons, and even all polygons are gone.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [windows10]
  • Browser [chrome,]
  • Version [22]

deleting pipeline does not work everytime

Describe the bug
When i click on the delete pipeline button then i will be redirected to the pipelines overview and often the pipeline still exists. Deleting works like only every fourth time i pressed the delete button.

Expected behavior
Only redirect when the deletion is confirmed. Display a loading symbol/message

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Chrome

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.