实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译)

这篇具有很好参考价值的文章主要介绍了实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译)

1、模型转换

(1)下载CenterNet算法移植代码:
$ git clone https://github.com/sophon-ai-algo/examples.git
# CenterNet示例项目代码位置 /examples/simple/centernet
$ cd examples/simple/centernet

获取主干网的预训练模型,运行如下命令下载 dlav0 作为主干网的预训练模型:

$ cd data
# 下载 ctdet_coco_dlav0_1x.pth 模型文件到路径 centernet/data/bulid 目录下
$ ./scripts/download_pt.sh
(2)将pth文件转换为ONNX格式模型

【SDK 230501版本后支持Torch模型权重直接转换】

$ cd /bulid
$ vi export_onnx.py
#将以下信息写入py文件中
from model import create_model, load_model
import torch

if __name__ == '__main__':
    num_classes = 80
    head_conv   = 256
    heads = {'hm': num_classes,
             'wh': 2 ,
             'reg': 2}
    device = 'cpu'
    load_model_path = 'ctdet_coco_dlav0_1x.pth'
    #save_script_pt  = 'ctdet_coco_dlav0_1x.torchscript.pt'

    model = create_model('dlav0_34', heads, head_conv)
    model = load_model(model, load_model_path)
    model = model.to(device)
    model.eval()
    #input_var = torch.zeros([1, 3, 512, 512], dtype=torch.float32)
    #traced_script_module = torch.jit.trace(model, input_var)
    #traced_script_module.save(save_script_pt)
    #traced_script_module = torch.jit.load(save_script_pt)
    #print('{} exported'.format(save_script_pt))
# Prepare input tensor

    input = torch.randn(1, 3, 512, 512, requires_grad=True)


# Export the torch model as onnx

    torch.onnx.export(model,

                     input,

                     'centernet.onnx', # name of the exported onnx model

                     opset_version=13,

                     export_params=True,

                     do_constant_folding=True)

#将保存的py文件运行
$ python3 export_onnx.py
# 输出信息:
[DEBUG]arch is: dlav0
loaded ctdet_coco_dlav0_1x.pth, epoch 140
#centernet.onnx文件生成在路径 ${centernet}/data/models 下

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(3)ONNX转换MLIR模型

如果模型是图片输入, 在转模型之前我们需要了解模型的预处理。如果模型用预处理后的npz文件做输入, 则不需要考虑预处理。参考yolov5s的rgb图片,mean和scale对应为 0.0,0.0,0.00.0039216,0.0039216,0.0039216

模型转换命令如下:

$ mkdir workspace && cd workspace
$ vi onnx2mlir.sh
#将下面的运行指令写入sh文件,方便复现和整理代码
$ model_transform.py \
    --model_name centernet \
    --model_def ../centernet.onnx \
    --input_shapes [[1,3,512,512]] \
    --mean 0.0,0.0,0.0 \
    --scale 0.0039216,0.0039216,0.0039216 \
    --keep_aspect_ratio \
    --pixel_format rgb \
    --test_input ../../images/000000000139.jpg \
    --test_result centernet_top_outputs.npz \
    --mlir centernet.mlir \
    #--post_handle_type yolo 此参数可以不加,不进行后处理,防止后边的npz文件compare时报错
$ sh onnx2mlir.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(4)MLIR转换F32模型

将mlir文件转换成f32的bmodel, 操作方法如下:

$ vi mlir2f32.sh
#将下列命令写入到mlir2f32.sh文件中,这样方便日后代码复现
model_deploy.py \
    --mlir centernet.mlir \
    --quantize F32 \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \ #这一步的test_reference要和上一步的test_result保持一致
    --tolerance 0.99,0.99 \
    --model centernet_1684x_f32.bmodel
$ sh mlir2f32.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(5)MLIR转INT8模型
生成校准表

转INT8模型前需要跑calibration, 得到校准表; 输入数据的数量根据情况准备100~1000张左右。

