前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深度学习: 选择合适的检测算法

深度学习: 选择合适的检测算法

作者头像
JNingWei
发布于 2018-09-27 03:45:24
发布于 2018-09-27 03:45:24
59301
代码可运行
举报
文章被收录于专栏:JNing的专栏JNing的专栏
运行总次数:1
代码可运行

算法的选择

如今落地的CV业务所用方法不一。但其中有两种算法简单高效,较为常用:

算法

优点

缺点

改进方案

RetinaNet

很简单、精度较高、速度快

fp较多

增加后处理

FPN + Faster R-CNN

较简单、精度很高、fp少

速度有待提高

简化basemodel

甚至连无人驾驶这种对实时性要求极高的应用场景,也多采用FPN+Faster R-CNN作为其基本算法。

还有的会用 Light-head R-CNNDeformable R-FCN 等。

其他算法,诸如YOLO系、SSD等等,都因为检测精度太差,而空有那么高的速度,采用较少。 SNIP一类的,普通显卡甚至都带不起来,更别提落地了。

Basemodel的选择

ResNet之前

在ResNet (2015.12) 出来之前,basemodel经历了从AlexNet一家独大,到VGG和GoogleNet平分天下的时期。

ResNet之后

ResNet出来后,由于其简单和强大,成为了basemodel的绝对标杆。

如今从业者一般遵循以下流程:

  1. 先用ResNet-50来验证算法的有效性;
  2. 直接导入pre-train好的模型,在自己的数据集上fine-tune一、二十个epoch即可;
  3. 当该算法在ResNet-50上切实有效后,如果要追求算法速度 (例如落地到移动端),则将basemodel替换为 Xception (较常用的是Xception-145) 、ShuffleNet、MobileNet等等;如果要追求精度 (例如发论文、打比赛刷榜),则将basemodel替换为 ResNet-101 / ResNeXt-101 / DenseNet / DPN 等等。

算法的训练

Basemodel部分,一般直接导入现成训练好的。之后在自己的数据集上fine-tune整个网络。

Training

市面上的涨点方法汗牛充栋,主要有Large/small kernel(大/小卷积核)、Loss function(目标函数)、Stronger basemodel(更强的basemodel)、Scale handling(尺度设计)、RoIAlign(对齐RoIPooling)、Deformable convolution(形变卷积)、Atrous convolution(空洞卷积)、Cascade(级联)、OHEM(在线困难样本挖掘)、BN(规范化)、Regulation(正则化)、Large mini-batch、Emsemble learning(集成学习)、Multi-scale training and testing等等。

