No active modelSign in
CrackVision field guide

Understand every step.

From your trained checkpoint to a complete surface inspection.

Getting started

  1. Connect a running Python inference server in Settings.
  2. Create an account and sign in.
  3. Upload a compatible trained model in My Models.
  4. Validate it, set it active, and open Crack Analysis.
  5. Upload your image or video and run an analysis.

The development preview supports exploring the workspace and previewing media. Inference and personal data require the connected server.

Uploading a model

Upload a .pth or .h5 file up to 500 MB. CrackVision validates its architecture and output shape before it can become Ready. Choose Set active to use it for analysis.

The PyTorch adapter requires the original CrackSegNet class from your training source. Architecture names and descriptions alone cannot reconstruct compatible weights. Uploaded Python code is never executed.

Supported formats

PyTorch .pth: safe state dictionaries, including checkpoints with model and compatible args metadata. Arbitrary serialized model classes are rejected.

Keras .h5: a separate adapter validates weights against an installed, trusted Keras architecture. Full H5 model deserialization remains disabled until its exact architecture and safe serialization contract are available.

Images: JPG, JPEG, PNG, BMP, TIF, TIFF, up to 20 MB. TIFF preview support varies by browser. Videos: MP4, MOV, AVI, MKV, up to 500 MB; actual codec support is checked by the worker.

Image analysis

Images use RGB input, a model-specific resolution (default 448 × 448), and ImageNet normalization. PyTorch inference applies sigmoid to logits, restores the probability map to original resolution, and then applies the configured threshold (default 0.5).

The viewer includes original, binary mask, overlay, and annotated views. Drag the comparison slider, zoom in, or pan the image to inspect details. Noise components below the minimum pixel area are removed.

Video analysis

Videos run as background jobs. Progress uses actual processed frame counts when available. The report includes an annotated MP4 and per-frame crack statistics.

Frame detections are not unique physical cracks. The same crack can appear in several frames. Video totals aggregate observations; they do not perform object tracking. Processed videos contain visual inspection output without the original audio.

Understanding crack measurements

Crack count: the number of separate connected foreground regions using 8-connectivity, after noise filtering.

Area (px²): the foreground pixel count.

Estimated length (px): the skeleton path length. Diagonal connections use √2 weighting.

Estimated width (px): twice the Euclidean distance to the mask boundary, sampled at skeleton pixels. Average and maximum width describe this estimate.

These are image-space measurements, not real-world physical dimensions. IoU, Dice, precision, recall, and accuracy require a ground-truth mask and are not reported during ordinary inference.

Understanding bounding boxes

Each connected crack has a cyan bounding rectangle. Coordinates are (x_min, y_min) → (x_max, y_max), in original-image pixels. Maximum coordinates are inclusive.

Understanding centroids

The centroid (x, y) is the mean position of the component's foreground pixels. It uses the original image coordinate system: x increases to the right and y increases downwards. The annotated image marks each centroid and labels its crack ID.

Downloading results

Choose Download complete report on a completed analysis. The ZIP includes the original media, segmentation outputs, CSV measurements, JSON data, and model/analysis metadata.

Image reports include mask, overlay, and annotated PNGs. Video reports include the segmented MP4 and frame_statistics.csv. Reopen any saved analysis from History to download it again.

Troubleshooting & setup

Server offline: configure a reachable HTTPS API endpoint in Settings, or configure INFERENCE_API_URL for this site's server. The Python service needs PostgreSQL, Redis, a worker, and persistent file storage. Sites hosts the web interface; PyTorch and TensorFlow run separately.

Architecture unavailable: install the exact trusted training architecture in the backend's PyTorch or Keras model module, then validate your checkpoint again. This build does not contain the missing training source.

Invalid checkpoint: check the backbone, tensor shapes, format, and training configuration. Do not rename .pth to .h5 or the reverse.

Out of memory: use a smaller compatible model or provide more worker memory. CPU processing is used when CUDA is unavailable.

Video encoding failure: verify that FFmpeg is installed and the video codec can be decoded. Failed analyses remain visible in History.

Session expired: sign in again. Changing inference servers clears the current browser session.

© 2026 CrackVision AI / Surface intelligenceImage-space measurements. Engineering context matters.