Giter VIP home page Giter VIP logo

Comments (16)

juliusHuelsmann avatar juliusHuelsmann commented on July 24, 2024 6

Hey!

I implemented that feature (#20, #347) when I was considering to work with the labelImg tool. I did however decide against using it and thus did not entirely finish a minor part of the implementation (that can most likely be omitted). The version shipped in the referenced pull request is completely functional (should however be tested).

Two minor things I did not take care of:

  1. I did not finish the implementation of a rectangle angle check mechanism, that checks if the rectangle angle that is to be applied leads to a valid outcome having all edges in range of the image. The mechanism I implemented does not detect some cases where the rectangle is out of range and therefore I removed it via flag.
  2. The rectangle coordinates are floating point now, I am not sure if that can be used for the rest of the pipelines / if that works in accordance with the output formats. In case it does not, simple conversion to int on export is required.

Tested only via python3.
My fork with open pull requests be found at https://github.com/juliusHuelsmann/labelImg

Quick demo

  • sorry for the bad resolution
  • The stuff I commented out (see 1. above) is shown last (it is possible to rotate the rectangle beyond the shape of the image because I disabled that feature)

asdf

from labelimg.

ujsyehao avatar ujsyehao commented on July 24, 2024 2

@taopanpan Hi, you want to detect rotation bounding box? I am working on it, can we work together?

from labelimg.

zexihan avatar zexihan commented on July 24, 2024 2

Hey! I completed the work done by @juliusHuelsmann and added an additional output format for the rotated bounding box (type center_x center_y width height rotation). Specifically, the work is based on the latest version of labelImg and adds a 'KITTI BEV' format writer and reader. Please check it out: labelImg-kitti 😁

from labelimg.

tzutalin avatar tzutalin commented on July 24, 2024

@taopanpan ,
Have you tried to implement it?

from labelimg.

taopanpan avatar taopanpan commented on July 24, 2024

@tzutalin I tried,but failed. can you help me?

from labelimg.

tzutalin avatar tzutalin commented on July 24, 2024

@taopanpan ,
How can I help you?

from labelimg.

arasharchor avatar arasharchor commented on July 24, 2024

@taopanpan @tzutalin
I think we can work on it together to add this very valuable extension.
Let us continue here:

tzutalin/ImageNet_Utils#7

I have prepared a segmentation tool which is very good and efficient. Then we can integrate that into this tool to make it a multi-function tool.

Then let us make the whole tool webbased which annotators do not need to install anything except a web browser :)

from labelimg.

tzutalin avatar tzutalin commented on July 24, 2024

@smajida ,
Cool. Web based tool is nice for most of the people.

from labelimg.

ms10058 avatar ms10058 commented on July 24, 2024

@ujsyehao ,
If you can add this feature, it will be helpful to others._

from labelimg.

wangzhe0623 avatar wangzhe0623 commented on July 24, 2024

I am trying to implement this function, But I am new in PyQt. It's so hard for me````````````

from labelimg.

fastlater avatar fastlater commented on July 24, 2024

@tzutalin @smajida Are rotated bounding boxes valid to use for training the tensorflow object detection api?

from labelimg.

danzigjabalpur avatar danzigjabalpur commented on July 24, 2024

This guy has implemented a rotated Bbox function but it does not offer a YOLO format output.
https://github.com/cgvict/roLabelImg

Similar to @fastlater , I would also like to know if rotated bounding box would affect training for YOLO?Since YOLO only requires center coordinates, width and height of the Bbox, I assume it wouldn't affect
the training right?

from labelimg.

MarStarck avatar MarStarck commented on July 24, 2024

@juliusHuelsmann wonderful job. Could you share your windows binaries?

from labelimg.

juliusHuelsmann avatar juliusHuelsmann commented on July 24, 2024

@MarStarck
I am sorry, I do not use Windows as my operating system on any of my computers and did not manage to setup a cross-compile workflow with wine (because the python3 installer always crashes).

If you are able to compile the project on windows however, making the exe file should work straight out of the box:

If you can build the project (the link includes the patch I submitted), it suffices to (in case you have installed pip) execute the following two commands in the labelImg directory:

> pip install pyinstaller
> pyinstaller --onefile labelimg.py

after you have build the project once (with either qt5 or qt5) as described in the readme:

> pyrcc5 -o resources.py resources.qrc
> python labelImg.py

Edit:

Please be aware that it is very likely that the export function has to be adapted (I 'store' the coordinates as floating point numbers along with the rotation angle in memory, and depending on the future workflow the export output (which I did not touch at all) has to be changed), so do not start to label a lot of data before checking that everything really works out.
I did not use the patch myself because when I finished implementing it, it turned out that I did not need a labeling tool for my work anymore.

from labelimg.

xqtbox avatar xqtbox commented on July 24, 2024

@taopanpan @tzutalin
I think we can work on it together to add this very valuable extension.
Let us continue here:

tzutalin/ImageNet_Utils#7

I have prepared a segmentation tool which is very good and efficient. Then we can integrate that into this tool to make it a multi-function tool.

Then let us make the whole tool webbased which annotators do not need to install anything except a web browser :)

@arasharchor
Hello, is the “webbased” completed?

from labelimg.

engahmed1190 avatar engahmed1190 commented on July 24, 2024

Hi @zexihan . I have checked the tool but some images appeared to be rotated while the source image is not.

Do you mind to pull the latest changes at the master branch from the original repository and merged.

from labelimg.

Related Issues (20)

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.