But,绝大部分trick,都不如根据test情况,针对性地 加数据 来得实在。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年06月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
WeifenLuo.WinFormsUI.Docking + OutLookBar结合使用的效果图
跟着阿笨一起玩NET
2018/09/19
2.9K0
C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
(十九)c#Winform自定义控件-停靠窗体
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
8020
(二十二)c#Winform自定义控件-半透明窗体
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
1.6K0
关于Form.Close跟Form.Dispose
我们在Winform开发的时候,使用From.Show来显示窗口,使用Form.Close来关闭窗口。熟悉Winform开发的想必对这些非常熟悉。但是Form类型实现了IDisposable接口,那我
MJ.Zhou
2018/01/04
1.6K0
关于Form.Close跟Form.Dispose
c# 自定义多选下拉列表2
以下为工作中遇到的,备注一下 先需要几个辅助类 1 #region GripBounds 2 3 using System.Drawing; 4 internal struct GripBounds 5 { 6 private const int GripSize = 6; 7 private const int CornerGripSize = GripSize << 1; 8 9 public GripBounds(Rectangle cl
冰封一夏
2019/09/11
3K0
再议Windows消息与WinForm事件
在2月份的时候,我之前曾经写过一篇关于Windows消息与C# WinForm事件机制的文章,名为《WinForm事件与消息》。在那篇文章中,我简单探讨了一下事件和消息。然而如今看来,当时的文章中的案例在运行上存在一定的问题,并且内容也有所缺陷,于是本文将重新优化文章的内容。
w4ngzhen
2023/10/18
3610
【C#】分享一个可携带附加消息的增强消息框MessageBoxEx
--------------201806111122更新---------------
AhDung
2018/09/13
2.1K0
【C#】分享一个可携带附加消息的增强消息框MessageBoxEx
WinForm事件与消息
Windows下应用程序的执行是通过消息驱动的。所有的外部事件,如键盘输入、鼠标移动、按动鼠标都由OS系统转换成相应的“消息”,进入到应用程序的消息队列中,由应用程序引擎轮询处理。在C#中,消息被应用程序的工作引擎通过轮询等方式遍历获取并按照消息的类型逐个分发到对应的组件(例如窗体、按钮等),最后调用对应组件所注册的事件进行处理。
w4ngzhen
2023/10/18
4150
c# 停靠窗体
public partial class FrmAnchor : Form, IMessageFilter { public FrmAnchor(Control parentControlc, Control keyControl) { InitializeComponent(); this.Size = keyControl.Size; this.HandleCreated += FrmDow
冰封一夏
2019/09/11
1.1K0
Winform注册和注销全局快捷键
本文转载:http://www.cnblogs.com/scottckt/archive/2007/12/03/981105.html
跟着阿笨一起玩NET
2018/09/18
1.8K0
WinForm中WebBrowser加载Flash库
https://docs.microsoft.com/zh-cn/microsoft-edge/webview2/get-started/wpf
码客说
2022/03/24
2.2K0
WinForm中WebBrowser加载Flash库
WPF/WinForm中加载网页的几种方式及如何加载Flash库(WebBrowser/CEF)
https://docs.microsoft.com/zh-cn/microsoft-edge/webview2/get-started/wpf
码客说
2022/06/12
4.1K0
WPF/WinForm中加载网页的几种方式及如何加载Flash库(WebBrowser/CEF)
c#进程之间对象传递方法
KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题。
zls365
2021/01/13
7620
c#进程之间对象传递方法
asp.net中窗口相关操作总结(javascript)
1.打开新窗口   这个简单:Response.Write(@    language=javasJavaScript
Java架构师必看
2020/09/30
1.1K0
【C#】带等待窗体的BackgroundWorker
---------------201504170911更新---------------
AhDung
2018/09/13
1.9K0
【C#】带等待窗体的BackgroundWorker
c#中设置快捷键
最近找了一些资料,是讲在C#中设置快捷键运行方法或程序的 要设置快捷键必须使用user32.dll下面的两个方法。 BOOL RegisterHotKey(  HWND hWnd,  int id,  UINT fsModifiers,  UINT vk );   和 BOOL UnregisterHotKey(  HWND hWnd,  int id ); 转换成C#代码,那么首先就要引用命名空间System.Runtime.InteropServices;来加载非托管类user32.dll。于是有了
脑洞的蜂蜜
2018/02/01
1K0
flash在C#中的应用
很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是Flash做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。
SAP梦心
2022/05/07
2K0
1-3 Winform 中的常用控件(
Winform 中的常用控件来自于系统System.Windows.Forms.Control,该类库来自System.Windows.Forms命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰富的用户界面,具体实现功能由位于该命名空间下的Control系统类派生。Control 类为在Form中显示的所有控件提供基本功能,Form类表示应用程序内的窗口。这包括对话框,无模式窗口和多文档界面 (MDI) 客户端窗口及父窗口,同时也可以通过从UserControl类派生而创建自己的控件。
py3study
2020/01/06
2.9K0
【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
------------------201508261813更新(源码有更新、Demo未更新)------------------
AhDung
2018/09/13
2.9K0
【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
焦点事件中的Validating处理方法
本文转载:http://tech.it168.com/oldarticle/2006-04-03/200604031055437.shtml
跟着阿笨一起玩NET
2018/09/18
2.2K0
相关推荐
C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验