PupilEXT Remote Hardware development #53
Replies: 1 comment
-
Here is a brief update on hardware progress! :) We started using a version of the device without its own operating IR illuminator, but assembled in the designed housing. It turned out that several fixes were needed for better rigidity and easier setup/use. So I re-iterated on the modules and applied several changes.
The next plans are to optimize the electronics further, and stress-test the whole assembly. The 3D printable elements are almost completely done, I think. However, I am to test a few very little fine tunings in one next iteration, before calling it done. In the meanwhile I am to head for adding the MCU finally, which will need also slight changes to the software, to properly identify and control the device once plugged. I will keep you updated once there is further progress! |
Beta Was this translation helpful? Give feedback.
-
Hi Everyone!
I have been /am designing a modular hardware for remote pupillometer/eye tracker usage of PupilEXT. This will be a casing, that houses the cameras and necessary circuitry for IR LED illuminators and their driver. The elements will be 3D printable, but for safety reasons, the technology will not be FDM due to the low melting point of its materials. As instead, the models are designed for best compatibility with SLS printing - even though the price of the printer is higher, printing from China is almost the same price for FDM and SLS for small parts, so the latter is very much worthy for its better physical properties.
Modular casing
My main idea is a modular system of elements that encapsulate different functionality and can be assembled together to produce a remote (a.k.a. desk-top) system.
For example:
Here are a few render pictures of the basic concept (These are a bit outdated now, but show the main idea):
These modules could be assembled in different constellations, to be used with PupilEXT software, as its capabilities get extended in the future. For example, one could simply put together a version consisting of 1 camera and 1 IR light source. But if they need better accuracy, they could build a 2 camera version with 1 IR illuminator. And also if someone tries to reach better camera-head distance measurements while not wanting to buy another camera for a stereo setup, they could make e.g. a 1 camera 2 IR illuminator setup... (though this lastly mentioned case would lower the reliability of pupil detection as the chance of disrupting the pupil circumference by a corneal reflection is twice as big as in case of a single-IR version). Also as @sasfog and me are currently working on incorporating gaze tracking to the software, it could be interesting to observe what tradeoffs we see in the better distance approximation vs. worse pupil detection confidence when using 2 IR sources. Actually I am more into improving PupilEXT for pupillometry, but I know gaze-tracking and eye event detection would also be crucial for better artefact rejection, and ultimately would add a huge plus to the current pupillometry use of this software (and also to involve more people to collaborate to the project in the future). But this post is not about the software, so I am getting back to hardware development in the following paragraphs :)
I have already made three different iterations of most modules, and now they are waiting for the finishing moves. However, the IR illumination driver circuitry is still under design (described below). I also came up with the idea that PupilEXT software should be able to switch the illuminator on/off via the microcontroller unit, which functionality we will add to a future release of the software. Furthermore, the MCU could also monitor the temperature of the LEDs and the driver as well, so that PupilEXT could inform the experimenter that the device has reached a thermal equilibrium with its environment and is likely fit for best reliable pupil measurement ("warm-up" done).
Illuminator driver
My father and me are designing a little driver circuit to empower a group of IR (actually NIR) LEDs to provide proper independent lighting for the PupilEXT hardware.
So far we have tried many different ways of driving IR illuminator LEDs:
... so we ended up choosing the 3rd option: It heats a little bit, but that is still tolerable. And actually no matter what we do, the "weakest" part of the system regarding efficiency and useless heat generation, will always be the IR LED (or LEDs), and not this driver in my opinion. And since we cannot improve the LEDs, and already have to stick to an active cooling solution, the driver is not much of a design concern for further optimization yet.
Note: we did not experiment with camera image acquisition-locked illumination driving, though it could be an efficient method also, worth a look in the future.
The illuminator unit
Regarding the type of LEDs, we have also gone through a journey:
First we tried a huge matrix of cheap low-power, standard 5mm dia. thru-hole SMT packaged LEDs, around ~850nm centroid wavelength, which:
+ have the advantage of better distribution of heat which is easier to dissipate over their large surface, even without an additional heatsink, but...
- inevitably cause a large corneal-reflection trace on the pupil image, which lowers the efficient circumference length used to fit the ellipse for pupil detection, which is unfavourable for us, as our main goal is high quality pupillometry.
- are not really easy to reliably source. Better manufacturers have already drifted towards SMD packaging, and no matter how many manufacturers there are that produce mainstream packaged low-power LEDs, they hugely vary regarding their exact spectral emission profile, radiation angle characteristics, and ultimately how bright and uniformly they can illuminate the eye
... so in the end, these are not the best option.
A smaller matrix of high-power, standard 5mm dia. thru-hole SMT packaged LEDs, around ~850nm centroid wavelength, which:
+ are in most aspects more favorable than their low-power alternatives, regarding corneal reflection trace size, and sourcing reliability, though...
- are slowly phased out by SMD-packaged alternatives
- generate concentrated heat, but this heat cannot be well transferred to a heatsink, due to the through-hole solder joints, and applicable glass-fiber PCB material used
... not be best option either.
A small group of SMD packaged LEDs, namely the Osram SFH 4717, with reliable 850nm centroid, which:
+ can give a pinpoint corneal reflection trace, which is preferred for pupillometry
+ generate concentrated heat, which can be properly transferred to a heatsink, using alimunium PCB material
- are expensive and bound to one manufacturer, though this type may be so widespread in future that equivalent models will possibly be available from other manufacturers
... so we opted for this.
Once we chose the SFH 4717 type LED, we tried different constellations:
(Also, if one would like to use a first prototype of the device and try the illuminator without a specific driver, the 4 LED illuminator is optimal, as the needed illumination is produced at ~12 volts with it, thus any standard PC power supply can be used to power the LEDs - though there will be a considerable thermal runaway, as described earlier, and just barely running the LEDs with a 12v power source is not advised for real measurements in that case.)
... so we settled at the 4 LED version. (Edit: which is anyway quite similar to what Zandi et al., 2021 show in their PupilEXT debut paper.)
Plans for now
Currently, we are prototyping and adding:
These developments are on the way. I think we could finish the hardware this fall or until next spring. I will be coming with updates as we proceed.
Beta Was this translation helpful? Give feedback.
All reactions