mirror of
https://github.com/photoprism/photoprism.git
synced 2026-03-02 22:57:18 -05:00
Thoughts on object identification labeling #297
Labels
No labels
ai
android
api
auth
awesome
bug
bug
ci
cli
config
database
declined
deprecated
docker
docs 📚
documents
duplicate
easy
enhancement
enhancement
enhancement
epic
faces
feedback wanted
frontend
hacktoberfest
help wanted
idea
in-progress
incomplete
index
invalid
ios
labels
live
live
low-priority
macos
member-feature
metadata
mobile
nas
needs-analysis
no-coding-required
no-coding-required
observability
performance
places
please-test
plus-feature
priority
pro-feature
question
raspberry-pi
raw
released
released
released
research
resolved
security
sharing
tested
tests
third-party-issue
thumbnails
upgrade
upstream-issue
ux
vector
video
waiting
won't fix
won't fix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/photoprism#297
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @wiwie on GitHub (Jun 14, 2020).
Originally assigned to: @lastzero on GitHub.
Maybe it would make a lot of sense, to split this issue up. I just wasn't sure whether some of the aspects have been answered elsewhere, and I just missed it. Hence, I wanted to discuss some points first, before creating any more potential "noise" in the issue tracker.
Object identification / labeling performs poorly for some labels (e.g. baby):
My picture library contains a fair amount of baby, child, and family pictures. While I would estimate that there are at least 5k pictures containing babies, only less than 100 of them are labeled as such. It seems that some of them containing a frontal shot of a baby face are labeled as "Portrait" instead. But many do not contain any label related to baby, child or person.
Too many moments
Also, a lot of pictures are labeled as "Moment" - more than I would expect and quite a few of them I really wouldn't call a moment. It's a bit puzzling to me, what the moment label is supposed to express (in theory). I can't see a pattern behind the pictures that the label is assigned to.
Mislabelings for everyday sceneries
Overall, there are many mislabelings, while those seem to occur mostly on the pictures that show everyday situations, and not clear/exceptional things like an ape or a zebra. Has the model maybe not been trained with these kind of personal pictures? Sorry if it has been described elsewhere, then I missed it.
No multi-labeling?
Also, so far I couldn't find any picture that is assigned more than one label of identified objects - is this prohibited by design? I think this would be quite a limitation. I have some pictures in my collection, that are labeled as one thing, which is correct, but the more obvious one is missing.
@lastzero commented on GitHub (Jun 15, 2020):
First of all, thanks for being a sponsor :)
Obviously they have been discussed at various places, but I'll give you a summary. We're currently working on our user guide which will (hopefully) answer many questions in the future.
We sadly don't have many personal photos of babies, we still did our best to find a probability threshold that works for "baby" (and all other labels). After getting a lot of negative feedback for false positives, we decided to increase thresholds even if that means not to find some objects. It's always a tradeoff and you can spend many weeks, even years, finding the best settings and the best model for image classification.
Note that we're using a mobile network that has less resolution than other models, but is faster and smaller in size (20 vs 600 MB). We could zoom in to identify smaller objects / babies but that reduces indexing performance, so we might get negative feedback for that too. Working on consumer software for a wide range of use cases is hard.
The label originally was "swing". It did poorly for that, but we always saw people enjoying a "moment" so we decided to go for that. If you don't like a label or find it useless, you can delete it.
It's a general object classification model, not specialized on sceneries. That's on our todo, see #175.
See https://github.com/photoprism/photoprism/wiki/Image-Classification for details regarding the technical implementation.
Of course you can have as many labels for photos and videos as you like. Our demo contains several examples:
@sam2kb commented on GitHub (Jun 18, 2020):
Can the model be improved by contributing the existing data? I've indexed a pretty big photo archive. Can that be of any help?
@lastzero commented on GitHub (Jun 18, 2020):
Distributed learning is something we can experiment with once our first release is out of the door... don't think there are commercial solutions for this problem yet.
@lastzero commented on GitHub (Jun 23, 2020):
Closing this since there was no more feedback. Please add new issues for specific feature requests or bugs :)
@wiwie commented on GitHub (Jun 28, 2020):
Sorry for not getting back to this issue earlier. Needed to wait until I had the time to wrap my head around your reply and the referenced issues. Everything you write makes sense, it's not trivial I get it.
If we forget about the babies though and ask the other way around:
Also, I think it would be a good thing to expose the threshold settings to the user in the UI. The advanced user that wants to tweak the labels knows best, which kinds of labels are relevant for him/her. So it would be cool if thresholds could be adapted in the UI directly. The normal user will just ignore them. Extra work in the UI though for possibly just a small fraction of the users, I know. Also, updating the thresholds would involve recompilation of the model? how long does that take?