IDNEO 工程师使用 MATLAB 开发图像处理、计算机视觉和机器学习算法,然后使用 Embedded Coder® 为 MDmulticard 读卡器的 Android 产品级实现生成代码。
使用 MATLAB 和 Image Processing Toolbox™ 开发的核心图像分析算法,可对图像进行颜色均衡和白平衡,将图像转换为 CIELUV 色度空间,计算色差,然后在指示图像中带状图案的卡片上定位基准标记。IDNEO 团队为核心算法添加了条带分析,可创建图像的二进制版本,然后应用形态学操作以获取卡片上每个条带的骨架图像。
接下来,他们实现了一个线性回归分类器,该分类器已使用从骨架图像中提取的特征进行训练。如果患者先前输过血,该分类器可以检测到实心条带(阳性)、无条带(阴性)和混合外观凝集条带(疑似)。
在对 Grifols 提供的图像进行算法测试后,工程师使用 MATLAB App Designer设计了用户界面。他们使用 MATLAB Compiler™ 生成了一个独立的 MATLAB 应用程序,Grifols 工程师和部分医院工作人员可在不安装 MATLAB 的情况下使用该程序。
IDNEO 团队使用 Embedded Coder 并根据核心图像分析算法生成了产品级 C 代码。他们通过将其生成的结果与原始 MATLAB 算法生成的结果进行对比来测试 C 代码,并使用 MATLAB Profiler 衡量代码覆盖率。
该团队将生成的代码集成到一个 Android 应用程序中,该程序为 Grifols MDmulticard 读卡器提供了触摸屏界面。
为满足客户紧张的交付期要求,IDNEO 团队在整个开发过程中使用 Scrum 流程框架和持续集成。MATLAB 支持此工作流程,同时使用 Jenkins Jobs 根据卡片图像数据库对使用 Embedded Coder 生成的代码进行测试。
目前,一款经过充分验证的读卡器试生产样机正在西班牙的多家医院接受可用性测试。与此同时,IDNEO 的工程师们也在使用 Statistics and Machine Learning Toolbox™ 中的分类学习器应用程序来评估支持向量机等机器学习模型,以不断提高算法的准确性。