13年前端站长:3周从零交付计算机视觉建站系统
|
去年寒假那会儿,车间里风扇转得跟抽风似的,我蹲在铁架前拆个老式工控机——油封漏了,机油糊了半块主板,手机在铁台上震了三次都没听见。手套上那块硬掉的胶是上周焊电路板时蹭的,修到一半老张抖着腿凑过来:“听说你接了个计算机视觉的活儿?三周从零搭站?这他妈比给核电站写HMI还疯。” 我原以为他是来吐槽的,结果他甩给我张截图——甲方给的API文档,PDF里连“YOLOv5”都拼错了。老张叼着烟冷笑:“这帮人连OpenCV和TensorFlow都分不清,就敢要实时目标检测?我敢打包票,他们连训练集都没标全。”
文章配图,仅供参考 那天中午盒饭里有块姜,辣得我灌了半瓶可乐。下午甲方突然发消息,说要把识别范围从“人/车”扩展到“戴安全帽的人/逆行的车/违规停放的电动车”。我盯着屏幕上的需求文档,手指在键盘上悬了五分钟——这他妈哪是建站,这是要造个交警指挥中心。老毛病变本加厉了。三周前我答应接这活儿时,以为最多套个现成的CV框架,改改前端样式。结果甲方给的摄像头是海康的,协议是私有化的;模型要部署在边缘计算盒子上,算力比树莓派强不了多少;最绝的是他们要求“实时识别+弹窗报警+数据统计”,所有功能得塞进一个企业站里,还得兼容IE11。 我蹲在机房里调摄像头参数,旁边小李把扳手掉地上,闷响惊得我手一抖,IP地址输错一位。海康的SDK文档写得跟天书似的,我翻到“RTSP流配置”那页,发现他们居然用“rtsp://admin:12345@192.168.1.64:554/Streaming/Channels/101?transportmode=unicast”这种硬编码——这要是摄像头密码改了,整个系统得重写。 第三天晚上,我盯着电脑屏幕上的“Loading…”转圈,突然想起老张说的那句话:“这帮人连训练集都没标全。”我翻出甲方给的样本图,放大一看——戴安全帽的人像里,有三分之一的帽子是P上去的,边缘模糊得跟马赛克似的。我打电话给对接人:“你们这数据质量,模型能跑出50%准确率都算烧高香。”对方沉默了三秒:“我们领导说,先上线,后面再优化。” 这个型号我只在别人那儿见过——边缘计算盒子是华为的,但里面跑的是自研的OS,连`pip install`都用不了。我蹲在机房地上,用U盘拷贝预训练模型,突然发现盒子上的USB口是2.0的,1GB的模型文件传了二十分钟。小李凑过来:“要不直接把模型塞进前端?用TensorFlow.js跑?”我白了他一眼:“IE11连ES6都不支持,你指望它跑TF.js?” 其实我也没拆到底。第七天,我勉强把摄像头流接上了,模型在本地能跑,但部署到边缘盒子上就报错——内存溢出。我翻日志,发现华为的OS把`torch`的某些函数禁了,说是“安全风险”。我打电话给华为技术支持,对方让我“升级系统版本”,结果升级后,盒子直接变砖,连SSH都连不上。 那晚我蹲在车间门口抽烟,老张拎着两瓶啤酒过来:“怎么样?搞不定了吧?”我灌了口酒:“妈的,这活儿要是能三周交付,我直播吃键盘。”他拍了拍我肩膀:“优胜劣汰嘛,甲方要快,你就得比他们更疯。” 第十天,我换了种思路——不用Python,改用C++写推理脚本,直接调用华为的NPU接口。小李在旁边抖腿:“这能行吗?C++写前端?”我头也不抬:“谁说是前端?我把推理结果通过WebSocket传给后端,前端只负责显示。”修完我自己都没底——NPU的文档写得比海康的还烂,很多函数连返回值都没说明。 第十五天,系统终于能跑了,但准确率只有40%。甲方领导视察时,我指着屏幕上的误检结果:“你看,这电动车被识别成逆行的车,其实是因为摄像头角度歪了。”领导点点头:“没事,先上线,后面再优化。” 第二十天,我熬了三个通宵,把前端从Vue2换成React,因为Vue的虚拟DOM在IE11上卡得像PPT。小李在旁边焊电路板,焊锡丝掉在我键盘上,我捡起来继续敲——反正这键盘也快报废了。 第二十三天,系统交付了。甲方很满意,说“比预期快了一周”。我盯着屏幕上的“识别成功”弹窗,突然想起老张说的“优胜劣汰”——这活儿要是换个人,可能得拖到寒假结束。但这个我说不准,要看运气——比如摄像头别突然掉线,边缘盒子别又变砖,甲方别又提新需求。 今天车间里风扇还在响,我摸出手机看了眼时间——下午三点,该去修那台漏油的工控机了。手套上的胶还是硬的,盒饭里的姜,我这次直接挑了出来。 (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


边缘智算驱动高效创意推荐,赋能前端极致体验
前端老兵13年实战:技术跨界与资源整合创业手记
前端老兵20年实战:跨界融合与资源整合创业手记
站长速递:前端视角下的跨界融合与资源提效
站长合规风控新策:跨界融合下的前端架构之道


浙公网安备 33038102330457号