Concept of the Week: Let Artificial Intelligence tell you how good is your look

This is a series of articles presenting the ideas (some may be stupid) of apps and products I come up with. Sometimes I will provide the basic source code, and sometimes there will be just description and simple mockups. In any case, you are free to implement these ideas into a complete product, but don’t forget to tell me that you did :).

I am terrible at picking the right clothes. Every time I do shopping on my own, I end up buying idiotic-looking stuff and never wear them again. Or wear them only when I need to pop into the local groceries to make it look like “I just quickly took on the first thing I found in my closet”. There are of course hordes of salespeople who are trying to help me, but, as the help is rarely useful, I guess, they are just trying to sell me whatever is more expensive and less popular.

This is why I always try to have my wife to buy clothing for me. And even though we sometimes argue about whether this shirt is OK to take on when I’m going to a meeting, almost 99% of time she’s right – that patchy shirt will make me look like I’m a geeky student among the million-dollar-making Wall Street lions in gray suits and light blue shirts with shiny red ties.

Many of the people out there don’t have such a person nearby like my wife. So for such style-blind single people, here’s the idea I’m giving away. A mobile app with a neural network in the back-end, that will tell you if your new look is good or bad. There may be just 2 categories (OK / not OK), or a 5- or 10-star rating, or anything else you think the audience will accept.

The basic flow is that you:

  1. Take the picture of yourself
  2. Get the evaluation

Like this:

I don’t know, whether this girl actually looks awesome, because, as I was saying, I’m bad at this.

Probably, this is what would have happened if I were to take the picture of the kind of person like me:

scr2

This is not me, nor my wife. Just random girl from the internet.

Then goes all that usual share-on-instagram-and-get-million-likes stuff, if the user gets the 5. And, probably nothing will be shared, if she scored lower, because no one likes sharing bad pictures on Instagram.

The app itself is straightforward. The screen for signing in with your Instagram account, the camera screen and the results screen. Can be implemented on both iOS and Android in a day.

The back-end would require setting up a simple API server, which would pass the data to the ‘brain’. The ‘brain’ could be a TensorFlow Serving or whatever you are familiar with.

I do believe that something similar is already there. The idea is simple, and there is nothing in it that has not been done before.

There are a couple of obstacles, though.

One thing that might be a problem here is obtaining the training set. If you decide to implement it, you would need thousands or even tens of thousands of examples for the initial training of the neural network. The size of the training data set highly depends on the scale you would use to grade the image. If there are only good/bad categories, then you need less. If you think users would want something more granular, like 5- or 10-grades rating, then the number of training examples should be increased accordingly.

And of course there should be some sort of feedback on how well the model classified the image. One way to do it would be for the model to look after a certain time on the likes-to-users ratio for each picture taken, i.e. how many likes the shared photo got out of total followers number. For example, if the user has 100 followers, and only 1 liked the 4-starred photo, then the algorithm was wrong, and it should have been 1-starred. There are some obvious disadvantages in this approach, but it may be a good starting point.

The second problem is, to teach the neural network one would need to rate pictures yourself initially. That means this should be a developer with an exceptional taste, feeling of style and knowledge of the latest fashions. Not that I’ve ever met such a unique species of human. It would probably be right to find a designer to cooperate with. Which would still be difficult, because she or he would need to have a galactic-sized level of patience, considering the number of pictures he or she has to rate.

And there is the last problem with this app for a person like me. While shopping, whenever I’m in a difficult situation I don’t usually think, “Oh, is there an app for this?” So every time I’m in a shopping centre, I should be able to somehow be reminded that I have this app on my phone. That means I will need another app, which will do exactly that – and this may be the concept of the next week.

What Putin actually said about AI. TL;DR: Nothing meaningful.

President Putin at the meeting with Students

Source: LIFE News Live Stream via YouTube

President Putin’s meeting with students, otherwise quite boring, caused a global tech media fever. And that’s just because some schoolboy from Ulan-Ude, the capital of Buryatiya region, mentioned the term ‘Artificial Intelligence’ while telling the President about his personal side-project (source, word-by-word translation):

[Student]: We chose and are promoting the project ‘Artificial intelligence based on NBICS’. And this robot, I think, is a small step towards artificial intelligence. Together with my friend Dima, for the third year we are assembling this robot. It measures the radiation level in the environment. Umm… NBICS-based Artificial intelligence, I think, is a pretty good project, which needs promotion. It is the future of Russia.

[President]: Artificial intelligence is not only the future of Russia, it is the future of the entire mankind. It brings colossal opportunities, and hardly foreseeable threats. The one who becomes the leader in this area, will be the ruler of the world. And it is not desirable that this monopoly is concentrated in someone’s hands. Therefore, if we become the leader in this area, we will share this technology with the rest of the world in the same way as we do today with nuclear technologies. But in order not to stay behind, we should start working on it today. And of course it is good that we have such nice young people who express interest in these technologies. Good luck.

The scary NBICS word here stands for “Nano-, Bio-, Info-, Cognitive- and Socio-“, and is just an official Russian term for saying “all that trendy tech stuff”.

The President’s answer was short. So short, in fact, that one just can’t say that the President has put much thought or meaning into it.

Moreover, this was just a tiny bit of the 30+ minutes conversation, which actually wasn’t about AI at all. It was about all modern technologies, and was developing like:

[Student]: I am working on [insert hyped technology name here: IoT, Drones, Nuclear tech, AI, Autonomous vehicles, Personalized medicine, whatever].

[President]: A very good technology, yeah. It can be used for military purposes. But it can also be used for the good of the people. And for making Russia more competitive globally.

So the question is why the global media had put so much stress on the AI part. And moreover, why they started the usual AI-will-cause-WW3 stuff. Putin said that Russia is ready to share their technology. Not that they will open-source it on GitHub, apparently, but I guess by publishing the research papers just the same way other guys from the US, Canada and China do. If this thing had been said by, say, the Prime Minister of Iceland, no one would have ever noticed. But this came from the mouth of the Russian President, and everyone now thinks that he is planning to develop a Russian Skynet. Or at least a single Terminator.

And my advice for Elon Musk (who am I to give him advice, but nevertheless): please come to visit Putin and make him join your OpenAI on the governmental level. I think, given your opinion on how strong computer science in Russia is, this will benefit both parties.