make-sense icon indicating copy to clipboard operation
make-sense copied to clipboard

Annotating images in batches and tracking progress.

Open Chiebukar opened this issue 2 years ago • 9 comments

Since we often have to annotate lots of images its is impossible to annotate the images on one go. It will be good to be able to save current progress and continue from there later on even we leave the site or PC shuts down.

There is also no notable way to know how many images have been annotated and the number of images remaining. This is quite useful in tracking progress of work done and left to do.

Chiebukar avatar Mar 21 '22 09:03 Chiebukar

👋 Hello @Chiebukar, thank you for your interest in make-sense - free to use online tool for labelling photos! 🏷️

🐞 Bug reports

If you noticed that make-sense is not working properly, please provide us with as much information as possible. To make your life easier, we have prepared a bug report template containing all the relevant details. We know, we ask for a lot... However, please believe that knowing all that extra information - like the type of browser you use or the version of node you have installed - really helps us to solve your problems faster and more efficiently. 😉

💬 Get in touch

If you've been trying to contact us but for some reason we haven't responded to your issue yet, don't hesitate to get back to us on Gitter or Twitter.

💻 Local setup

# clone repository
git clone https://github.com/SkalskiP/make-sense.git

# navigate to main dir
cd make-sense

# install dependencies
npm install

# serve with hot reload at localhost:3000
npm start

To ensure proper functionality of the application locally, an npm 6.x.x and node.js v12.x.x versions are required. More information about this problem is available in the #16 issue.

github-actions[bot] avatar Mar 21 '22 09:03 github-actions[bot]

Or you can write a simple program to move all the images with annotation into a separated folder, and another one to merge the new annotation file with the old (bbox annotation should be a piece of cake, polygon annotation should take you a little longer).

VincentL01 avatar Jul 27 '22 15:07 VincentL01

Hi, @ThangLC304! 👋 Yup! The problem is that people want to use MS as a full-fledged annotation tool. At least for the time being, we have no plans to add such functionalities because their development would require a very large time investment.

SkalskiP avatar Jul 27 '22 17:07 SkalskiP

We can start with project based approach. the current project name in the top center wasn't really useful.

rasyidf avatar Jul 27 '22 17:07 rasyidf

I have some ideas for persistence, that would not require building a backend.

  1. GitHub API - The user would log in to MakeSense with his/hers GH account, and we would create per project private repo on his behalf and use it for storage. We can thal leverage GitHub API to read and write to that repo.
  2. The File System Access API - a new feature that is slowly rolled out in web browsers. Basically allowing websites to have access to your hard drive like it would be natively installed on your computer. Problem is that it is only supported on Chrome and Edge and it is still quite clunky.

SkalskiP avatar Jul 27 '22 18:07 SkalskiP

I guess this will do .

rasyidf avatar Jul 28 '22 19:07 rasyidf

I'm not sure. Do you see any way to create a new file here? Also, it is quite interesting if you can create zip files this way. I was thinking we can use .zip as the "project" file format, and put images as well as our state JSON inside.

SkalskiP avatar Jul 28 '22 20:07 SkalskiP

creating .zip file is a good approach. but maintaining more than 500 mb data will be much harder using zip.

my suggestion is creating project json with list of anotated file. and drop the folder that contained the json. we can crawl every object-names, get the thumbnails, then proceeds, without the need to load everything at once.

rasyidf avatar Jul 28 '22 20:07 rasyidf

You are right 😔 we would need to load the whole .zip file from the hard drive to even start processing it. Keeping images separate makes it much more sense as it allows us to load them on demand.

The problem that I see is that then:

  • One project, is stored as multiple files on the hard drive
  • If a user violates the structure of the project, for example, manually deleting or moving files on disk, the entire project will be corrupted

SkalskiP avatar Jul 28 '22 21:07 SkalskiP