【Jetson开发项目展示】利用开放显微镜和深度学习进行疟疾检测

2020-03-17 15:02:40 浏览数 (1)

【项目团队】Team MakerGram: Salman Faris, Muhammad Swalah A A, suhail jr

一个开源的显微镜可以检测像疟疾这样的疾病,它的主要目标是为穷人提供高质量的健康检查。

【项目材料】

【项目背景】

研究估计,在低收入和中等收入国家,每年有500万人死于质量低劣的卫生保健。这一数字远远超过了那些国家中因得不到医疗而死亡的360万人。

现在尽管我们几乎可以利用技术来解决所有问题,但是人们在没有得到适当医疗照顾的情况下死亡,并且大多数人无法使用医疗设备来确定疾病,因此他们不了解这种疾病的严重性,最终,带来大问题。

疟疾是一种威胁生命的疾病。它通常通过受感染的蚊子叮咬传播。受感染的蚊子携带疟原虫。当蚊子叮咬你时,寄生虫就会释放到你的血液中。

寄生虫一旦进入体内,就会进入肝脏,在那里成熟。几天后,成熟的寄生虫进入血液并开始感染红细胞。

开源硬件有可能彻底改变我们制造科学仪器的方式;随着随时可用的3D打印机的出现,机械设计现在可以比以前更快、更容易地共享、改进和复制。然而,印刷零件通常是塑料的,与传统的机械加工相比,其性能往往很差。开放显微镜很便宜,很容易制作,主要的目标是给穷人和社会提供高质量的健康检查,在需要的时候得到医疗照顾。

互联网上有很多关于疟疾检测的项目,在这里我不打算重新发明轮子,而是利用资源来节省时间

【项目目标】

  • 建立一个传说中最便宜的开源显微镜,可以进行血液测试,找出常见的疾病
  • 完全可虚构和廉价的成本
  • 自动检测疾病使用图像处理

最广泛使用的方法(到目前为止)是在显微镜下检查薄的血液涂片,并在视觉上寻找被感染的细胞。患者的血液涂抹在玻璃载玻片上,并用对比剂染色,以便更好地鉴别红细胞中的受感染寄生虫。

然后,临床医生手工计算寄生红细胞的数量——有时多达5000个(根据世界卫生组织的协议)。

面对这些问题,我们在构建模型时必须牢记以下几点:

-可能会缺少可靠的电源

-电池供电的设备计算能力较低

-可能缺乏互联网连接(因此在云上进行培训/存储可能很困难!)

综上所述,Jetson nano非常适合作为边缘计算设备。

【建议的解决方案】

提出的解决方案将使居住在农村地区的人们受益,他们需要长途旅行以应对任何医疗情况,无论是否紧急。人们携带疟原虫只需要去看医生就可以得到治疗,并且可以随时在开放的范围内进行检测。

软件和数据集

我们使用带有Python和Tensorflow的Jetpack SDK来推断数据模型, 美国国立卫生研究院有一个27558张细胞图像的疟疾数据集,其中有同等数量的寄生细胞和未感染细胞。提出了一种基于水平集的红细胞检测与分割算法。

硬件

我们使用OpenFelxure设计制作了显微镜,并使用了改进版的Raspberry Pi Cam。

【项目实施】

1.利用3D打印机制作开源显微镜(细节点击“阅读原文”)

将修改后的Pi CAM上的CSI电缆连接到Jetson Nano上

2.给Jetson NANO刷机(过程可以参考NVIDIA官网)

注意使用5V4A的DC电源

3.测试Jetson计算机视觉功能

这里参考【在线教程】10行代码教你在Jetson NANO上实现实时视频检测 ,这个教程非常好

【疟疾数据库】

步骤1:收集疟疾数据集数据集本身可以在NIH的官方网页上找到:

美国国家卫生研究所(NIH)提供的疟疾数据集的子集。我们将使用这个数据集来开发一个深度学习分类模型。

步骤2:训练模型

对于Jetson,nano会花很多时间来训练模型,而且我无法使用功能强大的计算机,因此我们无法完成训练过程。:(

(我们知道这只是一个借口!)因此我们使用了预训练的数据模型并完成了预测。

步骤3:预测

Pyimagesearch使用Keras模型,因此我通过遵循

https://github.com/Tony607/tf_jetson_nano repo将Keras模型转换为TensorRT模型。

【项目结果】

我们试图获得受疟疾影响的血细胞进行实际测试,但未能获得,最后,我们用正常血液进行了测试以测试显微镜的视力。

【结论】

该项目是完全开放源代码的,我们相信该项目可以通过帮助穷人提供健康和适当的治疗来改变社会。借助更多的数据模型和培训,我们可以提高准确性,更好地对抗疟疾等疾病。如果我们拥有功能强大的GPU系统,我们可以训练更多的数据集并提供模型,将来会尝试使用。最后,我们有一个完整的端到端疟疾分类系统,谢谢大家。

0 人点赞