varietywalls / variety

Wallpaper downloader and manager for Linux systems
http://peterlevi.com/variety
GNU General Public License v3.0
1.2k stars 143 forks source link

would it be possible to have some sort of categorization of images #24

Closed shirishag75 closed 6 years ago

shirishag75 commented 6 years ago

It would be nice if we could have some sort of categorization of images. For instance, nature, black and white pictures, wildlife, space etc. While I know that categorization is a complex and pretty much an arbitrary concept it would be nice if we could have some sort of categorization so that people could either look for more pictures from certain concepts of have pictures of a particular concept in different settings.

Just as an e.g. if I were to a GNU/Linux presentation for a wildlife group it would make sense to have wildlife pictures in the wallpaper all the time, if doing a presentation for space enthusiasts, I could select space (universe, galaxy etc.) and do the same. Right now there isn't any way to do the above except have an image and make it current.

Thoughts ?

jlu5 commented 6 years ago

I'll try to refine this question further:

If you're looking for categorization in downloads, this is already available in some sources (e.g. Wallhaven) while others have it as an open issue (e.g. Unsplash)

If you're looking for categorization in any arbitrary set of images, this is effectively delving into machine learning / neural networks territory (specifically, look for "image classification"). While a proof of concept of this applied to wallpapers would be quite interesting, it's probably out of Variety's scope and better implemented as a standalone program. In particular, if something can sort images into descriptive folders , then using those in Variety would be as simple as selecting the folders you want at any particular moment.

peterlevi commented 6 years ago

The issue with any sort of ML in Variety is that we can't really bundle the necessary libraries and models with Variety to have the classification work on the user's machine (Tensorflow, numpy, scipy, etc. are all pretty big, and the trained models themselves tend to become quite huge, and also classification is somewhat resource and power-intensive, though this is less of an issue). Which would require us to do this on a server, and it makes things complex.

BUT for this particular use-case I don't even see the need - just curate and adjust your image sources according to what you want to see.

jlu5 commented 6 years ago

Well said - closing as wontfix accordingly.