HappyDet安装使用教程

news2024/11/15 9:03:43

作者:堆堆星

导读

一般的深度学习流程包括数据采集,数据标注,训练,调参,测试,部署。流程繁琐,且周期极长。HappyDet以深度学习中目标检测算法为核心,开发了一套本地的全流程目标检测平台。该平台的安装,使用,部署都极为简便。极大的提升了目标检测的开发,部署效率。

1. HappyDet简介

HappyDet是一个基于深度学习学习目标检测算法的一体化平台。它主要有以下特点量:

  • 一键安装环境。省去用户手动安装python,cuda等依赖项的繁琐
  • 一键训练,内置调参,省去用户手动调试的烦恼,自适应大部分训练任务
  • 多个基础模型,涵盖“大,中,小,迷你”四个等级
  • 一键部署,轻松部署到手机、树莓派上运行

2. HappyDet安装

支持的操作系统:Win10、Win7、Win11(Ubuntu暂不支持,下个版本支持)

支持的显卡:nvidia显卡

2.1 下载HappyDet安装包

链接:https://pan.baidu.com/s/1H3GdYtPu-ciuP47hCGH9rA?pwd=79dv

2.2 解压HappyDet.zip

将HappyDet.zip解压到HappyDet文件夹,并将HappyDet文件夹拷贝到您想安装的地方。例如拷贝到D盘

2.3 一键安装依赖环境

进入安装文件夹HappyDet文件夹下面的\Lib\site-packages文件夹,并找widget_install.exe可执行程序

双击widget_install.exe可执行程序,弹出自动安装对话框。点击安装按钮,开始自动安装。

等待安装程序自动完成安装,由于需要下载pytorch等深度学习训练框架,请您耐心等待。安装完成后,会在桌面创建两个快捷方式:HappyDet与LabelTool。HappyDet就是目标检测训练一体化平台的主程序。LabelTool用于进行目标检测的数据标注。

3. 数据标注教程

如果您已经有了标注好的coco格式的数据集,那么可以直接跳转到“4.训练教程”。这里以手势识别为例。假设我们要训练一个手势识别的目标检测算法,需要识别三种手势,如下图所示。

3.1 数据采集

我们可以使用手机或者其他拍照设备,拍摄一些手势图片。并放到一个文件夹中。如下图所示,我各种手势采集了20张照片,并全部放在了hand文件夹下面。

3.2 数据标注

打开桌面上的LabelTool标注工具,点击导入图片栏最后的按钮,选择刚才存放照片的文件夹。

类别数目设置为3.因为我们有三种手势需要识别。下面的类别名称可以修改也可以不用修改(如果修改,请不要使用中文哦),我们使用默认的名称即可。点击保存配置,保存。

点击标注按钮,进入标注界面。通过选择当前标注类别,来修改当前需求标注的类型(也可以通过快捷键,数字0,1,2来快速切换)。鼠标左键按下选择起始点,拖动鼠标到结束点,这样就完成一个矩形框的标注。如果觉得标注的不好,可以将鼠标移动到矩形框内,右键点击,可以删除标注的不好的矩形框。

完成一张图片的标注后,点击右上方的“>”按钮,进行下一张图片的标注。待完成所有的图片标注后,就可以导出数据集了。导出之前最好新建一个空的文件夹,例如在桌面上新建一个hand_coco文件夹(名字任意取,不要包含中文)。然后点击标注工具的导出数据集按钮,选择刚才新建的hand_coco文件夹,即可完成coco格式的数据集导出。

4. 训练教程

有了标注好的coco格式数据集之后,我们就可以打开HappyDet程序进行训练了。

4.1 用户注册与登录

双击桌面上的HappyDet图片(第一次打开较慢,请您耐心等待),弹出用户注册/登录对话框。第一次需要进行注册。注意用户名和密码都只能使用英文字母和数字。推荐使用手机号。

注册成功后,点击登录,即可进入到HappyDet主程序。(后续登录的时候,即可直接点击登录按钮,不需要再进行注册)

4.1 新建任务

双点击左侧任务栏上的“+”按钮,新建一个任务。名字可以任意取,注意只能使用字母和数字。例如创建一个hand的任务,用于手势识别检测。

4.2 训练配置

