(翻译,解读)TWO-STAGEPOOLING OF DEEP CONVOLUTIONAL FEATURES FOR IMAGE RETRIEVAL

吃透 AM32 无人机电调:从源码架构到工作原理的全方位解析(附实践指南)(上) 本文深入解析了AM32电调固件的源码架构与核心模块实现。文章首先介绍了AM32电调作为开源无人机;动力心脏的重要地位,随后从硬件基础、源码目录、模块划分三个维度构建解析框架。重点剖析了系统初始化模块的时钟配置、GPIO初始化和定时器设置,以及FOC控制模块的坐标变换算法、角度估算和SVPWM生成等关键技术实现。通过逐行代码解析,揭示了电调如何将飞控指令转换为电机驱动的完整过程,为开发者理解AM32电调工作原理提供了系统性指导。 阅读详情

TWO-STAGEPOOLING OF DEEP CONVOLUTIONAL FEATURES FOR IMAGE

RETRIEVAL

TianchengZhi, Ling-Yu Duan, Yitong Wang, Tiejun Huang

 

 

 

(这是一篇翻译文章,我自己读了这篇文章,顺便写了点自己的理解,和大家交流下里面的内容)

摘要:

CNN(卷积神经网络)基于图片表征在图像检索方面已经取得可相当高的成绩。然而,传统的CNN不是基于全局特征就是采用高维的特征,这会消耗大量的内存和计算资源,或者有价值的特征抓取的不充分,导致CNN抓取特征能力不足。为了改善这些问题,我们提出了“双层局部平均池化法(PMP)”去构建紧凑且高辨识度的全局特征。希望基于“碎片层(patch-level)”“中层(mid-level)”提取的特征和代表的PMP,能打破传统“最大池化(max-pooling)”和“平均池化(mean-pooling)”的限制。通过在几个公共基准数据集上的实验,我们大大提高了检索能力。

 

关键词:图像代表,图像检索,CNN,特征池化,compactdescriptor

 

介绍:

十年来,图像检索在学术界和工业界吸引了广泛的注意。特征代表在图像检索方面是个核心因素,影响着准确率和效率。传统的,手动标注局部特征方式,类似“SIFT”和“SURF”可以利用BoW,VLAD和FV方式计算出全局代表。近几年随着深度学习的高速发展,利用pre-trained的CNN模型去提取特征已经达到了一个很高的水平并且比起传统的手动标注合并来做图像检索(场景检索,地标识别

)要好很多。

老实说,基于图像代表的CNN可以被分为两类,一类利用pre-trianed的模型对于整张图像去获取全局特征。一个简单的方法:从Alexnet/CafeeNet的fc6/fc7全连接层去提取高层特征。Howeverthe

rawhigh dimensional CNN features are much less efficient due to timeconsuming similarity distance computing.最近的工作采用了PrincipalComponmentAnalysis(PCA)方法去更多的降低特征的尺寸。尽管PCA能够吧特征转为低维度的代表(representation),但是这个转换矩阵(matrix)非常的大,因此会导致一定的时间消耗在减少加工上。值得注意的是,如果卷积或池化的特征被当成公共向量来对待,那么每个卷积或池化featuremap的位置信息会被忽略,但是,特征池化可以解决这个问题。因此,特征池化被考虑基于“middle-level”的representation。Babenkoet al.使用sumpooling来降低最后一个卷积或者池化层的特征尺寸并且效果不错。然而,图像检索经常会有复杂的场景,很多的不同尺寸,凌乱的背景,很多的类别,这些都是对于全局表征贡献不大的对于整张图片在检索中的必要信息。

为了解决基于全局表征的缺点,第二个方法是利用CNN从原始图像的碎片中提取特征然后融合globalrepresentation。比如,Gongetal.提出了MOP-CNN方案,用VLAD融合来自于不同大小滑动窗口的深度特征。然而,VLAD受到了尺寸的限制,因为全局特征是“patch-level”特征的C倍,C是词汇表的尺寸。MOP-CNN采用PCA去降低特征的尺寸但是之前提到了PCA在尺寸降低上的问题依然存在。一些其他的团队,更喜欢去用一些简单的方法,比如“maxpooling”和“meanpooling(averagepooling)”去获取简介的全局imagerepresentation。但是,maxpooling很容易收到某些突出信号的影响,meanpooling容易受到背景的影响,从而忽略一些有意义的信号。

