Propose a contribution to an open source project or a start to your own open source project.
For my thesis, I am building a DIY camera with an embedded thermal printer. Because of my strong interest in Canon cameras and lenses, I chose to use Canon EF lenses as the input system. This is a less common approach compared to using something like an ESP32 or ESP12S camera module, and it required finding ways to bridge Canon hardware with non-Canon systems.
I came across an open-source project by Pinefeat: a Canon EF and EF-S lens controller designed for use with the Raspberry Pi High Quality camera. Their project provides both the hardware adapter and supporting software to enable electronic control of focus and aperture when using Canon lenses on a Raspberry Pi. This resource made it possible for me to integrate professional camera lenses into my custom build.
While the system worked reliably out of the box, I noticed that the autofocus performance was significantly slower than what I experience on Canon film and digital cameras. Although EF lenses use DC motors and are not the fastest by design, the delay felt unusually long in this setup. This led me to investigate the software side of the system.
Through a series of tests, I adjusted and fine-tuned the configuration values in the control JSON file, specifically those related to focus stepping and timing. These changes resulted in a substantial improvement in autofocus speed. I tested the updated configuration across multiple Canon lenses, and the improvements were consistent.
As a contribution to the open-source project, I am thinking it would be nice to share these optimized settings, along with documentation of the changes and testing results. This could likely help other users achieve significantly faster autofocus performance without needing to modify the hardware. That said, since the system relies on a paid adapter and isn’t fully open or free, I’m not sure if contributing back in this way makes sense or would be accepted.
Another direction I am interested in exploring as a contribution is how images are interpreted and simplified, especially in terms of what is considered important in a scene. In my current workflow, I am already using language models and segmentation tools to identify key subjects, but I have noticed that the outputs are often too explicit or overly detailed. I am interested in developing a small system, possibly using ml5, that prioritizes semantic importance than visual completeness. For example, if the image is of a cat, the system would focus more on features like the head or face, while a landscape might be reduced to broader structural elements.
This could take the form of a curated dataset, a set of prompts, or a lightweight filtering layer on top of existing models. I think this would be a useful contribution for others working with generative or interpretive image systems, especially in cases where the goal is more abstract.