然后用校准表, 生成对称或非对称bmodel。如果对称符合需求, 一般不建议用非对称, 因为 非对称的性能会略差于对称模型。

这里用现有的200张coco的val2017的图片举例, 执行calibration:

$ vi cali_table.sh
# 将下列命令写入sh文件中,这样做方便日后命令复现
run_calibration.py centernet.mlir \
    --dataset  ../../images \
    --input_num 200 \
    -o centernet_cali_table
$ sh cali_table.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

编译为INT8对称量化模型

转成INT8对称量化模型, 执行如下命令:

$ vi mlir2int8.sh
model_deploy.py \
    --mlir centernet.mlir \
    --quantize INT8 \
    --calibration_table centernet_cali_table \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \
    --tolerance 0.85,0.45 \
    --model centernet_1684x_int8_sym.bmodel
$ sh mlir2int8.sh

转换过程输出内容如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

编译为INT8非对称量化模型

转成INT8非对称量化模型, 执行如下命令:

$ model_deploy.py \
    --mlir centernet.mlir \
    --quantize INT8 \
    --asymmetric \
    --calibration_table centernet_cali_table \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \
    --tolerance 0.90,0.55 \
    --model centernet_1684x_int8_asym.bmodel

2、效果对比与性能测试-1684X PCIE

进入centernet模型仓库中py文件所在位置,运行测试bmodel检测结果

#进入centernet模型python文件位置
$ cd /Release_230301-public/examples/simple/centernet/py_bmcv_sail
#效果测试
$ python det_centernet_bmcv_sail_1b_4b.py --input ../data/ctdet_test.jpg --bmodel ../data/build/workspace/centernet_1684x_f32.bmodel

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

预测图片结果并查看:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

bmodel性能测试

安装好 libsophon 后, 可以使用 bmrt_test 来测试编译出的 bmodel 的正确 性及性能。可以根据 bmrt_test 输出的性能结果, 来估算模型最大的fps, 来选择合适的模型。

#进入到bmodel所在文件夹位置
$ cd /Release_230301-public/examples/simple/centernet/data/build/workspace
bmrt_test --bmodel centernet_1684x_f32.bmodel #以f32的bmodel为例,也可以测试int8等
#输出信息
[BMRT][deal_with_options:1446] INFO:Loop num: 1
[BMRT][bmrt_test:723] WARNING:setpriority failed, cpu time might flutuate.
[BMRT][bmcpu_setup:349] INFO:cpu_lib 'libcpuop.so' is loaded.
bmcpu init: skip cpu_user_defined
open usercpu.so, init user_cpu_init
[BMRT][load_bmodel:1079] INFO:Loading bmodel from [centernet_1684x_f32.bmodel]. Thanks for your patience...
[BMRT][load_bmodel:1023] INFO:pre net num: 0, load net num: 1
[BMRT][show_net_info:1463] INFO: ########################
[BMRT][show_net_info:1464] INFO: NetName: centernet, Index=0
[BMRT][show_net_info:1466] INFO: ---- stage 0 ----
[BMRT][show_net_info:1475] INFO:   Input 0) 'input.1' shape=[ 1 3 512 512 ] dtype=FLOAT32 scale=1 zero_point=0
[BMRT][show_net_info:1485] INFO:   Output 0) '515_Concat' shape=[ 1 84 128 128 ] dtype=FLOAT32 scale=1 zero_point=0
[BMRT][show_net_info:1488] INFO: ########################
[BMRT][bmrt_test:782] INFO:==> running network #0, name: centernet, loop: 0
[BMRT][bmrt_test:868] INFO:reading input #0, bytesize=3145728
[BMRT][print_array:706] INFO:  --> input_data: < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... > len=786432
[BMRT][bmrt_test:1005] INFO:reading output #0, bytesize=5505024
[BMRT][print_array:706] INFO:  --> output ref_data: < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... > len=1376256
[BMRT][bmrt_test:1039] INFO:net[centernet] stage[0], launch total time is 55216 us (npu 55135 us, cpu 81 us)
[BMRT][bmrt_test:1042] INFO:+++ The network[centernet] stage[0] output_data +++
[BMRT][print_array:706] INFO:output data #0 shape: [1 84 128 128 ] < -5.44699 -6.73102 -8.15043 -8.61082 -9.36364 -9.72045 -10.5258 -10.805 -11.3242 -11.2517 -11.8261 -11.7891 -12.2917 -12.0212 -11.8811 -11.14 ... > len=1376256
[BMRT][bmrt_test:1083] INFO:load input time(s): 0.002188
[BMRT][bmrt_test:1084] INFO:calculate  time(s): 0.055219
[BMRT][bmrt_test:1085] INFO:get output time(s): 0.002644
[BMRT][bmrt_test:1086] INFO:compare    time(s): 0.001170

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

