I can successfully run image classification if I feed examples from Google image to mobilenet model on Raspberry pi with Google Coral Edge TPU.
However, if I feed live images from camera in my living room, the result is pretty bad. It almost never guess the correct object.
Is it because live image from camera naturally has bunch of objects in the background, and the model is trying to recognize entire picture including background as one object? Is this a reasonable assumption?
If so, do image classification models expect you to separate background/foreground as preprocessing and feed only foreground?
If so, what's a good Python module to separate foreground from background?
Is there a way to make a image classification model to pick out a foreground object from an image with multiple objects in the background and classify only that portion without retraining or transfer learning?
If I feed live images to an object detection model (mobilenet_ssd) based on coco dataset, the result is pretty good. However, it only recognizes 90 classes, and I don't need object location , so it's overkill.