Search code examples
pythoncomputer-visionobject-detectionobject-detection-api

How to download and use object detection datasets (e.g. coco or pascal)


I am super new to the field of object detection. I was wondering if anyone can help me somehow on how I can download and use the object detection datasets such as coco or pascal. When I go to their website even after downloading the datasets i feel like i dont know what should i do with them... I know this question is stupid, but a hint to start can be super useful. Thanks


Solution

  • I'm using: python 3.5 on Ubuntu 16.04
    Firstly, there are three things you'd want to download and unzip:
    1) Cocoapi - I tried using the official version but it doesn't work (for me, probably some version issues). So I'm using one of these versions (I can't rmb which one I've used):
    https://github.com/philferriere/cocoapi
    https://github.com/cocodataset/cocoapi (official)
    2) Download COCO images. I'd recommend downloading a valuation set just to try things out first.
    3) Download the corresponding annotations for that image set that you've downloaded.
    *Both 2) and 3) can be downloaded from the COCO official site.

    Installing:
    Unzip the cocoapi to a folder of your choice. Then, unzip the annotations and images into that unzipped cocoapi folder. And name them as "annotations" and "images". I'm using Ubuntu 16.04 so I used the terminal to navigate to the .../cocoapi-master/PythonAPI folder. Then, run make. Note that the "..." part is the path to the folder you unzipped your cocoapi to. For me, the unzipped folder is called cocoapi-master. But depending on the version you downloaded, it could be named something else.
    Next, I had my own python scripts nested in the PythonAPI folder. These scripts are copied and then edited from the python demos which they've provided on their official Github page.

    Potential issues - because of some backend compatibility issues with matplotlib, the images might not display properly. If you have that issue you might want to refer to this:
    No image pop-up or display for plt.imshow() and plt.show()

    Hope this works for you! :)