再谈PN学习

第一讲:PN结的形成 PN结与二极管的特性1. 电子技术发展史2. 模电学习总思路3. 第一章:常用半导体器件 a) 基础知识  i. 本征半导体  ii. 杂质半导体(可掺杂性)  iii. PN结 1. 电子技术发展史   现在的电子技术的发展来源于集成电路的发展,集成电路的发展根基来源于半导体技术的发展。半导体现象出现的很早,在19世纪末期半导体材料已经出现了,1948年末,贝尔实验室造出了第一个基于半导体的材料的晶体管(点接触型)。在1950年的时候,他们造出了像三明治形状的晶体管,这个时候使得集成变得可能。大约在195 阅读详情

       之前翻译过一篇PN学习的文章:http://blog.youkuaiyun.com/carson2005/article/details/7483027,但该文章的内容还是略显生涩,不太容易理解。尤其是在TLD跟踪算法中,PN学习又是一个很重要的模块。如果不能很好理解该部分,是很难完全掌握TLD算法精髓的。所以,这里我在上次翻译的基础上,结合TLD算法中的PN学习的具体应用,再次讲述PN学习的原理。

PN学习即PN learning, P指代Positive Constraint,也称之为P-expert或者growing event,N指代Negative Constraint,也称之为N-expert或者pruning event。

P-expert的作用是发现目标的新的外观(形变),并以此来增加正样本的数量,从而使得检测模块更具鲁棒性;

N-expert的作用是生成负的训练样本。N-expert的前提假设是,(被跟踪的)前景目标仅可能出现在视频帧中的一个位置,因此,如果前景目标的位置是确定的,那么其周围必然是负样例。

       TLD模块中的PN学习作用是通过对视频序列的在线处理来逐步改善检测模块(TLD中的Detection)的性能。对视频中的每一帧而言,我们希望评估检测模块在当前帧中的误检,并以此来更新目标模型,从而使得在以后的视频帧处理过程中避免类似的错误再次发生。PN学习的关键在于两种类型的“专家(experts)”:P-experts检查那些被检测模块错误分类为正样本(前景目标)的数据;N-experts检查哪些被检测模块错误分类为负样本(背景)的数据;需要提醒的是,无论P-experts还是N-experts都会产生一定的偏差。那么,如果用这些存在偏差的数据来更新检测模块(目标模型),是否会造成检测模型的性能恶化呢?作者经过研究发现,尽管存在误差,在一定条件下,误差是允许的,并且检测模块的性能会因此得到改善。

        PN学习包含四个部分:(1)一个待学习的分类器;(2)训练样本集--一些已知类别标签的样本;(3)监督学习--一种从训练样本集中训练分类器的方法;(4)P-N experts--在学习过程中用于产生正(训练)样本和负(训练)样本的表达函数;这四个部分之间的关系如下图所示:


        首先根据一些已有类别标记的样本,借助监督学习方法来训练,从而得到一个初始分类器。之后,通过迭代学习,利用上一次迭代得到的分类器对所有的未赋予标签的样本数据进行分类,而P-N experts则找出那些错误分类的样本,并依此来对训练样本集做出修正,使得下一次迭代训练之后得到的分类器的性能有所改善。P-experts将那些被分类器标记为负样本,但根据结构性约束条件应该为正样本的那些样本赋予“正”的标签,并添加到训练样本集中;而N-experts则将那些被分类器标记为正样本,但根据结构性约束条件应该为负样本的那些样本赋予“负”的标签,并添加到训练样本集当中;这也就意味着,P-experts增加了分类器的鲁棒性,而N-experts则增加了分类器的判别能力。

       下面我们就举例来说明PN学习的运行机制:假设存在三个连续的视频帧如下所示,每个视频帧之上都有若干个扫描窗口如(a)所示;


