智能车制作

标题: CCD图像采集及搜寻边线 [打印本页]

作者: jimmy0087    时间: 2014-5-15 11:34
标题: CCD图像采集及搜寻边线
发现论坛很少有人发CCD的帖子啊,发一记CCD的图像,白色为原始图像,红色是经过归一化后,搜寻的边线的图像[attach]59840[/attach][attach]59839[/attach]
作者: 水心无滞-程乐    时间: 2014-5-15 11:35
抢沙发!不错哦!
作者: 小生有你    时间: 2014-5-15 11:55
楼主上位机不错!
作者: anti-    时间: 2014-5-15 16:07
归一化是什么方法?
作者: 灬爱    时间: 2014-5-15 16:10
上位机真心不错!
作者: yanggodfly    时间: 2014-5-15 16:49
同求归一化
作者: yanggodfly    时间: 2014-5-15 16:57
求归一化思路

作者: shenxy0011    时间: 2014-5-15 18:26
在线等 归一化思路
作者: huan9740    时间: 2014-5-15 21:50
同求上位机和归一化!
作者: 嘿……me~~~    时间: 2014-5-15 22:14
上位机和归一化!
作者: jimmy0087    时间: 2014-5-15 22:53
anti- 发表于 2014-5-15 16:07
归一化是什么方法?

就是不用蓝宙的动态曝光时间,非常不稳定,图像很跳,所以选择一个合适的曝光时间,再将128个点通过归一化处理,因为归一化处理后的数据是0-1之间,所以我人为放大255倍,将数据变为uchar型,再提取边线,这样在不同光线都能取得较好的边线

作者: jimmy0087    时间: 2014-5-15 22:54
yanggodfly 发表于 2014-5-15 16:49
同求归一化

方法以回复
作者: jimmy0087    时间: 2014-5-15 22:55
shenxy0011 发表于 2014-5-15 18:26
在线等 归一化思路

方法以回复

作者: jimmy0087    时间: 2014-5-15 22:57
huan9740 发表于 2014-5-15 21:50
同求上位机和归一化!

方法以回复,上位机通过Labview编写,暂时只有摄像头功能还没进行完全测试,许多地方还不是特别方便,在优化,如果有兴趣就私聊我吧

作者: 竹音清影    时间: 2014-5-15 23:00

作者: jimmy0087    时间: 2014-5-15 23:04
小生有你 发表于 2014-5-15 11:55
楼主上位机不错!

谢谢,自己写的东西有什么需求很容易加,很方便

作者: yanggodfly    时间: 2014-5-15 23:23
jimmy0087 发表于 2014-5-15 22:53
就是不用蓝宙的动态曝光时间,非常不稳定,图像很跳,所以选择一个合适的曝光时间,再将128个点通过归一化 ...

有几个边沿感觉很平滑啊,比赛道外的边沿都平```怎么能提取出来的?
作者: jimmy0087    时间: 2014-5-15 23:41
yanggodfly 发表于 2014-5-15 23:23
有几个边沿感觉很平滑啊,比赛道外的边沿都平```怎么能提取出来的?

不太懂你说的什么意思啊,问我边线如何提取?

作者: yanggodfly    时间: 2014-5-15 23:57
jimmy0087 发表于 2014-5-15 23:41
不太懂你说的什么意思啊,问我边线如何提取?

赛道黑线和赛道外也有一个明显的边沿啊,但是你的第二个图里就很好的忽略了···我想问一下是怎么提取的

作者: jimmy0087    时间: 2014-5-16 00:17
确实有一个小缺口,就是要利用这个小缺口。对归一化后的图像进行求均值,在归一化后的图像上做一条均线分割,交点就是边线,有时候会经过缺口的小圆弧,那么再通过一点点小技巧处理一下。大部分方法已经说了,毕竟我们也参加比赛,还有一点点小技巧可以自己琢磨琢磨
作者: jimmy0087    时间: 2014-5-16 00:18
yanggodfly 发表于 2014-5-15 23:57
赛道黑线和赛道外也有一个明显的边沿啊,但是你的第二个图里就很好的忽略了···我想问一下是怎么提取的 ...

确实有一个小缺口,就是要利用这个小缺口。对归一化后的图像进行求均值,在归一化后的图像上做一条均线分割,交点就是边线,有时候会经过缺口的小圆弧,那么再通过一点点小技巧处理一下。大部分方法已经说了,毕竟我们也参加比赛,还有一点点小技巧可以自己琢磨琢磨

