0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名算法工程师项目失败后的感悟

工程师人生 来源:工程师吴畏 2019-06-17 17:21 次阅读

领导把公司的一个重要研究项目(命名为顺耳风)交到了我手上--关键词唤醒系统,也就是当下最热门的热词唤醒。为了尽快的给客户演示,留给我的时间大约有三个月,刚开始我估算了一下,算法研究一个月,仿真一个月,后面调试差不多再有一个月基本就可以了。音频算法我这块以前研究过不少,有这块的相关经验。按道理是可以按时交付的。

就这样,项目在我的调研中就开始了,开始的时候,调研了不少业内的开源的热词唤醒系统,再结合公司的平台(公司是跑的小系统,资源比较紧张,ram空间200k,主频只有120M左右)。所以,一定要选择那种资源占用少,效率高的算法。经过两周调研,我选中了一块比较小的开源热词唤醒系统,该算法算是仿真环境下最适合小系统上使用的了。接下来,就要测试一下该系统唤醒率怎么样了,由于该系统只要自带的特殊格式的音频文件才能测试,用该系统自带的音频格式测试,效果非常的好。识别率基本是100%。这样的效果让我对该算法充满了信心。慢慢都是正能量。

接下来就需要把算法在pc机上进行仿真,这块的工作主要有把算法的底层改动能适应公司硬件平台需求,接口改动能够读取主流的音频格式。能否在pc机上仿真算法的效果。其实,这中间的工作量还挺大,足足花了我三周的时间去完成。等到完成了基本的仿真,确认基本效果ok之后,就开始了下一步的工作--把算法移植到芯片上。

把算法移植到芯片上,这部分主要是接口的工作量比较大,是芯片的接口能够适配算法。这段时间花费了我三周的时间。等到基本移植完成之后,项目周期已经过去了三分之二。这时的我,有点着急了。破屋偏逢连阴雨,就在这快要结束的时刻,发现了几个比较严重的问题,一个是,针对热词唤醒,vad检测音频之后再启动特征提取,这时算法的效果就变差了。再者就是从麦克过来的音频有噪声,这样也会降低了识别率。这两个问题是非常的棘手。vad检测和算法的特征提取配合,这个需要反复的验证和调vad的参数和算法的流程,同时也需要在电脑上进行仿真,这样来回的仿真和单板的来回测试,花了差不多两周的时间,效果仍旧不是那么的好。不过,算是凑合着能演示吧,不管了,先把产品的demo做出来再说。另外一个麦克通路过来有噪声的问题,需要我拉着硬件的和数字的同事一起看。等到我和他们一起把这个问题解决时,产品周期已经到了。从我简单的测试效果来看,基本能用了吧。于是,就给老大说,已经完成了。为了快速的出去演示,老板也没有去仔细的测试,直接把东西拿到客户那边演示了。等到听到客户的反馈时,我那么侥幸的心情瞬间崩塌,产品远远没有达到要求。三个月的努力瞬间化为悔恨和懊恼,到底哪儿出了问题?

哪儿出现了问题?

该项目的失败,让我一直在问题自己这样一个问题,到底我在这里错在哪儿?从一个产品经理的角度来讲,我错在是时间估计太乐观,其实,后面和一个资深的算法工程师讨论过这个问题,他说的还是挺有一定有道理的。一个算法从理论到产品,一般要经过一年的时间去打磨,太快了会出事的。回顾一下自己的这个项目,就是后面的测试太少,客户的场景基本没有考虑的情况下,不出问题才怪呢。都怪我太匆忙。今后,这点一定要注意,项目评估时间的时候还是要留余量的。

从一个软件开发人员的角度来考虑,最大的问题就是思维不够缜密,心存侥幸心里,对客户的的使用场景没有充分的去调研和测试。反复想一想,其实,这种事情不止一次发生在我身上了,自己没有经过测试充分的产品给测试人员,测试人员能会测试不出来问题吗?客户难道不会测试出来问题?做事情,千万不能心存侥幸,这个是血的教训啊。

此岸和彼岸

其实,每个翩翩少年,都藏着一颗用代码去改变世界的梦想,可是,当面临着现实的种种烦扰时,有太多的理由和困难让我们去放弃。在无数先贤人们构造的软件数字迷宫中,作为一个凡夫俗子的程序员更容易迷失方向,到底,怎么才能到达彼岸,哪儿又是彼岸呢?依稀还记得老子的一句话--图难于其易,为大于其细。天下难事必作于易,天下大事必作于细。当穿越软件的层层迷宫之后,我才有点幡然醒悟的觉决。算法的彼岸,就是客户的认同和满足,一切的产品,都应该以是否满足客户的需求去定义和开发。在这个此岸彼岸之间,就是这就是老子留给我的那句心决--难作于易,大作与细。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1571

    浏览量

    68559
收藏 人收藏

    评论

    相关推荐

    硬件工程师工作前VS工作!抱歉!是我想的太简单了!# #电工 #电子爱好者

    硬件工程师
    MDD辰达半导体
    发布于 :2025年01月08日 18:15:18

    焊板子前,焊板子,硬件工程师居然两幅面孔!# #电工 #电路知识 #电路原理

    硬件工程师
    MDD辰达半导体
    发布于 :2025年01月07日 18:15:30

    为什么嵌入式驱动开发工程师可以拿高薪?

    技术领域具有不可替代的地位。 成为一名优秀的嵌入式驱动工程师只需要深耕以下几点: 1)坚实的技术基础: 首先,需要有坚实的基础,包括计算机组成原理、微处理器与微控制器架构以及电路设计与硬件接口知识
    发表于 01-07 16:56

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题() Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师
    发表于 09-23 18:26

    嵌入式软件工程师如何提升自己?

    相关的实验室项目或参加开源项目以积累宝贵的项目经验。 4.不断学习与成长 嵌入式软件领域的技术更新速度非常快,因此,作为一名嵌入式软件工程师
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 739次阅读

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    如何成为一名嵌入式C语言高手?

    文献、参加相关的培训课程、关注行业动态和参与技术讨论是不可或缺的。同时,我们也要勇于挑战自己,接触些复杂的嵌入式项目,通过实践不断提升自己的编程能力和解决问题的能力。 总结来说,成为一名嵌入式C语言
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    文献、参加相关的培训课程、关注行业动态和参与技术讨论是不可或缺的。同时,我们也要勇于挑战自己,接触些复杂的嵌入式项目,通过实践不断提升自己的编程能力和解决问题的能力。 总结来说,成为一名嵌入式C语言
    发表于 03-25 14:12

    单片机如何通过代码控制硬件:一名工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1543次阅读
    单片机如何通过代码控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程师</b>的分享

    优秀电源工程师需要哪些必备技能?

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有位电源工程师会错过让自己变得更优秀的机会。作为
    发表于 01-29 11:29