r/computervision • • 6h ago

Help: Project Asking opinions on my final-year project about PPE non-compliance detection using YOLO

0 Upvotes

I'm a degree student and my project is basically about detecting factory workers who aren't wearing hard hat and safety vest. Then sends notification to a dedicated dashboard and Telegram to notify safety manager while simultaneously firing an on-site alarm to warn the worker. My supervisor agreed to accept this as my project, which is good, but personally I feel like this project is too cliche as a fyp. When I first thought of this idea, I've never heard of a factory using AI integrated CCTV cameras to monitor workers, so I was excited to develop it. I'm writing this post to ask for opinions from my fellow redditors so I can improve it and impress my supervisor as I can't think of any new features that would seperate my project from any existing products out there. Oh and how about cctv camera, is Tapo C210 a good model for my project? Thank you in advance ;)


r/computervision • • 6h ago

Help: Project Opinion on my final-year project about PPE non-compliance detection using YOLO

2 Upvotes

I'm a degree student and my project is basically about detecting factory workers who aren't wearing hard hat and safety vest. Then sends notification to a dedicated dashboard and Telegram to notify safety manager while simultaneously firing an on-site alarm to warn the worker. My supervisor agreed to accept this as my project, which is good, but personally I feel like this project is too cliche as a fyp. When I first thought of this idea, I've never heard of a factory using AI integrated CCTV cameras to monitor workers, so I was excited to develop it. I'm writing this post to ask for opinions from my fellow redditors so I can improve it and impress my supervisor as I can't think of any new features that would seperate my project from any existing products out there. Thank you in advance ;)


r/computervision • • 8h ago

Discussion Resources for learning SLAM/visual-SLAM

3 Upvotes

Hello everyone,

I have a few edge devices (including Nvidia Orin Nano) and am interested in SLAM (visual-SLAM). I want to do some experiments, but I don't have any experience with SLAM. What are the best resources for beginners? Maybe some courses, textbooks, articles, or research papers?


r/computervision • • 8h ago

Discussion Training-Free Sparse Attention forVideo Generation and World Models

Thumbnail
1 Upvotes

r/computervision • • 9h ago

Commercial Profiling a YOLOv12s video pipeline: preprocessing nearly matches inference time

2 Upvotes

Disclosure: I’m Philip, with SingNova. These measurements and implementation details come from a colleague on our engineering team. This text was drafted with AI assistance. I’m sharing their profiling notes and will relay technical questions to them, then share their confirmed answers here.

In a browser-to-device object-detection demo, preprocessing takes 51.0–59.5 ms, while the worker’s inference stage takes 59.5–62.7 ms. Preprocessing, inference and postprocessing currently run serially. The useful question for us is how to break down the preprocessing measurement before deciding whether to reduce that work or overlap it with inference.

The demo also illustrates a measurement distinction: the output stream is configured at 25 FPS, but one run completed only about 7.5 new inferences per second. Those are different quantities, and neither establishes capture-to-display latency.

Setup and video path

  • Host CPU architecture: riscv64; model execution: a dedicated DFU accelerator, not the host CPU.
  • OS: openEuler 24.03 LTS-SP2, Linux 6.6.118+.
  • Runtime: 1.0.3, with a model-specific plugin and explicit cache synchronization.
  • Source video: 640×360 at 25 FPS.
  • Decode: FFmpeg software decoding. Hardware video decode is being developed separately and is not part of these measurements.
  • Model: YOLOv12s; input: 1×3×640×640, with BGR input for this setup.
  • Preprocessing: colorspace conversion, scaling and black letterbox padding.
  • Postprocessing: tensor decoding, confidence filtering, NMS and box rendering.

​

Browser → WebRTC/WHIP → ZLMediaKit → FFmpeg software decode
        → preprocessing → DFU inference → postprocessing/overlay
        → FFmpeg H.264 encode → RTSP → WebRTC/WHEP → browser

What the timers measure

We have two levels of instrumentation.

Inside the runtime, kernel_ms measures device execution. total_ms covers the inference call, including input/output copies and cache synchronization. The reported YOLOv12s averages are:

Runtime measurement Reported mean
Device execution: kernel_ms 46.45 ms
Complete runtime call: total_ms ~53 ms

One individual invocation is shown below. It is a sample, not the averages above:

[DFU_PROFILE] infer_id=977 status=ok
input_copy_ms=1.677 input_cache_clean_ms=0.263
kernel_ms=50.570 result_pre_read_ci_ms=0.095
output_copy_ms=1.043 result_post_read_ci_ms=0.114
total_ms=53.834
input_bytes=2457600 result_bytes=1411200

