About Me

I am a senior student of Department of Computer Science in Shanghai Jiao Tong University. I have also studied in University of California, Los Angeles and conducted research in University of Illinios at Urbana-Champaign.

My research interests mainly cover Computer Graphics, Human Computer Interaction and Computer Vision. I have researched on non-photorealistic rendering(NPR) using deep learning, especially VGG-Net. Also I have done research in gestural interface for spatial skill training. Besides, I spent nearly one year doing research on big data.

Mathematics and Computer Science are two important subjects in my life and they affected me a lot. I started to learn Olympic Mathematics when I was 7 years old and was ranked 33rd among all the high school students in Shanghai in National Mathematical Olympiad in Senior. I also began to play video games at 3 years old due to my father, who is a programmer and a founder of a software company. I learned VB and C++ by myself before entering into university and got some valuable prizes. The courses related to them are also my favorite courses and mostly I got high score(90+ and ranked 10%) in these course.

You can also check the CV below to see more about my academic background.


Here are some selected projects and you can find some documentations, reports, codes and videos in Learn More.

  • Construction Mode(Gesture Ver.)

    This is my research project at UIUC. I designed and implemented a set of gestures for helping people to practice spatial reasoning skills. The hands data gained from Leap Motion, the developing tool is Unity3D and we use Blender to create 3D model.

    Learn More
  • Gene Chip

    This project is to analyze a data set about the gene and I mainly focus on the material type of the gene chip. It contains three parts: PCA ( for dimension reduction ), BP neural network ( training model ) and L1, L2 regularization.

    Learn More
  • Life in College

    This is a fantastic 2D RPG game. Most of this game was designed and implemented by myself. I aimed to create a similar but more mystery college compared to my college. Students can try different college life and experience many fantastic events. The game was made by Unity3D and programmed by C#.

    Learn More
  • Number Recognition

    A program which can recognize handwritten numer 0-9 and also can recognize most electronic numbers. The training model is back propagation neural network and the data set is MINIST. I also wrote a automatically generating number image program by Python.

    Learn More
  • AceVision

    AceVision is an academic vision and search engine system. You can get many intuitive visualizations of academic data. We used the API of the academic data set given by Microsoft to gain the data and then use D3.js and Echarts to visualiza the data.

    Learn More
  • Game Master

    A gesture interface to many popular games. People can use some gestures to play their favorite games like WarCraft, Racing and Super Mario. The project was programmed by C++ in 24 hours.

    Learn More
  • RoCode

    A QR code android application which can create QR code and scan the QR code created. It is written by Java and Android Studio. Also I used a Java library called zxing to help to resolve QR codes.

    Learn More
  • Small-C Compiler

    This compiler is a compiler of simpler C language. It was built based on LLVM and written by C++. To make it more fast, I used AVL tree as the data structure of the symbol table which earned a bonus for me.

    Learn More
  • Reversi

    A reversi game written by Python when I was a freshman. It has both one player and two players modes. When you choose one player mode, there will be an AI playing with you. The algorithm of the AI is Greedy Algorithm. It can beat most newcomers.

    Learn More


Doing research is funny and can keep me being innovative. Particularly, it is one of the best ways to make our world better.

Gestures for Spatial Reasoning ( Jun 2016 - Sept 2016 )

Cascade Lab | University of Illinois at Urbana-Champaign | Research Assistant
Advised by Wai-Tat Fu, Associate Professor, who is very kind and helpful, I wish to meet him again.

Construction Mode is a game built by Helen and Nick who are both advised by Wai-Tat. It is used to help kids to improve their spatial reasoning skills. Some related works and reseaches indicate that such game is very useful for spatial reasoning. Therefore we wonder if using a set of gestures as the input of the game rather than mouse would be better to practice that skill.
To be more specifically, the goal is to use gestures to control 7 DoF and do some other operations such as selection and changing view. The device to detect the data is Leap Motion and the project is programmed by C#. We are going to do experiments on kids and the results will generate a short paper submitted to ACM IUI 2017. You can check a demo video to see how it works.

Large Scale Data Processing ( Feb 2016 - Jun 2016 )

IIOT Lab | Shanghai Jiao Tong University | Research Assistant
Advised by Xinbing Wang, Distinguished Professor, Assistant Dean in School of Electronics, Information and Electrical Engineering, Shanghai Jiao Tong University.

Acemap is an academic search engine which aims to illustrate the map of the academy. Since the data of the system is very huge, I was responsible for using Hadoop to process of the data. Besides, we also focused on how to build our own search engine which means we paid much attention on information retrieval.
I built a Hadoop cluster on our servers, after I tried to construct a topic model and use Mahout to model the data. Besides, we used Hadoop as our basis for distributed crawler.
During my work, I made a talk about Hadoop to all of our group members.

Data Cleaning ( Spet 2015 - Feb 2016 )

IIOT Lab | Shanghai Jiao Tong University | Research Assistant
Advised by Xinbing Wang, Distinguished Professor, Assistant Dean in School of Electronics, Information and Electrical Engineering, Shanghai Jiao Tong University.

Our system used MAG database as the source of data. But it seemed not clean and perfect enough. There are many noises and null value in the data set. Thus we needed to figure out some formats to refactor the data and design a processing stream to clean the data.
We used ER model to reconstruct a model of the data set. I was in charge of the learning for Kettle, an ETL tool. I made a speech about Kettle and won the appreciation from my advisor. After that, we used Kettle to clean the data.


This gallery is mainly about my interests and activities. I am a person who always seeks novelty and happiness. Besides I am not afraid of any challenge, therefore I have many interests and often try to do best on them. My hobbies include guitar, cooking, climbing, basketball and so forth.