YOLOv5+OAK空间位置检测之一

项目中用到了OAK相机,在这里做一下小结与记录

OAK安装

YOLOv5训练

  • 这里使用的是yolo_v5 v6.1,嫌配置CUDA麻烦可以拉nvidia的docker镜像。

    • 相关数据标注与训练这里不赘述,网上可以方便地找到。几个示例链接:训练超参数说明

    • 注意,有可能遇到这个报错:

      AttributeError: module ‘numpy‘ has no attribute ‘int‘.

      一个简单的解决方法是搜一下yolo代码里的astype(np.int),全改astype(int),参见链接

    • 常用命令行,注意OAK推荐检测尺寸是416或640,尺寸不是很大

    python train.py --img 640 --batch 16 --epoch 150 --data data/self.yaml --cfg models/yolov5n.yaml --weights weights/yolov5n6.pt --hyp data/hyps/hyp.self-scratch-low.yaml --save-period 10 --cos-lr --device '0'
    
    python detect.py --weights runs/train/exp/weights/best.pt --save-txt --source /img_bat/vid_data/02
    
  • OAK相机onnx导出+转blob

    • 注意链接文章中export_onnx.py应稍微修改下167行,
    model = attempt_load(input_model, map_location=device, inplace=True, fuse=True)    #原链接中的代码
    model = attempt_load(input_model, device=device, inplace=True, fuse=True)    #修改后
    
    • 转blob常用命令行
    #export_onnx.py转onnx
    python export_onnx.py -w runs/train/exp/weights/best.pt -imgsz 640
    
    #onnx->blob
    blobconverter --onnx ./best.onnx  -sh 5 -o . --optimizer-params "scale=255 --reverse_input_channel"
    # OAK推荐链接中shaves设置成6,但我实际运行时报出warning提示"compiling for 5 shaves likely will yield in better performance", 故这里"-sh 5"
    

关于与深度检测结合的部分,后续更新

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值