mirror of
https://github.com/photoprism/photoprism.git
synced 2026-03-02 22:57:18 -05:00
Proof-of-concept for scene category classification #144
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#144
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 @lastzero on GitHub (Dec 30, 2019).
As a PhotoPrism user, I want my photos classified by scene category so that I can filter search results by scene and get better image titles.
While we already label certain scenes based on the objects we find, we don't have a specialized TensorFlow model for this yet e.g. AlexNet-places365, GoogLeNet-places365 or ResNet152-places365. See also http://places2.csail.mit.edu/download.html.
Ideally we can reuse our existing Go TensorFlow code for this, but each model is different in how it must be used. Our NSFW detector for example needs different input values than our Nasnet model for object classification, so we ended up using different code and different packages. For scene detection, it might be good to create a new
scenepackage unless merging it with Nasnet gives us much better performance.Acceptance Criteria:
@lastzero commented on GitHub (Jan 8, 2020):
Moved our image classification code to the new
classifypackage:github.com/photoprism/photoprism@e9874d6e0cShould be easier to test, simply go to the directory and run
go test -v.We'll see if that's a good name... was the best a could come up with today.
@lastzero commented on GitHub (Jan 8, 2020):
Updated our docs: https://github.com/photoprism/photoprism/wiki/Image-Classification
@lastzero commented on GitHub (Jan 16, 2020):
FYI: https://github.com/nic25 is working on this 🚀
@lastzero commented on GitHub (Jan 16, 2020):
Didn't find related models on TensorFlow Hub.
@tam-wh commented on GitHub (May 23, 2020):
seems like there's a way to convert places365 caffemodel to tensorflow?
https://ndres.me/post/convert-caffe-to-tensorflow/
@tam-wh commented on GitHub (May 23, 2020):
i successfully converted vgg16_hybrid1365 into pb file (took me half a day to get the converter working) and it works well in Tensorflow .NET. I'm now working on the non-hybrid model as it is more suitable for scene classification
ResNet152-places365 (does not convert)
VGG16-hybrid1365 (converted successfully)
VGG16-places365 (working on it)
@tam-wh commented on GitHub (May 23, 2020):
The file is quite huge, ~500MB. Now shared on my nextcloud VGG16-places365. Its quite slow as my vps download speed is limited to 150KB. Label files are available on places365 github
Some information on the model
Took a couple of images from the demo here and run it through the converted pb file in Tensorflow.NET. Image width & height set to 224px.
48 /b/beach 48, 0.86291456
66 /b/bridge 66, 0.9400765
Seems like conversion works really well
@Extarys commented on GitHub (Sep 10, 2020):
Not sure if it's possible, but could the label "water" be added? Maybe "boat" for the second picture?
I don't really know how those things work though 😕