作者: yanggodfly    时间: 2014-5-16 00:29
jimmy0087 发表于 2014-5-16 00:18
确实有一个小缺口,就是要利用这个小缺口。对归一化后的图像进行求均值,在归一化后的图像上做一条均线分 ...

非常感谢~


作者: yanggodfly    时间: 2014-5-16 00:31
jimmy0087 发表于 2014-5-16 00:18
确实有一个小缺口,就是要利用这个小缺口。对归一化后的图像进行求均值,在归一化后的图像上做一条均线分 ...

对了,你们CCD哪家的?

作者: jimmy0087    时间: 2014-5-16 08:17
yanggodfly 发表于 2014-5-16 00:31
对了,你们CCD哪家的?

蓝宙的CCD
作者: 刘小涛    时间: 2014-5-16 09:30
请问合适的曝光时间,大约是多少?,一直是个定值么?
作者: i_嵐枫    时间: 2014-5-16 10:42
需要归一化么?
作者: 飘柔似水    时间: 2014-5-16 12:17
好~
作者: jimmy0087    时间: 2014-5-16 13:30
刘小涛 发表于 2014-5-16 09:30
请问合适的曝光时间,大约是多少?,一直是个定值么?

我给了5MS,图像还不错
作者: jimmy0087    时间: 2014-5-16 13:30
i_嵐枫 发表于 2014-5-16 10:42
需要归一化么?

需不需要跟自己的算法有关

作者: huan9740    时间: 2014-5-18 00:27
jimmy0087 发表于 2014-5-16 00:17
确实有一个小缺口,就是要利用这个小缺口。对归一化后的图像进行求均值,在归一化后的图像上做一条均线分割 ...

我想说这样处理对反光等情况如何,还有时间开销。归一化就都成了浮点运算了...比较慢

试了好几种方法,发现场地光线影响很大
不反光只有单跳变,反光是双跳变,


还有labelview好像有时候会跟不上。隔壁摄像头组用labwindows做的。

作者: rain发发    时间: 2014-5-18 02:14
同求上位机   和归一化
作者: rain发发    时间: 2014-5-18 02:15
能把上位机 给我用用吗
作者: jimmy0087    时间: 2014-5-18 13:02
本帖最后由 jimmy0087 于 2014-5-18 13:06 编辑
huan9740 发表于 2014-5-18 00:27
我想说这样处理对反光等情况如何,还有时间开销。归一化就都成了浮点运算了...比较慢

试了好几种方法, ...
我们边线采集没有利用跳变判断
反光可以用偏振片,不用也没问题,反光无非是在蓝色底布和黑线处,和白色赛道还是有明显的灰度值差别。配上自己的边线采集算法,很稳很准,当然每个人的算法是一环扣一环,如果盲目模仿,只能是东施效颦的结果,所以还是根据自己实际情况想算法。至于浮点运算,我们去年用128做摄像头,控制周期20ms都可以,今年CCD,才处理一行数据,用浮点做运算完全够用。PS:我其中还对数据运用了最小二乘法求斜率,完全不影响我的控制周期
至于labview,完全可以采集高速的数据,用周期性循环,修改时钟源,我上次采集60*100的数据都可以,只不过有点刷屏

作者: jimmy0087    时间: 2014-5-18 13:03
rain发发 发表于 2014-5-18 02:15
能把上位机 给我用用吗

上位机不完善,暂时不分享,等写完整了,labview写的,有兴趣私聊,我发给你源码

作者: huan9740    时间: 2014-5-18 14:18
jimmy0087 发表于 2014-5-18 13:02
我们边线采集没有利用跳变判断
反光可以用偏振片,不用也没问题,反光无非是在蓝色底布和黑线处,和白色赛 ...

感谢这么认真地回复。说的很有道理,算法都是一环扣一环的!
怎么说,蓝底反光强度问题还是要看周围光强的。在体育馆里大灯照下,上位机观察图像有些地方和地板一样的反光,也就是和白底差别不大,如果有均值作动态阈值的话很容易误判。

你说只有一行也就是单ccd采集咯。不过我看到好多队伍都用了多个ccd,至于算法可能各有各的设计。

