写在CV入门前的思考

个人感想,无干货

在写这篇博客的期间,我陆陆续续地复现了几篇论文的算法,因此从执笔到结束历经了很久,有GAN,也有YOLO,甚至还有GCN,尽管这些都在CV的范畴,实则各有千秋。每个领域都有着大批的学者乐此不疲地日夜科研,同样每个领域也有着更多的研究僧们,由于某种原因,日夜追随着大牛们的脚步。

这样的话,我又不敢轻言入门二字。

我在学习新知识的时候,总是抱着“慢慢学”这样的心态,同样的,面对任务时我也常常执著地认为要先把原理搞明白再去考虑具体实现的事,这样的思想是对是错说不好,但是常常会因此吃点亏。

至于我为什么会这样,久经思索后,我心里的答案是:自己学习新东西的能力不太够。随着身边的人越来越优秀,我能感受到一种压力:想要在他们之中脱颖而出的话,难度着实很大。有时候我会想着也没必要去争去抢,尽力而为就行了,这种想法存在的时间久了之后,我甚至有想过以后去找家研究所捣腾视觉,压力不会很大,工作也算对口。

很快我也意识到,这种想法至少在这个时候是不应该的,它有另一个名字——舒适圈

刷知乎的时候看到一个问题,我看了好久,讨论CV短期不看好,长期看好这个看法。这对一个研究方向跟CV还算相关的研究生而言,还是挺打击的,就像是刚刚想到一个好点子说出来立马被打脸。我所认识CV,检测,定位,跟踪,识别,分割,再有的话GAN,针对具体任务的话,还有手势,姿态,人脸等等的识别,当然CV远不止这些,每个领域都有着研究者们熟知的、敬仰的作品,散发着AI的魅力。在深度学习盛行的这七八年内,它们飞速的发展,带给人们新的认知与感受。真正让CV“炒火了”现在有“不看好”的,永远都不是真正的研究者,而是围墙外的那些人。

人体动作识别——STGCN

当初学者在自己的电脑上复现出上面这些效果时,肯定是很欣喜的。尽管是依葫芦画瓢,这个过程并不是所谓的“阿猫阿狗都能做的”。随着AI的潮流逐渐淡化,人们开始接受这种科技带来的变化,火车站的人脸识别,停车场的车牌自动识别,有些实验室的无人驾驶车都能出来遛一遛了。这些“成功”的应用让人们觉得人工智能不再神秘,同时也吸引着越来越多的人进入到的这个领域研究。
在这里插入图片描述

但是存在的问题也很严峻,目前看来,CV中唯一称得上落地实现的系统可能只有人脸识别了,其他方面的应用都很难受成功融入到了普通人民的生活。一个个神奇的网络不断地将目标识别的精度往上提,但是似乎已经到了上限。COCO数据集上小目标的检测mAP目前好像最高的也还在50~60,小目标的检测是硬核难题。但是生活中的场景不允许你对图像有任何要求,精彩的生活从视觉上看必定是复杂的。这个问题得不到突破,检测技术就只能应用在特定的场景,尽管也是落地了,但总有点不尽如人意。
在这里插入图片描述

扯得有点远了,我是来说入门感想的。从CNN的学习开始,慢慢接触了几个经典的卷积网络,从LeNet,AlexNet到GoogleNet、VGG再到ResNet,以及Yolov3中的DarkNet,短短几年,人们发现了这种能够从图像中提取高维特征的技术,它的每一小步并不复杂,乘乘加加就实现了,但是当经过数以万计、甚至百万千万的操作之后,一幅图像最后得到的这个抽象的特征图,竟然包含着能够代表图像身份的信息。卷积的神奇之处就在这里,后续的学者们争相拿着这个利器修改、构建成各式各样的网络,图像经过网络之后,得到几百维、几千维的特征向量,再调整到类别的数量,这每一个值承担着属于某个类的概率,通过这样的方法,完成了对目标的识别。

有人灵光闪现,开始把这种思想应用到其他任务上。把声波信号整理成矩阵从而使用CNN来提取语音信号的特征,当然语音识别的任务还涉及到声学模型、语言学模型等等,要更复杂一点。CNN在NLP(自然语言处理)领域也开始发光发热,出现了TextCNN等一系列网络。值得一提的是,这些任务近年来有了新的模型来研究。

VGG开启了深度上的探索,NIN结构提出每层可以多用几种卷积核,发现同一层在宽度上也可以有突破,何凯明大神综合两者,ResNet一鸣惊人,神奇的残差结构巧妙地解决了网络深度高了之后,出现的梯度消失现象。 当我知道LSTM解决了传统RNN梯度消失的问题时,不免思索,他们之间的异曲同工,人类社会还有多少这样类似、类比出来的作品,伟大的思想在不同的领域指引人类前进。 此后,学者们不再担心,可以尽情地加深网络,窥探数据越来越抽象的信息,只要有时间,有算力。

提到算力,又不得不感叹这些年各种硬件技术的突破,尤其是GPU算力的提升以及相应的一系列框架的提出。我不是研究这方面的,知识稍微了解一点。我的另一篇文章,关于显卡、显卡驱动、CUDA的思考,谈了一些理解,欢迎交流。理论与实际并驾齐驱,软件与硬件在统一的框架下相互配合,各司其职,不禁感叹,将这样的一个框架发明出来得要多少的智慧啊。

回到开头,我说自己学东西慢,喜欢慢慢抠,从本科开始,甚至更早的时候就是这样了。可能是性格使然,我认为做事应该先要万事俱备。在学习一门技术时,我会先去看看涉及到的基础知识,当然完全把基础搞明白也不太现实,太耗时间了,但至少要知道是什么怎么用,至于为什么常常会放在我的安排中最不紧急的那部分,最终不了了之。我在学习yolov3算法时还时常想着要不要先搞明白v1和v2呢,进而要不要去花时间把所有的小知识点也理一理呢。疑问越来越多,导致学习很慢。后来发现,直接上手Yolov3,吃透其中的框架工作机制,算法思想,实现技巧,在这个过程中借助网络资源了解一下较之前版本的区别、改进,或许是更好的选择。然后再去细品优秀的源码,在这期间把遇到的知识点搞明白,像IOU、mAP这些概念,甚至借助深度学习框架的实现方法,也可一并掌握。以项目为背景的学习效率是很高的。

至此搁笔,虽以入门为题,但论之不足,有些灵感在来的很突然,事后再动笔显得有些生疏了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值