# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals import os import sys import numpy as np from .coco_eval import bbox2out import logging logger = logging.getLogger(__name__) __all__ = ['bbox2out', 'get_category_info'] def get_category_info(anno_file=None, with_background=True, use_default_label=False): clsid2catid = {k: k for k in range(1, 501)} catid2name = { 0: "background", 1: "Infant bed", 2: "Rose", 3: "Flag", 4: "Flashlight", 5: "Sea turtle", 6: "Camera", 7: "Animal", 8: "Glove", 9: "Crocodile", 10: "Cattle", 11: "House", 12: "Guacamole", 13: "Penguin", 14: "Vehicle registration plate", 15: "Bench", 16: "Ladybug", 17: "Human nose", 18: "Watermelon", 19: "Flute", 20: "Butterfly", 21: "Washing machine", 22: "Raccoon", 23: "Segway", 24: "Taco", 25: "Jellyfish", 26: "Cake", 27: "Pen", 28: "Cannon", 29: "Bread", 30: "Tree", 31: "Shellfish", 32: "Bed", 33: "Hamster", 34: "Hat", 35: "Toaster", 36: "Sombrero", 37: "Tiara", 38: "Bowl", 39: "Dragonfly", 40: "Moths and butterflies", 41: "Antelope", 42: "Vegetable", 43: "Torch", 44: "Building", 45: "Power plugs and sockets", 46: "Blender", 47: "Billiard table", 48: "Cutting board", 49: "Bronze sculpture", 50: "Turtle", 51: "Broccoli", 52: "Tiger", 53: "Mirror", 54: "Bear", 55: "Zucchini", 56: "Dress", 57: "Volleyball", 58: "Guitar", 59: "Reptile", 60: "Golf cart", 61: "Tart", 62: "Fedora", 63: "Carnivore", 64: "Car", 65: "Lighthouse", 66: "Coffeemaker", 67: "Food processor", 68: "Truck", 69: "Bookcase", 70: "Surfboard", 71: "Footwear", 72: "Bench", 73: "Necklace", 74: "Flower", 75: "Radish", 76: "Marine mammal", 77: "Frying pan", 78: "Tap", 79: "Peach", 80: "Knife", 81: "Handbag", 82: "Laptop", 83: "Tent", 84: "Ambulance", 85: "Christmas tree", 86: "Eagle", 87: "Limousine", 88: "Kitchen & dining room table", 89: "Polar bear", 90: "Tower", 91: "Football", 92: "Willow", 93: "Human head", 94: "Stop sign", 95: "Banana", 96: "Mixer", 97: "Binoculars", 98: "Dessert", 99: "Bee", 100: "Chair", 101: "Wood-burning stove", 102: "Flowerpot", 103: "Beaker", 104: "Oyster", 105: "Woodpecker", 106: "Harp", 107: "Bathtub", 108: "Wall clock", 109: "Sports uniform", 110: "Rhinoceros", 111: "Beehive", 112: "Cupboard", 113: "Chicken", 114: "Man", 115: "Blue jay", 116: "Cucumber", 117: "Balloon", 118: "Kite", 119: "Fireplace", 120: "Lantern", 121: "Missile", 122: "Book", 123: "Spoon", 124: "Grapefruit", 125: "Squirrel", 126: "Orange", 127: "Coat", 128: "Punching bag", 129: "Zebra", 130: "Billboard", 131: "Bicycle", 132: "Door handle", 133: "Mechanical fan", 134: "Ring binder", 135: "Table", 136: "Parrot", 137: "Sock", 138: "Vase", 139: "Weapon", 140: "Shotgun", 141: "Glasses", 142: "Seahorse", 143: "Belt", 144: "Watercraft", 145: "Window", 146: "Giraffe", 147: "Lion", 148: "Tire", 149: "Vehicle", 150: "Canoe", 151: "Tie", 152: "Shelf", 153: "Picture frame", 154: "Printer", 155: "Human leg", 156: "Boat", 157: "Slow cooker", 158: "Croissant", 159: "Candle", 160: "Pancake", 161: "Pillow", 162: "Coin", 163: "Stretcher", 164: "Sandal", 165: "Woman", 166: "Stairs", 167: "Harpsichord", 168: "Stool", 169: "Bus", 170: "Suitcase", 171: "Human mouth", 172: "Juice", 173: "Skull", 174: "Door", 175: "Violin", 176: "Chopsticks", 177: "Digital clock", 178: "Sunflower", 179: "Leopard", 180: "Bell pepper", 181: "Harbor seal", 182: "Snake", 183: "Sewing machine", 184: "Goose", 185: "Helicopter", 186: "Seat belt", 187: "Coffee cup", 188: "Microwave oven", 189: "Hot dog", 190: "Countertop", 191: "Serving tray", 192: "Dog bed", 193: "Beer", 194: "Sunglasses", 195: "Golf ball", 196: "Waffle", 197: "Palm tree", 198: "Trumpet", 199: "Ruler", 200: "Helmet", 201: "Ladder", 202: "Office building", 203: "Tablet computer", 204: "Toilet paper", 205: "Pomegranate", 206: "Skirt", 207: "Gas stove", 208: "Cookie", 209: "Cart", 210: "Raven", 211: "Egg", 212: "Burrito", 213: "Goat", 214: "Kitchen knife", 215: "Skateboard", 216: "Salt and pepper shakers", 217: "Lynx", 218: "Boot", 219: "Platter", 220: "Ski", 221: "Swimwear", 222: "Swimming pool", 223: "Drinking straw", 224: "Wrench", 225: "Drum", 226: "Ant", 227: "Human ear", 228: "Headphones", 229: "Fountain", 230: "Bird", 231: "Jeans", 232: "Television", 233: "Crab", 234: "Microphone", 235: "Home appliance", 236: "Snowplow", 237: "Beetle", 238: "Artichoke", 239: "Jet ski", 240: "Stationary bicycle", 241: "Human hair", 242: "Brown bear", 243: "Starfish", 244: "Fork", 245: "Lobster", 246: "Corded phone", 247: "Drink", 248: "Saucer", 249: "Carrot", 250: "Insect", 251: "Clock", 252: "Castle", 253: "Tennis racket", 254: "Ceiling fan", 255: "Asparagus", 256: "Jaguar", 257: "Musical instrument", 258: "Train", 259: "Cat", 260: "Rifle", 261: "Dumbbell", 262: "Mobile phone", 263: "Taxi", 264: "Shower", 265: "Pitcher", 266: "Lemon", 267: "Invertebrate", 268: "Turkey", 269: "High heels", 270: "Bust", 271: "Elephant", 272: "Scarf", 273: "Barrel", 274: "Trombone", 275: "Pumpkin", 276: "Box", 277: "Tomato", 278: "Frog", 279: "Bidet", 280: "Human face", 281: "Houseplant", 282: "Van", 283: "Shark", 284: "Ice cream", 285: "Swim cap", 286: "Falcon", 287: "Ostrich", 288: "Handgun", 289: "Whiteboard", 290: "Lizard", 291: "Pasta", 292: "Snowmobile", 293: "Light bulb", 294: "Window blind", 295: "Muffin", 296: "Pretzel", 297: "Computer monitor", 298: "Horn", 299: "Furniture", 300: "Sandwich", 301: "Fox", 302: "Convenience store", 303: "Fish", 304: "Fruit", 305: "Earrings", 306: "Curtain", 307: "Grape", 308: "Sofa bed", 309: "Horse", 310: "Luggage and bags", 311: "Desk", 312: "Crutch", 313: "Bicycle helmet", 314: "Tick", 315: "Airplane", 316: "Canary", 317: "Spatula", 318: "Watch", 319: "Lily", 320: "Kitchen appliance", 321: "Filing cabinet", 322: "Aircraft", 323: "Cake stand", 324: "Candy", 325: "Sink", 326: "Mouse", 327: "Wine", 328: "Wheelchair", 329: "Goldfish", 330: "Refrigerator", 331: "French fries", 332: "Drawer", 333: "Treadmill", 334: "Picnic basket", 335: "Dice", 336: "Cabbage", 337: "Football helmet", 338: "Pig", 339: "Person", 340: "Shorts", 341: "Gondola", 342: "Honeycomb", 343: "Doughnut", 344: "Chest of drawers", 345: "Land vehicle", 346: "Bat", 347: "Monkey", 348: "Dagger", 349: "Tableware", 350: "Human foot", 351: "Mug", 352: "Alarm clock", 353: "Pressure cooker", 354: "Human hand", 355: "Tortoise", 356: "Baseball glove", 357: "Sword", 358: "Pear", 359: "Miniskirt", 360: "Traffic sign", 361: "Girl", 362: "Roller skates", 363: "Dinosaur", 364: "Porch", 365: "Human beard", 366: "Submarine sandwich", 367: "Screwdriver", 368: "Strawberry", 369: "Wine glass", 370: "Seafood", 371: "Racket", 372: "Wheel", 373: "Sea lion", 374: "Toy", 375: "Tea", 376: "Tennis ball", 377: "Waste container", 378: "Mule", 379: "Cricket ball", 380: "Pineapple", 381: "Coconut", 382: "Doll", 383: "Coffee table", 384: "Snowman", 385: "Lavender", 386: "Shrimp", 387: "Maple", 388: "Cowboy hat", 389: "Goggles", 390: "Rugby ball", 391: "Caterpillar", 392: "Poster", 393: "Rocket", 394: "Organ", 395: "Saxophone", 396: "Traffic light", 397: "Cocktail", 398: "Plastic bag", 399: "Squash", 400: "Mushroom", 401: "Hamburger", 402: "Light switch", 403: "Parachute", 404: "Teddy bear", 405: "Winter melon", 406: "Deer", 407: "Musical keyboard", 408: "Plumbing fixture", 409: "Scoreboard", 410: "Baseball bat", 411: "Envelope", 412: "Adhesive tape", 413: "Briefcase", 414: "Paddle", 415: "Bow and arrow", 416: "Telephone", 417: "Sheep", 418: "Jacket", 419: "Boy", 420: "Pizza", 421: "Otter", 422: "Office supplies", 423: "Couch", 424: "Cello", 425: "Bull", 426: "Camel", 427: "Ball", 428: "Duck", 429: "Whale", 430: "Shirt", 431: "Tank", 432: "Motorcycle", 433: "Accordion", 434: "Owl", 435: "Porcupine", 436: "Sun hat", 437: "Nail", 438: "Scissors", 439: "Swan", 440: "Lamp", 441: "Crown", 442: "Piano", 443: "Sculpture", 444: "Cheetah", 445: "Oboe", 446: "Tin can", 447: "Mango", 448: "Tripod", 449: "Oven", 450: "Mouse", 451: "Barge", 452: "Coffee", 453: "Snowboard", 454: "Common fig", 455: "Salad", 456: "Marine invertebrates", 457: "Umbrella", 458: "Kangaroo", 459: "Human arm", 460: "Measuring cup", 461: "Snail", 462: "Loveseat", 463: "Suit", 464: "Teapot", 465: "Bottle", 466: "Alpaca", 467: "Kettle", 468: "Trousers", 469: "Popcorn", 470: "Centipede", 471: "Spider", 472: "Sparrow", 473: "Plate", 474: "Bagel", 475: "Personal care", 476: "Apple", 477: "Brassiere", 478: "Bathroom cabinet", 479: "studio couch", 480: "Computer keyboard", 481: "Table tennis racket", 482: "Sushi", 483: "Cabinetry", 484: "Street light", 485: "Towel", 486: "Nightstand", 487: "Rabbit", 488: "Dolphin", 489: "Dog", 490: "Jug", 491: "Wok", 492: "Fire hydrant", 493: "Human eye", 494: "Skyscraper", 495: "Backpack", 496: "Potato", 497: "Paper towel", 498: "Lifejacket", 499: "Bicycle wheel", 500: "Toilet", } if not with_background: clsid2catid = {k - 1: v for k, v in clsid2catid.items()} return clsid2catid, catid2name