当前位置: 首页 > news >正文

halcon deeplearn 语义分割经验分享 1

本人因为公司遗留问题,为了解决识别错误的问题。尝试过yolo12进行目标检测。初步测试良好但是是halcon的socket通信不行。故而去测试halcon 的deeplearn。自己标注数据。
注: 这个软件使用非常无脑。推荐没有基础的人去用

语义分割

在这里插入图片描述
以下是halcon的调用模型


*读取模型
read_dl_model ('E:/hacon学习/深度学习/纱筒.hdl', DLModelHandle)  //读取预训练模型
*设置模型参数,batch_size将数据集分为较小的数据子集,称为批处理
set_dl_model_param (DLModelHandle, 'batch_size', 1)  
*获取图像的ImageDimensions
get_dl_model_param(DLModelHandle, 'image_dimensions', ImageDimensions)  
*获取ClassIDs
get_dl_model_param(DLModelHandle, 'class_ids', ClassIDs)  
*读取第一张图片
read_image (Image,'E:/hacon学习/深度学习/测试/2025-03-11-14-25-08-254_src_R.jpg')  
*获取图片的大小
get_image_size(Image, Width, Height)  
*灰度化图片
rgb1_to_gray(Image,Image)
*设置新字典
create_dict (DLSample)
*图像缩放到定尺寸
zoom_image_size (Image, ImagePreprocessed, ImageDimensions[0], ImageDimensions[1], 'constant') 
*转换图片的类型为:real
convert_image_type (ImagePreprocessed, ImagePreprocessed, 'real')  
*缩放图像的灰度值。
scale_image (ImagePreprocessed, ImagePreprocessed, 1, -127)  
*在字典中添加一个键/对象对。
set_dict_object (ImagePreprocessed, DLSample, 'image')  
*在一组图像上应用基于深度学习的网络以进行推理。
apply_dl_model (DLModelHandle, DLSample, [], DLResult)
*获取掩码
get_dict_object (SegImage, DLResult, 'segmentation_image') 
*掩码扩展
zoom_image_size (SegImage, ImageZoom, Width, Height, 'constant')
* 将掩码图像转换为区域,这里假设阈值为 1 到 255,可根据实际调整
threshold(ImageZoom, Region, 1, 255)
* 连通区域分析
connection(Region, ConnectedRegions)
* 面积筛选,保留面积在 100000 - 400000 之间的区域
select_shape(ConnectedRegions, FilteredRegions, 'area', 'and', 100000, 400000)
*生成xld轮廓
gen_contour_region_xld (FilteredRegions, Contours, 'border')
*拟合圆形xld
fit_circle_contour_xld (Contours, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
*生成圆形xld
gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, 6.28318, 'positive', 1)

效果

完全达到了需要的分割效果。但是有个重要问题,模型调用后没有类似模板匹配的相似度评分,!!!!
以下是问题总结

  • 错误的分割像素点: 这些像素点漂离在我目标区域外。所幸可以通过面积去除掉 这个问题在u-net系列模型中也出现过
  • 没有评分机制 这个问题在生产中会导致很严重的问题。语义分割没有评分,生产中如果出现了问题,会导致严重的残次品。我的项目要求比较高,虽然可以提供掩码+xld匹配的方式盖过去。
  • 小区域面积问题: 如果用256256的图片训练会导致IOU非常的难以上升。可以提升为640640去训练。but我要部署的设备cpu不怎么新。会导致调用模型结果变慢,影响生产节拍。
  • 区域不可重复: 大标签的掩码中有小标签的掩码,训练一下。小标签便无了。解决方法: 分离训练多个模型。

国内开发能不用halcon就别用。如果你的项目没有后续的精简要求的话就用halocn吧。

相关文章:

  • Gazebo直接构建仿真世界
  • VSCode-Server 在 Linux 容器中的手动安装指南
  • 【技海登峰】Kafka漫谈系列(八)Controller:Zookeeper模式与KRaft模式
  • 山东2025年网络管理员报名工作经验要求与所需材料
  • 无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升
  • 责任链模式的C++实现示例
  • 项目中async和await的应用场景
  • PHPCMS V9 登录加密改造
  • 【redis】应用场景:共享会话和手机验证码
  • Quickwit+Jaeger+Prometheus+Grafana搭建Java日志管理平台
  • 使用AI一步一步实现若依前端(7)
  • Flutter 基础组件 Text 详解
  • 工作记录 2017-01-05
  • 算法面试题深度解析:LeetCode 2012.数组元素的美丽值求和计算与多方案对比
  • 【深度学习】读写文件
  • LiveGBS流媒体平台GB/T28181常见问题-视频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验
  • Web开发-PHP应用TP框架MVC模型路由访问模版渲染安全写法版本漏洞
  • echarts geo3D地图标记点自定义照片
  • Android StrictMode 使用与原理深度解析
  • Android : Camera之CHI API
  • 肖峰读《从塞北到西域》︱拉铁摩尔的骆驼
  • 巴基斯坦称对印度发起军事行动
  • 东方红资管官宣:41岁原国信资管董事长成飞出任新总经理
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 早期投资人蜂巧资本清仓泡泡玛特套现超22亿港元,称基金即将到期
  • 欧盟公布对美关税反制清单,瞄准美国飞机等产品