二、实现CenterNet图像分割算法模型的转换和量化(SDK0501-Torch直接编译转换)

1、模型转换

(1)下载CenterNet算法移植代码:
$ git clone https://github.com/sophon-ai-algo/examples.git
# CenterNet示例项目代码位置 /examples/simple/centernet
$ cd examples/simple/centernet

获取主干网的预训练模型,运行如下命令下载 dlav0 作为主干网的预训练模型和数据:

$ cd data/scripts/scripts
# 下载 ctdet_coco_dlav0_1x.pth 模型文件到路径 centernet/data/bulid 目录下
$ ./download_pt.sh
$ ./00_prepare.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

将pth文件转换为pt文件

$ cd build
$ python export.py

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(2)Torch转换MLIR模型

如果模型是图片输入, 在转模型之前我们需要了解模型的预处理。如果模型用预处理后的npz文件做输入, 则不需要考虑预处理。参考yolov5s的rgb图片,mean和scale对应为 0.0,0.0,0.00.0039216,0.0039216,0.0039216

模型转换命令如下:

$ mkdir workspace && cd workspace
$ vi torch2mlir.sh
#将下面的运行指令写入sh文件,方便复现和整理代码
$ model_transform.py \
    --model_name centernet \
    --model_def ../build/ctdet_coco_dlav0_1x.torchscript.pt \
    --input_shapes [[1,3,512,512]] \
    --mean 0.0,0.0,0.0 \
    --scale 0.0039216,0.0039216,0.0039216 \
    --keep_aspect_ratio \
    --pixel_format rgb \
    --test_input ../images/000000000139.jpg \
    --test_result centernet_top_outputs.npz \
    --mlir centernet.mlir \
    #--post_handle_type yolo 此参数可以不加,不进行后处理,防止后边的npz文件compare时报错
$ sh torch2mlir.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(4)MLIR转换F32模型

将mlir文件转换成f32的bmodel, 操作方法如下:

$ vi mlir2f32.sh
#将下列命令写入到mlir2f32.sh文件中,这样方便日后代码复现
model_deploy.py \
    --mlir centernet.mlir \
    --quantize F32 \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \ #这一步的test_reference要和上一步的test_result保持一致
    --tolerance 0.99,0.99 \
    --model centernet_1684x_f32.bmodel
$ sh mlir2f32.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

(5)MLIR转INT8模型
生成校准表

转INT8模型前需要跑calibration, 得到校准表; 输入数据的数量根据情况准备100~1000张左右。

然后用校准表, 生成对称或非对称bmodel。如果对称符合需求, 一般不建议用非对称, 因为 非对称的性能会略差于对称模型。

这里用现有的200张coco的val2017的图片举例, 执行calibration:

$ vi cali_table.sh
# 将下列命令写入sh文件中,这样做方便日后命令复现
run_calibration.py centernet.mlir \
    --dataset  ../images \
    --input_num 200 \
    -o centernet_cali_table
$ sh cali_table.sh

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

编译为INT8对称量化模型

转成INT8对称量化模型, 执行如下命令:

$ vi mlir2int8.sh
model_deploy.py \
    --mlir centernet.mlir \
    --quantize INT8 \
    --calibration_table centernet_cali_table \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \
    --tolerance 0.85,0.45 \
    --model centernet_1684x_int8_sym.bmodel
