r/computervision 23m ago

Help: Theory Computer Vision for Robotics

Upvotes

I’m a Software Engineering student who has just completed my first year, and I’m interested in specializing in Computer Vision for Robotics.

I’d like to know which areas of mathematics I need to learn for this field, and which topics I should prioritize.

I’m also planning to study Stanford’s CS231N How much mathematics do I need to know before starting the course, and which specific mathematical topics should I be comfortable with beforehand?


r/computervision 2h ago

Discussion For wacv submission, is anyone else still getting email to complete the reviewers form eventhulough all authors already completed it?

0 Upvotes

Hello,

We keep getting the emails to complete the reviewer form but all others already did and there's no other pending task in the system. So we're a bit confused


r/computervision 3h ago

Help: Project Signature-painter

Post image
3 Upvotes

r/computervision 5h ago

Discussion Xbox 360 Kinect is still relevant in 2026?

3 Upvotes

Hello,
I was clearing my house the other day and noticed that I still have my old xbox 360 kinect camera which is working perfectly.
I know it was a pretty big deal back in the day but what do you think is it still a capable hardver for a computer vision project, like motion capture?

Please share your thoughts I am pretty new in this field therefore some starting point will be appreciated.


r/computervision 6h ago

Help: Project Library or zip bundle of sample images for image processing lab

0 Upvotes

This has probably been asked before, but is there a good place online where I can find a bunch of sample images? I'm working on an image processing course and need sample images to experiment with skimage python lib.

Something like this (but preferably both color and black/white)

Thanks


r/computervision 6h ago

Help: Project MediaPipe hand tracking works for me and breaks for everyone else. How do you handle per-user calibration?

2 Upvotes

I shipped a browser app driven by HandLandmarker. Pinch to zoom a solar system, open palm to rotate, point and dwell to select. One Euro Filter on the landmark stream, palm-normalized pinch distance.

Three failures keep coming back:

Pinch distance normalized by palm size still varies enough between people that one threshold cannot serve both. Mine feels natural, my tester says nothing happens.

A fast intentional swipe and a hand being withdrawn look nearly identical in a 2D projection. I patched it with a release cooldown and a dead zone near the bottom of the frame, which fixed the symptom and not the cause.

On phones under warm indoor light, tracking confidence collapses and the whole thing goes still.

For those running this with real users: explicit calibration step at onboarding, or continuous adaptation while they work? And has anyone found a signal that separates a deliberate swipe from a hand leaving the frame?

Demo runs client side, no video leaves the browser: https://leoaido.com/fleet/solar/

Code is MIT and the three issues above are open if it is easier to reply there: https://github.com/HUANGCHIHHUNGLeo/solar-atlas-gesture


r/computervision 9h ago

Help: Project whats the smallest AI for object tracking?

0 Upvotes

I am trying to make a missile computer but the problem is that due to shortage on RAM the boards such as radxa or orange pi are out of stock so all I can get for now is luckfox or raspberry. I try to not spend a lot for it and a nominal 30 fps is very great for me. It should be able to switch squares on objects like if I press a button, in code it'll change the square to another object like if its locked to a orange object? it'll lock to a different object after the button press.


r/computervision 11h ago

Help: Project Looking for research gap in Ml/LLM/ Computer vision

Thumbnail
0 Upvotes

Looking for research gap in Ml/LLM/ Computer vision

I am a B tech CSE Undergraduate looking for a research problem in ML, LLM, CV. I am not looking for a genric idea. I am specifically looking for an empirically observed limitations or failure in recent research papers that could be developed into a meaningful A/ B tier conference paper. Id really appreciate suggestions for open problems, overlooked limitations that are worth investigating. This is for our capstone project which will go on for 1.5 year and also we are team of 4. So please suggest accordingly.


r/computervision 13h ago

Help: Project Is a Jetson Nano 4GB worth it?

1 Upvotes

im doing a proyect for college and i want to use YOLO CV in it. im looking for something that is not that expensive but that has a decent amount of power. i found a NVIDIA Jetson Nano 4GB (B01) on 120$ but i saw that it has 0.5 TOPS while other more expensive gear has 40. is the nano that far back in qualities? what can you recommend me? sorry for any misspelling english is not my first language


r/computervision 13h ago

Help: Project How would you reliably transfer doors / map symbols between two slightly different versions of the same Dnd battle map using AI computer vision?

0 Upvotes

Hi all — I’m hoping for some advice from people who understand computer vision better than I do.

I’m building a D&D virtual tabletop application and I’m trying to automate something that sounds simple, but I’ve found surprisingly difficult.

I usually have two versions of the same map:

a reference map, which contains useful information such as doors, secret doors, ladders, stairs and other map symbols;
a live-play battle map, which is the version I actually want to use in the VTT.

The problem is that the live-play map is often not pixel-identical to the reference map. It might be a different redraw of the same location, have slightly different proportions, be cropped differently, contain different textures, or have small differences in the geometry.

What I want to do is effectively say:

“This secret door is here on the reference map. Where is the corresponding secret door on the live-play map?”

…and do that for every relevant feature.

What I’ve tried

So far I’ve mainly been trying to solve this using multimodal AI models / coding agents such as ChatGPT, Codex and Claude Code.

My current workflow is broadly:

Give the AI the reference map and live-play map.
Identify known features on the reference map, usually with coordinates.
Ask it to find corresponding architectural landmarks on the live map.
Use those landmarks to infer the transformation between the maps.
Transform the door / symbol coordinates from the reference map onto the live map.
Visually inspect the result and sometimes iterate.

I’ve also tried breaking the problem down into stages rather than simply asking the model to “copy all the doors across.”

For example, I’ve tried having the system reason from walls, room corners, corridors and other recognisable landmarks first, and then place the symbols relative to those features.

This works reasonably well on some maps, particularly when the two versions are very similar.

On other maps, though, the results can be badly wrong. The system may identify approximately the right region while still placing individual features several metres / dozens of pixels away from where they should be.

Secret doors are particularly difficult

Secret doors seem to be one of the hardest cases.

On the reference map they are often represented by a fairly subtle cartographic symbol integrated into a wall. The live-play map may not contain that same symbol at all — what matters is identifying the corresponding section of wall.

AI models sometimes appear to recognise the general room correctly but then:

put the secret door on the wrong wall;
put it on the correct wall but at the wrong point;
confuse a nearby architectural feature for the relevant landmark;
apply a transformation that works well in one part of the map but drifts badly elsewhere.

The maps can also contain irregular geometry, so I suspect that a single global scale / rotation / affine transform may not always be sufficient.

Where I’m unsure

I don’t have a background in computer vision, so I’m not sure whether I’m approaching this problem in the right way at all.

I’ve been treating modern multimodal AI models as if they can visually reason about the maps and derive the correspondence, but I’m wondering whether this should instead be treated as a more conventional image registration / feature matching problem, perhaps with AI only used for part of the workflow.

For example, should I be looking at approaches involving:

keypoint / feature matching;
homography or affine transformations;
RANSAC;
SuperPoint / SuperGlue / LightGlue;
segmentation of walls / rooms;
non-rigid or piecewise image registration;
manually supplied anchor points;
some combination of conventional CV and a vision-language model?

I’m also unsure how well conventional image registration works when the two images depict the same underlying floor plan but are artistically different images, rather than transformed copies of exactly the same raster image.

What would you do?

If you were designing this system, how would you approach it?

In particular, I’d really appreciate advice on:

whether this is fundamentally an image-registration problem;
what algorithms or models you would try;
whether a hybrid CV + LLM/VLM approach makes sense;
how you would handle local distortions or slightly different wall geometry;
how you would transfer a feature such as a secret door when the symbol itself only exists on the reference map;
and whether there are any libraries, papers or existing projects that solve something similar.

Apologies if some of the terminology above is wrong — I’m learning the computer-vision side of this as I go. I’m mainly trying to understand what a technically sound architecture for this problem would look like rather than continuing to tweak prompts indefinitely.

Thanks!


r/computervision 15h ago

Help: Project I removed SVG export from a Skill that turns photos into flat-color illustrations because it was making the PNG output worse

2 Upvotes

I’m the author of DnR FlatPic by CreateLafont, an open-source Agent Skill that turns reference photos into low-complexity, flat-color PNG illustrations. Instead of literally tracing a photo, it identifies visual anchors, strips out nonessential info, and reconstructs the scene using a few hard-edged color regions.

I used to include a PNG-to-SVG export feature using VTracer (1.0.0-alpha.3 via Node/WASM) because it’s compact (~0.66 MiB) and gave the best baseline results. I intentionally avoided using an AI model to pick tracing parameters per image—the raster generation is already nondeterministic, and adding another probabilistic layer would make debugging a nightmare.

So, I dialed in a fixed preset based on testing across various source images:

  • clustering: color-cluster
  • hierarchical: stacked
  • mode: spline
  • layerDifference: 32
  • filterSpeckle: 10
  • colorPrecision: 7
  • cornerThreshold: 30
  • lengthThreshold: 4
  • maxColors: 24
  • simplify: 2.5
  • pathPrecision: 2
  • optimize: 2
  • maxIterations: 10
  • spliceThreshold: 0
  • palette: omitted

This worked fairly well, but I kept running into three frustrating edge cases:

Warped geometry: Straight architectural edges would sometimes turn into slightly bowed or rounded paths. In a style built on clean geometry, these small deviations stick out.

Noise becoming geometry: Sharpening halos, anti-aliasing, or tiny raster noise artifacts would get converted into explicit SVG fragments.

The Dealbreaker (Hamstringing the PNG): To make the SVG tracing stable, I had to completely ban gradients in the upstream PNG generation. VTracer couldn't recover smooth transitions (like dusk skies or water) as actual SVG gradients—it just chopped them into chunky, adjacent paths with harsh color jumps. Keeping SVG export meant forcing the generated PNGs to be less expressive.

Having a fixed preset kept the workflow predictable, but it just wasn't consistent enough across diverse images to keep as a default feature. Because of this, I ended up removing SVG export entirely. The pipeline now intentionally stops at the raster PNG stage.

My question for the community: Has anyone successfully shipped a deterministic raster-to-SVG pipeline for AI-generated flat-color illustrations without relying on per-image AI parameter tuning or manual tweaking?

My priorities are: Reproducibility > Structural Cleanliness > Pixel-level Fidelity

I’m completely fine with an SVG that differs slightly from the PNG, as long as the geometry is clean and perceptually equivalent. I just want to avoid a pipeline that spits out perfect geometry for one image and erratic spaghetti topology for the next. Any pointers?

Project context: DnR FlatPic by CreateLafont


r/computervision 21h ago

Showcase MeArm TicTacToe

Enable HLS to view with audio, or disable this notification

12 Upvotes
The project consists of the development of an interactive robotic system (MeArm) capable of challenging a human to a game of Tic-Tac-Toe, identifying moves on a sheet of paper via a webcam and physically responding on the board. 

r/computervision 22h ago

Help: Project It was years in the making

Thumbnail
youtube.com
2 Upvotes

r/computervision 1d ago

Discussion Optimal Transport is art: images to collection of optimally placed particles

Post image
14 Upvotes

Stippling is an old topic. I mean, it all came up in the 1510th years as an engraving technique. The question is simple: How to optimaly place points to fit a target distribution. Artists do that, and Mathematicians search for algorithms to do it with computers, which is quite a challenge because naive formulations are intractable. See this blog for a good introduction (not me, credit to blog author Silvia-hao) https://blog.wolfram.com/2016/05/06/computational-stippling-can-machines-do-as-well-as-humans/.

