CC读书 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

要想利用“人工神经网络”处理图像识别问题,需要事先收集到大量的数据。

可是仓促之间,上哪去弄数据?

倒是可以给“战神一号”拍一些“写真”,来充当训练集,反正所有的参赛机器人,外形都差不多。

这样做倒也不是不行,但时间太仓促了,数据的量级达不到要求,训练效果应该不会太好。

而且,就算拼着一夜不睡,东拼西凑出一点训练数据,也很可能来不及训练了。

训练“人工神经网络”,毕竟是一件比较消耗时间的事情。

而现在最大的问题,就是缺少时间,明天就要正式上场了的说……

何况,“人工神经网络”的优势在于通用性和准确率,在特定问题上的识别速度,还真不见得能比得上精心优化过的“笨办法”。

所以江寒仔细思考了一番之后,还是决定采用“几何形状匹配”的思路来做图像识别。

这种办法的优点是识别速度比较快,更容易获得高帧率。

编程的复杂度可能稍微高了一点,但这对江寒来说,并不是什么太大的问题。

他先新建一个.CPP文件,以及对应的.h头文件,然后创建一个新的类,用于容纳自己的图像识别算法。

接下来就可以正式编码了。

江寒一边思考,一边编写代码,靳雪雯在一边安静地看着。

两人偶尔也交流一两句,讨论一下编程思路、函数的功能之类的问题。

“江寒哥哥,这几个语句是做什么用的啊?”

“这个是图像预处理,按照自定义的阈值,将每个像素二值化……”

“那江寒哥哥,这个函数呢?我有点看不懂……”

“哦,这个叫膨胀处理,可以让图像的轮廓更加明显……”

……

二十多分钟后,江寒搞定了图像预处理的相关代码。

这部分要做的事情很简单,就是将摄像头拍到的图像,先处理成灰度图,然后二值化,只留下LED灯部分。

接下来,要在图像中遍历像素、寻找LED灯的轮廓。

这是整个算法中计算量最大的部分。

好在江寒对图片的预处理,做得相当到位,将这一步所消耗的时间,基本上压缩到了极限。

找到LED灯后,下面的事情就简单了,遍历轮廓、提取LED灯,再匹配筛选、找到机体轮廓,然后就可以锁定目标攻击了。

在做机体轮廓分析时,江寒考虑了一下,使用了模板匹配技术。

这样一来,就进一步减少了运算量,节省了时间。

到了这里,目标识别就基本完成了。

接下来,就可以测算目标的方位和距离了。

这一步涉及到图片坐标系与大地坐标系之间的换算,算法复杂度相当高。

但江寒岂是欺软怕硬的人呢?

只要舍得脑力全开,肯定是搞得定的。

然而,这样又有一个新问题,可别不等完成编码,大脑的能量就消耗殆尽了。

那种空虚乏味的感觉,可是相当难受的……

所以江寒想了想,就笑眯眯地说:“小蚊子,可以拜托你一件事吗?”

靳雪雯精神一振,摩拳擦掌地说:“江寒哥哥,快说、快说,是什么事?”

自己闲了这么久,总算可以派上点儿用场了……

江寒微微一笑,说:“帮我打个电话给前台,要点宵夜。”

“没问题!”靳雪雯脆生生地答应了一声。

然后拿出手机,喜滋滋地问:“江寒哥哥,你想吃什么呀?”

“冰岛红极参,问问哪里有,然后让前台帮忙订做两盘,送到大厅来。”

“好的。”靳雪雯立即拨号。

江寒想了想,又补充说:“口味随便,红烧、清蒸无所谓……哦,对了,让他们把点餐的钱加到我账单里。”

靳雪雯一摆手:“不用,你教我改程序,我还不知道怎么感谢呢!

再说咱们战队刚刚成立,本队长请吃个宵夜,也是应该的吧?”

江寒呵呵一笑:“小蚊子啊,你可能不太清楚,这种地方,一条红极参只怕得7、8百块。”

靳雪雯嘻嘻一笑:“没事,让爸爸买单就行了,他赚钱就是给我和妈妈花的嘛。”

江寒:“……”

有点无言以对的感觉。

眼前这一只,莫非就是传说中的富萝莉?

毕竟有句话说得好,十个萝莉九个富,还有一个……

靳雪雯很快安排完宵夜,然后继续看江寒编程。

江寒接下来就开始编写目标测算模块。

靳雪雯原本使用的办法,是直接用像素坐标来计算旋转角度。

这样做倒也不是一定不行,但比较麻烦,而且效果也不会太好。

这是因为像素坐标差与角度之间,并不是线性关系,必须根据像素的坐标,随时矫正换算比例,才能得到一个不很精确的近似值。

江寒思考了一下,根据“小孔成像”的原理,设计了一个简单而又巧妙的算法,通过像素坐标算出了正确的转角。

想要从图像数据中得到物理世界的坐标,需要先标定摄像头,从而得到摄像头的内参。

这一步可以使用OpenCV中的标定工具来做。

标定完摄像头后,就能得到摄像头的内参矩阵和畸变参数。

根据这两组参数,对像素值的坐标进行矫正,然后就可以通过反三角函数,来计算出需要的角度了。

写完算法之后,江寒又设计了一个小实验,对其进行了验证。

实验结果表明,这个算法完全OK,准确率和速度都优于靳雪雯原来的算法。

但这种算法也有一个相当明显的缺陷,由于缺失了深度信息,因此无法对坐标系进行变换操作。

这样一来,就只能得到相对于摄像头中心的转角……

那么如何解决深度的问题,得到三维坐标呢?

江寒又设计了一种算法,通过求解PNP问题,来得到敌我双方在真实空间中的坐标偏移。

PNP问题,就是PerspectiveN-PointProblem。

江寒对这个算法不是十分熟悉,只知道可以用来处理空间定位问题。

所以,他先去网上找了几篇文献,仔细浏览,理解了原理之后,才开始编写自己的代码。

首先标定摄像头,得到相机的内参矩阵和畸变参数,然后测量物体的尺寸,得到物体在世界坐标系中的坐标。

接下来,从图像中得到机体的像素坐标,然后通过SolvePnP函数计算出平移向量,对坐标进行平移操作。

最后再修正一下y轴和z轴的坐标,就可以通过反三角函数,计算出所需要的角度值了。

这种算法可以得到物体在三维空间中的坐标,缺点是需要计算四个点,而第一种算法,利用小孔成像的原理,只需要计算一个点就够了。

两种办法各有优缺点,可以分情况,灵活运用。

当目标距离十分遥远时,就用“小孔成像法”计算角度;距离合适的时候,则不妨切换成PNP法……

这样一来,就能兼顾效率与精准了。

破费!

最后还有一件事,那就是目标动作预测。

这是一个相当困难的问题,但也是一个非常重要的问题。

预测做得好不好,直接决定了子弹的命中率。

如果不做预测,当敌方车辆不断移动时,瞄准点将总是滞后于敌机的实际位置。

这当然是不可接受的。

所以必须做,而且还要尽可能地做到完美!

