The world your robot moves through is not flat, and every decision it makes about that world starts with a camera. This course is the geometry layer under all of it, built by hand: an image as a table of numbers, colour tracking on real video, convolution, features and optical flow, then the projection model itself, camera calibration from the singular value decomposition up, and finally a stereo pair that returns a position in metres. Under three hours of video, no filler, every stage written in a notebook you keep. It is the prerequisite layer for visual odometry, SLAM and any navigation stack you intend to own rather than install. No black boxes. Real cameras, real captures, and a number you can check.
Computer vision is taught at two useless extremes: tutorials that load an image, call a filter and stop, or multiple-view-geometry textbooks with no runnable code between the equations. The gap in the middle is where 3D perception actually lives, so most engineers skip it, buy a depth camera and treat the numbers it returns as truth. That works until the rig is knocked out of alignment, the focus ring moves, or the depth quietly degrades with distance, and there is no way to tell because nothing in the pipeline was ever yours to inspect.
Reads depth off an SDK and tunes numDisparities until the picture looks plausible. When the measurement drifts there is nothing to check, because the intrinsics, the rectification and the matcher are all somebody else's decisions.
Knows depth is focal length times baseline over disparity, so a longer baseline buys range and a shorter one buys close-in accuracy. Reads a reprojection error and can say whether the calibration or the matching is at fault.
This is not a survey of what OpenCV can do. Perception decomposes into six pieces, and the six levels of this course build precisely those, in the order they depend on each other. The row below is the whole pipeline in miniature.
The same three-step loop on every stage of the pipeline, so you never watch without building, and never accept a result that was not checked against something independent.
Each level ends in code that runs and is the prerequisite for the next, so no part of the pipeline ever appears out of nowhere. Six chapters take you from an image as a table of numbers to a stereo pair returning a position in metres, and every parameter in that final number is one you estimated yourself.
Editor, environment and course workspace installed on whichever operating system you use, so the first notebook opens and runs before any vision is attempted.
Pixels, channels and coordinates first, then the smallest complete perception loop there is: find an object by colour, clean up the mask, compute its position, and follow it through a video.
The front end that every visual odometry and SLAM system starts with, built one layer at a time: a kernel slid by hand, corners that survive a viewpoint change, and pixel motion between frames.
The heart of the course. How a 3D point becomes a pixel, why the formulation looks the way it does, and how the camera's pose enters the same matrix, verified in a simulated scene where every coordinate is known.
In the field nobody hands you fx, fy, cx and cy. You estimate them: first from the mathematics on synthetic data, then from a real checkerboard on a real lens that bends light, then across two cameras at once.
The payoff. Two views, one physical point, and a position in metres, computed two different ways and compared against objects placed at distances measured in advance.
You finish with a perception layer you wrote, a calibration you can redo on any camera you are handed, and a clear view of the line where 3D vision ends and visual odometry, visual navigation and SLAM begin.
Prerequisites: comfortable Python and NumPy, and enough linear algebra to be unbothered by matrix multiplication and an inverse. Singular value decomposition and homogeneous coordinates are explained where they are used. You need a laptop running macOS, Ubuntu or Windows, and chapter 1 installs the environment with you. No camera is required: the captures, the checkerboard images and the calibration files are supplied, though a webcam and a printed board are enough if you want to calibrate your own.
By Level 5 you can explain a 3D perception system from a raw image pair to a point in metres, and say which stage a bad number came from. Here is the exact stack you build, box by box. Every box is your own code.
This is the real workspace, not a brochure diagram: ch1_a_image_structure.ipynb through ch2_d_optical_flow.ipynb in the first code pack, and ch1_a_camera_intrinsics.ipynb, ch1_c_camera_extrinsics.ipynb, ch2_c_camera_calibration_stereo.ipynb, ch3_a_stereo_camera_triangulation.ipynb, ch3_b_stereo_camera_depth_map.ipynb, RotationUtils.py and calib_data_stereo.json in the second.
Chapter order matches the produced course, and the lesson list is pulled live from the course itself. Chapters 1 to 3 are image processing in Python and OpenCV; chapters 4 to 6 are the 3D geometry, calibration and stereo depth.
Straight from the course. Every result shown here comes from code you write yourself and then point at a real camera or a real capture.
Founder of Ubicoders Cameras have been his instrument since 2014, when his undergraduate research at Ohio State navigated a multirotor indoors from vision alone. His graduate thesis estimated a monocular camera's ego-motion and its uncertainty, published first-author at AIAA. Today he runs a multi-camera calibration pipeline and an indoor positioning lab that localizes drones from fiducial boards, which is the same geometry this course starts from.
“The world isn't flat. It is a rich three-dimensional space for robots and autonomous vehicles to move through it safely and intelligently.”
“In real life, no one is going to give us the corresponding numeric values. Therefore, we'll need to estimate them ourselves.”
verbatim, from the course
Ask in the discussion thread on the lesson itself, or in the Discord forum. The instructor is notified for every post and answers there himself. A calibration question that arrives with the board, the capture set and the reprojection error attached gets a far better answer than one without, so bring the numbers.
A verifiable Certificate of Completion recording that you implemented the camera projection model, calibrated a real lens and a stereo pair, and recovered metric 3D depth by triangulation and by disparity. It is not a licence and it is not a degree. It is a statement of what you built, which is the only thing this audience checks anyway.
Everything needed to build 3D perception you own, from a pixel index to a position in metres.
You can reach this on your own, the way the instructor did: a textbook, a stack of OpenCV documentation and a lens that refuses to agree with either. This is that path compressed into six chapters, with the derivations, the real captures and the checks against known distances included, and the choice is entirely yours.
Applicable sales tax / VAT is calculated at checkout based on your location.
Secure checkout via Paddle.com
3D vision is the layer the rest of visual navigation stands on. Once projection, calibration and triangulation are yours, the things that used to read as research projects become the next build.
This website's cookies improve browsing efficiency, much like a sweet treat complements a meal, making navigation satisfying and user-friendly. See our cookie policy.