Hi again .. minor request?
you've probably seen all the super powerful general purpose AI models out there now.. things like google gemma3 which can describe images.
it would still be nice to have this dataset we built over the years as ..
(a) our contribution to the general data lake . There is the accusation that general AI models "steal" data. the more we can show voluntary data the better. (b) could be used for benchmarks (we could use other vision models and see how well they predict out labels) There's good models to generate vector embeddings from text aswell eg huggingface text embedding comparison. these could sift through similar labels .. we could train vision nets that go straight into that embedding space per pixel.
Q1 would you be able to 'make productive' (add to your official label list) some of the most used label suggestions .. it would let more people see what got done here, & browse & download Maybe you could add the most 100 used labels.. or all the labels with more than 100 annotations off the top of my head some of these would be good
window left/cat right/cat left/dog right/dog left/car right/car handle head/insect thorax/insect abdomen/insect wing/insect tabletop wooden_tabletop fuselage cockpit
various parts without their object prefix e.g. head foot hand
Q2 Did you have an export of this dataset into 'LabelMe' format.. it would be great to release it in a form that goes straight into other labelling tools
It might all seem like a drop in the ocean .. but every drop counts
Thanks for keeping this project going and your server running for so long !
Hey,
thanks for your post!
I started a few days ago making labels productive again (that's where those big spikes in the graph come from). I'll try to make a few labels productive every day now - need to wait ~30min for each label, since there's an extensive test suite of ~200 integration tests running for every added label, which ensures that the change doesn't break anything. But the number of productive labels should increase steadily now :)
Did you have an export of this dataset into 'LabelMe' format.. it would be great to release it in a form that goes straight into other labelling tools
I remember that I started with that once, but then didn't continue with that. Need to check if I have the code is still around somewhere, but I am afraid not. :(
Due to a lot of work at my day job, I am mostly running the project in maintenance mode. So, I am primarily doing security fixes, system/library upgrades and all that stuff to keep the system healthy. I hope that I can keep the system running as long as possible. At the moment the whole thing costs me ~90€ per month - which is kinda okay for a pet project. Over the past years I've seen some steady increases of the costs though. I hope that the current situation in the world doesn't lead to some big price increases. Since I am using a european hoster, I think (hope) that's not the case, but one never knows. If it happens, then I have to think about alternatives or maybe even shut the project down (temporarily). But in that case, I'll upload a public backup of the whole data before and will announce that upfront a few weeks (months).
yeah the real world situation is a bit concerning :/
and yeah I see the official label list has grown a bit (577, last i remember it being 546 or something), great :)
maybe with more productive labels the site has enough services already. I remember you've got this export tool .. maybe a script could query that endpoint to grab all the labels ? would it's existing text-entry box handle a long string of "man|woman|car|cat|dog|..<600+labels..>" .. or is there a wildcard option in there ?
I do run a little minimal server myself these days .. $20/month instance, but I dont have https or a domain name.. just a plain IP ( a bit nervous putting the actual IP up, if you have a place I could DM it.. are you still on reddit?).
I have a little wasm/rust based game engine on there, i've also been uploading batch generated random stable diffusion/flux ai prompts (I have an RTX4090 now).. thinking this could be used as synthetic data, 'domain randomization' etc for more training . I was considering uploading them here (maybe a label for 'ai generated' vs 'photo' etc could help) . ~40,000 images like this there together with the original prompts
Maybe I could render a browsable visualization of the imagemonkey dataset and throw it up there aswell (I did that before but lost that code.. just before the generative AI boom I was actually trying to train something on the left/right man/woman annotations).. I seem to remember there was a downloader script already that I used (again i've lost it)
Hi, Here is your export script modified to write out LabelMe format; I've been able to load the output of this straight into the offline LabelMe tool :) I was pleased to see that even the non-productive labels still come through if they are used in annotations, even if you can't yet query for them .. I should be able to get a significant fraction of the data out now.
I'll see if I can dig up the annotation thumbnails I had , or there's probably something off the shelf for that somewhere aswell
if it's ok with you 'd want to make the LabelMe compatible data available.. host it publicly in some static format with a link back to ImageMonkey. perhaps if you add some of the thematic labels "agriculture" "medical" "workshop" "industry" "nature" .. it'll give export access to more .. but failing making the most annotated label suggestions live still improves what people get to see on the site
import requests
import json
import os
import sys
import math
import secrets
DOWNLOAD_DIRECTORY = "images" #/tmp/images
BASEURL = 'https://api.imagemonkey.io/' #'http://127.0.0.1:8081/'
USE_LABELME_FMT = True
SEARCH_QUERY = "man|woman|street|road|pavement|car|truck|bus|van|tree|building|bird|sport|music|agriculture|countryside|home|"+\
"mountain|waasp|tree|food|balcony|gate|fountain|road|street light|wineglass|tennis ball|knife|handrail|litter|"+\
"sign|scarf|flour|farm|harbour|box|sunflower|theatre|litter bin|winter|strawberry|napkin|street|monument|candle|orange|"+\
"leaf|cushion|dress|coat|motor scooter|bookshop|junkyard|hand/person|museum|construction site|duck|wheel|egg|village|dining room|"+\
"light bulb|traffic|lion|jacket|right/ear/woman|pizza|gym|sofa|traffic cone|library|metal railing|plant pot|desert|left/arm/woman|"+\
"raspberry|railway station|nose/dog|insect|roof/house|yacht|soil|mammal|right/shoulder/man|wheel/car|coastline|jar|swan|plate|pillow|paper|barbell|garden|cityscape|bedroom|"+\
"pineapple|india|parking space|stepladder|castle|tower crane|windmill|left/man|fork|canada|bottl|machine|rabbit|toy|shelf|"+\
"child|living room|taxi|carrot|chicken|truck|outdoor|pillar|laptop|monkey|puddle|mushroom|padlock|spider|goat|foot/bird|"+\
"path|land|middle east|brazil|"+\
"ship|usa|typewriter|key|car park|book|right/eye/woman|salad|wrist watch|peacock|night sky|swimming pool|stone wall|sheep|bridge|brownfield site|"+\
"forest|workshop|pen|clothing|elephant|soldier|river bank|cabin/truck|lake|island|crowd|vase|town centre|tomato|onion|crane|lemon|bicycle|skyscraper|umbrella|cucumber|garage|window|squirrel|smoke|japan|foliage|lenur|apple|sun|floor|"+\
"aviation|art|left/leg/woman|power station|grass|bulldozer|machinery|red_panda|"+\
"food and drink|painting|bullet|statue|stadium|cupboard|billboard|woman|car|spoon|bread|germany|boat|camera|fence|cafe|vegeetation|shop front|jet airliner|"+\
"ceiling|concert|graffiti|surfboard|fork lift|right/man|door|gravel|water|guitar|curtain|ear/dog|hillside|airport|stool|"+\
"bus shelter|roadworks|jungle|volleyball|ball|handbag|computer monitor|camel|bowl|rope|park bench|ant|sushi|shopping mall|"+\
"river|container|TV|picture frame|cathedral|chopping board|man|indonesia|park|nature|right/hip/woman|mimcrophone|traffic island|"+\
"tram|aircraft|left/eye/woman|moth|poland|shipping container|fruit|flag|butterfly|wood|fish|location|steps|"+\
"cake|africa|handle/cup|blueberry|tree trunk|flying insect|tower|hedge|hammer|valley|towel|suit|landscape|field|"+\
"overcast sky|cup|head/horse|glove|ear/cat|poster|warehouse|dockyeard|meat|exhibition|left/woman|highway|snake|"+\
"wing/bird|spinach|singapore|boot|football|giraffe|plant|north america|london|moon|backhoe loader|office|deer|"+\
"reptile|supermarket|wall|table|sunglasses|desk|summer|savanna|head/squirrel|computer keyboard|head/dog|frog|cereal|"+\
"ladle|head/cow|tunnel|leopard|violin|minivan|snail|washing machine|pallet|skateboard|sport|tabletop|cactus|rucksack|"+\
"mural|zebra|courtroom|europe|tractor|canal|head/deer|stately home|marina|city centre|person|sunset|industry|"+\
"autumn|right/head/man|pavement|italy|right/arm/woman|zebra crossing|subway station|airbase|kitchen|rock|spectacles|"+\
"tool|bell pepper|blue sky|flower|cobblestop|doorway|craft|chair|eurasia|hat|jellyfish|furniture|bed|chimney|jeans|"+\
"holiday resort|retail|riverside|ladybird|eye/cat|chain|head/bird|"+\
"bar|archway|foot/person|tail/cat|spatula|right/leg/man|cow|mouth/cat|south america|architecture|pond|classroom|"+\
"bush|motorbike|bench|smartphone|wristwatch|barrel|snow|tray|motorshow|cable|van|wooden tabletop|bag|paw/cat|restaurant|"+\
"leash|grassland|hotel room|train|ladder|nose/cat|building|waterfall|basket|owl|palm tree|escalator|wind turbine|"+\
"bird|bollard|shoe|railway track|eye/dog|shirt|town|helicopter|cabbage|blanket|ferris wheel|left/ear/man|house|interior|"+\
"aerial photo|motorsport|banana|curbstone|head/person|lizard|canyon|suitcase|beach|countryside|botany|windscreen|glass|bus|paw/dog|"+\
"tent|cooking|clock|tie|rice|excavator|tropical|parrot|france|seaside|face/person|paved area|lampshade|sea|headphones|"+\
"fox|head/cat|temple|computer mouse|sand|photoshopped|bee|barrier|crab|hedlight/car|saucer|bucket|mirror|drinking_straw|"+\
"retail park|city|cat|music|horse|asia|dog|indoor|carpet|mexico|urban|engine|helmet|dragonfly|animal|sculpture|lantern|"+\
"factory|red panda|beetle|electric guitar|laboratory|tiger|traffic light|telephone box|fire|teapot|electrical substation|"+\
"sky|church|mouth/dog|russia"
if not hasattr(secrets, 'X_API_TOKEN') or secrets.X_API_TOKEN == "":
print("Please provide a valid API Token in secrets.py")
sys.exit(1)
class ImageMonkeyGeneralError(Exception):
"""Base class for exceptions raised by ImageMonkey."""
class Image(object):
def __init__(self, uuid, width, height):
self._uuid = uuid
self._width = width
self._height = height
self._path = None
self._folder = None
@property
def path(self):
return self._path
@path.setter
def path(self, path):
self._path = path
@property
def folder(self):
return self._folder
@folder.setter
def folder(self, folder):
self._folder = folder
@property
def uuid(self):
return self._uuid
@property
def width(self):
return self._width
@property
def height(self):
return self._height
def __str__(self):
return str(self.__class__) + ": " + str(self.__dict__)
def sort_polys(annotations):
polys_per_image={}
for a in annotations:
img_uuid=a["image"]["uuid"]
if not img_uuid in polys_per_image:
polys_per_image[img_uuid]={"annotations":[], "width":a["image"]["width"], "height":a["image"]["height"]}
sublabel=a["validation"]["sublabel"]
labelname=a["validation"]["label"]
labelname=labelname if sublabel is "" else sublabel+"/"+labelname
if not sublabel is "":print("sublabelled->",labelname)
for p in a["annotations"]:
print("processing annotaiton ",labelname)
if p["type"]=="polygon":
print("adding poly with label ",labelname," vtc=",len(p["points"]))
poly={"label":labelname, "points":[[float(pt["x"]),float(pt["y"])] for pt in p["points"] if pt["x"] and pt["y"]]}
polys_per_image[img_uuid]["annotations"].append(poly)
return polys_per_image
def convert_to_labelme_format(annotations):
ppi=sort_polys(annotations)
out=[]
for imgk in ppi:
img={}
img["imagePath"]=imgk+".jpg"
img["imageData"]=None
img["version"]="5.8.1"
imgv=ppi[imgk]
img["imageWidth"]=imgv["width"]
img["imageHeight"]=imgv["height"]
img["shapes"]=[]
#img["imageHeight"]=
for p in imgv["annotations"]:
img["shapes"].append({"label":p["label"], "points":p["points"], "shape_type":"polygon","description":"","mask":None, "group_id":None,"flags":{}})
out.append(img)
# print(json.dumps(out))
return out
class ImageMonkeyApi(object):
def __init__(self, api_version=1, base_url=BASEURL):
self._api_version = api_version
self._base_url = base_url
def export(self, query):
url = self._base_url + "v" + str(self._api_version) + "/export"
params = {"query": query}
r = requests.get(url, params=params, headers={"X-Api-Token": secrets.X_API_TOKEN})
if(r.status_code == 500):
raise InternalImageMonkeyAPIError("Could not perform operation, please try again later")
elif(r.status_code != 200):
data = r.json()
raise ImageMonkeyAPIError(data["error"])
data = r.json()
res = []
for elem in data:
image = Image(elem["uuid"], elem["width"], elem["height"])
res.append(image)
return res
def download_image(self, uuid, folder, extension=".jpg"):
if not os.path.isdir(folder):
raise ImageMonkeyGeneralError("folder %s doesn't exist" %(folder,))
filename = folder + os.path.sep + uuid + extension
if os.path.exists(filename):
raise ImageMonkeyGeneralError("image %s already exists in folder %s" %(uuid,folder))
url = self._base_url + "v" + str(self._api_version) + "/donation/" + uuid
response = requests.get(url, headers={"X-Api-Token": secrets.X_API_TOKEN})
if response.status_code == 200:
print(f"Downloading image {uuid}")
with open(filename, 'wb') as f:
f.write(response.content)
else:
raise ImageMonkeyAPIError("couldn't download image %s" %(uuid,))
def get_image_labels(self, image_uuid):
url = self._base_url + "v" + str(self._api_version) + "/donation/" + image_uuid + "/labels"
response = requests.get(url, headers={"X-Api-Token": secrets.X_API_TOKEN})
if response.status_code != 200:
raise ImageMonkeyGeneralError("couldn't get labels for image with uuid " + image_uuid)
labels = []
for entry in response.json():
labels.append(entry["label"])
if "sublabels" in entry and entry["sublabels"] is not None:
for sublabel in entry["sublabels"]:
labels.append(sublabel["name"] + "/" + entry["label"])
return labels
def get_image_annotations(self, image_uuid):
url = self._base_url + "v" + str(self._api_version) + "/donation/" + image_uuid + "/annotations"
response = requests.get(url, headers={"X-Api-Token": secrets.X_API_TOKEN})
if response.status_code != 200:
raise ImageMonkeyGeneralError("couldn't get labels for image with uuid " + image_uuid)
data = response.json()
return data
if __name__ == "__main__":
if not os.path.isdir(DOWNLOAD_DIRECTORY):
print(f"download directory {DOWNLOAD_DIRECTORY} doesn't exist!")
sys.exit(1)
if SEARCH_QUERY == "":
print("Please provide a search query!")
sys.exit(1)
imagemonkey_api = ImageMonkeyApi(base_url=BASEURL)
images = imagemonkey_api.export(SEARCH_QUERY)
af = open(DOWNLOAD_DIRECTORY+"/"+"annotations.json",mode='a')
af.write("[\n")
first=True;
for i,image in enumerate(images):
if os.path.isfile(DOWNLOAD_DIRECTORY+"/"+image.uuid+".jpg"):
print("skipping ",(i,image.uuid),", already exists locally")
continue
print(f"downloading image (uuid: {image.uuid}, width: {image.width}, height: {image.height}) to {DOWNLOAD_DIRECTORY}")
imagemonkey_api.download_image(image.uuid, DOWNLOAD_DIRECTORY)
labels = imagemonkey_api.get_image_labels(image.uuid)
labels_lst = ",".join(labels)
print(f"{i}/{len(images)} image {image.uuid} has the following labels: {labels_lst}")
annotations = imagemonkey_api.get_image_annotations(image.uuid)
print(f"image {image.uuid} has {len(annotations)} annotations")
if USE_LABELME_FMT:
afs=convert_to_labelme_format(annotations)
for a_lm_fmt in afs:
if not first: af.write(",\n")
txt=json.dumps(a_lm_fmt,indent=4)
lf=open( DOWNLOAD_DIRECTORY+"/"+a_lm_fmt["imagePath"].replace(".jpg",".json"),mode='w')
lf.write(txt)
lf.close()
else:
for a in annotations:
if not first:af.write(",")
aj=json.dumps(a,indent=4)
af.write(aj)
af.write("\n")
first=False
af.write("\n]\n")
af.close()
Stats:
number of polys for labels over 100 annotations= 258401 total number of polys= 303237 by taking the most popular 289 labels(including the non-productive ones) , you get 85% of the annotations
bear in mind this count is individual polys rather than instances of labels (e.g. an image with 5 cars = +5 to these stats) I've used "/" in different ways .. "part/object", "object/action", "object/object" (blending) but I think NLP will handle this.
[ 0 ]: label=" pavement " polys= 10906
[ 1 ]: label=" building " polys= 10341
[ 2 ]: label=" road " polys= 10080
[ 3 ]: label=" car " polys= 9761
[ 4 ]: label=" sky " polys= 8102
[ 5 ]: label=" window " polys= 7192
[ 6 ]: label=" arm/woman " polys= 6921
[ 7 ]: label=" head/woman " polys= 6532
[ 8 ]: label=" hand/woman " polys= 6258
[ 9 ]: label=" arm/man " polys= 5236
[ 10 ]: label=" head/man " polys= 4821
[ 11 ]: label=" clothing " polys= 4812
[ 12 ]: label=" grass " polys= 4799
[ 13 ]: label=" right/woman " polys= 4562
[ 14 ]: label=" hand/man " polys= 4553
[ 15 ]: label=" person " polys= 4416
[ 16 ]: label=" left/woman " polys= 4348
[ 17 ]: label=" leg/woman " polys= 4095
[ 18 ]: label=" face/woman " polys= 3956
[ 19 ]: label=" hair/woman " polys= 3609
[ 20 ]: label=" right/man " polys= 3520
[ 21 ]: label=" left/man " polys= 3439
[ 22 ]: label=" food " polys= 2959
[ 23 ]: label=" torso/woman " polys= 2946
[ 24 ]: label=" buildings " polys= 2936
[ 25 ]: label=" foliage " polys= 2812
[ 26 ]: label=" woman " polys= 2674
[ 27 ]: label=" tree " polys= 2621
[ 28 ]: label=" leg/man " polys= 2555
[ 29 ]: label=" sea " polys= 2484
[ 30 ]: label=" face/man " polys= 2322
[ 31 ]: label=" river " polys= 2151
[ 32 ]: label=" forearm/woman " polys= 2099
[ 33 ]: label=" house " polys= 2083
[ 34 ]: label=" torso/man " polys= 2018
[ 35 ]: label=" foot/woman " polys= 1969
[ 36 ]: label=" man " polys= 1854
[ 37 ]: label=" wheel " polys= 1839
[ 38 ]: label=" forearm/man " polys= 1717
[ 39 ]: label=" boat " polys= 1569
[ 40 ]: label=" roof " polys= 1537
[ 41 ]: label=" people " polys= 1488
[ 42 ]: label=" bird " polys= 1363
[ 43 ]: label=" chair " polys= 1310
[ 44 ]: label=" eye/woman " polys= 1308
[ 45 ]: label=" foot/man " polys= 1285
[ 46 ]: label=" hand/person " polys= 1234
[ 47 ]: label=" hat " polys= 1206
[ 48 ]: label=" bicycle " polys= 1184
[ 49 ]: label=" wall " polys= 1175
[ 50 ]: label=" head/person " polys= 1168
[ 51 ]: label=" plate " polys= 1069
[ 52 ]: label=" neck/woman " polys= 1051
[ 53 ]: label=" tree trunk " polys= 1050
[ 54 ]: label=" head/dog " polys= 964
[ 55 ]: label=" red panda " polys= 962
[ 56 ]: label=" head/red_panda " polys= 948
[ 57 ]: label=" head " polys= 933
[ 58 ]: label=" woman/sitting " polys= 901
[ 59 ]: label=" steps " polys= 832
[ 60 ]: label=" nose/woman " polys= 828
[ 61 ]: label=" table " polys= 820
[ 62 ]: label=" bridge " polys= 818
[ 63 ]: label=" head/bird " polys= 807
[ 64 ]: label=" camera " polys= 807
[ 65 ]: label=" mouth/woman " polys= 806
[ 66 ]: label=" dog " polys= 794
[ 67 ]: label=" van " polys= 767
[ 68 ]: label=" hair/man " polys= 752
[ 69 ]: label=" soil " polys= 733
[ 70 ]: label=" handle " polys= 702
[ 71 ]: label=" bus " polys= 690
[ 72 ]: label=" wooden_tabletop " polys= 679
[ 73 ]: label=" cars " polys= 666
[ 74 ]: label=" path " polys= 624
[ 75 ]: label=" kerbstone " polys= 606
[ 76 ]: label=" door " polys= 604
[ 77 ]: label=" man/sitting " polys= 602
[ 78 ]: label=" pillar " polys= 590
[ 79 ]: label=" head/cat " polys= 586
[ 80 ]: label=" rocks " polys= 569
[ 81 ]: label=" field " polys= 541
[ 82 ]: label=" motorbike " polys= 533
[ 83 ]: label=" shoulder/woman " polys= 525
[ 84 ]: label=" snow " polys= 519
[ 85 ]: label=" dress " polys= 503
[ 86 ]: label=" hand " polys= 492
[ 87 ]: label=" headlight " polys= 484
[ 88 ]: label=" wheel/car " polys= 480
[ 89 ]: label=" beach " polys= 468
[ 90 ]: label=" mountain " polys= 465
[ 91 ]: label=" horse " polys= 459
[ 92 ]: label=" tabletop " polys= 448
[ 93 ]: label=" sofa " polys= 443
[ 94 ]: label=" head of woman " polys= 427
[ 95 ]: label=" rock " polys= 426
[ 96 ]: label=" arm/person " polys= 418
[ 97 ]: label=" windscreen " polys= 416
[ 98 ]: label=" truck " polys= 416
[ 99 ]: label=" egg " polys= 413
[ 100 ]: label=" shoe " polys= 411
[ 101 ]: label=" neck/man " polys= 407
[ 102 ]: label=" bowl " polys= 403
[ 103 ]: label=" litter " polys= 402
[ 104 ]: label=" woman/standing " polys= 401
[ 105 ]: label=" cat " polys= 400
[ 106 ]: label=" bench " polys= 396
[ 107 ]: label=" eye/man " polys= 390
[ 108 ]: label=" wheel/bicycle " polys= 388
[ 109 ]: label=" thumb " polys= 385
[ 110 ]: label=" knee/woman " polys= 383
[ 111 ]: label=" eye/cat " polys= 374
[ 112 ]: label=" bag " polys= 364
[ 113 ]: label=" trees " polys= 360
[ 114 ]: label=" cheek/woman " polys= 359
[ 115 ]: label=" pizza " polys= 358
[ 116 ]: label=" chin/woman " polys= 350
[ 117 ]: label=" traffic cone " polys= 348
[ 118 ]: label=" elbow/woman " polys= 348
[ 119 ]: label=" man/standing " polys= 344
[ 120 ]: label=" book " polys= 336
[ 121 ]: label=" sand " polys= 336
[ 122 ]: label=" forehead/woman " polys= 330
[ 123 ]: label=" flower " polys= 328
[ 124 ]: label=" wing " polys= 326
[ 125 ]: label=" bed " polys= 323
[ 126 ]: label=" skyscraper " polys= 321
[ 127 ]: label=" vegetation " polys= 321
[ 128 ]: label=" head of man " polys= 311
[ 129 ]: label=" head/horse " polys= 304
[ 130 ]: label=" fence " polys= 303
[ 131 ]: label=" shop front " polys= 302
[ 132 ]: label=" arm of woman " polys= 290
[ 133 ]: label=" waterfall " polys= 287
[ 134 ]: label=" left/car " polys= 283
[ 135 ]: label=" right/car " polys= 280
[ 136 ]: label=" flowers " polys= 280
[ 137 ]: label=" hand of woman " polys= 274
[ 138 ]: label=" ear/dog " polys= 272
[ 139 ]: label=" skin of woman " polys= 272
[ 140 ]: label=" graffiti " polys= 272
[ 141 ]: label=" woman/walking " polys= 265
[ 142 ]: label=" picture_frame " polys= 259
[ 143 ]: label=" shoulder/man " polys= 250
[ 144 ]: label=" cushion " polys= 250
[ 145 ]: label=" roof/building " polys= 249
[ 146 ]: label=" sunglasses " polys= 245
[ 147 ]: label=" arm " polys= 244
[ 148 ]: label=" foot/person " polys= 241
[ 149 ]: label=" nose/man " polys= 239
[ 150 ]: label=" cup " polys= 238
[ 151 ]: label=" smartphone " polys= 236
[ 152 ]: label=" leg/person " polys= 236
[ 153 ]: label=" mouth/man " polys= 234
[ 154 ]: label=" roof/house " polys= 229
[ 155 ]: label=" curtain " polys= 227
[ 156 ]: label=" cake " polys= 225
[ 157 ]: label=" statue " polys= 225
[ 158 ]: label=" eye/dog " polys= 225
[ 159 ]: label=" bush " polys= 223
[ 160 ]: label=" meat " polys= 217
[ 161 ]: label=" bollard " polys= 216
[ 162 ]: label=" neocranium/woman " polys= 210
[ 163 ]: label=" basket " polys= 208
[ 164 ]: label=" lens/camera " polys= 208
[ 165 ]: label=" headlight/car " polys= 207
[ 166 ]: label=" cooked_food " polys= 205
[ 167 ]: label=" ear/cat " polys= 204
[ 168 ]: label=" wing/bird " polys= 203
[ 169 ]: label=" face " polys= 202
[ 170 ]: label=" left/dog " polys= 201
[ 171 ]: label=" cobblestone " polys= 200
[ 172 ]: label=" fruit " polys= 199
[ 173 ]: label=" cow " polys= 195
[ 174 ]: label=" arm of man " polys= 195
[ 175 ]: label=" hand of man " polys= 195
[ 176 ]: label=" man/walking " polys= 194
[ 177 ]: label=" hip/woman " polys= 193
[ 178 ]: label=" leg of woman " polys= 192
[ 179 ]: label=" hair of woman " polys= 191
[ 180 ]: label=" gate " polys= 189
[ 181 ]: label=" right/dog " polys= 189
[ 182 ]: label=" barrier " polys= 188
[ 183 ]: label=" wristwatch " polys= 187
[ 184 ]: label=" child " polys= 186
[ 185 ]: label=" wooden tabletop " polys= 186
[ 186 ]: label=" mountains " polys= 184
[ 187 ]: label=" elephant " polys= 182
[ 188 ]: label=" swimming pool " polys= 182
[ 189 ]: label=" train " polys= 181
[ 190 ]: label=" excavator " polys= 180
[ 191 ]: label=" church " polys= 179
[ 192 ]: label=" person/sitting " polys= 175
[ 193 ]: label=" background " polys= 174
[ 194 ]: label=" street light " polys= 174
[ 195 ]: label=" ear/man " polys= 172
[ 196 ]: label=" puddle " polys= 170
[ 197 ]: label=" laptop " polys= 169
[ 198 ]: label=" chimney " polys= 169
[ 199 ]: label=" guitar " polys= 168
[ 200 ]: label=" floor " polys= 165
[ 201 ]: label=" hair " polys= 164
[ 202 ]: label=" desk " polys= 163
[ 203 ]: label=" head/child " polys= 161
[ 204 ]: label=" gravel " polys= 161
[ 205 ]: label=" spectacles " polys= 160
[ 206 ]: label=" spoon " polys= 157
[ 207 ]: label=" traffic light " polys= 157
[ 208 ]: label=" head/cow " polys= 156
[ 209 ]: label=" plant_pot " polys= 153
[ 210 ]: label=" right/eye/woman " polys= 153
[ 211 ]: label=" woman sitting " polys= 152
[ 212 ]: label=" lake " polys= 152
[ 213 ]: label=" shelf " polys= 152
[ 214 ]: label=" bread " polys= 151
[ 215 ]: label=" left/eye/woman " polys= 150
[ 216 ]: label=" flag " polys= 149
[ 217 ]: label=" tomato " polys= 149
[ 218 ]: label=" beard " polys= 148
[ 219 ]: label=" fork " polys= 148
[ 220 ]: label=" leg " polys= 148
[ 221 ]: label=" helmet " polys= 147
[ 222 ]: label=" sand/beach " polys= 145
[ 223 ]: label=" squirrel " polys= 145
[ 224 ]: label=" supercar " polys= 144
[ 225 ]: label=" ear/woman " polys= 144
[ 226 ]: label=" butterfly " polys= 143
[ 227 ]: label=" skateboard " polys= 143
[ 228 ]: label=" cliffs " polys= 143
[ 229 ]: label=" bottle " polys= 142
[ 230 ]: label=" jet airliner " polys= 142
[ 231 ]: label=" left/cheek/woman " polys= 140
[ 232 ]: label=" right/cheek/woman " polys= 140
[ 233 ]: label=" driveway " polys= 139
[ 234 ]: label=" strawberry " polys= 139
[ 235 ]: label=" knee/man " polys= 138
[ 236 ]: label=" tree_trunk " polys= 137
[ 237 ]: label=" railway track " polys= 134
[ 238 ]: label=" boats " polys= 133
[ 239 ]: label=" balcony " polys= 131
[ 240 ]: label=" wheel/motorbike " polys= 130
[ 241 ]: label=" tractor " polys= 130
[ 242 ]: label=" upper_lip/woman " polys= 130
[ 243 ]: label=" lower_lip/woman " polys= 129
[ 244 ]: label=" lower_leg/woman " polys= 129
[ 245 ]: label=" knife " polys= 128
[ 246 ]: label=" head/insect " polys= 128
[ 247 ]: label=" skin " polys= 128
[ 248 ]: label=" head/lizard " polys= 127
[ 249 ]: label=" lizard " polys= 127
[ 250 ]: label=" chain " polys= 127
[ 251 ]: label=" bushes " polys= 126
[ 252 ]: label=" head/squirrel " polys= 126
[ 253 ]: label=" castle " polys= 125
[ 254 ]: label=" temple " polys= 125
[ 255 ]: label=" tail/dog " polys= 124
[ 256 ]: label=" right/eyebrow/woman " polys= 123
[ 257 ]: label=" wing/insect " polys= 122
[ 258 ]: label=" wheel of car " polys= 122
[ 259 ]: label=" laptop_computer " polys= 121
[ 260 ]: label=" pillow " polys= 121
[ 261 ]: label=" left/eyebrow/woman " polys= 120
[ 262 ]: label=" railway_track " polys= 120
[ 263 ]: label=" ship " polys= 119
[ 264 ]: label=" shirt " polys= 119
[ 265 ]: label=" fuselage " polys= 118
[ 266 ]: label=" sheep " polys= 118
[ 267 ]: label=" paw/cat " polys= 117
[ 268 ]: label=" undercarriage " polys= 117
[ 269 ]: label=" leg of man " polys= 116
[ 270 ]: label=" rope " polys= 114
[ 271 ]: label=" tiger " polys= 113
[ 272 ]: label=" wing_mirror " polys= 112
[ 273 ]: label=" head/tiger " polys= 112
[ 274 ]: label=" carpet " polys= 112
[ 275 ]: label=" wooden_flooring " polys= 111
[ 276 ]: label=" rucksack " polys= 111
[ 277 ]: label=" crab " polys= 111
[ 278 ]: label=" bee " polys= 109
[ 279 ]: label=" fish " polys= 106
[ 280 ]: label=" pineapple " polys= 106
[ 281 ]: label=" right/shoulder/woman " polys= 103
[ 282 ]: label=" eye " polys= 103
[ 283 ]: label=" left/shoulder/woman " polys= 102
[ 284 ]: label=" man/ridingBicycle " polys= 101
[ 285 ]: label=" hut " polys= 101
[ 286 ]: label=" parrot " polys= 101
[ 287 ]: label=" person/walking " polys= 101
[ 288 ]: label=" clothing on woman " polys= 100
[ 289 ]: label=" right/hand/woman " polys= 100
Awesome - really great to see!
if it's ok with you 'd want to make the LabelMe compatible data available.. host it publicly in some static format with a link back to ImageMonkey.
Sure! Please feel free to do whatever you want with the data :)
I'll continue to make more images/labels publicly available - so there should be more data available to query soon :)
thumbnails with annotation visualisation again