基于之前的一些方法的缺点,我们提出了高效率PMP,并且把PMP加入到特征提取框架中去。PMP主要用来去减少maxpooling和meanpooling带来不利点。在进行特征提取的时候PMP分了两步:1、intra-patchpooling从卷积featuremaps中去抓取有意义的信号2、intra-patchpooing把level-patch的features合称为全局表征。大量的评测表明PMP比maxpooling和meanpooling的效果更好。同时,这样的特征提取框架采用小的特征尺寸在一些基准数据集上的准确率也被提高了准确率。

第二章会介绍,intra-patch和intra-patchpoling和特征提取框架。后面也有大量的实验结果以及分析,最后在第四章我们作了总结。

 

2、提出的方法

这一章,基于特征提取框架的PMP的细节可以在图1中清楚看出。我们的框架主要包含了三个阶段:patchdetection,mid-level特征提取和两个阶段的PMP

 

 

 

 

 

 

 

 

 

图1:展示了整个体征提取框架。pool5,fc6和fc7层是CaffeNet的特点,对于VGGNet而言,网络结构会更深但保持类似结构。

 

2.1 PatchDetection

正如前面提到的,把整张图片放入到提前训练好的CNN中很难解决不同尺寸,嘈杂的背景和无用的目标带来的问题。收到最近用R-CNN来做目标检测的启发,我们也采用了objectproposal algoprithms去检测高目标可能区域的特征。这样的话,在patch-level收到的背景以及其他无用目标的影响将会被减小。当检测到的patchs是这些目标可能性高的区域,而且CNN的特征很容易去描述目标的语义信息时,CNN的mid-level特征对于每一个patch都会被提取而且被整合形成全局代表。

根据一些关于目标目标提取算法的调查,BING有着最低的计算复杂度(整个检测程序在一个2.6GHz的单CPU电脑上只需要10ms)因为有着搞笑的特征提取,我们采用了BING作为我们的patch检测算法。

值得注意的是,MOP-CNN采用了不同尺寸滑动窗口来解决尺度变化。但是,尽管patchs通过pre-determined的尺寸和滑动步长被提取出来,但是不能保证这些patchs能够抓取到有意义的目标在一个合适的sizes中,比如,两个明显不同的目标可能会在同一个patch中,这样CNN就不能产生很好的特征。所以我们不喜欢MOP-CNN。

 

2.2Mid-level Feature Extraction

如图1所示,给了一个pre-trained的CNN模型,对于每一个imagepatch我们提取了最后一个卷积/池化蹭的featuremaps来作为mid-levelfeature。特别的,这个pool5层的特征是来自于CaffeNet和VGGNet(16层)。我们打算对提取自CaffeNet和VGGNet的pool5的信号在每一个featuremap中进行降序排序。我们的实验表明了排序后的特征比未加工的特征更好描述。

直觉上来说,排序的mid-levelfeatures防止了避免了明确的硬编码的位置信息,从而处理位置方差比原始特征更好。对于不同位子有意义的目标,排序能够更好的检测到他们,所以相似距离的计算能够跟好不受到目标位子变化的影响。举个例子,对于在CaffeNet的pool5层的256feature maps都是用6*6的矩阵来表示的,每一个矩阵的元素都包含了明确的信息。为了抓取pool5这一层的结构信息,我们可以依次连接36元素反应,但位置的不变性很难被满足。所以,我们的mid-level特征提取对信号进行了排序以减少特征对于位置变化的敏感度。

我们已经经验验证,mid-levelpooling features,不包括明确的位置信息注入,超越high-levelfc feature。表格1,比较了排序的CaffeNet的pool5features和其他features在Holiday在检索上的表现。可以看出,排序的pool5比其他传统的pool5更好,而且超越了类似fc6/fc7这样的高层。

 

 

 

 

 

 

 

 

 

相比较于全连接层特征方式,利用卷积/池化层可以明显的减少内存和计算时间消耗,因为在特征提取时减少了大型矩阵的乘法运算。

但是,对于检索而言,排序了的mid-levelfeatures依然拥有太高的维。所以,我们用两个阶段的PMP去构建较有辨别力的简洁的features。

 

