This project starts when our lab (Intelligent Systems Research Laboratory or ISL) received a Google Tango device to play with. Big thanks to VR1, our sponsor who obtained the device for us. The idea of this work is to explore what kinds of APIs Google Tango supports and what we can do with this technology.
It later became a topic for the senior project called “Virtual Cafe”. This research aims to study and to implement an application of Tango Project by Google with Lenovo Phab 2 Pro device. We focus on creating 3D Object Recognition into the device by creating an augmented reality application that can recognize the indoor environment and objects in the real world and render the area and recognized objects in the virtual world.
The objectives of the study include:
Learning surrounding environments and virtualizing them.
Training the dataset to let them recognize a particular object.
Visualization of real object into the virtual world
Allowing user to interact with objects in the virtual world.
The tools used in this study are:
Point Cloud Library (3D point cloud processing)
Unity (Game engine)
The result of the study was as follows:
The application is able to map the area in the real world and transforms it into the virtual world, allowing some manipulations to such an area such as changing the texture of the room.
The application can recognize a 3D object from trained datasets and display the virtual object in the virtual room.
Users can interact with the objects in the virtual world.
The picture below shows corresponding point clouds (left) of the real environment (right).
Examples of point clouds of the same object captured from different distances.
Here is a video clip demonstrating our work.
Access to the data captured by the Tango device is quite limited. We can’t access the raw data. We can only access the data provided by their APIs.
Collecting datasets for training and testing is quite troublesome.
This is one of the senior project that I advised in Semester 2/2016.
The goal of this project is to develop a system that can analyze comments or reviews, particularly on Thai restaurants, extracted from sources such as Facebook and/or Wongnai. We are trying to classify the reviews into 3 classes i.e., positive, neutral and negative.
Objectives of this work are as follows:
To develop an algorithm that can analyze the sentiment of any Thai text.
To devise a framework to support aggregation of result to produce an overall sentiment.
To develop a front-end web page with clear presentation of analysis result.
As you can see in the following screen shots, the ratio of positive, neutral and negative reviews as analyzed by the system is shown along with the reviews that are classified into each class.
Analysis Results on Restaurant 1
Analysis Results on Restaurant 2
In the restaurant domain, there are several aspects that customers normally comment on such as cleanliness, the taste of the food, the restaurant’s atmosphere, service, and price. We also attempt to extract how customers view the restaurant from such aspects. There are still rooms for improvement on this detailed analysis.
Challenges and Discussion
Since there is no word and sentence boundary in Thai, the accuracy of our analysis depends on how well the words are segmented.
Thai corpora and other resources for Thai Natural Language Processing are still limited. We have to do a lot of manual collections of Thai words and sentiment labeling.
Our current approach cannot deal with sarcasm at all. This issue is definitely what we will extend the work on in the future.
Reviews that contain mixed opinions (i.e. reviews that contain both positive and negative comments) is also difficult to classify. We think that such reviews are also useful to the restaurant. Since our current technique determine the overall sentiment of a review, such information is lost. We also plan to handle this issue in future extension.
I teach this course for the first time in Semester 2/2016.
For the term project, students are asked to write a test plan, test specification, perform an automated testing and summarize their test results in the test report for AU SPARK application (our in-house application that allows AU students to plan their schedule, register courses and view academic records). AU SPARK is available on iOS, Android and as a web application. Since it is a 15-week course, I only assigned students to test the Android version of AU SPARK.
Students are divided in teams of two and we ended up having 6 teams.
This course aims to teach how to design and implement applications using Object-Oriented Concepts. Students are allowed to pick any topic of their interests and they are required to implement the proposed projects using an Object-Oriented Program Language of their choices.
The term projects can be developing brand-new applications (with proper OO design) or modifying the design of existing applications (which could be projects that students may have completed in the past with no design or just badly designed) .
Three brand new projects are AU Admission, Guitar Helper, and EatWhatever. AU Spark Payment and Alumnet are applications that students have been working on before taking this class and they are required to modify and improve the design of their applications (through refactoring and applying appropriate OO design patterns).
Some works can’t be put here due to the large file sizes. Feel free to contact me if you need more information.
Term Project Presentations
Kornkamol and Chotikar: AU Admission (C# for the backend with .NET web application and iOS app frontend)
Prapas and Tanapon: Guitar Helper (C# for the backend and web application frontend)
This site is intended to be the portal of the courses that I taught in the past and those that I am currently teaching. All senior projects and master’s thesis that I have supervised or am currently supervising will also be posted here as well.