Surface Defect Inspection

Goes over the steel strip surface frame by frame and calls it on the spot.

Steel surface defect inspection that runs on the edge device: a fixed camera on the strip or the part, one OK/NG verdict per frame, delivered to the PLC and to the MES at the same time. Runs on a reComputer J30 / J40 (Orin) or on a reComputer R2000 Series with the Hailo-8 option (R2035-12).

SenseCraftAdvanced40minVision & Video AI

Two frames of rolled steel strip with the defects boxed. Left — four long inclusions down the strip, each blue box carrying its score against the thin white labelled box. Right — a pitted surface, where the flaw spreads across the sheet instead of sitting in one place

reComputer J40 series (Jetson Orin NX 16GB) — the device this solution's numbers were measured on

Reusable Site Templates

Lines where the mount is fixed, the light is steady, and the defect covers enough pixels.

Strip and coil surface checks

Strip and coil surface checks

Cold-mill exits, inspection tables after the slitter. The verdict drives a reject or marking station.

Retrofitting a PLC line

Retrofitting a PLC line

Older lines that already have reject cylinders and alarm lamps. The verdict lands on a Modbus coil the PLC reads.

Data collection before go-live

Data collection before go-live

Trial runs on a new line. Record the line first, set thresholds and classes second.

Not a fit: cameras that move or get refocused, and stations where lighting varies. Accuracy differs sharply by defect class, so check the classes you care about first.

How it works

A fixed camera captures the frame, an inspection host makes the call (reComputer J30 / J40 Series, or reComputer R2000 Series with the Hailo-8 option), and the result goes to the PLC and MES you already run.

Surface inspection device composition: a fixed line camera feeds an inspection host over RTSP; the host is either a reComputer J30 / J40 (Orin) or a reComputer R2000 Series (R2035-12, Hailo-8), and the verdict leaves over Modbus TCP to the PLC, MQTT to the MES and HTTP to a local preview page

Three things per line: a fixed camera that produces the picture, one host that runs the detector and the OK/NG rule, and whatever consumes the verdict. Detection, the verdict rule, the MQTT broker, the Modbus TCP server and the commissioning page all sit on that one host — no image and no frame data leaves the line.

Line Camera

Any RTSP camera pointed at the strip or the part works. What the design constrains is the framing and the light, not the camera model.

  • The defect fills a meaningful part of the frame. All figures come from 640×640 frames; a wide shot where a scratch is a few pixels across is a different problem.
  • Lighting stays stable. The model has only seen one dataset's illumination; a new lamp, angle or surface finish is new to it.
  • The mount is fixed. The framing must not change during a run.

The measured input was a synthetic video at 10 FPS, not a camera stream, so load-test with your own source before settling on a stream count.

How well it works

What shows up on the screen beside the line once it is running.

Live view with defect boxes

  • Defect position, class and score drawn on screen
  • Top bar states the exact reason for an NG call

Every frame on the record

  • Per-frame record: verdict, defect count, latency
  • Defect class is the model's raw label, not re-bucketed
Measured results

An engineering benchmark on a public dataset; the dataset licence is still being confirmed.

What the line getsTypicalDevice
Frame captured to the verdict on the Modbus coil9.3 ms P50 (9.5 ms P99)reComputer J40 Series (J4012, Orin NX 16GB)
Defect detection accuracy (mAP50)0.7577reComputer J40 / J30 Series
Precision and recall at the deployed thresholdP 0.765 / R 0.697reComputer J40 Series
Streams one host carries at a 10 FPS line rate8reComputer J40 Series

reComputer J30 Series measures 10.56 ms P50 on the same path; reComputer R2000 Series with the Hailo-8 option measures 11.61 ms P50 and 0.7091 mAP50.

Accuracy differs by defect class: scratches 0.97, crazing 0.36. Check the classes you care about before sizing a line on the overall figure.

Every validation image carries a defect, so measure the clean-strip false-alarm rate on your own line images. For per-device latency, multi-stream throughput and benchmark matrices, see Engineering Wiki · Surface Defect Inspection.

