# Recent Posts

### Theano: A graph computation framework - Notes and Tips

Although the library stops developing, it is worth to learn since there are many prominent papers using Theano. Besides, there are lots of stuff to learn from the implementation. So, Theano basically is a symbolic graphs of computation. Plus, it can do automatically gradient computing stuff. Learning Materials Fancy Presentation Installation sudo pip install theano To fix the inconsistent between float32 and float64, in .theanorc: [global] floatX = float32 Getting Started There are several conventions:

### OpenCV on Android: practices and tips

Transfer MAT objects from Android to NDK The main idea is to use the address of an MAT object in order to manipulate the data. Basically, we have a function playing as a bridge between Java APIs and NDK: public native void function_name(long matAddress); To call the function, we use Mat’s address by calling getNativeObjAddr(). All computations in NDK will affect the content of MAT in both Java and NDK layers.

### Setup OpenCV and Android Studio with NDK support

In this tutorial, I will demonstrate how to configurate the renowned computer vision libary, OpenCV, with the current Android Studio version (3.0.1). Let get started. The compiled version of OpenCV which supports Android is available at OpenCV Homepage. Download and extract it. Please note that to test the application properly on the mobile devices, the OpenCV Manager has to be installed. In another tutorial, I will talk about how to compile our own OpenCV library and put it to Android Studio since the pre-compiled library misses some interesting and important components, e.

### Programming Pearls

Programing Pearls - Jon Bentley Excellent. Until now, there is no such book which makes me shout out like this after receiving from Amazon. Let brieftly review some favoriate books: CLRS: theoretically, this really is an “introduction” textbook about algorithms. Nonetheless, it still is an extensive reference and full of details. However, I am not impressed by the writing style and the pseudo-code. Algorithms, Sedgewick: one of the best textbooks ever.

### Latin squares and a story of computer science history

The content of this note mostly belongs to the first section of TAoCP, Vol4A. Definition Given a square matrix of size $M$ and each element is $\{0, 1, \cdots, M-1 \}$, we construct a matrix such that for the element $i$ in the set $\{0, 1, \cdots, M-1\}$ only appears exactly 1 time on every row and column. Examples We have 16 cards which comprises a combination of 4 ranks, i.

# Projects

#### Hashing in content-based image retrieval

My main research at SUTD

#### Urban-Area Scene-Based Localization

The on-device large-scale image based localization integrating compact image retrieval and 2D-3D matching.

# Selected Publications

Selective Deep Convolutional Features for Image Retrieval

Simultaneous Feature Aggregating and Hashing for Large-scale Image Search

Enhance Feature Discrimination for Unsupervised Hashing

# Recent Publications

Selective Deep Convolutional Features for Image Retrieval

Simultaneous Feature Aggregating and Hashing for Large-scale Image Search