点击左侧任务栏中,刚刚新建的hand任务。然后点击右侧的配置按钮,再点击导入配置。选择一个算法模板。主要包括迷你模型、小模型、中模型、大模型。精度依次增加,但是计算量也依次增加。这里选择迷你模型进行示例。

导入基础配置后,只需要修改两个地方。一个是类别数目,由于我们的手势识别是3个类别,因此需要将默认的80类别修改为3类别。另外数据集目录也要修改为我们实际使用的数据集目录,例如刚才标注的hand_pose数据集。

4.3 启动训练

点击训练按钮,进入训练界面。batch大小根据显存容量进行调整。默认为5。如果只有2G的显存,可以将batch设置为2。如果显存有12G,可以将batch设置为30。这里使用默认的5。然后点击开始训练按钮,即可进行手势识别的训练。

4.4 测试模型

训练完成后,我们可以测试一下模型的精度。首先准备一些没有参与过训练的手势图片。然后点击测试按钮,然后点击创建模型(只有第一次需要创建模型),然后点击选择图片,选择一张没有训练过的图片进行测试,查看模型的效果。

5. 部署到安卓手机

5.1 生成部署二维码

点击HappyDet工具的部署按钮,然后点击安卓部署按钮,会生成一个模型模型下载的二维码

5.2 下载安卓手机apk

下载安卓手机端的HappyDet的apk安装包,下载地址:

 链接:https://pan.baidu.com/s/1H3GdYtPu-ciuP47hCGH9rA?pwd=79dv

5.2 HappyDet安卓版操作

在手机上安装并打开该apk(注意如果需要权限,一定要点击允许,否则无法运行)

请确保手机和电脑连接在通一个wifi或者路由器下面,即手机和电脑是在同一个内网中,否则无法下载!

点击下载按钮,弹出扫描界面,对准刚才的二维码扫描。扫描成功后,将手势识别模型下载到手机中。

点击算法按钮,在弹出的算法中,选择刚刚下载的hand手势识别

点击打开按钮,开始你的手势识别吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Blender基础入门(0):下载和资源

文章目录 我个人的Blender专栏前言相关资料Blender和C4D如何选择视频资源BlenderBlender官网下载基础设置常用快捷键介绍空格键:跳出选择框ShiftA:跳出添加框选中物体按F9:显示物体属性 Blender能做到什么总结 我个人的Blender专栏 Blender简单教学 前…

9.30UEC++ 注册执行指令

1. 只能在GameMode或者PlayController中使用 创建一个函数,在函数前定义宏,专门为下一行函数使用(指令框宏) 2.定义函数 书写功能逻辑:打印日志 3.操作演示: 编译之后,运行客户端,按下~键,输…

网络编程—Socket套接字详解

目录 一、网络编程 1.1、为什么需要网络编程? 1.2、什么是网络编程 1.3、发送端和接收端 ​编辑1.4、请求和响应 ​编辑1.5、客户端和服务端 二、Socket套接字 2.1、概念 2.2、分类 2.2.1、流套接字 2.2.2、数据报套接字 2.2.3、原始套接字 2.3、…

面向对象编程主线五

面向对象编程 五、第五阶段–多态性 5.1、理解多态性 理解多态性:可以理解为一个事物的多种形态; 何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 多态的使用&#x…

味尚食品 味尚拉面半干面是一种非常经典的中式面食

尊敬的客户,您好!感谢您对我们电商平台的关注,我们很高兴为您介绍我们平台上的一款热销产品——味尚拉面半干面。 味尚拉面半干面是一种非常经典的中式面食,其主要特点体现在面条的口感和味道方面,让人感觉仿佛在享受正…

infinigen安装教程

至于infinigen是什么,网上很多,这篇文章主要是我安装的记录 官网:https://infinigen.org/ github:https://github.com/princeton-vl/infinigen 安装 首先要配置wsl环境,如何配置wsl,可以关注公众号“科…

