Recent articles
Blender Development Series 3 - Taming the Beast
Recent Papers in 3D Computer Vision
Blender Development Series 2 - Delve into the Code Base
Blender Development Series 1 - First Impression
Play with TensorFlow - Part I (初识Tensorflow - 谷歌深度学习框架)
MIT 6.851 Lesson 1 - Making Data Structures Persistent (高级数据结构 L1 - 持久化数据结构)
Use Github as the system backup - My dotfiles (在Github中备份系统设置 - 我的dotfile配置)

Blender Development Series 3 - Taming the Beast

Time flies. The multi-view camera solver project has almost come to an end. I had a wonderful experience working with Blender code base and have learnt a lot from it. This post demonstrates my work and also serves as a user documentation. If you have any questions or suggestions, feel free to leave a message at the bottom.

Read More

Blender Development Series 2 - Delve into the Code Base

After playing with Blender for nearly two weeks, I had the feeling that Blender is such a huge project. But how do you eat an elephant? That’s right, bite by bite! Though it contains millions of lines of C\C++\Python code, its well-organized structure and neat code style pretty much ease the pain of navigating a huge codebase. Besides, we have a powerful weapon at hand, that is the Blender\Python API. Let’s see how we can track the functioning C++ code from the Python script entry point.

Read More

Blender Development Series 1 - First Impression

The result of Google Code of Summer (GSoC 2016) is announced today. I am fortunately accepted by Blender Foundation to work on “Multi-view Camera Reconstruction”. As I work towards this goal, I will document my exploration in the next series of posts. Hope my work in the next months will benefit the users of Blender!

Read More

Play with TensorFlow - Part I (初识Tensorflow - 谷歌深度学习框架)

I once developed intense interests in neural networks when I was an undergraduate. Though currently working on 3D reconstruction, I am still amazed and inspired by the rapid advancements in the field of deep learning (think about DeepMind and AlphaGo). As Google recently open-sourced their deep learning framework TensorFlow, which is under the active iterative development, I think it is a good time to pick up this old hobby. One particular reason that propels me to look at this library at this very moment is perhaps the release of version 0.8, which has involved a great deal since its first release, and the additional support of distributed computing. In this post (and hopefully a series of following posts…), I will document my experience with this renowned library.

Read More

MIT 6.851 Lesson 1 - Making Data Structures Persistent (高级数据结构 L1 - 持久化数据结构)

I started watching MIT 6.851 (Advanced Data Structures) by Professor Eric Demaine on YouTube a year ago, but often give it up halfway. So this time I decided to document my progress to keep me committed. Why am I doing this? I believe that algorithms are at the core of computer science. Though I am now doing research on the application side of computer science, knowing some general theoretic results and bringing up an algorithmic thinking would be beneficial to reason about what we are do and what we cannot. I would watch some of the lecture videos before going to bed and then write down some notes next morning. Let’s get started!

Read More

Use Github as the system backup - My dotfiles (在Github中备份系统设置 - 我的dotfile配置)

In less than two weeks, I broke my operating system, twice. As a programmer, we all know it is a extremely painful process to re-install all the dependencies, set up configurations, etc. However, we have to face such disasters now and then. I erroneously remove “libglib*” when I tried to install gimp, the alternative of Photoshop on Linux. Unfortunately, it is notoriously difficult to build from source, which is another long story. However, I am a little bit luckier this time because I started to document part of my working environments since my hard disk broke down two weeks ago (remember I told you that I broke my OS twice in two weeks, sad story…).

Read More