r/computervision 4h ago

Discussion World Labs' new Atlas model: Space-time simulation, "bullet time" from 3 cell phones, and scalable Real-to-Sim

Enable HLS to view with audio, or disable this notification

162 Upvotes

World Labs just revealed their new omni world model, Atlas, and the space-time simulation features look like a massive leap for novel view synthesis and robotics training.

A few standout technical claims from their space-time simulation drop:

  • Sparse-View "Bullet Time": They are generating frozen-time, free-camera multiview fly-throughs using footage from as few as three to five ordinary cell phones. No calibrated camera arrays, green screens, or professional capture studios are required to reframe the shots.
  • Generative Real-to-Sim: For robotics, it doesn't just reconstruct a static 3D environment. As a simulated robot moves through the space, Atlas actively generates the RGB and depth data the robot's body-mounted cameras would observe along that specific trajectory.
  • Physical Interactions: From casual real-world recordings, the model aids in building simulations that capture how objects move and interact. It supports rigid, articulated, and deformable objects, allowing users to dynamically alter lighting, backgrounds, and object positions to generate diverse robotic training data.
  • Under the Hood: It’s built as a multimodal autoregressive diffusion transformer. Unlike models that rely on coarse text prompting for camera movement, Atlas uses precise camera geometry as a native input to ground everything in a shared "spatial context."

r/computervision 6h ago

Showcase ~6 months of counting strikes in sparring I recorded.. Still coming along.. Still in the loop but hope to get it accurate without me eventually..

38 Upvotes

r/computervision 16h ago

Showcase Javelin Throw Analysis with YOLO11

Enable HLS to view with audio, or disable this notification

135 Upvotes

Built a javelin throw analysis pipeline using YOLO11 OBB and pose estimationI developed a computer-vision system that combines a custom-trained YOLO11s-OBB model, YOLO11 Pose, OpenCV, ByteTrack, and BoT-SORT to analyze javelin throws from broadcast footage.

It detects and tracks the javelin, identifies the athlete’s throwing arm, calculates a smoothed elbow angle, recognizes throw phases, and draws the post-release trajectory.

The main challenges included motion blur, false detections, tracking-ID changes, camera movement, missed detections, and selecting the correct athlete.

GitHub:https://github.com/chahmadraza89/computer_vision


r/computervision 18h ago

Help: Project Need advice for a monocular box dimensioning pipeline. High reprojection error (1.8px) with iPhone ChAruCo calibration.

Thumbnail
gallery
28 Upvotes

I’m trying to calibrate my iPhone camera using a ChAruCo board. Even though I’m familiar with the concepts, this is my first time actually implementing them. I’ve already built a pipeline and ran the calibration using nearly 40 photos of the ChAruCo board taken from various angles. However, I can’t get my reprojection error below 1.8px, which is way above the recommended 0.3–0.5px range. I'm not sure if the issue lies with the pipeline itself or the photos I took.

My end goal is to build a monocular pipeline to measure the L x W x H of cardboard boxes for a delivery company. The measurements are taken in a controlled environment: boxes are always placed on a fixed surface with ChAruCo markers laid out for reference, and the pictures taken of the boxes will always show three sides. I have already built the box segmentation (using a SAM base model) and the box skeleton-building pipeline (using OpenCV) which is working fine. Right now, I'm achieving an accuracy ranging from ~2 cm to ~15 cm (some are hits, and some are misses). I need to improve this consistency, and I suspect camera calibration is the biggest contributing factor. My target accuracy is ~2 to ~5 cm (that’s the absolute ceiling, but the lower, the better).

And also other than the calibration issue, I need some advice on how to arrange the box placement surface. How should the ChAruCo marker be oriented? Should I place multiple ChAruCo markers on it? For context, this surface is the physical scale where they weigh the boxes. The basic requirement is that a photo of the box is taken from a handheld device (like a mobile phone), and the system calculates the dimensions. I'm currently trying this on my iphone 17 but the actual device will be much worse than it. But first I need a working pipeline.

