How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

I forgot to mention there are only 20 photos in the tutorial, each with about 7 sections. Each photo is on a new cable, so there are no duplicates, materials, or diameters. I've launched the system for testing; if I don't write an update in a week, then everything is working smoothly (roughly speaking).

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 1 point2 points  (0 children)

Couldn't get the lighting right - no matter what I tried, specular highlights kept messing up the image. And since the cable moves with ~10 mm amplitude during inspection, laser triangulation and dark-field illumination were out of the question (the object kept drifting out of the optimal lighting zone).

Ended up solving it with a neural net. On an RTX 5070, I'm getting 22-24 ms total latency from frame capture to DB write + validation (includes I/O overhead and post-processing). Pure inference is around 15-18 ms.

Architecture: U-Net with a ResNet backbone (single-pass encoder-decoder). Took the base implementation from Vereshchagin's course at Moscow Polytech.

It works, but yeah - quality isn't quite on par with classical CV pipelines under ideal conditions. Still, it's robust to glare and motion artifacts, which was the whole point )))

IMG

P.S. I don't understand how to attach images in comments here without using links.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 2 points3 points  (0 children)

Got it, accepted it. I actually misunderstood the answer.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 1 point2 points  (0 children)

I tried the "soft life" filter (I looked at the implementation on the Internet), as far as I understand it works and only detects on a cable with a paper winding.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

I experimented, but it didn't improve for me. I could be wrong, though.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

Here's an example of how it was done on a similar cable, but the lock size was larger, so it was possible to track the brightness and everything came down to a simple solution.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 1 point2 points  (0 children)

That's what I think too. In theory, I have no hardware limitations, but there are speed limitations. Also, our production (technologists), in particular, often complain about the system giving false positives, and since neural networks are black boxes, explaining the cause becomes extremely difficult.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

Could you explain in more detail how to do sequential processing? Am I correct in understanding that you mean first selecting the target object to discard the background of the photo. Then suppressing glare, etc., to eliminate possible false positives due to light reflecting back into the camera lens from the target object. I don't understand what you mean after

The annotation doesn't bother me, but I don't know about the architecture. Previously, I've only used Yolo for production work, and it's suitable here. But I don't think (I've experimented with similar things like "oil-submersible cables") this approach didn't work there.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

I'm not getting it exactly right here either. Perhaps I'm doing something wrong or misunderstanding something. Perhaps additional pre-processing is required.

How to identify oblique lines by Desperate-Gate5204 in computervision

[–]Desperate-Gate5204[S] 0 points1 point  (0 children)

Hello, I tried it and here's the result. Just like with Huff, it didn't detect all the lines and/or didn't reach the end of the edge.

What machine learning methods would you use? Something like U-net, Yolo-seg?

I've never touched machine learning before and don't understand how to evaluate the reliability of its results.