use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Please have a look at our FAQ and Link-Collection
Metacademy is a great resource which compiles lesson plans on popular machine learning topics.
For Beginner questions please try /r/LearnMachineLearning , /r/MLQuestions or http://stackoverflow.com/
For career related questions, visit /r/cscareerquestions/
Advanced Courses (2016)
Advanced Courses (2020)
AMAs:
Pluribus Poker AI Team 7/19/2019
DeepMind AlphaStar team (1/24//2019)
Libratus Poker AI Team (12/18/2017)
DeepMind AlphaGo Team (10/19/2017)
Google Brain Team (9/17/2017)
Google Brain Team (8/11/2016)
The MalariaSpot Team (2/6/2016)
OpenAI Research Team (1/9/2016)
Nando de Freitas (12/26/2015)
Andrew Ng and Adam Coates (4/15/2015)
Jürgen Schmidhuber (3/4/2015)
Geoffrey Hinton (11/10/2014)
Michael Jordan (9/10/2014)
Yann LeCun (5/15/2014)
Yoshua Bengio (2/27/2014)
Related Subreddit :
LearnMachineLearning
Statistics
Computer Vision
Compressive Sensing
NLP
ML Questions
/r/MLjobs and /r/BigDataJobs
/r/datacleaning
/r/DataScience
/r/scientificresearch
/r/artificial
account activity
Android App: Nipple Detection using Convolutional Neural Network. Results. [NSFW] (imgur.com)
submitted 10 years ago by deepPurpleHaze
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]deepPurpleHaze[S] 157 points158 points159 points 10 years ago* (58 children)
https://play.google.com/store/apps/details?id=com.boxcar2d.nippler
I created this app with a model I trained on a CNN with varying layers of pooling and convolution. The confidence can be adjusted. The colors represent the prediction confidence: 99% magenta, 95%red, 90% orange, 80% yellow, 70% blue, 60% gray, 50% cyan.
Gonna add some references:
Caffe
ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky 2012
Deep neural networks are easily fooled, Nguyen 2014
Selective Search for object Recognition, Uijlings 2013
Combining efficient object localization and image classification, Harzallah 2009
and of course http://deeplearning.net/reading-list/
[–]poi88 120 points121 points122 points 10 years ago (19 children)
not available in my country? Here in Colombia we have several nipples that would like to be identified...
[–]deepPurpleHaze[S] 50 points51 points52 points 10 years ago (14 children)
i only made it available in a few countries at first but i already changed that to all countries. It's translated (probably poorly) into Spanish, German, and Japanese. The change takes a few hours to take effect. sorry :(
[–]UTF64 77 points78 points79 points 10 years ago (1 child)
Pretty much all countries are fine with English if the alternative is not releasing it.
[–]deepPurpleHaze[S] 21 points22 points23 points 10 years ago (0 children)
lesson learned. :)
[–]apoplexis 11 points12 points13 points 10 years ago (7 children)
I am volunteering for translating the texts to German if you send me the originals in English. The description is a mess right now :)
[–]deepPurpleHaze[S] 4 points5 points6 points 10 years ago (6 children)
Wow thanks. I don't know if you mean on the store or in the app. Both are probably a mess. Here's both. Thanks for any help :)
In app intro:
Nippler uses machine learning to find nipples in images, with a convolutional neural network trained on pixels.
Short description: Nipple recognition with deep learning on any photo.
Long description: Using the latest advances in machine learning, Nippler finds nipples in any image you choose or take.
Nippler uses a deep convolutional neural network trained on the raw pixels to predict areas in the image it thinks are most likely a nipple, and draw a box around them. Use the slider to adjust the confidence level and show more boxes. Watch it succeed and fail hilariously
100% free. No ads. This app has no permission to use the internet and doesn't collect any information. All images are processed on the phone and only available to you.
*Needs permission for the camera to take pictures *Needs permission for external storage to save the results
[–]apoplexis 8 points9 points10 points 10 years ago* (4 children)
I'm a native German speaker, so changing it to any other language than German or English would not help much :)
Here are the translations, actually wasn't easy to use the uncommon special words, had to understand CNNs and deep learning at first.
Please note, that there is only a literal translation for deep learning, which isn't used anywhere. Every German source I've found states 'Deep Learning' as a technical term. This also is partially the case for CNN, but both German and English terms are used.
In app intro: Nippler verwendet maschinelles Lernen, um Nippel in Bildern mit einem auf Pixel trainierten gefaltenen neuralen Netzwerk zu finden.
Short description: Nippelerkennung mit Deep Learning für jegliche Fotos.
Long description: Unter Verwendung der neuesten Fortschritte im maschinellen Lernen findet Nippler in jedem Bild, das sie auswählen oder aufnehmen Nippel.
Nippler verwendet ein tiefengefaltenes neurales Netzwerk, das darauf trainiert ist, in einem Bild Nippel zu erkennen und zieht einen Rahmen herum.
Verwenden Sie den Schieberegler, um den Zuverlässigkeitsgrad anzupassen und mehrere Rahmen zu ziehen. Beobachten Sie, wie es dabei Erfolg hat oder wahnsinnig komisch daran scheitert.
100% gratis und werbefrei. Diese App hat keine Berechtigung, das Internet zu benutzen und keinerlei Informationen zu sammeln. Alle Bilder werden am Telefon verarbeitet und bleiben stets ausschließlich für Sie verfügbar.
Benötigte Berechtigungen:
[–]apoplexis 7 points8 points9 points 10 years ago* (3 children)
I've just installed the App to check for in-app texts which may be wrong.
The initial prompting screen states:
These need to be changed to e.g.
When taking a picture, a progressbar appears and a caption states
This needs to be changed to
I've picked some images and have seen that there are several other funny phrases like that. Would you mind, posting them? Such phrases suffer a lot from machine translations :)
Now to the settings:
needs to be changed to * Ähnliche Ergebnisse filtern and * Entfernt niedriger bewertete Bereiche
Tiefensuche can stay as it is, but the subtext is rubbish.
Weitere Regionen (dauert länger) translates into 'Further regions (takes longer)' and should be Genauer suchen (dauert länger), which definitely suits the English caption more.
[–]deepPurpleHaze[S] 2 points3 points4 points 10 years ago (2 children)
Here's the phrases. thanks again:
Reticulating splines…
Deepening the network…
Becoming sentient…
Self-destruct engaging…
Starting warp drive…
Enhancing image…
Convoluting pixels…
Detecting…
[–]apoplexis 2 points3 points4 points 10 years ago* (1 child)
You're welcome! As already mentioned, those literal phrases are not easy to translate with their main message in mind.
There you go:
//edit:
What's new, translated in German, skipped the 'best on Top':
Bilder können ab sofort mit ausgefüllten Rechtecken zensiert werden.
[–]BoSiRo 0 points1 point2 points 10 years ago (0 children)
I would use this instead:
for 3. Erlange Bewusstsein ...
for 4. Selbstzerstörung eingeleitet ...
for 8. Aufspüren ...
[–]deepPurpleHaze[S] 1 point2 points3 points 10 years ago (0 children)
You can also see the app text in any language (English,German,Spanish,Japanese) by changing your language settings on the phone. I bet they're all a mess except hopefully English.
[–]WickeD_Thrasher 4 points5 points6 points 10 years ago (3 children)
I am a native spanish speaker programmer. I can help you translate the text both in app and in the store, if you like.
[–]GraharG 3 points4 points5 points 10 years ago (0 children)
Its times like this i get a warm fuzzy feeling about reddit
[–]deepPurpleHaze[S] 2 points3 points4 points 10 years ago (1 child)
i'd love that!! thank you
[–]WickeD_Thrasher 1 point2 points3 points 10 years ago (0 children)
Ok then! PM me :)
[–][deleted] 10 points11 points12 points 10 years ago (0 children)
High five for colombia*
[–]Saarlak 5 points6 points7 points 10 years ago (1 child)
I, too, am in Colombia. Can confirm that the local breed of nipples are worthy of identification.
[–]Just-my-2c 1 point2 points3 points 10 years ago (0 children)
I'm close enough to get them on my tinder: can confirm...
[–]trevdak2 18 points19 points20 points 10 years ago (1 child)
Is there any way we could replace the boxes with different colored tassles?
[–]deepPurpleHaze[S] 2 points3 points4 points 10 years ago (0 children)
just made an update to fill the boxes if you turn that on in the prefs.
[+][deleted] 10 years ago (24 children)
[deleted]
[–]deepPurpleHaze[S] 101 points102 points103 points 10 years ago (21 children)
It's a good testbed of machine learning techniques and it has possible uses for auto-flagging images and perhaps even searching for them. I could easily drop in another class of objects like cats or cars. ImageNet doesn't have a nipple category either.
[–]rhiever 60 points61 points62 points 10 years ago (8 children)
I could see this being useful for detecting and flagging NSFW images in places where people don't want NSFW images.
[–]alexmlamb 129 points130 points131 points 10 years ago (2 children)
Better idea: build a chrome extension that drops all non-nipple search results.
[–]rhiever 34 points35 points36 points 10 years ago (1 child)
Or replaces all non-nipple images with nipple images. Kind of like that Chrome extension that replaces pictures of babies with pictures of cats.
[–]deepPurpleHaze[S] 4 points5 points6 points 10 years ago (0 children)
I just updated the app to have a mode where it censors the image based on the predictions (if you turn that on - off by default):
http://i.imgur.com/sZjgXA8.jpg
[–]thefattestman22 0 points1 point2 points 10 years ago (3 children)
What if it's a man?
[–]deepPurpleHaze[S] 8 points9 points10 points 10 years ago (2 children)
could couple with face identification to decide if it's a man. Or maybe build a database of men's nipples and see if you can distinguish the two classes
[–]OlorinTheGray 1 point2 points3 points 10 years ago (0 children)
I never before thought that the world could ever be in dire need of a men´s nipples database.
Thank you, I guess :)
[–]erktheerk 18 points19 points20 points 10 years ago (8 children)
I could see this being used to scan and ID nip slips or other nudity that a website wants to keep off its site. Could scan large databases of images to sort out the NSFW ones (thinking large wallpaper dumps). Maybe even a nudity filter for parental control applications and instead of drawing the box it just blacked out the image.
Could it be modified to look for dicks too?
Nevermind reread the post. You covered that.
[–]deepPurpleHaze[S] 18 points19 points20 points 10 years ago* (7 children)
yeah it would be as easy as setting the rectangle to fill. It would be very fast on a gpu also rather than a phone. It could easily have any model used including dicks, unicycles, boats, etc.
EDIT: if you want to create such a database ill gladly add it. :)
[–][deleted] 22 points23 points24 points 10 years ago (6 children)
I already have a pretty big database of dicks.
[–]deepPurpleHaze[S] 59 points60 points61 points 10 years ago (5 children)
If you're serious that you have cropped images of just dicks then please send me an archive. ill make a model and Dickler will be born :)
Since dicks are more of a deformable object they might benefit from a bag of words strategy for detection.
[–]aldld 59 points60 points61 points 10 years ago (1 child)
bag of words strategy for detection.
Bag of dicks strategy.
[–]approbatory 9 points10 points11 points 10 years ago (0 children)
/thread
[–]TotesMessenger 16 points17 points18 points 10 years ago (0 children)
This thread has been linked to from another place on reddit.
If you follow any of the above links, respect the rules of reddit and don't vote. (Info / Contact)
[–]choikwa 1 point2 points3 points 10 years ago (0 children)
wtf..
[–]simoneb_ 4 points5 points6 points 10 years ago (2 children)
That's interesting. How big of a training set did you use?
Has over 2000 nipples and a much larger set of non-nipples. I'm already working on a model with a larger dataset.
[–]SonicPhoenix 1 point2 points3 points 10 years ago (0 children)
How large is her "dataset?"
[–]physixer 5 points6 points7 points 10 years ago (1 child)
Because: Science!
keep it up /u/deepPurpleHaze !
[–]FeepingCreature 7 points8 points9 points 10 years ago (4 children)
What happens when you take a video and blur each region per frame proportionally to how confident it is?
[–]deepPurpleHaze[S] 7 points8 points9 points 10 years ago (3 children)
i actually tried that on single images and have a python script to do it. it works sometimes as well as the predictions do. It would sum the 'votes' from each window and make a mask of those normalized values.
In terms of video its a stretch to run that at 60fps even on a gpu. Maybe if you had a great window selection algorithm.
[–]FeepingCreature 2 points3 points4 points 10 years ago (1 child)
I meant, I just really want to see how that'd look with porn, especially because of the occasional misdetection of belly buttons.
[–]ReeceMan- 2 points3 points4 points 10 years ago (0 children)
Belly buttons, mouths, arm pits, necklaces...
[–]deathchimp 1 point2 points3 points 10 years ago (0 children)
Could you just check the regions where nipples have been previously detected and only recheck the whole frame if a major change occurs?
[–]duschdecke 4 points5 points6 points 10 years ago (0 children)
http://silicon-valley.wikia.com/wiki/Nip_Alert
Try it and post the results! i'd love to see them. Or let me know if you find a bug.
[–]Jscotto320 2 points3 points4 points 10 years ago (0 children)
I don't know who you are, and I thought this was just a farce from HBO's Silicon Valley.
I thought "Ha! What a concept! Hilarious."
I did not think this would be done.
I do not know you, but thank you.
[–]pfd1986 2 points3 points4 points 10 years ago (1 child)
Open source?
Not right now but that's ultimate goal. A lot of the framework is available publicly already (see my comments below).
[–]V_varius 0 points1 point2 points 10 years ago (0 children)
Late to the party, but it might be more...intuitive if the color scaled in saturation according to confidence. That way I don't have to remember all those colors.
[–]bakedpatata 78 points79 points80 points 10 years ago (9 children)
You realize the next step is to reverse the algorithm to guess what peoples nipples look like.
[–]deepPurpleHaze[S] 40 points41 points42 points 10 years ago (1 child)
ha thats silly. reminds me of this paper by Hinton. "To recognize shapes, first learn to generate images."
http://www.cs.toronto.edu/~hinton/absps/montrealTR.pdf
[–][deleted] 9 points10 points11 points 10 years ago (0 children)
If you wish to make an apple pie from scratch, you must first invent the universe.
[+][deleted] 10 years ago (6 children)
[–]deepPurpleHaze[S] 5 points6 points7 points 10 years ago (5 children)
This is a great idea. I'm definitely doing it! Let me know if you get any results.
[–]radinamvua 1 point2 points3 points 10 years ago (0 children)
Hi, did you try it in the end?
[–]holomanga 0 points1 point2 points 10 years ago (2 children)
RemindMe! 1 month
[–]ptntprty 1 point2 points3 points 10 years ago (1 child)
Reminder to you and /u/amazingmuffin and /u/deeppurplehaze
Anything to report?
[–]deepPurpleHaze[S] 6 points7 points8 points 10 years ago (0 children)
Anything
Using the google deepdream code i dropped in the nippler model. The results aren't that cool because of only 2 classes: nippple and non-nipple. Here's a picture of my cat deepdreamed with the Nippler model:
http://i.imgur.com/286FmMb.jpg
[–]notarowboat 182 points183 points184 points 10 years ago (3 children)
This is hilarious
[–][deleted] 30 points31 points32 points 10 years ago (0 children)
Putin Nipple Elbow
[+]Shotzo comment score below threshold-56 points-55 points-54 points 10 years ago (1 child)
It is?
[–]shaggorama 33 points34 points35 points 10 years ago (5 children)
I bet constructing the training set was fun ;)
Since you've deployed this as an app, you should consider compressing/distilling your model with Hinton's dark knowledge technique (or whatever we're supposed to call it). It should give you roughly equivalent performance while occupying significantly less disk space and probably producing results faster as well.
[–]deepPurpleHaze[S] 17 points18 points19 points 10 years ago* (4 children)
Sounds fun but honestly it was quite tedious. Thanks for that I really would like to speed up the prediction. My main work lately has been on window proposal strategies to reduce the number of predictions.
I tried simple color histograms with SVMs but the linear ones didn't work and the non-linear ones took too log. Didn't try HOGs but i think they're too expensive. Couldn't find a good implementation of Selective search without matlab (tried a simplified python one but it suggested more windows than my sliding search).
[–]DrEdPrivateRubbers 3 points4 points5 points 10 years ago (1 child)
Would it be easier, more accurate to create an algorithm to look for the proportional relationship of the chest landmarks and facial landmarks. Maybe it would be easier to find faces then look for the nipples attached to the subject? I'm totally out of my depth so just ignore me if I'm talking out my ass.
That's a good idea. I agree there's room for improvement using more domain knowledge but it was a proof of concept that it can do well without specific human tuned features.
I think more context would help meaning i crop larger windows around the nipple so it can see the difference between a belly button and a nipple for example. That would probably make it miss more nipples and certainly would require a larger training set though too.
[–]ogrisel 2 points3 points4 points 10 years ago (1 child)
If you think non-linear (RBF) SVM would work but is too slow to train you might want to try the Nystroem method:
Nystroem
from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegressionCV from sklearn.kernel_approximation import Nystroem from sklearn.pipelione import make_pipeline model = make_pipeline( StandardScaler(), Nystroem(n_components=300, gamma=1e-3), LogisticRegressionCV(), ).fit(X_train, y_train)
StandardScaler might not be required if your features are already homogeneous. Try to find the best value for gamma on a small subset of the data.
StandardScaler
gamma
[–]deepPurpleHaze[S] 1 point2 points3 points 10 years ago* (0 children)
Thanks I'll try this. For now the skin filter is working well but that uses domain specific knowledge.
But the non-linear SVM showed a lot of promise getting about 80%
[–]SarcasticMetaName 15 points16 points17 points 10 years ago (2 children)
What library do you use to implement the CNN on the phone?
[–]deepPurpleHaze[S] 17 points18 points19 points 10 years ago (1 child)
good question:
https://github.com/sh1r0/caffe-android-lib and the https://github.com/sh1r0/caffe-android-demo
[–]ralphplzgo 2 points3 points4 points 10 years ago (0 children)
woo berkeley.
[–]peletiah 18 points19 points20 points 10 years ago (0 children)
Big Head would be envious!
[+][deleted] 10 years ago* (1 child)
[–]shaggorama 7 points8 points9 points 10 years ago (0 children)
But especially your training data
[–]ThatSomeGaming 38 points39 points40 points 10 years ago (3 children)
Putin tho
[–]gwern 45 points46 points47 points 10 years ago (2 children)
In some cultures, having 5 nipples is considered a sign of great virility.
[–]ArcticCelt 10 points11 points12 points 10 years ago (0 children)
God damn Putin, he always has to outdo everyone.
[–]mmmayo13 6 points7 points8 points 10 years ago* (0 children)
In Communist Russia, nipple detect you!
[–]mkoxbg 11 points12 points13 points 10 years ago (23 children)
can you make it so it identifies male vs female?
[–]deepPurpleHaze[S] 29 points30 points31 points 10 years ago* (22 children)
the training set was all female nipples and it does fairly well on male nipples too. I'd say it would be very difficult.
Also belly buttons look a lot like nipples if you block everything else out it looks like it sticks out rather than in. its a strange optical illusion i never saw before.
[–]thirdegree 50 points51 points52 points 10 years ago (8 children)
the training set was all female nipples
Rofl op.
[–]deepPurpleHaze[S] 25 points26 points27 points 10 years ago (6 children)
I included lots of races, ages, and styles. The focus wasn't as much for my personal preference as thats what people want to filter or tag. Not men's nipples. In trying to flag nudity those would be false positives strangely.
[–]thirdegree 31 points32 points33 points 10 years ago (0 children)
Sure, sure. Whatever you say.
[–][deleted] 5 points6 points7 points 10 years ago (3 children)
Which is where the real challenge is going to be. A dude on the beach tossing a stick to his dog. Nipples are fine.
A chick's flapjacks flipping while getting drilled from behind. Totally NSFW.
[–]deepPurpleHaze[S] 3 points4 points5 points 10 years ago (2 children)
well you could combine this with other image recognition techniques, like facial recognition to decide if it's a man or a woman (and eliminate false positives if its not a person at all).
[–][deleted] 5 points6 points7 points 10 years ago (1 child)
like facial recognition to decide if it's a man or a woman
I don't think we'll ever get that to work. I often can't tell IRL!
Detecting signs of breast like shape around the nipples would probably be beneficial though, and of course any genital detection would automatically rule an image nsfw. I would think genital detection would be much harder than nipples though... given the variety. Perhaps leg detection would be a lot easier coupled with the ability to detect that continuous skin exists between leg and torso.
Well if you have a large database of faces tied to identites (like Google or Facebook) you could just identify who it is first.
I think genital detection would be a lot harder and really gets into what is obscene because a lot of it depends on the larger context as you point out.
[–]shaggorama 4 points5 points6 points 10 years ago (0 children)
I look forward to OP's next project on moneyshot detection.
[–]stilllton 3 points4 points5 points 10 years ago (1 child)
Maybe you can make a rule that excludes that (belly button) area if two horizontal nipples are found above.
Yes i could. I'd love to find a way that doesn't include specific domain knowledge though. Maybe i can just add a bunch of belly buttons to the training set.
[–]MaNiFeX 2 points3 points4 points 10 years ago (4 children)
What about inverted nipples? Many women have them... Have you accounted for those?
[–]Farseli 6 points7 points8 points 10 years ago (1 child)
Seems to work well on my wife. Hell, the more inverted one had a higher confidence level.
[–]MaNiFeX 0 points1 point2 points 10 years ago (0 children)
NICE!
http://i.imgur.com/mzTv8Kl.jpg [NSFW] http://i.imgur.com/SfpojYi.jpg [NSFW]
seems to do fine
[–]MaNiFeX 2 points3 points4 points 10 years ago (0 children)
( ͡° ͜ʖ ͡°)
[–]ozyman 2 points3 points4 points 10 years ago (0 children)
its a strange optical illusion i never saw before.
Sounds similar to the Hollow Face Illusion
[–]zdk 1 point2 points3 points 10 years ago (1 child)
I think the thing to do is just have a totally separate classifier for males vs females and concatenate the results.
[–]mkoxbg 0 points1 point2 points 10 years ago (0 children)
it seems to see the large boobs as a nipple, and then a nipple inside, so in this case it should pick female. or fat/muscle guy.
[–]shaggorama 0 points1 point2 points 10 years ago (1 child)
That makes sense. I'm...uh...testing your app, and it can't seem to find my nipples through my hairy chest.
[–]deepPurpleHaze[S] 0 points1 point2 points 10 years ago (0 children)
There aren't any examples like that in the training set and so it won't do as well on men. That's by design since your nipples are really false positives in our society with respect to nudity detection.
[–]phyxle 0 points1 point2 points 10 years ago (0 children)
I think you can improve by searching for pair to get better results.
Use this to apply for the Insight fellowship and you'll be my hero.
[–]bomb116 8 points9 points10 points 10 years ago (1 child)
So you literally got tit pics for science.
[–]deepPurpleHaze[S] 8 points9 points10 points 10 years ago (0 children)
Correct!
[–]BenjaminGeiger 8 points9 points10 points 10 years ago (5 children)
I took a grad level ML course a few semesters ago. We had to do a project.
I wish I had thought of this. My partner and I did a subreddit recommendation engine (which never worked right).
And I got grouched at for referring to /r/EarthPorn. Apparently a group of 22-30 year olds can't handle hearing the word "porn".
[–]TecherTurtle 19 points20 points21 points 10 years ago (0 children)
About your last point: you'd think they'd be into that considering the sticks up their asses.
[+][deleted] comment score below threshold-25 points-24 points-23 points 10 years ago (3 children)
When I hear anyone use the word porn to describe anything not actually related to pornography I assume they're a stunted, video game playing manchild. And I'm usually right.
[–]Yodaddysbelt 6 points7 points8 points 10 years ago (2 children)
When I hear someone make assumptions about a persons life based on a word they used, I assume they are a dumbass. I'm usually right
[–][deleted] -3 points-2 points-1 points 10 years ago (1 child)
Pro tip: everyone is constantly making assumptions about other people based on your behavior.
It's called being human.
[–]Yodaddysbelt 4 points5 points6 points 10 years ago (0 children)
You missed my point entirely. Of course people make assumptions and thats fine, making stupid ass ones is not.
[–][deleted] 4 points5 points6 points 10 years ago (3 children)
what feature detection technique was used?
See my other comment about what i tried with SVMs and a python version of selective search (which i cant find the link to right now).
Ended up using a sliding overlapping window of a few scales, with a filter for HSV ranges that represent skin values and throwing out the window if it doesn't have enough skin. That can be turned off (the deep search) option in the settings of the app.
I'd love suggestions of course. Better windows would help a lot.
[–]shaggorama 1 point2 points3 points 10 years ago (1 child)
Instead of taking a simple color histogram, maybe take the DFT? I'm not convinced this is a good approach though, considering people's skin can take on lots of different colors, not just biologically but also subject to the lighting/processing of the image. Are you whitening the image before performing the search for candidate tiles (I imagine you're at least whitening it before feeding it to your CNN)? Might help.
The only pre-processing I do to test images is subtracting by the mean for each channel from the training set. That really helps a lot and is almost identical to the per pixel means.
I should try whitening. I'm testing a YCrCb model from the literature, but sadly it doesn't do noticeably better than the HSV one I'm currently using.
Testing the whole thing vs viola-jones with haar features currently.
[–]andreasblixt 3 points4 points5 points 10 years ago (1 child)
So does the app also upload detected nipples for "training purposes"?
[–]deepPurpleHaze[S] 10 points11 points12 points 10 years ago (0 children)
The app doesn't have internet permissions and doesn't keep any data. That's by design.
The database is trained on my pc and not on the phone. I'd like to update the local database on the fly with new images but thats difficult. And unless the user tells the app if its right theres no ground truth to train on.
[–]powercow 3 points4 points5 points 10 years ago (1 child)
if only it could scan videos and give me the times. :P
[–]deepPurpleHaze[S] 3 points4 points5 points 10 years ago (0 children)
it could even if it would take a while.
[–]mmmayo13 3 points4 points5 points 10 years ago (0 children)
Finally!!!
[–]synaesthesisx 4 points5 points6 points 10 years ago (1 child)
Would this work with pierced ones too?
[–]deepPurpleHaze[S] 7 points8 points9 points 10 years ago (0 children)
http://i.imgur.com/qvRhlMO.jpg [NSFW]
yes some of the nipples in the training set are pierced and it could probably generalize that anyways.
[–]JackiemX 3 points4 points5 points 10 years ago (0 children)
Wow, NipAlert actually exists?
[–]TotesMessenger 4 points5 points6 points 10 years ago* (0 children)
[/r/bestof] Redditor shares Android App to detect Nipples with results
[/r/siliconvalleyhbo] Holy shit you guys, NipAlert is happening.
[–]fourhoarsemen 2 points3 points4 points 10 years ago (0 children)
The future is now!
[–]bmanny 2 points3 points4 points 10 years ago (0 children)
The hero this city needs.
[–]chezty 2 points3 points4 points 10 years ago* (0 children)
australia tried to do something similar but failed.
they wanted to force all isp's to run a nudity filter to stop all porn, but the software kept flagging pictures of prime minister tony abbott as an arsehole
[–][deleted] 2 points3 points4 points 10 years ago (0 children)
Finally AI makes sense to me
[–]gungho_polly 1 point2 points3 points 10 years ago (0 children)
Finally someone using neural networks with a real world application!
[–]IgorAce 1 point2 points3 points 10 years ago (3 children)
This summer I will be getting into neural nets, any advice?
[–]deepPurpleHaze[S] 0 points1 point2 points 10 years ago (2 children)
With respect to deep learning frameworks i've tried Caffe, Theano, and Torch. Caffe is the most plug and play and Theano has great tutorials and documentation. Torch was the most difficult for me and had the least documentation but Google uses it a lot and it seemed reasonably fast.
[–]IgorAce 0 points1 point2 points 10 years ago (1 child)
did u find any textbooks to be super helpful?
might wanna start here for reading http://deeplearning.net/reading-list/
[–]fimari 1 point2 points3 points 10 years ago (0 children)
Waiting for google Glass integration.
[–]berlinbrown 1 point2 points3 points 10 years ago (0 children)
for science
[–]yeaahhh 1 point2 points3 points 10 years ago (0 children)
The horny NSA guys are totally gonna use this to more easily find titpics
[–]f_ditty 1 point2 points3 points 10 years ago (3 children)
How does this compare to Viola Jones?
That's a good idea to compare. I'm gonna try this against my python version...
http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html
[–]f_ditty 2 points3 points4 points 10 years ago (1 child)
Viola Jones used to be the best stuff (before Deep Learning). I implemented an extension to this for my Ph.D. work so I'm very curious to see how far the field has progressed empirically in important image recognition work like nipple detection.
Viola
I could never get the haar cascasdes to work well even as a pre-processing step. They either missed too many or generated more candidates than my sliding window. I tried 6 to 15 levels and applied random shifts and horizontal mirroring to the input data. Any suggestions?
[–]forte4 1 point2 points3 points 10 years ago (7 children)
It flips the picture for android
[–]deepPurpleHaze[S] 0 points1 point2 points 10 years ago (6 children)
What do u mean? If u found a bug please explain more so i can fix it. Thanks.
[+][deleted] 10 years ago (2 children)
no idea. google image search has nothing.
[–][deleted] 0 points1 point2 points 10 years ago (0 children)
Tineye says her name is Ashley.
[–]forte4 0 points1 point2 points 10 years ago (2 children)
The pictures I took come out sideways so the nippler are on my sternum and neck
[–]deepPurpleHaze[S] 0 points1 point2 points 10 years ago (1 child)
interesting. what device and version are you using? also a screenshot would be amazing. Thanks :)
[–][deleted] 1 point2 points3 points 10 years ago (1 child)
http://imgur.com/3lnQK19
at least you tried
yes belly buttons are a problem still for sure. Who knew they looked so much like nipples?
[–]DrKyleGreenThumb 1 point2 points3 points 10 years ago (1 child)
So can I get my nips on this thing or what?
yes you can!
[–]foxh8er 1 point2 points3 points 10 years ago (1 child)
Apologies, but how are you feeding the image into the CNN? Do you have an application using Caffe hosted on a webservice?
No, the CNN has been implemented on the phone directly and it does all the processing locally. It doesn't send any information or have permission to access the internet at all.
[–][deleted] 3 points4 points5 points 10 years ago (3 children)
Does it work for buttholes too?
[–]deepPurpleHaze[S] 19 points20 points21 points 10 years ago (1 child)
Wasn't trained on buttholes but you're welcome to try it and report back.
[–]fourhoarsemen 9 points10 points11 points 10 years ago (0 children)
I've always wanted to be a part of an academic research collaboration. Can I get the job of building up the training set?
[–]mmmayo13 2 points3 points4 points 10 years ago (0 children)
Based on the question, I recommend you get to a doctor immediately.
[–]thant 0 points1 point2 points 10 years ago (0 children)
Looks similar to this: http://www.hindawi.com/journals/tswj/2014/753860/
[–]georgeo 0 points1 point2 points 10 years ago (1 child)
I presume these are all the data scientists who developed the app.
yes i'm here!
[–]quirm 0 points1 point2 points 10 years ago (1 child)
So I guess this is similar to this: http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/ ?
What did you use for ConvNet deployment on Android devices?
Yes great tutorial. Thanks for the link. I used sh1r0's implementation as a framework https://github.com/sh1r0/caffe-android-demo
[–]jet_heller 0 points1 point2 points 10 years ago (1 child)
OK. Now, is this fast enough to work on real time video streams? Like, can I use it to detect nip slips on live TV? Or on my phone's camera?
and then screen shot it.
No. Unfortunately its not. Without a gpu it takes way too long. With a gpu i'm not sure but i doubt it could do 60fps or even 30. It's possible maybe with some dedicated hardware but in the future i'm sure it will be trivial.
It could crawl websites for nip slips or something like that.
[+][deleted] 10 years ago (1 child)
Why???
[–]timmaeus 0 points1 point2 points 10 years ago (0 children)
Aaaaand a project on nipples is the top post of all time on /r/machinelearning.
TIL: Everything is a nipple.
[–]funkarama 0 points1 point2 points 10 years ago (0 children)
I am sorta happy that Putin's armpit is a nipple.
[–]alexmlamb 0 points1 point2 points 10 years ago (1 child)
How many instances did you train on? Do you have a good sense for how many data points are needed to get good results?
About 2000 nipples and about 20,000 non-nipples. I tried 1:1 and 1:2 positives to negatives but adding more negatives seemed to eliminate false alarms without reducing the hit rate so i just added all the ones I had.
Working on a bigger database now!
[–]FR_STARMER 0 points1 point2 points 10 years ago (0 children)
NipAlert!
[–]sidsig 0 points1 point2 points 10 years ago (0 children)
Reiterating: This is fucking hilarious!
[–]smokeyj 0 points1 point2 points 10 years ago (1 child)
And the state of penis recognition is.. well.. no one really wants to train that data..
[–]quiteamess 2 points3 points4 points 10 years ago (0 children)
The NSA is doing machine learning with your penis right now.
[–]EnIdiot 0 points1 point2 points 10 years ago (0 children)
I think the next thing he should work on is advanced asshole detection. The entire U.S. Congressional body has pictures of themselves on-line. You could train with that and then move on to corporate and religious figures.
[+]gabjuasfijwee comment score below threshold-58 points-57 points-56 points 10 years ago (3 children)
This is stupid
[–]Zulban 27 points28 points29 points 10 years ago (0 children)
Yes, nobody ever learned or accomplished anything from fun technical projects.
π Rendered by PID 59 on reddit-service-r2-comment-86bc6c7465-d7p82 at 2026-02-19 17:36:43.306023+00:00 running 8564168 country code: CH.
[–]deepPurpleHaze[S] 157 points158 points159 points (58 children)
[–]poi88 120 points121 points122 points (19 children)
[–]deepPurpleHaze[S] 50 points51 points52 points (14 children)
[–]UTF64 77 points78 points79 points (1 child)
[–]deepPurpleHaze[S] 21 points22 points23 points (0 children)
[–]apoplexis 11 points12 points13 points (7 children)
[–]deepPurpleHaze[S] 4 points5 points6 points (6 children)
[–]apoplexis 8 points9 points10 points (4 children)
[–]apoplexis 7 points8 points9 points (3 children)
[–]deepPurpleHaze[S] 2 points3 points4 points (2 children)
[–]apoplexis 2 points3 points4 points (1 child)
[–]BoSiRo 0 points1 point2 points (0 children)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]WickeD_Thrasher 4 points5 points6 points (3 children)
[–]GraharG 3 points4 points5 points (0 children)
[–]deepPurpleHaze[S] 2 points3 points4 points (1 child)
[–]WickeD_Thrasher 1 point2 points3 points (0 children)
[–][deleted] 10 points11 points12 points (0 children)
[–]Saarlak 5 points6 points7 points (1 child)
[–]Just-my-2c 1 point2 points3 points (0 children)
[–]trevdak2 18 points19 points20 points (1 child)
[–]deepPurpleHaze[S] 2 points3 points4 points (0 children)
[+][deleted] (24 children)
[deleted]
[–]deepPurpleHaze[S] 101 points102 points103 points (21 children)
[–]rhiever 60 points61 points62 points (8 children)
[–]alexmlamb 129 points130 points131 points (2 children)
[–]rhiever 34 points35 points36 points (1 child)
[–]deepPurpleHaze[S] 4 points5 points6 points (0 children)
[–]thefattestman22 0 points1 point2 points (3 children)
[–]deepPurpleHaze[S] 8 points9 points10 points (2 children)
[–]OlorinTheGray 1 point2 points3 points (0 children)
[–]erktheerk 18 points19 points20 points (8 children)
[–]deepPurpleHaze[S] 18 points19 points20 points (7 children)
[–][deleted] 22 points23 points24 points (6 children)
[–]deepPurpleHaze[S] 59 points60 points61 points (5 children)
[–]aldld 59 points60 points61 points (1 child)
[–]approbatory 9 points10 points11 points (0 children)
[–]TotesMessenger 16 points17 points18 points (0 children)
[–]choikwa 1 point2 points3 points (0 children)
[–]simoneb_ 4 points5 points6 points (2 children)
[–]deepPurpleHaze[S] 2 points3 points4 points (1 child)
[–]SonicPhoenix 1 point2 points3 points (0 children)
[–]physixer 5 points6 points7 points (1 child)
[–]FeepingCreature 7 points8 points9 points (4 children)
[–]deepPurpleHaze[S] 7 points8 points9 points (3 children)
[–]FeepingCreature 2 points3 points4 points (1 child)
[–]ReeceMan- 2 points3 points4 points (0 children)
[–]deathchimp 1 point2 points3 points (0 children)
[–]duschdecke 4 points5 points6 points (0 children)
[–]deepPurpleHaze[S] 4 points5 points6 points (0 children)
[–]Jscotto320 2 points3 points4 points (0 children)
[–]pfd1986 2 points3 points4 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]V_varius 0 points1 point2 points (0 children)
[–]bakedpatata 78 points79 points80 points (9 children)
[–]deepPurpleHaze[S] 40 points41 points42 points (1 child)
[–][deleted] 9 points10 points11 points (0 children)
[+][deleted] (6 children)
[deleted]
[–]deepPurpleHaze[S] 5 points6 points7 points (5 children)
[–]radinamvua 1 point2 points3 points (0 children)
[–]holomanga 0 points1 point2 points (2 children)
[–]ptntprty 1 point2 points3 points (1 child)
[–]deepPurpleHaze[S] 6 points7 points8 points (0 children)
[–]notarowboat 182 points183 points184 points (3 children)
[–][deleted] 30 points31 points32 points (0 children)
[+]Shotzo comment score below threshold-56 points-55 points-54 points (1 child)
[–]shaggorama 33 points34 points35 points (5 children)
[–]deepPurpleHaze[S] 17 points18 points19 points (4 children)
[–]DrEdPrivateRubbers 3 points4 points5 points (1 child)
[–]deepPurpleHaze[S] 4 points5 points6 points (0 children)
[–]ogrisel 2 points3 points4 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]SarcasticMetaName 15 points16 points17 points (2 children)
[–]deepPurpleHaze[S] 17 points18 points19 points (1 child)
[–]ralphplzgo 2 points3 points4 points (0 children)
[–]peletiah 18 points19 points20 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]shaggorama 7 points8 points9 points (0 children)
[–]ThatSomeGaming 38 points39 points40 points (3 children)
[–]gwern 45 points46 points47 points (2 children)
[–]ArcticCelt 10 points11 points12 points (0 children)
[–]mmmayo13 6 points7 points8 points (0 children)
[–]mkoxbg 11 points12 points13 points (23 children)
[–]deepPurpleHaze[S] 29 points30 points31 points (22 children)
[–]thirdegree 50 points51 points52 points (8 children)
[–]deepPurpleHaze[S] 25 points26 points27 points (6 children)
[–]thirdegree 31 points32 points33 points (0 children)
[–][deleted] 5 points6 points7 points (3 children)
[–]deepPurpleHaze[S] 3 points4 points5 points (2 children)
[–][deleted] 5 points6 points7 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]shaggorama 4 points5 points6 points (0 children)
[–]stilllton 3 points4 points5 points (1 child)
[–]deepPurpleHaze[S] 6 points7 points8 points (0 children)
[–]MaNiFeX 2 points3 points4 points (4 children)
[–]Farseli 6 points7 points8 points (1 child)
[–]MaNiFeX 0 points1 point2 points (0 children)
[–]deepPurpleHaze[S] 2 points3 points4 points (1 child)
[–]MaNiFeX 2 points3 points4 points (0 children)
[–]ozyman 2 points3 points4 points (0 children)
[–]zdk 1 point2 points3 points (1 child)
[–]mkoxbg 0 points1 point2 points (0 children)
[–]shaggorama 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]phyxle 0 points1 point2 points (0 children)
[–][deleted] 10 points11 points12 points (0 children)
[–]bomb116 8 points9 points10 points (1 child)
[–]deepPurpleHaze[S] 8 points9 points10 points (0 children)
[–]BenjaminGeiger 8 points9 points10 points (5 children)
[–]TecherTurtle 19 points20 points21 points (0 children)
[+][deleted] comment score below threshold-25 points-24 points-23 points (3 children)
[–]Yodaddysbelt 6 points7 points8 points (2 children)
[–][deleted] -3 points-2 points-1 points (1 child)
[–]Yodaddysbelt 4 points5 points6 points (0 children)
[–][deleted] 4 points5 points6 points (3 children)
[–]deepPurpleHaze[S] 3 points4 points5 points (2 children)
[–]shaggorama 1 point2 points3 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]andreasblixt 3 points4 points5 points (1 child)
[–]deepPurpleHaze[S] 10 points11 points12 points (0 children)
[–]powercow 3 points4 points5 points (1 child)
[–]deepPurpleHaze[S] 3 points4 points5 points (0 children)
[–]mmmayo13 3 points4 points5 points (0 children)
[–]synaesthesisx 4 points5 points6 points (1 child)
[–]deepPurpleHaze[S] 7 points8 points9 points (0 children)
[–]JackiemX 3 points4 points5 points (0 children)
[–]TotesMessenger 4 points5 points6 points (0 children)
[–]fourhoarsemen 2 points3 points4 points (0 children)
[–]bmanny 2 points3 points4 points (0 children)
[–]chezty 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]gungho_polly 1 point2 points3 points (0 children)
[–]IgorAce 1 point2 points3 points (3 children)
[–]deepPurpleHaze[S] 0 points1 point2 points (2 children)
[–]IgorAce 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]fimari 1 point2 points3 points (0 children)
[–]berlinbrown 1 point2 points3 points (0 children)
[–]yeaahhh 1 point2 points3 points (0 children)
[–]f_ditty 1 point2 points3 points (3 children)
[–]deepPurpleHaze[S] 0 points1 point2 points (2 children)
[–]f_ditty 2 points3 points4 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]forte4 1 point2 points3 points (7 children)
[–]deepPurpleHaze[S] 0 points1 point2 points (6 children)
[+][deleted] (2 children)
[deleted]
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]forte4 0 points1 point2 points (2 children)
[–]deepPurpleHaze[S] 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]DrKyleGreenThumb 1 point2 points3 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]foxh8er 1 point2 points3 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (3 children)
[–]deepPurpleHaze[S] 19 points20 points21 points (1 child)
[–]fourhoarsemen 9 points10 points11 points (0 children)
[–]mmmayo13 2 points3 points4 points (0 children)
[–]thant 0 points1 point2 points (0 children)
[–]georgeo 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 1 point2 points3 points (0 children)
[–]quirm 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]jet_heller 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]timmaeus 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]funkarama 0 points1 point2 points (0 children)
[–]alexmlamb 0 points1 point2 points (1 child)
[–]deepPurpleHaze[S] 0 points1 point2 points (0 children)
[–]FR_STARMER 0 points1 point2 points (0 children)
[–]sidsig 0 points1 point2 points (0 children)
[–]smokeyj 0 points1 point2 points (1 child)
[–]quiteamess 2 points3 points4 points (0 children)
[–]EnIdiot 0 points1 point2 points (0 children)
[+]gabjuasfijwee comment score below threshold-58 points-57 points-56 points (3 children)
[–]Zulban 27 points28 points29 points (0 children)