每一个扫描窗口就表示一个图像片(image patch),图像片的类别标签用(b)(c)中的彩色圆点来表示。检测模块对每个图像片的类别赋值过程是彼此独立的,因此,N个扫描窗口就存在个类别标签的组合。而(b)则显示了其中一种可能的类别标签形式,这种类别标签标明,待检测目标在一个视频帧中可能同时出现在好几个区域,并且,待检测目标在相邻视频帧之间的运动没有连续性(例如(b)中最前面的图像中右上角的红色圆点在后面的两个图像中均没有出现),显然,这种类别标签形式是错误的。相反,(c)所示的类别标签形式则显示,每个视频帧中,目标只可能出现在一个区域,并且,相邻视频帧之间检测到的目标区域是连续了,构成了一个目标的运动轨迹。这种性质,我们称之为“结构性”的。PN学习的关键就是找到这种结构性的数据,从而来判别检测模块所产生的错误标签;

      刚才的例子表明:P-experts寻找视频序列中的时域上的结构性特征,并且假设目标是沿着轨迹线移动的,即,相邻帧之间的移动很小,且存在一定的相关性。P-experts记录目标在上一帧中的位置,并根据帧与帧之间的跟踪算法(这里采用的是LK光流法)来预测目标在当前帧中的位置。如果检测模块将跟踪算法预测到的目标在当前帧中的位置标记为负标签,那么P-experts就产生一个正的训练样本;N-experts寻找视频序列中的空间域上的结构性特征,并且假设目标在一个视频帧中只可能出现在一个位置。N-experts对检测模块在当前帧中的所有输出结果以及跟踪模块的输出结果进行分析,并找到具有最大可能性的那个区域。当前帧中所有目标可能出现的区域当中,如果某个区域同最大可能性区域之间没有重叠,就将其认定为负样本。另外,具有最大可能性的那个区域,被用于重新初始化跟踪模块;

        下面,再给出一个例子来说明情况:


        上图所示为三个连续的视频帧,PN学习需要处理的是t时刻那个黄色框所在区域的那个小车。跟踪模块在相邻帧之间给出小车的位置,从前面的分析我们知道,跟踪模块给出的区域可以被P-experts用来产生正的训练样本;但由于遮挡,在t+2时刻,P-experts产生了错误的正(训练)样本;与此同时,N-experts则找出目标最可能出现的位置(用红色的星号来标记),并且将所有其他的区域标记为负的训练样本;这里,N-experts在t+2时刻很好的修正了P-experts的错误;


模电学习第一天--PN结梳理 基本概念 本征半导体:纯净的、具有晶体结构的半导体 两种载流子:自由电子、空穴(两种载流子均参与导电) 本征激发:半导体在热激发下产生自由电子和空穴对的现象 复合:电子填补空穴 动态平衡:一定温度下,本征激发与复合产生的自由电子和空穴相等 温度影响:热运动加剧–挣脱共价键束缚自由电子增多–空穴增多–载流子浓度提高–导电能力增强 N型半导体:自由电子浓度大于空穴浓度,前者为多子,后者为少子 P型半导体:空穴浓度大于自由电子浓度 对于杂质半导体的温度影响:可以认为多子浓度约等于所掺杂质原子的浓度,且受温度影响很 阅读详情

相关推荐

PN结

一直不太能理解PN结问题,今天学习了来做一做总结。 PN结正向偏置:低阻状态,导通状态 PN结反向偏置:高阻态,近似于截止状态 PN结电流方程: UT:等效电压——>KT/q Is:反向饱和电流 阳极为P区,阴极为N区 PN结的电容效应 : (1) 势垒电容CB :(耗尽层宽窄变化)(反偏) (2) 扩散电容CD 扩散电容是由多子扩散后,在PN结的另一侧面积累而形成的。因PN结正偏...

gitfight 1万+

PN学习

申明:以下文字为笔者阅读了计算机视觉国际会议论文之后翻译所得,其中个别部分加入了笔者自己的理解,但绝大部分都尊重了作者的原意。鉴于本人水平有限,个别地方可能存在误差,希望各位能够谅解!另外,如果您需要更详细的了解PN学习的原理、用法及应用举例,请参考原文:PN-learning:Bootstrapping Binary Classifiers by Structural Constraints,

计算机视觉小菜鸟的专栏 1万+

西门子profinet研讨会ppt

西门子profinet研讨会上的ppt,bushihenhao

P-N学习介绍

