Skip to main content

Posts

Finding a better local minima in Deep Learning

Training a DL model to find a local minima in n-dimensions can be a challenge.  Often, data scientists and ML engineers would use a gradient descent to optimize the path. Starting delta may be anywhere between 1e-3 or 1e-4.  Having a constant gridient would not fast-approach a local minima. There are few issues with this approach. 1) The first found local minima may not be the best minima.  It can be stuck in a sharp valley, where any deriviate change would raise the error rate above 50% or more. 2) The first found local minima may be a local mixima, as shown in the saddle point graph below. When optimizing on n-th dimensions of space of a DL model, the best approach is to find a flat valley, when the SGD can locate a stable ground and where error rates stay low or relatively small to what it landed in the best optimization. However, there are a better way than this. Instead of manually entering an initial gradient decent value and updating it...

Review of ORB-SLAM: a monocular SLAM system

ORB-SLAM - Uses   - Bundle Adjustment   - ORB features [9]   - A pose graph      - Essential graph      - a spanning tree        - loop closure links        - strong edges        - from covisibility graph   - covisibliity graph     - local covisible area     - tracking and mapping - mar point and keyframe selection   - generous spawning   - restrictive culling   - identify redundant keyframes   - improves robustness and lifelong operations - Stores map points:   - 3D position X(w,i) in the world coordinate system   - the viewing direction n(i)     - the mean unit vector of all its viewing directions     - the ray that joint the point with the optical center of the keyframe  - A representative ORB descriptor D(i)     - the associated ORB descriptor whose hamming di...

Public Datasets for SLAM

TUM RGB-D benchmark [38] - an excellent dataset to evaluate the accuracy of camera location - several sequences with accurate ground truth obtained with an external motion capture system KITTI - extracted 2000 corners - 512x384 - 752x480 - 1241x376 - 5 corners per cell Compute orientation & ORB descriptors  - novel, direct, semi-dense, LSD-SLAM [10]     - takes time to converge the depth values - PTAM benchmarks [4]   - manually selected two keyframes for initialization - align the keyframe trajectories using the similarity transformatione - scale is unknown - measure the absolute trajectory error (ATE) [38] - RGB-D SLAM [43]    - trajectories - use the similarity transform to check if the scale is well recovered. - align the trajectories with a rigid body transformation

Working towards to creating AI to writing programs for humans

In this blog, I will talk about how to create an AI to write programs for us.  This is a forward looking, exploratory note about how we should take the next step. Goal : 1) We want software that we will have to write only once. 2) This software will write all future applications. 3) When people want a new application, we simply collect the data for every specific task. 4) Then, through observation, this master program creates a new application for us. Current Computer Limitations - Our computer languages are created to support the CPU hardware structure and the memory structure in 1950s. - Our computer languages have evolved several times over.    note: they are a functional language, a structural language, object-oriented language and declarative language. -  They all require humans to write the code in logical and specific ways. Different Paradigm Current Situation: - Humans instructs a computer on rules of processing of input data. - Then, a com...

How to improve the traditional ASR using Connectionist Temporal Classification

The traditional Automatic Speech Recognition (ASR) performs at about 85% accuracy rate.  At this rate, ASR users are often frustrated with the experience with using such a system. The tradition ASR is often fragile: 1) requires extensive modification of parameters, just to make it work. 2) requires extensive understanding of a language model and a acoustic model. 3) doesn't scale well to multiple languages. 4) hyper-sensitive to speaker variants. Deep Learning on the acoustic model has been introduced, but not much of gain in the accuracy. What if, we can do a DL from end to end? Connectionist Temporal Classification (2006) introduces an idea of using FFT on the frequency of a recording of a voice command and constructs a spectrogram at 8kHz.  At each spectrogram interval, a DL neural network can be assigned, individually. The basic idea is to have RNN output neurons to encode distribution over "symbols". The traditional ASR uses a phone...

How to use Convolution Neural Network to predict SIFT features

A feature locator is essential in all CV domain.  It's the basis of the germetric transformation, epipolar geometry, to 3D mesh reconstruction. Many techniques - SIFT and other SLAM technologies, are available, but they require ideal environments to work in. To address the short comings: - sensitive to low texture environment - sensitive to low light envonrment - sensitive to high light environment (like outdoor day light with above 20k lux) - and many other issues I propose a CNN based neural network to detect 4 correspondences in an image A and an image B. Since it is tricky to have a neural network to predict a 4x4 affine matrix of rotation and translation, I separated the translation vector from the rotation vector. Basically, the ground truth data will be precalcalated with a generic SIFT with RANSAC to calculate the correspondences set P and P'. The L2 (Eucledean) distance will be used between a predicted value.  They are 4 points, so an averaged will ...

Time of Flight Depth Sensor (ToF) - Pros and Cons

Pros - Lightweight - Full frame time-of-flight data (3D array) collected with a single laser pulse - Unambiguous direct calculation of range - Blur-free imager without motion distortion - Co-registeration of range and intensity for each pixel - Perfectly registered pixels within a frame - Ability to represent the camera-oblique objects - No precision scanning mechanism required - 3D flash LIDAR with 2D cameras (EO and IR) to combine 2D texture over 3D depth - Multiple 3D flash LIDAR cameras for full volumetric 3D scene - Lighter and smaller than point scanning systems - Non-moving parts - Lower power consumption - Ability to scan through range-gating, natural obscurants