暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用OCI数据标注服务及视觉服务实现生物医学影像识别

甲骨文云技术 2022-05-17
1181

人工智能有监督机器学习在大数据分析和数字化转型过程中具有广泛的应用,而此类技术需要海量有标记数据才能用于训练机器自主完成任务。针对结构化和非结构化数据(图像、文本、文件等)进行标记是很多人工智能和深度学习项目生命周期不可或缺的一部分。为了构建高质量的AI模型,我们需要大量的数据标注人员借助各种工具,对图像、文本、语音、视频等数据进行分类、框选、描点、转写、语义分割等操作,以产出足量适合机器学习的有标签数据集。数据标注的效率、质量、一致性、速度、成本直接决定了人工智能项目的最终成败。

人工智能有监督机器学习在大数据分析和数字化转型过程中具有广泛的应用,而此类技术需要海量有标记数据才能用于训练机器自主完成任务。针对结构化和非结构化数据(图像、文本、文件等)进行标记是很多人工智能和深度学习项目生命周期不可或缺的一部分。为了构建高质量的AI模型,我们需要大量的数据标注人员借助各种工具,对图像、文本、语音、视频等数据进行分类、框选、描点、转写、语义分割等操作,以产出足量适合机器学习的有标签数据集。数据标注的效率、质量、一致性、速度、成本直接决定了人工智能项目的最终成败。

OCI 数据标注服务使客户能够有效地构建丰富的标签数据集,以准确训练 人工智能机器学习模型。Oracle将为客户提供一个平台,将数据(图像、文本、文件等)组装成数据集,授予标注人员访问权限,提供丰富的 UIAPI,存储数据标签并整理这些标签数据,然后可用于构建自定义模型。

一些客户希望在控制台中使用 图形界面来快速标记图像或文本以训练自定义 AI 模型。例如农业公司希望在包装产品之前对其产品的质量进行评级。该公司将聘请贴标员为产品贴标签,以根据成熟天数或质量对产品进行分类,通过标记数据用于训练自定义模型并集成到现有系统中,以根据成熟度和质量对农产品进行自动分类,而不是手动分类。控制台界面将允许客户以最少的配置步骤快速将标签应用于整个图像或文本行。同样,电商和物流行业也可以训练和使用机器学习模型来识别商品和包裹标签,而模型的训练同样需要对图像进行目标定位和标注。

有些客户拥有大量非结构化数据,需要标注数据以针对特定用例训练 AI 服务模型,但没有大量劳动力来进行手动标注。此外,即使客户拥有足够标注劳动力,他们也需要优化标记大型数据集所带来的相关劳动力成本。在这种情况下,客户将受益于采用具有快速、批量、简便、标准化、高质量、可审计的标注系统,甚至引入包含迭代性质的主动学习,实现人在回路的AI系统运维。

OCI数据标注用例:

  • 图像分类

    标签数据集包括徽标、流行的服装轮廓和颜色、产品类型和医学图像。将这些带标签的数据集用于库存计划、产品分类、货架管理和医疗诊断。

  • 缺陷和质量检测

    标记不规则图像以创建模型,使产品质量检查、缺陷检测、安全监控和库存管理等要素自动化。

  • 表格处理

    标记文档,以便为患者索赔处理、医疗报告诊断和细胞研究更轻松地提取有价值的信息。

  • 虚拟协助

    对数据集进行分类,包括收据、发票和采购订单,用于客户支持聊天机器人和自动费用归档。

  • 信息提取

    标记单词分组并分配标签。带标签的文本数据集可用于客户调查分析、主题建模和客户支持。

演示环境说明

Oracle Cloud Infrastructure (OCI) Data Labeling 是一项用于构建标记数据集以更准确地训练 AI 和机器学习模型的服务。借助 OCI 数据标注服务,开发人员和数据科学家可以组装数据、创建和浏览数据集,并通过用户界面和API 将标签应用于数据记录。用户也可以导出标记的数据集,用于跨 Oracle 的 AI 和数据科学服务进行模型开发,从而获得无缝的模型构建体验。

本操作演示示例基于Use Data Labeling Service to Create a Biomedical Image Classification Model Workshop实验,本实验在Oracle OCI平台上操作,实验标准用量内不收取任何额外费用,大家可以使用已有或新注册OCI账户动手练习。

