tnc-ca-geo / animl

A platform for managing camera trap data
MIT License
1 stars 0 forks source link

Data model: How to queue images for Image recognition? #13

Closed postfalk closed 3 years ago

postfalk commented 4 years ago

One question to consider is how to slate images for recognition with a particular algorithm? For instance if we have several but don't want to run all on the same for cost and time reasons. Etc.

I think this could be a different data model (entirely independent from the one we have). And the lists would be filled with a query.

Just put this here to hold on to the thought.

nathanielrindlaub commented 4 years ago

Good question. I imagine the ability to (a) assign incoming images to be automatically run through specific models/classifiers and (b) manually trigger a batch of images to be run against a model are both things that we want to give the user some control over eventually. I haven't really done a whole lot of thinking about the user and project related structuring of the app, but I guess this would kind of fall into that side of things.

The question I have is how do we ID and segment the incoming images and route them to their respective queues? You can't really allow users to select by camera serial number, because cameras are likely going to get re-used for different deployments and may be used for different projects. So I guess they could select which "deployments" (Camera + Location + Start time and end time) to route to which model endpoints? This would work fine for new images coming off the buckeyes or new deployments of SD cameras, but would be tricky for the 400k archived SCI images that we don't have location info for.

On Sunday I did some experimentation comparing images from different locations using a structural similarity algorithm (SSIM). I just dipped my toes in so I'm not sure how promising it is yet but yeah I'd really like to figure out how to figure out the locations of all 400k of those images. It will be important to know for any training we do going forward.

postfalk commented 4 years ago

I know we discussed that earlier. But I would not add that to the image model. I would create some sort of ML model which would assign images to model runs (referring to them by an ID).

postfalk commented 3 years ago

Assume that is stale. Please re-open when I am mistaken.