btw如果是k10的话,还自带dsp运算单元。不过你说的没错浮点运算完全不是速度的瓶颈。
不知道老兄几米了

最后再次谢谢分享。

作者: new_life    时间: 2014-5-18 17:44
jimmy0087 发表于 2014-5-18 13:02
我们边线采集没有利用跳变判断
反光可以用偏振片,不用也没问题,反光无非是在蓝色底布和黑线处,和白色赛 ...

亲,我想问下 你5MS采集一次数据,是不是一个周期采集了很多图像,然后将线性CCD变为多行的 面阵CCD吗?
作者: jimmy0087    时间: 2014-5-18 19:03
huan9740 发表于 2014-5-18 14:18
感谢这么认真地回复。说的很有道理,算法都是一环扣一环的!
怎么说,蓝底反光强度问题还是要看周围光强 ...

因为我们实验室都有窗帘,所以反光问题还好,但就去年的参赛经历,实际比赛场所光线很均匀,我去年在华科参赛。
我们没有用动态阈值,因为我们想尽可能的减少人为参数的设定,所以我们是根据归一化后的均值做了一个自适应边线采集,完全没有人为添加的常数参数
至于速度  目前没速度,研究算法当中,因为PID参数的整定的再好,你的路径算法,控制算法不好,参数也是白调,所以我们的观点是先把各种问题解决
CCD个数问题,我们打算用两个,一正一反,因为要将车进入人字区域。但是CCD前瞻如果太远,丢线很严重,所以我们也无法说一个CCD就能跑出高速
我们只是鱼腩队伍,打酱油的,只求能从中学到东西
多交流

作者: jimmy0087    时间: 2014-5-18 19:06
new_life 发表于 2014-5-18 17:44
亲,我想问下 你5MS采集一次数据,是不是一个周期采集了很多图像,然后将线性CCD变为多行的 面阵CCD吗?

没有,一个周期只采集了一行图像,我们控制周期10ms,但是我们对关键数据进行了保存,对赛道进行预测

作者: rain发发    时间: 2014-5-18 21:06
jimmy0087 发表于 2014-5-18 13:03
上位机不完善,暂时不分享,等写完整了,labview写的,有兴趣私聊,我发给你源码

恩恩   多谢   能发我QQ上吗

作者: rain发发    时间: 2014-5-18 21:14
jimmy0087 发表于 2014-5-18 13:03
上位机不完善,暂时不分享,等写完整了,labview写的,有兴趣私聊,我发给你源码

能发我QQ上吗  929285133

作者: jimmy0087    时间: 2014-5-18 22:40
rain发发 发表于 2014-5-18 21:14
能发我QQ上吗  929285133

已发,接受

作者: new_life    时间: 2014-5-19 08:42
jimmy0087 发表于 2014-5-18 19:06
没有,一个周期只采集了一行图像,我们控制周期10ms,但是我们对关键数据进行了保存,对赛道进行预测

那你  曝光时间 用的  多长呢,你们 保存了几组数据呢?  能不能 留个联系方式呢我 157146418,能不能 QQQ
作者: jimmy0087    时间: 2014-5-19 12:34
new_life 发表于 2014-5-19 08:42
那你  曝光时间 用的  多长呢,你们 保存了几组数据呢?  能不能 留个联系方式呢我 157146418,能不能 QQ ...

QQ 281121638

作者: huan9740    时间: 2014-5-19 13:59
jimmy0087 发表于 2014-5-18 19:03
因为我们实验室都有窗帘,所以反光问题还好,但就去年的参赛经历,实际比赛场所光线很均匀,我去年在华科 ...

嗯说得好。动态阈值有人为参数吗。。我用的二值化,阈值是通过算法得到的,效果还不错。

我也觉得速度PID没必要做很细,但是舵机打角是一个非线性的关系,一个简单的PD好像不够。但在PD基础上做一些改造貌似就能到达不错的速度。再复杂一点的话就是模糊PID,或者模糊控制了。

但是路径优化算法的话好像看到的都是摄像头的,目前是通过求曲率然后跟踪曲率变化来跑,不知道楼主有什么高见。

作者: new_life    时间: 2014-5-19 18:36
jimmy0087 发表于 2014-5-19 12:34
QQ 281121638