Refer to the calibration code here - https://drive.google.com/file/d/1UI95GfYpjCB84QIEAWv5XFApzdLXuAZE/view?usp=sharing


r/computervision 12h ago

Help: Project Where can I buy an IP67 GigE/PoE camera with Sony IMX462 sensor in India?

Post image
7 Upvotes

Hi everyone,

I am looking to buy 1–2 units of an industrial camera for a project in Bengaluru, India.

My preferred camera is e-con Systems RouteCAM_CU20 with the Sony STARVIS IMX462 sensor. I need the rugged/outdoor version, ideally with an IP67-rated enclosure.

Required specifications:
- Sony IMX462 or a similar ultra-low-light / NIR-sensitive sensor
- 1920 × 1080 / around 2 MP
- GigE Vision / Ethernet interface
- PoE preferred
- IP67-rated enclosure for outdoor or dusty/wet use
- M12 lens mount or suitable fixed-lens option
- Availability and shipping to India
- Quantity: initially 1–2 units for evaluation

I found the RouteCAM_CU20, but the e-con Systems store does not ship this configuration to India. I understand that the IP67 CU20 may be a custom configuration rather than a normal web-store SKU.

Does anyone know:
1. An Indian e-con Systems distributor or reseller who can supply it?
2. A reliable supplier that ships this or an equivalent camera to India?
3. An alternative IP67 PoE GigE camera with similar IMX462 low-light/NIR performance?

I need an actual purchasable source, not only a datasheet or manufacturer contacts

Thanks.


r/computervision 9h ago

Research Publication SAMannot: a memory-efficient, local, open-source SAM2 tool for video annotation

4 Upvotes

Hi Everyone,

I’d like to introduce SAMannot, an open-source tool we developed for efficient, interactive video instance segmentation and annotation using Meta’s Segment Anything Model 2 (SAM2).

SAMannot was designed for research workflows where accurate pixel-level video annotations are needed, but fully manual annotation is too time-consuming. It runs locally, so videos do not need to be uploaded to a cloud service, and it uses a memory-efficient workflow to make SAM2 practical for videos and limited GPU resources.

Some of the main features are:

  • SAM2-assisted interactive video segmentation with auto-propagation across frames
  • persistent object/instance identities
  • correction and refinement of propagated masks
  • block-based, efficient processing to keep CPU and GPU memory requirements manageable
  • automatic-prompt generation across blocks
  • export of segmentation masks in PNG and polygon formats (YOLO label format)
  • fully local and open-source

We originally developed and evaluated SAMannot in research workflows including animal behaviour videos, but the tool is intended to be general-purpose and may also be useful for other scientific video annotation tasks. We also evaluated it on subsets of the DAVIS and LVOS benchmarks.

Project page: https://samannot.github.io/
Paper: SAMannot: A Memory-Efficient, Local, Open-Source Framework for Interactive Video Instance Segmentation Based on SAM2 | Journal of Open Research Software

The code is released under the MIT license.

We would be very interested in any feedback.

Thanks,
Anna
on behalf of the SAMannot authors


r/computervision 3h ago

Showcase a dataset crossed my feed yesterday that ships two camera poses for every frame, on purpose, because they disagree

0 Upvotes

your 3D reconstruction pipeline treats its camera poses as ground truth. PIVOT ships two poses for every frame, and they disagree

5 real scenes, 103 drone trajectories, a shared sparse point cloud per scene, per-frame pose error precomputed. all of it captured by one independent researcher with a single DJI Mini 4 Pro on the grounds of an irish castle

i encoded every trajectory as an MCAP episode for fiftyone: scrub a flight and watch both camera frustums move through the same point cloud, with a line drawn between them showing exactly how far apart "where the drone said it was" and "where COLMAP thinks it was" are at every frame

load it in one line: https://huggingface.co/datasets/Voxel51/PIVOT-mcap

get hands-on without writing any code, it's running in a HF space: https://huggingface.co/spaces/harpreetsahota/PIVOT-mcap-explorer


r/computervision 6h ago

Help: Project YOLXO small/tiny - custom model training - false-positives - need advice

