Introduction
This Assessment Pack consists of a detailed assignment brief, guidance on what you need to prepare, and
information on how class sessions support your ability to complete successfully. The tutor responsible for
this coursework will introduce this assignment on Tuesdays 23/01/2023 during computer vision class
additional support for this assignment will be provided during scheduled lab sessions. You’ll also find
information on this page to guide you on how, where, and when to submit. If you need additional support,
please make a note of the services detailed in this document.
Submission details; how, when, and where to submit:
Assessment Release date: Tuesday, 23/01/2024
Assessment Deadline Date and time: Tuesday, 26/03/2024
Please note that this is the final time you can submit – not the time to submit!
You should aim to submit your assessment in advance of the deadline.
The Turnitin submission link on Blackboard, will be visible to you on 5/03/2024.
Feedback will be provided by: 10/05/2024
This assignment constitutes 50% of the total module assessment mark. You should write a report for this
assignment documenting your solutions for the tasks defined in the assignment brief given below. The
report should include a very short introduction describing the problem, description of your adopted
solutions, a more extensive description of the results and conclusions section summarising the results. The
report should be approximately 1500 words long, plus relevant materials (References and Appendices).
You should use Harvard referencing system for this report. The report should be submitted electronically
to “Monocular Visual Odometry” Turnitin through Blackboard
You should submit a documented matlab/python code solving the given tasks. The code should be selfcontained,
i.e., it should be able to run as it is, without a need for any additional tools/libraries. In case,
there are multiple files please create a single zip code archive containing all the files. The code should be
submitted separately from the report into Blackboard EL3105 assignment area denoted as “Monocular
Visual Odometry-Assignment Code”
Note: If you have any valid mitigating circumstances that mean you cannot meet an assessment
submission deadline and you wish to request an extension, you will need to apply online, via MyUCLan
with your evidence prior to the deadline. Further information on Mitigating Circumstances via this link.
We wish you all success in completing your assessment. Read this guidance carefully, and any questions,
please discuss with your Module Leader.
Teaching into assessment
The assignment is to be introduced and discussed at the lecture on Tuesday 23rd of January. During that
session the background of this assignment will be introduced; the data structure will be explained, and
the expected results will be elucidated with examples. The set of software tools available for the
assignment will be also described. All the algorithmic aspects necessary for the successful completion of
the assignment were or will be covered during the lectures, tutorials, and laboratory sessions. These
include: keypoints detection, keypoints descriptor calculation, robust kypoints matching, fundamental
matrix estimation, 3D points reconstruction and the camera pose estimation, and structure from motion
algorithms.
Additional Support
All links are available through the online Student Hub
1. Our Library resources link can be found in the library area of the Student Hub or via your subject
librarian at
[email protected]. (Mr. Neil Marshall
[email protected])
2. Support with your academic skills development (academic writing, critical thinking and
referencing) is available through WISER on the Study Skills section of the Student Hub.
3. For help with Turnitin, see Blackboard and Turnitin Support on the Student Hub
4. If you have a disability, specific learning difficulty, long-term health or mental health condition,
and not yet advised us, or would like to review your support, Inclusive Support can assist with
reasonable adjustments and support. To find out more, you can visit the Inclusive Support page
of the Student Hub.
5. For mental health and wellbeing support, please complete our online referral form, or email
[email protected]. You can also call 01772 893020, attend a drop-in, or visit our UCLan
Wellbeing Service Student Hub pages for more information.
6. For any other support query, please contact Student Support via [email protected].
7. For consideration of Academic Integrity, please refer to detailed guidelines in our policy
document . All assessed work should be genuinely your own work, and all resources fully cited.
8. For this assignment, you are not permitted to use any category of AI tools.
Assignment Brief
This assignment is designed to give you an insight into selected aspects of computer vision applied to
camera calibration, visual odometry, and structure from motion, i.e., camera pose and orientation
estimation from a sequence of images taken by that camera. You are asked to solve various tasks including
detection of image keypoints, their robust matching, camera pose estimation, and correction of the
camera pose drift error. You are asked to write a computer vision software operating in a soft real-time as
well as testing your solution and interpreting the results.
This assignment will enable you to:
• Deepen your understanding of camera calibration, keypoints detection / matching, homography,
fundamental matrix, and camera pose estimation.
• Recognize software design challenges behind implementations of computer vision algorithms.
• Design and optimise software to meet specified requirements.
• Acquire a hands-on understanding of camera calibration and simultaneous localisation and
mapping problems.
(These correspond to point 1, 2, 4 and 5 of the module learning outcomes. Module learning outcomes
are provided in the Module Descriptor)
The assignment consists of two main tasks. The first task is to perform camera calibration using images
stored in the CalibrationImages_MVO.zip file. These calibration images were captured with a
checkerboard calibration pattern placed at different positions and orientations. The size of the
checkerboard square is 14.44mm x 14.44mm.
The second task is to estimate three-dimensional camera poses (position & orientation) for the sequence
of images from the CVML Monocular Visual Odometry dataset stored in the CVML_MVO_Loop.zip file.
These images were captured with varying camera position and orientation. The images in both the
CalibrationImages_MVO and CVML_MVO_Loop were taken by the same camera. You are asked to write
matlab programs to estimate intrinsic camera parameters using data in the CalibrationImages_MVO.zip
file and subsequently estimate the camera pose for each corresponding image in the
CVML_MVO_Loop.zip sequence.
In visual odometry, an estimate of the global pose of the camera for the current frame tends to drift from
the true pose due to matching errors between consecutive frames. If camera trajectory loops, shown the
same part of the scene as before, this can be used to correct some of the camera pose drift errors. You to
implement algorithm for such “loop closure”.
It is essential that you design your camera pose estimation algorithm, so it can be used in a sequential
manner, i.e., when estimating the current camera pose only the current and preceding images can be
used.
The CalibrationImages_MVO_Loop.zip and CVML_MVO_Loop.zip files are available from Blackboard
EL3105 Assignment space.
References:
Hartley, R. and Zisserman, A. (2003), Multiple View Geometry in Computer Vision, Cambridge University
Press.
Szeliski, R.. (2022), Computer Vision: Algorithms and Applications”, Springer, Chapter 7 Structure from
Motion (pp. 345-377).
Bay, R., Tuytelaars, T. and Gool, L.V. (2006), SURF: Speed Up Robust Features”, European Conference on
Computer Vision, ECCV’2006, pp. 404-417.
Mikolajczyk, K. and Schmid, C. (2005), A performance evaluation of local descriptors, IEEE Transactions
on Pattern Analysis and Machine Intelligence, Volume 27, Issue 10.
B. Triggs, et al. (2002) Bundle Adjustment – A Modern Synthesis, International Workshop on Vision
Algorithms.
Matlab help:
“Monocular Visual Odometry”
“Monocular Visual Simultaneous Localization and Mapping
Late work
Work submitted electronically may be submitted after the deadline to the same Turnitin assignment slot
and will be automatically flagged as late. Except where an extension of the hand-in deadline date has
been approved lateness penalties will be applied in accordance with the University policy as follows:
(Working) Days Late Penalty
1 - 5 maximum mark that can be achieved: 40%
more than 5 0% given
Marking scheme
Your report should contain the following elements; it will be marked in accordance with the following
marking scheme:
Item Weight (%)
1. Camera calibration 30
2. Camera Pose Estimation 30
3. Drift error reduction (loop closure) 15
4. Visualisation of the results 15
5. Presentation of the report 10
Total 100