写在前面:近期突发奇想要看一下Tracking-learning-Detection这篇文章,看到论文才发现,里面东西多着呢,首先也是最主要的一个就是这个P-N学习,看论文那么久,很难搞懂~~~这就记录一下自己的理解,希望能帮助到大家。 这个是我查看了PN-learning论文之后连翻译带理解写下来的,如果有同学想要看原文的话,这里给上原文的链接:PN-learning:Bootstrapping

00_00_07 4144

快速实现 PROFINET

介绍了快速在产品中集成Profinet的途径

别再只放按钮了!巧用微信小程序‘长按识别’功能,打造无缝加群体验

本文深入探讨了微信小程序'长按识别'功能在社群运营中的创新应用,通过简化加群流程至一步操作,显著提升用户转化率。文章详细解析了技术实现细节、UI/UX设计策略,并对比了与企业微信API的适用场景,为开发者提供打造无缝加群体验的完整解决方案。

weixin_42627853的博客 434

TLD动态跟踪系统中的学习策略—P-N Learning

1概述 本文显示二类分类器的表现可以通过未标记数据结构化的处理过程来提升,也就是说,如果知道一个样本的标记对其他样本的标记有限制,那么认为数据是结构化的。 本文提出P-N learning用已标记和未标记的样本来训练二类分类器,训练的过程通过用来限制未标记数据集的“正约束”、“负约束”来指导。每次迭代过程中P-Nlearning在未标记的训练集上评价分类器,识别那些分类器分类结果与结构约束相抵

ethan444163330的专栏 753

MDK开发篇:基于立创逻辑派FPGA-G1与Cortex-M1软核的按键控制LED实战

本文详细介绍了基于立创逻辑派FPGA-G1开发板与高云Cortex-M1软核的完整开发流程。通过Gowin云源软件配置软核系统与GPIO外设,并在Keil MDK环境中编写按键控制LED的C程序,最终实现程序固化与上电自启动。教程涵盖硬件配置、软件开发、在线调试与固化部署全步骤,帮助STM32开发者快速上手FPGA软核开发。

weixin_42103128的博客 147

再谈PN学习 .

本文转自http://blog.youkuaiyun.com/carson2005/article/details/7647519 之前翻译过一篇PN学习的文章:http://blog.youkuaiyun.com/carson2005/article/details/7483027,但该文章的内容还是略显生涩,不太容易理解。尤其是在TLD跟踪算法中,PN学习又是一个很重要的模块。如果不能很好理解该部分,是很难完全掌握

gxiaob的专栏 1751

ANSYS拓扑优化基础实例

唐深51CAE 2018/6/10 拓扑优化在工程设计中,常用于机械结构概念设计和轻量化设计,ANSYS通用有限元分析软件提供了强大的拓扑优化功能,本文将通过一个简单实例进行展示。 一、赵州桥 赵州桥又称安济桥,坐落在河北省赵县洨河上,建于隋朝年间公元595年~605年,由著名匠师李春设计建造,距今已有约1500年的历史,是当今世界上现存最早、保存最完整的古代敞...

TQT_CAE的博客 6026

单相变换器的二次纹波分析