1 Upvotes

Hi,

I've been trying to train custom model (3 classes) for yolox small (416px) on my dataset and no matter what I try - I get too many false positives. Is there something very basic I'm missing? What could be the route to figure out why is so?

Trained with mixup, without mixup, with augmentations, little augmentations, added more backgrounds (even those that cause false positives), trained for 100 epochs, 300 epochs, exact official config used.

Dataset is of mostly coco images (person, truck/car-vehicle) and drones. Checked added images/bboxes/etc.

here's my dataset data
train (instances_train2017.json)

Images: 43803

Background images: 1985

Images per class:

drone: 7758

person: 24103

vehicle: 19772

val (instances_val2017.json)

Images: 4831

Background images: 192

Images per class:

drone: 1066

person: 2159

vehicle: 2431

Still can't figure out why it tends to give so much false positives (with quite high confidece of 80+).


r/computervision 14h ago

Showcase Using Gemini 3.1 Pro to identify judo throws

Enable HLS to view with audio, or disable this notification

6 Upvotes

I’m working on a little project to benchmark how vision-language models do with classifying grappling techniques. These results are the vanilla models without any fine-tuning, so it’s sort of hit or miss. I’m sure with enough data, the guesses can get pretty accurate. If any of you fellow grapplers who are engineers are interested in playing around with this, I’d be happy to open source it. 


r/computervision 6h ago

Help: Theory I made a tool for tracking where images came from and I’m looking for feedback

Thumbnail
1 Upvotes

r/computervision 6h ago

Discussion Hello with roboflow

Post image
0 Upvotes

Has anyone been getting this issue with roboflow


r/computervision 10h ago

Showcase Qwen 3.6 vs Gemma 4 vs Holo 3 playing the cup game with real footage

Enable HLS to view with audio, or disable this notification

2 Upvotes

This is a continuation of last week’s post where I had the models compete in a Three.js cup and ball game. This time, I’m using real-world footage, which is even more challenging because of distractors. I might test this out on some of the Anthropic models sometime. 


r/computervision 7h ago

Research Publication Need help regarding my anomaly detection experience

1 Upvotes

So recently I have been really interested in anomaly detection across ioT networks, industrial equipments , healthcare and etc, I have read and reproduced some Q1 journals papers , built some projects using self supervised and federated learning techniques which I am now planing to extend as well ,

I am working under my university professor on some research papers as well however he recently suggested that I should do some sort of practical work in this domain (like working as a researcher etc for an organization or company in this field), I have gone through LinkedIn and stuff, found some companies too but I am honestly not sure what should I do, how should I apply as they don't have any current openings whether I should build some more projects, learn something else and then apply, do some more research etc

I really need guidance on how should I proceed further?

Thank you


r/computervision 15h ago

Discussion Flock's fastest-growing business is 60 mph police drones that can read license plates from the sky

Thumbnail
techspot.com
4 Upvotes

r/computervision 14h ago

Discussion Multilingual OCR — how do you handle two scripts in the same image?

2 Upvotes

Single-script OCR works fine for me, but shopsigns and menus with chinese + english (or hindi + english) fall apart. detection boxes get messy and it starts predicting characters from the wrong script.

Do you run script identification first and route to separate recognizers, or train one model on mixed data and let it sort it out? and roughly how much mixed-script data before it stops breaking?

Also, does angled or curved text make this worse for you? most public benchmarks i've seen are clean horizontal text.


r/computervision 11h ago

Discussion Why does Grounding DINO VRAM suddenly jump on random batches during inference? CUDA caching, fragmentation, or memory leak?

1 Upvotes

I’m working on an image auto-annotation pipeline using Grounding DINO from Hugging Face with PyTorch, and I’m trying to understand some unusual GPU VRAM behavior during inference.

My dataset contains 6 classes:

  • cup
  • glass
  • plate
  • knife
  • fork
  • spoon

I downloaded the data from a Kaggle competition. The train.csv contains entries like:

image_id,label
4622,spoon

For my initial experiment, I sampled 900 images total — 150 per class.

