点击上方“立即关注
这是码农充电的第一站,回复666,获得专属礼包真爱,请设置星标或点击看
发自 凹非寺本文转自量子位(QbitAI)
一个低调的AI开发者,为什么要登上?B站在首页,一个视频百万播放,外行看了都服气?
硬核纯手工——一台娃娃小电视。
这可能是历史上最核心的娃娃:在纯手工电视上成功播放B站小电视。
假如你认为它只能播放B站视频的开发板 显示屏,那就大错特错了。
这是从零开始制造的AI助手贾维斯。
它不仅可以是语音助手,还可以处理实时图像,甚至可以是语音助手web服务器。。。。。服务器。
up主人和钢铁侠一样,画设计图,手工焊接。就像钢铁侠在山洞里制作第一代战衣一样。
除了芯片,整个小电视几乎都是up自我设计完成。不知道。up当主人看到小电视正常启动时,会有斯塔克冲出山洞的感觉吗。
打造这套娃娃小电视up主稚晖君本名,现在是一名OPPO的AI工程师。
之前稚晖君就在这里B站分享了很多DIY硬件视频,虽然硬核不温不火,直到自制小电视出现,他的作品第一次出现B网站推荐首页,播放量超过100万。
所谓外行看热闹,内行看门道。他的视频在哪里?一位专业网友说:
其实有些事情,外行看起来很牛逼X,但事实上,像我这样的还是很牛逼的X。
从手工画PCB到写C 代码
稚晖君用简短的3分钟视频展示了他制作的B站小电视的全过程。
先在纸上画草图。
没有开发板?没关系,稚晖君自己做。
怎么做电路板?绘制PCB板,求助万能淘宝,找商家印刷制造钢网。
然后给PCB刷上焊锡膏,将芯片、电阻、电容等器件一个个贴上去,热风枪加热完成回流焊。
至于外壳,稚晖君用画小电视的外壳3D模型,用自己的3D打印机制造。
加上购买的液晶面板,完成了小电视的硬件制作。
完成硬件制作只是一个开始,接下来是软件开发环节,让智慧君秃头。
因为这是一套完整的自我设计板,他必须从底层开发软件,包括uboot/kernel配置、设备驱动、应用层App开发、算法模型部署等,都是自己用的C 一行敲出的代码。
在视频过程中,你可以看到代码行迅速通过,但事实上,智慧君熬了几个秃顶的夜晚,甚至重新设计了电路板。
最后,稚晖君安装了小电视。Linux的Xfce桌面环境,如果不介意屏幕太小,连接鼠标操作没问题,可以通过VNC、RDP远程访问。
有了Linux,再把TensorFlow安装,连接相机实现图像识别,或连接麦克风实现语音识别,也可以把小电视作为自己的博客web服务器。
小电视也可以自己播放,实现娃娃视频。
知识体系的知识体系
看到上面的列骚操作,你已经目瞪口呆了吗?
据技术大佬统计,稚晖君掌握的技能有:
电子基础、电子元件选型、电路原理图设计、高速电路PCB设计、电子元件焊接技术、电路板调试、启动程序UBOOT裁剪移植,linux内核切割移植、文件系统、低级驱动程序(C语言,ARM架构汇编,linux内核架构),上层应用程序(C 、Qt、JAVA、Python等,深度学习,机器学习,OpenCV,神经网络,自然语言处理),静态博客服务器搭建,高等数学,线性代数,概率论,离散数学,3D建模,3D印刷、雕刻机、视频拍摄后期制作、防脱发技术。
其中,最难的莫过于最后一项技术。
智慧君也同意,当我们问他整个发展过程中最困难的问题是什么时,他说如何在熬夜学习这么多东西时不脱发。
现在不脱发的技术我们已经掌握了,求求大佬能不能传授一点秘籍。
别担心,稚晖君说以后会出一系列详细的教程,希望大家关注他的空间和最新动态。
还说什么,已经明示投币了,这次一定要三连支持。
软硬件两开花的大佬
最后,让我们隆重认识大佬。
稚晖君毕业于电子科技大学,目前就职于OPPO上海研究院。
他从2015年就开始更新自己的技术博客,笔耕不辍。最初他只是把B站当做自己的视频存储服务器,没想到却收获了一批稳定的粉丝,才开始转型做up主,没想到半年时间就让自己火了。
稚晖君本人可谓硬件软件两开花,当年去面试OPPO的时候拿到了两份Super Special的offer,一个是硬件岗、一个是算法岗。
不过他强调现在在公司并没有同时拿两份工资,只是一名AI算法工程师。
稚晖君还是Arduino中文社区版主,爱好吉他和口琴。
在这次硬核手工火爆后,我们也联系到了稚晖君,他分享了自己的开发经验。
是的,本科是生物医学工程专业,研究生是信息与通信系统专业,所以其实不算CS科班。选择专业的原 因也是各种机缘巧合啦,总之我后来发现生物专业并没有我想象中的有很多女同学哈哈。
CS专业在我看 来和英语一样是一门基础技能,是一门研究“怎么高效地解决问题”的学科,很容易和其他学科交叉结合,所以在我读生物专业的时候,其实就已经开始自己学习计算机了。
EE方面也是同样的情况,因为可 以看到对于像这次这个小电视这样的作品所涉及的专业面,是在高校里的任何一个专业都无法完全覆盖 的;学习的方法有一个分支,叫做 Problem-Based Learning,就是以问题为导向的学习,通过自学寻 找解决问题的方法和问题的答案。
对嵌入式的热爱始于我小时候学会拆家电的那个阶段。大学阶段入门了模数电、单片机、Linux、自控原理之类的课程之后,就开始放飞自我了。
对AI的兴趣的话,是源于深度学习最近一次重新崛起的那几 年,“当你造出了一个会开车的AI司机之后,你就得到了无数个会开车的司机”。这样的想法非常地吸引我。
想做嵌入式开发的话,一定不要只关注自己眼前技术的一亩三分地,否则很难有好果汁吃。去学 RTOS,去学RISC-V,去学异构…永远没有完全准备好的人才,年轻时要边打仗边学习。
知识面一多之后,很难面面俱到,要学会拎清楚重点,剩下的知识只需要在用到的时候会查阅工具 书就行。厉害的工程师不是可以背下来多少语法标准和手册资料,而是在有全局观的同时能有能力 解决核心问题。知识分为两种,一种是你知道的,一种是你知道可以在哪里找到的。
多了解和思考一下嵌入式和前沿领域的交叉点,边缘计算、嵌入式AI、物联网、端云融合等等。
一个人一旦脱离了高级趣味,做各种沙雕项目也就会变得游刃有余了(笑)。我的乐趣就是周末宅在家里折腾这些既没用又有用的东西。
做这个小电视项目的初衷在我之前发的一个视频里有提及,其实就是不满意于目前市面上能买到的小型个人服务器,有一些痛点,所以就打算自己动手造一个。
还有一个原因是,我个人比较喜欢在积累了一定程度的新知识和技能之后,构思一个项目把这些知识都用上并呈现 出来。一方面通过这种方式可以及时巩固学习效果,另一方面“学以致用”是技术发展的永恒归宿。
所以大家可以期待一下,我最近业余也在学习一些机器人高级控制和优化理论,未来可能会有很有意思 的项目作品分享的。
很幸运的一点是,我的兴趣爱好就是我的工作。
我认为的理想工作状态就是:工作是源于自己的意愿, 每天做自己喜欢的事情而积累经验,在适当的压力下积极创新,收获自身成长的同时顺便收获可观的报 酬。简单地说,就是当个人爱好、公司价值、与时代趋势相统一的时候。我认为目前正在朝着这个方向努力,虽然还有很多东西要学习。
我给自己的信条是:十年饮冰,难凉热血。
前面提到了 Problem-Based Learning,以解决问题为导向进行学习,未来是终身学习的时代,不存在大学毕业之后就不学习了。
人工智能也是一样的,它是一种学习的过程,如果你去问有实际工程经验的人工智能专家,他们大都会在谈及算法之前问两个基本问题:
第一、你要解决什么问题;第二、你有没有与这个问题相应的可供学习的数据。
另外,知识是大体相通 的,在不同学科之间的迁移学习可以带来事半功倍的效果,比如软件设计里的高内聚低耦合模块复用理念,也是可以应用到电路设计里面的;比如嵌入式开发的经验在优化深度学习模型推理实现的过程中提供了意想不到的帮助。
传送门
稚晖君的个人主页:http://www.pengzhihui.xyz
稚晖君的B站:https://space.bilibili.com/20259914
作者系网易新闻·网易号“各有态度”签约作者
- END -最近热文• 字节教育大裁员:有员工赔了一套首付款!• 程序员被公司辞退12天,前领导要求回公司讲清楚代码,结果懵了• 超级天才尹希:31岁成哈佛史上最年轻教授,却因国籍引发争议• 美团面试题:hashCode 和对象的内存地址有什么关系?