This is the home page of the jSVR project. It is a java implementation of a semi-automatic process for identifying and exporting three-dimensional information from a single un-calibrated image. It is based on previous publications of A. Criminisi, A. Zisserman and others.


In the section "svr theory" there is a brief presentation of the principals behind single view reconstruction, using perspective information of an image.


jSVR was originally developed as my degree project in the computer science department of the university of Crete, in 2004. Most of the initial work was done in the CVRL lab of ics-forth, under the supervision of professors A. Argyros and M. Lourakis. Many documents in this site come from my report on svr, and where initially converted from latex using latex2html and then modified. If you find any broken links or other problems please let me know.

I recently decided to try and continue that work, as an open source project.

Project status

Currently jSVR is in Beta. The main features are working and a user can reconstruct a 3d model using one image with enough perspective information in it. The resulting model is displayed using java3d and the user can choose to save it, or export it.

What needs to be improved

Single View reconstruction is a technique that can have various applications in different areas of interest. From acquiring metric information from low quality images, to reconstructing scenes from paintings. The process of reconstructing an image is semi-automated and can be really tricky for the user, who is requested to define and/or fine tune a set of difficult to understand parameters, (see the "svr theory" section for some examples :) ).

Depending on the goal, the demands to the reconstruction technique differ. In the original work the goal was to test the proposed methodology in the relevant literature and to implement the techniques into an application that could reconstruct an image. The new goal of svr is to provide a user-friendly and intuitive way for reconstructing images, as well as to improve the existing implementation to produce better results. Determining the correct vanishing points with an automatic algorithm would be a great improvement to the whole process.

One step towards this direction would be an MLE estimation for the best intersection point. Also it is probable that suitable heuristics could be used to exclude intersections (false vanishing points) in areas that vanishing points are not expected (i.e. the center of the image). In order to exclude as many false VP detections as possible, appropriate filters could be applied on the image before the reconstruction (i.e. noise reduction, removing the radial distortion, and sharpen edges).

The phase of manual reconstruction could also be made semi-automatic by implementing object identification algorithms. This would help by automatically identifying the bigger structures in the image (i.e the vertical planes). In addition smaller structures can be interactively traced. This would also allow better texture extraction from the objects in the image.