PROJECT Built on the public CAD model of USS Gerald R. Ford

Is the ship built
as designed?

ARMS works out where the camera stood in your image, redraws the ship’s 3-D CAD model from that exact spot, and names every part that is missing, moved or resized — or tells you it cannot tell.

12/12test renders: camera found
29/30removed parts found
0/10other ships accepted
Finds the cameraRedraws the CADNames changed parts
Try an example:
Background:

Examples are instant. Your own images use a free shared GPU with a small daily allowance per visitor.

What is ARMS

Compare a ship with its design, from a single image

ARMS is a computer-vision project that checks a ship against its 3-D CAD design. To compare a picture with a design, you first need to know where the camera was. ARMS solves that from the image alone, redraws the design from that viewpoint, and then judges each part separately.

If it cannot verify the camera, it says “cannot tell” — it does not guess. Today it checks the island, the tower on the flight deck, of USS Gerald R. Ford, using the ship’s public CAD model.

Inspect an image
CAD drawn from the found camera, a picture with a moved radar, and the difference

The CAD drawn from the found camera (left), a picture with one radar moved 2 m (middle), and the difference (right).

What ARMS can find

Missing, moved and resized parts

Measured by changing one part at a time in a render, 30 renders for each kind of change, so the right answer is always known.

Missing parts

A part removed from the render.

29 / 30

found

Moved parts

A part shifted by 2 m or by 1 m.

26 / 30

found at 2 m · 19 / 30 found at 1 m

Resized parts

A part made smaller or bigger.

20 / 30

smaller · 16 / 30 bigger. Size measured exactly in 6 of 8 cases.

Unchanged parts wrongly flagged: 2 of 153.

Why trust the answer

How ARMS is different

Built to say “cannot tell” before it says something wrong.

Refuses instead of guessing

If the camera cannot be verified, no part is judged. 0 of 10 photos of other ships and towers were accepted.

Checks the camera first

Outline overlap of at least 0.67 and inner detail within 2.9 must both pass before any part is judged.

Two ways to judge a part

Brightness against camera noise, and SAM 2.1’s outline of the part. Where one cannot judge, the other decides.

Works across renderers

Camera found for 12 of 12 test renders and 5 of 5 renders made in Blender, a different program with different lighting.

Before / after mode

Two images from the same camera: only the parts that changed between them. 3 of 3 found with 0 false alarms on the one pair tested.

Measures how big

Flagged parts are redrawn from 0.70 to 1.30 times their size; the best fit is reported. Exact in 6 of 8 cases.

Explains itself

A plain-language AI report and an assistant, written from the measured numbers only, plus a downloadable report.

Runs on your own GPU

Download the bundle and run the same site on your own computer, then change the code.

How ARMS works

From one image to a part-by-part report

1

Upload

A render or photo of the island. Or two images from the same spot for a before / after comparison.

2

Find the camera

SuperPoint and LightGlue match your image to 80 reference views of the CAD; PnP solves the camera and lens, which is then verified or refused.

3

Compare

The CAD is redrawn from the verified camera and every visible island part is judged by brightness and by SAM outline.

4

Read the report

Flagged parts with evidence and size, an AI explanation, and a report you can download or share.

The 80 reference views, rendered from the CAD around the island

Matched points between a test picture and a reference picture

Matching: the same points found in a test picture (left) and a reference view (right).

Five Blender renders with the CAD outline drawn in orange

Five Blender renders, with the 3-D model drawn in orange from the camera ARMS found.

The pipeline in detail, and a glossary
Measured results

Tested where the right answer is known

Every number here comes from a test whose answer was known in advance.

12 / 12

new viewpoints: camera found, typical error 0.16 m and 0.13°

5 / 5

Blender renders located — another program, lighting and shading

2 / 153

unchanged parts wrongly flagged

0 / 10

photos of other ships and towers accepted

Finding changed parts

One part changed at a time, 30 renders for each kind of change.

Blender render after the change, before, and the pixel difference

Before / after.

AcceptedReal photo of USS Gerald R. Ford with outlines

USS Gerald R. Ford: passed every check. Orange: CAD outline. Blue: island outline found in the photo.

RefusedReal photo of USS Carl Vinson, refused

USS Carl Vinson, not the Ford: refused.

Limits

    Next steps

      Your own GPU

      Run ARMS on your own machine

      A website cannot run this pipeline inside your browser — it needs a GPU, a 3-D renderer and several AI models. Download the bundle to run the same site on your computer and GPU, and to change the code.

      01

      Download

      The app, the engine, the examples, the project figures and the ship’s CAD model (CC-BY-4.0). No API key inside.

      Download bundle · 65 MB
      02

      Start

      Unzip, then run the start script. The first start installs everything (5–10 min) and opens the site.

      bash ARMS/arms_live/start_mac_linux.sh
      # Windows: ARMS\arms_live\start_windows.bat
      03

      AI features (optional)

      Paste your own key in AI settings on the page (Groq, OpenAI, Claude, Gemini and others), or put a Groq key in arms_live/.env:

      GROQ_API_KEY=your_key_here
      MachineGPU usedStatus
      Apple Silicon MacApple GPU (MPS)Tested — where the app was built
      Hugging Face SpaceZeroGPU + CPU rendererTested — this website
      Linux + NVIDIACUDA, EGL rendererSame setup as the project’s Kaggle notebooks; app not yet tested there
      Windows, CPU-only—Not tested
      About

      The project

      ARMS checks whether a ship matches its 3-D design using a single image. It was built by Prince Yadav (B.Tech Computer Science, AI) on the USS Gerald R. Ford aircraft carrier and its public CAD model. The experiments are in the project’s notebooks; this site runs the final method with the same measured thresholds.

      The AI report and assistant use the language model the visitor chooses (Groq, OpenAI, Claude, Gemini and others) with the visitor’s own API key. They are given only the project facts and the numbers measured for your upload, never the image, and are told to say “not measured” rather than guess. Check their text against the measured result.

      Technology

      Ready to inspect a ship image?

      Upload a render or photo of the island and get a part-by-part report, usually in under half a minute.

      Try it for free