【机器学习】改善LBP特征提高SVM的可分性的经验总结(二)

30 篇文章 5 订阅
12 篇文章 10 订阅

1、直方图均衡后,效果变差

equalizeHist(testImg, testImg);  //直方图均衡
imshow("直方图均衡后", testImg);

结论:由于直方图均衡会明显改变原来的明暗分布,反而降低可分性,检测效果显著变差。效果如下:

 

 2、把SVM.predict输出为1的框,求平均灰度,小于设定阈值的不保留

//设计12×30的滑窗遍历300×720的测试样本:计算每个滑窗内的LBP特征,给SVM预测,把输出为1的框画出来。
int m, n;
Mat slideWinImg(30, 12, CV_8UC1, Scalar(0));
Mat dstImg(30, 12, CV_8UC1, Scalar(0));   //LBP图,可不输出
Mat lideWinImgFeatureMat;
Mat sigleFeatureMat = Mat::zeros(1, descriptorDim, CV_32FC1);  //此时的descriptorDim已经更新为2320+362
vector<int> descriptor;

for(n=0; n<=testImgNorm.rows-30; n+=30)  //720/24=30
{
	for(m=0; m<=testImgNorm.cols-12; m+=4)  //300/10=30
	{
		slideWinImg = testImgNorm(Rect(m, n, 12, 30));
		if (slideWinImg.channels()>1)	cvtColor(slideWinImg, slideWinImg, CV_BGR2GRAY);

		//hog->compute(trainImg, descriptor, Size(4, 4));
		//getUniformPatternLBPFeature(slideWinImg, dstImg, descriptor, 1, 8);   
		//getOriginLBPFeature(slideWinImg, dstImg, descriptor);

		Mat extendLBPFeature;
		calExtendLBPFeature(slideWinImg, Size(3, 3), extendLBPFeature);

		//使用训练的SVM模型预测测试样本
		int predictResult = SVM.predict(extendLBPFeature);

		//cout<<"SVM训练模型预测结果:"<<predictResult<<endl;

		//剔除平均灰度值较低的检出框
		int garySum = 0;
		int threGary = 40*12*30;     //70*12*30,实验值,保守些,以免踢掉好的检出框
		if (predictResult==1){
			for (int mm=0; mm<12; mm++){
				for (int nn=0; nn<30; nn++){
					garySum += testImg.at<uchar>(n+nn, m+mm);
				}
			}
			if (garySum < threGary)	predictResult = 0;			
		}

		if (predictResult==1)
		{
			rectangle(copyImg,Point(m,n),Point(m+12,n+30),Scalar(0,255,0),1,1,0);
		}
	}
	//cout<<endl;	//imshow("copyImg",copyImg);	//waitKey(0);
}

①、结论:可以剔除黑车边缘与背景交界处的误检框。效果如下:

 

 

 ②、总结:夜晚或白天阴影路段,车道线灰度值小,背景更黑,对比度小;使用归一化+高斯滤波+pixelDiff,基本能检到车道线。但使用averageGray后,很多是车道线的检测框但平均灰度值低,反而被剔除掉了。效果如下:

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值