roymacdonald / ofxVision

openFrameworks addon for using Apple's Vision Framework
6 stars 1 forks source link

using a custom .mlmodel created with coreML #4

Open stephanschulz opened 3 months ago

stephanschulz commented 3 months ago

I followed this tutorial to create a simple image classifier model. I used 2 sets of images, with each set having about 10 images. Not very big. My training images have a 1596 × 1138 resolution.

I am now trying to use the example-ObjectDetection example and point i to my model file. My camera resolution is not the same as the model training data. I get this error message:

Screenshot 2024-07-18 at 12 54 48 PM

Could the difference in resolution be the problem?

This is my model file https://www.dropbox.com/scl/fi/ntl5fg0p04simlracmc5l/hand_or_no_hand_1.mlmodel?rlkey=5c0b4xd3mgt6v3486wyc0wb5g&dl=0

stephanschulz commented 3 months ago

i think it might be that this model does not return a rect boundingbox but just a label. the crash is at ' ofxVision::RectDetection det(ofxVisionHelper::toOf(observation.boundingBox),0);'

my model was training on images that have hands and images without hands. the "create ML" preview returns confidence values for each possible label "hand" , "no hand" but no bounding box.

is there a way to not use any requirement for point or rect return?

roymacdonald commented 3 months ago

The results are being cast into the particular type that each model is expected to return. So, in this case it would be just to cast it into a the correct type.