halcon的深度学习:深度学习模型

深度学习模型


本章介绍了HALCON中的深度学习模型的一般概念以及数据处理。

从概念上讲,HALCON中的深度学习模型是深度神经网络。每个深度神经网络都有一个定义其功能(即可以用于其任务)的架构。一种功能可能有几种可能的网络体系结构。当前,用于以下功能(也称为方法或类型)的网络已在HALCON中作为模型实现:

对于已实现的方法,您可以在相应的章节中找到有关特定工作流程,数据要求和验证措施的更多信息。有关深度学习(DL)的信息通常在“深度学习”一章中 

在本章中,您将找到信息,DL模型需要并返回哪些数据以及如何传输这些数据。

数据

独立于所使用的深度学习方法,必须按照某些约定将数据提供给模型。作为基本概念,模型通过字典处理数据。更准确地说,该模型为每个输入图像接收一个字典 这样的词典包含图像,并且在训练和评估的情况下包含诸如地面真相注释之类的信息。作为输出,模型返回包含结果的字典下图给出了一个图示。 DLSampleDLResult

ikj'val_1'= [...]'val_1'= [...]'image'...'val_2'= [...]'val_3'= [...]'val_1'= [...]
(1)(2)
字典作为模型输入的示意图:(1)训练和评估:包括图像以及有关图像及其内容的信息。出于可见性考虑,将其设置为3,并且仅注册了很少的条目。(2)推断:仅包含裸图像。这些字典可以一次或在一个元组中传递。 DLSampleBatchSizeDLSample

在训练和评估过程中,额外的词典 用作数据库,并收集所有单独的图像信息词典(存储在key中)。在该数据库中,将创建模型输入字典,请参见下图和“培训和评估输入数据”部分。 DLDatasetsamplesDLSample

...'image_dir' = '...''class_ids'= [...]...= []......'image_file_name' = '...''image_id'= ......'image_file_name' = '...''image_id'= ......'image_file_name' = '...''image_id'= ......'image_file_name' = '...''image_id'= ......'image_file_name' = '...''image_id'= ...ik0n-1jijk'image_id'= ......'image'kij
用于训练和评估的不同数据集字典的示意图。出于可见性目的,仅注册了很少的条目并将 其设置为3。在此示例中,我们有示例。在其中创建一个元组 ,其中包含 三个随机选择的样本中的一个。 BatchSizeDLSampleBatchDLSample

尽管对于模型本身不是必需的,但是字典 是根据训练和评估程序使用的。因此,我们强烈建议 您根据数据创建字典其必要的条目如下所述。在对象检测和 语义分割的情况下,可以通过该过程为您方便地创建此字典 请使用相应的过程文档,以获取有关数据要求的信息,以使用这些过程。如果以其他方式创建,则它必须至少包含以下说明中未用数字标记的条目。在数据集的预处理期间,各个过程包括字典的其他条目。 DLDatasetDLDatasetread_dl_dataset_from_cocoread_dl_dataset_segmentationDLDatasetDLDataset

