闲来无事,总结一下这个周的学习情况。
1. 基本实现使用纹理方法实现人群密度估计的C++代码,分了3类进行模拟,每一类15个训练图像,总共61个测试样本,低密度的分错4个,中密度分错0个,高密度分错0个,正确分类了93%.
代码实现的几个关键点:
1).求灰度共生矩阵时像素距离的选取对分类率有很大的影响。我使用的方法是借鉴了LDA(线性判别分析)的方法,即选取一个d,使类内距离最 少, 类间距离最大。
2)灰度共生矩阵的角度通常选取0,40,90,135。但是有时没有必要都计算,通常可以实验来决定哪个方向有较大的决定作用。这个我没有进行实验,不过我刚刚有个想法,可不可以利用具有方向性的边缘检测来粗略的估计具有决定性的方向。这样做会准确吗?
3)压缩灰度级。显然我们没有办法使用256灰度级进行直接计算,计算量基本上是无法忍受的。所以必须对灰度级进行压缩,但是在压缩之前还必须进行灰度均衡运算。是否进行灰度均衡对结果又很大的影响!
4)对于灰度共生矩阵基本上就是做了以上参数分析工作。接下来是SVM。我直接使用了OpenCV的SVM进行分类,可以试一下直接使用LIBSVM库。
对于SVM,我使用了RBF核函数,然后我必须进行参数gamma的确定。这里用了简单的方法,取gamma=1~100,程序执行100次,找到最大的分类率。然后确定最大分类率对应的gamma.这个用STL中的函数很容易。
2. 做了行为识别的作业,还有很多问题,而且做的很简单,没有什么可说的。
3. 看了一点SSE的东西,继续学习。