Separately, the worker reports pipeline-stage timings:

Pipeline measurement Reported range
preprocess_ms 51.0–59.5 ms
infer_ms 59.5–62.7 ms
post_ms 11.3–12.9 ms

infer_ms is the worker-level measurement, not an alias for kernel_ms. The runtime averages and pipeline ranges should be read separately. The worker-level inference timings are higher than the reported runtime-call mean, but these are different measurement scopes and summaries. We have not yet quantified or attributed the difference using paired per-invocation traces.

The preprocessing timer is aggregated. It does not yet separate colorspace conversion, scaling/padding, tensor preparation, copies or any waiting included in that scope. We cannot yet identify which operation dominates it.

Throughput, dropped frames and unmeasured latency

One run completed 977 inferences in 130 seconds, approximately 7.5 new inferences per second.

The source is capped at 25 FPS. When processing cannot keep up, the current implementation drops older input frames; the engineering notes report approximately 69% input frames dropped in the YOLOv12s test.

Output video remains configured at 25 FPS and can repeat the last detection result between inferences. A smooth output stream therefore does not imply a new detection result for every frame.

Model-switch initialization is recorded separately: the first YOLOv12s pipeline invocation was 1459.9 ms, versus approximately 60–61 ms in steady state. Those invocation figures are not whole-pipeline or capture-to-display latency.

Capture-to-display latency has not been measured. We do not currently have frame IDs connecting browser capture with the returned result. The figures above describe processing time and throughput, not end-to-end latency or frame age at display.

Questions for people profiling similar vision pipelines

  1. Where would you place additional trace points? How would you separate FFmpeg/filter work, scaling/padding, tensor preparation and copies, especially when a stage timer might include waiting for a frame or buffer?
  2. What evidence would make you prioritize reducing preprocessing work versus overlapping preprocessing and inference? The current three-stage worker is serial, and input buffers are explicitly synchronized before device execution. How would you measure the opportunity while checking buffer ownership and safe reuse?
  3. How do you preserve frame identity through a latest-frame/drop-old pipeline? I’m interested in approaches that let you measure frame age at display without assuming synchronized browser and device clocks.

Specific profiling methods or examples from comparable pipelines would be useful. These are measurements from one implementation on one engineering unit, not a comparison across devices or a general claim about RISC-V performance.


r/computervision • • 13h ago

Discussion An open science challenge to solve the puzzle of the flashes on 1950s Palomar glass plates

Thumbnail
researchhub.com
3 Upvotes

Guys, I came across an open research challenge that is primarily an image analysis problem and I think it could be of interest to many of you.

Astronomers re-examining scanned glass photographic plates from the 1950s Palomar Sky Survey have reported thousands of short-lived point sources that look like stars but don't appear on images of the same field taken before or after (Solano et al. 2022). The debate is whether they are real flashes of light or emulsion defects, dust and scanning artifacts, which makes it a classification problem on noisy, decades-old images.

The challenge asks teams or individuals to run this kind of search on plates from observatories other than Palomar, taken before October 1957. You pre-register how you define a detection, your sample and your controls before touching the data, and you register a checksum of your detection list before analysis. A null result counts the same as a positive one, and code and detection lists have to be released openly.

The challenge provides a reference detection pipeline on GitHub and a public sample of the Palomar detections to train or validate against and is open to independent researchers as well as university teams.

Prizes for the top three teams/individuals are $75k, $50k and $25k, respectively.

I think I'll take a stab at it.


r/computervision • • 16h ago

Showcase Nov 5 - Visual AI in Agriculture Meetup

4 Upvotes

Join us on Nov 5 for the Visual AI in Agriculture virtual Meetup! Register for the Zoom.

Talks will include:

  • U-Net Framework for Micro-Scale Surface Damage Segmentation in High-Resolution Soybean Seed Imagery - Saurav Upadhyaya at Louisiana State University
  • From camera to drone: wildfire detection and integration at the edge - Maxime Carriere at kernwerk
  • 5,000 Flights to Answer One Question: Can a Drone Sample as Well as a Human? - Rohan Talwadia at LabGPT

r/computervision • • 18h ago

Discussion My depth model finds the person and loses the world — what breaks first on mirrors?

Thumbnail
gallery
0 Upvotes

Left is the photo, right is Depth Anything's depth map. Same performer in a faceted mirror suit, shot outdoors in uncontrolled light — LA River concrete channel, under a bridge, desert hillside, hilltop at sunset.

The model finds the person in all four. Everything behind him is where it falls apart: the river and concrete wall flatten into a gradient, the bridge scene gets a black void where sky should be, the hillside turns flat and the suit collapses into a blob, the mountains become a flat black wall.

