2013年5月25日10:43:26 测试calculate2评估函数的有效性。结果如下图所示: file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-5852.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-32701.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-25484.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-17462.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-1956.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-12295.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-13834.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-24812.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-14898.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-11920.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-26390.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31251.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-21280.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31448.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-28738.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31425.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-18881.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-17723.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-15755.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-26577.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-29967.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-6166.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-16873.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-29226.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-25829.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-7211.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-14885.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-32325.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-23407.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31815.png 由以上图片分析可得, 1.得到的改善: calculate函数在正常位置对图像左边缘提取较为稳定, 2.待解决问题:
右边缘则不尽如人意,并且road_trade函数的结束条件有问题,左边有可能得不到追踪,右边缘可能得不到执行 3.
左边缘追踪稳定表明calculate2函数的评估策略是较calculate函数的评估策略更为精确的,但是由于编写代码是按照左边缘的特征进行的,所以表现出左边缘的提取要优于右边缘。函数的边界判断出现问题,导致函数不正常退出使得边界追踪失败。 软件更新:2013年5月25日11:28:17temp_diff=OneLine[line_no_temp][row_no_temp]-OneLine[line_no_temp2][row_no_temp2]; sum_diff+=(temp_diff>0?temp_diff -temp_diff)); 此处是将前进方向的左右像素分组求灰度值之差,并且将差值取绝对值,这样将不会区分左白右黑以及左黑右白的情况,也就少了对左赛道边缘特征的识别。基于左边赛道边缘特征做出以下更改: sum_diff+=temp_diff; 预计将会使得左边缘在迭代的过程中优势更为突出。 软件更新:2013年5月25日11:39:40对calculate2中的for循环循环起始点以及终点做出更改。 原:for(i=0;i<=2;i++) 现:for(i=1;i<=3;i++) 结果: file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-4587.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-17641.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31454.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-11298.png 分析:以上是两种情况,对比之前可得边缘追踪更加稳定可靠,不区分左右赛道的搜索对于由边缘的情况较为稳定,左边缘的提取则由于起始点的原因异常跳出了追踪。 进一步改进:2013年5月25日12:04:31边缘追踪时,由于赛道初始时是向图像上部追踪,并且在追踪过程中不会出现追踪到图像底部的情形,所以修改边界值条件只对追踪到上左右三边界的时候跳出函数。 函数:byte transport(byte dir_t,byte*line_no_t,byte*row_no_t) 原代码:if(*row_no_t==picture_min||*row_no_t==picture_max||*line_no_t==0||*line_no_t==79) 现代码:if(*row_no_t==picture_min||*row_no_t==picture_max||*line_no_t==0) 结果:左边缘识别率达到90%左右。 file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-7968.png 问题样本:2013年5月25日12:47:34file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-28985.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-31584.png 在最低行进行分析时,追踪方向错误。 更改:road_trade函数中,在边缘追踪的初始点方向本来设定为2,现更改为1.表示向上追踪。 结果:在图像底端不会再出现上述错误。 问题:2013年5月25日12:20:56file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-5766.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-10101.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-24561.png 如上图所示:白色噪点对边缘跟踪影响很大 file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-32079.png 黑色噪点对中心查找的影响。使得起点偏离边缘,给之后的边缘跟踪造成毁灭性的打击。 file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-30387.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-25661.png 黑色噪点对边缘查找造成的影响 方案: 1.在边缘跟踪路径上的点进行二次滤波,三次滤波, 2.对左右边缘的判断条件分离,这样赛道左边缘右边灰度值大于左边灰度值的特征就会起作用,使得边缘追踪时滤除白色噪点。
问题:2013年5月25日13:04:54
file:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-25581.pngfile:///C:/DOCUME~1/crz/LOCALS~1/Temp/ksohtml/wps_clip_image-19368.png 这种情况是由于数组越界引起的,在进行迭代时,设定如果是边界上的点,则返回一个极小值,在之后的对比中将会忽略或者将算法搜索的区域减小一部分,留出四周无效区,无效区域内的点可以参与对比,但是不能作为路径。这样就避免了边缘在无效区内访问到数组外的点发生不可知的错误。 吃饭睡觉去了:2013年5月25日13:15:50对工程进行备份,名称为:2013年5月25日13:18:09 待尝试:2013年5月25日13:03:32对dir+1,dir+7;dir+2,dir+6;dir+3,dir+5;三组分别对8求余之后作为序号进行三次想绝对值坐标的映射并求偏差。 待尝试:2013年5月25日13:10:20自动对中心查找的中心点进行确定,这样在赛车偏离中心的情况下,仍然可以正常识别赛道。 算法:求最底下一行图像的最黑的点,以横坐标的均值作为中点
|