$ sh mlir2int8.sh

转换过程输出内容如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

最终生成文件如下:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

编译为INT8非对称量化模型

转成INT8非对称量化模型, 执行如下命令:

$ vi mlir2int8a.sh
model_deploy.py \
    --mlir centernet.mlir \
    --quantize INT8 \
    --asymmetric \
    --calibration_table centernet_cali_table \
    --chip bm1684x \
    --test_input centernet_in_f32.npz \
    --test_reference centernet_top_outputs.npz \
    --tolerance 0.90,0.55 \
    --model centernet_1684x_int8_asym.bmodel
$ sh mlir2int8a.sh

2、效果对比与性能测试-1684X PCIE

进入centernet模型仓库中py文件所在位置,运行测试bmodel检测结果

#进入centernet模型python文件位置
$ cd /Release_230301-public/examples/simple/centernet/py_bmcv_sail
#效果测试
$ python det_centernet_bmcv_sail_1b_4b.py --input ../data/ctdet_test.jpg --bmodel ../data/build/workspace/centernet_1684x_f32.bmodel

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

预测图片结果并查看:

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法
实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法

bmodel性能测试

bmodel性能测试

安装好 libsophon 后, 可以使用 bmrt_test 来测试编译出的 bmodel 的正确 性及性能。可以根据 bmrt_test 输出的性能结果, 来估算模型最大的fps, 来选择合适的模型。

#进入到bmodel所在文件夹位置
$ cd /Release_230301-public/examples/simple/centernet/data/build/workspace
bmrt_test --bmodel centernet_1684x_f32.bmodel #以f32的bmodel为例,也可以测试int8等
#输出信息
[BMRT][deal_with_options:1446] INFO:Loop num: 1
[BMRT][bmrt_test:723] WARNING:setpriority failed, cpu time might flutuate.
[BMRT][bmcpu_setup:349] INFO:cpu_lib 'libcpuop.so' is loaded.
bmcpu init: skip cpu_user_defined
open usercpu.so, init user_cpu_init
[BMRT][load_bmodel:1079] INFO:Loading bmodel from [centernet_1684x_f32.bmodel]. Thanks for your patience...
[BMRT][load_bmodel:1023] INFO:pre net num: 0, load net num: 1
[BMRT][show_net_info:1463] INFO: ########################
[BMRT][show_net_info:1464] INFO: NetName: centernet, Index=0
[BMRT][show_net_info:1466] INFO: ---- stage 0 ----
[BMRT][show_net_info:1475] INFO:   Input 0) 'input.1' shape=[ 1 3 512 512 ] dtype=FLOAT32 scale=1 zero_point=0
[BMRT][show_net_info:1485] INFO:   Output 0) '515_Concat' shape=[ 1 84 128 128 ] dtype=FLOAT32 scale=1 zero_point=0
[BMRT][show_net_info:1488] INFO: ########################
[BMRT][bmrt_test:782] INFO:==> running network #0, name: centernet, loop: 0
[BMRT][bmrt_test:868] INFO:reading input #0, bytesize=3145728
[BMRT][print_array:706] INFO:  --> input_data: < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... > len=786432
[BMRT][bmrt_test:1005] INFO:reading output #0, bytesize=5505024
[BMRT][print_array:706] INFO:  --> output ref_data: < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... > len=1376256
[BMRT][bmrt_test:1039] INFO:net[centernet] stage[0], launch total time is 55216 us (npu 55135 us, cpu 81 us)
[BMRT][bmrt_test:1042] INFO:+++ The network[centernet] stage[0] output_data +++
[BMRT][print_array:706] INFO:output data #0 shape: [1 84 128 128 ] < -5.44699 -6.73102 -8.15043 -8.61082 -9.36364 -9.72045 -10.5258 -10.805 -11.3242 -11.2517 -11.8261 -11.7891 -12.2917 -12.0212 -11.8811 -11.14 ... > len=1376256
[BMRT][bmrt_test:1083] INFO:load input time(s): 0.002188
[BMRT][bmrt_test:1084] INFO:calculate  time(s): 0.055219
[BMRT][bmrt_test:1085] INFO:get output time(s): 0.002644
[BMRT][bmrt_test:1086] INFO:compare    time(s): 0.001170

