Camera Calibration

In this assignment you will be implementing a camera calibration algorithm from scratch. The goal is to estimate the intrinsic and extrinsic parameters of a camera using images of a known calibration pattern (like a chessboard). You will then use these parameters to measure a room dimensions.

You will implement Zhang’s method from scratch including the DLT initialization step as well as the non-linear refinement step that can be implemented with stochastic gradient descent.

You can use these images as a test images - they are are available in industry standard dataset formats (Parquet). You can read the Parquet file into a pandas DataFrame df = pd.read_parquet(parquet_file_path). The solution of the camera calibration parameters using OpenCV is included in your course site. You can test the correctness of the implementation by comparing your results to the OpenCV results.

You can then repeat with taking photos of 9x7 checker board pattern using your smartphone / tablet set on a fixed zoom level.