- 博客(148)
- 资源 (35)
- 收藏
- 关注
原创 【Android】性能分析工具:开篇
There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns – the...
2020-02-10 08:48:20
3269
3
原创 【航拍】北疆
8月底去新疆玩了两周,自驾独库公路,景色非常赞!秀一下自己无人机拍摄的视频,虽然操作很不熟练,几度炸机,4k剪辑也很痛苦,但最后的成品还是能看的(๑¯∀¯๑)自己打个60分吧~视频链接从小到大第一次在外面浪这么久,刚到第二周就忍不住想回来工作了。旅行于我不过是想多看看世界,不要宥于自己的一亩三分田,不见天地。不过人在外浪得稍微久些,就会有些疲惫和恋家。偶尔会觉得书中天地更大些,...
2019-10-07 22:30:25
2382
2
原创 【Android多线程】线程二三事
Android中线程大致可分为3类:UI线程,Binder线程和Background线程。UI ThreadUI线程也就是我们常说的主线程(Main Thread),在App启动时默认被创建,主要是负责UI的显示、更新和控件交互。Android中UI的更新只允许在UI线程完成,这是因为Android UI Toolkit并非线程安全(且实现线程安全也是一件非常困难的事情),所以Androi...
2019-07-14 14:38:29
1233
2
原创 【数理统计】神奇的P值
AB Test工作中经常会通过AB Test帮助做产品决策,简单说就是为产品制作两个(A/B)或多个(A/B/C/...)版本,在同一时间维度,分别让不同组的用户群随机的访问这些版本,收集各群组的用户的数据,最后分析评估出最好版本正式采用。比如下面的例子,A组看到红色的标题栏,B组看到绿色的标题栏,采集的数据可能每个组有多少比例的用户点击了标题栏。我们希望得到的结果是更多的用户点击,所以B...
2019-06-29 13:46:21
5856
1
原创 【Android多线程】哲学家就餐问题
哲学家就餐问题(Dining philosophers problem)是经典的用来演示在并发计算中多线程同步的问题。在1971年,计算机科学家艾兹格·迪科斯彻提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被托尼·霍尔重新表述为哲学家就餐问题。这个问题可以用来解释死結和资源耗尽。问题可以简单描述为:5位哲学家围绕一个餐桌就左,餐桌上有5支(不是5...
2019-06-22 23:27:39
1295
原创 【读书笔记】读《癌症:真相》
读这本书之前,我并没有看过作者的公众号“健康不是闹着玩儿”,也没有读过类似的医学科普类书籍,遇到此书也只是机缘巧合随手翻之,没想到一翻就停不下来,内容出乎意料的好。整本书是作者博文(博客地址)的合集,涵盖了有关癌症分类,诱因,治疗等方方面面的知识。虽然不是十分系统,但思路清晰,逻辑性强,还有大量的文献和临床数据支持,充满人文关怀。如作者所说“希望这本书把癌症的一些基本知识明明白白地讲给大家听,...
2019-06-15 11:01:09
2265
原创 【Android】性能优化:电量消耗统计
电量的消耗和使用对于移动设备非常重要,一项调查问卷显示,电池的容量和寿命是手机最重要的营销点:所谓“the one thing that you can't do without”。硬件从硬件的角度看,Android电量的消耗主要来自屏幕,CPU,网络设备和各样的传感器:指纹,亮度,温湿度,陀螺仪,加速器等等。通常情况下,屏幕是耗电量最大的模式。一般来讲,Android设备的屏幕主要分...
2018-12-03 22:03:36
6365
6
原创 【Android】性能优化:渲染
Google在Udacity上发布了《Android Performance》的在线课程,介绍了如何通过工具识别和和修复性能问题。课程分为四节:渲染,计算,内存,耗电。比较系统,难度不高,学完大概6~8个小时。有些内容可能稍有过时(后文会提到官方推荐的新的工具及库),但整体还是非常推荐的。性能是软件最基本的需求之一,每个开发人员都应该学一定的性能优化知识。刷新率&丢帧有关渲染最基本...
2018-11-25 21:12:16
3115
原创 【Android】生成随机数
几种动态生成随机数的方法:使用System#currentTimeMillis()获取一个当前时间毫秒数的long型数字 使用Random#nextInt(int n)产生一个0到n之间整数 使用Math#random()返回一个0到1之间的double值 使用ThreadLocalRandom.nextInt(0, n)生成0到n之间的随机整数 使用SecureRandom 使用S...
2018-10-17 21:48:42
23207
1
原创 【计算机视觉】对象距离的平面显示
想把一些对象的距离关系显示在图上,对象特征是很多维的,而显示通常用二维平面或三维立体图。于是先用PCA将特征降成两维,然后两维分别作横轴和纵轴。这里PCA用的MATLAB降维工具箱drtoolbox,这样在平面上的一个关系就可以显示出来了。mappedX = compute_mapping(X, 'PCA', 1); 另外每个对象还有个相应的值,相当于还有一维信息想表示出来。除了用三维图,也可以
2014-07-26 13:30:46
11412
1
原创 【模式识别】MPL,MIL和MCL
Multi-Instance Learning (MIL) 和Multi-Pose Learning (MPL)是CV的大牛Boris Babenko at UC San Diego提出来的,其思想可以用下面一幅图概况。MIL是指一个对象的学习实例可能有很多种情况,学习的时候不是用一个精确的标注对象来学习,而是用一个对象的多个实例组成的“包”来学习;而MPL是指一个对象会有多个姿态(Pose),学...
2014-07-07 10:26:29
13501
3
原创 【模式识别】SVM核函数
以下是几种常用的核函数表示:线性核(Linear Kernel)多项式核(Polynomial Kernel)径向基核函数(Radial Basis Function)也叫高斯核(Gaussian Kernel),因为可以看成如下核函数的领一个种形式:径向基函数是指取值仅仅依赖于特定点距离的实值函数,也就是。任意一个满足特性的函数 Φ都叫做径向量函数,标准...
2014-06-30 14:40:11
58761
7
原创 【计算机视觉】基于行为的ReID演示
帮老师做了一个简单的基于行为(主要是步态)的ReID问题的Demo,效果如下图:下面是提取的集中特征,前三个都是GEI系的,后几个是基于光流场的。然后右边是识别出的几个对象的排序,因为没有角度和衣服,书包等协变量改变的问题,所以识别比较准确,排第一的就是对的。其实特征是之前提好的,因为对象也不多,识别序列对也是一次性计算的。右边识别出的几个人是显示的动态行走的序列图,所以预先把每个人resize的
2014-06-30 10:03:31
8227
原创 【模式识别】Learning To Rank之RankBoost
RankBoost的思想比较简单,也是二元Learning to rank的常规思路:通过构造目标分类器,使得pair之间的对象存在相对大小关系。通俗点说,把对象组成一对对的pair,比如一组排序r1>r2>r3>r4,那可以构成pair:(r1,r2)(r1,r3),(r1,r4),(r2,r3)(r3,r4),这样的pair是正值,也就是label是1;而余下的pair如(r2,r1)的值应该
2014-06-18 23:47:51
22039
8
原创 【计算机视觉】SIFT中LoG和DoG比较
在实际计算时,三种方法计算的金字塔组数noctaves,尺度空间坐标,以及每组金字塔内的层数S是一样的。同时,假设图像为640*480的标准图像。
2014-06-03 10:05:25
35543
5
原创 【计算机视觉】会议投稿相关推荐
一个call for paper的网站,small推荐给我的:http://www.wikicfp.com/cfp/可以添加自己关注的会议,会生成相应的deadline列表,很方面~另一个是中科院的CCF推荐排名:http://www.ccf.org.cn/sites/ccf/paiming.jsp,列有相关期刊会议的分档。(转载请注明作者和出处:http://b...
2014-05-30 14:09:09
8854
2
原创 【图像处理】透视变换 Perspective Transformation
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。通用的变换公式为:u,v是原始图片左边,对应得到变换后的图片坐标x,y,其中。变换矩阵可以拆成4部分,表示线性变换,比如scaling,shearing和ratotion。用于平移,产生透视变换。所以可以理解成仿射等是透
2014-05-26 13:14:13
208555
83
原创 【模式识别】CART和GML AdaBoost MATLAB TOOLBOX
GML AdaBoost Matlab Toolbox是一款非常优秀的AdaBoost工具箱,内部实现了Real AdaBoost, Gentle AdaBoost和Modest AdaBoost三种方法。AdaBoost的训练和分类的结构都是相似的,可以参考前一篇《Boosting》,只简介一下GML。GML内部弱分类器使用的CART决策树。决策树的叶子表示决策,内部每个分支都是决策过...
2014-05-23 21:18:49
18065
原创 【模式识别】Boosting
Boosting简介分类中通常使用将多个弱分类器组合成强分类器进行分类的方法,统称为集成分类方法(Ensemble Method)。比较简单的如在Boosting之前出现Bagging的方法,首先从从整体样本集合中抽样采取不同的训练集训练弱分类器,然后使用多个弱分类器进行voting,最终的结果是分类器投票的优胜结果。这种简单的voting策略通常难以有很好的效果。直到后来的Boosting方...
2014-05-17 21:04:49
25771
3
原创 【图像处理】Gabor滤波器
Gabor的核函数参考的wiki使用实数Real的公式计算核函数代码:Mat gaborFilter(Mat& img, Mat& filter){ int half_filter_size = (max(filter.rows,filter.cols)-1)/2; Mat filtered_img(img.rows,img.cols,CV_32F); for(int i=0;i<img.r
2014-04-30 00:36:18
32700
2
原创 【计算机视觉】步态数据集
收集的几个步态相关的数据集:(转载请注明作者和出处:http://blog.youkuaiyun.com/xiaowei_cqu 未经允许请勿用于商业用途)
2014-04-24 12:57:07
9726
3
原创 【C++】随机重命名MP3文件
新置MP3播放器一件,居然没有随机播放的功能,坑啊!身为程序媛一枚,自己动手吧~获取当前路径:char buf[1000]; GetCurrentDirectory(1000,buf); string cur_folder_file = string(buf)+"\\*.mp3";获取当前路径mp3文件列表:void getMp3Names(string filepath,vector &n
2014-04-18 15:48:56
7552
1
原创 【模式识别】K-近邻分类算法KNN
K-近邻(K-Nearest Neighbors, KNN)是一种很好理解的分类算法,简单说来就是从训练样本中找出K个与其最相近的样本,然后看这K个样本中哪个类别的样本多,则待判定的值(或说抽样)就属于这个类别。KNN算法的步骤计算已知类别数据集中每个点与当前点的距离; 选取与当前点距离最小的K个点; 统计前K个点中每个类别的样本出现的频率; 返回前K个点出现频率最高的类别作为...
2014-04-15 20:19:35
49614
6
原创 【OpenCV】高斯混合背景建模
OpenCV中实现了两个版本的高斯混合背景/前景分割方法(Gaussian Mixture-based Background/Foreground Segmentation Algorithm)[1-2],调用接口很明朗,效果也很好。BackgroundSubtractorMOG 使用示例int main(){ VideoCapture video("1.avi"); Mat ...
2014-04-14 17:40:45
66107
5
原创 【error】C1003: error count exceeds 100; stopping compilation ...winnt.h
添加#include之后出现如下问题:Error 110 error C1003: error count exceeds 100; stopping compilation C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h 13550Error 1 error C2008: '$' : unexpected
2014-03-13 10:13:33
17060
原创 【OpenCV】访问Mat中每个像素的值(新)
在《OpenCV 2 Computer Vision Application Programming Cookbook》看到的例子,非常不错,算是对之前的文章的回顾和补充。Color Reduce还是使用经典的Reduce Color的例子,即对图像中的像素表达进行量化。如常见的RGB24图像有256×256×256中颜色,通过Reduce Color将每个通道的像素减少8倍至256/8=32种,
2014-02-24 21:02:45
161839
8
原创 【C++】使用libxml解析XML文件
OpenCV中使用FileStorage创建和解析XML文件。但FileStorage不能处理节点为空的情况,且对属性也不友好。例子见这里。libxml是C接口的处理xml文件的开源代码库。
2014-01-22 11:26:19
11916
原创 【图像处理】全分发TV图像去噪
TV去噪主页:http://visl.technion.ac.il/~gilboa/PDE-filt/tv_denoising.html可以下载MATLAB代码。function J=tv(I,iter,dt,ep,lam,I0,C)%% Private function: tv (by Guy Gilboa).%% Total Variation denoising.%% Examp
2014-01-20 14:57:46
17507
4
原创 【error】LINK1123: failure during conversion to COFF: file invalid or corrupt
在一台新的win7 64位电脑上装了VS2010,每运行一个简单的程序总是报 error LINK1123: failure during conversion to COFF: file invalid or corrupt 的错误。通过这篇文章发现问题及解决方法:这个错误是因为采用incremental linking(增量式链接)导致的,可以通过禁止工程中incremental linkin
2014-01-13 21:05:44
68763
9
原创 【计算机视觉】角度转换模型VTM
VTM简介多角度步态检测问题解决的方法通常有三类:利用多摄像机系统建立3D模型;提取与角度无关的步态特征;角度转换模型。角度转换模型(View Transformation Model)最基础的是利用奇异值分解(SVD),将特征矩阵分解为与角度无关的向量,与对象无关的向量,以及特征值。再利用提取出来的与对象无关的向量将特征从当前角度转换到对应角度。 View Transformation Mode
2014-01-11 10:17:40
4761
4
原创 【计算机视觉】步态能量图GEI
GEI简介步态能量图(Gait Engery Image, GEI)是步态检测中最非常常用的特征,提取方法简单,也能很好的表现步态的速度,形态等特征。其定义如下:其中,表示在第q个步态序列中,时刻t的步态剪影图中坐标为(x,y)的像素值。步态周期的判断使用步态剪影的宽、高之比即可,这个值比较容易而且随步态状态呈现周期性变化。步态剪影单张步态剪影图需调节成宽为W,高为H的大小。调节时保持剪影的比例不
2014-01-09 09:28:33
18319
22
原创 【图像处理】快速计算积分图
积分图是图像中十分常用的方法,最初是在Haar特征的快速计算中学到(参考博文:利用积分图像法快速计算Haar特征),后来发现在均值滤波,二值化等图像处理方法中也十分常见。积分图的简要介绍可以参考博文:利用积分图像法快速计算Haar特征,这里不再重复了。本篇主要是小记一下积分图的计算方法。由于积分图中每个单元存储的信息是原图中此位置左上角所有像素之和,所以对一张W*H的图像直接求取积分图,需要:(1
2014-01-06 21:39:56
43068
30
原创 【模式识别】OpenCV中使用神经网络 CvANN_MLP
OpenCV的ml模块实现了人工神经网络(Artificial Neural Networks, ANN)最典型的多层感知器(multi-layer perceptrons, MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。下面来看神经网络CvANN_MLP 的使用~定义神经网络及参数:...
2013-06-05 09:43:11
71697
19
原创 【模式识别】反向传播神经网络 BPNN
回顾感知器学习算法,其核心思想是梯度下降法,即以训练样本被错分的程度为目标函数,训练中每次出现错误时便使权系数朝着目标函数相对于权系数负梯度方向更新,知道目标中没有被错分的样本为止。而多层感知器模型中,神经元传递函数是阶跃函数,输出端的无耻只能对最后一个神经元系数求梯度,无法对其他权系数求梯度,所以无法利用梯度下降的方法学习其他的权值。Sigmoid函数BP算法提出主要由于Sigmoi...
2013-06-04 16:45:16
30207
3
原创 【模式识别】多层感知器 MLP
由前面介绍看到,单个感知器能够完成线性可分数据的分类问题,是一种最简单的可以“学习”的机器。但他无法解决非线性问题。比如下图中的XOR问题:即(1,1)(-1,-1)属于同一类,而(1,-1)(-1,1)属于第二类的问题,不能由单个感知器正确分类。即在Minsky和Papert的专著《感知器》所分析的:感知器只能解决所谓一阶谓词逻辑问题:与(AND),或(OR)等,而不能解决异或(XOR)...
2013-06-03 02:04:18
54266
3
原创 【模式识别】最小平方误差判别 MSE
最小平方误差判别准则函数对于上一节提出的不等式组:在线性不可分的情况下,不等式组不可能同时满足。一种直观的想法就是,希望求一个a*使被错分的样本尽可能少。这种方法通过求解线性不等式组来最小化错分样本数目,通常采用搜索算法求解。为了避免求解不等式组,通常转化为方程组:矩阵形式为:。方程组的误差为:,可以求解方程组的最小平方误差求解,即:Js(a) 即为最小平方误差(M...
2013-06-02 15:36:44
27823
1
视频标注工具
2013-04-09
OpenCV基元检测
2013-03-18
背包问题改进空间复杂度
2012-11-20
背包问题动态规划算法实现
2012-11-16
矩阵乘法动态规划算法实现
2012-11-14
OpenCV中Canny边缘检测算法示例
2012-08-08
图像边缘检测:Sobel、拉普拉斯算子
2012-08-04
Harris及ShiTomas角点检测
2012-07-31
访问Mat图像中每个像素的值
2012-07-22
查找算法:二分查找、顺序查找
2012-07-19
链式队列各种基本运算算法的实现
2012-07-17
链式栈各种基本运算算法的实现
2012-07-17
顺序队列各种基本运算算法的实现
2012-07-16
顺序栈各种基本运算算法的实现
2012-07-16
多边形的扫描转换
2012-06-26
图像空间变换:旋转,缩放,斜切
2012-05-30
图像均值去噪,二次曝光,背景相减
2012-05-28
直方图均衡化,直方图匹配,对比直方图
2012-05-27
OpenCv生成图像直方图
2012-05-25
GNU Scientific Library (GSL)C++科学计算库
2012-05-16
GNU Scientific Library (GSL)安装包及说明文档
2012-05-16
Matlab数据降维工具箱
2012-04-26
Android中使用ListView实现汽泡短信聊天
2011-12-06
Android中ListView使用SimpleAdapter适配器实例
2011-12-06
C#进程间通信
2011-12-05
C#线程进程操作
2011-12-05
Java中使用MATLAB作图
2011-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人