安卓手机部署分割模型

这篇具有很好参考价值的文章主要介绍了安卓手机部署分割模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 模型来自:https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.6/contrib/PP-HumanSeg/README_cn.md中的 PP-HumanSegV2-Lite。
  2. 部署到手机上用的是MNN。
  3. 安卓手机。

本文工程地址

先看结果

高亮的就是分割的人像结果
安卓手机部署分割模型

流程

  1. 若要自己转模型,请自行安装https://github.com/PaddlePaddle/PaddleSeg,(本文代码提供了onnx模型和mnn模型)。具体流程如下:
  • 在https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.6/contrib/PP-HumanSeg/README_cn.md中下载以下权重。
  • model.pdparams是训练时的动态图,部署的时候需要转换成静态图,转换步骤如下:模型的权重的路径写在配置文件中。会自动在output目录下生成四个文件(静态图)。然后用下述指令生成静态图。
  • PaddleSeg/contrib/PP-HumanSeg$ python ../../export.py --config configs/human_pp_humansegv2_lite.yml --input_shape 1 3 192 192
  • 转onnx,需要安装paddle2onnx
  • paddle2onnx --model_dir ./output --model_filename model.pdmodel --params_filename model.pdiparams --save_file ./model.onnx --opset_version 11
  • 到此可得到onnx模型。
    安卓手机部署分割模型
  1. C++ MNN部署,这一步就简单过一下。通过MNNConvert把onnx转成MNN模型。本文首先把得到的图像送给网络得到结果,然后结果乘以输入图像得到输出。
  2. 部署到安卓上时,得到的结果是cv::mat数据类型,需要把它转换成Bitmap。代码在jni_inferface.cpp中,具体如下:
    cv::Mat result = HumanSegment::detector->Inference(srcMatImg); // 获得结果,转换为java对应的类型,传给mainactivity使用

    AndroidBitmapInfo info; //保存图像参数
    void *pixels = 0;       //保存图像数据
    cv::Mat &src = result;

    CV_Assert(AndroidBitmap_getInfo(env, bitmap, &info) >= 0);
    CV_Assert(info.format == ANDROID_BITMAP_FORMAT_RGBA_8888 ||
              info.format == ANDROID_BITMAP_FORMAT_RGB_565);
    CV_Assert(src.dims == 2 && info.height == (uint32_t) src.rows &&
              info.width == (uint32_t) src.cols);
    CV_Assert(src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4);
    CV_Assert(AndroidBitmap_lockPixels(env, bitmap, &pixels) >= 0);
    CV_Assert(pixels);

    cv::Mat tmp(info.height, info.width, CV_8UC4, pixels);
    cv::cvtColor(result, tmp, cv::COLOR_RGB2BGRA);
    AndroidBitmap_unlockPixels(env, bitmap);
  1. 结果,在小米9,晓龙855上测试。基本可以达到实时,大约18fps。

最后,本博客对您有用的话,点个赞哦,_文章来源地址https://www.toymoban.com/news/detail-486413.html

