摘要:YOLOv3(You Only Look Once version 3)是一种高效的目标检测算法,旨在实现快速而准确的对象检测。

本文分享自华为云社区《华为云开发者云主机体验【玩转华为云】》,作者: DS小龙哥。

一、前言

云主机是华为云为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具体系,让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

二、领取云主机

领取地址:https://developer.huaweicloud.com/developerspace

申请之后,会提示加入开发者空间,根据提示选择配置就行了。

配置之后。在这里可以进去云主机的公众空间。

第一次配置,初始化需要一点时间。

初始化完毕之后,就可以进去桌面体验了。

下面是进入桌面的提示状态。

进去桌面后的效果。

直接在浏览器里访问很方面。 非常方便在Linux环境下做项目开发测试。

对于复制粘贴,本地电脑不能直接copy,需要使用工具进行安全的复制粘贴。

三、快速体验YOLOV3

YOLOv3(You Only Look Once version 3)是一种高效的目标检测算法,由Joseph Redmon等人开发。它是YOLO系列算法的第三个版本,旨在实现快速而准确的对象检测。与传统的两阶段目标检测方法(如R-CNN系列算法)不同,YOLOv3采用了一次性(single-shot)检测方法,这意味着它可以在一个单一的神经网络前向传播过程中同时完成对象分类和边界框回归。

YOLOv3的主要特性包括:

  1. 主干网络:YOLOv3使用Darknet-53作为其基础网络,这是对YOLOv2中Darknet-19的一个深度增强版,提供了更好的特征提取能力。
  2. 多尺度检测:YOLOv3采用了特征金字塔网络(Feature Pyramid Network,FPN)的概念,实现了在三个不同的尺度上进行检测,分别是13x13、26x26和52x53的特征图分辨率,这有助于检测不同大小的对象。
  3. 锚框(Anchor Boxes):YOLOv3使用预定义的锚框来预测对象的位置,这些锚框是通过对训练数据集中对象的尺寸进行聚类得到的。
  4. 分类器:在对象分类方面,YOLOv3使用Logistic回归来预测每个类别的概率,这允许它处理包含多个标签的对象,即一个对象可能属于多个类别的情况。
  5. 损失函数:YOLOv3的损失函数综合考虑了边界框坐标、对象存在性和类别预测的误差。
  6. 训练和预测:YOLOv3能够在单张图像上同时预测多个对象,且由于其一次性检测的特性,它能实现实时处理速度,非常适合实时视频流处理等场景。

YOLOv3因其在速度与精度之间的良好平衡而在工业界和学术界得到了广泛应用。随着后续版本如YOLOv4和YOLOv5的推出,虽然YOLOv3可能不再是最新版本,但它仍然是理解和实现现代目标检测算法的重要基准。

YOLO算法官网介绍:https://pjreddie.com/darknet/yolo/

You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev.

You Only Look Once (YOLO) 是最先进的实时目标检测系统。在 Pascal Titan X 上,它以 30 FPS 处理图像,并且在 COCO 测试开发上的 mAP 为 57.9%。

Comparison to Other Detectors YOLOv3 is extremely fast and accurate. In mAP measured at .5 IOU YOLOv3 is on par with Focal Loss but about 4x faster. Moreover, you can easily tradeoff between speed and accuracy simply by changing the size of the model, no retraining required!

与其他探测器的比较 YOLOv3 非常快速且准确。在 mAP 中,测量结果为 0.5 IOU YOLOv3 与 Focal Loss 相当,但速度快约 4 倍。此外,只需更改模型的大小即可轻松在速度和准确性之间进行权衡,无需重新训练!

在Linux下快速体验YOLO算法的目标检测(采用官方的模型)。

(1)安装darknet

git clone https://github.com/pjreddie/darknet
cd darknet
make

如果克隆失败,多试几次即可。

编译中:

(2)下载权重文件

wget https://pjreddie.com/media/files/yolov3.weights

yolov3.weights 是 YOLOv3 网络训练得到的权重文件,存储了神经网络中每个层次的权重和偏置信息。

在cfg/目录下已经包含了yolov3对应的配置文件。

权重文件下载中:

(3)运行detector

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

运行输出的信息:

layer     filters    size              input                output
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0.299 BFLOPs
1 conv 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1.595 BFLOPs
.......
105 conv 255 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 255 0.353 BFLOPs
106 detection
truth_thresh: Using default '1.000000'
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 0.029329 seconds.
dog: 99%
truck: 93%
bicycle: 99%

运行过程:

查看原来图片:

查看识别成功的图片:

识别测试2:

./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>

如果想实时识别视频,可以运行下面的命令:

./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>

点击关注,第一时间了解华为云新鲜技术