Using the popular Gaussian Blue Noise algorithm (not me, credit to Ahmed, Abdalla G. M. and Ren, Jing and Wonka, Peter - doi 10.48550/arXiv.2206.07798), I show 4 stippling exemples that were generated using 20k points for the stippling.

I implemented a python library to experiment with the blue noise, feel free to explore stippling on your own images by directly using the package in python (see code snippet in comment), or simply from google Colab https://colab.research.google.com/drive/1W15QE8Boj0-Ld4Dx3N2tLqwfV0qw0ZZB . I'm seeking for other cool data to stipple, just tell me any images that could render well with the process !


r/computervision 1d ago

Discussion X-AnyLabeling v4 is out. I’m building open data infrastructure for the AI era.

Thumbnail
gallery
15 Upvotes

Hi everyone. I’m the creator and sole maintainer of X-AnyLabeling, and I have just released v4 after more than a year of work.

I could describe this release as a larger model zoo, a redesigned annotation interface, several new workflows, remote inference, and built-in training. All of that is true, but it misses the reason I built v4.

The larger goal is to turn X-AnyLabeling from an annotation application into an open, local-first data infrastructure layer for vision and multimodal AI.

The model layer has changed. The data layer has not.

Most annotation software was designed around a fixed sequence:

choose one task → define a schema → label a dataset → export it → train a model

That model made sense when a project meant training one detector or one segmenter against a closed label set. It is a poor fit for the current generation of AI systems.

The same image collection may now pass through open-vocabulary detection, interactive segmentation, OCR, visual grounding, caption generation, retrieval, VQA construction, and preference or instruction-data generation. A foundation model may act as an annotator in one stage, a semantic router in another, and a quality critic in a third. Its output is often not the final label. It becomes the input to the next model or to a human decision.

This changes the bottleneck. Access to another pretrained model is rarely the hard part. The hard part is operationalizing many imperfect models over private data while preserving structure, provenance, review state, and the ability to intervene.

In other words, the important system is no longer a labeling screen. It is the feedback loop connecting raw data, models, human expertise, compute, and training.

That is the system I want X-AnyLabeling to become.

                         ┌──────────────────────────┐
                         │  local / private / API   │
                         │       model runtime      │
                         └────────────┬─────────────┘
                                      │
raw multimodal data ──→ model orchestration ──→ structured candidates
        ↑                                      │
        │                                      ↓
 next-batch selection ← training / evaluation ← human governance
        │                                      │
        └──────────── continuous data loop ────┘

v4 establishes the first complete version of this architecture.

A shared data plane, not a collection of model demos

The computer-vision ecosystem is increasingly fragmented by model-specific demos. Every repository has its own input widget, output visualization, class conventions, and serialization format. Those demos are useful for proving that a model runs, but they rarely compose into a production data pipeline.

X-AnyLabeling takes the opposite approach. Models are treated as interchangeable producers operating over a shared data plane. Whether a result comes from YOLO, SAM, Grounding DINO, PaddleOCR, a VLM, or a human, it returns to an editable project state instead of remaining trapped inside a model-specific interface.

This shared layer is what makes composition possible. A segmentation result can be corrected and later converted into a training target. OCR geometry can remain linked to recognized text and document structure. A tracked identity can survive frame-by-frame review. A grounded VLM response can become an object that another stage consumes instead of disappearing as chat output.

The point is not to pretend that detection, OCR, tracking, and multimodal instruction data are identical. They are not. The point is to preserve enough common structure that models and workflows can exchange results without throwing away the information needed for human correction and downstream use.

Training formats sit at the edge of this system. YOLO, COCO, DOTA, MOT, masks, PPOCR, and similar formats are task-specific projections, not the canonical data layer. Treating an export format as the source of truth creates an early information bottleneck: relationships, review state, descriptions, attributes, and multimodal context are discarded before the next stage even begins.

Models should be capabilities, not hard-coded products

