This my dissertation project's public code repository. The main goal of was to improve on a novel bio-informatics based stereo matching pipeline.
Stereo matching is a subset within the field of computer vision concerned with finding corresponding pixels between the views of two stereo images. The output of such algorithm is a so-called "disparity map". Within such image, each pixel's color intensity represents the horizontal movement of a pixel with regards to its corresponding pair in the other view. This, knowing the geometry of the stereo-setup can be used to reconstruct depth.
DNA sequence alignment is the process of attempting to find two or more DNA sequences common elements by insertion or deletion of characters in either sequence. One of them, namely, the Niedelman and Wunch algorithm takes advantage on dynamic programming to find the best overlap between two sequences. As it turns out, an adapted form of this algorithm can be used on image scan-lines as well.
The graphs below shows the performance improvements achieved by introducing different cost-aggregation methods. The tests were run at quater resolution against the metric called "bad1".
The experiments are located under the "experiments/notebooks" folder. Please launch the main binder link above, experiment specific below or download the repository and run it locally. Requirements are listed in the "requirements.txt" file. If run via binder, it is advised to run only the visualisation notebooks for each experiment (the limitations of that environment: 2 cores + 2 GB ram). In that case, please look for the "-VIS" suffix in the notebook's filename.
(test set images are coming soon)
- MacLean, W. J., Sabihuddin, S. and Islam, J. (2010) ‘Leveraging cost matrix structure for hardware implementation of stereo disparity computation using dynamic programming’, in Computer Vision and Image Understanding, pp. 1126–1138. doi: 10.1016/j.cviu.2010.03.011.