What you get out of it

Once deployed, these three interfaces are the whole contract.

TypeWhereContent
Modbus TCPport 502, unit 1, Coil 0/1 + HR 0–7Coil 0 = NG, Coil 1 = OK. HR 0 primary defect class, HR 1 defect count, HR 2–5 primary box ×10000, HR 6–7 heartbeat seconds
MQTTport 1883, <device-name>/inspection/<stream-id>/resultsOne JSON message per frame: verdict, reason, defect count, primary class, timings and every box with class, score and position
HTTPport 8080, /preview.mjpg /healthz /events /snapshot.jpgRead-only commissioning page: live preview with boxes, health counters, recent verdicts

Registers are written before the coil, so a PLC that triggers on the coil reads the matching frame; with several streams on one host, Modbus carries the latest verdict only and per-stream results come from MQTT. Device name and stream id are set in the deploy step, so several lines share one broker. Box numbering is per frame and does not follow a defect across frames, and the optional anomaly score is a separate field that never changes the verdict.

Porting It to Your Own System

The reusable unit is not "six classes of steel defect" — it is the chain camera → detector → OK/NG rule → Modbus + MQTT + commissioning page. Only the detector's classes and weights are bound to a product; everything downstream carries over.

LayerWhat porting costs you
Camera framing and lighting rules, the fixed-view requirementreuse as-is
Both runtimes (TensorRT on Orin, INT8 on Hailo-8) and model deliveryreuse as-is
Shared post-processing behind every detectorreuse as-is
OK/NG rule and score thresholdretune, do not rewrite
Modbus register map, MQTT topics and message checksreuse as-is
Optional anomaly channelreuse as-is; recalibrate on your own OK images
Detector classes and weightsretrain on your own images

Fits: surface defects on strip, sheet or parts where a PLC acts on an OK/NG signal within the line rate.

Where this shape does not fit

  • A customer-facing deployment today. Until the dataset licence is confirmed, the weights, compiled models and overlays cannot be used in customer deliverables.
  • Defects with no stable visual signature at 640² input. Crazing scores AP50 0.30–0.36 on all three detectors; it needs higher resolution or a different sensor.
  • A measured false-alarm rate up front. Every validation image carries a defect, so this data says nothing about clean strip.

How to deploy

Tell us about your site — we work out the hardware, then you connect the data and follow the steps.

Camera Streams

How many camera streams on one host? One line position is one camera stream. Capacity was measured on an Orin NX 16GB only, at 640² and 10 FPS per stream.

Or compare them yourself: preset specificationsDeployment Guide · 40min →
SetupRoleDeviceQty
IP Camera + reComputer J30 / J40 (Orin)Inspection HostreComputer J40 Series (Jetson Orin NX) / reComputer J30 Series (Jetson Orin Nano)(either one)1
IP CameraIP Camera1
IP Camera + reComputer R2000 (Hailo-8)Inspection HostreComputer Industrial R20 Series1
IP CameraIP Camera1
PresetVideo sourceInspection hostModel delivery
IP Camera + reComputer J30 / J40 (Orin)Your own RTSP camerareComputer J40 (Orin NX 16GB) or J30 (Orin Nano 8GB)Built on the device at first deploy, 291 s measured on Orin NX 16GB
IP Camera + reComputer R2000 Series (R2035-12, Hailo-8)Your own RTSP camerareComputer R2000 Series with the Hailo-8 accelerator option (R2035-12)Compiled off-device and downloaded at deploy time
  • Both presets run the same OK/NG rule and the same outputs.
  • The Orin preset is where every figure in the results table was measured, and the only one that offers the two alternative detectors.
  • Difficulty is rated advanced; budget about 40 minutes for a first deployment, longer on Orin because of the engine build.

FAQ

Not until the dataset licence is confirmed. The detector is trained on a re-hosted copy of NEU-DET whose permission chain from the original authors is still being checked. Until then, the weights, compiled models and detection overlays cannot be used in customer deliverables.

Didn't find your answer?
Contact Us
We Are Glad to Be Your Hardware Partner !
Next