antingshen / beaverdam Goto Github PK
View Code? Open in Web Editor NEWVideo annotation tool for deep learning training labels
License: BSD 2-Clause "Simplified" License
Video annotation tool for deep learning training labels
License: BSD 2-Clause "Simplified" License
HI
we want to use the scripts. Can you provide? thanks.
Something like draggable brackets in the timeline would be good:
---[----<>-----<><>-----]------
Create a decorator that replaces django.views.decorators.clickjacking.xframe_options_exempt
that only exempts after verifying that the source is mturk (via assignmentId
)
This includes:
Great tool.
I need to export frames + annotations for each so I can train SSD (single shot detector).
It looks like you're storing keyframes + interpolating between them in the Web UI.. is there some existing way to export the interpolated annotations frame by frame?
Figure I'll have to write some code - just looking for help on a starting point. Thanks!
We want to record the following times:
These should be sent back along with the annotation.
The backend should then parse this information, and store it if there is an associated Task object.
Lots of numbers are currently in the code from the width of borders and etc. Would be nice to get some help to remove them
Hello. First of all thank you for making the installation process so simple. I was able to get this up and running in no time.
I was wondering though if it's possible to run BeaverDam outside of Mturk. Correct me if I'm wrong, but I should be able to host this somewhere access work from the browser, right? I couldn't figure out how I can upload new content and access output. Any help will be much appreciated.
Thanks,
Anuj
Instead of crashing, display some message like "your browser is not compatible, please use XXX"
Currently, you can drag edges of selected boxes to resize them. We'd like to make it so that when the mouse is hovering over a border, the appropriate double arrow mouse icon is used (like in MS Word, for example). In CSS, this is done by changing the "cursor" property to "ns-resize", "ew-resize", "nesw-resize", and "nwse-resize". This new cursor should be used until the user is no longer mousing over a border of a selected box.
Hi guys,
Anyone know how to do this for adding action label in every object(person) in each frame? I am trying and new for this.
The getRandomColor
method in thing.js
should be looked into, as it currently doesn't span a large amount of hue space. And as color is currently being used as the ID of the Thing
, it should enforce uniqueness as well.
Hi,
How do we connect this to mechanical turk? Is there some missing documentation?
Here's what we've done so far:
I can see that the Task class in mturk/models.py actually calls publish and creates the HIT with AWS, but I can't see where the publish method is invoked.
Can you please provide some more instuctions?
Thanks for your help.
I want to use the sample video inside the static/videos/o.mp4. How I should set set the host/filename/source.
This includes a popup (or alternative) that has page by page instructions, and a button to re-open this popup.
Things of the same type should have the same-ish color.
The color plugin looks like it could help:
Holding down one of these keys
Q
W
E
A
S
D
Z
X
C
while moving the mouse should have the same effect as click+dragging from that edge.
Suggested by @allenywang
We want to ask people questions such as:
Need keypress functionality to move forward or backward to the next keyframe when focused. A keyframe expander would be nice too but not necessary if keypress functionality is implemented.
and possibly rename Rect
to Box
because we keep calling them that anyway
When the server passes a flag indicating this mode, the annotations loaded will not be displayed. Rather, the worker must annotate from scratch, and his work is compared to the loaded annotation at the end, cannot submit until they sufficiently match, and is encouraged to re-try.
Main challenge of this is writing an algorithm for "sufficiently match"
Using the sample videos, the video player has the feature of allowing the annotator to skip forward to any time in the video (either using the bar or by typing in a time). This feature works for the videos hosted on S3, but for locally-stored videos (such as /video/0) it doesn't work when the video is first loaded - only after the page is refreshed.
Any suggestions as to how I can either fix this or work around it?
Draft:
Instructions for Sublime Text 3:
SublimeLinter
SublimeLinter-jshint
npm install jshint
source:
Instructions for Sublime Text 3:
1. Install [Package Control](https://packagecontrol.io/installation)
2. Tools » Command Palette » Install Package » `SublimeLinter`
3. Tools » Command Palette » Install Package » `SublimeLinter-jshint`
4. `npm install jshint`
We need the ability to convert annotations to KITTI format, which involves converting them from JSON to python (builtin), then from that to KITTI.
Perhaps a "x" in the list of Things?
In the event that two things overlap with each other, it may useful to have a list of things such that if you click the thing, it'll be selected and moved to the top of the box list.
Currently, since the border size is a few pixels, the boxes stored in the annotation are 0.5 * border_width
larger than they actually are, assuming annotators are using the inside of the border to inscribe objects (right?).
We can fix this by either accounting for the offset in the box itself, or just convert all the boxes when we save the annotation.
Ideas:
It is pretty unclear how to add a video .
Some explicit instructions for those like me who are baffled after install:
After doing those I hit :
Exception Value:
unsupported operand type(s) for +: 'Exception' and 'str'
Exception Location: /home/jeremy/sw/BeaverDam/annotator/models.py in url, line 43
where line 43 is
raise Exception('Video {0} does not have a filename, host or
image_list. Possible fixes: \n1) Place {0}.mp4 into static/videos to serve locally. \n2) Update the filename & host fields of the Video with id={0}'.format(self.id)) + self.filename
So it appears there is a parenthesis problem here, the line should read
raise Exception('Video {0} does not have a filename, host or
image_list. Possible fixes: \n1) Place {0}.mp4 into static/videos to serve locally. \n2) Update the filename & host fields of the Video with id={0}'.format(self.id) + self.filename )
after fixing that in models.py, I get an error complaining about the filename. I will try changing to 149.mp4 as the error seems to expect that name.
How can I use the beaverdam as a standalone tool to annotate my own videos and get the coordinates of my boxes?
Use the iframe_mode
parameter in video.html
to template a better viewing experience when inside an iframe
Due to the interpolation between when the car is stopped at a light and when the car starts to move when the light turns green, the box drifts. Should have some sort of functionality to either duplicate the box exactly where it was so that there is no delta in between the two times.
Why:
Create a global config parameter min_size
, such that if the user tries to create any box's width or height is smaller that min_size
, ignore it and do nothing.
We don't need to have a sidebar – that would be too much mouse movement.
Instead we can have settings in a popup:
/---------------------------------------\
| Edit thing #2 |
|---------------------------------------|
| |
| Type [ Car |*Pedestrian*| Other ] |
| |
| [√] Hide when unset |
| |
| Notes ---------------------------+ |
| | | |
| | | |
| +--------------------------------+ |
| |
| [Delete] |
\________________ ____________________/
\ /
V
This library can help with popups: http://github.hubspot.com/drop/docs/welcome/
It's not clear how to do attributes like Vatic supports. For example, if I annotate a traffic light, I might like to mark its color. If I use different labels, like trafficlight-red, trafficlight-green, then they will not be the same object ID, so I would have to merge the tracks. It is better to have a color attribute in addition to the label that can be red or green.
Or, have behavior consistent with clicking in a blank spot inside the draw area
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.