Bicheng Xu
Curriculum Vitae


Bicheng Xu is a Master of Science in Computer Science student at the University of British Columbia under the supervision of Prof. Leonid Sigal. Previously, he received a Bachlor of Engineering degree in Computer Science and Technology from Zhejiang University (2017), and a Bachlor of Science degree (with distinction) in Applied Sciences from Simon Fraser University (2017) with major in Computing Science and minor in Mathematics. His research interests are in Computer Vision, its intersection with Natural Language Processing, and Machine Learning.


Time Perception Machine: Temporal Point Processes for the When, Where and What of Activity Prediction    [pdf]
Y. Zhong, B. Xu, G.-T. Zhou, L. Bornn, G. Mori.
arXiv preprint arXiv:1808.04063, 2018.

WiLocator: WiFi-sensing Based Real-time Bus Tracking and Arrival Time Prediction in Urban Environments    [pdf]
W. Liu, J. Liu, H. Jiang, B. Xu, H. Lin, G. Jiang, and J. Xing.
In Proceedings of IEEE International Conference on Distributed Computing Systems (ICDCS), 2016.

Selected Projects

Handwritten Chinese Character Generation via Conditional Neural Generative Models    [pdf]
Project for course Machine Learning, UBC

  • Exploited generative adversarial networks (GAN), variational auto-encoders (VAE), and their combinations to generate handwritten Chinese characters conditioned on their GBK encodings
  • Used PyTorch library to build the neural network models

Evaluating Visual Perception with Bouncing Motion    [pdf]  [code]
Project for course Computer Animation, UBC

  • Designed a perceptual experiment and developed a novel interactive interface that supports to investigate human perception to bouncing motions
  • Displayed a rigid ball falling and bouncing from a hill to detect a just noticeable range of plausible motions that loosely follow the law of physics
  • Validated the experiment design and the interface in piloting studies, providing insights to the theory of perception and physical simulation

Connectionist Temporal Classification for Group Activity Recognition in Videos    [pdf]  [poster]
Project for course Machine Learning, SFU

  • Combined VGG Net, recurrent neural network, and connectionist temporal classification (CTC) to recognize a sequence of activities performed by a group of people in a video through supervised learning
  • Constructed a new volleyball dataset using the volleyball game videos available on YouTube.

Distributed File System with Transactional Semantics    [code]
Project for course Programming Parallel and Distributed Systems, SFU

  • Implemented a distributed file system with transactional semantics following the properties of Atomicity, Consistency, Isolation, and Durability using Java
  • Handled omission, byzantine and failstop failures on the client and failstop failures on the server
  • Detail specification

A Simple Ray Tracer    [code]
Project for course Introduction to Computer Graphics, SFU

  • Employed C++ with OpenGL API to implement the ray tracing global illumination model
  • Rendered three spheres and a chess board with shadows, light reflections and refractions
  • Extended the ray tracer to render two glass chess pieces and a glass chess board with their light interactions

QuickActivity: A Web-based Activity Post and Participate System    [code]
Project for course Web-Based Information Systems, SFU

  • Developed a web-based self-service activity-posting and activity-attending platform using Django as development framework
  • Supported the functions of activity searching, posting, attending, bookmarking and other useful features such as printing activity details as PDF files and exporting activity-attending information as CSV files

Automatic Course Arrangement Subsystem    [code]
Project for course Software Engineering, ZJU

  • Developed the subsystem using PHP and MySQL for the back-end and HTML5, CSS3 and JavaScript for the front-end
  • Supported the functions of course arrangement and schedule searching by setting different privileges to different types of users

A Turn-Based Strategy Game    [code]
Project for course Object-Oriented Programming, ZJU

  • Built a LAN-connected turn-based strategy game
  • Used C++ in QT development environment under Linux
  • Connected multiple players in a local area network through TCP/IP using the <QtNetwork> library in QT

Flow Chart Conversion Application    [code]
Project for course Practice on Programming, ZJU

  • Programmed a flow chart conversion application using C in Turbo C
  • Implemented the conversion from text to pixels properly
  • Drew flow charts of every function of the input program on different pages
  • Supported other features such as page selecting by keyboard input