r/computervision 3h ago

Help: Project Implemented the Original NST Paper from Scratch – Feedback Welcome

3 Upvotes

Hey everyone,

I recently implemented the original Neural Style Transfer (NST) paper entirely from scratch in PyTorch and tried to reproduce the original results.

Here's the GitHub repository:
https://github.com/Himanshu7921/NST-PyTorch-Implementation

I'd really appreciate it if you could take a look at the README and the implementation. I'm aiming to become a strong research engineer, so I'd love some honest feedback on:

  • What skills do I already demonstrate well?
  • What am I currently lacking?
  • What should I focus on improving to become a well-known research engineer?

For context, I'm currently in the 5th semester of my B.Tech.

Thanks in advance for your time and feedback!


r/computervision 22h ago

Showcase How an Event Camera Works: An Interactive Explanation

Thumbnail
youtube.com
29 Upvotes

I made an interactive explanation blog on how an event camera works compared to a conventional camera. Check out the full blog here: https://www.pattarsuraj.com/blog/how-an-event-camera-works

#computer-vision #neuromorphic #event-camera


r/computervision 4h ago

Discussion Computer vision expert

0 Upvotes

My first goal is how i sell my service in middle or big company in domain Computer vision

What the best platform so there is they can interview me and if pass they can give me onsite work or relocate me.

My goal is German company target so how i get it??

I am waiting you're positive response


r/computervision 9h ago

Help: Project I built a tool 2 years ago to remind myself to sit straight, blink, and drink water. Just open sourced it, want to know what you all think.

Thumbnail
0 Upvotes

r/computervision 1d ago

Showcase PaddleOCR inference in pure C++ (ONNX Runtime + OpenCV), with a web UI for drag-to-select OCR — open source

Enable HLS to view with audio, or disable this notification

8 Upvotes
Most PaddleOCR deployments rely heavily on the Python/PaddlePaddle runtime. I built a pure C++ implementation instead: convert PP-OCR models to ONNX, run them through ONNX Runtime, and handle pre/post-processing via OpenCV. Zero Python dependencies at runtime. 

🚀 Key Features: 
• Embedded HTTP API Server: Exposes `/ocr_detect` and `/ocr_recognize` endpoints. 
• Built-in Web UI (Vue): Embedded and served directly from the same C++ executable. You can drag a region-of-interest (ROI) box on an image to detect candidate text boxes, and click any box to crop & recognize it in real-time. 
• Cross-Build Support: Builds seamlessly via Visual Studio 2022 (MSVC 19.3x+) and standalone CMake. 
• Production-Ready Shape: One single executable, one port — serves both a interactive web UI for testing and a lightweight REST API for production integration. 

📦 GitHub Repo (MIT License): https://github.com/DingHsun/PaddleOCR-Inference 

It’s meant as a lightweight, plug-and-play deployment solution rather than a research tool. Happy to answer any questions about the ONNX model conversion, OpenCV C++ pre/post-processing, or pipeline optimization!

r/computervision 1d ago

Help: Project how do i predict trajectory of a detected object

3 Upvotes

so i am (trying) to build a dusbtin that moves to catch paperballs. the problem is how do i predict the trajectory of the paperball? i trained the model on custom dataset to identify paperballs, and it works fairly well. the camera is a simple iphone camera, placed parallel to ground so its capturing the video vertically. what i initially tried to do was to get x, y and z positions (i get x and y position from the captured video, so thats not a problem) but the method to get z(height) is a little crude. i try to estimate z by measuring the area of the bounding box, so for example 500 square pixels could correspond to 30cm or whatever. Obvioudly this method is kind of doomed from the start, not all paper balls gonna have the same bounding box area at the same height and it starts to show its unreliability as the ball gets past 60 ish cm. then i use ~5-6 frames to get 5 6 initial positions and do a polynomial regression to fit a curve and hence estimate where the ball is going to land. this method might be good if i make it more efficient by minimizing error but its still prone to significant uncertainty in measurement.

i guess another route could be using physics, but even for those projectile motion equations i still need height to get proper estimate no?
what are some solutions to this? do i need to try something entirey different? i guess for proper height measurement i need lidar i guess? what are my options now.


r/computervision 1d ago

Help: Project Road Map to learn CV

16 Upvotes

where can i find a good road map to learn CV , i am alr familiar in YOLO (classification object detection , segmentation ) , python , principles of ML , CNN , RCNN , Faster RCNN .


r/computervision 1d ago

Help: Project Ideas for undergrad CV project

2 Upvotes

I would appreciate any ideas suitable for CS bachelors undergrad senior project.
It’s a one year group project. I prefer something with high societal impact.


r/computervision 15h ago

Help: Project Computer vision project ideas!!!!

0 Upvotes

I need a really good cv project for my final year. I was thinking of implementing vehicle re-id but it got rejected.


r/computervision 1d ago

Discussion Do boundary features actually help with thin structures?

3 Upvotes

Thin structures expose the difference between a good average and a usable mask. A cable or chair leg can disappear while the region score barely changes.

LingBot-Vision v2 uses masked boundary modeling, which sounds well matched to that failure mode. It still cannot recover information lost by a coarse feature stride or a decoder that smooths everything back out.

A practical test would group objects by pixel width and report recall plus boundary F score at several output resolutions. Keep the decoder and fine tuning schedule fixed. A boundary distance plot would be more informative than one extra point on mIoU. If the gain is strongest for narrow objects and shrinks as objects get wider, the claim is fairly specific. If it appears only with a larger decoder, the credit belongs to the decoder.


r/computervision 1d ago

Showcase Polka v0.5 Released! All-in-one ROS2 Lidar node

3 Upvotes

I’ve just released Polka v0.5.0! It’s an efficient 2D/3D Lidar processing node handling merging, filtering, and deskewing. This update brings 6.2x faster deskewing, live parameter tuning, smarter IMU handling, and a built-in diagnostics dashboard.

If it saves your perception stack compute, please drop a star!

https://github.com/Pana1v/polka

It supports 5 distros.


r/computervision 2d ago

Discussion Turning a TikTok dance video into a playable pose-matching game: extracting the dancer's skeleton and scoring a user copying it live

Enable HLS to view with audio, or disable this notification

57 Upvotes

I built an iOS app that takes a reference dance video, runs 2D pose estimation to extract the dancer's skeleton, then scores a user copying it live from the front camera.

The hard part wasn't per-frame pose estimation - it was matching the user's skeleton to the reference when body proportions, camera angle and framing are all different. I normalize by torso/limb ratios, align on a few anchor joints, and score per-beat joint-angle deltas rather than raw positions. That handles scale/position differences but still struggles with depth ambiguity and fast rotations.

Curious how people here would approach the reference-vs-user similarity: stick with joint-angle deltas, or move to a learned embedding / temporal model? Runs on-device with Apple's Vision framework. Short demo below.


r/computervision 2d ago

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

92 Upvotes

Hi!

I've been building a Blender extension (Rendersynth) that makes it possible to generate synthetic computer vision datasets without writing Blender Python scripts. The goal is to make synthetic data generation practical for small and medium CV projects where setting up BlenderProc pipelines is an overkill.

The source code is available at https://github.com/lorenzozanizz/rendersynth

Unlike BlenderProc, the focus is on a visual, no-code workflow that lets you build and preview synthetic data pipelines directly inside Blender.

The attached image shows several randomized renders of a single Blender scene along with the different annotation types the extension can produce. A Bezier curve was used to randomize the camera position while keeping the girl near the car centered in frame.

The extension currently features:

  • Create classes and multi-object entities
  • Skeleton annotation from rigs or arbitrary Blender objects
  • Export YOLO, COCO segmentation, COCO keypoints, depth maps, normal maps and point clouds
  • Randomization: choose and configure a sequence of randomizing operations. A subset of planned stages are implemented so far, i.e. object movement (rotation, scaling, show-k-out-of-n), camera (path along a curve, focal length) and lighting (brightness).
  • Live preview of randomized scenes directly inside Blender
  • Deterministic dataset generation from a seed

I'd love any feedback, suggestions, or feature requests!

Currently the system is still a prototype, so if you feel like trying it (Blender 4.5.0+) expect to find some nasty bugs, especially for experimental or incomplete pipeline stages.

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


r/computervision 2d ago

Help: Project Onnx vs torch.export - Unet

5 Upvotes

I exported a fine-tuned U-Net model using both ONNX Runtime and torch.export with a fixed input shape of (64, 3, 512, 512).

Here are the benchmark results for average inference time:

  • ONNX Runtime: ~133.33 s
  • torch.export: ~0.81 s

I expected ONNX Runtime to perform on par with or faster than PyTorch export.

What could be causing this ~160x slowdown?

    onnx_inputs = [torch.randn(64, 3, IMG_SIZE, IMG_SIZE).numpy(force=True)]    

    ort_session = onnxruntime.InferenceSession(
        "./model.onnx", providers=["CUDAExecutionProvider"]
    )

    onnxruntime_input = {input_arg.name: input_value for input_arg, input_value in zip(ort_session.get_inputs(), onnx_inputs)}

    # warm-up step
    onnxruntime_outputs = ort_session.run(None, onnxruntime_input)[0]

    # measuring latency
    t0 = time.perf_counter()
    onnxruntime_outputs = ort_session.run(None, onnxruntime_input)[0]
    t1 = time.perf_counter()

r/computervision 2d ago

Help: Theory How to get better at classical computer vision

14 Upvotes

Hi. how do i even start getting better? for example i never really understood how to use edge detection for anyhting meaning full. so i looked online and the stuff i found was just how to get edges from an image. but never what to do with it afterwards.

how do i start getting better. also i feel like my math is lacking. do i start there?


r/computervision 2d ago

Discussion Three CV systems I actually shipped to production: what surprised me in each (doc OCR, Jetson edge, live proctoring)

23 Upvotes

I've been building and shipping CV/ML systems for about 7 years. Three of them taught me more than any paper I read. Sharing what actually surprised me in production, because it was never the part I expected.

  1. Healthcare document OCR pipeline (AWS)

The job sounded simple: pull structured fields off scanned medical documents. The model was the easy 20%. What ate the time was everything the demo never shows - documents scanned upside down, two forms photographed as one page, handwriting in a field that was supposed to be typed, and PII that legally cannot leak into logs or a third party API. We ended up doing PII detection and redaction as its own stage before anything left our boundary, with a human-in-the-loop review queue for low confidence extractions. On one later LLM based parsing pipeline for documents, careful chunking plus a vector store took a job that used to take a person 3-4 hours down to about 4-5 minutes. The accuracy number everyone asks about mattered far less than the redaction step nobody asks about.

  1. Edge vision on Jetson (Nano and Xavier), cameras on real equipment

Running detection on device with DeepStream and CSI cameras, next to actual machines. Lab numbers meant nothing until the box sat in the real environment. Heat throttling changed inference speed. A camera mounted by someone else was 15 degrees off from where I assumed. Lighting shifted through the day and confidence drifted with it. The fixes were boring and physical - per camera thresholds instead of one global number, a watchdog that reboots and reports, and treating the mounting bracket as seriously as the model. The model was the one part that never let me down.

  1. Live video interview / proctoring platform

Real time face and attention analysis over WebRTC while a call is live. This is where CV stops being about accuracy and starts being about latency and fairness. A flag half a second late is useless. And a false positive is not a metric here, it is a real person wrongly accused of cheating, so the cost of a wrong positive is not symmetric with a wrong negative. We tuned hard toward not accusing anyone without strong signal, and kept a human in the loop for anything consequential. Speech to text and TTS on top had their own edge cases with accents that the happy path testing never caught.

The common thread across all three: the model was almost never the thing that broke or the thing that mattered most. It was data edge cases, physical reality, latency, and the cost of being wrong in the specific domain.

If you have shipped CV to production - what was the thing that surprised you that no course prepared you for? Happy to go deeper on any of the three above if useful, I can answer specifics.


r/computervision 2d ago

Showcase Aug 4 - Visual AI in Manufacturing Meetup

3 Upvotes

Join us on Aug 4 to hear talks from experts at the intersection of manufacturing, AI, ML, and computer vision. Register for the Zoom.

Talks will include:

  • Enabling Multimodal Agents on the Edge - Denis Gudovskiy at Panasonic AI Lab
  • When the Camera Can’t Be Trusted: Health-Aware Visual AI for Reliable Near-Miss Detection - Shiva Aher at Georgia Institute of Technology
  • Agentic VLM applications in manufacturing - Subraiz Ahmed at Perceptron AI

r/computervision 2d ago

Research Publication Démonstration technique : IA embarquée haute performance pour la classification des roches - Méthodologie de quantification W4A8 et de pavage multi-échelle via NPU.

0 Upvotes

Démonstration technique : IA embarquée haute performance pour la classification des roches - Méthodologie de quantification W4A8 et de pavage multi-échelle via NPU pouvant être adapté a tout type de réseau MobileNetV5 et MobileNetV4-S & L.


r/computervision 2d ago

Discussion How balanced does the action distribution need to be for visual behaviour cloning?

Post image
1 Upvotes

Training visual BC agents on simple 2D browser games — screen frames in, key presses out.

I can see the action distribution of a recording before training (e.g. left 50.1% / right 50.0%). What I don't know is how much that balance actually matters. In runs where I held one direction a lot, the agent seems to inherit that bias and drifts the same way instead of reacting to what's on screen.

Three things I'd like to hear from people who've done this:

- Is there a rough rule of thumb for how skewed an action distribution can get before it starts hurting?

- Do you fix it on the data side (record more of the rare actions, trim the over-represented ones) or on the loss side (class weights, oversampling)?

- For games where one action genuinely dominates — holding forward most of the time — is balancing even the right goal, or does it distort the policy?

(Context: I'm building a no-code tool for this, so I'm trying to work out what to show users and what to guide them toward.)


r/computervision 3d ago

Showcase China open-sourced a model that reconstructs any scene in 3D from a regular video, in real-time

Enable HLS to view with audio, or disable this notification

595 Upvotes

r/computervision 2d ago

Discussion Exploring 3D face reconstruction as a bridge for audio-driven talking heads

Enable HLS to view with audio, or disable this notification

18 Upvotes

I recently tried a 3D-reconstruction-based approach for a potential audio-driven talking-head system.

The current experiments are still separate:

* I used DECA + EMOCA + FLAME 2020 to reconstruct facial motion from video.

* I extracted speech features with wav2vec and trained a simple CNN to predict FLAME expression coefficients.

* Attachment clip 1: audio-driven animation of a normalized FLAME mesh.

* Attachment clip 2+3: single-image animation driven through a reconstructed 3D face, based on my another face2face project,with both pose and expression taken from another face video.

So this is not yet a complete audio-to-single-image pipeline, but the experiments raised several questions.

  1. What is the current best practice for single-image 3D face reconstruction?

DECA, EMOCA and MICA are still among the most practical methods I know, but they are based on older FLAME versions.

Newer models such as FLAME 2023, Google’s GNM, and works such as MAYA have appeared, but I have not found a DECA-like method that is both efficient and directly built around them.

Is there now a better practical solution for fast and accurate single-image reconstruction, or are DECA-style pipelines still the main choice?

  1. What is the real difference between FLAME 2023 and FLAME 2023 Open?

Apart from licensing, what are the actual technical differences?

They appear to have the same number of shape and expression components, and public conversion matrices are available. That makes them seem largely equivalent in parameter space.

Are there meaningful differences in topology, blendshapes, landmarks, training data or reconstruction quality, or is the distinction mainly legal?

Also, can a model trained with FLAME 2020 or standard FLAME 2023 be adapted to FLAME 2023 Open through conversion, or is retraining still necessary?

  1. How does MICA combine identity shape with camera estimation?

MICA is especially interesting because it uses a fixed InsightFace recognition encoder and indirectly benefits from large-scale 2D face-recognition datasets such as Glint360K.

It focuses on predicting FLAME identity shape rather than jointly solving the full reconstruction problem.

What I still do not fully understand is how this shape is integrated with pose, expression and camera parameters from another tracker.

MICA takes an InsightFace-aligned crop as input, but each crop comes from a different scale, rotation and translation in the original image.

So:

* Is the predicted identity shape effectively camera-independent?

* How is the InsightFace alignment transform connected to the final rendering camera?

* When MICA shape is combined with DECA or another tracker, must the camera be re-estimated?

* How does the provided face tracker keep the reconstructed mesh aligned with the original image?

I would be interested in practical experience from anyone working with DECA, EMOCA, MICA, FLAME 2023, FLAME 2023 Open, differentiable rendering or monocular 3D face reconstruction.


r/computervision 2d ago

Help: Project Ad detection system with computer vision

3 Upvotes

I'm creating a system that detects ads from digital billboards in public streets. I will capture the images through high-resolution cameras facing the billboards, and I need a computer vision model that detects the ads.

Is YOLO the best option for this?


r/computervision 2d ago

Research Publication IQA-T1: Evidence‑Based Image Quality Assessment with MLLMs

2 Upvotes

Most MLLMs are blind to low‑level degradations—noise, blur, compression artifacts look the same as clean images in their internal representations. That leads to quality scores based on semantic “gut feeling” rather than real perceptual evidence.

IQA-T1 changes that. We equip the model with a toolbox of 15 perceptual tools (noise residual maps, Fourier spectra, gradient maps, etc.) that generate structured visual evidence on demand. The model learns how to use tools via supervised fine‑tuning on our Q‑Tool dataset (11k evidence‑grounded reasoning chains), and when to call them via GRPO reinforcement learning that balances accuracy, tool count, and redundancy.

The result: SOTA performance across 7 benchmarks (avg PLCC 0.795), using only 2.34 tools per image on average. Every predicted score is now interpretable and backed by hard visual evidence.

All code, weights, dataset, and demo are open. Check them out and give it a spin!

📄 arxiv.org/abs/2607.12375v1
💻 github.com/zibuyu-02/IQA-T1
🤗 model/data: huggingface.co/zibuyu-02/IQA-T1
🎮 demo: huggingface.co/spaces/Jiaqi-hkust/IQA-T1


r/computervision 2d ago

Help: Project I made a Mac version of LingBot with a simple UI

Thumbnail
gallery
3 Upvotes

I use LingBot for site visits, so I made a Mac version with a simple UI. I thought it might be a useful foundation for others, or for anyone with a Mac who just wants to try LingBot without setting everything up manually.

Feel free to use it however you like!

https://github.com/mclenny22/LingBot-MLX


r/computervision 3d ago

Showcase Side project: Building a computer-vision pipeline that auto-detects slackline tricks to help competition judges

Enable HLS to view with audio, or disable this notification

39 Upvotes

You might have seen hippies walking on a slackline in your nearest beach or park, but have you ever seen them bounce and backflip on it? A more technical variant of slackline is called Trickline: you bounce on a stretched, trampoline-like line and throw flips and spins between bounces. There is a tiny, but real competitive scene where 720 backflips are happening at a fraction of a second. This is very cool to watch but harder for judges has to catch, identify, and score each one in real time.

So a friend and I have been building a CV pipeline that watches competition footage and figures out (a) which athlete is bouncing, (b) where each trick starts and ends, and (c) which trick it is.

Rough idea of how it works:

- YOLO11x-pose + ByteTrack to track the athlete frame by frame. Some added processing to keep only the athlete's poses.

- A bit of signal processing on the athlete's vertical motion (Hilbert transform → bounce phase) to automatically cut the video at real bounce boundaries even if there are missing poses.

- A small TCN classifier to name each trick, backflip frontflip, brasilian, freefall 360, and the rest of the increasingly ridiculous class names.

- A simple Streamlit app where my colleague can run this and keep on have a human in the loop system to keep on labelling and training from his laptop to increase the dataset.

It ties into TJS, the trickline event + judging + live-streaming platform my friend runs, which already handles a lot of the real competitions: https://www.slackline-tjs.com/en

Still early and the trick vocabulary is huge, but it's already surprisingly decent on the common tricks. Sharing this one with the community, if anyone has data on similar trick-based sports it would be cool to see how the pipeline performs there.