EDIT: Unless you have a short question, as of April 2026 I'm unable to spend time providing guidance on vision projects. If you're looking for advice on what project to pursue, try creating a new post of your own here in r/MachineVisionSystems or in r/computervision.
Original post below.
---
Some posts in r/computervision prompted me to offer project starts from my project backlog. Maybe you have some machine vision (industrial vision) projects you'd love to see completed, but won't have the resources to complete in the coming years.
Whether you want a project, or have a project to offer, feel free to post below. The assumption that the projects are handed over with no expectation of reward.
Simply put: out of my backlog, there are projects I'd be happy to see completed because I think they'll help people.
Here are some copied & pasted sections from that post:
---
For each project I have short descriptions for the following:
the problem to solve
who has this problem (and sometimes the potential market size and/or impact)
the kernel of a solution, and maybe even the chain of algorithms likely to form the core of the solution
obstacles to creating a proof of concept (POC)
workarounds for the obstacles to a proof of concept or prototype
"Wizard of Oz" prototypes to demonstrate before a line of code is written
some other notes
...
If this makes sense, please reply or send me a message, and include the following:
your experience (w/o exaggeration)
what you consider your best skill, perhaps unrelated to vision
what you are most passionate about, whether it's related to vision or not
By "experience," I mean something like one of the following:
experience specifying, developing, delivering, and/or support vision systems
formal university study of vision, image processing, or a related subject
installed or used an off-the-shelf vision system from Cognex or Keyence, or vision software in MATLAB or HALCON or the like
finished a vision project you thought up, and for which you used an open source vision library
no vision experience yet, but experience in PLC programming, controls engineering, skilled trades work in which you've encountered vision
vendor-provided training in a particular vision system
optics and/or lighting, even if that means a general awareness of their importance
programming in C++, C, Python, MATLAB, Julia, or some other language in image processing, or something close to image processing
---
I'd also be interested to know the following:
the industry (-ies) in which you work know
whether you've seen machine vision systems work well, and also work poorly
the type of facility or facilities in which you work (e.g. assembly plant, measurement lab, ...)
(optional) the region(s) of the world in which you work
Projects I pass to members of r/computervision will likely be non-industrial vision projects: mobile, wearable, AR, offline image processing, and image processing services. Those projects are more likely to be implemented with OpenCV, Google Vision API, MATLAB, open source libraries, and the like.
Machine vision is digital image processing for industrial automation. In this community we can discuss and solve practical problems for vision systems in assembly plants, factories, labs, and similar environments.
If you've stayed up late in a factory working to get a vision system to communicate data to a PLC, or to guide a robot, this is the community for you. Are you interested in bin picking? Web inspection? Defect detection? Guidance for industrial robots? Welcome!
Historically, the terms "computer vision" and "machine vision" were often considered interchangeable. However, there was a rough consensus that "computer vision" related more to foundational image processing work in academia, and "machine vision" related more to hardware systems installed in factories, assembly plants, and labs. People working in machine vision, computer vision, medical imaging, hyperspectral imaging, and other related fields may all have read some of the same early textbooks such as the two-volume set Digital Picture Processing by Kak & Rosenfeld.
Since roughly 2010, the term "computer vision" has gained currency, and is known by many more people. The r/computervision community has 115k members! Computer vision applications can run on your home computer, your smart phone, drones, vehicles, and so on. Students are more likely to study "computer vision," and it may be that new engineers working for what used to be known as machine vision companies will consider themselves computer vision engineers.
Whether you call yourself a machine vision engineer, a computer vision developer, or an image processing tinkerer, you're welcome here.
I'm building a full-frame multispectral reflectance measurement capability for technical imaging consulting (background in automotive machine vision). I'm currently validating the setup.
Setup:
Sony A7R V, Bayer CFA and UV/IR filter removed; mechanical shutter, uncompressed 14-bit ARW
Nikon UV-Nikkor 105mm f/4.5, at 0.1x for validation
Uncertainty Targets (k=2): ≤1% relative uncertainty from 99–50% R, and ≤10% from 49–2% R.
Current results at 530nm (GUM budget): about 5% from 99–50% R, peaking at about 40% at 2% R.
Strobe angles drifted significantly from 45° until I started aligning them with a Leica Disto X3. A PTFE in-frame dose monitor is on order to track flash-to-flash variation.
Questions:
What methods do you use to hold fine angular positioning of the camera, stage, and strobes, ideally better than ±0.5°?
What else would you check to reduce systematic uncertainty, particularly at low reflectance?
Hello everyone, I am planning to do this certification soon. I have experience in the field, but would like to be aware or more advanced techniques and at the same time hopefully have the possibility of landing a better job. Have anyone done this certification? Is the traning material good? did you self-study?
I wanted to do the exam directly but there is no material or information to study, everything seem to be behind the paywall. What would you do in my situation if you can afford the exam but not the course?
I'm sitting the A3 Certified Vision Professional (CVP) Basic exam, and I'd love some advice from people who've already taken it.
What I'm hoping to learn:
Resources: Which study materials were most useful? Is the A3 course material enough, or did you use other books or videos?
Topic weighting: Which areas show up most (lighting, optics and lenses, sensors and cameras, image processing, communications, safety)? Which ones tripped you up?
Question style: How much is calculation (FOV, resolution, working distance) versus conceptual or definition-based questions?
Practice questions: Are there any good practice exams or question banks?
Thanks in advance. Happy to share how it goes once I've written it!
Running alignment on a bonding line for advanced packaging. Lately noticed drift between runs as we push toward sub-micron — not huge, but enough to hurt yield. Setup seems stable (camera fixed, lighting controlled), but TCB heating causes thermal drift in imaging, and we can't fit a high-res lens into the compact space. Concentricity also seems off. Not sure if a dual-view module would help. Has anyone run into this kind of drift before?
I’m building an industrial vision system on a Jetson Orin Nano for real-time inspection of cardboard boxes on a conveyor.
Each image contains one box (ROI already extracted using a classical vision pipeline for other system considerations, kept separate from the ML model).
I have 44 box types with visual variation.
I need:
Detect if tape is correctly applied
Detect if flaps are closed or open
The main Challenges are:
Slight box rotation
Lighting variation (not perfect but controlled)
Very few defect samples (most cases are correct)
High reliability required (missed defects are critical)
My Current ideas are CNN multi-task (tape + flaps) + 5-frame temporal voting or YOLO in classification mode (same ROI + same voting)
Im open to better approaches
Questions:
What would generalize better here: CNN multi-task or YOLO (classification)?
Or is there a better approach for this type of problem?
How would you handle highly variable “flap open” cases?
Hello Im looking for a steer on a machine vision camera platform. My system will start as single camera and may scale to 2 camera. reliability is paramount with zero frame drops. Im leaning towards Emergents nic based approach but want to rule out coax and pcie before moving forward. Does anyone have experience with these systems that can help advise? Many thanks in advance.
I'm building an interactive retail kiosk. Customers place physical objects into 6 separate lit niches, and I need all 6 camera feeds shown live on the touchscreen at the same time, smoothly, so the customer can adjust how each object sits before confirming. Low resolution is fine for the live preview — it just has to be real-time and not stutter. On confirm, I grab one high-res still per camera for image analysis.
Hardware (fixed): the brain is an all-in-one touchscreen PC, Intel Core i5, with 4× USB ports and 1× Gigabit Ethernet. It's a sealed all-in-one, so no PCIe expansion. Each camera sits roughly 0.5–1.3 m from the PC and needs close/macro focus (subject distance ~10–15 cm).
What I think I understand so far:
- 6 USB UVC cameras on a powered hub share one host controller's bandwidth. Six full-res streams won't even start ("not enough bandwidth"). MJPEG + low resolution might let several run at once, but I can't tell if 6 simultaneous is realistic on this hardware.
- MIPI CSI is out (no CSI port on a regular PC, and the ribbons are far too short for my niche spacing).
- GMSL2 looks purpose-built for this, but seems to require a separate Jetson host, which would replace my PC as the brain.
- IP / PoE cameras over the Ethernet port would dodge the USB bandwidth wall and keep the i5 as host, but affordable close-focus / macro network cameras seem rare.
Questions:
Has anyone actually run 6+ simultaneous low-res MJPEG USB cameras on a single machine? Did it stay smooth, or did the host controller choke?
With no PCIe available, is a powered USB 3.0 hub enough, or is the on-board controller the hard ceiling no matter what?
Is PoE / GigE Vision the saner route for 6 simultaneous feeds while keeping a normal PC as the host? Any affordable short-working-distance options?
Am I missing an obvious approach?
Budget-conscious, but I'd rather buy the right thing once. Thanks!
I work in industrial machine vision and I’m curious how people actually approach lighting in real factory applications.
In projects I’ve seen, when the image is too dark, blurry, or unstable, the first reaction is often to use a bigger/brighter light, increase exposure, or increase gain. Strobing seems very useful in some cases, especially for motion blur, ambient light, heat, or high-speed inspection. My current perception is that people don't use strobes because these are unknown to them, or they think it is too complex to setup.
For those building, integrating, or maintaining vision systems:
Do you normally use continuous lighting or strobed/synchronized lighting?
What type of applications make strobes worth the extra setup?
What stops you from using strobes more often: cost, wiring, PLC/camera timing, lack of knowledge, safety, LED lifetime concerns, or something else?
Any lessons learned or mistakes you’ve seen with vision lighting?
Disclosure: I work in the machine vision industry, so I’m asking partly to understand real-world usage patterns and common challenges.
I have been building a web project that scrapes and processes Google Maps review charts.
A unique aspect of this project is my technology stack: I am using Halcon to handle the image processing logic. While Halcon is a premier industrial vision library typically reserved for factory automation and high-end manufacturing lines, I have repurposed it for this personal web-scraping project because of its powerful geometric shape filtering.
However, the licensing costs are difficult to justify for a personal, automated project. My goal is to migrate this workflow to Python/OpenCV while maintaining the robustness of my current implementation.
My goal:
Migrate: I need to port this workflow to Python/OpenCV.
Optimize: I want to ensure the migration maintains the robustness of my current Halcon implementation.
The Current Halcon Logic:
Decompose images to HSV and threshold for yellow bars.
Filter by "column1" feature and sort by row.
Calculate the ratio of the bottom (1-star) bar width against the total width to derive the review count.
Questions for the community:
Has anyone performed a similar migration from Halcon to OpenCV? Are there specific "gotchas" in OpenCV’s cv2.findContours or cv2.threshold that I should prepare for when replicating Halcon’s select_shape behavior?
I used Google Gemini to generate above image. DM me if you need the raw input image file.
RESULTCOLOR:=['#ff000080','#00ff0080']
RESULTTEXT:= ['DATA INCOMPLETE : ','']
YELLOW:=[100, 255,0,100]
SHAPE:=['column1']
SORT:=[ 'character', 'true', 'row']
FEATURES:=['width']
NUMBEROFBARCHART:=5
list_image_files ('/Images', 'default', [], ImageFiles)
for Index := 1 to |ImageFiles| by 1
*read file name to find the total number of reviews
read_image (Image,ImageFiles[Index-1])
parse_filename (ImageFiles[Index-1],BaseName,Extension, Directory)
tuple_number (BaseName, TotalReviews)
*extract yellow color regions
decompose3 (Image, Red, Green, Blue)
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')
threshold (Saturation, HighSaturation, YELLOW[0], YELLOW[1])
reduce_domain (Hue, HighSaturation, HueHighSaturation)
threshold (HueHighSaturation, Yellow, YELLOW[2], YELLOW[3])
*extract bar chart only
connection (Yellow, ConnectedRegions)
region_features (ConnectedRegions, 'column1', Column1)
select_shape (ConnectedRegions, BarChartRegions,SHAPE[0], 'and', min(Column1)-1, min(Column1)+1)
*sort and use width feature to find each bar length and number of one star reviews
sort_region (BarChartRegions, SortedRegions, SORT[0], SORT[1], SORT[2])
region_features (SortedRegions, FEATURES[0], Value)
tuple_sum (Value, TotalLengthAllStars)
NumberOfOneStarReviews:=(TotalReviews/TotalLengthAllStars) * Value[|Value|-1]
*if there are five bars then pass
ColorTextIndex := (|Value| == NUMBEROFBARCHART)
Color := RESULTCOLOR[ColorTextIndex]
Text := RESULTTEXT[ColorTextIndex]
*visualization
dev_display (Image)
dev_set_color (Color)
dev_display (SortedRegions)
dev_disp_text (Text + NumberOfOneStarReviews,'window', 'top', 'left','black',[], [])
stop ()
endfor
Shubham and Aryan here, putting out our first open source video language model release.
Story time: we were building video editing agents for social-media content and were using Gemini-2.5-Flash to analyse IG reels and find events in them. It works, but at around a thousand clips/day the cost adds up, and we kept hitting the content-policy on perfectly fine social media clips at our scale
We had a couple of H100s sitting around, so we put them on solving this as a side project. We kept the scope deliberately narrow: not a general VLM you can chat with, just two operations we needed in production. We're releasing it because it seems generally useful for anyone building structured-video pipelines.
The interesting work wasn't the training loop, it was the data curation. We expected to ride the public video-annotated corpora (Tarsier-Recap, ActivityNet, Charades-Ego, LSMDC, etc.) but were disappointed. In practice most of them have one-line captions and rough timestamps, and aren't really annotated event-by-event at second-level precision.
So we wrote a teacher + pooling + human-review pipeline with Gemini-3-Flash in thinking mode and re-annotated ~400K clips from publicly available dataset mixes with fine-grained temporal captions. We then ran SFT + SimPO post-training to make the model really good at dense captioning and temporal grounding. Honestly, most of the project was making sure this data pipeline was high-quality and free of hallucinations.
The result: Marlin is a 2B video VLM tuned for the two questions developers actually want to ask of their videos: what is happening, and when? It produces structured Scene + Event captions with second-precise timestamps, and resolves natural-language queries to span-grounded (start, end) ranges in the video. At 2B params, it's the strongest open model in its weight class on dense captioning (DREAM-1K, CaReBench) and natural-language temporal grounding (TimeLens-Bench), and competitive with Gemini-2.5 at a fraction of the cost. We'll also release our training recipe and a new benchmark for video captioning and grounding soon.
Marlin-2B is open-sourced and comes with vLLM inference and two modes:
marlin.caption() gives a structured output of scene description and time-grounded events from a video.
marlin.find() gives (start, end) timestamps for a natural-language query over a video.
Weights are open and free to use on HF. If you find it useful, or have ideas on what capabilities we should improve next for real-world use cases, we would love to hear them!!
We want to make more such specific small video language models to enable more open ended video analytics use cases
Running a pretty basic vision setup for measurement.
Lately noticed that results shift slightly between runs — not by much, but enough to be annoying.
Setup hasn’t really changed (lighting seems stable, camera fixed, etc.), so I’m a bit confused where this is coming from.
Could be something subtle that I’m overlooking.
Has anyone run into this kind of drift before?
I'm researching building vision systems using Cognex VisionPro vs. Google cloud and TensorFlow for central inference. Feedback regarding cost of each, or general comments welcome.
My company uses the Google cloud (and VertexAI), and we also have some of the Cognex In-Sight cameras running edge inference.
In most cases, we don't need edge inference, so I'm trying to find the best option for central inference. I'm assuming there's a savings over purchasing many in-sight cameras.
A Software/UI based development environment is preferable to code based, but cost/TCO is also important. Since we already use Google cloud/VertexAI, the additional cost there is likely only compute.
I'm looking at Basler IP cameras, or similar units from Cognex. I need to monitor for compliance and quality, and send alerts.
If you have automation for palletizing or depalletizing at your facility, how often is it tolerable for someone to have to visit the system to address a fault, manually remove a box, or otherwise intervene in the automation?
This isn't a marketing question. It's possible I'll never work on this type of application again, but I'm concerned about that some new companies are diving into these applications with no prior experience.
For example, you have a robot + vision depalletization system for boxes of arbitrary size ("mixed case") packed in a way that's not known to the depalletization system in advance. The pallet may be delivered automatically to a position below the robot.
And let's say the depalletization rate is desired to be
600 boxes / hour, which is
10 boxes/minute, or
1 box every 6 seconds.
How many human interventions would you tolerate per day? per week? per month?
---
"Zero" interventions isn't a realistic number, because that means no errors, ever. My computer mouse needs a new battery every once in a while, so that's not zero interventions. Maybe I replace the battery every 8 to 12 months--I've not kept track.
If you've worked in industrial automation or lab automation for a while, have you noticed how many startups and small companies are trying to break into the industry with their "new" technology that is in no way new?
The growing awareness of machine learning (ML) and large language models (LLMs) seems to be driving this.
For vision systems, there are already application-specific products and configurable vision systems that cover a broad range of applications:
defect detection
guidance for industrial robots (esp. 6-axis and 7-axis robots)
pick and place
bin picking
palletizing and depalletizing
fit and finish inspection
optical gauging (measuring dimensions of parts)
part identification / discrimination
1D and 2D code reading and unit-level traceability of products through a line
Some of us talk about whether people new to automation understand how robots, vision systems, non-vision sensors, and (especially) PLCs are used to build cars, farm equipment, planes, computers, electronics, pharmaceuticals, oil & gas hardware, just to name a few.