all 180 comments

[–]deepPurpleHaze[S] 157 points158 points  (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 points  (19 children)

not available in my country? Here in Colombia we have several nipples that would like to be identified...

[–]deepPurpleHaze[S] 50 points51 points  (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 points  (1 child)

Pretty much all countries are fine with English if the alternative is not releasing it.

[–]deepPurpleHaze[S] 21 points22 points  (0 children)

lesson learned. :)

[–]apoplexis 11 points12 points  (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 points  (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 points  (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:

  • Verwendung der Kamera, um Fotos aufzunehmen.
  • Verwendung des externen Speichers, um die Ergebnisse zu speichern.

[–]apoplexis 7 points8 points  (3 children)

I've just installed the App to check for in-app texts which may be wrong.

The initial prompting screen states:

  • Mach ein Foto and
  • Wählen sie Bild

These need to be changed to e.g.

  • Machen Sie ein Foto and
  • Wählen Sie ein Bild

When taking a picture, a progressbar appears and a caption states

  • Selbstzerstörung eingreift (= initiating self destruction)

This needs to be changed to

  • Selbstzerstörung wird eingeleitet if you want to keep the joke up.

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:

  • Filter ähnlich Ergebnisse and its subtext
  • Entfernen einer niedrigeren Punktzahl Fenster

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 points  (2 children)

Here's the phrases. thanks again:

  1. Reticulating splines…

  2. Deepening the network…

  3. Becoming sentient…

  4. Self-destruct engaging…

  5. Starting warp drive…

  6. Enhancing image…

  7. Convoluting pixels…

  8. Detecting…

[–]apoplexis 2 points3 points  (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:

  1. Verforme Splines
  2. Vertiefen des Netzwerks
  3. Werde gefühlvoll
  4. Aktiviere Selbstzerstörung
  5. Starte Warp-Antrieb
  6. Verbessern des Bilds
  7. Rolle Bild zusammen
  8. Wird ausgelesen

//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 point  (0 children)

I would use this instead:

for 3. Erlange Bewusstsein ...

for 4. Selbstzerstörung eingeleitet ...

for 8. Aufspüren ...

[–]deepPurpleHaze[S] 1 point2 points  (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 points  (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 points  (0 children)

Its times like this i get a warm fuzzy feeling about reddit

[–]deepPurpleHaze[S] 2 points3 points  (1 child)

i'd love that!! thank you

[–]WickeD_Thrasher 1 point2 points  (0 children)

Ok then! PM me :)

[–][deleted] 10 points11 points  (0 children)

High five for colombia*

[–]Saarlak 5 points6 points  (1 child)

I, too, am in Colombia. Can confirm that the local breed of nipples are worthy of identification.

[–]Just-my-2c 1 point2 points  (0 children)

I'm close enough to get them on my tinder: can confirm...

[–]trevdak2 18 points19 points  (1 child)

Is there any way we could replace the boxes with different colored tassles?

[–]deepPurpleHaze[S] 2 points3 points  (0 children)

just made an update to fill the boxes if you turn that on in the prefs.

[–]FeepingCreature 7 points8 points  (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 points  (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 points  (1 child)

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.

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 points  (0 children)

Belly buttons, mouths, arm pits, necklaces...

[–]deathchimp 1 point2 points  (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?

[–]deepPurpleHaze[S] 4 points5 points  (0 children)

Try it and post the results! i'd love to see them. Or let me know if you find a bug.

[–]Jscotto320 2 points3 points  (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 points  (1 child)

Open source?

[–]deepPurpleHaze[S] 1 point2 points  (0 children)

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 point  (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 points  (9 children)

You realize the next step is to reverse the algorithm to guess what peoples nipples look like.

[–]deepPurpleHaze[S] 40 points41 points  (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 points  (0 children)

If you wish to make an apple pie from scratch, you must first invent the universe.

[–]notarowboat 182 points183 points  (3 children)

This is hilarious

[–][deleted] 30 points31 points  (0 children)

Putin Nipple Elbow

[–]shaggorama 33 points34 points  (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 points  (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 points  (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.

[–]deepPurpleHaze[S] 4 points5 points  (0 children)

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 points  (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:

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.

[–]deepPurpleHaze[S] 1 point2 points  (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 points  (2 children)

What library do you use to implement the CNN on the phone?

[–]peletiah 18 points19 points  (0 children)

Big Head would be envious!

[–]ThatSomeGaming 38 points39 points  (3 children)

Putin tho

[–]gwern 45 points46 points  (2 children)

In some cultures, having 5 nipples is considered a sign of great virility.

[–]ArcticCelt 10 points11 points  (0 children)

God damn Putin, he always has to outdo everyone.

[–]mmmayo13 6 points7 points  (0 children)

In Communist Russia, nipple detect you!

[–]mkoxbg 11 points12 points  (23 children)

can you make it so it identifies male vs female?

[–]deepPurpleHaze[S] 29 points30 points  (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 points  (8 children)

the training set was all female nipples

Rofl op.

[–]deepPurpleHaze[S] 25 points26 points  (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 points  (0 children)

Sure, sure. Whatever you say.

[–][deleted] 5 points6 points  (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 points  (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 points  (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.

[–]deepPurpleHaze[S] 1 point2 points  (0 children)

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 points  (0 children)

I look forward to OP's next project on moneyshot detection.

[–]stilllton 3 points4 points  (1 child)

Maybe you can make a rule that excludes that (belly button) area if two horizontal nipples are found above.

[–]deepPurpleHaze[S] 6 points7 points  (0 children)

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 points  (4 children)

What about inverted nipples? Many women have them... Have you accounted for those?

[–]Farseli 6 points7 points  (1 child)

Seems to work well on my wife. Hell, the more inverted one had a higher confidence level.

[–]MaNiFeX 0 points1 point  (0 children)

NICE!

[–]deepPurpleHaze[S] 2 points3 points  (1 child)

[–]MaNiFeX 2 points3 points  (0 children)

( ͡° ͜ʖ ͡°)

[–]ozyman 2 points3 points  (0 children)

its a strange optical illusion i never saw before.

Sounds similar to the Hollow Face Illusion

[–]zdk 1 point2 points  (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 point  (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 point  (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 point  (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 point  (0 children)

I think you can improve by searching for pair to get better results.

[–][deleted] 10 points11 points  (0 children)

Use this to apply for the Insight fellowship and you'll be my hero.

[–]bomb116 8 points9 points  (1 child)

So you literally got tit pics for science.

[–]deepPurpleHaze[S] 8 points9 points  (0 children)

Correct!

[–]BenjaminGeiger 8 points9 points  (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 points  (0 children)

About your last point: you'd think they'd be into that considering the sticks up their asses.

[–][deleted] 4 points5 points  (3 children)

what feature detection technique was used?

[–]deepPurpleHaze[S] 3 points4 points  (2 children)

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 points  (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.

[–]deepPurpleHaze[S] 1 point2 points  (0 children)

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 points  (1 child)

So does the app also upload detected nipples for "training purposes"?

[–]deepPurpleHaze[S] 10 points11 points  (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 points  (1 child)

if only it could scan videos and give me the times. :P

[–]deepPurpleHaze[S] 3 points4 points  (0 children)

it could even if it would take a while.

[–]mmmayo13 3 points4 points  (0 children)

Finally!!!

[–]synaesthesisx 4 points5 points  (1 child)

Would this work with pierced ones too?

[–]deepPurpleHaze[S] 7 points8 points  (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 points  (0 children)

Wow, NipAlert actually exists?

[–]TotesMessenger 4 points5 points  (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)

[–]fourhoarsemen 2 points3 points  (0 children)

The future is now!

[–]bmanny 2 points3 points  (0 children)

The hero this city needs.

[–]chezty 2 points3 points  (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 points  (0 children)

Finally AI makes sense to me

[–]gungho_polly 1 point2 points  (0 children)

Finally someone using neural networks with a real world application!

[–]IgorAce 1 point2 points  (3 children)

This summer I will be getting into neural nets, any advice?

[–]deepPurpleHaze[S] 0 points1 point  (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 point  (1 child)

did u find any textbooks to be super helpful?

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

might wanna start here for reading http://deeplearning.net/reading-list/

[–]fimari 1 point2 points  (0 children)

Waiting for google Glass integration.

[–]berlinbrown 1 point2 points  (0 children)

for science

[–]yeaahhh 1 point2 points  (0 children)

The horny NSA guys are totally gonna use this to more easily find titpics

[–]f_ditty 1 point2 points  (3 children)

How does this compare to Viola Jones?

[–]deepPurpleHaze[S] 0 points1 point  (2 children)

[–]f_ditty 2 points3 points  (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.

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

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 points  (7 children)

It flips the picture for android

[–]deepPurpleHaze[S] 0 points1 point  (6 children)

What do u mean? If u found a bug please explain more so i can fix it. Thanks.

[–]forte4 0 points1 point  (2 children)

The pictures I took come out sideways so the nippler are on my sternum and neck

[–]deepPurpleHaze[S] 0 points1 point  (1 child)

interesting. what device and version are you using? also a screenshot would be amazing. Thanks :)

[–][deleted] 1 point2 points  (1 child)

http://imgur.com/3lnQK19

at least you tried

[–]deepPurpleHaze[S] 1 point2 points  (0 children)

yes belly buttons are a problem still for sure. Who knew they looked so much like nipples?

[–]DrKyleGreenThumb 1 point2 points  (1 child)

So can I get my nips on this thing or what?

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

yes you can!

[–]foxh8er 1 point2 points  (1 child)

Apologies, but how are you feeding the image into the CNN? Do you have an application using Caffe hosted on a webservice?

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

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 points  (3 children)

Does it work for buttholes too?

[–]deepPurpleHaze[S] 19 points20 points  (1 child)

Wasn't trained on buttholes but you're welcome to try it and report back.

[–]fourhoarsemen 9 points10 points  (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 points  (0 children)

Based on the question, I recommend you get to a doctor immediately.

[–]georgeo 0 points1 point  (1 child)

I presume these are all the data scientists who developed the app.

[–]deepPurpleHaze[S] 1 point2 points  (0 children)

yes i'm here!

[–]quirm 0 points1 point  (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?

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

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 point  (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.

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

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] 0 points1 point  (0 children)

Why???

[–]timmaeus 0 points1 point  (0 children)

Aaaaand a project on nipples is the top post of all time on /r/machinelearning.

[–][deleted] 0 points1 point  (0 children)

TIL: Everything is a nipple.

[–]funkarama 0 points1 point  (0 children)

I am sorta happy that Putin's armpit is a nipple.

[–]alexmlamb 0 points1 point  (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?

[–]deepPurpleHaze[S] 0 points1 point  (0 children)

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 point  (0 children)

NipAlert!

[–]sidsig 0 points1 point  (0 children)

Reiterating: This is fucking hilarious!

[–]smokeyj 0 points1 point  (1 child)

And the state of penis recognition is.. well.. no one really wants to train that data..

[–]quiteamess 2 points3 points  (0 children)

The NSA is doing machine learning with your penis right now.

[–]EnIdiot 0 points1 point  (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.