ChaLearn Gesture Challenge_5:GSD数据库使用的再次理解
摘要:通过前面的博文ChaLearn Gesture Challenge_1:CGD数据库简单介绍分析可以看出,CGD数据库是2011年建立的,且在2012年利用该数据库进行了两轮One shot learning的挑战赛,从官网上给的CGD数据库可以推断出组织方是花费了很大的精力来收集这些数据的,不仅而此,组织方还给出了很多sample代码以及一些对应数据采集界面,方便大家共同扩大该数据库。CGD数据库目前有50000多个关于手势视频,共500个batch,每个batch都是同一个人在相同环境下的手势动作,只是手势内容不同而已。且每个batch都分为训练部分和测试部分。训练部分的每个视频只包含..
阅读全文
posted @
2013-02-27 22:01
tornadomeet
阅读(2055)
推荐(1) 编辑
ChaLearn Gesture Challenge_4:one shot learning比赛结果简单分析
摘要:关于ChaLearn数据库在前面文章ChaLearn Gesture Challenge_1:CGD数据库简单介绍中已经介绍过,当然了,关于该数据库的挑战赛在2012年主办了2场,其比赛结果依次分别在CCPRW2012和ICPRW2012中公布。这2轮比赛过程中官网http://gesture.chalearn.org/中都有对参加比赛的队伍所使用的方法等从感性上做了个调查,并且公布了其调查报告。从这些报告中我们可以参考到做手势识别的大概流程,每个流程中常见的方法是什么,我想这点对初步进入该领域的人来说应该有很大的启发作用。下面就官网发布的第二轮比赛调查Method survey文章来简单..
阅读全文
posted @
2013-02-26 12:45
tornadomeet
阅读(2557)
推荐(0) 编辑
ChaLearn Gesture Challenge_1:CGD数据库简单介绍
摘要:ChaLearn Gesture Challenge挑战赛是手势识别中比较新的(2011年开始的)一个挑战赛,属于机器学习挑战赛中的一个,其初衷是进行One-Shot learning的挑战,当然也不局限在此。官网为:http://gesture.chalearn.org/ ,2012年分别主办了两轮比赛,一个是在CVPR2012中进行,另一个是在ICPR2012中进行。关于本次比赛的一些规则,以及已经完成比赛的作者的识别方法的一些细节在官网上都能查看得到。大家有兴趣13年也可以参加下。因为在日常生活中会遇到各种各样的手势,如果对这些手势的识别能取得很大成功的话,那么离AI又更近一步了,下..
阅读全文
posted @
2013-01-10 11:32
tornadomeet
阅读(5258)
推荐(2) 编辑
Reading papers_16(Learning hierarchical invariant spatio-temporal features for action recognition with independent subspace analysis)
摘要:前言 本次读的文章是与feature learning相关,feature learning也叫做deep learning,是最近一个比较热门的话题。因为它可以无监督的学习到图片和视频的一些特征(当然在其它领域也可以,比如语音,语言处理等),而这些特征并不需要人为手动去设。手动设计的特征,常见的有sift,surf,hog等,它们都是经过了很长的时间才设计出来的,并且它只适应于2D的图片,如果把所需学习的目标换成视频,则也同样需要把这些算法扩展到3D,比如HOG3D,3Dsurf,这个扩展过程也是需要很多技巧和时间的。另外,手动设计的某一特征只对某些数据库表现好,而对其它的数据库效...
阅读全文
posted @
2013-01-04 22:27
tornadomeet
阅读(3784)
推荐(0) 编辑
Reading papers_15(Graph cuts optimization for multi-limb human segmentation in depth maps)
摘要:如果大家有用过kinect做开发,不管是使用kinect SDK还是使用OpenNI,估计都对这些库提供的人体骨骼跟踪技术有一定的好奇,心里在想,每个人穿的衣服不同,身体特点也不同,所处的环境不同,且走路或做手势时的姿势也不相同,竟然能够跟踪人体的骨架,且效果不错。那么上面的Kinect SDK和OpenNI提供给kinect开发的核心算法——人体骨架跟踪到底是怎么实现的呢?CVPR2011的最佳论文就给出了微软SDK的核心算法,见参考文献2,该文章主要是讲的Kinect SDK的人体骨架跟踪核心算法。因为该算法具有普适性,且效果好,被评为best peaper那是必须的。微软算法的流程图..
阅读全文
posted @
2012-12-12 09:46
tornadomeet
阅读(3441)
推荐(1) 编辑
基础学习笔记之opencv(23):OpenCV坐标体系的初步认识
摘要:前言 相信很多朋友在使用OpenCV的时候会遇到一个小问题,且有时候对这样的小问题没有引起足够的重视,或者通过表面想当然的去编程,所以调试代码时出现一些莫名其妙的问题,最后发现问题时时间已经过去了一大把。最近我在调试一个项目时就遇到过这种情况,即Mat::at(x,y)和Mat::at(Point(x, y))的区别,我在项目中把这2种看成效果一样的,结果这个问题调试时纠结了2天(因为该工程有关OpenCV的代码有上千行,且没有怀疑这两者的区别,因此有时候出现一些莫名其妙的结果,花了很多时间才找问题所在)。其实关于Mat的at访问时这2者的区别我以前也做过笔记,只是此时不小心忘记了。这次...
阅读全文
posted @
2012-12-12 00:25
tornadomeet
阅读(18758)
推荐(7) 编辑
基础学习笔记之opencv(22):learning OpenCV书中一个连通域处理函数
摘要:前言 在图像处理过程中,经常会遇到这样一部分图像,图像的整体部分如果人来看的话一眼就能看出,但是它的内部由于有各种小缺口,导致断开了,这样在计算机“眼”里就被认为是断开的,为了使图像达到适应人眼的感觉,需要将这些缺口和断开的口给连接上去,这就需要用到计算机图形学中的连通域处理技术。本文给出一个简单的连通域处理函数,当然这个函数是来自OpenCV著名教程Learning OpenCV中,只不过它的接口是基于c版本的OpenCV,而到目前为止,基于C++接口的OpenCV已经是主流,所以我将其接口改成了c++版的,但是其内部一些代码基本没有动它。 开发环境:OpenCV2.4.3+Qt...
阅读全文
posted @
2012-12-11 21:08
tornadomeet
阅读(21977)
推荐(2) 编辑
基础学习笔记之opencv(21):一个简单有趣的皮肤检测代码
摘要:前言 最近课题研究上想采用皮肤信息,但是个人总是对皮肤信息应用在目标检测和目标识别上有排斥,认为皮肤信息完全不足以胜任这个工作。其实计算机视觉的最终实现是一个长期的过程,是AI领域一个经典的问题,所以在AI完全突破之前,任何对CV有用的信息都值得去深入研究,除非有一种算法能够在所有情况下都工作。好了,废话不扯了,进入正题,有偏见但是还是得使用它。皮肤模型中有单高斯,混合高斯,贝叶斯模型和椭圆模型等。经过前人学者大量的皮肤统计信息可以知道,如果将皮肤信息映射到YCrCb空间,则在CrCb二维空间中这些皮肤像素点近似成一个椭圆分布。因此如果我们得到了一个CrCb的椭圆,下次来一个坐标(Cr,...
阅读全文
posted @
2012-12-05 08:32
tornadomeet
阅读(17335)
推荐(3) 编辑
基础学习笔记之opencv(20):OpenCV中的颜色空间(ing...)
摘要:YCrCb YCrCb在视频压缩和一些数字图像处理中使用得比较多,是一种基于人眼感知的颜色空间。 在OpenCV中,从RGB空间转换到YCrCb空间的公式如下: 注意从RGB到YcrCb的公式并不是唯一的,这里OpenCV只是采用的是Intel IPP中的公式而已。 其中的delta的取值为: 这里我们以RGB三通道都为8bit来举例说明,即delta取128。通过上面的公式推导,可以求出Y的取值范围为(0, 255),Cr的取值范围为(0.54768, 255.452315),Cb的取值范围为(0.57548, 255.42452)。因此我们有很大的理由近似认为Y,Cr...
阅读全文
posted @
2012-12-04 09:14
tornadomeet
阅读(9814)
推荐(5) 编辑
基础学习笔记之opencv(19):有关图像序列的直方图计算
摘要:前言 直方图是计算机视觉中一个很重要的工具,OpenCV里面提供了不少有关直方图处理的函数。其中最基本的是计算直方图的函数calcHist()。有关直方图在前面的博文中也有所介绍:基础学习笔记之opencv(4):直方图使用学习。不过目前由于本人课题研究上需要计算多张图片的一维直方图特性,且每张图片对应有自己不同的掩膜矩阵,开始以为OpenCV中提供的calcHist()函数能够实现这个功能,因为其中一个重载函数中有一个参数为InputArrayOfArrays,咋一看会觉得这不就是可以处理多张图片的吗?后面仔细研究后发现其实它实现的功能和我的需求是不同的,因此需要自己单独写函数来完成这...
阅读全文
posted @
2012-12-01 22:21
tornadomeet
阅读(9135)
推荐(1) 编辑
opencv源码解析之(7):CvAdaptiveSkinDetectorl类
摘要:前言 在前面的博文皮肤检测类CvAdaptiveSkinDetector的使用中,已经介绍过了这个皮肤检测类的使用方法,因为本人对算法比较好奇,又继续阅读了下该算法的源码,所以这篇文章是对该源码做的一个简单分析。 基础 本算法内容是来自论文An adaptive real-time skin detector based on Hue thresholding: A comparison on two motion tracking methods。一般的皮肤检测都是统计大量不同光照不同环境下的皮肤特性,然后利用皮肤的这些统计信息来分割。当然了本算法的前面也是利用这些统计信息来预处理...
阅读全文
posted @
2012-11-28 22:45
tornadomeet
阅读(5129)
推荐(1) 编辑
Reading papers_14(关于depth image on hand segmentaion,ing...)
摘要:Real-time fingertip tricking and detection using Kinect depth sensor for a new writing-in-the air system 本文是基于kinect的空中手写字的识别,即用一个手指在空中写字,写完后系统会自动判断出所写的字是哪一个。本人比较感兴趣的不是怎么识别出字体,而是怎样不断的很好的跟踪手指。读过文章发现,作者并不是完全从深度数据或颜色数据开始做的,而是利用OpenNI很多工作,比如OpenNI提供的身体分割图。并且该文章提出的分割和跟踪算法其使用条件也是相当的严格的,即人的手必须在伸出在身体前才能跟...
阅读全文
posted @
2012-11-27 11:13
tornadomeet
阅读(2082)
推荐(1) 编辑
基础学习笔记之opencv(18):kmeans函数使用实例
摘要:前言 一提到聚类算法,必然首先会想到的是kmeans聚类,因为它的名气实在太大了。既然这样,OpenCV中这个函数也自然必不可少了。这节内容主要是讲讲OpenCV中kmeans函数的使用方法。 开发环境:OpenCV2.4.3+QtCreator2.5.1 实验基础 在使用kmeans之前,必须先了解kmeans算法的2个缺点:第一是必须人为指定所聚的类的个数k;第二是如果使用欧式距离来衡量相似度的话,可能会得到错误的结果,因为没有考虑到属性的重要性和相关性。为了减少这种错误,在使用kmeans距离时,一定要使样本的每一维数据归一化,不然的话由于样本的属性范围不同会导致错误的结果。...
阅读全文
posted @
2012-11-23 00:21
tornadomeet
阅读(35685)
推荐(4) 编辑
基础学习笔记之opencv(17):皮肤检测类CvAdaptiveSkinDetector的使用
摘要:前言 皮肤检测是利用皮肤的颜色信息的阈值来进行检测的,不过这些阈值一般不是使用rgb空间,而是用HSV或者YCrCb等空间。皮肤检测是使用统计的方法统计出大量人的皮肤信息,然后就可以得到色彩空间某一分量的阈值了,利用该阈值就可以初步对皮肤进行分割。当然了,OpenCV中也自带了皮肤检测算子,包含在类CvAdaptiveSkinDetector中。本节内容就是来试试OpenCV自带的皮肤检测算法的性能。 开发环境:OpenCV2.4.3+QtCreator2.5.1 实验基础 OpenCV自带是算法的参考文献有网友说是An adaptive real-time skin detect...
阅读全文
posted @
2012-11-20 11:37
tornadomeet
阅读(11232)
推荐(1) 编辑
基础学习笔记之opencv(16):grabcut使用例程
摘要:前言 grabcut是在graph cut基础上改进的一种图像分割算法,它同样是基于图割理论的,关于图割的简单介绍可以参考本人前面的博文:一些知识点的初步理解_8(Graph Cuts,ing...) 。稍微看了下grabcut方面的论文,论文中一般都是在graph cut上作改进,比如说引入了GMM模型等。同graph cut一样,在使用grabcut是也是需要人机交互的,即人工先给定一定区域的目标或者背景,然后送给grabcut算法来分割。通过实验发现,其分割效果一般般,且分割速度比较慢,一张普通大小的图片差不多需要1s左右的时间, 实验说明 因为在使用该算法的过程中需要人机交互...
阅读全文
posted @
2012-11-09 21:14
tornadomeet
阅读(49741)
推荐(4) 编辑
PCA算法学习_1(OpenCV中PCA实现人脸降维)
摘要:前言: PCA是大家经常用来减少数据集的维数,同时保留数据集中对方差贡献最大的特征来达到简化数据集的目的。本文通过使用PCA来提取人脸中的特征脸这个例子,来熟悉下在oepncv中怎样使用PCA这个类。 开发环境:ubuntu12.04+Qt4.8.2+QtCreator2.5.1+opencv2.4.2 PCA数学理论: 关于PCA的理论,资料很多,公式也一大把,本人功底有限,理论方面这里就不列出了。下面主要从应用的角度大概来讲讲具体怎么实现数据集的降维。把原始数据中每个样本用一个向量表示,然后把所有样本组合起来构成一个矩阵。当然了,为了避免样本的单位的影响,样本集需要标准化。求该...
阅读全文
posted @
2012-09-06 11:13
tornadomeet
阅读(58608)
推荐(3) 编辑
目标跟踪学习笔记_5(opencv中kalman点跟踪例子)
摘要:一些网络资料 关于Kalman滤波器的理论,其数学公式太多,大家可以去查看一些这方面的文献.下面这篇文章对Kalman滤波做了个通俗易懂的介绍,通过文章举的例子可以宏观上理解一下该滤波器,很不错,推荐一看: http://www.cnblogs.com/feisky/archive/2009/11/09/1599247.html, 他的另一篇博客http://www.cnblogs.com/feisky/archive/2009/12/04/1617287.html中介绍了opencv1.0版本的卡尔曼滤波的结构和函数定义等。 另外博文:http://blog.csdn.net/o...
阅读全文
posted @
2012-08-19 15:00
tornadomeet
阅读(44934)
推荐(3) 编辑
特征点检测学习_1(sift算法)
摘要:sift算法在cv领域的重要性不言而喻,该作者的文章引用率在cv界是number1.本篇博客只是本人把sift算法知识点整理了下,以免忘记。本文比较早的一篇博文opencv源码解析之(3):特征点检查前言1中有使用opencv自带的sift做了个简单的实验,而这次主要是利用Rob Hess的sift源码来做实验,其实现在的opencv版本中带的sift算法也是Rob Hess的,只是稍微包装了下。 首先网上有不少文章介绍了sift算法,写得都不错,比如: http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html...
阅读全文
posted @
2012-08-16 22:25
tornadomeet
阅读(43291)
推荐(6) 编辑
目标检测学习_1(用opencv自带hog实现行人检测)
摘要:本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类。其实使用起来是很简单的,从后面的代码就可以看出来。本文参考的资料为opencv自带的sample。 关于opencv中hog的源码分析,可以参考本人的另一篇博客:opencv源码解析之(6):hog源码分析 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5. 实验功能: 单击OpenImage按钮,选择需要进行人检测的一张图片,确定后自动显示出来。该图片的大小没限制。 单击PeopleDetect按钮,则程序会自动对该图片进行行人检测,且...
阅读全文
posted @
2012-08-03 16:04
tornadomeet
阅读(67447)
推荐(5) 编辑
Reading papers_11(读Integrating local action elements for action analysis相关文章)
摘要:读Thi, T. H., L. Cheng, et al. (2010). Implicit motion-shape model: a generic approach for action matching, IEEE. 本文作者是通过对连续的视频帧来构造一个MHI图像,然后把MHI图像分成若干个运动——形状区域(即Motion-Shape regions),其实也就是对MHI图像进行特征点检测,这样一个动作视频就被一些稀疏的3维时空特征块表示了。接着作者将这些这些特征块整合到一个3维的ISM模型中,然后检测过程用广义的Hough变换对该模型进行投影,最后采用的是meanshift算法找.
阅读全文
posted @
2012-07-06 19:37
tornadomeet
阅读(1350)
推荐(0) 编辑