The original images have different resolutions, including:

  • 1000 × 1000
  • 850 × 1000
  • 1000 × 850
  • 450 × 1000

I’m using Grounding DINO from Hugging Face for automatic annotation and torch.autocast to reduce GPU memory usage.

The strange VRAM behavior

I’m running inference with a batch size of 4 on Google Colab. The GPU has approximately 15.46 GB VRAM.

At the beginning, GPU memory usage is around:

~6.4 GB

Then the important part is:

It does NOT increase after every batch.

Instead, it stays relatively stable for several batches and then, on some seemingly random batch, VRAM suddenly jumps.

For example, the behavior looks roughly like:

Batch 1  → 6.4 GB
Batch 2  → 6.4 GB
Batch 3  → 6.5 GB
Batch 4  → 6.4 GB
Batch 5  → 6.5 GB
...
Batch 20 → 6.5 GB
Batch 21 → 10+ GB
Batch 22 → 10 GB
Batch 23 → 10 GB
...
Batch 50 → 10 GB
...
Batch 51 → 14+ GB

So the increase happens in sudden jumps on particular batches, rather than gradually increasing with every batch.

Eventually, it reaches approximately:

14.5 / 15.46 GB

and I can eventually get an out-of-memory error.

What I'm trying to understand

My first thought was that perhaps the batches containing different image resolutions are causing Grounding DINO to create larger intermediate tensors.

However, I'm not sure whether that's actually what's happening, or whether I'm misunderstanding how PyTorch's CUDA memory allocator works.

I asked Claude about this, and it suggested that PyTorch's CUDA allocator caches memory rather than immediately returning it to the GPU driver. Because my batches have variable image dimensions, some batches may require larger intermediate tensors, causing the allocator to request additional memory.

It also suggested that memory fragmentation could contribute to the problem and recommended:

import os

os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"

The explanation sounded reasonable, but I'd like to verify it with people who have more experience with PyTorch/CUDA internals.

My questions

  1. What would cause VRAM to suddenly jump on one particular batch rather than increase after every batch?
  2. Could variable image dimensions like:

1000×1000
850×1000
1000×850
450×1000

cause Grounding DINO's intermediate tensors to become significantly larger for certain batches?

  1. If PyTorch's CUDA allocator is caching memory, does that explain why the VRAM usage appears to jump from ~6.4 GB to ~10 GB and later ~14.5 GB?
  2. How can I determine whether this is:
    • normal CUDA/PyTorch memory caching,
    • memory fragmentation,
    • unusually large intermediate tensors from certain image sizes,
    • accidentally retaining tensors/computation graphs,
    • or an actual memory leak?
  3. Would torch.inference_mode() be preferable to torch.no_grad() for this inference-only workload?
  4. Would it be better to resize/pad all images to a consistent resolution before batching, so that the tensor shapes don't vary between batches?
  5. Is:

PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True

actually an appropriate solution here, or is it just masking the underlying problem?

  1. What would be the best way to debug this? For example, should I log torch.cuda.memory_allocated(), torch.cuda.memory_reserved(), max_memory_allocated(), etc. after every batch?

I'm mainly trying to understand the actual reason for these sudden jumps, rather than just applying a workaround.

If needed, I can provide the Grounding DINO inference/batching code and the exact CUDA OOM traceback.


r/computervision 13h ago

Showcase "Smart Recording Album" based on YOLOv8n+SCRFD

1 Upvotes

I have built a "smart album" system for automatic face extraction and classification. This system uses YOLOv8n for pedestrian extraction, SCRFD for face extraction, and ArcFace for face comparison. It extracts and categorizes pedestrians and faces from uploaded videos or images, as well as from real‑time detection video streams, making it easy to review. This case can also be deployed on edge computing devices.

The video below shows the current running effect of my attempt to deploy it on the reComputer Industrial R2135.

https://reddit.com/link/1w46txt/video/552sm056pvmh1/player


r/computervision 14h ago

Help: Project Keep one speaker sharp, blur the crowd behind him: masks drift the moment the camera moves. CPU-only VPS. What is the right pipeline?

