Giter Site home page Giter Site logo

ryouchinsa / rectlabel-support Goto Github PK

View Code? Open in Web Editor NEW
490.0 18.0 72.0 10.91 MB

RectLabel is an offline image annotation tool for object detection and segmentation.

Home Page: https://rectlabel.com

Python 100.00%
object-detection image-classification labelling annotation-tool annotations imagenet label-images detection tensorflow faster-rcnn

rectlabel-support's People

Contributors

ryouchinsa 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

rectlabel-support's Issues

select and delete multiple annotations

Hello,
We have an automated process which detects salient features and automatically draws bounding boxes for us. We then open the images and corresponding Pascal VOC in RectLabel for final naming and cleanup of the labels. Because our saliency detection often find more objects of interest than we actually desire, I would like to be able to select and delete multiple annotations at once. Is it possible for you to add this feature?
Thanks,
Lonny Lundsten

Why do I need to right-click a box to select it?

I often have to modify boxes copied with command + i from the previous image.
Usually I just have to move each boxes, add/delete one or two boxes and few resizes.
To select a box I have to right click it, the contextual menu pops in, left click outside the menu to discard it, click the center point to move the box, done.

Why can't I just left click the box to select it and move it?
Is there a better solution than right click?
Using the list of boxes on the right is not an option for me since I have many boxes with the same class name. I use this feature only when a bigger box do not let me select a smaller box that is inside the big one.

Add a delete image feature

Sometimes in the train corpus, we can see the same image twice or an image that we do not want to label (since it has nothing to do here). So we need to delete it.

Now, I

  • open the image folder in Finder,
  • search the image,
  • delete it.
  • On RectLabel, click Open folder,
  • choose the same folder, RectLabel reset the current image to 1,
  • multiple command + right arrow to search next image (see also #15)
  • done

I suggest to just :

  • clic Edit | Trash current image
  • select Yes in confirm box,
  • done.

[FEATURE] The canvas should resize when resizing the window

This is a UX problem:

the labels box is stuck with the canvas, and they're centered in the app's window. If you make the window wider, only the sides go wider, but the size of the canvas is the same.

I suggest having the list of boxes stick to the right size, and the canvas (along with the "<", ">" buttons) take up all the remaining space. This makes it easy to still keep the whole document width when zooming in, for annotating small objects in big images.

As a plus, consider making the background of the app window a little bit darker in colour or putting a small border around the image canvas. This helps when you have images with white background (documents) and you cannot see where the image finishes and the rest starts. I admit my monitor is not perfectly calibrated and there may be a difference between the two, but it is too small.

Many thanks for your support !

Earlier version of app for macOS 10.12

Hi,

I'd like to ask you if it would be possible for me to download a previous version which is compatible with my OSX version (10.12)? As I've seen version 1.35 would be just fine for me.

Thanks,
Peter

Move annotated images

It would be useful to have a prefix or re-locate tagged images to a different folder so i dont have to check which images are ready to train the model.

What are the chances that you can open the source base?

Would like to make some improvements:

specifically build in a translator so that the annotation files/file can better be transcoded to the different project bases - like tensor box..

  1. translate all annotations from json to P.voc
  2. support relabelling annotations for simplification (again full set)
  3. concatenate json files to a single annotation.json file (similarly for P.VoC)

Very willing to code improvements and drive Pos

Negative coordinates

Is there support for negative coordinates (say, for an object with some occlusion)?

Order of image

Hello, looks like the images are ordered as "339.jpg, 3390.jpg, 3391.jpg, ....". Is there a way I can order images by the numerical value instead of alphabetical order? I was trying to get images in the order "339.jpg, 340.jpg, 341.jpg ...". Thanks a lot!

Add a copy boxes / template boxes feature

When labeling a train data, we often label similar images in a row.

For example, I currently have a document type to label, I have many images of this kind of document, each image has nearly the same boxes with the same classes at roughly the same position.

It would be great to just have a hotkey to duplicate the boxes of the previous image and just adjust the positions.

Has a workaround I currently duplicate the JSON file and change the path of the image, but it's not very productive.

[Feature request] No prompt for single label

It is getting annoying and tiring to have the pop-up dialog for every annotation.

I believe it would be much much faster if we could select a label, then make all boxes for that label. No prompting in between. Then we change to the next label, and again do all boxes.

Obviously, if you have only 1 label, you never get the prompt, which is just getting in the wa

Add a way to define custom hotkeys.

As I use RectLabel in a multi language environment, the default hotkeys are not always suitable for production use.
For example command + 0 (zero) to Zoom Fit needs two hands on a French keyboard, and going from mouse to keyboard and back is not very handy. If one can use his own hotkeys this would solve the problem.

I have personally implemented MASShortcut in my own application with success.

Rectlabel keeps quitting unexpectedly

I am no longer able to open RectLabel without it quitting right as I open it, and then I get an error message asking if I should ignore, report, or reopen the app. I am on a Mac.

How can I resolve this issue?

We need your feedback to improve RectLabel.

We have an e-mail address to support RectLabel users.
[email protected]

Also we have a twitter account to inform new updates.
https://twitter.com/rectlabel

We had some feedback on e-mail and twitter.
"Awesome tool!! Any chance you could add templates to go into PASCAL VOC format or COCO, this would make it even easier."
https://twitter.com/EyeingChicago/status/858799956404183040

If you could find some problems for RectLabel, could you post the problem on this issues page?
We can share the problem and how to solve it among our users.

Best regards,
Ryo

exported COCO json not contained `annotations`

Hi,

I'm trying to use rectlabel_create_coco_tf_record.py to convert COCO to TFRecord.
Once I run the command, it tell me:

Traceback (most recent call last):
  File "/Users/tester/codes/Rectlabel-support/rectlabel_create_coco_tf_record.py", line 195, in <module>
    tf.app.run()
  File "/Users/tester/codes/tensorflow_workspace/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "/Users/tester/codes/Rectlabel-support/rectlabel_create_coco_tf_record.py", line 184, in main
    num_shards=1)
  File "/Users/tester/codes/Rectlabel-support/rectlabel_create_coco_tf_record.py", line 160, in _create_tf_record_from_coco_annotations
    annotations_list = annotations_index[image['id']]
