Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Formula & theorem reference

Concept clusters →

Every named result in this course, grouped by chapter. Each one links back to where it's derived.

Readiness

Formula

2D Discrete Convolution and Correlation

also known as: the sliding-window sum, filtering an image by a kernel

For an image I and a kernel H of size (2a+1)\times(2b+1), the 2D discrete correlation is (I \star H)(x,y) = \sum_{i=-a}^{a}\sum_{j=-b}^{b} I(x+i,\, y+j)\, H(i,j), and the 2D discrete convolution is (I * H)(x,y) = \sum_{i=-a}^{a}\sum_{j=-b}^{b} I(x-i,\, y-j)\, H(i,j). The two differ by exactly one sign inside the image's index — a 180° rotation of the kernel — and coincide whenever the kernel is symmetric under that rotation. Both are a weighted sum over a window of input pixels centered at (x,y), with H supplying the weights.

Formula

The Sobel and Prewitt Operators

The Prewitt operator computes the horizontal and vertical gradient components with H_x^P = \begin{bmatrix}-1&0&1\\-1&0&1\\-1&0&1\end{bmatrix}, \qquad H_y^P = \begin{bmatrix}-1&-1&-1\\0&0&0\\1&1&1\end{bmatrix}. Each factors as a central-difference kernel in one direction and a uniform box-average in the other — differentiate one way, smooth the other, in a single kernel. The Sobel operator uses the identical structure with a weighted average instead of a uniform one, H_x^S = \begin{bmatrix}-1&0&1\\-2&0&2\\-1&0&1\end{bmatrix}, weighting the center row (or column, for H_y^S) twice as heavily — a discrete approximation closer to Gaussian-weighted smoothing, giving Sobel a slightly better noise response than Prewitt at identical cost.

Formula

The 2D Discrete Fourier Transform

also known as: 2D DFT

For an H\times W image f(x,y), the 2D discrete Fourier transform is F(u,v) = \sum_{x=0}^{H-1}\sum_{y=0}^{W-1} f(x,y)\, e^{-j2\pi\left(\frac{ux}{H}+\frac{vy}{W}\right)}, \qquad u=0,\dots,H-1,\ v=0,\dots,W-1. Each F(u,v) is one complex number; a full H\times W image produces a full H\times W grid of them, no information lost or gained. The inverse DFT recovers the image exactly: f(x,y) = \frac{1}{HW}\sum_{u=0}^{H-1}\sum_{v=0}^{W-1} F(u,v)\, e^{+j2\pi\left(\frac{ux}{H}+\frac{vy}{W}\right)}. Because the exponential kernel factors as a product of a purely-x term and a purely-y term, the 2D sum separates into a 1D DFT along rows composed with a 1D DFT along columns.

Formula

Otsu's Method

also known as: between-class variance thresholding

Otsu's method picks the threshold T that best separates a histogram into two classes, by maximizing the between-class variance \sigma_B^2(T) = w_0(T)\,w_1(T)\,\big(\mu_0(T)-\mu_1(T)\big)^2, where w_0,w_1 are the two classes' own population fractions (v\le T and v>T respectively) and \mu_0,\mu_1 their own mean intensities. Evaluating this at every candidate split and keeping the largest is exhaustive but cheap (at most 255 candidates for an 8-bit image), and requires nothing but the image's own histogram — no assumption about where the "right" cutoff should sit. Otsu's method still produces a single global threshold; it removes the guesswork from choosing T, not the uneven-lighting weakness of using one T for the whole image.

Formula

Eigenvalues of a Symmetric 2×2 Matrix

also known as: the characteristic equation, real spectral case

For a symmetric matrix A = \begin{pmatrix} a & b \\ b & d \end{pmatrix}, the eigenvalues are the roots of the characteristic equation \det(A - \lambda I) = \lambda^2 - (a+d)\lambda + (ad - b^2) = 0, namely \lambda = \frac{(a+d) \pm \sqrt{(a-d)^2 + 4b^2}}{2}. Because the discriminant (a-d)^2 + 4b^2 is a sum of squares, it is never negative — a symmetric matrix always has two real eigenvalues (counted with multiplicity), never a complex pair.

Show proof