免费领取云主机,在华为开发者空间玩转YOLOV3的更多相关文章

  1. APICloud联合腾讯云推出“云主机解决方案“,各种福利等你拿

    为了帮助开发者一站式打通云.开发.运维全流程服务,更全面提供基于自身业务情况的云服务器.数据库.存储等基础设施服务,APICloud联合腾讯云重磅推出“云主机解决方案“.开发者可通过控制台简单清晰的购 ...

  2. 云主机与vps虚拟主机的区别

    云计算时代,云主机其可扩展性.价格便宜.安全可靠的特性深受企业和开发者欢迎,但目前有些IDC企业,新瓶装旧酒,将虚拟主机.VPS进行包装推出所谓的云主机服务,为了帮助用户更好的辨别和挑选云主机,下文详 ...

  3. Linux云主机 监控方案浅析

    1.为何需要监控 监控是运维工程师的眼睛,它可帮助运维工程师第一时间发现系统的问题. 对于服务器的整个生命周期,都要和监控打交道: 当有服务器上架,都需要加入比如CPU负载.内存.网络.磁盘等基础监控 ...

  4. 华为开发者大会HDC2022:HMS Core 持续创新,与开发者共创美好数智生活

    11月4日,华为开发者大会HDC2022在东莞松山湖拉开帷幕.HMS Core在本次大会上带来了包括音频编辑服务的高拟真歌声合成技术.视频编辑服务的智能提取精彩瞬间功能.3D Engine超大规模数字 ...

  5. 保姆级教程:用GPU云主机搭建AI大语言模型并用Flask封装成API,实现用户与模型对话

    导读 在当今的人工智能时代,大型AI模型已成为获得人工智能应用程序的关键.但是,这些巨大的模型需要庞大的计算资源和存储空间,因此搭建这些模型并对它们进行交互需要强大的计算能力,这通常需要使用云计算服务 ...

  6. 真假云主机,VPS资料集合

    资料来源: http://www.west263.com/services/CloudHost/pk.asp?ads=baidu912 用"云里雾里"形容中小企业用户对云计算的理解 ...

  7. 虚拟主机、VPS、云主机以及独立服务器的关系

    很多人对虚拟主机.VPS.云主机以及独立服务器的关系不是很了解,我在这里给大家简单分析一下. 先总结一下: (1)虚拟主机是把一台物理机器分割成很多的小空间,这些空间共享操作系统的资源,比如:同一个操 ...

  8. 阿里云主机和RDS使用心得

    本文上非广告,只是将这近1年的使用过程给大家分享一下. 去年下半年,服务器托管到期,加上服务器也使用了5.6年,严重老化,当时正好看到阿里云的宣传广告,就开始了阿里云使用历程.陆续购买了4台云主机,I ...

  9. 聊一聊我的阿里云ECS云主机

    javaweb学习有段时间了,期间也编写了一些自己的小webapp应用,但是都是发布在我们自己的个人pc上的. 于是我在想:怎么样让自己的项目可以发到公网上面去,让朋友们能够来访问? 我首先想到的是: ...

  10. 虚拟主机、VPS以及云主机的区别和对比

    对于很多需要建网站的朋友来说,虚拟主机是必须要了解的基础知识.虚拟主机相对于VPS与云主机来说出现的较早,也是被大多数站长所了解的主机.很多人容易将这三者混淆,弄不清楚三者的联系与区别.那么虚拟主机. ...

随机推荐

  1. 增补博客 第六篇 python 电子算盘

    珠算测试器 题目描述]设计一个珠算测试器,要求能够完成珠算加减法的测试.具体的要求功能如下:(1)用户启动测试,输入用户名后系统随机生成特定数目的加减法测试题:(2) 要求测试使用表盘式或数字时秒表进 ...

  2. Do not access Object.prototype method 'hasOwnProperty' from target object

    hasOwnProperty 判断对象是否为空 在使用 hasOwnProperty 判断对象是否为空时遇到了一下问题,总结一下 // Do not access Object.prototype m ...

  3. 多Github账号指定ssh-key提交代码

    问题 目前github中代码提交只能通过ssh方式. 每个github账号只能添加一个专用的ssh-key. 如果同时有多个Github账号在用的话就必须给每个账号绑定不同的ssh-key. 方法一: ...

  4. Qt实现汽车仪表盘

    在UI界面显示中,仪表盘的应用相对比较广泛,经常用于显示速度值,电压电流值等等,最终实现效果如下动态图片(文末提供给源工程下载): 主要包含以下绘制步骤: 绘制画布 /* * 绘制画布 */ void ...

  5. AT_abc317_f 题解

    调了一小时结果发现爆 long long 了. 考虑数位 dp,具体来说,设计状态 \(dp_{i,r_1,r_2,r_3,mx_1,mx_2,mx3_,c_1,c_2,c_3}\) 表示当前考虑到第 ...

  6. 新知识get,vue3是如何实现在style中使用响应式变量?

    前言 vue2的时候想必大家有遇到需要在style模块中访问script模块中的响应式变量,为此我们不得不使用css变量去实现.现在vue3已经内置了这个功能啦,可以在style中使用v-bind指令 ...

  7. 使用libzip压缩文件和文件夹

    简单说说自己遇到的坑: 分清楚三个组件:zlib.minizip和libzip.zlib是底层和最基础的C库,用于使用Deflate算法压缩和解压缩文件流或者单个文件,但是如果要压缩文件夹就很麻烦,主 ...

  8. WebGL加载本地模型

    前言 大部分的webgl框架,比如threejs和babylon等,都可以加载obj和gltf模型. 我们的引擎,基于three封装,同样有加载模型的loader,因此加载obj和gltf模型也是很简 ...

  9. PHP函数http_build_query使用详解

    什么是http_build_query? 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串.参数 formdata 可以是数组或包含属性的对象.一个 formdata 数组 ...

  10. oeasy教您玩转vim - 36 - # 插入字符

    ​ 插入字符 回忆上节课内容 正则表达式 行头行尾 ^ 意味着行开头 $ 意味着行结尾 任意字符 . 代表任意字符 [a-z] 代表任意小写字母 字符数量 * 代表 0 到任意多个前字符 + 代表 1 ...