用户故事

IDNEO开发用于解释血型结果的嵌入式计算机视觉和机器学习算法

挑战

自动化医院工作人员用于确定患者血液抗原分型的卡片的视觉解读

解决方案

使用MATLAB开发、测试和生成图像分析和机器学习算法的嵌入式代码

结果

  • 超过精度要求
  • 项目完成时间减半
  • 优化的系统交付

“用Embedded Coder生成代码节省了我们的时间,我们能够在MATLAB中试验新功能并完成额外的迭代,并结合客户对早期原型的反馈。”

马克·布兰奇,IDNEO
格里福尔斯一家。

格里福尔斯一家。


了解医疗创伤患者的血液抗原分型通常对医生提供有效的治疗至关重要。Grifols MDmulticard可以在五分钟内从一滴血中确定血液抗原的类型。该卡片使用基于免疫层析条的横向流动技术来显示不同的红色条带,表明关键抗原的存在或不存在。

为了帮助临床医生解释MDmulticard结果,Grifols与IDNEO合作开发了一种自动读卡器。该读卡器软件是在MATLAB中开发的®并在Android目标硬件上实现,包括图像处理、计算机视觉和机器学习算法,将卡片上条带的模式和形状转化为血液抗原分型结果。

“MATLAB使我们能够快速分析图像,并通过多次迭代改进算法,”IDNEO的研发硬件主管Marc Blanch说。“在我们开发出算法后,MATLAB使其很容易部署到嵌入式系统中。如果用C语言或其他语言来实现这一目标将会困难得多,特别是在短时间内。”

挑战

由于湿度、温度、病人的输血史、稀释血液样本的人工过程或其他因素,MDmulticard上的红色条带有时会变形或褪色。因此,IDNEO团队需要开发能够处理波段模式和形状显著变化的算法。在项目开始时,团队只能使用有限数量的卡片。他们需要一个支持快速迭代的工作流程,这样当他们收到更多带不同图案和形状的卡片时,就可以轻松地改进算法。

Grifols和IDNEO希望尽快交付一个原型,使临床工作人员能够在算法部署到生产硬件之前对软件提供反馈。因为团队的工作时间很短,所以他们希望采用一种敏捷的开发方法,使他们能够结合客户的输入,并对不断变化的需求快速做出反应。

解决方案

IDNEO工程师在MATLAB中开发了图像处理、计算机视觉和机器学习算法,然后用嵌入式编码器为MDmulticard阅读器的生产Android实现生成代码®

核心图像分析算法是用MATLAB和image Processing Toolbox™开发的,它执行颜色均衡和白平衡,将图像转换到CIELUV颜色空间,计算颜色差异,然后在卡片上定位基准标记,指示图像中的波段模式。IDNEO团队将波段分析添加到核心算法中,创建图像的二进制版本,然后应用形态学操作获得卡片上每个波段的骨架图像。

接下来,他们实现了一个线性回归分类器,用从骨架图像中提取的特征进行训练。分类器检测到实带(被归为阳性)、无带(被归为阴性)和混合场带(被归为可疑),这可能发生在患者之前有过输血的情况下。

在对Grifols提供的图像进行了算法测试后,工程师们用MATLAB App Designer设计了一个用户界面。他们使用MATLAB编译器™开发了一个独立的MATLAB应用程序,Grifols的工程师和选定的医院员工可以在不安装MATLAB的情况下使用。

IDNEO团队使用嵌入式Coder从核心图像分析算法生成生产C代码。他们通过比较C代码产生的结果和原始MATLAB算法产生的结果来测试C代码,使用MATLAB Profiler来测量代码覆盖率。

该团队将生成的代码集成到一个Android应用程序中,为Grifols MDmulticard阅读器提供一个触摸屏界面。

为了满足客户紧凑的时间安排,IDNEO团队在整个开发过程中使用Scrum过程框架和持续集成。MATLAB支持这个工作流程,Jenkins工作测试用嵌入式Coder生成的代码与卡片图像数据库的对比。

一个经过充分验证的预生产的读卡器原型正在西班牙的多家医院进行可用性测试。与此同时,IDNEO工程师继续提高他们算法的准确性,使用统计和机器学习工具箱™中的分类学习者应用程序来评估支持向量机和其他机器学习模型。

结果

  • 超过精度要求。“我们的客户要求识别正负波段的准确率超过90%,”Blanch说。“我们在MATLAB中开发的算法在样本数据集中没有产生假阳性或假阴性,所以我们超出了这一要求。”
  • 项目完成时间减半。“MATLAB和嵌入式编码器使我们能够将完成项目所需的时间从24个月减少到12个月——而不需要为团队增加更多的工程师,”Blanch说。“这种方法使团队成员能够专注于他们的特定角色,使我们更有效率,并减少了软件bug的数量。”
  • 优化的系统交付“使用嵌入式编码器为设备生成C代码使我们能够完全集中精力开发和优化我们的算法,”Blanch说。“因此,我们能够在有限的时间内交付更高质量的系统。”
Baidu
map