APM Pipeline Defect Detection

Demonstration only: This model is not a validated safety, structural-integrity, or operational decision-making tool. Do not use its predictions alone to control equipment or make maintenance decisions. Independent validation and qualified human review are required.

Model details

  • Format: OpenVINO Intermediate Representation (XML/BIN).
  • IR version: 11
  • Task: object-detection
  • Embedded model identifier: yolox_l
  • Weight precision: FP16-compressed weights. The export also contains a small number of FP32 constants and integer shape/index constants. The input tensor is FP32; runtime compute precision depends on the OpenVINO device and configuration.
  • Public maintainer: Intel

Input tensors

Name Exported shape Input element type Layout
image 1,3,640,640 f32 NCHW (graph-derived)

Input element types do not establish the model's weight precision. Dynamic dimensions are preserved; an exported shape is not proof of the training resolution. The layout was derived from the exported YOLOX input/focus block and convolution shapes, not from explicit IR layout metadata. This does not validate the image loader's channel order or deployment preprocessing.

Output tensors

Name Exported shape Element type
boxes 1,?,5 FP32
labels 1,? INT64

? denotes a dynamic dimension. These are the only exported results: this is the non-XAI variant, without a saliency-map output.

Classes (model-output order)

Label source: the XML's embedded label_info.label_names. The included model.json reproduces this exact order.

Index Class
0 gas-pipelines
1 deformation
2 corrosion
3 coating degradation
4 deformations

gas-pipelines is an actual model class. deformation and deformations are separate output IDs in this export; they have not been merged or renamed. Class names alone do not establish which detections should trigger maintenance actions. The consuming application must define and validate that policy.

Artifacts

File Size (bytes)
model.xml 748634
model.bin 108233378
model.json 284

Keep the XML and BIN together with matching filenames. Retain the model-proc JSON when required by the deployment. LICENSE contains the Apache-2.0 model license. model.json.license records the SPDX attribution for the generated model-proc configuration. DATASET_ATTRIBUTION.txt contains the dataset-specific attribution, disclaimers, and MIT notice.

Base model and model license

  • Base model: YOLOX-L (Megvii / YOLOX contributors)
  • Source: Public source
  • Base-model license: Apache-2.0
  • Published model license: apache-2.0

The model license is publisher-specified, not inferred from the base model or dataset. Include the full model LICENSE file and retain any applicable upstream notices. Document training, fine-tuning, and export changes below.

Training data and attribution

  • Dataset: Gas Pipelines Defect Detection
  • Source: Public source
  • Kaggle release: version 1
  • Bundled Roboflow export: Gas pipelines - v2 2025-01-12 12:35pm
  • Dataset license: MIT (as listed by the dataset publisher on Kaggle)
  • Attribution: Dataset published by Sardaana Eginova on Kaggle. The dataset describes images of damaged and undamaged gas pipes in Almaty, Kazakhstan. This model was trained using a subset, as reported by its publisher. The exact subset and split counts are not included in the exported model.

Dataset license notice

See Data Attribution and Disclaimers for the supplied dataset attribution and full MIT notice. This text preserves the common disclaimer and section 4, "Gas Pipeline Defect Detection," from the supplied attribution document; sections covering unrelated datasets are omitted. The model's Apache-2.0 license does not replace the dataset notice.

Data splits

Split Proportion (reported by Geti)
train 70%
validation 20%
test 10%

These Geti split proportions were supplied by the publisher. Page 1 of the Geti metrics report plots the dataset split but does not print exact image counts; no counts have been inferred from the bar lengths.

Training and export

The publisher identifies Intel Geti as the training tool. The exported metadata records YOLOX-L, OTX version 2.6.0, and the detection task. This is a task-trained derivative of the upstream YOLOX-L model, distributed as OpenVINO IR version 11 with FP16-compressed weights. The selected export has only boxes and labels outputs; there is no saliency-map/XAI output. Complete training hyperparameters, the upstream checkpoint revision, and image-level split membership are not documented in the supplied export or metrics report.

Evaluation

  • Source: Intel Geti Model metrics report supplied with this model.
  • Evaluation dataset: Gas Pipelines Defect Detection, using the Kaggle release and bundled Roboflow export identified above, according to the publisher's training provenance. The report itself does not identify a dataset/version or list the evaluated images.
  • Split: Geti-designated test split. The publisher reports a 10% test allocation, separate from the 70% training and 20% validation allocations.

Reported test F-measure

The following values are transcribed from page 3, F-measure per label (test). They are scores on a 0-1 scale, not accuracy percentages or mAP values.

Index Class Test F-measure
0 gas-pipelines 0.75
1 deformation 0.78
2 corrosion 0.64
3 coating degradation 0.11
4 deformations 0.00

Page 2 also plots aggregate validation and test F-measure, but does not print their exact numeric values. The report includes validation mAP learning curves, not an exact final checkpoint score table. No aggregate F-measure or final mAP value has been inferred from these plots or from averaging the per-class scores.