So the question for people who actually run these models: is this a specular problem, a background problem, or both? What breaks first in your stack — highlight blowout, or the geometry behind the reflection?

I shot the full set for exactly this failure mode. Details in the first comment.


r/computervision • • 19h ago

Showcase Using robot-arm motion to calibrate a wrist camera and a DIY iToF + RGB rig

Post image
1 Upvotes

I used a RealMan ECO65’s motion to calibrate an iPhone on its wrist and a fixed 320×240 iToF sensor in my home lab.

For the wrist camera, feature matches across 26 poses gave 9,456 triangulated points and roughly 2 px median reprojection error. For the iToF sensor, I averaged 10 frames per pose, isolated pixels changed by the moving arm, and fitted those points to the robot mesh with ICP. The median fit residual was 7 mm; independent accuracy still needs checking.

The recorded RGB, depth, IR and joint streams replay together in the office twin. Phone-estimated depth is the weak part: only 6/20 frames passed the held-out check. The room splat is static.

EP20, with the setup and failures: https://www.youtube.com/watch?v=HMC7yu18qdQ

I made the video. The experiment footage is real; narration uses my own AI voice clone and the thumbnail is AI-edited from my hardware photo and room scan.


r/computervision • • 19h ago

Showcase CropPulse – A standalone Python CV engine for pre-visual plant stress detection.

2 Upvotes

Hey everyone!

Just built my first python engine as a 14 yo. It's a plant disease diagnostic engine designed to detect early-stage crop stress before any visual symptoms occurs.

Here's the repository https://github.com/adhrit1207/CropPulse

Would really like to have your thoughts on it.


r/computervision • • 20h ago

Commercial Turning a MIL-STD Table Into Structured HTML

Thumbnail
1 Upvotes

r/computervision • • 20h ago

Commercial Extracting a Research Table With Its Header Groups Intact

Thumbnail
1 Upvotes

r/computervision • • 21h ago

Discussion What the biggest challenge when starting a computer vision company?

0 Upvotes

What’s the real bottle neck when you start a company for enterprise level or any business?


r/computervision • • 22h ago

Discussion What to do when you’re a new grad CV engineer with 0 YOE but you’re the only CV engineer?

13 Upvotes

I’m thinking of supplementing my knowledge by watching talks and reading CV papers. I have no idea how to guide a CV research project to completion or what a CV engineer does first when they approach a problem. I’m trying to figure out how the engineering pipeline even works. Any advice?


r/computervision • • 1d ago

Research Publication I made an open-source Jev for object detection 👀

Enable HLS to view with audio, or disable this notification

174 Upvotes

TypeSafe recently added a Box question type to Jev: you describe something in an image in plain words and get back one bounding box with a confidence. It’s closed and API-only, so I built an open version: LOCUS (Locate Once, Check Until Settled).

The weights are open (2B and 0.8B) so you can run them on your own GPU

The problem: VLMs normally write a box out as text, one token at a time. That’s precise but slow, about 18 steps per box. A small regression head can predict the whole box in one pass, which is fast, but the edges come out loose.

The idea: use both. The head makes a quick draft, then the same model checks every draft token in parallel and fixes the ones it disagrees with, repeating until nothing changes. The final box is exactly what the model would have decoded on its own, in about 5.6 steps instead of 18.

Results (RefCOCO / RefCOCO+ / RefCOCOg):

  • Same weights, Acc@0.9 goes from 54.9 → 59.1 with verification
  • +4.52 Acc@0.9 over Jag (strongest open regression-head model) at the same size and training budget
  • 1.5x faster than vLLM decoding the exact same tokens

Use it on your own data: the released models are trained on RefCOCO, but you can fine-tune them on your own dataset (images, a description and a box for each). The repo covers full fine-tuning and LoRA, so a smaller GPU works too.

Limitations: a pure regression head is still faster, and since it’s trained only on RefCOCO it struggles with very small objects. Fine-tuning on your own domain is the fix there.

Not affiliated with TypeSafe. Since Jev’s Box is API-only, I couldn’t evaluate it under the same conditions, so all comparisons are against open models. Happy to answer questions.


r/computervision • • 1d ago

Help: Project I built a chakra detector for the new ESP-Mosaico (ESP32-S31): strike a singing bowl and the whole screen, plus your Hue lamps, takes its colour

Thumbnail
gallery
0 Upvotes

My mother runs a sound healing room, so I rebuilt my old ESP32-S3-BOX-3 chakra firmware as an app for Espressif's ESP-Mosaico (ESP32-S31, 2.16" 480 x 480 touch screen, microphone).

What it does:

* Hears a singing bowl, tuning fork or hummed tone and shows the chakra with symbol, note, frequency to 0.1 Hz and cents (a tuner ring fills as the tone settles)

* The whole screen fades to the chakra's colour, so it works without lamps; Philips Hue (local API), Home Assistant lights and WiZ bulbs follow

* Two reactions: Flow waits 0.4 s for a steady tone and fades softly (made for a sound journey), Strike reacts in 0.13 s

* Notes (A = 440 or 432 Hz), Solfeggio, or your own bowls: strike each of your seven bowls once and it learns them

How it decides it is a tone and not noise: a 4096-point FFT (3.9 Hz bins, the old firmware had 31 Hz), a weighted harmonic sum, then three gates: loud enough, 45 % of the energy on the tone's harmonics, pitch steady within 35 cents. Plus hysteresis at note boundaries so a bowl sitting between two notes does not flicker.

I tested it against free recordings from Wikimedia Commons: single bowls and tuning forks lock one chakra 77 to 99 % of the time; drums, shakers, rain sticks mostly give no colour; a handpan melody changes colour 3 times in Flow and 116 times in Strike. One honest finding: real bowls are often not tuned to C to B. In a 7-bowl chakra video the "root" bowl rings at G#3 (210 Hz), which is why learning your own bowls exists.

The detection is plain C with no dependencies, so the board, Espressif's simulator (fed by the Mac's microphone) and the host tests run the same code. My board is still on order, so it is simulator-tested and builds for the ESP32-S31, but untested on hardware.

Open source (Apache-2.0): https://github.com/leopardcodeai/chakra-detection

Happy to hear from anyone who plays bowls: does your set match C to B, or would you learn it?

Built on Espressif's esp-mosaico-vibe workspace and ESP-GSP simulator; test recordings from Wikimedia Commons (free licences), not shipped in the repo.


r/computervision • • 1d ago

Showcase AI Engineer looking for remote opportunities | Computer Vision, Gen AI & ML

0 Upvotes

Hi everyone!

I’m an AI Engineer with hands-on experience building and deploying AI products, and I’m currently looking for remote AI Engineer / Machine Learning Engineer opportunities.

My experience includes:
1. Computer Vision: Object detection, ball and player tracking, pose estimation, and real-time sports video analytics.
2. Generative AI: LLMs, RAG, embeddings, vector search, and multimodal AI applications.
3. Machine Learning: Model training, evaluation, predictive modelling, and optimisation algorithms.
4.Production AI: Python, PyTorch, TensorFlow, Docker, CI/CD, GPU inference optimisation, and API integration.
5.AI Product Development: Building end-to-end solutions, from data collection and model development to deployment and real-world use.
I’ve worked on AI products in sports analytics, fashion technology, and AdTech.

I’m passionate about solving real-world problems with AI and would love to join a team where I can contribute, learn, and grow as an engineer.

I’m open to remote full-time roles, contract work, and freelance projects.


r/computervision • • 1d ago

Help: Project Location EXIF data of Image - Marking at Pixel Level.

Thumbnail
gallery
0 Upvotes

Spread-spectrum mark: chroma + luma tiles, pilot tiles, Viterbi + CRC. 0 wrong values, 0 false alarms in our 480-copy benchmark; failures (fog, night, B&W + crop) are in the README.

https://github.com/thevijayparmar/Ghostmark-Image


r/computervision • • 1d ago

Discussion DeepLarning algorithm Vs Keyence, Cognex, Zebra, ...

9 Upvotes

Can someone tell me in detail the difference between CNNs and the software from the sensors from Keyence, Cognex, Zebra. I can't imagine that it's really "AI" what they are using with like no computing power in their tiny edge devices. Can someone explain it to me? Are there approaches to use open source for industry? Thanks!


r/computervision • • 1d ago

Discussion Slimmed Fruit Inspector 0.10.0 Windows demo — smaller exe, CPU-only 7z, trig included

1 Upvotes

I cleaned up what we ship for the open eval demo (fruit conveyor inspection — grading only in centre cell C, not full-frame chase).

What changed:

- Release build tuned for size (opt=size, x86-64-v3) -Fruit_Inspector.exe is about 3.8 MB now (was ~5.8 MB on the old drop).

- Public archive Fruit_Inspector_DLL.7z is ~14 MB unpacked tree - CPU ONNX Runtime only in lib/cpu/ (plus bundled MSVC CRT there, no separate VC++ installer for the operator).

- Not in the default demo zip: lib/cuda/, lib/openvino/ - bring your own if you switch EP; default settings.json stays cpu.