\det(A - \lambda I) = (a-\lambda)(d-\lambda) - b^2 = \lambda^2 - (a+d)\lambda + (ad - b^2), a quadratic in \lambda. Apply the quadratic formula with A=1, B=-(a+d), C=ad-b^2: \lambda = \frac{(a+d) \pm \sqrt{(a+d)^2 - 4(ad-b^2)}}{2}. Expanding (a+d)^2 - 4(ad-b^2) = a^2 + 2ad + d^2 - 4ad + 4b^2 = (a-d)^2 + 4b^2 gives the stated discriminant. It is a sum of two squares, so it is \geq 0, and the two roots are always real.

Local features and keypoint detection

Formula

Eigenvalues of a Symmetric 2×2 Matrix

also known as: the characteristic equation, real spectral case

For a symmetric matrix A = \begin{pmatrix} a & b \\ b & d \end{pmatrix}, the eigenvalues are the roots of the characteristic equation \det(A - \lambda I) = \lambda^2 - (a+d)\lambda + (ad - b^2) = 0, namely \lambda = \frac{(a+d) \pm \sqrt{(a-d)^2 + 4b^2}}{2}. Because the discriminant (a-d)^2 + 4b^2 is a sum of squares, it is never negative — a symmetric matrix always has two real eigenvalues (counted with multiplicity), never a complex pair.

Show proof

\det(A - \lambda I) = (a-\lambda)(d-\lambda) - b^2 = \lambda^2 - (a+d)\lambda + (ad - b^2), a quadratic in \lambda. Apply the quadratic formula with A=1, B=-(a+d), C=ad-b^2: \lambda = \frac{(a+d) \pm \sqrt{(a+d)^2 - 4(ad-b^2)}}{2}. Expanding (a+d)^2 - 4(ad-b^2) = a^2 + 2ad + d^2 - 4ad + 4b^2 = (a-d)^2 + 4b^2 gives the stated discriminant. It is a sum of two squares, so it is \geq 0, and the two roots are always real.

Formula

The Harris Corner Response

Around a candidate pixel, the structure tensor M=\sum_{(x,y)\in W}\begin{bmatrix}I_x^2 & I_xI_y\\ I_xI_y & I_y^2\end{bmatrix} is built from a window's own gradient products. Computing M's eigenvalues by hand takes more work than needed. The Harris and Stephens response function avoids it: R = \det(M) - k\,\operatorname{trace}(M)^2. Here, \det(M)=\lambda_1\lambda_2 and \operatorname{trace}(M)=\lambda_1+\lambda_2 combine M's two eigenvalues, and the constant k is chosen by hand, usually 0.04–0.06. This number, R, alone sorts the window into one of three classes. A positive R means both eigenvalues are large and close in size: a corner. A negative R means one eigenvalue is near zero: an edge. A small trace, regardless of R, means flat.

Feature matching and RANSAC

Theorem

The RANSAC Consensus Guarantee

also known as: RANSAC's probability-of-success formula

Suppose a dataset's true inlier fraction is w. That means a point picked at random is an inlier with probability w, independent of the others. RANSAC fits a model from a randomly sampled minimal set of n points, and repeats this for k independent iterations. The probability that at least one of those k samples is entirely inliers -- which means it produces a correct model fit -- is

P = 1 - (1-w^n)^k.

This is only a probabilistic guarantee. For any finite k, P<1. RANSAC never certifies that its returned fit is correct. It only guarantees that a correct fit was found with probability P, under the stated assumptions.

Show proof

Step 1 — probability a single sample is all-inliers. A minimal sample of n points is drawn (assume without replacement from a large dataset, so draws are effectively independent). Each individual point is an inlier with probability w, so — treating the n draws as independent — the probability that all n points in one sample are inliers is P(\text{one sample is all-inliers}) = w^n.

Step 2 — probability a single sample fails. The complementary event (the sample contains at least one outlier) has probability P(\text{one sample fails}) = 1 - w^n.

Step 3 — probability every one of k samples fails. RANSAC draws k independent samples across its k iterations. Since the iterations are independent, the probability that all k of them fail (none is all-inliers) is the product of k copies of the same per-sample failure probability: P(\text{every sample fails}) = (1-w^n)^k.

Step 4 — probability at least one sample succeeds. "At least one all-inlier sample among the k" is the complement of "every sample fails," so P = 1 - P(\text{every sample fails}) = 1-(1-w^n)^k.