下面,我们解释不同的数据和所涉及的字典。因此,我们使用以下缩写来使用条目标记方法(m):“ A”:任何方法,“ D”:对象检测,“ S”:语义分割。在相应的章节参考中对仅适用于某些方法的条目进行了更详尽的描述。

  • 培训和评估输入数据

  • 数据集包括图像和相应的信息。必须以模型可以处理它们的方式提供它们。关于图像要求,请在下面的“图像”部分中找到更多信息。

    有关图像和数据集的信息以字典的形式表示,该字典用作数据库。更准确地说,它存储有关数据集的一般信息以及在之下收集的单个样本的字典 当需要实际的图像数据时, 将为所需的每个图像创建一个字典(如果已有的话,则将其读取)。这些词典的关系如上图所示。在下文中,我们将更详细地解释这些字典及其键/值对。 DLDatasetsamplesDLSample

    • DLDataset

    • 该词典 存储有关数据集的一般信息,并收集各个样本的词典。因此,标志性数据不包括在内,而是各个图像的路径。根据模型类型,此词典可以包含以下条目: DLDatasetDLDataset

      描述格式
      image_dir所有图像的通用基本路径一种
      dlsample_dir [1]所有样本文件的公共基本路径(如果存在)一种
      class_names要区分的所有类别的名称字符串元组一种
      class_ids要区分的所有类的ID(范围:0-65534)整数元组一种
      preprocess_param [1]预处理期间使用的所有参数值字典一种
      samples样本说明集合字典元组一种
      class_weights [1]不同类别的权重实数元组小号
      segmentation_dir所有分割图像的公共基本路径小号

      read_dl_dataset_from_coco在对象检测和 read_dl_dataset_segmentation语义分割的情况下, 可以通过该过程为您方便地创建此字典 请使用相应的过程文档,以获取有关数据要求的信息,以使用这些过程。标记为[1]的条目包含在预处理过程中。

    • samples

    • 将字典的元组作为值,数据集中的每个样本对应一个。这些词典包含有关数据集的单个样本的信息。根据模型类型,此词典可以包含以下条目: DLDatasetsamples

      描述格式
      image_file_name图像的文件名及其相对的路径 image_dir一种
      image_id唯一的图像ID(编码格式:UINT8)整数一种
      split [2]指定所分配的子集分割('train''validation''test'一种
      dlsample_file_name [3]相应字典的文件名及其相对于的路径DLSampledlsample_dir一种
      segmentation_file_name地面真相分割图像的文件名及其相对的路径 segmentation_dir小号
      bbox_label_id边界框的地面真相标签(格式为class_ids整数元组d
      bbox_row1 [4]地面实况边界框坐标:第1行实数元组d
      bbox_col1 [4]地面实况边界框坐标:第1列实数元组d
      bbox_row2 [4]地面真相边界框坐标:第2行实数元组d
      bbox_col2 [4]地面实况边界框坐标:第2列实数元组d
      coco_raw_annotations可选的。为该图像中的每个图像包含一个字典,其中包含所有原始COCO注释信息 bbox_label_id字典元组d

      这些词典是其中的一部分,因此 在对象检测和 语义分割的情况下,这些词典是由该过程同时创建的表中带有标记的条目是一个例外,[2]:过程添加,[3]:过程添加 [4]:对于边界框,使用像素居中,亚像素准确的坐标。 DLDatasetread_dl_dataset_from_cocoread_dl_dataset_segmentationsplit_dl_datasetsplitpreprocess_dl_samplesdlsample_file_name

    • DLSample

    • 字典用作模型的输入。对于一批,它们作为元组的条目移交给 。 DLSampleDLSampleBatch

      通过该过程为每个图像样本 创建 一个字典它包含图像的所有地面真相注释。如果使用标准过程进行了预处理 ,则会在其中自动创建它们。注意,预处理步骤可能导致相应字典的更新 。 DLSampleDLDatasetgen_dl_samplespreprocess_dl_samplesDLSample

      根据模型类型,可以具有以下条目: DLSample

      描述格式
      image输入图像图片一种
      image_id唯一的图片ID(如) DLDataset整数一种
      segmentation_image带有地面真相分割的图像,请阅读 segmentation_file_name图片小号
      weight_image [5]具有像素权重的图像图片小号
      bbox_label_id边界框中图像部分的地面真相标签(格式为class_ids整数元组d
      bbox_row1 [4]地面实况边界框坐标:第1行实数元组d
      bbox_col1 [4]地面实况边界框坐标:第1列实数元组d
      bbox_row2 [4]地面真相边界框坐标:第2行实数元组d
      bbox_col2 [4]地面实况边界框坐标:第2列实数元组d

      这些字典是由过程创建的 gen_dl_samples上表中标记为[5]的条目是一个例外:由过程创建gen_dl_segmentation_weights[4]:对于边界框,使用像素居中,亚像素准确的坐标。

      请注意,如果应存储这些DLSample信息,请使用write_dl_samples过程您可以通过read_dl_samples阅读它们。 


  • 推断输入数据

  • 推理输入数据由裸露的图像组成。必须以模型可以处理它们的方式提供它们。关于图像要求,请在下面的“图像”小节中找到更多信息。

    该模型设置为通过字典 DLDataset移交所有数据 为了进行推断,可以使用过程gen_dl_samples_from_images创建仅包含图像的字典这些字典可以一次或在一个元组DLSampleBatch中传递 

  • 训练输出数据

  • 作为运算符的输出train_dl_model_batch,模型将返回DLTrainResult字典在此字典中,您将找到总损失的当前值以及密钥的值以及模型中包括的所有其他损失的值total_loss。  

  • 推断和评估输出数据

  • 作为运算符的输出,模型将为每个样本返回一个字典根据模型类型,此词典可以包含以下条目: apply_dl_modelDLResult

    描述格式
    segmentation_image具有分割结果的图像图片小号
    segmentation_confidence具有分割结果置信度的图像图片小号
    bbox_class_id边界框的预测类(形式为class_ids整数元组d
    bbox_confidence边界框预测的置信度值实数元组d
    bbox_row1预测边界框坐标:第1行实数元组d
    bbox_col1预测边界框坐标:第1列实数元组d
    bbox_row2预测边界框坐标:第2行实数元组d
    bbox_col2预测边界框坐标:第2列实数元组d

    有关输出值的进一步说明,请分别参考“深度学习/语义分割”和“ 深度学习/对象检测”一章 

  • 图片

  • 无论何种应用,网络都会对图像提出要求。具体值取决于网络本身,可以使用来查询为了满足这些要求,您可能需要预处理图像。整个数据集以及图像的标准预处理在中实现在定制预处理的情况下,此过程提供了实施指导。 get_dl_model_parampreprocess_dl_samples


操作算子的名单:

  • apply_dl_model

  • 在一组图像上应用基于深度学习的网络以进行推理。


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864