KeyError: 1

When I trying to troubleshot for this error, I found the exported COCO json file not contained annotations as below:

...
  "annotations" : [

  ],
...

is that a expected behavior?

please advice me if anything else i forget to configure in RectLabel?

Thank you, it a awesome tool! :)

Classes are lost after moving training set

When I move the training set (Image directory and annotations subfolder) from a computer to an other and open this training set to the new computer, only 2 classes are present : face and shoes.
This occurs even if I can see the actual classes on the already labeled images.

Have I missed something?
Is the class list stored somewhere, so I can copy it?

Label boundaries exceed image range

Hey,

I noticed that the boundaries of annotations can exceed the image ranges, i.e.

  • Obtain -2 for xmin/ymin
  • Obtain 325 for xmax/ymax even though the images sizes are 320x320

I don't know if this is the desired behaviour, but I was definitely not expecting it.

It can happen in case I adjust my annotations and drag the anchors outside of the image boundary. I haven't tested JSON yet, but this definitely occurs with PASCAL-VOC format which broke some of my machine learning pipelines.

Version: 1.24

Cannot save bookmark to the folder

The file couldn't be opened.

file:///Users/.....

I'm getting this error message whenever I try to open a folder, same message whether it is a folder that I've already annotated in Rectlabel (with existing xml files) or a new one. Haven't used the app in a couple of months but was working well before

13" Macbook Pro bounding box is only square

When trying to label objects, the bounding box is forcing me to use a square. What I mean is no matter how much I drag the mouse when I'm drawing the box or when I attempt to resize an already drawn box, it's forcing the aspect ration to be 1:1, so I can't draw a rectangle.

square_box

Rectlabel v1.26

Note: I did not see this behaviour on my 15" Macbook Pro with Rectlabel v1.24.

dark theme

Working with tons of images in a dark room with a bright white app can really begin cause fatigue and eye strain. It would be nice to have a dark theme for working in 'dark room' type environments. Photoshop, Pixelmator, and Affinity Photo all have dark backgrounds and are excellent examples to emulate.

Window resizing

First of all, let me just say thanks for creating Rectlabel. I have found Rectlabel very simple and straight to the point whereas other labelling tools require PyQt4 which isn't compatible with modern macOS releases.
I find it quicker to just label the smaller objects right away than have to zoom in to get a clearer view of them. Resizing the windows to make them large causes some of the UIViews to disappear and the image view also gets displaced. I get around that by keeping the window size small enough for the UIViews to still be visible. It's not very high priority as everything else still works great but a few more Auto Layout constraints could definitely make this great app even better.

exported csvs are not stable

Hello,
each time I export csvs (convert to csv), the csv file contains different coords. I'm including a few different exports. There were no annotation changes between these saves.

Archive.zip

Next Image

I'm sure I'm overlooking something simple, but when I move to the next image in the directory the bounding box from the previous image already appears. Then in the XML, 'filename' is that of the next image, not the original.

Not sure how to save the bounding box for an image, then move to the next image, creating the next xml file in the process.

Can't save bbox files

Hey!

Can't seem to save BBox file on MacOS Sierra, RectLabel downloaded from the app store. Error says a folder can't be created but doesn't give another option for saving the .json (in my case) file, nor does making my own annotations folder fix the problem.