OCI AI标注服务及视觉服务实现生物医学影像识别的实践

生物医学影像在临床和科研方面的的应用,基于各种各样成像设备,如X光、计算机辅助断层摄影(computer aided tomographic,CT)、核磁共振成像、超声波等技术产生的影像,广泛地用于生物医学成像技术领域。

医疗行业中,80%~90%的医疗数据其实都是来源于医学图像,医学图像是医生进行疾病判断和科学研究的重要依据。在没有人工智能的情况下,医学图像面临着这样的问题:

  • 人工分析易出差错

  • 医疗从业人员短缺

如今,我们可以利用计算机在医学图像大数据以及临床大数据的基础上,通过深度学习,完成对医学图像的识别、分类、目标检测、图像分割和检索等,实现推理诊疗决策,并辅助医生诊断或者进行鉴别诊断参考意见。

本示例中我们针对公开生物医学影像数据集,通过OCI 数据标注服务及视觉服务实现图像识别。我们从东卡罗来纳大学的癌症血液细胞样本中获得了相干衍射图像。根据图像中存在的特征,这些 JPG 图像中的每一个都被标记为三个分类之一。这三个分类是:Cell-正常细胞、Debris-细胞碎片和Stripe-破碎细胞或鬼影细胞。我们的任务就是构建一个能够分类识别正常细胞影像(cell)和非细胞影像(debris, stripe)的AI视觉模型。

在本次实验中,我们将:

  • 使用OCI 控制台操作关键的 OCI 数据标注和AI视觉功能

  • 利用数据标注服务和自定义代码批量标记生物医学图像数据集

  • 使用已标记数据集和 AI视觉服务训练自定义图像分类模型

测试数据

通过公开数据链接下载训练集影像biomedical-image-classification-training-data.zip,打开压缩包,我们看到3个目录Cell/Debris/Stripe,里面包含对应的三类训练样本各100张。

通过上图示例影像,我们发现对于未标记影像,即使是生物医学专业人员也很可能出现识别和标记错误。

我们看到,训练影像通过文件目录进行了分类,我们需要将目前非结构化的分类转化为结构化标注,才能进入AI系统进行训练。

使用OCI数据标注服务,需要先将待标注数据上传到Oracle对象存储。下面,我们先将demo-training-data.csv文件上载到OCI对象存储备用:

OCI首页点击存储-(对象存储)存储桶:

创建一个新的标准存储桶bucket-AI-Label:

我们可以利用OCI  Web界面上传图像数据,本次我们利用配置好的OCI CLI客户端命令行上传图像数据到对象存储:

    export DL_BucketName="bucket-AI-Label"
    export DL_Compartment=<OCID of your Compartment>
    export DL_LabelDirectory="<本地Cell 图像路径>"
    oci os object bulk-upload --bucket-name "${DL_BucketName}" --src-dir $DL_LabelDirectory --content-type 'image/jpeg' --object-prefix c

    我们利用OCI CLI将Cell目录里的图像文件上传到对象存储,同时将对象文件加上c前缀。同样我们将Debris和Stripe目录里的图像文件上传到对象存储,并加上d和s前缀,上传后的图像如图所示:

    创建OCI标注服务数据集

    创建OCI标注服务数据集:点击左上角首页-“分析和AI”-“机器学习”-“数据标签”

    进入标注服务页面,点击“数据集”-“创建数据集”,输入标注数据集名称和说明,选择图像数据集,选择标注类型为“单标签”,点击下一步:

    在“添加文件和标签”页面,选择“从对象存储中选择”,并选择刚刚新建的存储桶bucket-AI-Label:

    下拉页面,在“添加标签”栏新建cell/stripe/debris三个标签,点击下一步完成待标注数据集的创建:

    标注数据集

    导入的未标注数据集如下图所示,我们看到状态都是未添加标签:

    点击其中任意图像,进入图像标注界面:

    我们看到每个未标注图像样本都有三个待选择标签,我们可以授予生物医学专家相应的OCI权限,让他们在OCI web界面逐一对图像进行标注。但是我们注意到图像数据集的目录名称和文件名称上都带有标记前缀,虽然是非结构化的标签,但我们可以利用OCI Python SDK批量的将这些非结构化标签转化为OCI标记服务的结构化标签,减少手工重复劳动。

    我们可以从GitHub上下载一个OCI批量标注工具https://github.com/scacela/oci-dls-bulk-labeling,本工具包由Python编写,OCI API 和SDK同样也支持JAVA、.NET、Go、Ruby等语言。

    解压并打开下载的oci-dls-bulk-labeling-main.zip压缩包,编辑config.py文件中的config_file_path, region_identifier, compartment_id, dataset_id, labels等参数:

    打开OCI Command-Line Interface (CLI) ,进入刚刚下载解压的批量标注工具本地目录, 运行如下命令:

    python3 main.py

    main.py程序如下,主要是调用工具包内辅助程序和OCI SDK访问OCI平台及数据标注服务,并结合Python re正则匹配功能识别对象名称以实现自动化批量标注:

    查看标注完毕的图像样本记录,数据记录显示“已添加标签”:

    点击任意标注好的图像记录,我们可以看到每个图像样本记录都被批量标注:

    利用OCI AI视觉服务构建生物医学影像识别模型

    本节我们将使用在上节实验中创建的标记数据集来训练自定义AI图像分类模型。图像分类模型将在一定置信度内将图像分类为细胞-cell、条纹-stripe或碎片-debris。

    进入OCI AI 视觉服务页面:

    创建一个定制视觉模型项目:

    项目命名为image-classification-demo:

    进入项目,点击创建模型:

    选择训练图像分类模型,训练数据集选择来自数据标签服务的AI-Label-demo,点击下一步:

    核对模型训练信息,点击创建和训练:

    笔者选择的是缺省建议训练时间,当前训练数据集上实测模型训练时长大概十几分钟。

    利用OCI AI视觉服务模型实现新图像的分类

    在OCI AI 视觉服务页面,找到刚刚训练好的模型,点击进入:

    进入模型预测分析页面,下载测试图像数据集,保存到本地。进入模型预测分析页面,从本地文件选取任意测试图像:

    模型显示预测结果和置信度,还会给出请求和相应的JSON格式数据:

    到此为止,我们的生物医学影像自动分类识别模型已经可以开始工作了!

    OCI数据标注服务的价值

    本实验中我们使用OCI 数据标注服务及视觉服务实现了生物医学影像的分类识别。利用OCI数据标注服务用户可以标记不同类型的数据:

    • 文件标签:上传文档,包括 PDF 和 TIFF 格式,并添加标签。这些标签有助于训练自定义文档分类模型以对票据进行分类并根据客户要求自动处理在线购物等相关场景。

    • 图像标注:开发人员可以上传原始图像、添加标签和突出显示图像区域。通过将这些标签添加到图像中,生成的数据集可用于训练自定义图像分类和对象检测模型。

    • 文字标注:上传文本分类标签并使用 OCI 数据标签自动识别文本中的关键信息。此标记文本可用于训练用于信息提取、意图分类、情感分析等的自定义自然语言处理模型。


      我们的用户可以利用OCI数据标注服务轻松标记和使用数据:

    • 更快地标记数据:OCI 数据标签提供自定义模板和多种注释格式。根据机器学习模型的需要标注数据。只需三个步骤即可对图像、文本或文档进行注释:通过加载数据、对其进行标注和导出数据来创建数据集。

    • 更快地导出标记数据:以 JSON 格式将带注释的数据记录的快照导出到对象存储。通过 Oracle 的 AI 和数据科学服务访问导出的标记数据集,并将它们集成到自定义模型构建流程中,无需任何转换。

    • 无缝整合:单独使用 OCI 数据标签,或在 OCI Vision 和 OCI Language 等其他服务中访问它。开发人员和数据工程师可以组装和标记数据集,然后通过 OCI AI 服务轻松引用它们,作为自定义模型训练工作流程的一部分。喜欢构建和训练自己的深度学习或自然语言处理模型的数据科学家可以通过 OCI 数据科学使用标记的数据集。

    OCI数据标注服务参考链接

    产品介绍:https://www.oracle.com/cn/artificial-intelligence/data-labeling/

    技术文档:https://docs.oracle.com/en-us/iaas/data-labeling/data-labeling/using/home.htm

    动手练习:https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/workshop-attendee-2?p210_workshop_id=3097&p210_type=3&session=104663806404264

    编辑:殷海英


    文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论