对象检测的理论介绍建议访问官网:如果安装halcon到c盘一般到这个路径下介绍对象检测:
file:///C:/Program%20Files/MVTec/HALCON-21.05-Progress/doc/html/reference/operators/toc_deeplearning_objectdetection.html#section_list
基于深度学习的对象检测任务的一般工作流程。它细分为创建模型和数据预处理、模型训练、训练模型评估和新图像推理四个部分。
一,创建模型和数据集预处理
步骤
1.1读取主干网络,这是预训练网路的基础,后面我们设置特定参数的对象检测网络实际上在主干网络上附加特征金字塔。
算子:
read_dict(‘F:/hacon_egg/markedImages_hdict/markedResult/21.10.19_1×4RGB_02.hdict’,[], [], DLDataset)
1.2创建预训练网络对象检测神经网络
create_dl_model_detection( : :Backbone,NumClasses,DLModelDetectionParam : DLModelHandle)
因此,我们必须至少指定要区分的主干和类的数量NumClasses。可以通过字典设置更多参数。应该为特定任务精心选择它们的值,尤其是为了可能减少内存消耗和运行时间。
1.2.0可以使用以下程序估计适合您的数据集的特定参数
determine_dl_model_detection_param.(可以用其他方法代替比如自己创建的dict上设置一些参数详见实例代码)
1.3拆分由字典表示的数据集,按照一定比例把数据集拆分成training,vlidation,test(训练的,验证,测试)三个部分 。
split_dl_dataset (DLDataset, 80, 20, [])
网络对图像提出要求,例如图像宽度和高度。
您可以使用运算符检索每个值: get_dl_model_param()
1.4,获取必要的模型参数并进行预处理
create_dl_preprocess_param_from_model (DLModelHandle, ‘false’, ‘full_domain’, [], [], [], DLPreprocessParam)
preprocess_dl_dataset (DLDataset, 'dataset', DLPreprocessParam, PreprocessSettings, DLDatasetFileName)
建议在开始训练之前预处理和存储用于训练的所有图像,因为这会显着加快训练速度。
1.5为了可视化预处理的数据,用算子dev_display_dl_data()
实例:
dev_update_off ()
dev_close_window ()
**************************************(一):预处理数据集****************************