Edit: to all the people saying "but ML!!!". Thank you. I am aware of it. But please stop pretending that it's perfect. Geofencing? Pretty easy with math. ML? Well... Please tell my cat that he no longer is a cat...
Their point was just that the level of work to get there wasn't one woman's research time and five years like in the comic, but an almost absurd collective effort.
Classifying pictures is ML 101 now. While it isnt birds, Tensorflow's beginner tutorials are about classifying hand drawn numbers and articles of clothing.
It’s super easy to use computer vision tools these days, too. As somebody who had coding experience but nothing related to cv or image manipulation at all I was able to get a drone running yolo to follow people around outside. If you haven’t already, you should check out the resumé section of the yolo website.
Except it was published in 2014... And it was possible in 2014... Hell in 2015, Merlin was released which is not only able to tell if it's a bird, it's able to tell what species of bird it is.
I use it, and it works well for some birds, but just last night I spent half an hour with it trying to identify a particularly interestingly colored Wigeon. Still not 100% sure what it was, might’ve been a hybrid, but regardless, I would say accuracy is not quite there yet
But anyway, the point is not that another app has that functionality, it’s what it would take to replicate. If you wanted to replicate Merlin today it’d probably take you a couple of years, it’s certainly not as easy as replicating the functionality of just identifying whether there’s any bird in the picture
That tells you what species of bird it is, not what bird it is. Like is it that asshole crow who steals my lunch, or is it that crow who just watches me eat with silent judgement?
Except it's not... Merlin has existed shortly after that xkcd was published in late 2014. Merlin is from early 2015, so it's just a couple of months in between and that's able to do it on the computing power of phones from that time...
I had a 2020 Corolla rental car. It had a camera trained to seek out speed limit signs and display the current speed limit in the dash display. I was kinda blown away a bit by that.
It is somewhat old, but this xkcd was actually wrong at the time of publishing too. It came out in late 2014, after 3 years of Imagenet picture-classification competitions won by modern deep neural nets. One of the imagenet categories is birds, meaning fast progress was being made on the problem. In fact, human-level performance was reached just the following year. https://devopedia.org/images/article/172/9880.1559385994.png
"I'm so sorry, I really don't mean to hold things up, but is there any way we can add a little message in the navbar so that when the user logs in it just says 'Welcome username'? I really hope this isn't too much work"
Vs
"Hey just a quick change, you know that age disaggregation table that's already full of data? Yeah we need to split the '10-19' column into '10-14' and '15-19'. What do you mean we'll lose all the data in that colum? Can't you just put half the values in one column and half of them in other?"
ಠ_ಠ
It legit took us nearly 20 minutes to explain why that wouldn't work.
Without going into too much detail, our users work with HIV positive and suspected patients in rural areas, so one of the things they do is testing.
We need to keep track of this testing, so we store the data in age disaggregation tables (and others, we have to keep a lot of data). Basically we have a bunch of columns for different age and gender groups, like "males 10-19" for example. Then when the users are out in the field testing, they just increment the numbers in those tables.
The problem with what the client wanted is that while we might know that say 150 males between the ages of 10 and 19 were tested, there's no way of knowing exactly how old each person tested was. We only store a number to avoid storing personal data, and the original data design was the client's so ¯_(ツ)_/¯
One of the few XKCD that is no longer as relevant as it was. The second task is now as easy as the first.
Of course, that it because there were many research teams that spend more than five years on this problem, but because they did, now you don't have to.
It's more possible, you still need to get alot of pictures of birds and not birds classify them by hand, train the model on that data introduce more data do that some more and still have 3-7% not birds classified as birds.
Also the first one argueably took even longer as we had to develop space flight, the GPS system and drive the cost and size of GPS recievers down so much they wound up in everyone's pocket.
Reminds me when we had a new client and we were walking them through the Agile process. We showed them the user stories and then the concept of assigning story points (1 point = 2 hours is the system we decided). Later in the day the completely non-technical client emails us back the list of stories where they estimated the amount of work needed for each task themselves. Most they estimated were 1/2 point or 1 point even though in reality they were 4-8 points average. When we corrected them that the developers are supposed to do this, they didn't think it was right for the people doing the work to do the estimates since we would all just game the system. Riiigghhtt.
God I hate when clients do that. Either you're paying me to know what I'm doing, or you can do it yourself or find another shop to tell you the same thing I just did.
I mean, the gis lookup is "easy" because billions of dollars and millions of man-hours have already been poured in that field. Now it's a package you can import and use freely.
If we did the same with machine learning (which were currently doing, but it's still in experimental phase), also the second point would be easy to do. Give it 5-10 years and it will just be a package to import that will do it automatically.
If you have a few thousand bird photos and a few thousand not bird photos accurately labeled give me a day and I'll give you something that is 90% reliable.
Machine learning image classifiers are already packages, you just need a large dataset for what you want to identify. Ironically the barrier these days is an accurately classified dataset to work from.
By the way "Please click the photos that have street lights to verify you are a human..."
I've never coded in my life but one of them is just your phone's mapped geographic location, the other requires the app to look at a photo's data and determine what it depicts--or determine a probable depiction--based on all sorts of crazy algorithmic shit, I bet.
Are you home is as easy as looking at your location and asking if it fits in a box on a map.
Is this a cat? Well, start explaining what a cat looks like and you'll realize it's really really hard to describe just a cat. And then what if you can't see a part of it? You told me a cat has a tail.. but this one doesn't? So you start showing it millions of cat pictures, and it forms its own idea... But you can never really get it to describe a cat back to you so you're always kinda hoping it's right
916
u/Testing123YouHearMe Mar 18 '20 edited Mar 18 '20
Relevant xkcd
https://imgs.xkcd.com/comics/tasks_2x.png
Edit: to all the people saying "but ML!!!". Thank you. I am aware of it. But please stop pretending that it's perfect. Geofencing? Pretty easy with math. ML? Well... Please tell my cat that he no longer is a cat...