• 2005-07-17

    扎扎实实基本功

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/1318465.html

    最近的工作让我有了一种心有余力不足的感觉。

    我现在的工作简单的说来就是在图像上找东西,稍微专业一点,就要把数字图像处理和模式识别之类Buzzword夹杂进来。说起来容易,真的做起来就不像我最初想象的那样简单了,因为没有现成的算法,这个工作做起来需要一些创造性。和我一起工作的虽然是个博士,但并非在这个领域取得的学位,因此大家都算半路出家。经过一段时间的努力,我们把识别率提高到一定的程度。如果你参与过类似的工作,你就会知道从无到有,再到百分之六七十,甚至百分之八十都是一件比较容易的事情,再往上走才是真正的难度,而我们现在就走到了这样一个阶段,一个真正需要攻关的阶段。

    回过头来我们前面走过的阶段都是非常容易的,虽然我们在做算是比较专业的一件事,但并也没有太多专业的成分在里面,凭借自己对于程序设计的理解和驾驭,我便能轻松走过,这也是我一直没有意识到工作难度的原因。当我发现这种做法已经不能满足需要而试图采用其它的方法时,我清楚了自己的不足。

    如果希望能够把一个东西识别出来,那首先需要的是建立的是一种用来识别的模式。最简单的一个例子就是我们常见字符串匹配,如果想确认一个字符串是否在另一个字符串中出现,那首先得要确定我们要匹配的字符串。而我现在所做图像识别的关键就是建立一个有效的模式。我们前期采用的模式描述方法基本上属于这个领域中最简单的一种,也就是只要经过简单介绍,大多数人都可以驾轻就熟的方法,虽然能够把识别率提高到一定程度,但也注定有许多无法解决的问题,而现在问题已经摆在了我们面前。其实,还有许多可以用来描述模式的方法,但这正是我们的不足,半路出家的我们基本功远谈不上扎实,遇到问题时,我脑子里首先想到肯定不是这些已经存在的方法。

    即便我们有了描述的方法,怎样从图像中把这些模式找到也是一个问题,图像用来处理可远没有用来欣赏时那样动人,也许我们需要把图像切分成不同的部分,也许我们需要消除图像中噪音,也许我们要把它转为二值图像,怎样处理才能即简化又不丢失信息也着实是一道难题。比如,我们通过各种算子提取边缘的时候会发现,阈值大了,边缘没了,阈值小了,噪音来了。即便是化简后的结果,我们也会发现它们远不像教科书中来得那样干净,如何把该在一起的线连上,让它成为我们的模式,也是一门学问。

    别看我说得这么轻松,在实际工作中,这些都是困扰我的难题。翻了一些书之后,我终于意识到数字图像处理这门学问的水很深,而我在这个方面的基本功还差得很远。基本功的欠缺使得我即便头脑中偶而灵光乍现,却因为不知道如何表示,如何提取而不得不体味忍气吞声的感觉。

    任何一个领域都有它的基本功在里面,虽然基本功不是万能的,但是没有基本功却是万万不能的,不懂1+1的人学习微积分会让人联想到痴人说梦。扎实的基本功可以让我们在面对所谓的新东西时显得底气十足,这是一个基本的道理,却常常让人忽略。我见过很多讨论,说来说去,问题竟然绕到最基本的内容上。一种常见的表现就是一个人把一大堆异常贴出来,然后问别人问题在哪。事实上,大多数的这种问题不是缺了这个就是少了那个,很少是真正有深度的问题。除错可是程序员的基本功啊!

    初涉新领域,我们必然会面临新知识的学习。领导教育我们,应该以“倒爬楼梯”的方式进行学习,也就是说,首先明确自己的目标,然后根据需要去学习,遇到不懂的问题再去寻找,这样的学习方法会更有针对性,能够提高学习的效率。前面关于图像识别的知识,我基本就是采用了一个“倒爬”的描述,找本图像处理的教材你就知道了。

    打好自己的“地基”,前路才会走得更稳,修炼基本功的我的一些感叹。

    分享到:

    历史上的今天:

    引用地址: