Giter VIP home page Giter VIP logo

Comments (5)

NFiedler avatar NFiedler commented on May 28, 2024

Thank you very much for your contribution and your ideas!
I don't want to directly implement any format because i want to keep the flexibility at the highest possible level. So i'd rather add functionality to the export creation itself.
As far as i see, the path is the only problem here. The filename has the %%image placeholder. Because the path to the file depends on the system i'd recommend using a shell variable (e.g. export IMAGE_SET_PATH='/home/nfiedler/Bit-Bots/imagetagger') and saving the images in a directory in that path named after the imageset. Then you could use the export format as follows:

<folder>%%imageset</folder>
<filename>%%image</filename>
<path>$IMAGE_SET_PATH/%%imageset/%%image</path>

Therefore the %%imageset placeholder is needed in the annotation format. This is missing right now.

from imagetagger.

corenel avatar corenel commented on May 28, 2024

Thanks for your help!
I'v tried this:

  • for Base format
<annotation>
	<folder>%%imageset</folder>
	<location>%%setlocation</location>
	<team>%%team</eram>
	<source>
		<database>Unknown</database>
	</source>
	<segmented>0</segmented>
%%content
</annotation>
  • for Annotation format
	<filename>%%image</filename>
	<path>$IMAGE_SET_ROOT/%%imageset/%%image</path>
	<size>
		<width>%%imagewidth</width>
		<height>%%imageheight</height>
		<depth>%imagedepth</depth>
	</size>
	<object>
		<name>%%type</name>
		<noobject>0</noobject>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<verified>%%veriamount</verified>
		<bndbox>
			<xmin>%%x1</xmin>
			<ymin>%%y1</ymin>
			<xmax>%%x2</xmax>
			<ymax>%%y2</ymax>
		</bndbox>
	</object>
  • for Not in image format
	<filename>%%image</filename>
	<path>$IMAGE_SET_ROOT/%%imageset/%%image</path>
	<size>
		<width>%%imagewidth</width>
		<height>%%imageheight</height>
		<depth>%imagedepth</depth>
	</size>

	<object>
		<name>%%type</name>
		<noobject>1</noobject>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<verified>%%veriamount</verified>
	</object>

But there comes two problems:

  • You don't supply the placeholders for width, height and depth of a single image file;
  • It seems that current exporting util is designed to export all annotations of all images into single file. I'm wondering if it's convenient for you to add a feature to export all annotations of each image into a single file and then compress them up.

Of course, if you're focusing on add other useful features which is much more important, I can also write a tiny Python script to convert the current all-in-one annotation file into what I desired. That's quite easy.

Thanks for your great contribution on building such an excellent image labelling tool!

from imagetagger.

NFiedler avatar NFiedler commented on May 28, 2024

Now i understand the problem. I think two features are needed to realize this functionality:

  • aggregation of annotations by image
    • an additional image form is required (base, image, annotation, not in image)
  • exporting into multiple files (one for every image)

The aggregation of annotations by image would make it very easy to split the file locally until the splitting feature is implemented.

from imagetagger.

corenel avatar corenel commented on May 28, 2024

Thanks for your quick reply!
Then I'll write my own scripts for temporary use and wait for the splitting feature.

from imagetagger.

NFiedler avatar NFiedler commented on May 28, 2024

Meanwhile the aggregation by image is possible and the additional placeholders are implemented. I wouldn't like to have the splitting feature on our hosted version, because it leads to a high server load (creation and zipping of thousands of files for large imagesets), and is easily achievable with a simple script on the client side.

from imagetagger.

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.