2.3.Two-stage Partial Mean Pooling

这两个阶段的PMP,被利用到了patch-levelfeatures去形成简洁的代表。

Intra-patchPooling。这个Intra-patchpooling用来从featuremaps中提取有辨识度的信号并且把feature转换成低维的representation。作为一种量化,PMP是基于intra-patchpooling能够移除位置变化在featurerepresentation中的不利影响。下面有对intra-patchpooling的公式说明。

 

 

 

 

 

 

 

 

 

 

我们采用

 

请等待后续更新~~~

 

 

 

 

 

电机驱动和电源等大电流设计中的并联 MOSFET设计 在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。 阅读详情

相关推荐

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 403

Selective Deep Convolutional Features for Image Retrieval

Selective Deep Convolutional Features for Image Retrieval 文中提出使用不同的mask进行,去除冗余信息,获得较为精准具有判别性的向量特征,为中使用的mask包含,SIFT-mask, SUM-mask,MAX-mask。 分别通过SIFT以及MAX,SUM pooling来做的。 并且在选择的局部卷积上使用embedding以及a...

qq_38284961的博客 239

Docker新手必看:解决‘Unable to find image’错误的完整指南

本文针对Docker新手常见的‘Unable to find image’错误,提供了完整的排查与解决指南。文章深入剖析了权限不足、网络连接失败、Docker服务未运行等核心原因,并给出了将用户加入docker组、配置镜像加速器等实用解决方案,帮助读者彻底理解并解决镜像拉取问题。

weixin_29230901的博客 241

深度学习入门:Aggregating Deep Convolutional Features for Image Retrieval

深度学习入门:Aggregating Deep Convolutional Features for Image Retrieval        在原来的基于CNN的图像检索方法中使用的都是最后的全连接层的特征作为feature去进行相似度检索,但是这篇论文使用的是卷积层的特征。有一个区别需要注意的是卷积层的特征features map是N*W*H,但是fc层的特征却是一个vector

HAHA的专栏 4890

deepfake detection数据集

最全Deepfake数据集总结,包含各个数据集下载链接: https://github.com/deepfakeinthewild/deepfake_in_the_wild Dataset name Download Generate method Deepfake videos Actors Deepfake-TIMIT low download De...

where_is_horse的博客 1万+

rfid标签技术原理

奇怪的是,RFID标签技术原理的深入剖析不仅揭示了其背后的奥秘,也让我们更加全面地认识到这一技术在数字化转型中的重要性和潜力。随着技术的不断进步和应用场景的不断拓展,RFID标签将在更多领域发挥重要作用,为物联网、智能制造等领域的发展注入新的活力。这意味着在一个读写器的覆盖范围内,可以同时读取多个RFID标签的数据,大大提高了数据收集的速度和效率。:RFID标签的“大脑”,负责存储和处理数据。芯片内部集成了存储器、控制逻辑和射频接口等电路,能够接收来自读写器的射频信号,执行相应的数据处理和通信任务。

x3088的博客 2157

大规模图像检索深度特征:Large-Scale Image Retrieval with Attentive Deep Local Features

在今年CVPR的“Revisiting Oxford and Paris_ Large-Scale Image Retrieval Benchmarking”一文中,对比了当前几种比较优异的图像检索算法在landmark中的表现,其中由“Large-Scale Image Retrieval with Attentive Deep Local Features”提出的DELF特征展现出最为突出的检...

Shawn 9957

GEE:耦合5个因子的kRSEI遥感生态指数(K Remote Sensing Ecological Index, KRSEI)计算

本文将介绍在 Google Earth Engine (GEE)平台上,如何耦合5个因子,进行 kRSEI 的计算。具体来说,分别计算了 `NDVI, WET, NDBSI,LST,NDRI` 5个因子,并使用 PCA 主成分分析方法计算了权重,最后,计算了 kRSEI 指数。

养乐多的博客 1413

图像检索算法

图像检索:是从一堆图片中找到与待匹配的图像相似的图片,就是以图找图。 看了两篇文章: Large-Scale Image Retrieval with Attentive Deep Local Features https://arxiv.org/pdf/1612.06321v4.pdf Aggregated Deep Local Features for Remote SensingI...

weixin_30532837的博客 486

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1095

