经过前面的学习,读者应该对当前主流的物体检测算法,以及如何使用PyTorch搭建网络框架有了较为深入的理解。为了扩宽读者的思维空间,笔者将从更为宏观的角度介绍物体检测的未来发展趋势,尤其是有较大创新意义的方法,希望能对读者有所启发。 重新思考物体检测 在过去的几年的时间里,基于深度学习的检测算法取得了巨大成功。基于Faster RCNN、SSD和YOLO等改善算法你方唱罢我登场,在每年的顶级会议中都能看到它们的身影,其在工业界也有了诸多落地应用。 学习了诸多算法后,我们需要回过头来重新审视物体检测,思考当前有哪些关…

2020-08-26 142点热度 1人点赞 阅读全文

在前面的学习中,我们对物体检测模型的思想、结构及实现有了一定的了解,但是要想获得较好的检测性能,检测算法的细节处理也极为重要。 在众多的细节处理中,非极大值抑制、样本的不均衡及模型的过拟合这3个问题尤为重要,对模型的性能影响极大。本章将依次对这3个问题进行详细的分析,并给出一些经典的解决方法。 非极大值抑制:NMS 当前的物体检测算法为了保证召回率,对于同一个真实物体往往会有多于1个的候选框输出。由于多余的候选框会影响检测精度,因此需要利用NMS过滤掉重叠的候选框,得到最佳的预测输出。 NMS方法简单有效,并且对检…

2020-08-26 138点热度 1人点赞 阅读全文

为了降低计算量,当前先进的卷积网络通常在3×3卷积之前增加一个1×1卷积,用于通道间的信息流通与降维。然而在ResNeXt、MobileNet等高性能的网络中,1×1卷积却占用了大量的计算资源。 2017年的ShuffleNet v1从优化网络结构的角度出发,利用组卷积与通道混洗(Channel Shuffle)的操作有效降低了1×1逐点卷积的计算量,是一个极为高效的轻量化网络。而2018年的ShuffleNet v2则在ShuffleNet v1版本的基础上实现了更为优越的性能,本节将详细介绍这两个Shuffle…

2020-08-25 305点热度 1人点赞 阅读全文

当物体检测应用到实际工业场景时,模型的参数量是一个十分重要的指标,较小的模型可以高效地进行分布式训练,减小模型更新开销,降低平台体积功耗存储和计算能力的限制,方便在FPGA等边缘平台上部署。 基于以上几点,Han等人提出了轻量化模型SqueezeNet,其性能与AlexNet相近,而模型参数仅有AlexNet的1/50。在本节将首先介绍SqueezeNet的模型结构,然后对该模型进行总结与分析。 SqueezeNet网络结构 随着网络结构的逐渐加深,模型的性能有了大幅度提升,但这也增加了网络参数与前向计算的时间。S…

2020-08-25 114点热度 1人点赞 阅读全文

这是之前入门学习Python时候的学习资料,非常全面,从Python基础、到web开发、数据分析、机器学习、深度学习、金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的讲解,适合python学习者,对某些知识点不熟悉的话,将页面保存到浏览器书签,可以快速在没网的情况下查找知识点,总计有200多页! 资料获取请查看全文

2020-08-03 106点热度 6人点赞 阅读全文

一. 选择题(12 分)1. (选择题, 3 分) 在两个变量的回归分析中, 作散点图是为了:A. 直接求出回归直线方程B. 直接求出回归方程C. 根据经验选定回归方程的类型D. 估计回归方程的参数2. (选择题, 3 分) 假设你正在训练一个逻辑回归分类模型, 下列哪个陈述是对的?A. 在模型中引入正则化总是导致训练集上的性能相等或更好B. 在模型中添加许多新特性有助于防止训练集过拟合C. 在模型中引入正则化总是导致不在训练集中的示例具有相同或更好的性能D. 在模型中添加一个新特性总是导致训练集上的性能相等或更好…

2020-07-25 580点热度 5人点赞 阅读全文

创建数据库 在该实例中,我们将会使用sklearn的make_blobs函数进行数据点的创建。首先介绍该函数,scikit中的make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。 使用方法如下: sklearn.datasets.make_blobs(n_samples, n_features,centers,cluster_std) 其中: n_samples是待生成的样本的总数。 n_…

2020-07-25 557点热度 7人点赞 阅读全文

Mnist手写数据集由 60000 个训练样本和 10000 个测试样本组成,是在深度学习领域 中常用的数据库,每个样本都是一张 28 * 28 像素的灰度手写数字图片。使用 sklearn 函数库的 fetch_mldata()函数对 mnist 数据库进行加载,并完成以下内容: (1)使用PCA算法对数据集进行降维(降维至2维),并可视化其降维后的特征分布。 (2)对降维后的数据,使用KMeans算法进行聚类,并可视化聚类结果以及聚类中心。 (3)使用PCA对数据集进行降维,并使用KNN算法对降维后的…

2020-07-25 505点热度 2人点赞 阅读全文

XGBoost xgboost是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN, MPI, Sungrid Engine等各个平台上面运行,并且保留了单机并行版本的各种优化,使得它可以很好地解决于工业界规模的问题。 XGBoost的优点 正则化 XGBoost…

2020-07-12 112点热度 1人点赞 阅读全文

集体智慧 综合若干错误的预测结果,可以得到正确的预测结果吗?答案是可以!这好像违背直觉,但优秀的预测模型可以做到,甚至理应如此。 这基于以下事实:虽然错误的预测结果可能有很多,但是正确的只有一个。通过组合具有不同优缺点的模型,往往能强化正确的预测结果,同时使错误相互抵消。这种通过组合不同模型来提高预测准确度的方法被称为集成方法。 前面学习了决策树,本文主要讲的随机森林就是基于决策树的一种集成方法。为了说明随机森林为何优于决策树,我们首先生成1000棵决策树,用来预测可能发生在美国旧金山的犯罪行为,然后基于这1000…

2020-07-09 1124点热度 2人点赞 阅读全文