Cheers,
Elizabth

Need a way to navigate quickly in images

Our corpus of train documents is growing quickly (yesterday I had 320 images, today I have 2396 images).

We need to seek at random position (to take a template of boxes for example) in the flow of images and with Command + arrow it is just not possible.
A search by index and by partial/whole filename would be great.

For example:

  • jump to (command + j), type 1568 : RectLabel displays image # 1568
  • search (command + f), type age*568: RectLabel displays image named "MyGreatImage_1568.png" if it's the only match or a clickable list of all matches with a preview of each image (limited to 50 to avoid memory issue)

No way to convert from json format to pascal VOC

I annotated a bunch of images and then realized that the setting was set to json which is not the format I want.

I switched to Pascal VOC but now I would have to re-annotate everything.

Is there a way to convert the json files to Pascal VOC xml?

Launch Rectlabel from command line & open folder

Hello,

I can launch rectlabel form the terminal using this command: "open -a rectlabel"

Is there a way to pass in an argument to specify what folder to open? I have a need to launch rectlabel from a script, opening a different folder of images each time for labelers.

Thanks in advance,
Zach

Inconsistent naming in XML and JSON formats

There are a number of inconsistencies in XML and JSON formats that range from the treatment of image size:
XML =

4928
3280

JSON = "image_w_h" : [4928,3280],

to Objects:
XML =

carconenumber-1

2287
1865
2677
2099

JSON = "objects" : [
{
"label" : "carconenumber-1",
"x_y_w_h" : [2287, 1865, 391, 235]
}]

as well as challenges with respect to a concatenated annotation model supported for platforms like TensorBox.

The VOC format really expects:
/* tensorbox annotation format:
https://github.com/Russell91/TensorBox/blob/master/utils/annolist/readme.md
{
"images": [image],
"classes": [string]
}

image{
"id": int,
"image_path": string,
"rects": [rect]
}

rect{
"classID": int,
"x1": int,
"y1": int,
"x2": int,
"x2": int
}*/

so there may be some "custom" Tensorflow semantics here, but I'd love to create the encoders/decoders to support a multitude of different TF annotation structures?

open the base?

Idea for new program.

I made a video to talk about an idea I had for a simple program to generate small labeled images fast. You would load an image into the program and then use the mouse to take snapshots and automatically save them to folders for each class. You might use hotkeys to designate classes. Not sure if this exists already? https://www.youtube.com/watch?v=FDouW7fSIms

Export to COCO format

Awesome tool! But I think you need to support more export format options like COCO, JSON!

Double-clicking deletes shape which is very frustrating

When I am creating a polygon outline for an object, sometimes I'll accidentally double click instead of single click.

In the current version of RectLabel, double clicking while drawing a polygon instantly deletes and clears the entire shape for some reason. This is very frustrating if you are annotating complex objects:

rectlabel ui issue

Is there any way to disable this feature? If not, could you consider that as a future feature?

Allow auto save function

Allow to enable an autosave function to save every annotation we make or modify automatically.

Problem buying in App Store

Selecting "unlock RectLabel" times out--just a spinning loading wheel. Sometimes a message appears saying to contact the App Store.

How do you purchase the program?

rectlabel for mac 10.11

The app is only available for mac version 10.12 or above I have a 10.11 can I still use this?

Feature request: Direct export to Turi Create?

Great app!

Would like it to export direct to Turi Create format. I know CSV export is implemented, but would be nice with a export for Turi button.

If you could do a smooth transition from pictures to Turi, I could easily see your app becoming a 'standard app' in the workflow of marking images for machine learning on macOS.

Thats all, have a nice day!

Polygon bounding box?

Would it be possible to automatically compute and add the minimum bounding box for a polygon object? This would be helpful for Tensorflow.

Rectangle is not shown

I can create boxes and they are shown in the right panel, but once I accept a box, it is no longer shown on the image. I tried to focus or edit or move but it just won't show. So I have no idea what I am editing.

MacOS High Sierra

About bounding box rotation

  1. After rotating the bounding box, we can't change the size of bounding box with keeping the shape of it as a rectangular. Could you add some constraints?
  2. A possible improvement is to provide more output format: like (center_point_x,center_point_y,width,height,rotation_angle) in xml

Anyway, your tool is the most convenient to use for OSX users, thank you!

JSON format: file names may be stored in relative form.

I use RectLabel to label images on my Mac. The resulting files are then copied to big server with plenty of CPUs and GPUs running under Linux.

The issue is that I need to modify each JSON file to match the file system of the Linux box.
If the path was relative between JSON and image file, my job would be easier ๐Ÿ˜‰

A simple checkbox in preferences may do the trick.

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.