# 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