1 Upvotes

Source: a ~29 minute C-SPAN rally recording. One speaker at a podium in the foreground, a dense crowd of roughly 40 people behind him. The camera is not locked, it drifts, zooms slightly and reframes. I want everyone except the speaker blurred (removal would be even better), and I want it scriptable from a terminal so I can batch it, not hand-rotoscoped in a GUI.

What I have tried and how it fails. ffmpeg boxblur over a static or keyframed crop region is fine on a still frame, but the moment the camera moves the region is in the wrong place: background faces pop out, and the speaker's own face gets caught in the blur. Generic per-frame face-blur tools (deface-style detect-then-blur) flicker frame to frame with no identity persisting, so the "keep this one sharp" exception does not survive a pan. Remotion overlays hit the same wall one layer up: I still need per-frame mask geometry and I do not have it.

What I think I need but have not wired up: a real video object segmentation pass that propagates masks temporally (SAM 2 with a click on the speaker to build a keep-mask? a person detector plus ByteTrack / BoT-SORT to hold track IDs across the pan?), exported as a per-frame alpha sequence that I composite in ffmpeg with alphamerge against a blurred copy, or feed into ProPainter for actual removal.

Hardware, which I suspect is the real constraint here: a Hetzner VPS with 32 GB RAM, an i5 CPU, and no GPU. Everything has to run on CPU. That is what makes me unsure whether SAM 2 over 29 minutes is remotely practical or whether I should be reaching for something much lighter.

Questions. Is SAM 2 video propagation the right tool, and is CPU-only inference on a clip this long realistic (hours? days?) or a non-starter, meaning I should rent a GPU box for the mask pass and do the composite on the VPS? Would a person detector plus ByteTrack with an inverted mask (blur everything except track ID N) stay stable over 29 minutes on CPU, or does re-ID break too often after occlusions? Any practical guidance on mask dilation and temporal smoothing amounts that stop the edges crawling, and on the ffmpeg side of compositing a PNG alpha sequence back over the source? And is there something better in 2026 that I am missing for "keep one subject sharp, anonymize everyone else" as a CLI tool?

Local and open source strongly preferred. Happy to write the glue code.


r/computervision 1d ago

Help: Theory I want to understand Homography

6 Upvotes

camera's floor mapping (homography) to figure out where each detection actually stands on the floor

Can anyone explain, or any blog or video which helped you to understand it


r/computervision 15h ago

Discussion What actually breaks first when you aggressively compress visual representations?

0 Upvotes

I've been experimenting with compact visual representations for edge/perception systems, where the goal is to preserve useful machine-level information while significantly reducing the representation size.

One thing I've noticed is that the degradation isn't uniform.

Global scene understanding can remain surprisingly stable while localization and small-object information start degrading much earlier.

Increasing input resolution alone also doesn't necessarily recover that information. In one of my experiments, a higher-resolution branch improved access to spatial detail but still couldn't reproduce the semantic quality of the deeper teacher representation.

It made me think there are really two different things being lost during aggressive representation compression:

  1. Spatial information — where something is and fine local details.

  2. Semantic interaction/context — relationships between patches/objects that deeper transformer layers learn.

Simply increasing spatial resolution seems to address mainly the first problem.

I'm currently thinking about this as a rate–semantics tradeoff, rather than a traditional image-compression problem:

Image → semantic encoder → compact representation → downstream tasks

where the objective isn't pixel reconstruction but preserving enough information for detection, classification, depth, etc.

For people working with ViTs, representation learning, edge perception, or learned compression:

What have you found is usually the first thing to collapse as representation size decreases — spatial detail, feature diversity, global context, or something else?

And have you found good ways of measuring this beyond downstream mAP/accuracy?


r/computervision 1d ago

Help: Project Best way to securely feed a home security camera (RTSP) to a cloud GPU for YOLO inference?

2 Upvotes

Hey all, looking for advice from people who've done something similar. Goal: Create my first CV models using my own camera/dataset.

