Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Training Dataset with files annotated and converted to coco format Using labelme #1973

Open
MAdil45 opened this issue Jan 23, 2020 · 11 comments

Comments

@MAdil45
Copy link

MAdil45 commented Jan 23, 2020

Hi. I successfully implemented the demo versions-(coco, balloons, and shapes). Now i want to train the model on my custom dataset. I have dataset of almost 200 different meals and i have annotated them by using labelme. As i have noticed that those balloons are annotated by using VGG annotated tools and their json files are different. I have converted into coco format by using labelme tool and my json file is different. I
Region
tried to use balloon.py file to train but i got error of keyerror: region. I have json file in the following format.

{"info": {"description": null, "url": null, "version": null, "year": 2020, "contributor": null, "date_created": "2020-01-23 12:15:25.787447"}, "licenses": [{"url": null, "id": 0, "name": null}], "images": [{"license": 0, "url": null, "file_name": "JPEGImages/40014010215649790351.jpg", "height": 384, "width": 480, "date_captured": null, "id": 0}, {"license": 0, "url": null, "file_name": "JPEGImages/40014010215649785791.jpg", "height": 384, "width": 480, "date_captured": null, "id": 1}, "license": 0, "url": null, "file_name": "JPEGImages/40014010215649781051.jpg", "height": 384, "width": 480, "date_captured": null, "id": 100}], "type": "instances", "annotations": [{"id": 0, "image_id": 0, "category_id": 6, "segmentation": [[309.0569105691057, 143.90243902439025, 423.6910569105691, 265.0406504065041]], area": 17664.0, "bbox": [261.0, 113.0, 128.0, 138.0], "iscrowd": 0}, {"id": 410, "image_id": 100, "category_id": 2, "segmentation": [[94.42276422764229, 190.2439024390244, 236.6991869918699, 327.6422764227642]], "area": 20825.0, "bbox": [147.0, 58.0, 119.0, 175.0], "iscrowd": 0}], "categories": [{"supercategory": null, "id": 0, "name": "background"}, {"supercategory": null, "id": 1, "name": "0"}, {"supercategory": null, "id": 2, "name": "1"}, {"supercategory": null, "id": 3, "name": "3"}, {"supercategory": null, "id": 4, "name": "14"}, {"supercategory": null, "id": 5, "name": "17"}, {"supercategory": null, "id": 6, "name": "26"},

I need to train my model, so could please anyone suggest me to what should i do and how can i modify the ballooon or coco.py file so i can use it to train on my dataset.
Thanks:

@MAdil45 MAdil45 changed the title Training Dataset with files annotated labelme Training Dataset with files annotated and converted to coco format Using labelme Jan 23, 2020
@truongtd6285
Copy link

the format of JSON file exported from VGG looks like:

        # Load annotations
        # VGG Image Annotator saves each image in the form:
        #{ 'name_and_size':
	#  { 'filename': '28503151_5b5b7ec140_b.jpg',
	#   'size': 100202,
        #   'regions': [
        #       	{
        #           
        #           'shape_attributes': {
	#				'name': 'polyline',
        #               'all_points_x': [...],
        #               'all_points_y': [...]
        #               }, 					
	#			'region_attributes': {name:'a'}
	#			},
        #       ... more regions ...
        #   ],        
        # }
		#}
        # We mostly care about the x and y coordinates of each region

in that format we have a key called 'region' that stores all interested regions of your images. From your JSON file above, i cannot see a region likes that. It was the reason why you got the KeyError. I think if you want to use ballon.py, you should use VGG to create annotation files.

@MAdil45
Copy link
Author

MAdil45 commented Jan 24, 2020

@truongtd6285 Hi. Thanks for the response. However, in this project we are only allowed to use labelme to annotate and for conversion into coco format. I have already talked to our supervisor and he told me that you cannot use VGG. Could you please suggest me the modifications or any suggestion that could help me with this problem. Thanks.

@truongtd6285
Copy link

I think you have two options:

@maxpaynestory
Copy link

I have modified balloon.py to parse json files created by labelme against each image.

@MAdil45
Copy link
Author

MAdil45 commented Jan 25, 2020

Hi @truongtd6285 Thankyou so much. Appreciate it Brother. I have to stick with the first option.
Hi @maxpaynestory Could you please help me with the problem. I want to modify the way you did. I am very new to python so kindly would be great help if you can suggest me the modifications.

@YashRunwal
Copy link

@maxpaynestory Can you share the code for parsing json files created by labelme in balloon.py? It would be really helpful. Thanks.

@kimsangseob
Copy link

I have modified balloon.py to parse json files created by labelme against each image.

Can you share the code plz?? It would be really helpful!! Thank you

@alexbarnadas
Copy link

I have modified balloon.py to parse json files created by labelme against each image.

@maxpaynestory please tell us how you did it!

@alexbarnadas
Copy link

I've found this implementation which creates that function, I'm going to try, hope you find it useful, I'll tell you if it works.

@iqbalchoironi
Copy link

I've found this implementation which creates that function, I'm going to try, hope you find it useful, I'll tell you if it works.

sakalangkong kak, ecobaah delluh pola bisa yeh 🔢

@darko262
Copy link

hello I have the same problem, could one be successful?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants