I’ve heard from a bunch of different people interested in machine learning, in particular for looking at blood smears. That includes the team at Bath/Cambridge as well as a number of different groups around the world. Rather than continue in parallel, I thought it would be good to make a space for everyone to be introduced to each other. If you are working on machine learning, or interested in it, please say hello here - and maybe we’ll see some collaborations form.
I am definitely interested in the topic.
I am considering setting up a business to certify algorithms of deep learning for the analysis of images produced by the OpenFlexure microscope.
We are about to start working on a deep learning AI for obtaining standard hematology numbers. RBC, WBC and differential counts, platelets.
So far, we have made some modifications to the microscope to add a touch screen to the base, have a fixed slide position sample holder and a motor controller that fits on top of the Pi.
Everything can be found on GitHub - WOIDMO/Mini-hematology-lab: Open Source Mini Hematology Lab
Very interested about sharing ideas for optimizing deep learning models for the Pi.
Sounds very interesting. We have been working on some image classification and object detection models to detect malaria with an Openflexure Microscope. GitHub - danielbarco/malatec_app
For malaria training data: GitHub - danielbarco/malaria_datasets: Collection of publicly accessible malaria datasets
That’s an interesting solution. Thanks for the heads-up!
We are also interested in the topic. We’ve already applied a classification algorithm and are now looking into a) integrating into the openflexure software b) a detection/tracking algorithm.
Extremely interested in this!
We have been working in pet care for a few years now and I am starting a new business for providing hardware/lab work/productions for veterinaries in general. I come from mechanical background so I have no idea how to start, still, next logical step after providing electronic microscopes would be automating counts.
I am planing to use Waveshare’s CM4 board and it can fit a M.2 PCIe so I’m perfectly fine with offloading ML to specialized chip. So I’m interested in optimizing for specific architecture as well (I think Coral is the only board available in M.2 format!?).
The thing about deep learning with images is, that you usually apply “data augmentation” to be more robust about expected variations and for better generalization. With microscope images, depending on the imaging and illumination techniques, these variations might not be so simple to model.
A cool thing about OpenFlexure and it’s open architecture is, that we can cheaply build several different versions of a microscope, use different lenses, illuminations. Build slight variations and imperfections on purpose into the microscope. And do all of this cheaply.
For a given project it is perfectly feasible to build 10 different microscopes and capture training data with it. This can help in building more robust models which don’t have to be retrained for a new microscope setup.
In my opinion that’s the most interesting aspect about ML + OpenFlexure to consider.
We are interested! What’s next?
It’s worth mentioning that using something like a Jetson is also possible - you’d need to tweak the code a bit, but I know @B.Diederich has managed to get it running on a Jetson Nano with a USB camera. The Pi is great, but I don’t know how CM4 + breakout board + Coral compares in terms of community and/or price to a single-board solution like a Jetson.
I don’t know what’s next - I’m a bit overwhelmed by the response! My hope is that we’ll somehow self-organise and do something useful… At least the initial question of how much interest there is has been resoundingly answered!
What is a Jetson and how is that better than the Pi ?
I agree with you about the robustess that can be built using variations of OpenFlexure but I would expect an early deeplearning solution to be applied to one kind of set up at a time no ?
Practically, I imagine building image banks for each set up and integrate them in one algorithm once they achieve a critical mass.
Yup! Works great on the Jetson. I bet it’s relatively simple to wrap the camera in some Picamera interface (less functionality of course). There was not much to adjust - getting openCV to work was a bit tricky if I remember correctly. An image with a running version can be found here Zenodo. Our gitlab fork is here.
Feel free to poke me with questions
The Nvidia Jetson is yet another signle-board computer. It’S way more powerful than the RPI and features a bunch of cudacores. You can run tensorflow on it with some native acceleration. It runs Ubuntu very nicely!
To clarify the breakout board is used because it have all connectors on one side, and camera is along the edge of the board; both make it way easier to warp in a nice package. The original Pi 4B made it tricky to work on custom heat sinks, switching camera setups,etc…
Except for 2GB RAM Jetson, CM4 setup is still cheaper at 4GB RAM and above. The M.2 Coral dual chip is currently listed for ~40$ but it will be a niche solution for client-side ML.
CUDA-based solution is better in term of popularity for sure, and one can offer server-side services. My intended customers certainly won’t care regardless.
Hi, I am happy to see algorithms for recognition of infected blood cells. Our aim is to count and/or recognize different pollen grains.
I’m intereted too