1. 单相PWM整流器的二次纹波产生原因   单相变换器的二次纹波产生的原因是功率含有二次脉动分量。设电网电压 us=Vmsin(wt),电网电流IL=Imsin(wt−θ)I_L=I_msin(wt-\theta)IL​=Im​sin(wt−θ)。其中w是电网电压披绿,θ\thetaθ是电流之后电压相位。保证输入功率和输出功率相等,就要保证两者的直流量和交流量对应相等。   uDu_DuD​为 PWM 整流器直流电容电压平均值,IoI_oIo​ 为负载电流平均值 ,uDC^\widehat {u_{DC}

qq_38847810的博客 4973

再谈PN学习(Tracking-Learning-Detection)

本文转自http://blog.youkuaiyun.com/carson2005/article/details/7647519 之前翻译过一篇PN学习的文章:http://blog.youkuaiyun.com/carson2005/article/details/7483027,但该文章的内容还是略显生涩,不太容易理解。尤其是在TLD跟踪算法中,PN学习又是一个很重要的模块。如果不能很好理解该部分,是很难完全掌握...

weixin_33804582的博客 98

ADS学习笔记 2. 低噪声放大器设计

ADS学习笔记 2. 低噪声放大器设计。设计了一个中心频率433MHz,增益18.206dB,NF=0.134dB,S11带宽较好的低噪声放大器

u014087103的博客 9507

PN结是什么?PN结有什么特征?PN结的应用

(PN结学习思维导图) 在看接下来的内容之前,我们先看看本文的思维导图。首先对PN结的定义及原理进行分析。了解原理之后,来分析学习它的特征,有了原理特征当然是要应用了。 PN结的定义是什么? 对于PN结的定义,首先我们看下来自于百度百科的内容:采用不同的掺杂工艺,通过扩散作用,将P型半导体与N型半导体制作在同一块半导体(通常是硅或锗)基片上,在它们的交界面就形成空间电荷区称为PN结(英语:PN junction)。 是不是有点晦涩?学习就是要逐渐理解那些晦涩的定义,好了进入主题。我们首...

小超电子笔记 2万+

可信数据空间:可信空间、区域功能节点、业务功能节点、连接器的关联关系

可信数据空间通过分层架构实现安全数据共享:可信空间作为顶层制定全局规则;区域功能节点协调辖区内功能节点协作;功能节点提供具体数据服务;连接器作为唯一通信通道确保安全交互。系统采用"规则自上而下约束,数据自下而上流动"机制,通过分层治理和标准化连接,在保证数据主权的同时实现跨域协作,具有策略分级执行、去中心化治理等特性,支持灵活扩展业务场景。

友莘居士的博客 1685

基于ESP32 蓝牙游戏手柄设计

介绍使用 ESP32 并通过 BLE 通信的 设计手持游戏手柄,包含原理图与代码

DT程序员的博客 2164

学习使用USB-TTL驱动PN532来读写IC卡

PN532芯片是NXP公司研发的一款近场通信(NFC RFID)用的芯片,芯片内集成了13.56MHz下通信用的非接触通信的协议,内部包含有8051的内核,说了这么多就不来废话了,对于芯片的诸多功能以及原理说句实话,博主了解的也不多,不过并不妨碍我们使用它来读写市面上普通的IC卡!市面上是有各种各样的PN532芯片做的模块,有贵的有便宜的,可以自行去网上搜索,下面这款是博主的。...

优信电子的博客 2万+

【嵌入式DIY实例-Arduino篇】-脉搏传感器监测脉搏率 (BPM)及可视化

在本文中,我们将使用 Arduino 和脉搏传感器来测量心率 (BPM)。 在文章中,我们将向展示如何使用脉搏传感器测量您的心率(每分钟心跳次数),并在电脑上位机通过Processing来实现心率数据可视化。同时使用LCD16×2 显示屏显示脉搏率 BPM。 该传感器易于使用和操作。 只需将手指放在传感器顶部,它就会测量心跳变化。

视觉与物联智能 834

Linux入门学习——入职大厂通用技能——PN工具的使用

Linux入门学习——PN工具的使用写在前面为啥要学Linux怎么学LinuxPNedit最后 写在前面   本文旨在给Linux大佬提供一个好用的Linux编辑器工具,给刚入门或者想要入门的萌新一个 门!!!   对于大佬直接跳到下面的工具安装,小萌新慢慢来,保证给你带进门(门里有虚拟Linux系统的安装,以及基本使用的配置等操作),我为什么这么肯定,因为我就是这样过来的,哈哈哈哈,从还没有Linux系统到可以独立使用Linux系统和它的一下常用操作仅用了三天的晚上哦~   信伊宸,学Linux,嘿嘿

自由学者亻伊宸的博客 1万+

深度学习工具包 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")

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

PN学习(1)

声明:这是我转载http://blog.youkuaiyun.com/carson2005/article/details/7483027的文章,感觉文章很有用,所以转过来学习,也希望能帮助到大家。   申明:以下文字为笔者阅读了计算机视觉国际会议论文之后翻译所得,其中个别部分加入了笔者自己的理解,但绝大部分都尊重了作者的原意。鉴于本人水平有限,个别地方可能存在误差,希望各位能够谅解!另外,如果您需要更详

szv123_rier的专栏 1222

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 整理CVPR2012感兴趣的文章
下一篇: TLD代码分析全过程
wangwanguo08
博客等级 码龄18年 65粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值