Setup:

  • Tapo C310 camera on my home LAN, RTSP working fine locally (confirmed with OpenCV/VLC)
  • Built a local Flask dashboard that reads the RTSP stream and serves it as MJPEG over HTTP on my Mac
  • Running YOLOv11 (ultralytics) object detection/tracking locally , works, but my Mac's CPU is slow for real-time inference (no GPU)

Goal:
I want to run the YOLO inference on a rented cloud GPU instead ( instead of my local CPU, while keeping the camera itself secure.

Any suggestion on how to get that?
What is the part I am missing? I think I have to create a private tunnel, am I right? What is the best option for that? The ultimate goal is to have my live camera in a private app online, which runs YOLO and counts the number of cars that go through.


r/computervision 1d ago

Discussion What does your CV development pipeline look like? (Specifically for testing & environment simulation)

5 Upvotes

Hi everyone,

I’m looking to improve my Computer Vision development and testing pipeline and I’m really curious about how you all handle edge cases and environmental variables in production.

To give an example to discuss (not my project) object tracking(car or people for example) where the camera is constantly moving, and the target is subjected to wildly different lighting conditions (e.g., bright glare, dusk, sudden shadows, dynamic backgrounds).

When you have a scenario like this, what does your development cycle look like from prototype to robust deployment?

As a beginner working on solo projects, I’m trying to figure out how to build a reliable pipeline. Specifically, I’d love to know:

  • Testing: Do you manually build datasets for edge cases (like crazy lighting/dynamic backgrounds), or do you automate your augmentations?
  • Simulations: Do you use engines like Unreal, Unity, or Blender for synthetic data? Does it actually translate well to real-world tracking?
  • Validation: How do you measure temporal stability when basic metrics (like IoU) aren't enough to cover sudden lighting shifts?
  • Iteration: When a tracking test fails on a specific edge case, what does your workflow look like to fix and re-test it?

I'd appreciate any insights into your workflows, architecture, or any simulation tools you swear by when dealing with moving viewports and dynamic lighting.

Thanks!


r/computervision 1d ago

Help: Project Accurately measuring real-world edge lengths of large cuboid objects using a mobile camera & reference marker

2 Upvotes

Hey everyone,

I’m trying to build a computer vision pipeline that can measure the actual physical edge lengths of large cuboid objects (like big cut blocks or boxes) using just standard photos taken from a smartphone.

My input would be a couple of 2D images showing the front and top faces of the object, and my goal is to accurately calculate the metric lengths (in cm/inches) of all 4 edges of those faces.

Since I am mapping out the architecture right now, I wanted to ask the experts here: what are the different ways to actually pull this off?

  • What techniques or pipelines (classical CV, photogrammetry, deep learning, depth mapping, etc.) would you recommend for getting the most accurate real-world measurements?
  • How do you handle the translation from 2D pixels to 3D metric lengths without the edges getting distorted by the camera angle?
  • Are there any specific libraries, models (like YOLO pose/OBB), or GitHub repos I should look into?

Any advice or pointers to standard workflows would be a massive help. Thanks!


r/computervision 1d ago

Commercial Khronos has released OpenVX 1.3.2

2 Upvotes

This incremental update to the open, royalty-free standard for vision processing, sharpens error handling, API flexibility, and consistency ahead of OpenVX 2.0.

Highlights: two new error codes (VX_ERROR_TIMEOUT for safety-critical apps, VX_ERROR_GRAPH_NOT_VERIFIED for unverified graphs), a new VX_DF_IMAGE_RGBA format with alpha channel support, and broader virtual object array and user-defined scalar type support.

The sample implementation and conformance test suite are fully updated to match. Next up: OpenVX 2.0, expected by end of 2026, extending support to radar and ultrasonic sensor workloads alongside traditional computer vision.

Full release notes: https://www.khronos.org/blog/openvx-1.3.2-released


r/computervision 1d ago

Showcase Testing YOLO26n-Depth on RK3576 — monocular depth estimation on an edge NPU

Enable HLS to view with audio, or disable this notification

0 Upvotes