Updated on May 10th, 2019
Artificial Intelligence, Machine Learning and Deep Learning are buzzwords we can hear almost every day now. This technology is going to change our world as it is.
Terminology of the new technologies
These technologies are nowadays already applied in autonomous driving (self-driving cars), robots and so forth. The trend becomes faster and faster.
The question behind is: Can we trust the results of Artificial Intelligence without a critical view?
Inspired by an article of Melanie Mitchell in "The New York Times™" , I thought by myself it is time to analyze where we are today. How mature is the technology?
Since few months I am working with Wolfram Mathematica® 11.3.0 . Wolfram software is extremly powerful and I can realize all my math related work with it. This is also true for Deep Learning with neural networks. So, I decided to create a Mathematica notebook to show the application of different neural networks on real world data. That sounds very ambitious, but it's not. The real world data here is an image of me and my dog "Kira".
Input: an image of me and my dog "Kira"
In addition Wolfram provides a collection of pretrained neural networks called the "Wolfram Neural Net Repository" (http://resources.wolframcloud.com/NeuralNetRepository/). I have used some of these networks to run the analysis.
1. Object Detection
The first task was to detect all objects in the image.
Good, the algorithm detects two elements - person and dog - in the image.
2. Identify the main object in the image
The task for the algorithm is to identify the main object in the image. No surprise it's my dog. The breed is classified as an "Alaskan malamute". Well, that is not correct. "Kira" is a hybrid. Her father is a German shepherd and her mother a Collie.
But I have to admit that Kira looks very similar to an Alaskan malamute, as you can see in the picture above.
3. Object Subitizing
The task is to count the number of prominent items in the image. The outcome is one (1).
4. Scene Recognition
The neural network has to identify the background / surrounding. It tells us it's a Field Road. In reality it's more a Forest Path or a Forest Road. But honestly I do not exactly know the difference among Forest Path and Road.
So, the calculation result is acceptable. Perhaps additional training images could improve the outcome.
The task is to determine the geolocation of the photograph. The algorithm comes up with a geoposition of latitude = 54.3442° and longitude = -2.9168°.
The algorithm believes that the photo was taken close to Windermere (a sea and city in England).
I think this is a great feature. Unfortunately it doesn't work sufficiently in this case. The picture was taken here:
Latitude = 52.263417° and longitude = 9.452044°. This is close to the village "Nienstedt", more or less on the top of the "Deister", Lower Saxony, Germany.
But if we take a picture with more background information like this one
The result is excellent! Mathematica® determines the Brandenburg Gate in Berlin as the only possible location. Fantastic!
6. Facial Analysis
The next task was to take the faces from the image.
That worked perfectly.
7. Estimate the age
The algorithm estimated my age to 60 years. Well, I was 53 years old when the image was taken. I assume more training examples could improve the network results. If this action is not sufficient, I will need a face lifting.
8. Gender prediction
This time the algorithm predicted "male". Yes, I am a man.
9. Facial keypoints
The algorithm has to mark the facial keypoints (eyes, nose, mouth):
Yes, perfect result.
10. 3D facial model
Mathematica® is extremly powerful in this area.
Cool, next step will be a 3D Print of my face
11. Notable Person
Am I a notable person? Definitely not, but let us make a check:
It's interesting to know that this network believes that I am "Winston Churchill". That is of course wrong, but obviously Winston has some similarity with me or vice versa.
I am surprised about the high level of accuracy that Mathematica® and belonging Neural Networks provide us already today. Of course the results are not always perfect. Hence, critical thinking about the results is still necessary. The input belongs to my domain; I have knowledge about the images. Misinterpretations or simply wrong decisions can not be avoided if people or other algorithms want to work with the results. This can be a danger in other application areas.
So, don't trust the results of artificial intelligence without a critical view!
Anyway, Wolfram has done a great job to develop / collect the networks and to make them available for Mathematica® users. Thank you, Stephen Wolfram.
Parts of the code are taken from the notebook "Wolfram Neural Net Repository" by Meghan Rieu-Werden and Matteo Salvarezza, Wolfram Research, Inc.
Do you have questions or comments about this post? Then please send me an email. I am looking forward to hearing from you.
NB.: Don't miss the second part of this story "The needed skills for the digital future"
 "Artificial Intelligence Hits the Barrier of Meaning", Melanie Mitchell, https://www.nytimes.com/2018/11/05/opinion/artificial-intelligence-machine-learning.html, last accessed January 15th, 2019