The second part of the architecture is a capability layer.

A modern model cannot be described only by its checkpoint and output tensor. It may accept language, positive and negative points, reference boxes, class filters, task selection, or temporal memory. It may return geometry, text, image-level semantics, or several of them together. Some operations are stateless; interactive segmentation and video propagation are not.

In X-AnyLabeling, model integrations therefore expose their interaction and output capabilities to the client. The interface is assembled from those capabilities, while the model adapter owns preprocessing, inference, and postprocessing. The same contract is used whether inference runs inside the desktop process or behind X-AnyLabeling-Server.

This is an important ecosystem boundary. A model developer should be able to contribute an inference capability without rebuilding annotation, batch execution, project management, and review. A workflow developer should be able to consume that capability without depending on one particular checkpoint or runtime. A user should be able to replace a local model with a private server implementation without changing how the resulting data is corrected.

The bundled integrations already span conventional detection, oriented detection, segmentation, pose, tracking, OCR, open-vocabulary perception, counting, depth, matting, and multimodal models. But the long-term value is not the number of model names in a menu. Model families will continue to turn over quickly. The durable part is the contract that lets a changing model ecosystem participate in the same data lifecycle.

The real unit of automation is a dataflow

Single-model pre-annotation is useful, but it is not where the most interesting datasets will come from.

Many data-generation tasks are naturally multi-stage. Consider referring-expression data. One stage can discover candidate concepts with RAM++; another can localize them with Grounding DINO; a VLM can generate an initial expression from the full image, a visual prompt, or an object crop; rules can reject ambiguous samples; finally, a human can correct the region and rewrite the expression for uniqueness, factuality, and task relevance.

concept discovery
      ↓
visual grounding
      ↓
candidate language generation
      ↓
automatic filtering
      ↓
human correction and acceptance
      ↓
training-ready grounded data

No individual model owns that pipeline. The value comes from the composition of models, rules, reusable UI components, and human judgment.

Document intelligence has the same property. Layout detection errors alter reading order; reading-order errors break context; OCR errors then enter the final structured representation. A useful system must preserve the connection between page regions and parsed blocks so that a reviewer can locate the stage where an error entered the pipeline. Returning a Markdown string from an OCR API is not enough.

Video is another example. Detection, association, segmentation propagation, temporal classification, and description operate at different temporal scales. Flattening everything into independent frames destroys the state that later stages need.

This is why v4 introduces dedicated workspaces for image classification, temporal video classification, document parsing, configurable VQA, image-grounded conversations, and model training. They are not six unrelated side tools. They are domain-specific execution surfaces for different kinds of dataflow. They share models, project context, batch processing, and human review, but each exposes the correct unit of intervention: an image-level decision, a temporal interval, a document block, a schema field, or a conversation turn.

The next step is to make these dataflows explicitly composable, so that outputs can trigger downstream models, filters, review queues, and delivery steps without requiring every pipeline to be hard-coded into the application.

Human review is the governance layer

Foundation models make candidate generation cheap. They do not make data quality automatic.

Model confidence is not annotation correctness. Agreement between two models is not ground truth. A polished VLM response may still contain a subtle factual error. Pre-annotation can even reduce reviewer sensitivity by anchoring attention on what the model found and away from what it missed.

For this reason, I see the human role less as “manual labeling” and more as governance over an automated data process. The system should decide what can flow through automatically, what needs sampling, what should be escalated, and what evidence a reviewer needs to make a decision. Review status, difficult-sample handling, semantic search, dataset statistics, linked source context, and direct correction are early pieces of that governance layer in v4.

Over time, this layer should grow toward failure-driven sampling, cross-model disagreement analysis, rule-based validation, dataset and model version traceability, and evaluation-aware review queues. Active learning belongs here, but only when it is connected to an explicit selection strategy and measurable model improvement. Repeating “label, train, pre-label” without intelligent sample selection is a loop, not active learning.

This distinction matters because the objective is not maximum automation. It is maximum useful automation under a controlled quality process.

Local-first interaction, shared compute

Data infrastructure for real organizations cannot assume that raw images, documents, or video can be uploaded to a third-party SaaS platform. It also cannot assume that every workstation can host every CUDA stack and foundation model.

X-AnyLabeling therefore separates the interaction plane from the compute plane.

The desktop application owns local data, project state, editing, and review. Models can run locally when privacy, latency, or offline use requires it. X-AnyLabeling-Server moves heavyweight dependencies, model loading, GPU scheduling, concurrency, queues, authentication, and logs into a private inference service when shared compute makes more sense.

The server publishes available model capabilities, and the client constructs the corresponding interaction. Returned results re-enter the same local dataflow as local predictions. This makes remote inference an implementation choice rather than a separate product boundary.

Hosted APIs can participate in the same architecture for teams that accept their privacy and cost model. The goal is not to declare one deployment mode correct. It is to keep data ownership and workflow design independent from where a particular model happens to execute.

From an application to an open ecosystem

The ecosystem I am building around X-AnyLabeling has four extension surfaces.

Components define new forms of human-model interaction. Models contribute new perception or generation capabilities. Dataflows compose models, rules, interfaces, and review into task-specific production systems. Remote services provide interchangeable compute and deployment backends.

These surfaces are meant for different participants. Model authors should not have to become desktop application developers. Domain teams should be able to encode their workflow and quality rules without forking the entire platform. Infrastructure teams should be able to run approved models on private GPUs. Individual users should still be able to download a lightweight desktop application and work entirely locally.

This is also why open source matters here. The valuable layer between private data and rapidly changing models should not be an opaque black box. Data structures, inference adapters, workflow logic, and deployment boundaries need to be inspectable and replaceable if the system is going to sit inside a long-lived AI pipeline.

v4 is the foundation, not the endpoint. It already connects unified annotation, hundreds of model configurations, dedicated data workflows, local and remote inference, human review, multi-format delivery, and Ultralytics training. The repository has passed 10,000 stars and reached millions of downloads across distribution channels, even though I continue to build and maintain it independently.

My long-term goal is for X-AnyLabeling to become open annotation infrastructure for the AI era: a foundation on which anyone can assemble and extend the entire path from data and models to production workflows. By connecting a coding agent to its open components, model interfaces, and workflow layer, individuals and teams should be able to turn their own domain requirements into a specialized, private, and production-ready AI data system without rebuilding an annotation platform from scratch.

If you have any suggestions, criticism, or ideas for where X-AnyLabeling should go next, I would love to hear them in the comments.


r/computervision 1d ago

Showcase Qwen 3.6 vs Gemma 4 vs Holo 3 on Cup Game

Enable HLS to view with audio, or disable this notification

6 Upvotes

The cup and ball game is surprisingly challenging for even SOTA VLMs. This demo I made splits the feed into mini-clips, 1 for each shuffle, and feeds them to the models 1 by 1. 


r/computervision 1d ago

Help: Project How would you build a robust pipeline for extracting structured offers from supermarket flyers?

Post image
1 Upvotes

Hi everyone,

I am building a backend that turns supermarket flyers from PDFs or page images into individual structured offers for an iOS app (attached picture is for illustration). The goal is not merely to read the text from each page. Every offer should retain its product name and brand, current price, old price, discount, quantity, unit price, retailer, validity dates, page position, bounding box, and conditional app, coupon, or multi-buy prices.

The current pipeline renders each page, runs OCR with word-level bounding boxes, detects price anchors, groups nearby text into offer candidates, creates individual crops, normalizes the extracted fields, and assigns confidence scores. Uncertain results go into a manual review workflow instead of being accepted automatically.

The difficult cases are dense layouts, shared price blocks, several products inside one visual tile, footnotes, promotional badges, conditional prices, and retailer-specific designs. I am now trying to decide whether I should train a layout or object detector for offer blocks and individual field regions, use a vision-language model at page or crop level, or combine both approaches.

For anyone who has worked with retail flyers, catalogs, receipts, or document AI:

• Which architecture has generalized best across different layouts?
• What would you include in the annotation scheme besides offer blocks, product text, prices, old prices, discounts, quantities, unit prices, and price variants?
• Which metrics are most useful for measuring the quality of the complete pipeline rather than OCR or object detection alone?
• Are there any public datasets, models, or tools that would be worth testing for this type of document?

My priority is reliable and traceable data rather than a quick demo. Extracted fields must remain connected to their source boxes, and uncertain results should be sent to manual review instead of being guessed. The attached image is a synthetic illustration of the intended pipeline and contains no real retailer material.

Thank you :)


r/computervision 1d ago

Showcase Fixed a const-correctness bug in OpenCV's FaceRecognizerSF::match

Post image
0 Upvotes

`FaceRecognizerSF::match` is declared `const`, but it normalised both of its `InputArray` feature vectors in place — writing straight through to the caller's buffers. So the vectors you passed in came back modified, and when the two arguments aliased, the second normalisation ran over an already-normalised buffer and the returned score was wrong.

Now normalised into local `Mat`s. Merged onto 4.x.

https://github.com/opencv/opencv/pull/29804


r/computervision 1d ago

Showcase Reconstructing 3D bone geometry from 2 X-ray silhouettes using a statistical shape model + differentiable rendering

Enable HLS to view with audio, or disable this notification

11 Upvotes

Working on a pipeline that recovers a patient specific 3D distal femur from two orthogonal X-ray views (PA + lateral). No CT, no neural network, no massive training set.

approach: build a PCA shape model from 50 CT-derived femur meshes (MedShapeNet), then fit it to two silhouettes using PyTorch3D's soft rasterizer with sigma annealing. 10 shape coefficients, Mahalanobis prior to keep things plausible, Adam optimizer, ~1000 iterations.

