Skip to content

Epipolar Geometry

This page defines three official GVGC-style epipolar-geometry metrics [Li et al., 2024] that probe whether nearby generated frames admit a stable two-view epipolar explanation [Hartley and Zisserman, 2004]. They require only the prediction video—no camera-pose annotations and no reference video. The core question is whether local feature correspondences approximately satisfy the epipolar constraint, indicating that two frames can be explained as projections of the same scene under a pinhole camera model with rigid relative motion.

In classical multiple-view geometry, if two frames observe the same scene under rigid camera motion, a point xx in the first frame must map to a corresponding point x′x' that lies on the epipolar line l′=Fxl' = F x induced by the fundamental matrix FF. Generated videos with background warping, local object drift, unstable depth layering, or frame pairs that are not projections of one 3D structure will struggle to maintain many RANSAC inliers under this constraint, raising Sampson error and lowering inlier rate. These metrics therefore provide a lightweight, interpretable two-view geometry signal; they check sparse-feature epipolar consistency only and do not replace global 3D self-consistency metrics such as MEt3R, reprojection error, or reconstruction-based scores.

In WorldAtlas, the backend builds adjacent (or strided) frame pairs from sampled prediction frames, matches SIFT features with Lowe’s ratio test by default, and estimates FF with OpenCV RANSAC. It computes Sampson error on RANSAC inliers and reports inlier rate and coverage; if the primary path fails, the runtime may fall back to relaxed matching thresholds or Shi-Tomasi + Lucas-Kanade tracking. All three sub-metrics share one backend pass:

MetricRaw statisticDirection
epipolar_errormedian inlier Sampson error after fundamental-matrix RANSAClower is better
epipolar_inlier_rateRANSAC inliers / Lowe-ratio feature matcheshigher is better
feature_match_coverageRANSAC inliers / min keypoint counthigher is better

For matched homogeneous points xi,xi′x_i, x'_i, Sampson error is

