1.一种基于深度学习的驾驶员手持电话检测方法,其特征在于,包括如下步骤:
步骤1):给定训练图像集合Ct={Ti|i=1,2,3,...,n},n为训练图像数量,集合中每张图像Ti已贴好标签;
步骤2):将数据集Ct合放入Yolov2中进行训练,获得训练模型W;
步骤3):输入测试图像P,用训练模型W进行测试,得到检测结果m个矩形检测框Kj,j=1,
2,3,…,m的集合Nk={(xj,yj,wj,hj)|j=1,2,3...,m},其中(xj,yj)表示检测结果矩形Kj左上角的坐标,wj和hj分别表示矩形的宽度和高度,矩形中点表示为(xcj,ycj):步骤4):测试图像P进行Lab颜色空间的分离,得到L通道图像PL、a通道图像Pa以及b通道图像Pb;
步骤5):b通道图像Pb通过通道相减减去a通道图像Pa,得到新图像Pn;
步骤6):对图像Pn进行OTSU二值化处理,得到二值图像Pno;
步骤7):在图像Pno中查找连通域,得到连通域最小外接矩形的集合Cr={(xv,yv,wv,hv)|v=1,2,3...,m2},其中(xv,yv)表示最小外接矩形左上角的坐标,wv和hv分别表示矩形的宽度和高度,m2表示连通域的数量,矩形面积表示为Sv,v=1,2,3,…,m2;
步骤8):将Sv中最大的记为Sm,(xm,ym)为该矩形左上角坐标,wm和hm分别表示该形的宽度和高度,该矩形中点表示为(xcm,ycm);
步骤9):若xcj>xcm,则保存该检测框Kj,得到新的检测框集合Ckn={Ku|u=1,2,3...,n2},Ku表示新的检测框,n2表示检测框数量,其中,j=1,2,3,…,m;否则,去除该检测框;
步骤10):利用Yolov2对每个检测框Ku对应的子图像进行测试,得到一个对应的置信度Vu,则得到置信度集合为Ckv={Vu|u=1,2,3...,n2};选取最大置信度记为Vmax,其对应的检测框记为Kmax,读取Kmax的标签,即为检测结果。
2.根据权利要求1所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤5)中利用cvAddWeighted函数实现通道相减,其中a通道图像Pa在该函数中的权重值设置为-1,b通道图像Pb在该函数中的权重值设置为1,即完成图像的通道相减。
3.根据权利要求1所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤6)中采用threshold函数进行二值化,并将参数设置为CV_THRESH_OTSU。
4.根据权利要求1所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤7)中对二值图Pno采用cvfindcontours函数,获取连通域轮廓,并计算wv*hv,v=1,
2,3,…,m2得到各个连通域的面积。