Beyond the boundaries

Use of Artificial Intelligence in Android


        “It's going to be interesting to see how society deals with artificial intelligence, but it will definitely be cool.”  — Colin Angle

In recent decades, in the world of technology, Artificial intelligence has been the most developing technology area. Day by day the innovations of artificial intelligence has affected humans in a very convenient manner. When we talk about mobile operating systems, most constantly used mobile platform today is Android. We can see lots of devices such as TVs, tablets, vehicles, GPS receivers, phones etc. utilizing the Android platform, in the Android market there have been updates frequently. As well as there is a market for new applications using new methods and concepts. In this report I present four existing applications which utilize AI techniques. As well as their limitations to develop new applications. As an example in Android platform, there are limitations to provide enough mathematical computations.

AI Applications on Android

  1.  Face Recognition Based on LBP Algorithm

When we consider other recognition techniques, they have many limitations. As an example, "Eigenfaces" face recognition algorithm has two limitations. They are sensitive to lighting conditions and difficult with different poses and expressions. Therefore with the LBP algorithm we can't see those limitations. Here, I briefly point out the steps of LBP algorithm as follows.

  •    Convert the image to grayscale color pattern.
  •    Divide the examined window into cells. (3*3 pixels for each).
  •    For each pixel in a cell compare the pixel to each of its 8 surrounding. Follow the pixels clockwise or anticlockwise.
  •    Where the center pixel's value is greater than the neighbors' value write "1". Otherwise number as "0".
  •    Compute the histogram, over the cell of the frequency of each "number" occurring.
  •    Optionally normalize the histogram
  •    Concatenate histograms of all cells. This gives the features vector for the window.                            

Here are the formulas to calculate LBP value for each cell.

Eq. 1: LBP values represented equation


Fig 1:  Computing Features using LBP


  1.      Android based Chatbot systems

                Android based AI Chatbots work as a real agent and reply to the questions presented by people. Chatbots act as a type of real interactive agent, it’s a program built to simulate an interactive discussion with one or team of human users via both techniques using speech recognition and the chat interface. Now available with offline apps in the play store as well. Google Allo, Google Assistant and so many chat apps released by Google.  In here the systems provides clear output to its users even if they are filled with spelling mistakes. Technologies used to develop these systems include Android, Java, PHP, SQLite dB and AIML for development. The development tools used are such as Postman, Android Studio and Program AB.

  1.      Malware detection using Machine learning

Today’s applications development is based heavily on pre-defined application frameworks, known as "application programming interfaces" (APIs). APIs make life easier for developers with programming paradigms, reusable libraries, task delegation, with the object is to help and deliver effective systems and to increase productivity quality systems. But the threat is malwares nowadays.  In the last few years, the number of malware has increased rapidly in mobile phones. In 2014, there were 14 % incremented the Smartphone malware than previous years. Out of those 14%, 97% were Android malware. [Westyarian, Y. Rosmansyah, and B. Dabarsyah, “Malware detection on Android smartphones using API class and machine learning, 2015] Because of the usage of Android devices also growing too rapidly.

There we can identify two types of malice’s. They are "static analysis" and "dynamic analysis". Static analysis consists of checking the code of programs to determine characteristics of the dynamic execution of these applications without running those in phone, also "static analysis" is used in reverse engineering of applications and for code understanding. Mainly the "Dynamic analysis" includes monitoring a running application to detect malicious chars.

  1.    Mobile teaching and learning systems by using AI

Today, we can see many mobile learning systems with AI techniques. They already have separate features than existing e-learning systems. They are very effective systems to learning and very intelligent. They have the following common features.

  1. Can generate variety of exercises and problems according to student's preferred areas.
  2. There are various levels of students and according to them, these kinds of systems can provide content to them.
  3. Ability to automatically solve problems and generate answers.
  4. Have an ability to understand natural language questions and find answers for them.
  5. Ability to explain teaching content.
  6. Can identify students’ weaknesses and errors to extract corrective measures.
  7. Evaluate the behaviors and characteristics of students.
  8. Can make decisions to improve teaching strategies to each student.

Because of the applications of AI there have solved so many requests and new concepts added to Android apps.

  •    Context awareness
  •    Interactive systems
  •    Efficient user interfaces for Smart phones
  •    Situation flexible user interfaces
  •    Solved the limited resources problem
  •    Fault tolerance
  •    Location awareness          

Limitations in Android                

Often, AI techniques have few problems with limited computational resources and lack of computation ability that are available in mobile devices. These are common problems for every mobile platform i.e. Android, iOS etc. A major problem is AI methods require huge memory space and a lot of CPU power. One solution to this problem is to build strong mobile devices/architectures which can use resources enough for computational tasks.  Here, the system architecture was designed to face those heavyweight tasks, for instance, execute "spatial cognitive" or "intention recognition" tasks. The main property of agent-based architecture is the ability to create agents over more computational sources. For an instance, this proves very helpful for Android speech recognition.                

Some other problems which are common to mobile systems.

  •    It lacks target, initiative, and strategy
  •    Information process and query capabilities are very less in mobile learning systems.
  •    In mobile system have lack of user interaction and it’s a practical problem.

Lahiru Ariyasinghe



Post comment