到了这里,关于安卓手机部署分割模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 安卓手机/pad用Charles抓包https(mac版超详细教程)

    前置条件:charles抓取手机数据包的前提,手机和电脑需要在一个局域网内。 在charles中【proxy-proxy Settings】设置进行代理的端口 电脑端安装https证书:  此时会启动“钥匙串访问”APP,并找到刚开安装好的证书,证书名字:Charles Proxy CA,找不到的可以搜索框搜下。   更改证书

    2024年02月13日
    浏览(34)
  • yolov5安卓(鸿蒙)手机部署

    本篇文章主要是针对yolov5s在安卓(鸿蒙)手机部署过程进行记录。 有关YOLOv5其他资料可以参考我以下文章进行学习: C++版tensorrt YOLOv5推理 如何通过YAML文件修改YOLOv5网络 YOLOv5通道剪枝 YOLOv5图像分割代码详解1 YOLOv5图像分割之NMS YOLOv5+霍夫变换之车道线检测 YOLOv5损失函数详解

    2024年02月09日
    浏览(31)
  • 【学习笔记】部署yolov8到安卓手机

    首先你需要配置好pytorch环境,本文不再详细阐述,若未配置好环境,可以参考我的另一篇博客:https://blog.csdn.net/liujiahao123987/article/details/128743017 yolov8的安装可参考:https://blog.csdn.net/weixin_44120785/article/details/128681117 官网链接:https://developer.android.google.cn/ 自行配置AS环境(这方

    2024年02月03日
    浏览(33)
  • AI模型部署 | onnxruntime部署YOLOv8分割模型详细教程

    本文首发于公众号【DeepDriving】,欢迎关注。 0. 引言 我之前写的文章《基于YOLOv8分割模型实现垃圾识别》介绍了如何使用 YOLOv8 分割模型来实现垃圾识别,主要是介绍如何用自定义的数据集来训练 YOLOv8 分割模型。那么训练好的模型该如何部署呢? YOLOv8 分割模型相比检测模型

    2024年04月24日
    浏览(28)
  • 安卓手机部署ubuntu的lxc容器,并安装好dockerd

    刷机获取root是必须的,而且必需要有一个支持docker的内核。 检测当前设备支持docker的方法: 安装Termux并初始化。 这里给个安装包下载链接:[termux app链接]。 下载Moby的脚本用于检查缺少的内核功能 查看CONFIG都是绿字就行。 编译支持docker的安卓内核的方法,就不在此写了,

    2024年02月03日
    浏览(29)
  • 轻量化的yolov8部署到安卓Android手机端

    一、pytorch环境配置和yolov8源码安装 首先在电脑上需要配置好pytorch环境,和yolov8源码的下载 然后针对yolov8做自己的轻量化改进 二、下载Android Studio和ncnn-android-yolov8 1. Android Studio官网链接: 下载 Android Studio 和应用工具 - Android 开发者  |  Android Developers 自行配置AS环境和JDK 我

    2024年01月19日
    浏览(37)
  • [手机Linux] 二,安卓手机安装linux系统, 部署完全属于自己的服务器(Linux Deploy)

    背景: 之前买过一台阿里云服务器1G1核的,玩起来真的是卡脑壳,卡卡的,经费在燃烧却得不到灰烬,而是萌想做一台完全属于自己的服务器,而是百度发现原来我们的安卓手机也可以当服务器器(Linux),而是翻了一下箱底找到了曾经的宝贝,差点当垃圾(其实可以拿去市场换

    2024年02月04日
    浏览(39)
  • 从零开始部署yolov8到安卓手机详细教程【Android Studio】

    首先你需要配置好pytorch环境,本文不再详细阐述,若未配置好环境,可以参考: https://blog.csdn.net/weixin_43507693/article/details/109015177 安装yolov8可参考: https://blog.csdn.net/weixin_44120785/article/details/128681117 Android Studio官网链接:https://developer.android.google.cn/ 自行配置AS环境(网上很多相

    2024年01月25日
    浏览(39)
  • PyTorch模型安卓部署流程(NCNN)

            上一篇介绍了PyTorch模型部署流程(Onnx Runtime)的相关部署流程,再来简单的回顾一下~         模型部署指让训练好的深度学习模型在特定环境中运行的过程。模型部署会面临的难题: 运行模型所需的环境难以配置。深度学习模型通常是由一些框架编写,比如

    2024年02月12日
    浏览(27)
  • 使用Android studio,安卓手机编译安装yolov8部署ncnn,频繁出现编译错误

    从编译开始就开始出现错误,解决步骤: 1.降低graddle版本,7.2-bin  ---   降低为 6.1.1-all 2.仍旧有报错,jdk从17降为 jdk 13, 在setting配置里, 进入build,excution,deployment文件夹中,(是一个文件夹,名字长,不是三个) 进入build tools,再进入 Gradle,  如图所示, 勾选,选择

    2024年04月28日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包