yolov5安卓(鸿蒙)手机部署

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

本篇文章主要是针对yolov5s在安卓(鸿蒙)手机部署过程进行记录。

有关YOLOv5其他资料可以参考我以下文章进行学习:

C++版tensorrt YOLOv5推理

如何通过YAML文件修改YOLOv5网络

YOLOv5通道剪枝

YOLOv5图像分割代码详解1

YOLOv5图像分割之NMS

YOLOv5+霍夫变换之车道线检测

YOLOv5损失函数详解

YOLOV5+reid[支持跨视频识别]


以上内容可以帮助大家更好的学习yolov5。

好了,废话不多说,开始今天的正题。

先说一下我的开发环境:

windows 10

pytorch 1.7

Android Studio 4.1.3

Android Pytorch library 1.7.0
yolov5  6.0版本

我的手机:华为mate 40(鸿蒙3.0.0.205)

安卓手机也是可以的。

需要注意Android torch版本需要与你pytorch版本对应

下载6.0代码:

 git clone --branch v6.0 https://github.com/ultralytics/yolov5

 打开yolov5项目代码,修改export.py文件,修改内容如下:

@try_export
def export_torchscript(model, im, file, optimize, prefix=colorstr('TorchScript:')):
    # YOLOv5 TorchScript model export
    LOGGER.info(f'\n{prefix} starting export with torch {torch.__version__}...')
    f = file.with_suffix('.torchscript')
    fl = file.with_suffix('.torchscript.pt')  # 修改1
    ts = torch.jit.trace(model, im, strict=False)
    d = {"shape": im.shape, "stride": int(max(model.stride)), "names": model.names}
    extra_files = {'config.txt': json.dumps(d)}  # torch._C.ExtraFilesMap()
    if optimize:  # https://pytorch.org/tutorials/recipes/mobile_interpreter.html
        optimize_for_mobile(ts)._save_for_lite_interpreter(str(f), _extra_files=extra_files)
    else:
        ts.save(str(f), _extra_files=extra_files)
    (optimize_for_mobile(ts) if optimize else ts)._save_for_lite_interpreter(str(fl)) # 修改2
    return f, None

在终端输入以下命令:

python export.py --weights yolov5s.pt --optimize --device cpu --include torchscript

此时会在你项目路径下生成yolov5s.torchscript.pt文件(在optimize下仅支持cpu,如果用gpu会报错).


下载pytorch官方android demo代码。

git clone https://github.com/pytorch/android-demo-app.git

现在这个代码官网github更新的为pytorch1.10的。

下载后用Android Studio打开android-demo-app/ObjectDectection项目。

然后打开app/build.gradle文件,注意修改这个地方(我的是pytorch1.7):

implementation 'org.pytorch:pytorch_android:1.7.0'
implementation 'org.pytorch:pytorch_android_torchvision:1.7.0'

如果你的pytorch是1.10的,那么是下面的:

implementation 'org.pytorch:pytorch_android_lite:1.10.0'
implementation 'org.pytorch:pytorch_android_torchvision_lite:1.10.0'

 所以一定要注意自己的版本。

如果是你自己的权重,需要修改src/main/java/org/pytorch/demo/objectdetection/MainActivity.java文件,修改以下内容为自己的类和类txt文件。