Reading the formula. P increases toward 1 as k grows (more attempts), as w grows (cleaner data), or as n shrinks (a smaller minimal sample is likelier to land entirely on inliers) — matching the intuition that RANSAC is easier to trust with more iterations, a higher inlier rate, or a model that needs fewer points to fit. In practice the formula is inverted to choose k: given a target confidence P (e.g. 0.99) and an estimated w, solve k = \frac{\log(1-P)}{\log(1-w^n)} for the smallest k that meets the target — this is exactly how RANSAC's adaptive iteration count is typically set in practice, refining w (and so k) downward as better inlier counts are observed.

Projective geometry

Formula

The Affine Transform in Homogeneous Coordinates

also known as: the 3×3 affine matrix

Append a 1 to every point, (x,y)\to(x,y,1). That one extra coordinate lets any affine map p'=Ap+t (a 2\times 2 linear part A, plus a translation vector t) become a single 3\times 3 matrix multiply: \begin{bmatrix}x'\\y'\\1\end{bmatrix} = \begin{bmatrix}a&b&t_x\\c&d&t_y\\0&0&1\end{bmatrix} \begin{bmatrix}x\\y\\1\end{bmatrix}. Translation, scaling, rotation, reflection, and shear are each one specific choice of a,b,c,d,t_x,t_y in this same shape. The bottom row is always [0,0,1] for an affine map.

Formula

The Perspective Divide

also known as: homogeneous-to-Cartesian conversion for a homography

A homography acts on homogeneous coordinates. Its bottom row need not be [0,0,1]: \begin{bmatrix}x_h\\y_h\\w\end{bmatrix} = \begin{bmatrix}h_{00}&h_{01}&h_{02}\\h_{10}&h_{11}&h_{12}\\h_{20}&h_{21}&h_{22}\end{bmatrix} \begin{bmatrix}x\\y\\1\end{bmatrix}. Dividing out the third coordinate recovers the actual point: (x',y') = (x_h/w,\ y_h/w). For an affine map, w always equals 1, so the divide is invisible. A homography's one defining trait is that w genuinely varies with (x,y).

Stereo vision and 3D reconstruction

Theorem

The Epipolar Constraint

also known as: the essential-matrix equation

Take a point \mathbf{X} in space, seen by two calibrated cameras. "Calibrated" means known intrinsics, so image coordinates are already normalized to camera coordinates. Let \mathbf{x} and \mathbf{x}' be \mathbf{X}'s homogeneous projections in the first and second camera. Let the second camera's pose relative to the first be the rotation R and translation \mathbf{t}. Then

\mathbf{x}'^{\mathsf T} E\, \mathbf{x} = 0, \qquad E = [\mathbf{t}]_\times R,

where E is the essential matrix. [\mathbf{t}]_\times is the skew-symmetric cross-product matrix of \mathbf{t}: it satisfies [\mathbf{t}]_\times \mathbf{v} = \mathbf{t}\times\mathbf{v} for every \mathbf{v}. (For uncalibrated cameras, the same constraint holds with the fundamental matrix F = K'^{-\mathsf T} E K^{-1} in place of E. It acts directly on pixel coordinates: \mathbf{x}'^{\mathsf T} F\, \mathbf{x} = 0.)

Show proof

Work in the first camera's coordinate frame, with its center at the origin. A point \mathbf{X} projects to \mathbf{x} along the ray through the origin in the direction of \mathbf{x} itself (in calibrated coordinates, a normalized image point already points along its own camera ray), so \mathbf{X} = \lambda\mathbf{x} for some depth \lambda > 0.

In the second camera's own frame, the same point is \mathbf{X}' = R\mathbf{X} + \mathbf{t} = \lambda R\mathbf{x} + \mathbf{t}, and by the same reasoning \mathbf{X}' is parallel to \mathbf{x}', so \mathbf{x}' is parallel to \lambda R\mathbf{x} + \mathbf{t}.

The three vectors \mathbf{t}, \mathbf{X}', and R\mathbf{x} are coplanar — they all lie in the plane spanned by the baseline between the two camera centers and the point \mathbf{X} itself (the epipolar plane). A standard way to test three vectors for coplanarity is the scalar triple product: three vectors are coplanar exactly when their scalar triple product is zero, since a nonzero triple product measures the (nonzero) volume of the parallelepiped they span. Applying that test to \mathbf{x}', \mathbf{t}, and R\mathbf{x}: \mathbf{x}'\cdot(\mathbf{t}\times R\mathbf{x}) = 0.

Writing the cross product with \mathbf{t} as left-multiplication by the skew-symmetric matrix [\mathbf{t}]_\times turns this into a pure matrix product: \mathbf{x}'^{\mathsf T}\big([\mathbf{t}]_\times R\big)\mathbf{x} = 0 \quad\Longrightarrow\quad \mathbf{x}'^{\mathsf T} E\, \mathbf{x} = 0, \qquad E = [\mathbf{t}]_\times R.

Why this is useful. The constraint holds for every corresponding point pair (\mathbf{x}, \mathbf{x}') produced by the same two camera poses, and it involves no unknown depth \lambda — E (or F, its uncalibrated counterpart) can be estimated from point correspondences alone (the normalized eight-point algorithm), and once known, it turns a 2D correspondence search into a 1D search along the corresponding epipolar line E\mathbf{x} (or F\mathbf{x}) in the other image.

Structure from motion and SLAM

Theorem

The Epipolar Constraint

also known as: the essential-matrix equation

Take a point \mathbf{X} in space, seen by two calibrated cameras. "Calibrated" means known intrinsics, so image coordinates are already normalized to camera coordinates. Let \mathbf{x} and \mathbf{x}' be \mathbf{X}'s homogeneous projections in the first and second camera. Let the second camera's pose relative to the first be the rotation R and translation \mathbf{t}. Then

\mathbf{x}'^{\mathsf T} E\, \mathbf{x} = 0, \qquad E = [\mathbf{t}]_\times R,

where E is the essential matrix. [\mathbf{t}]_\times is the skew-symmetric cross-product matrix of \mathbf{t}: it satisfies [\mathbf{t}]_\times \mathbf{v} = \mathbf{t}\times\mathbf{v} for every \mathbf{v}. (For uncalibrated cameras, the same constraint holds with the fundamental matrix F = K'^{-\mathsf T} E K^{-1} in place of E. It acts directly on pixel coordinates: \mathbf{x}'^{\mathsf T} F\, \mathbf{x} = 0.)

Show proof

Work in the first camera's coordinate frame, with its center at the origin. A point \mathbf{X} projects to \mathbf{x} along the ray through the origin in the direction of \mathbf{x} itself (in calibrated coordinates, a normalized image point already points along its own camera ray), so \mathbf{X} = \lambda\mathbf{x} for some depth \lambda > 0.

In the second camera's own frame, the same point is \mathbf{X}' = R\mathbf{X} + \mathbf{t} = \lambda R\mathbf{x} + \mathbf{t}, and by the same reasoning \mathbf{X}' is parallel to \mathbf{x}', so \mathbf{x}' is parallel to \lambda R\mathbf{x} + \mathbf{t}.

The three vectors \mathbf{t}, \mathbf{X}', and R\mathbf{x} are coplanar — they all lie in the plane spanned by the baseline between the two camera centers and the point \mathbf{X} itself (the epipolar plane). A standard way to test three vectors for coplanarity is the scalar triple product: three vectors are coplanar exactly when their scalar triple product is zero, since a nonzero triple product measures the (nonzero) volume of the parallelepiped they span. Applying that test to \mathbf{x}', \mathbf{t}, and R\mathbf{x}: \mathbf{x}'\cdot(\mathbf{t}\times R\mathbf{x}) = 0.

Writing the cross product with \mathbf{t} as left-multiplication by the skew-symmetric matrix [\mathbf{t}]_\times turns this into a pure matrix product: \mathbf{x}'^{\mathsf T}\big([\mathbf{t}]_\times R\big)\mathbf{x} = 0 \quad\Longrightarrow\quad \mathbf{x}'^{\mathsf T} E\, \mathbf{x} = 0, \qquad E = [\mathbf{t}]_\times R.

Why this is useful. The constraint holds for every corresponding point pair (\mathbf{x}, \mathbf{x}') produced by the same two camera poses, and it involves no unknown depth \lambda — E (or F, its uncalibrated counterpart) can be estimated from point correspondences alone (the normalized eight-point algorithm), and once known, it turns a 2D correspondence search into a 1D search along the corresponding epipolar line E\mathbf{x} (or F\mathbf{x}) in the other image.

Neurons, training, and CNNs for images

Formula

Convolution Output-Size Formula

also known as: the stride/padding output-size formula

Take one axis of an input of size N, a kernel of size K, total padding P added along that axis (for example P=2 for one pixel of padding per side), and stride S. The output size along that axis is O = \left\lfloor \frac{N - K + P}{S} \right\rfloor + 1. Valid padding sets P=0. Same-size padding at stride 1 instead chooses P so that O=N, which requires P=K-1.

Object detection

Formula

Object Detection and Segmentation Evaluation Metrics

also known as: IoU, Dice, precision/recall, and mAP

Metric Formula What it measures / when it's used
Intersection over Union (IoU) \text{IoU}=\dfrac{\lvert A\cap B\rvert}{\lvert A\cup B\rvert} Overlap between a predicted region A (box or mask) and a ground-truth region B, as a fraction of their combined area. The standard test for "does this prediction count as a match," usually thresholded (e.g. IoU \ge 0.5)
Dice coefficient \text{Dice}=\dfrac{2\lvert A\cap B\rvert}{\lvert A\rvert+\lvert B\rvert} Overlap between two regions, weighted so shared area counts twice against the sum of both areas rather than their union. More forgiving than IoU on small regions, and the more common reporting metric for segmentation masks specifically
Precision \text{Precision}=\dfrac{TP}{TP+FP} Of everything the model flagged as a detection, the fraction that was actually correct (a true positive, determined by the IoU threshold above). Low precision means the model is crying wolf
Recall \text{Recall}=\dfrac{TP}{TP+FN} Of everything that was actually there to find, the fraction the model actually found. Low recall means the model is missing real objects
Average Precision (AP) area under the precision-recall curve, swept over confidence threshold Summarizes a detector's precision/recall tradeoff across every possible confidence cutoff into one number, for one object class
mean Average Precision (mAP) \text{mAP}=\dfrac{1}{C}\sum_{c=1}^{C}\text{AP}_c The average of each class's own AP across all C classes. The standard single-number summary for comparing detectors, but only within a fixed dataset and IoU-threshold convention (mAP@0.5, mAP@[.5:.95], etc.). A higher mAP does not automatically mean "better" if the comparison crosses datasets or IoU conventions

IoU and Dice are two different ways to score the same overlap question. IoU divides shared area by the union. Dice divides twice the shared area by the sum of the two areas. Because both formulas measure the same overlap, they never disagree about which region overlaps more. But they are not numerically interchangeable: Dice is always at least as large as IoU for the same pair of regions, since \text{Dice}=\dfrac{2\,\text{IoU}}{1+\text{IoU}}.

Precision and recall ask a genuinely different pair of questions. Precision is about the correctness of what was flagged; recall is about the completeness of what was found. The two trade off against each other as the confidence threshold moves. A detector's precision-recall curve is built by sweeping that single threshold and recomputing both precision and recall at every point. AP and mAP compress that whole curve into one number, so detectors can be ranked without picking one threshold by hand.

Semantic and instance segmentation

Formula

Object Detection and Segmentation Evaluation Metrics

also known as: IoU, Dice, precision/recall, and mAP

Metric Formula What it measures / when it's used
Intersection over Union (IoU) \text{IoU}=\dfrac{\lvert A\cap B\rvert}{\lvert A\cup B\rvert} Overlap between a predicted region A (box or mask) and a ground-truth region B, as a fraction of their combined area. The standard test for "does this prediction count as a match," usually thresholded (e.g. IoU \ge 0.5)
Dice coefficient \text{Dice}=\dfrac{2\lvert A\cap B\rvert}{\lvert A\rvert+\lvert B\rvert} Overlap between two regions, weighted so shared area counts twice against the sum of both areas rather than their union. More forgiving than IoU on small regions, and the more common reporting metric for segmentation masks specifically
Precision \text{Precision}=\dfrac{TP}{TP+FP} Of everything the model flagged as a detection, the fraction that was actually correct (a true positive, determined by the IoU threshold above). Low precision means the model is crying wolf
Recall \text{Recall}=\dfrac{TP}{TP+FN} Of everything that was actually there to find, the fraction the model actually found. Low recall means the model is missing real objects
Average Precision (AP) area under the precision-recall curve, swept over confidence threshold Summarizes a detector's precision/recall tradeoff across every possible confidence cutoff into one number, for one object class
mean Average Precision (mAP) \text{mAP}=\dfrac{1}{C}\sum_{c=1}^{C}\text{AP}_c The average of each class's own AP across all C classes. The standard single-number summary for comparing detectors, but only within a fixed dataset and IoU-threshold convention (mAP@0.5, mAP@[.5:.95], etc.). A higher mAP does not automatically mean "better" if the comparison crosses datasets or IoU conventions

IoU and Dice are two different ways to score the same overlap question. IoU divides shared area by the union. Dice divides twice the shared area by the sum of the two areas. Because both formulas measure the same overlap, they never disagree about which region overlaps more. But they are not numerically interchangeable: Dice is always at least as large as IoU for the same pair of regions, since \text{Dice}=\dfrac{2\,\text{IoU}}{1+\text{IoU}}.

Precision and recall ask a genuinely different pair of questions. Precision is about the correctness of what was flagged; recall is about the completeness of what was found. The two trade off against each other as the confidence threshold moves. A detector's precision-recall curve is built by sweeping that single threshold and recomputing both precision and recall at every point. AP and mAP compress that whole curve into one number, so detectors can be ranked without picking one threshold by hand.

Image embeddings and retrieval

Formula

Angle Between Two Vectors

For nonzero vectors \mathbf{u}, \mathbf{v}, \theta = \cos^{-1}\!\left(\frac{\mathbf{u}\cdot\mathbf{v}}{|\mathbf{u}|\,|\mathbf{v}|}\right). In particular, \mathbf{u}\cdot\mathbf{v} = 0 if and only if \mathbf{u} and \mathbf{v} are orthogonal.

Evaluation, deployment, and the complete vision pipeline

Formula

Object Detection and Segmentation Evaluation Metrics

also known as: IoU, Dice, precision/recall, and mAP

Metric Formula What it measures / when it's used
Intersection over Union (IoU) \text{IoU}=\dfrac{\lvert A\cap B\rvert}{\lvert A\cup B\rvert} Overlap between a predicted region A (box or mask) and a ground-truth region B, as a fraction of their combined area. The standard test for "does this prediction count as a match," usually thresholded (e.g. IoU \ge 0.5)
Dice coefficient \text{Dice}=\dfrac{2\lvert A\cap B\rvert}{\lvert A\rvert+\lvert B\rvert} Overlap between two regions, weighted so shared area counts twice against the sum of both areas rather than their union. More forgiving than IoU on small regions, and the more common reporting metric for segmentation masks specifically
Precision \text{Precision}=\dfrac{TP}{TP+FP} Of everything the model flagged as a detection, the fraction that was actually correct (a true positive, determined by the IoU threshold above). Low precision means the model is crying wolf
Recall \text{Recall}=\dfrac{TP}{TP+FN} Of everything that was actually there to find, the fraction the model actually found. Low recall means the model is missing real objects
Average Precision (AP) area under the precision-recall curve, swept over confidence threshold Summarizes a detector's precision/recall tradeoff across every possible confidence cutoff into one number, for one object class
mean Average Precision (mAP) \text{mAP}=\dfrac{1}{C}\sum_{c=1}^{C}\text{AP}_c The average of each class's own AP across all C classes. The standard single-number summary for comparing detectors, but only within a fixed dataset and IoU-threshold convention (mAP@0.5, mAP@[.5:.95], etc.). A higher mAP does not automatically mean "better" if the comparison crosses datasets or IoU conventions

IoU and Dice are two different ways to score the same overlap question. IoU divides shared area by the union. Dice divides twice the shared area by the sum of the two areas. Because both formulas measure the same overlap, they never disagree about which region overlaps more. But they are not numerically interchangeable: Dice is always at least as large as IoU for the same pair of regions, since \text{Dice}=\dfrac{2\,\text{IoU}}{1+\text{IoU}}.

Precision and recall ask a genuinely different pair of questions. Precision is about the correctness of what was flagged; recall is about the completeness of what was found. The two trade off against each other as the confidence threshold moves. A detector's precision-recall curve is built by sweeping that single threshold and recomputing both precision and recall at every point. AP and mAP compress that whole curve into one number, so detectors can be ranked without picking one threshold by hand.

Graph settings

Calculator