CS543_project_Image-based-Localization-of-Bridge-Defects-with-AR-Visualization
CS543_project_Image-based-Localization-of-Bridge-Defects-with-AR-Visualization copied to clipboard
Visual inspection of bridges is customarily used to identify and evaluate faults. However, current procedures followed by human inspectors demand long inspection times to examine large and difficult t...
The purpose of the project is to identitfy the 3d coordinates of small test image to the large reference 3d reconstructed cloud point.

- VisualSFM and SiftGPU are implemented to run sfm with bundle adjustment to recover sparse cloud point, then CMVS method is used to
generate dense cloud point (onlly useful for 3d visualization)
The sparse cloud point data is shown in the file bundle.rd.out, but I seperate it into two parts
one for camera information:
a. LiuHong_Camera_index_R_T
format:
<num_cameras> <num_points> [two integers]
... <cameraN>
=================================************
Camera geometry have the following format:
=================================************ Each point entry has the form:
Visualize the sparse 3d reconstrution:
Visualize the dense 3d reconstruction:
All blue points mean camera position
The test image used is:

- In order to imporve Keypoint matching efficiency, it is a good idea to reduce the reference image as much as possible. Region of Interest (ROI) is processed to calculate the bounding box of the bridge by using bothe CNN based segmentation and conventional methods of detection. CNN-based approach used 15 images as 10 for training and 5 for testing. VGGNet is adjusted only with fully connected layers at the end with convolutional layers and added a softmax layer to obtain probability maps for the background and the bridge. The network was trained for 200 iterations with a batch size of 16 using SGD of learning rate 0.0001 and momentum 0.9
ROI:

Line detection:

CNN:
FLANN matching implemented between test image and each reference image with distance filter 0.7.
The matching score are calculated based on the number of matching points, only top 5 matching score reference images are chosen
to run following part.

-
Remove the 2d outliers from top 5 reference image by calculating mean and std of 2d distance and only using point whose distance is within 1 std. Visualize the matching result.

-
Run region crop to top 5 reference image:

-
Load projection matrix for those 5 images.
-
Run sift detection and FLANN matching amoung those 5 images to match the feature.
-
Use triangulation method to 3d reconstruct the matching point amount 5 images and apply outlier filter again to filter out the outlier from 3d points.
-
Compute mean and std to decide the 3d cube location and width, finall visualize them with dense reconstruction
The red cube indicate the location of test image