依次判断数组中的各元素是否以指定后缀作为结尾numpy.char.endswith()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 依次判断数组中的各元素 是否以指定后缀作为结尾 numpy.char.endswith() [太阳]选择题 下列代码最后输出的结果是? import numpy as np s np.array([teacher, student]) print(&…

Spring Boot 中的定时任务是什么, 如何使用

Spring Boot 中的定时任务是什么, 如何使用 Spring Boot 是一个非常流行的 Java Web 开发框架,它可以帮助开发者快速搭建一个 Web 应用程序。为了能够更好地管理后台任务,Spring Boot 提供了一种方便的方式来调度定时任务。这个功能被称为 Spring Boot …

Python应用实例(一)外星人入侵(四)

外星人入侵(四) 1.前文总结回顾1.1 alien_invasion.py1.2 settings.py1.3 ship.py 2.射击2.1 添加子弹设置2.2 创建Bullet类2.3 将子弹存储到编组中2.4 开火2.5 删除消失的子弹2.6 限制子弹数量2.7 创建方法_update_bullets() 1.前文总结回顾 1.1 alien…

java项目之汽车在线销售系统(ssm+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的汽车在线销售系统。 开发环境: 后端: 开发语言:Java 框架:ssm,mybatis JDK版…

电脑提示找不到应用程序怎么办?

无论个人电脑还是办公电脑,无一例外的都会安装一些应用程序来帮助我们使用。而在电脑的使用过程中总会出现一些大大小小的问题,其中双击桌面快捷方式显示找不到应用程序是一个比较常见的故障。那么,电脑找不到应用程序怎么解决呢? 电脑找不到…

RabbitMQ学习笔记8 高级特性 消息可靠性+消费

我们在测试类中去写一个方法去实现它: 运行: 我们去掉之前的消息鉴定,我们这里不用消息鉴定。 我们注释掉这个。再去运行: 我们现在模拟一下发送失败的情况: 之前我们设置了我们交换机的名称。 我们在测试类发送消息时…

如何提高力扣(Leetcode)的解题能力?

如何提高力扣(Leetcode)的解题能力? 力扣(Leetcode)是一个在线编程平台,提供了各种算法和数据结构的题目,让程序员可以练习和提高自己的编程技能。很多人都把力扣(Leetcode&#xf…

【脚本语言】Shell Script - 终端打印指令

目录 终端打印 基础语法 有趣的拓展 在echo中使用转义序列 输出彩色文本 终端打印 终端是交互式工具,在终端中打印文本是绝大多数脚本中的基本任务。 基础语法 终端打印有两种方法输出文本,分别是 echo 和 printf (就是C/C中的那个)。 在默认情况下…

Git---标签管理

文章目录 前言一、理解标签二、创建标签三、操作标签总结 前言 正文开始!!! 一、理解标签 标签tag,可以简单的理解为是对某次commit的一个标识,相当于起了一个别名.例如,在项目发布某个版本的时候,针对最后一次commit起一个v1.0这样的标签来标识里程碑的意义. 这有什么用呢?…

信息系统项目管理师(第四版)教材精读思维导图-第一章信息化发展

请参阅我的另一篇文章,综合介绍软考高项: 信息系统项目管理师(软考高项)备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 思维导图源文件下载: https://download.csdn.net/download/hanjingjava/8801629…

如何在工作中保持稳定的情绪

如何在工作中保持稳定的情绪 在高压的工作环境中,保持稳定的情绪对于程序员来说至关重要。作为一个程序员,我们常常面临着各种技术挑战、项目期限和团队合作的压力。在这样的环境下,情绪的波动可能会影响我们的工作效率和质量。因此&#xff…

使用OpenCV显示图像的RGB颜色直方图

#include <opencv2/opencv.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv;int main( ) {Mat srcImage;srcImage=<

数据特征降维 | 主成分分析PCA数据特征降维

文章目录 效果一览文章概述部分源码部分源码参考资料效果一览 文章概述 数据特征降维 | 主成分分析PCA,(主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征) 部分源码 部分源码 %% 清空环境变量 warning off % 关闭报警信息 close a…

linux:ubuntu命令行扩容

参考&#xff1a; ubuntu 20.04 逻辑卷 ext4 文件系统扩容_mob604757006a49的技术博客_51CTO博客 总结&#xff1a; 准备步骤&#xff08;链接里没有说明&#xff0c;我参考了其他的帖子增加的一步&#xff09;&#xff1a; 1.关闭虚拟机&#xff0c;右键虚拟机&#xff0c;选择…