Reputation: 39
I need to have a detector that can detect many different object. For that, the 90 classes of COCO are not enough because I would like to be able to see more.
I have seen that imagenet for instance has many more classes, however I couldn't find a model trained to detect imagenet classes.
I am programming on python and I want to avoid retraining a Network to detect more classes myself.
I have looked on pytorch vision and couple of other repositories but I didn't find anything.
EDIT: I have found a good one now, LVIS dataset has 1200 classes for detections and is using the images from coco (they relabelled them). There is good model for it with detectron2 from facebookai. https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md
I think it's only avaliable for a cuda environnement though (I have no GPU :( )
Upvotes: 3
Views: 1845
Reputation: 605
ImageNet unfortunately is not labelled for that purpose. Off the shelf, you can try and use the Tensorflow Object Detection API. There are models trained on the OpenImages dataset which has 600 classes.
You can use them straight away for inference or if you wish, retrain them.
Upvotes: 2
Reputation: 87
Check https://keras.io/api/applications/ for more models/datasets
from tensorflow.keras.applications.resnet50 import ResNet50
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np
model = ResNet50(weights='imagenet')
Upvotes: 0