try {
            mModule = PyTorchAndroid.loadModuleFromAsset(getAssets(), "yolov5s.torchscript.pt");
            BufferedReader br = new BufferedReader(new InputStreamReader(getAssets().open("classes.txt")));

然后是将前面说到的yolov5s.torchscript.pt文件放在ObjectDetection/app/src/main/assets/下即可.

此时assets内容如下:

ObjectDetection/app/src/main/assets/
|-- classes.txt
|-- test1.png
|-- test2.jpg
|-- test3.png
`-- yolov5s.torchscript.pt

以上工作准备完毕,下载android虚拟机。

在你Android Studio界面的右上角,有一个下图的标值按钮(AVD Manager)。

yolov5安卓(鸿蒙)手机部署

 点击创建虚拟机,然后选择以下选项。我这里选的是Nexus 5X,我试过Nexus 6,但生成的APP在虚拟机和我手机端总是闪退,不知道原因。

yolov5安卓(鸿蒙)手机部署

 点击next以后,选择x86 images,找到下面的选项。点击前面的Download(由于我已经下载过了,所以前面显示的是R)

yolov5安卓(鸿蒙)手机部署

等待下载成功后,界面如下(我下载的时候网络不行,所以用的科学上网工具,即便你没有下载成功,也会显示以下内容,但你点运行的时候会提示你虚拟机起不来):

yolov5安卓(鸿蒙)手机部署 接下来就是Build,生成你的APK文件。

yolov5安卓(鸿蒙)手机部署 

 成功以后会在你的app/build/outputs/apk/debug下生成一个app-debug.apk.目录形式如下:

ObjectDetection/app/build/outputs/apk/
`-- debug
    |-- app-debug.apk
    `-- output-metadata.json

 此可你就可以点击运行来试试你的apk是否成功(会自动开启虚拟机)

app界面如下。

此时会有4个按钮。

Detect:检测

Test Image:测试图片,这个图片你可以在MainActivity.java文件修改,但前提是你要把你的测试图片放在assets中。

Select:是你可以从你相册中获取一张图片进行检测。

Live:是实时视频检测【不过我测了一下,会有卡顿,我觉得不是我手机的锅,因为我以前试过tensorflow lite部署的目标检测和关键点检测,速度都很快】

 

yolov5安卓(鸿蒙)手机部署

 

 


以上就是yolov5s移动端部署的全部过程了。

也可以直接下载我torch1.7对应的android demo代码。

GitHub - YINYIPENG-EN/pytorch1.7_yolov5s_android: Pytorch1.7 android environment deployment yolov5s文章来源地址https://www.toymoban.com/news/detail-488467.html

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

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

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

相关文章

  • 基于YoloV5的使用手机行为检测及在边缘设备部署实现

    目录 一、背景 二、配置环境 三、使用手机行为检测数据集 四、租用云端GPU进行模型训练 五、PC端验证训练效果 六、Aidlux端的模型推理测试 七、改进及拓展 一、背景 现代社会“低头族”越来越多,过马路时低头玩手机,操作岗位上工作时玩手机,甚至有的骑车时也在玩手

    2024年02月08日
    浏览(102)
  • 通过Android Studio 将yolov5部署到手机端(2023新手最新适用版)

    下载java17 Java Downloads | Oracle 配置环境变量 这个是我安装后的路径,将这个路径复制 设置环境变量 在系统变量点击新建 继续新建 继续新建 新建完成后点击确定 测试Java17 安装成功!!!! Android Studio 下载 下载链接:Download Android Studio App Tools - Android Developers (google.cn) 当前版

    2024年02月08日
    浏览(49)
  • 从零开始部署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日
    浏览(45)
  • 使用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日
    浏览(51)
  • android studio 连接安卓手机/鸿蒙手机教程

    一、配置SDK 1.点击SDK Manager ​编辑 2.选择SDK平台与SDK工具 1.SDK平台: 2.SDK工具: 二、连接手机 1.开发者模式 2.连接数据线 三、运行android studio 1.SDK平台: 安卓手机 选择手机的安卓版本, 鸿蒙手机选择10.0即可 2.SDK工具: 第一步:点击 Google USB Driver 第二步:点击 OK 如果电脑

    2024年02月05日
    浏览(64)
  • GitHub Copilot 使用攻略,本篇文章作者是GPT-3.5

    引言: 在软件开发领域,编写高质量的代码是开发者们的永恒追求。然而,传统的编码过程常常耗费大量时间和精力,而且在遇到复杂的问题时,开发者可能会面临困惑和不确定性。为了解决这些挑战,GitHub推出了一款强大的工具——GitHub Copilot,它利用人工智能技术提供智

    2024年02月16日
    浏览(57)
  • 值得拥有并收藏的 3个安卓/鸿蒙手机解锁软件

    手机无论支持哪种操作系统,都占据了每个人口袋里的空间。随着大量移动设备的使用,搜索引擎上也出现了同样数量的查询,其中最常见的是提供 安卓/鸿蒙屏幕锁定删除工具 。由于安卓是当今最畅销的设备,我们的首要任务是为您提供最好的安卓手机解锁软件。 几乎所有

    2024年02月11日
    浏览(40)
  • 【YOLOv5实现玩手机检测】

    模型和数据集下载: 1、玩手机检测数据 2、YOLOv5玩手机检测模型 3、YOLOv5玩手机检测模型+pyqt界面 4、 VOC手机检测识别数据集 5、yolov7玩手机检测+训练好的玩手机的模型 6、Darknet版YOLOv3玩手机检测+weights权重+标注好的数据集 7、Darknet版YOLOv4玩手机检测+weights权重+数据集 其他数

    2024年02月09日
    浏览(39)
  • IPhone、IPad、安卓手机、平板以及鸿蒙系统使用惠普无线打印教程

    演示机型:惠普M 281 fdw ,测试可行机型:惠普M277,惠普M452、惠普M283 点击右上角图标。 点击WI-FI Direct 开,(如果WI-FI Direct关闭,请打开!) 记录打印机的wifi名称(SSID)和密码。 打开IPhone、IPad、安卓手机、平板以及鸿蒙系统的设置-无线局域网或者WIFI设置,选中打印机的WIFI名

    2024年01月19日
    浏览(270)
  • uniapp无法唤起相机的避坑之旅(安卓10以上,以及鸿蒙手机

    相机权限:都获取到了。 原因可能是安卓的原生问题,应该在安卓的manifest里添加provider provider android:name=“io.dcloud.common.util.DCloud_FileProvider” android:authorities=“${apk.applicationId}.dc.fileprovider” android:exported=“false” android:grantUriPermissions=“true” meta-data android:name=“android.support.

    2024年04月13日
    浏览(76)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包