Tag Archives: Artificial Intelligence

Two Heads Are Better Than One: Artificial Intelligence & The Use of CycleGAN in Generating Handwritten Chinese Characters

These days, even a two-year-old knows how to use a computer! We are all very familiar with how computers fetch and display data, but can they also make decisions about data? This idea is explored by artificial intelligence (AI), which refers to computer systems that perform tasks that normally require human intelligence. Some examples include speech recognition and decision-making. In simpler terms, it is the ability of a computer to learn from input data to generate new output data, hence why it is also known as machine learning. While we may not always be aware, we are subjected to AI every day! Prior to reading this, you may have been watching a Netflix-suggested movie or have come across a new artist on Spotify that just so happens to be exactly your style. There are countless ways that AI is being used throughout different industries, and continues to be researched in order to reach its full potential.

An Introduction To Artificial Intelligence (AI)
Video produced by SO Group 1

 

Recent application of AI in research

Researchers Bo Chang and Qiong Zhang, PhD students from the Statistics department at the University of British Columbia, have used a form of AI called CycleGAN, to investigate the generation of Chinese handwritten characters. Their research, which was published this year, is fundamental to the preservation of Chinese culture and handwriting styles of famous calligraphers in China’s history, such as Wang Xizhi. Unlike letters in the English alphabet, Chinese is made up of logographic characters. These characters represent a word or a phrase, and there are over 80,000 of them in the Chinese language! This large number of characters has limited research in the past, but this obstacle was tackled in this study using the CycleGAN method.

calligraphy by Wang Xizhi

Famous Chinese Calligraphy by Wang Xizhi
Image Source: flickr
Photographer: Margaret

 

Use of CycleGAN in Chinese handwritten characters generation

The goal of the procedure was having the machine learn the transformations that are required to go from an inputted pre-made font to an output of personalized handwritten font. In order to do this, evaluation metrics consisting of style discrepancy and content accuracy were established. The specific use of CycleGAN, contributes to achieving accurate output characters by using two machines instead of one. One guarantees that generated handwritten characters look like the real style that is desired, and the second, which is cyclic, guarantees that handwritten characters generated from pre-made font will reverse back to the original pre-made font.

Experimental results through this study demonstrated the efficacy of this method of Chinese character generation, showing it to be superior or on-par with other systems. For example, characters were less likely to have missing or additional strokes compared to other systems.

An interview with Bo Chang & Qiong Zhang on
“Generating Handwritten Chinese Characters using CycleGAN”
Audio produced by SO Group 1 with special thanks to Bo Chang & Qiong Zhang

 

Overall, this method proves to be preferred due to generation of more accurate and desirable results. While this research isn’t being further pursued, many around the world have already shown interest in using and modifying the code! This method may also prove to be useful in generation of characters in other languages.

Group 1: Shadi Elmi, Allison Chiang, Wenyu Zhao & Hao Huang

What Is Computer Vision?

Have you ever imagined a robot being able to rebuild crime scenes using the clues and pieces of evidence it sees at the sites of crimes just like the character in the sci-fi game Detroit: Become Human? This is possible if the technologies of computer vision are developed and mature. Computer vision is the process that lets computers recognize, understand, and analyze pictures and videos. Computer vision is important because it provides the foundation for many science and engineering applications which will benefit humans in many aspects of their lives.

How does computer vision work?

The basis of computer vision is simple: computers transform an image into a set of pixels. Each pixel has a set of values which are used to represent the color of this pixel. Transforming images into data is easy, but it is hard for computers to categorize data in order to recognize objects. For example, it is hard for computers to recognize and understand which set of pixels represents a human face, a box, or a car. Therefore, computer scientists design different computer vision algorithms to help computers recognize objects in the pixel sets. Recently, in order to make computerized devices able to find similar patterns that allow them to recognize objects, computer vision scientists have trained their devices with numerous sets of images using machine learning technologies. (You can refer to my previous blog post to understand how machine learning works: click here).

“The future of computer vision with the TensorFlow Object Detection API from Google. You won’t have to describe any photo….” by ShashiBellamkonda is licensed under CC BY 2.0. Source: flickr.com

What are some real-life applications of computer vision?

“Face Recognition Software Recognizes Animals Now Too” by terrykimura is licensed under CC BY-SA 2.0. Source:  flickr.com

You have probably already used a computer vision application in your life. For example, after you upload photos that contain your friends to Facebook, Facebook recognizes your friends and tags them automatically without asking you to tag your friends. This is done using Facebook’s facial recognition technology.

There are also a lot of other computer vision applications, such as barcode scanner and handwriting recognition. Also, check out the TED talk video below to see how we can use computer vision to transform our cities into smart cities.

YouTube Preview Image

Video: “How to use computer vision to improve cities | Nikhil Naik | TEDxYouth@BeaconStreet” by TEDx Talks. Source: youtube.com

Conclusion

Computer vision is a sub-branch of Artificial Intelligence because it studies the methods that provide computers with sight so that these computers can see the world just like humans. Nowadays, computer vision is a very hot research area in computer science. If you would like to take a computer vision course online, I recommend the Introduction to Computer Vision course by Georgia Tech on Udacity.

 

-Baihao Luo

Artificial Intelligence, Machine Learning, Deep Learning: What Are the Relationships Between Them?

If we search for news about Artificial intelligence (AI), a concept of a machine that can think and act like a human, we can find many pieces of relevant news which mention machine learning and deep learning as well. What are the relationships between machine learning, deep learning, and AI? This blog post addresses this question.

 

Artificial Intelligence: A machine with human intelligence

There are many definitions of AI, and it primarily refers to technologies which make a machine think and act like a human. Using AI applications in our daily life is normal and common: When you are at work, you can tell Siri, an AI voice assistant, to add an event to your calendar; when you return home, you can tell Amazon Echo to play music for you. However, there are still many limitations of AI applications which prevent AI applications from solving very complex problems. Machine learning is a method that humans can use to make AI capable of performing like a human.

 

Machine learning: A machine learns and acts based on data

Machine learning is the concept that a computer can learn from some given data and draw conclusions. A computer with human intelligence should be able to learn how to do something instead of being programmed to do so. The concept is simple, but how do we help a machine to learn? To answer this question, scientists have designed machine learning algorithms which allow machines to analyze data and find an optimized method to solve a problem. These algorithms include neural networks, decision tree learning, support vector machines, etc.

 

Deep learning: A neural network with deep layers

“Neural Network : basic scheme with legends” by fdecomite is licensed under CC BY 2.0

A neural network is the fundamental of deep learning. According to the graph above, there are some cells in a neural network. Each cell is a function that takes in some input data and produces an output. A neural network is a computation system that computes results by chaining a lot of cells together. In order to solve a complex problem efficiently, we want to divide this complex question into small questions, and solve each small question using a set of cells. Each cell set is known as a layer. Deep learning is the idea of designing different layers and organizing them into one large-scale neural network. There are many things we can do using deep learning; check out the video below for some examples.

YouTube Preview Image

Video: “Use Cases – Ep. 12 (Deep Learning SIMPLIFIED)” by DeepLearning.TV Source: youtube.com

Conclusion

Original drawing by Baihao Luo

To sum up, machine learning is a subset of AI while deep learning is a subset of machine learning. Machine learning is one of the methods to accomplish AI which enables a machine to learn and act on given data. Deep learning is an algorithm to help a machine learn from data using large-scale neural networks.

 

-Baihao Luo