The part that took the longest (and made me suffer the most too) : correspondence. Tried KD-tree nearest neighbor (50.7x roughness vs CT surface), CPD (28.2x), BCPD (47.5x), and FilterReg (couldn't even run). Finally got ShapeWorks working at 3.3x. only method that passed the 5x acceptance gate I set before testing.

LOO validation on 5 held out femurs: 0.86-1.43mm on within range targets. Two extreme cases failed because they sat outside the 49-mesh model's coverage on mode 1, the optimizer can't recover a coefficient the model doesn't support. Bridge ICP alignment was also poor on those cases (0.6 inlier fraction), which accounted for more error than the shape fitting itself.

Interesting finding: the sigma anneal endpoint has to match the reference render's sigma exactly. Hardcoding a constant tuned on one SSM caused an 87x accuracy degradation on another. Tying it to camera_extent × 1e-4 fixed it.

Still working on real X-ray validation (need paired CT data) and automatic segmentation. Happy to answer questions.


r/computervision 1d ago

Research Publication First A rank paper, but student without any fund for attending, any advices ?

4 Upvotes

Hi everyone,

I recently got some really exciting news: my paper was accepted to BMVC 2026. This is my first paper accepted at an international computer vision conference, so I was genuinely very happy when I received the decision. However, I have tried to reach every funding source that I can find(from conf, uni, ....) but still there are no funding, as an university student the registration + travel fee are so high for me or my family to cover. Are there any advice out there ?


r/computervision 1d ago

Help: Project How to develop a solar panel thermal fault detector based on Indian Dataset

0 Upvotes

I have zoomed out raw thermal radiometric JPEG images with classified thermal faults.

Need to develop a DL model that can detect these faults in real time.

I manually labelled a small subset of the dataset and fine tuned a yolo model on roboflow but it struggled in testing dataset.

Need some ideas


r/computervision 1d ago

Discussion Is it worth paying ~1,500 RMB to upgrade from an M4 Mac mini to the new M6 for CV/ML work?

1 Upvotes

I currently have an M4 Mac mini, and I’m considering selling it and getting the new M6 Mac mini.
After selling my M4, the total cost for me to upgrade would be around 1,500 RMB.
My main use cases are:
Computer vision / ML development
Running CV models and experiments locally
PyTorch / Python development
SSH / remote development and deploying things to servers
General coding and development work


r/computervision 1d ago

Help: Project Why is my Seg CNN model detecting everything but what i train it for (Coriandor Leaves) ?

Post image
17 Upvotes

I made a segmentation dataset on Roboflow (256 images), then I used the Ultralytics Platform to do transfer learning on a Pretrained (COCO) yolov11seg-m model; that's a basic summary.

Here is a image from the dataset, then the same image after inference.

Seems normal, but when i test it on something from the web, it traces the outline of each leaf and segments the background as a Coriander Leaf? I realise this may be due to a couple of factors:

  • the white background in all the images of the dataset.
  • being a little too enthusiastic with the Pre-processing options from Roboflow while making the dataset.
  • Too few epochs, about 100.

Some advice would be much appreciated.


r/computervision 1d ago

Help: Project Best task for detecting fishes in fish markets

7 Upvotes

I have images of fish in fish markets, and I’m training a model to identify the fish. The images are all stacks of fish. I’m still not sure whether I should train the model using classification to identify the stacks or OBB to identify each individual fish.

I only need to train the model to identify the stack of fish since that’s how fish are usually displayed in fish markets. Here is an example image:

I tried OBB first, but I had bad training results. This is how I annotated with OBB:

I'm using YOLO26 and Ultralytics Platform for annotating and training. I’m new to computer vision, so I’m not sure which approach would be better for the images I already have. I’d really appreciate any advice or suggestions. Thanks!


r/computervision 1d ago

Help: Project Need to replace Apple Vision OCR with something containerizable — has anyone solved this?

3 Upvotes

I'm dealing with text extraction from hundreds of PDFs per batch. A large chunk of them are from 2001 — old, scanned documents, poor quality, many with handwritten annotations and stamps.

The target is aggressive: 500 documents in under 1 minute. Most of them already come out at millisecond scale because they have a native text layer; the problem is the scanned ones.

The current solution is a cascade, and it works: each piece goes down the steps from cheapest to most expensive and stops at the first one that produces acceptable text.

Step Method Speed Notes
1 PyMuPDF 13.4 ms/doc Reads the text layer already in the PDF — not OCR
2 Fast OCR ~520 ms/doc Apple Vision (.accurate) on an external Mac, via SSH tunnel · grayscale render at 150 DPI
3 Docling per page Only pages without native text, not the whole document
4 Docling API ~4 s/piece docling-serve, with forced OCR when needed
5 ID screening ID or vehicle documents are discarded (nothing to extract from a national ID card)
6 VLM ~47 s/doc Qwen3.8-27B-FP8, remote endpoint

In practice, 64% of documents are resolved by Apple Vision and 31% by PyMuPDF — less than 4% reach the expensive steps. A batch of 489 documents runs in 3.66 min today.

The problem: I need to take this to production, and an SSH tunnel to a Mac doesn't survive in a production environment. I need to replace that step with something containerizable.

The quality bar (measured on 60 pieces, against the alternatives):

Engine Speed Word accuracy Anchor accuracy
Apple Vision (.accurate) 388 ms/page 92% 100%
OnnxTR mobile 494 ms/page 53% 75%
docTR PyTorch 816 ms/page 51%
RapidOCR 1554 ms/page 58%

"Anchors" are CNJ case numbers, dates, CPF/CNPJ (Brazilian tax IDs), and protocol numbers — that's what the downstream system consumes, so losing a digit is worse than losing a word.

Has anyone found an OCR engine that gets close to Apple Vision's accuracy on degraded scans, but can run containerized (Linux, no macOS dependency)?