Last week I tried out our computer vision diagnosis system Ocula in Lacor Hospital, Gulu. The prototype system is shown here running on a netbook with a Moticam MC1000 microscope camera. There is a malaria positive stained blood sample in the scope, and software on the netbook processes camera images in real time and highlights the positions of suspected parasites.
This was the first test of a few new software components. A lot of time had gone into reverse engineering a Linux USB driver for the Moticam (source code including Python wrapper is here, tested on Ubuntu. Motic, in future please release proper drivers so we don't have to waste time on this!). This test also included some developments on visual features which improved the specificity on test data; the most recent performance figures for parasite detection are precision 88.6%, recall 55.1%. This is an improvement on the results in our AAAI 2012 paper and might be good enough to be useful as an assistant to a lab technician, triaging their attention so that many slides can be processed quickly. But it isn't yet at the stage where it would be good enough for completely automated diagnosis. The live prototype was encouraging though - with the help of lab technician Isaac Otim we were able to verify that a few detections were in fact genuine parasites.
The video below shows the prototype running. The first clip shows Isaac operating the microscope while the analysis software is running. The second section of the video shows screen output on a
sample from Mulago Hospital, Kampala, of hyperparasitemic blood with many
malaria parasites in every field of view. Most of the detections are
genuine parasites, though there are currently quite a few false
One thing I discovered is how much dust is a serious issue, as particles on one of the lenses can appear similar to an out-of-focus nucleus of a parasite in the image. This needs to be handled in software as dust is a fact of life in Ugandan clinics, though there are a few ways to approach this. For one thing, specks of dust on the lens appear stationary in the image even when the slide is moving; so we can just look for any blobs which never move and make sure they never trigger a detection.