- Still in the zip: Fruit_Inspector.exe, trig.exe(TCP client for GOOD / BAD+apple id), three inference DLLs, apple models, licenses.

Unchanged product logic:

- 3×3 grid, stable IDs, Cat/LightGBM only when focus is in C.

- Nim shell+ORT in DLLs -same architecture as before, just less junk around it

Download (eval,non-commercial):

https://github.com/olesha-ai/fruit-inspector-demo

Release 0.10.0 - Fruit_Inspector_DLL.7z.

Linux zip on the same release is unchanged from the earlier port.

If you unpack and run on Win64 CPU - curious if anything breaks vs the old fat bundle.

Best regards

olesha-ai


r/computervision • • 1d ago

Showcase Text axes for embedding plots: visualize your dataset by concepts like “night ↔ day” (oss, apache 2.0)

Enable HLS to view with audio, or disable this notification

19 Upvotes

Hey all, I work on LightlyStudio, an open-source tool for looking through and curating CV datasets.

Embedding plots always bugged me a bit. You get nice clusters, but the x and y axes don’t actually mean anything. So we added text axes: you type a word or phrase for each end of the two axes and the points get placed by how well they match. Put “night” and “day” on x and “indoors” and “outdoors” on y, and you get four quadrants you can actually read. Then you can lasso a corner and see what’s in there.

By default it uses MobileCLIP for images and Perception Encoder for video, but it works well with other multimodal embeddings like Gemma too. You can bring your own.

It’s Apache 2.0. It’s still pretty fresh, so any feedback is really appreciated, good or bad.


r/computervision • • 1d ago

Research Publication 🚀 Jev-style decisions for IMAGES are here: Fovea-4B, an open 4B model leading on ImageJev tasks (Apache-2.0)

Thumbnail
2 Upvotes

r/computervision • • 1d ago

Discussion Running face analysis fully on-device

0 Upvotes

I built a face shape detector and decided early that nothing would leave the phone. 468 point mapping, all local, no account.

Few things that surprised me. Lighting and camera angle shift the result more than the model itself does, so most of my work went into handling that rather than accuracy. Also most faces sit between two shapes, a single clean label like "oval" is usually wrong, people respond better to a blended answer.

If anyone else is doing on-device vision work, curious how you handle the angle problem.

\[https://play.google.com/store/apps/details?id=com.ai.face.shape.detector.meface\\\]


r/computervision • • 1d ago

Showcase A Blender extension for no-code generation of synthetic thermography and CV datasets

61 Upvotes

Hi!

Some time ago I showcased here Rendersynth, a Blender extension to generate synthetic computer vision datasets without writing Blender Python scripts.

I received some useful feedback so I thought I'd share a small update on the project:

  • Synthetic thermography: I've been working on IR-synth, a separate Blender add-on for generating synthetic thermal imagery from temperature fields and radiance models.
  • Pixel semantic segmentation: Replaced the previous approach with pixel-level segmentation masks with cryptomatte.
  • Quality of life improvements for the other formats (normal maps, depth maps, point clouds, keypoints, bounding boxes, ...)

Source code for both modules is available at:

For the main body: https://github.com/lorenzozanizz/rendersynth
For thermography: https://github.com/lorenzozanizz/ir-synth

The goal is still to make synthetic dataset generation accessible for smaller CV projects, without having to build and maintain custom Blender Python pipelines.

I plan to integrate the two projects into a single suite and write hooks for external frameworks like Blenderproc. If you feel like trying it (Blender 4.5.0+) expect to find some nasty bugs, since its still a prototype.

Any suggestions or criticism are welcome! Especially if you have any feedback or advice on the synthetic thermography component it would be greatly appreciated!

Thank you for you attention!

As a side note, for the demonstration I used free models from SketchFab, 3DAI, CGTrader


r/computervision • • 1d ago

Discussion Got an OCR or table-extraction example that still breaks your tools?

0 Upvotes

We're collecting difficult document pages for regression tests, especially cases where the output looks plausible but a number, row or label is wrong.

One of ours is this receipt. It has six product and packaging rows, plus discounts below three of them. An LLM returned nine item records by treating the discounts as extra products. Our schema had no separate discount field and asked for every line item/product, so the instructions left that interpretation open.

Source: NAVER CLOVA's CORD-v2 dataset, CC BY 4.0, image unchanged.

What image or document do you keep around because OCR or layout extraction repeatedly gets it wrong? Handwritten corrections, faint punctuation and wrapped table rows are a few examples we'd like to test.

Public links or redacted snippets would be useful. Include the line, row or field you wanted, what the output should be, and what went wrong. The reader/model and preprocessing settings help too, if you have them. It doesn't need to be a whole dataset.