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

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

3天内不再提示

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

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

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

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

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

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

哪儿出现了问题?

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

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

此岸和彼岸

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

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

    关注

    59

    文章

    1553

    浏览量

    67477
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

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

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

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    电子工程师天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    FPGA工程师需要具备哪些技能?

    ,需要具备系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36

    【社区之星】彭仲维:扎实的基本功与时间的沉淀才是工程师成功的关键!

    入了电子行业。 社区小助手:作为一名从业多年的工程师,能否分享你的工作经历和些比较成功的工程项目或优秀作品?开发这个产品的整个过程,有什么记忆深刻的经历吗? 彭仲维老师:
    发表于 10-13 14:15

    电源工程师常用的几个典型电路分享

    具有电源知识水平的工程师来完成设计和开发。作为一名合格的电源工程师平时工作经验的积累很重要,但同时也应该提高理论水平,通过积累几个常用的电源电路,说不定下次就能用上,还是学习吧!
    发表于 09-20 07:59

    一名硬件工程师都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15

    招labview工程师 (广州)

    招labview工程师1-2,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系统搭建; 熟悉工业常用接口RS232、USB、GPIB、TCP/IP等 薪资情况,待遇可谈。QQ:3549663089有意者请联系本
    发表于 06-08 18:48

    礼赞五一 | 平凡的岗位,不平凡的坚守!致敬每个努力奋斗的电子工程师!

    获奖名单如下:电子工程师高赞礼品第一名:陈旭新第二:郭海聪 第三:陈运华 劳动节盖楼奖郭海聪 郭祥峰
    发表于 04-28 10:08