已经加你QQ,  
作者: jimmy0087    时间: 2014-5-19 19:23
huan9740 发表于 2014-5-19 13:59
嗯说得好。动态阈值有人为参数吗。。我用的二值化,阈值是通过算法得到的,效果还不错。

我也觉得速度 ...

之前我们也是用的双峰动态阈值,可能是我对此算法理解不够,写出来计算量很大,于是就放弃了,条条大路通罗马嘛
路径问题,算曲率确实很好,最近考试很多,之前用曲率有个很大的问题一直没解决,在单片机算得的曲率变化很小,所以还在研究当中
路径优化还有就是通过控制算法,根据偏差,用动态PD值,实现入弯时机和转角的控制,目前有些眉目,但是算法还是有BUG
希望能给能住到您,大家共同进步吧

作者: rain发发    时间: 2014-5-21 23:35
huan9740 发表于 2014-5-19 13:59
嗯说得好。动态阈值有人为参数吗。。我用的二值化,阈值是通过算法得到的,效果还不错。

我也觉得速度 ...

能加下你的QQ吗      我的929285133    聊聊思想
作者: rain发发    时间: 2014-5-21 23:56
jimmy0087 发表于 2014-5-18 13:03
上位机不完善,暂时不分享,等写完整了,labview写的,有兴趣私聊,我发给你源码

能加QQ吗  我的929285133

作者: 我们一起走过    时间: 2014-5-24 22:17
三峡大学的哈,不错
作者: jimmy0087    时间: 2014-5-25 15:33
我们一起走过 发表于 2014-5-24 22:17
三峡大学的哈,不错

是的
作者: killer1    时间: 2014-6-8 15:19
问下,前瞻40+弯道丢线误判了是路径不好么?车子直接在50半径的圆弧出去了,舵机控制不好?
作者: 小杰↗葬    时间: 2014-6-27 00:19
为什么在白线比较平滑的地方红线会有跳变
作者: 梦古    时间: 2014-6-27 09:38
楼主求上位机,1198826224@qq.com
作者: lf1286    时间: 2014-7-26 12:46
求归一化思路和上位机,谢谢  

补充内容 (2014-7-26 20:11):
邮箱:1399577271@qq.com
作者: chinahuangyong    时间: 2014-7-28 23:26
求楼主规一化思路和上位机
作者: chinahuangyong    时间: 2014-7-28 23:26
QQ 943730141
作者: abacrya、军    时间: 2014-7-29 15:57
百度了一下归一化,但是还是有点不懂。麻烦楼主再指点下。。谢谢啦
作者: jimmy0087    时间: 2014-7-31 10:11
abacrya、军 发表于 2014-7-29 15:57
百度了一下归一化,但是还是有点不懂。麻烦楼主再指点下。。谢谢啦

光线不同,电压值就不同,所以想要让CCD在不同光线下所得的数据相同,便于用阈值求取边线,就想到了用归一化,将128个点找最大值和最小值,然后用归一化那个公式,将每一个值变成0-1之间的数据,然后都同时放大255倍,然后数据就会如图红线的曲线趋势很容易判断边线
作者: jimmy0087    时间: 2014-7-31 10:14
梦古 发表于 2014-6-27 09:38
楼主求上位机,

labview才能打开,已发

作者: jimmy0087    时间: 2014-7-31 10:15
lf1286 发表于 2014-7-26 12:46
求归一化思路和上位机,谢谢  

补充内容 (2014-7-26 20:11):

abview才能打开,已发

作者: jimmy0087    时间: 2014-7-31 10:16
chinahuangyong 发表于 2014-7-28 23:26
QQ 943730141

labview才能打开

作者: abacrya、军    时间: 2014-7-31 11:54
jimmy0087 发表于 2014-7-31 10:11
光线不同,电压值就不同,所以想要让CCD在不同光线下所得的数据相同,便于用阈值求取边线,就想到了用归一 ...

谢谢。。

作者: 天翊    时间: 2014-7-31 12:10
yanggodfly 发表于 2014-5-15 23:23
有几个边沿感觉很平滑啊,比赛道外的边沿都平```怎么能提取出来的?

我也表示怀疑,到时像差分出来的

作者: chinahuangyong    时间: 2014-7-31 18:05
恩恩,已收到,谢谢
作者: Dom1010    时间: 2017-10-6 09:35
可以发我一份吗?
QQ 1160744475。谢谢





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2