HALCON 20.11:深度学习笔记(1)
HALCON 20.11.0.0中,实现了以下深度学习方法:
1. Anomaly Detection(异常检测)
给每个像素分配显示未知特征的可能性。更多信息请参见深度学习/异常检测一章。
异常检测的一个可能的例子:给输入图像的每个像素分配一个分数,表示它显示未知特征(即异常)的可能性有多大
2. Classification(分类)
将图像从给定的类集合中分类为一个类。更多信息请参见深度学习/分类一章。
分类的一个可能的例子:将图像分配给一个类
3. Object Detection(对象检测)
检测给定类的对象,并在图像中定位它们。更多信息请参见深度学习/对象检测一章。
对象检测的一个可能的例子:在输入图像中找到三个实例并分配给一个类
4. Semantic Segmentation(语义分割)
为图像的每个像素分配一个类。更多信息请参见深度学习/语义分割一章。
语义分割的一个可能的例子:输入图像的每个像素被分配给一个类
上面列出的所有深度学习方法都使用网络来完成分配任务。
在HALCON中,它们是在通用DL模型中实现的,具体参见深度学习/模型章节。
只考虑输入和输出来训练模型,也称为端到端学习。
通常,训练算法使用图像和可见信息不断调整模型,以区分不同的类别,并最终找到相应的目标。
对于您来说,它有一个不需要手动特性说明的好结果。当然,你必须选择和收集适当的数据。
系统需求
对于深度学习,还有其他先决条件。请参阅HALCON“安装指南”中列出的要求,章节“深度学习和基于深度学习的方法的要求”。
包括深度学习的HALCON磁盘空间要求:
- 运行时间:3.2 GB(使用CUDA 10.2.89)。
- 运行时间:5.4 GB(使用CUDA 11.1.0)。
- 完整安装:20 GB。
具体设备的实现是否可用取决于方法和任务。深度学习模块的方法概述见表1,其他模块基于深度学习的方法见表2。
表1:深度学习的模型依赖
[1]: 除了aarch64和armv7a
[2]: 除了某些交付的模型,请参阅read_dl_model
表2:基于深度学习方法的方法依赖
深度学习和基于深度学习方法的应用程序,如深度OCR,可能会有进一步的需求,这取决于它们运行的设备(CPU或GPU)。
GPU应用程序:在GPU上运行深度学习和基于深度学习的应用程序时,需要额外的先决条件。表3列出了成功测试HALCON所需的其他先决条件。在有多个条目的情况下,必须使用相应的条目。
HALCON检查安装了哪个CUDA版本,并自动查找相应的子目录及其库。在Windows或Linux x64下,这些库分别在单独的安装程序或归档文件中提供。
在Linux aarch64下,这些库必须手动安装。
CPU应用程序:在运行深度学习以及基于深度学习的应用时,CPU支持表4所列的平台。
表3:GPU.[1]上深度学习应用的需求:安装NVIDIA JetPack 4.4
表4:CPU.[1]上深度学习应用的需求:异常检测除外
为了加快训练过程,我们建议在HALCON使用足够快的硬盘驱动器。因此,固态驱动器(SSD)比传统硬盘驱动器(HDD)更可取。