Evaluation limits

The report does not specify exact evaluated image counts, the evaluated model/checkpoint revision, F-measure averaging and matching settings, confidence or matching-IoU thresholds, or evaluation hardware. The IR's confidence_threshold=0.25 and iou_threshold=0.5 are export metadata, not verified evaluation settings.

These are reported Geti results, not a new evaluation of the supplied FP16-compressed OpenVINO export. They do not establish identical performance after export or deployment. The low reported scores for coating degradation (0.11) and deformations (0.00) are important class-specific limitations. Per-class test sample counts are not provided, so the cause of the zero score cannot be established from this report alone. No production accuracy, safety, or device-performance claim is made.

Standalone CPU export smoke test

Functional checks passed; this is not an accuracy benchmark or a reproduction of the Geti evaluation above. Missed defects remain a significant limitation.

Setup and sample selection

  • Device: Intel Xeon Platinum 8351N CPU at 2.40 GHz, with two inference threads per model.
  • Software: OpenVINO 2026.4.1, OpenVINO Model API 0.4.7, OpenCV headless 4.14.0.94, and NumPy 2.5.4.
  • Detection confidence threshold: 0.25.
  • Samples: 20 images from the Kaggle version 1 source export's test partition. Up to five filename-sorted images per annotated class were selected, deduplicated, and filled to 20 images in filename order.

The source test annotations list 123 images. Neither that partition nor the selected samples have been verified as members of the Geti held-out split; these counts must not be substituted for Geti evaluation counts.

The tested model files were unchanged:

File SHA-256
model.xml e98d650e30ee5a388ba313b109fe84f685c5eb12d5d661f2e219b0ad6dc2fdc4
model.bin 3bc86ec5fc052a0515914628382a15e8ab63486da23b115fba226b52481a4dd5
model.json 86f841ced04cd50af96928b717c42430ae3583c541fefc0635170bf07845a013

Functional results and annotation comparisons

All 20 images completed CPU inference. Outputs had finite, in-bounds boxes, valid confidence scores, and class IDs in the five-class mapping. Source COCO category IDs differ from model output IDs, so annotations were matched by class name rather than by numeric ID.

The run produced 24 predictions. Using confidence-ordered, one-to-one, same-class box matching at IoU of at least 0.5, 22 of the 72 annotated boxes in this selected sample were matched by predictions:

Class Annotated boxes Predicted boxes Matched boxes
gas-pipelines 45 15 13
deformation 6 3 3
corrosion 9 5 5
coating degradation 12 1 1
deformations 0 0 Not assessable

These are diagnostic counts, not new F-measure or mAP scores. In particular, only one of 12 annotated coating degradation boxes matched a prediction. There are no deformations annotations in the entire source test partition, so positive detection behavior for that class was not assessed. This does not establish its sample count or explain its score in the separate Geti evaluation.

Five geometry cases (width x height: 640x640, 640x320, 320x640, 1280x640, and 640x1280) compared Model API inference with raw OpenVINO inference using explicit letterbox resizing, padding value 114, BGR-to-RGB conversion, and FP32 NCHW input. Resulting boxes agreed within one pixel and confidence scores within 0.0004. Both paths used Model API postprocessing, so this is an independent preprocessing comparison, not a fully independent output decoder. A synthetic blank image filled with value 114 produced no detections.

The selected sample is not an unbiased accuracy evaluation, and the synthetic blank is not representative negative-data validation. Same-checkpoint Geti prediction parity, GPU/NPU execution, DL Streamer preprocessing, and end-to-end APM behavior were not tested. These bounded CPU results do not establish production readiness or remove the demonstration-only restrictions.

Usage

With OpenVINO installed, this loads the IR only; it is not an end-to-end inference example.

import openvino as ov

model = ov.Core().read_model("model.xml")
print(model.inputs)

The image input has shape [1, 3, 640, 640] and element type FP32. The export records resize_type=fit_to_window_letterbox, pad_value=114, reverse_input_channels=True, mean_values=[0, 0, 0], and scale_values=[1, 1, 1]. It also records confidence_threshold=0.25 and iou_threshold=0.5. Preserve this preprocessing contract when integrating with an image loader or DL Streamer; do not assume the previous APM model's input preprocessing applies. Validate channel order, tensor layout, padding, and coordinate restoration against the export's reference inference path. The included model.json supplies the DL Streamer boxes_labels converter and class mapping only; it is not an end-to-end inference validation.

For APM, configure DL Streamer with this XML/BIN pair, any required model-proc JSON, and the model's ordered class labels. Calibrate thresholds using representative held-out data.

Intended use and limitations

Intended for illustrative APM integration and research demonstrations. Performance may change with camera viewpoint, lighting, occlusion, defect scale, equipment, and data distribution. False positives and missed defects are possible. Validate representative negative samples and each class independently before considering any operational use. The artifacts alone do not establish dataset provenance, rights to redistribute, device compatibility, or suitability for safety-critical applications.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support