实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译),算法文章来源地址https://www.toymoban.com/news/detail-705709.html

到了这里,关于实现CenterNet图像分割算法模型的转换和量化(SDK0301-转ONNX编译)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图像分割Unet算法及其Pytorch实现

    UNet是一种用于图像分割的神经网络,由于这个算法前后两个部分在处理上比较对称,类似一个U形,如下图所示,故称之为Unet,论文链接:U-Net: Convolutional Networks for Biomedical Image Segmentation,全文仅8页。 从此图可以看出,左边的基础操作是两次 3 × 3 3times3 3 × 3 卷积后池化,

    2024年01月22日
    浏览(33)
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现Bitmap的图像转换功能(C++)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年01月19日
    浏览(36)
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机图像转换由Mono10转换为Mono8(C++)

    ​ Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度

    2024年01月20日
    浏览(42)
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机图像转换由Mono10转换为Mono8(C#)

    ​ Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度

    2024年01月20日
    浏览(34)
  • 毕业设计-基于 MATLAB 的图像分割算法研究及实现

    目录 前言 课题背景和意义 实现技术思路 一、MATLAB 开发环境简介 二、图像分割算法设计  MATLAB代码  实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要

    2024年02月02日
    浏览(47)
  • 计算机视觉:聚类算法(K-Means)实现图像分割

    什么是K-means聚类? K-means聚类是一种无监督学习算法,用于将一组数据划分为K个不同的类别或簇。它基于数据点之间的相似性度量,将数据点分配到最接近的聚类中心。K-means算法的目标是最小化数据点与其所属聚类中心之间的平方距离和。 K-means聚类在图像分割中的应用 在

    2024年02月02日
    浏览(26)
  • UNet深度学习模型在医学图像分割中的应用及其Python实现细节

    第一部分:引言和UNet架构简介 引言 : 医学图像分割是医疗图像处理的重要领域,它涉及将图像划分为多个区域,以标识和隔离感兴趣的区域(如器官、肿瘤等)。近年来,随着深度学习技术的发展,多种神经网络模型被应用于这一领域。其中,UNet模型因其出色的表现而受

    2024年02月12日
    浏览(27)
  • 【GEE笔记】最大类间方差法(otsu、大津法)算法实现——计算阈值、图像二值化分割

    1、最大类间方差法原理概述 2、GEE频率分布统计,直方图绘制 3、算法具体实现,以GEE JavaScript版本为例 4、目标像元提取,以遥感影像提取水体为示例 最大类间方差法(又名otsu、大津法)是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法。算法假定该图像根据

    2024年02月06日
    浏览(42)
  • 基于语义分割Ground Truth(GT)转换yolov5图像分割标签(路面积水检测例子)

    随着开发者在issues中对 用yolov5做分割任务的呼声高涨,yolov5团队真的在帮开发者解决问题,v6.0版本之后推出了最新的解决方案并配指导教程。 之前就有使用改进yolo添加分割头的方式实现目标检测和分割的方法,最新的v7.0版本有了很好的效果,yolov8在分割方面也是重拳出击

    2024年02月09日
    浏览(46)
  • 【深度学习】yolov5 tag7.0 实例分割 从0到1的体会,从模型训练,到量化完成,bug避坑

    这里记录下yolov5 tag7.0的实例分割,因为也用过paddle家族的实例分割,能够训练出来,但是开放restiful api时遇到点小问题,还是yolov爽啊!!通过这篇博文,您可以一步步的搭建自己的分割网络。 git仓库:https://github.com/ultralytics/yolov5/tree/v7.0 在tag7.0开始支持的,号称sota,在mas

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包