box

目标检测之YOLO原理与实现

守給你的承諾、 提交于 2019-12-02 09:12:39
YOLO(You Only Look Once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时目标检测系统。 现在YOLO已经发展到v3版本,不过新版本也是在原有版本基础上不断改进演化的,所以本文先详细分析YOLO v1版本。 YOLO提供了另一种更为直接的思路: 直接在输出层回归bounding box的位置和bounding box所属的类别(整张图作为网络的输入,把 Object Detection 的问题转化成一个 Regression 问题)。 YOLOv1网络结构设计: 训练: 预训练分类网络: 在 ImageNet 1000-class competition dataset上预训练一个分类网络,这个网络是上图中的前20个卷机网络+average-pooling layer+ fully connected layer 作为Pretrain的网络(此时网络输入是224*224)。 训练检测网络:转换模型去执行检测任务,将Pretrain的结果的前20层卷积层应用到Detection中,并添加4个卷积层和2个全连接层,随机初始化权重。检测要求细粒度的视觉信息,获取更加精细化的结果,所以把网络输入由224×224提升到448×448。 最后一层输出为 (7×7)×30的维度。每个 1×1×30的维度对应原图7×7个cell中的一个,1

【YOLO学习笔记】之YOLO v1 论文笔记1(超详细:翻译+理解)

纵饮孤独 提交于 2019-12-02 05:54:32
目录 前言 一、Abstract(概括) 二、Introduction(介绍) 三、Unified Detection(统一检测) 1、Network Design(网络设计) 2、Training(训练) 3、Inference(推论) 4、Limitations of YOLO(YOLO的局限性) 前言 看过很多的YOLO中文版学习笔记,干货比较多,但是,有点干,对于很多想要入门的童鞋来说,看着很难理解,一些概念晦涩难懂,一些英文表述不知为何意。所以从这一篇博客开始,我尽量用比较简单的语言来讲述YOLO v1,把我个人的理解分享给大家,希望大家能够学懂YOLO,会用YOLO。 我会讲的很细,所以一篇博客来说一篇论文,内容有点多,我会分成两个博客来讲述YOLO论文还会有一部分博客作为补充,希望大家能认真学习,文中的如果哪里写的不好或者有错误,还希望大家能够不吝赐教。 先分享一波YOLO相关的文章,帮助大家更好的学习YOLO。 1.YOLO v1 论文笔记1: https://blog.csdn.net/shuiyixin/article/details/82533849 2.YOLO v1 论文笔记2: https://blog.csdn.net/shuiyixin/article/details/82560920 3.YOLO v1 代码实战 : https://blog

You Only Look Once: Unified, Real-Time Object Detection

痞子三分冷 提交于 2019-12-02 05:00:52
文章目录 Abstract 1. Introduction 2. Unified Detection 2.1. Network Design 2.2. Training 2.3. Inference 2.4. Limitations of YOLO 3. Comparison to Other Detection Systems 4. Experiments 4.1. Comparison to Other Real-Time Systems 4.2. VOC 2007 Error Analysis 4.3. Combining Fast R-CNN and YOLO 4.4. VOC 2012 Results 4.5. Generalizability: Person Detection in Artwork 5. Real-Time Detection In The Wild 6. Conclusion Abstract We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression

js实现方块的碰撞检测

允我心安 提交于 2019-12-02 00:10:25
文章地址: https://www.cnblogs.com/sandraryan/ 个人感觉。方块的碰撞检测比圆形麻烦~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body { margin: 0; padding: 0; background-color: lightyellow; } .wrap { width: 50px; height: 50px; background-color: red; position: fixed; top: 0; left: 0; } .box { position: fixed; width: 50px; height: 50px; } </style> </head> <body> <div class="wrap"></div> <div class="box box1">11</div> <div class="box box2">22<

Vagrant 打造跨平台开发环境

最后都变了- 提交于 2019-12-01 20:54:26
简介 Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境。Vagrant可以将你的配置独立在一个可部署环境中,让其他人方便使用 准备 vagrant https://www.vagrantup.com/downloads.html 下载 vagrant_1.9.6.msi Virtual Box https://www.virtualbox.org/wiki/Download_Old_Builds_5_0 下载 VirtualBox-5.0.40-115130-Win.exe box文件 centos65-x86_64-20140116.box 安装 安装 vagrant 安装 virtual box 建议安装4.3.12版本,自版本4.3.12后启动虚拟机会存在各种问题,最新版本未验证. 安装完成后,建议把默认虚拟位置修改下: 使用 Vagrant > mkdir work > cd work > vagrant init mysystem > vagrant box add mysystem f:\centos64-x86_64-20140116.box 或者 > vagrant box add mysystem https://xxxxxxx

Vagrant

强颜欢笑 提交于 2019-12-01 20:54:13
Vagrant的更新比较多,因此大家不要尽信网上的教程,包括此文,建议使用最新版,配置还是以 Vagrant官网 文档为准。 需要挂载的路径不能在虚拟机中创建符号链接!!!否则无法正常挂载!!! Vagrant是什么?                  Vagrant 是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。 Vagrant能做什么? 统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”,“缺少模块”,“配置文件不同”带来的问题; 避免重复搭建开发环境。新员工加入,不用浪费时间搭建开发环境,快速加入开发,减少时间成本的浪费; 多个相互隔离开发环境。可以在不用box里跑不同的语言,或者编译安装同一语言不同版本,搭建多个相互隔离的开发环境,卸载清除时也很快捷轻松。 安装 和 配置? https://www.vagrantup.com https://www.virtualbox.org/wiki/Downloads mac上是傻瓜式一键安装 1. #Vagrant常用命令 1.1. 添加box #提前下载好的box文件,~/box/precise64.box,我们给这个box命名为ubuntu12.04 vagrant box add ubuntu12.04 ~/box/precise64

Vagrant简介和安装配置

那年仲夏 提交于 2019-12-01 20:53:49
Vagrant的更新比较多,因此大家不要尽信网上的教程,包括此文,建议使用最新版,配置还是以 Vagrant官网 文档为准。 Vagrant是什么?                  Vagrant 是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。 Vagrant能做什么? 统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”,“缺少模块”,“配置文件不同”带来的问题; 避免重复搭建开发环境。新员工加入,不用浪费时间搭建开发环境,快速加入开发,减少时间成本的浪费; 多个相互隔离开发环境。可以在不用box里跑不同的语言,或者编译安装同一语言不同版本,搭建多个相互隔离的开发环境,卸载清除时也很快捷轻松。 安装 和 配置? https://www.vagrantup.com https://www.virtualbox.org/wiki/Downloads mac上是傻瓜式一键安装 1. #Vagrant常用命令 1.1. 添加box #提前下载好的box文件,~/box/precise64.box,我们给这个box命名为ubuntu12.04 vagrant box add ubuntu12.04 ~/box/precise64.box #box文件也可以是远程地址 base 为默认名称

css常用的属性

青春壹個敷衍的年華 提交于 2019-12-01 18:59:42
1 文字成一行,超出部分省略号表示 overflow: hidden; //超出部分不显示 white-space:nowrap; //有空余但不换行 => 没有设置高度时会自动换行 text-overflow:ellipsis; //文本超出部分用…表示 => 要配合overflow: hidden使用 eq: 2 文字成多行,超出部分省略号表示(参考属性) overflow: hidden; //超出部分不显示 display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; eq: 如果后面空间不够谷歌浏览器会把整个单词自动换行,因此添加 word-break: break-all 截断单词 /* autoprefixer: off */注释作用:防止编译build时忽略对-webkit-box-orient编译 => 在谷歌浏览器中没有-webkit-box-orient并不影响效果(edge和火狐有影响) 来源: https://www.cnblogs.com/chujunqiao/p/11713332.html

css 基础2

只愿长相守 提交于 2019-12-01 17:29:41
css 基础2 一.margin相关技巧 1、设置元素水平居中: margin:x auto; 2、margin负值让元素位移及边框合并 盒子重合现象 :两个盒子margin垂直边距的高度等于两个发生合并的边距的高度中的较大者。 解决方案如下: 1、使用这种特性(特殊布局用到) 2、设置一边的外边距,一般设置margin-top(布局常用) 3、将元素浮动或者定位 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>margin相关技巧</title> <style type="text/css"> body{margin: 0} .box{ width: 202px; height: 156px; background-color: gold; /* 设置元素水平居中: margin:x auto; */ margin: 50px auto 0; } .box div{ width: 202px; height: 30px; border: 1px solid green; background: pink; margin: -1px; } </style> </head> <body> <div class="box"> <div>1</div> <div>2</div>

Monkey and Banana

流过昼夜 提交于 2019-12-01 17:00:00
C - Monkey and Banana 参考: ACM HDU 1069 Monkey and Banana (动态规划) 思路:对于这道DP题来说,如果以高度或者说砖块的个数来作为储存的状态的内容,显然是不合适的。 不难看出,这道题主要是想求一个 最长有序子序列 ,那么我们首先把所有可能的长宽高都保存起来,然后再对该数组求一个最长有序子序列即可! 只要理解了什么是最长有序子序列,那么该题便迎刃而解! 代码: // Created by CAD on 2019/10/17. #include <bits/stdc++.h> using namespace std; struct BOX{ int x,y; int high,dp; bool operator<(BOX &b) { if(x<b.x) return true; return x==b.x && y<b.y; } }box[200]; int main() { ios::sync_with_stdio(false); cin.tie(0); int n,Case=0; while(cin>>n,n) { int cnt=0; for(int i=1;i<=n;++i) { int x,y,z; cin>>x>>y>>z; box[++cnt].x=x,box[cnt].y=y,box[cnt].high=box