r/computervision • • 7m ago

Showcase Single-camera padel analysis with RF-DETR, TrackNet V3 and audio–visual hit detection

Enable HLS to view with audio, or disable this notification

• Upvotes

I’m building PadelOptic to analyse padel footage from a single camera. The video shows match analysis followed by individual stroke analysis.

The match pipeline uses:

• RF-DETR Nano for player and racket detection, with shirt colour and court side used to maintain player identities.
• TrackNet V3 for ball tracking, fine-tuned on padel footage using labels filtered by confidence and motion consistency.
• Homography and 3D court geometry to map positions onto the court and filter out-of-court detections.
• Racket-contact audio matched with ball and player positions to detect hits.

In an initial evaluation on professional match footage, hitter identification reached 91% accuracy.

The coach mode uses MediaPipe Pose Full to measure elbow angle, contact height, trunk rotation, knee bend and follow-through. Its browser demo processes video locally, with GPU acceleration where supported.

For the match footage, I marked the court corners manually; tracking and analysis outputs have no manual corrections. Displayed speeds are court-plane lower-bound estimates, not reconstructed 3D ball speeds.

I’d appreciate feedback on the approach, especially from anyone working with small-object tracking. What has helped you handle occlusion and glass reflections across different camera setups?

Demo: https://padeloptic.com

I’d love to hear your feedback and ideas for improving it.

Footage: Pro Padel League (PPL), The City’s Cup 2025 broadcast; “Forehand volleys on point” by padelexpress.


r/computervision • • 29m ago

Discussion Is there a good way to automatically skip unwanted

• Upvotes

​

I've been thinking about a problem that seems surprisingly difficult to solve well.

Sometimes, you want to watch a movie or TV show for its story, characters, and cinematography, but certain scenes are not something you want to watch. It could be sexual content, graphic violence, gore, or other types of scenes you'd prefer to avoid.

The problem is that manually skipping these scenes is inconvenient, and traditional content ratings or parental controls usually don't provide enough control over individual scenes.

Ideally, imagine a system that could:

- Analyze a video and detect specific types of scenes using AI.

- Let users choose exactly what they want to skip, rather than applying one generic filter.

- Automatically skip the relevant portions while preserving the surrounding dialogue and storyline.

- Work with different movies and shows without requiring someone to manually create timestamps for every video.

The technical challenge seems to be balancing detection accuracy with timing. A system that skips too early, too late, or misses context could ruin the viewing experience. False positives could be just as frustrating as missed scenes.

I'm curious about a few things:

  1. Would you actually use something like this, or is manually skipping scenes good enough?

  2. Which approach seems most practical: analyzing the video before playback, detecting scenes in real time, or using a hybrid approach?

  3. Would frame-based AI models be sufficient, or would temporal/context-aware models be necessary to understand what's happening across a scene?

  4. How would you handle scene boundaries so that dialogue and important parts of the story aren't accidentally cut?

  5. Do you know of any existing tools that solve this problem well?

I'm particularly interested in both the technical side and the user experience. I'd love to hear your thoughts, alternative approaches, or experiences with existing solutions.


r/computervision • • 32m ago

Discussion What is the main constraint holding back local edge AI deployment?

Thumbnail
• Upvotes

r/computervision • • 1h ago

Discussion CaptionExam: A Challenging QA Benchmark for Captioners

Thumbnail
ki-seki.github.io
• Upvotes

r/computervision • • 1h ago

Showcase I am building a $67 camera module that does SLAM and VPS onboard

Enable HLS to view with audio, or disable this notification

• Upvotes

Mighty is a SLAM module which helps robots and drones navigate indoors and at low altitudes, but SLAM generally struggles once a drone flies too high.

I’m now working on a VPS mode that uses onboard maps to localize using just the camera, without GPS.

The crazy part? All of this runs on a $67 module.


r/computervision • • 2h ago

Help: Project Video to 3D

1 Upvotes

I am trying to build something in my website I want to make user able to record his room or apartment and then make it 3D with calce it's area but real view. which models I could use ?


r/computervision • • 4h ago

Showcase I trained a 260M vision model that beats a ~15x larger zero-shot model on screenshots (0.828 vs 0.731) and built a Papers-Please-style booth where it refuses to answer below its gate

2 Upvotes

Repo, weights and a playable demo at the bottom. Everything trained on free Kaggle T4s.

MK-SH-V is a visual decision model. It takes an image, a question with options, and returns calibrated probabilities, a choice, and a refusal when confidence sits below a gate frozen in advance.

Held-out real numbers

test MK-SH-V 260M jev-vlm-4b zero-shot
all real 0.807 0.785
screenshots 0.828 0.731
receipts 0.734 0.972

It wins overall and on screenshots, loses receipts badly. The gate answers 98.6% of the held-out synthetic set with a CP95 selective-risk bound of 4.1%. Out of distribution it says so, real receipts risk runs around 25%.

The demo is a Papers Please style border booth set in 1974. Travelers claim firms, the model reads their papers, and every check in the game is one the checkpoint actually measured. Below tau 0.55 it refuses to advise and routes the file to you, which happens on documents like a 5,250.00 invoice sitting at p 0.536. You can also take a bribe, it goes about as well as you would expect.

Honesty section, the part I care most about

  • Two experiments after the released checkpoint both missed their gates. The weights are unchanged.
  • On general VQA boards the model measures at chance. It is a decision model for a narrow contract, not a chat VLM.
  • Synthetic training data hurt real transfer until I mixed real screenshots in. Details in the run logs.

Links

Happy to answer training questions. It is two T4s and a lot of frozen criteria.


r/computervision • • 14h 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 • • 14h ago

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

1 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 • • 16h ago

Discussion Resources for learning SLAM/visual-SLAM

7 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 • • 16h ago

Discussion Training-Free Sparse Attention forVideo Generation and World Models

Thumbnail
1 Upvotes

r/computervision • • 17h 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 • • 21h 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 • • 1d ago

Showcase Nov 5 - Visual AI in Agriculture Meetup

5 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 • • 1d 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 • • 1d ago

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

Post image
0 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 • • 1d ago

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

3 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 • • 1d ago

Commercial Turning a MIL-STD Table Into Structured HTML

Thumbnail
1 Upvotes

r/computervision • • 1d ago

Commercial Extracting a Research Table With Its Header Groups Intact

Thumbnail
1 Upvotes

r/computervision • • 1d 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 • • 1d ago

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

18 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

186 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