2025.05.29【Network】多组学分析:网络互作图绘制

本文介绍了使用R语言进行网络图绘制的方法与技巧。重点讲解了三个核心R包的使用:igraph用于网络图数据准备与基础绘制,ggraph基于图形语法实现高级可视化,networkD3则为网络图添加交互功能。文章涵盖了从基本概念、包安装、创建网络图对象,到自定义样式布局、添加交互性等完整流程,并提供了度分布、聚类系数等网络分析指标的计算方法。通过清晰的代码示例,帮助读者掌握生物信息学数据可视化的关键技能,为复杂数据的直观展示和分析提供实用工具。

227

FUSING DEEP LOCAL AND GLOBAL FEATURES FOR REMOTE SENSING IMAGE SCENE CLASSIFICATION阅读笔记

FUSING DEEP LOCAL AND GLOBAL FEATURES FOR REMOTE SENSING IMAGE SCENE CLASSIFICATION –Keli Yan 注:不完全翻译,仅供自己理解 稀疏表示的理解可参考:https://blog.youkuaiyun.com/Forever_pupils/article/details/88572281 摘要:高分辨率遥感影像场景分类问题由于在广泛的应用中起着至关重要的作用而备受关注。近年来,许多基于卷积神经网络(CNN)的方法显着提高了图像场景分类

qq_41845364的博客 864

30分钟上手YOLO26 nano:INT8量化部署到智能相机,推理速度提升43%

微调代码(仅需5行,数据集遵循COCO格式)data="custom_data.yaml", # 数据集配置文件epochs=20, # 少量轮数即可收敛batch=8,imgsz=640model.save("yolov26n_custom.pt") # 保存微调后的模型本文在30分钟内完成了YOLO26 nano的INT8量化与智能相机部署,核心步骤为环境准备→模型获取→ONNX导出→INT8量化→部署推理。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 987

如何用基于resnet的Unet进行图像分割 基于Pytorch-0.5版本

1、关于Unet       Unet主要用于医学图像的很多论文中,以及Kaggle竞赛和一些其他竞赛中“少类别”的图像分割。从我做实验的经验来说,像VOC这种类别比较多的分割任务,不容易收敛,效果较为差。 2、Resnet34      我们的encode部分选择resnet34,decode部分为每一个block制作三层卷积,其中每个的第二层为upsample(bilinear/de...

小欧欧的博客 2万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pytorch 小例子 demo 使用demo

我使用anaconda3,建议大家也用这个,好用!!! 假设你安装完了anaconda3. 一、创建一个测试Demo的实验环境 conda create -n PyTorch-demo python=3.6 The following NEW packages will be INSTALLED: ca-certificates: 2018.03.07-0 certi...

小欧欧的博客 9830

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pytorch loss 出现nan,原因之一,计算图中存在torch.sqrt或者 **0.5,以及如何解决

今天写一个loss函数 dist=torch.sqrt(x*x+y*y) loss=soomthL1loss(dist,gt_dist) 我随便写的几句示意代码,这样会导致在第一个iteration之后出现nan,第一次iteration之内,还是可以看到loss不为nan的。 解决办法: 1、不开方,因为开方的求导会出现在分母上,因此需要避免分母为0! 2、tor...

小欧欧的博客 8763

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【人体姿态追踪】Pose Flow: Efficient Online Pose Tracking 【解读】

工作组:上交卢老师团队 发表处:BMVC 开源代码:https://github.com/YuliangXiu/PoseFlow 参考博客:https://blog.youkuaiyun.com/m0_37644085/article/details/83038566,https://blog.youkuaiyun.com/zhangjunhit/article/details/79524796 特别说明:如...

小欧欧的博客 8151

【Focal Loss】简单理解 及 Pytorch 代码 Focal Loss for Dense Object Detection

一、首先回顾下“交叉熵loss Cross Entropy Loss” CE(Pi)=-log(Pi) 二、一般地说,我们数据集会存在类别不平衡问题,很多人会在loss上对应不同类别设置不同系数 loss就变成了上面的样子 三、Focal loss其实就是通过数学公式上的改变,扩大了不平衡因素在loss上的影响 ...

小欧欧的博客 7223

DensePose:Dense Human Pose Estimation In The Wild 论文阅读笔记

一、本文主要是Facebook AI 和INRIA 联合出品,基于RCNN架构,以及Mask RCNN的多任务结构,开源http://densepose.org二、主要工作分为两点1:标注了一个新的数据集,基于coco数据集,增加了uv标注,该数据集开源。2:设计了一个框架可以用于输出uv坐标。三:数据集介绍:标注上了UV坐标之后,可以将一个3D人物的表面经过变换投影到2D图像上,并且会根据2D图...

小欧欧的博客 6723

【SSD修改输入尺寸】how to change SSD input size?SSD640/BRFSSD_640

再也不局限于SSD300 和SSD512这两个版本了!!! BRFSSD_vgg实现修改input size!!! 1、首先准备好一份SSD代码 推荐使用:https://github.com/lzx1413/PytorchSSD 框架:pytorch0.4.0 运行遇到报错:关于Sample.py 下面什么说东西不能放在gpu之类的。进行如下修改 anaconda3/envs/pyt...

小欧欧的博客 5936

【深度学习-计算机视觉】【视觉算法岗位,公司有哪些?】浅谈当下“互联网寒冬”,为何都说算法岗越来越难找?

为什么要谈这个:再过几个月就是“春招”,虽然三月份还没到,但是已经火药味十足,各大企业已经开始招收实习生,并且给出了不少转正名额!当下在硕士生圈流传着一句话“大厂实习经历抵得上一篇论文!”,让不少因“种种原因”不能去实习的小伙伴,面红耳赤,两字“上火!!!”。但是不无道理,人家去实习了,相当于去“展示自己的才艺”,展示的好自然可以留下来,不好也算是个经历! 开门见山-说一说目前国内有哪些可以去的...

小欧欧的博客 4695

【姿态估计文章阅读】Joint Training of a Convolutional Network and a Graphical Model for Human Pose Estimation

一、这是毫无疑问的大佬们的文章,2014年出就发布了第一版本,代码:https://github.com/max-andr/joint-cnn-mrf 二、文章的核心思想 1、利用CNN做姿态估计,采用heatmap的方式来回归出关键点 2、利用人体关键点之间的结构关系,结合马尔科夫随机场的思想来优化预测结果,主要针对于网络预测的false postive。 三...

小欧欧的博客 4692

【姿态估计文章阅读】PifPaf: Composite Fields for Human Pose Estimation

一、CVPR2019,内容上还是比较厉害的,代码:https://github.com/vita-epfl/openpifpaf 二、主要思想 1、提出了Part Intensity Field (PIF)来提升heatmap在高分辨率下的精度 2、利用Part Association Field (PAF)来连接joints 3、本文方法主要...

小欧欧的博客 4407

【CSV to VOC 格式】智能盘点—钢筋数量AI识别 数钢筋,数据集转换 成我们常用格式“xml” code 代码

一、首先建立文件夹 VOC_GJ 在这个下面建立三个JPEGImages、Annotations、ImageSets ImageSets下面建立Main 二、生成train.txt test.txt import os train_file=open('path/ImageSets/Main/train.txt','w') test_file=open('path/ImageSets/...

小欧欧的博客 4172

dataset for semantic sgementation ,图像分割任务中VOC的augment dataset 到底在哪?

      一、VOC12_AUG      大多数近期的论文都提到了,自己使用的是“we use augmented data with the annotation of XXX result in 10582 ,1449 and 1456 for training ,validation and testing”也就是“Semantic contours from inverse de...

小欧欧的博客 4050

【姿态估计文章阅读】Single-Stage Multi-Person Pose Machines【依图科技】

一、今年ICCV2019刚出炉的文章,颜水成教授团队的,非官方代码:https://github.com/murdockhou/Single-Stage-Multi-person-Pose-Machines 二、这篇文章核心思想 1、点评了下目前多人姿态估计中的现状:大多数人都在多two-stage,很多模型都是但人姿态估计结合上人体检测,这也是这两年的主要内容,效果虽然好,但是缺...

小欧欧的博客 3550
上一篇: 【计算机视觉】- 如何计算灰度图像 【python 灰度图像】
下一篇: 【计算机视觉】-图像二值化 - 图像分割 -图像卷积
Jie Ou
博客等级 码龄10年 176粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值