CC读书推荐阅读:医笑倾城踏星陆隐极品家丁弃妃,你又被翻牌了!韩娱之灿冷冰冰的战神王爷堵门求我疼疼他女帝的现代生活喝醉后,女神让我忘了她人到中年,觉醒每日结算系统傲世玄医暴徒出狱重生:大帝归来炼神丹!御神兽!废材大小姐竟是绝世帝女玩家超正义隐主龙玉冰冷总裁未婚妻重生的李峰青梅有点酸,竹马你别闹超强打工仔我的六个姐姐,由我来守护!极品仙尊之高高在下豪门重生之撩夫上瘾有妖气客栈天亮了,就不需要灯塔了都市修仙从摆摊开始太初灵境尊龙出狱送王船重生60:我靠打猎让全家致富我的宝藏男神藏不住了古镇奇谭从认购证开始在欧美区扬名变成女生后兄弟也跟风了陆太太复婚吧诸界碰撞,我杀出归墟芈月传(蒋胜男)亿万契约:杠上钻石老公我的冷艳娇妻谍战:我能用不同的身份搞暗杀重生之重启2004京城异能王亿万首席,前妻不复婚重生1990之改写人生农女医妃富甲天下那位杀手不太冷模拟:身为无上巨头,托起人族高武世界:开局觉醒天人合一高武:家父五虎将,掠夺鸿蒙体!画堂归别回去了,送你一杯温热的豆浆
CC读书搜藏榜:海贼王之最强冰龙皇上非要为我废除六宫邢先生的冷面女友战国混沌剑神的猴子猴孙们独享一吻成灾:帝少的77次锁情诸神来犯,我在现代重演神话神级狂医在花都都市之最强战神奶爸逍遥修真少年空间之归园田居重生之妃王莫属女导演的爱情电影重生后,我在都市杀疯了重生,我就是回来当厨神的湛少的替婚新妻韩娱之魔女孝渊迷彩红妆公主爱妻你别跑两界真武暗影谍云偏执首席放过我爱如星辰情似海百万调音师:我只好亲自上台了!祸害娱乐圈,你说自己是正经人?都市之邪皇狂少这个傀儡师有点那啥重生娱乐圈之女王至上乡村疯子致富路墨守陈规狂龙下山退休后她只想在娱乐圈养老重生九零恶婆婆商女谋夫回2001陪你长大我在梦里逐步成神变成女孩子,将高冷千金养成病娇亲情凉薄我转身自立门户我的世界,又要毁灭了重生后休了王爷重回1976,下乡当知青御膳房的小娘子重回七七种田养娃霞光升起金牌宠妃(系统)绯闻男神:首席诱妻成瘾我是导演,却拿着演员的技能我的师傅慢半拍邪医修罗:狂妃戏魔帝异世倾心
CC读书最新小说:港综:夕阳社团?我反手拿下尖东四合院:采购员的美好生活综影视:魂穿乔卫东!我全都要!三尺讲台,点亮星辰多子多福:从零打造神豪家族娱乐:我假娶四女星后激活系统灵气复苏:系统带我虚拟练级港片:卧底狗都不当,大嫂够味逍遥渔夫全球觉醒:开局成为先驱财富自由退休回到小县城因果,归墟观测者怒龙出狱:开局清算十八家我瘫痪在家,分身们在外杀疯了灵气复苏都选邪修了离婚后,她拼命挽回训灵师:时代终焉好风送我上青云闲居山村之我是绝世修道高手钓鱼:大佬全都找我要装备!权术纵横:从县委书记到权力之巅都市修仙:至尊的二次人生快活神医杨小乐我的绝美大小姐抗战:和魏大勇一起逃出来关于我的绯闻女友是校霸这件事跑男:带着热巴晋升全球顶流!一手金针救苍生,一手铁拳镇山河官场:我在25岁成为县委书记我每周刷新的超能力迟到了仨月小道风水人生重生之贵公子逆袭:雪夜狂飙催婚上恋综,偶遇学姐带娃星际战士养成记灵能代码:都市炼道黑道:摆渡人的宿命漆魔家族穿越民国我是关中刀客的后人带着五眼神通走向世界之巅亮剑这个李云龙不一样内阁大学士穿越成为副镇长问鼎青云:以天华之名烽火逃兵2嘎嘎乱杀成雄兵赛博玄界:夜之城的逆命传奇首长身边的机要秘书我在两界倒腾成神律途:正义的千面校长怀孕了,这与我何干山林里的俏姑娘高冷女捡到个全身是宝的软饭男