di=∣xi′TFxi∣(Fxi)12+(Fxi)22+(FTxi′)12+(FTxi′)22(1)d_i = \frac{|{x'_i}^{\mathsf T} F x_i|}{\sqrt{(Fx_i)_1^2 + (Fx_i)_2^2 + (F^{\mathsf T}x'_i)_1^2 + (F^{\mathsf T}x'_i)_2^2}} \tag{1}

Per valid pair, epipolar_error uses the median did_i over RANSAC inliers; the video-level value is the median across pairs. Normalization maps [0,5][0, 5] with lower-is-better scaling.

Per valid pair, inlier rate and coverage are

r=#inliers#good matches,c=min⁡ ⁣(#inliersmin⁡(#kpleft,#kpright), 1)(2)r = \frac{\#\mathrm{inliers}}{\#\mathrm{good\ matches}}, \qquad c = \min\!\left(\frac{\#\mathrm{inliers}}{\min(\#\mathrm{kp}_\mathrm{left}, \#\mathrm{kp}_\mathrm{right})},\, 1\right) \tag{2}

Video-level epipolar_inlier_rate and feature_match_coverage average rr and cc over valid pairs with identity normalization on [0,1][0,1]. epipolar_error takes the median of per-pair medians and is reverse-normalized from [0,5][0, 5] to [0,1][0, 1] (higher normalized score means stronger epipolar consistency). If no pair yields sufficient inliers, all three metrics return not_applicable. All three are official leaderboard metrics, subject to complete coverage and valid measurement checks. They may fail often in weak-texture, strongly non-rigid, or dynamic-prompt regimes and should be read alongside MEt3R and reprojection error.

19 image_static pairs are shown below. They are the site-selected same-input comparisons in docs/assets/metric_examples/paired_manifest.json (paired_same_input_prompt, verified_exact) whose example videos were both exported. Order alternates epipolar_error, epipolar_inlier_rate, and feature_match_coverage by each sub-metric’s site case rank. Scores are the normalized scores for the named sub-metric. Audit manifest: docs/assets/metric_examples/paired_manifest.json.

Input image: image_static_photorealistic_workspaces_0016
Input image
Same input and prompt · image_static · gap 0.0593

image_static_photorealistic_workspaces_0016

Suite: image_staticMetric: epipolar_errorScene: photorealistic / workspaces
Benchmark prompt

Camera pan right. A modern office with desks, computers, and office chairs. Everything in the scene remains completely motionless.

source: generation_records

Higher: lingbot_world_image_static. Lower: matrix_game2_5s_image_static. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9814lingbot_world_image_staticMedian inlier Sampson error 0.0932

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9221matrix_game2_5s_image_staticMedian inlier Sampson error 0.3897
Input image: image_static_photorealistic_passageways_0079
Input image
Same input and prompt · image_static · gap 0.5595

image_static_photorealistic_passageways_0079

Suite: image_staticMetric: epipolar_inlier_rateScene: photorealistic / passageways
Benchmark prompt

Camera move right. A bright hallway with wooden floor, armchair, and small table. Everything in the scene remains completely motionless.

source: generation_records

Higher: astronex_world_image_static. Lower: matrix_game2_5s_image_static. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9745astronex_world_image_staticInlier rate 97.5%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4150matrix_game2_5s_image_staticInlier rate 41.5%
Input image: image_static_photorealistic_workspaces_0074
Input image
Same input and prompt · image_static · gap 0.4021

image_static_photorealistic_workspaces_0074

Suite: image_staticMetric: feature_match_coverageScene: photorealistic / workspaces
Benchmark prompt

Camera orbit left. A modern workspace with sneaker wall, vault door, and futuristic car. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_distilled_image_test_balanced_5000_5s. Lower: hy_worldplay_ar_rl_image_test_balanced_5000_5s. Labels compare feature_match_coverage only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.5724hy_worldplay_ar_distilled_image_test_balanced_5000_5sFeature-match coverage 57.2%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.1703hy_worldplay_ar_rl_image_test_balanced_5000_5sFeature-match coverage 17.0%
Input image: image_static_photorealistic_public_spaces_0014
Input image
Same input and prompt · image_static · gap 0.0396

image_static_photorealistic_public_spaces_0014

Suite: image_staticMetric: epipolar_errorScene: photorealistic / public_spaces
Benchmark prompt

Camera pan right. A pet care room with pet cages, feeding station, and water bowls.

source: generation_records

Higher: hy_worldplay_ar_image_static. Lower: ac3d-image-static. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9725hy_worldplay_ar_image_staticMedian inlier Sampson error 0.1375

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9329ac3d-image-staticMedian inlier Sampson error 0.3357
Input image: image_static_photorealistic_public_spaces_0150
Input image
Same input and prompt · image_static · gap 0.2254

image_static_photorealistic_public_spaces_0150

Suite: image_staticMetric: epipolar_inlier_rateScene: photorealistic / public_spaces
Benchmark prompt

Camera pan left. A historic building with flower beds, stone path, and hedges. Everything in the scene remains completely motionless.

source: generation_records

Higher: dreamx_world_image_static. Lower: matrix_game2_5s_image_static. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9759dreamx_world_image_staticInlier rate 97.6%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.7505matrix_game2_5s_image_staticInlier rate 75.0%
Input image: image_static_photorealistic_terrestrial_landscape_0067
Input image
Same input and prompt · image_static · gap 0.3860

image_static_photorealistic_terrestrial_landscape_0067

Suite: image_staticMetric: feature_match_coverageScene: photorealistic / terrestrial_landscape
Benchmark prompt

Camera pan left. A rural field with palm trees, haystacks, and green field. Everything in the scene remains completely motionless.

source: generation_records

Higher: lyra-2-image-static-openenvision. Lower: matrix_game3_5s_image_static_dynamic. Labels compare feature_match_coverage only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.4469lyra-2-image-static-openenvisionFeature-match coverage 44.7%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.0609matrix_game3_5s_image_static_dynamicFeature-match coverage 6.1%
Input image: image_static_stylized_living_spaces_0037
Input image
Same input and prompt · image_static · gap 0.0704

image_static_stylized_living_spaces_0037

Suite: image_staticMetric: epipolar_errorScene: stylized / living_spaces
Benchmark prompt

Camera pan right. A bedroom corner with wardrobe, chair, and rug. Everything in the scene remains completely motionless.

source: generation_records

Higher: dreamx_world_image_static. Lower: matrix_game2_5s_image_static. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9715dreamx_world_image_staticMedian inlier Sampson error 0.1424

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9011matrix_game2_5s_image_staticMedian inlier Sampson error 0.4946
Input image: image_static_photorealistic_terrestrial_landscape_0006
Input image
Same input and prompt · image_static · gap 0.1651

image_static_photorealistic_terrestrial_landscape_0006

Suite: image_staticMetric: epipolar_inlier_rateScene: photorealistic / terrestrial_landscape
Benchmark prompt

Camera orbit left. An indoor pool with wooden railings, decorative plants, and upper level. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_distilled_image_test_balanced_5000_5s. Lower: matrix_game3_image_static. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9675hy_worldplay_ar_distilled_image_test_balanced_5000_5sInlier rate 96.7%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.8024matrix_game3_image_staticInlier rate 80.2%
Input image: image_static_stylized_living_spaces_0034
Input image
Same input and prompt · image_static · gap 0.8906

image_static_stylized_living_spaces_0034

Suite: image_staticMetric: feature_match_coverageScene: stylized / living_spaces
Benchmark prompt

Camera move left. A minimalist living room with bookshelf, window, and armchair. Everything in the scene remains completely motionless.

source: generation_records

Higher: cameractrl_image_static. Lower: astra_image_static. Labels compare feature_match_coverage only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 1.0000cameractrl_image_staticFeature-match coverage 100.0%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.1094astra_image_staticFeature-match coverage 10.9%
Input image: image_static_photorealistic_aquatic_landscape_0070
Input image
Same input and prompt · image_static · gap 0.0545

image_static_photorealistic_aquatic_landscape_0070

Suite: image_staticMetric: epipolar_errorScene: photorealistic / aquatic_landscape
Benchmark prompt

Camera pan left. A frozen lake with snow-covered mountains, evergreen trees, and distant peak. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_image_test_balanced_5000_5s. Lower: motionctrl_image_static_official_default_tmp2. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9875hy_worldplay_ar_image_test_balanced_5000_5sMedian inlier Sampson error 0.0625

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9330motionctrl_image_static_official_default_tmp2Median inlier Sampson error 0.3351
Input image: image_static_stylized_workspaces_0008
Input image
Same input and prompt · image_static · gap 0.5392

image_static_stylized_workspaces_0008

Suite: image_staticMetric: epipolar_inlier_rateScene: stylized / workspaces
Benchmark prompt

Camera orbit left. A modern conference room with bookshelves, glass walls, and modern chairs. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_distilled_image_test_balanced_5000_5s. Lower: matrix_game3_5s_image_static_dynamic. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9507hy_worldplay_ar_distilled_image_test_balanced_5000_5sInlier rate 95.1%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4115matrix_game3_5s_image_static_dynamicInlier rate 41.1%
Input image: image_static_stylized_public_spaces_0008
Input image
Same input and prompt · image_static · gap 0.3882

image_static_stylized_public_spaces_0008

Suite: image_staticMetric: feature_match_coverageScene: stylized / public_spaces
Benchmark prompt

Camera orbit left. A gallery corridor with statues, paintings, and windows. Everything in the scene remains completely motionless.

source: generation_records

Higher: astra_image_static. Lower: matrix_game3_5s_image_static_dynamic. Labels compare feature_match_coverage only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.4870astra_image_staticFeature-match coverage 48.7%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.0988matrix_game3_5s_image_static_dynamicFeature-match coverage 9.9%
Input image: image_static_stylized_dining_spaces_0097
Input image
Same input and prompt · image_static · gap 0.0532

image_static_stylized_dining_spaces_0097

Suite: image_staticMetric: epipolar_errorScene: stylized / dining_spaces
Benchmark prompt

Camera pull out. Dining spaces with wooden table, chairs, and window with curtains. Everything in the scene remains completely motionless.

source: generation_records

Higher: cameractrl_image_static. Lower: dreamx_world_image_static. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9890cameractrl_image_staticMedian inlier Sampson error 0.0549

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9358dreamx_world_image_staticMedian inlier Sampson error 0.3209
Input image: image_static_stylized_dining_spaces_0041
Input image
Same input and prompt · image_static · gap 0.2484

image_static_stylized_dining_spaces_0041

Suite: image_staticMetric: epipolar_inlier_rateScene: stylized / dining_spaces
Benchmark prompt

Camera pull out. A beachside path with sand, lanterns, and ocean. Camera pan left. A beachfront lounge with lounge chairs, palm trees, and ocean. Camera move left. A beach bar with bar counter, stools, and string lights.

source: generation_records

Higher: luciddreamer-image-static-8gpu-20260613_151844. Lower: longcat-video-image-static-8gpu-20260612_133950. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9290luciddreamer-image-static-8gpu-20260613_151844Inlier rate 92.9%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.6806longcat-video-image-static-8gpu-20260612_133950Inlier rate 68.1%
Input image: image_static_stylized_suburb_0007
Input image
Same input and prompt · image_static · gap 0.4055

image_static_stylized_suburb_0007

Suite: image_staticMetric: feature_match_coverageScene: stylized / suburb
Benchmark prompt

Camera pull out. A path intersection with trees, benches, and people. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_image_test_balanced_5000_5s. Lower: dreamx_world_image_static. Labels compare feature_match_coverage only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.4402hy_worldplay_ar_image_test_balanced_5000_5sFeature-match coverage 44.0%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.0348dreamx_world_image_staticFeature-match coverage 3.5%
Input image: image_static_stylized_verdant_landscape_0087
Input image
Same input and prompt · image_static · gap 0.0705

image_static_stylized_verdant_landscape_0087

Suite: image_staticMetric: epipolar_errorScene: stylized / verdant_landscape
Benchmark prompt

Camera pan left. A forest at sunset with trees, open field, and forest edge.

source: generation_records

Higher: longcat-video-image-static-8gpu-20260612_133950. Lower: ac3d-image-static. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 1.0000longcat-video-image-static-8gpu-20260612_133950Median inlier Sampson error 0.0001

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9295ac3d-image-staticMedian inlier Sampson error 0.3527
Input image: image_static_stylized_city_0021
Input image
Same input and prompt · image_static · gap 0.4548

image_static_stylized_city_0021

Suite: image_staticMetric: epipolar_inlier_rateScene: stylized / city
Benchmark prompt

Camera move right. A cityscape silhouette with towers, buildings, and bridge. Everything in the scene remains completely motionless.

source: generation_records

Higher: motionctrl_image_static_official_default_tmp2. Lower: astra_image_static. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9696motionctrl_image_static_official_default_tmp2Inlier rate 97.0%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.5148astra_image_staticInlier rate 51.5%
Input image: image_static_stylized_city_0051
Input image
Same input and prompt · image_static · gap 0.0537

image_static_stylized_city_0051

Suite: image_staticMetric: epipolar_errorScene: stylized / city
Benchmark prompt

Camera pan right. A city construction site with street, snow, and cars.

source: generation_records

Higher: longcat-video-image-static-8gpu-20260612_133950. Lower: warp-as-history-image-static-8gpu-20260612_152000. Labels compare epipolar_error only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9920longcat-video-image-static-8gpu-20260612_133950Median inlier Sampson error 0.0399

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.9383warp-as-history-image-static-8gpu-20260612_152000Median inlier Sampson error 0.3087
Input image: image_static_stylized_aquatic_landscape_0123
Input image
Same input and prompt · image_static · gap 0.2243

image_static_stylized_aquatic_landscape_0123

Suite: image_staticMetric: epipolar_inlier_rateScene: stylized / aquatic_landscape
Benchmark prompt

Camera pan left. Dense trees with stone pathway and lake. Everything in the scene remains completely motionless.

source: generation_records

Higher: hy_worldplay_ar_distilled_image_test_balanced_5000_5s. Lower: motionctrl_image_static_official_default_tmp2. Labels compare epipolar_inlier_rate only.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9741hy_worldplay_ar_distilled_image_test_balanced_5000_5sInlier rate 97.4%

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.7498motionctrl_image_static_official_default_tmp2Inlier rate 75.0%

BibTeX
@article{XuanyiLI2024Sora,
title = {Sora Generates Videos with Stunning Geometrical Consistency},
author = {Xuanyi Li and Daquan Zhou and Chenxu Zhang and Shaodong Wei and Qibin Hou and Ming-Ming Cheng},
journal = {arXiv preprint arXiv:2402.17403},
year = {2024},
eprint = {2402.17403},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2402.17403},
}