查看原文
其他

Microsoft Hackathon 2019 留念

玩转VS Code 2022-11-28

Editor's Note

组里曾经的 intern 的文章~ 当时一起参加了 Microsoft Hackathon 2019

The following article is from 凝神长老和他的朋友们 Author jxtxzzw

参加今年微软的 Hackathon 是 2019 年 7 月份的事情,但是后来各种各样的事情,考托、考G、网申……就给耽搁了。我本来以为自己的记忆力足够好,几个月以后也能写很多东西,然鹅……现在发现好像已经忘得差不多了,只能凭记忆写写大致的感受……
(小声:不过好在当时拍的照片够多,就用图片凑字数吧~~


为什么要参加 Hackathon?

  • 可以见识很多大佬,结交有趣的小伙伴(×)

  • 有思维的碰撞,能增长见识、拓宽眼界(×)

  • 锻炼代码能力,能做出有实用价值的产品(×)

  • 可以吃到很多免费的零食(√)

  • 可以拿到一件免费的衣服(√)

  • 可以拿到很多免费的贴纸(√)

于是……

贴纸[1/1]任务完成

衣服[1/1]任务完成



零食[3/3]任务完成

正文结束。

以下是花絮。

今年7月份的时候上海说要垃圾分类,于是大家觉得用这个东西来做 Hackathon 可以蹭一波热点,完美提供了破思路和应用价值,就有很多 FTE 不约而同立项,后来在韩老师的牵头下,几个小组合并,组成了一个大组,叫做 Intelligent Garbage Classification。

顾名思义,这个项目主要就是智能垃圾分类。我是 7 月 1 日开始实习的,大概一两周之后才开始加入这个组,那时微信小程序端已经做得差不多了,而韩老师他们想 toB 和 toC 两个方案都做,toC 就是一个微信小程序,toB 的话想做一个不依赖网络的、部署在 Edge 设备上的模型。恰巧我所在的组是与 Azure IoT 相关的,韩老师那里也有树莓派等设备,就让我先尝试。

微信小程序端我没有参与,所以说不来太多,只能偷点 PPT 来说一说。主要的卖点是我们支持一次识别多个物体,而且准确率超高。


别的小程序识别率不够高


我们的小程序支持一次识别多个物体

而 toB 项目是我全程参与的,从模型的训练,到 IoT Edge Runtime 的部署,再到树莓派展示线路板的搭建和 LED 小灯控制程序,很多内容都是我亲力亲为的,所以了解的非常清楚。

模型是利用 Microsoft Custom Vision 来训练的,它原生支持导出成树莓派上能运行的模型代码。之后利用一个摄像头拍摄一张照片,并作为输入给模型,模型输出分类后的结果,树莓派根据结果亮灯。

一开始就很劝退啊,各种迷之不能运行,就连微软内部都查不到可以查的文档……

终于好不容易运行起来了,也能成功拍照了,但是也不知是摄像头的性能不行,还是我手上这块树莓派的存储不行了,拍照的速度远远低于预期,并不是秒拍……

算了,能用就行。

由于这个边缘设备是不联网的,这意味着当模型下载到本地的时候,可以放在垃圾桶边上,或者别的地方,实现离线运作。

但是同时由于 Azure IoT Service 的存在,如果需要更新模型数据,只需要将设备联网,就可以实现 OTA 更新。

韩老师帮我翻箱倒柜,找到了可能也许大概是全微软最稀缺的:面包板、杜邦线、小灯……

我搞了一个展示用的电路逻辑。

最终 demo 的效果是:垃圾放在摄像头前面,摄像头拍照,输入给模型,模型返回结果,查表得垃圾分类,亮起对应小灯。

更一般地,在实际应用中,甚至可以改造成,查表得到垃圾分类,对应垃圾桶的盖子自动打开,或者,分拣传送带自动导向指向对应方向……

这个项目的代码已经在开源在 GitHub:https://github.com/jxtxzzw/Microsoft-Hackathon-2019-Intelligent-Garbage-Classification-IoT-Edge-Solution

演示视频和 PPT 也已经上传了。

可(给)以(个)自(star)取(吧)。

我们组最终获得了 The Most Impactful Award。

我也不转正,什么转正筹码,对我来说也没有意义。

不过,主线任务(衣服、零食、贴纸)已经完成了,附带了一个彩蛋就是韩老师请大家吃了一顿很好吃的午饭~~,支线任务就没人 care 了。



但是要说 Hackathon 有什么收获,其实最大的收获就是,真的是大家都在利用自己的能力帮助这个世界上千千万万的人。

视频中说的“团圆系统”已经成为一个美谈,除此而外,我看到了:为了解决“卫生间总是人满,上个卫生间要跑好几楼找哪里有空”这个问题的的厕所预约程序;我看到了为了解决广西贫困地区养鸡问题的智能手机APP;我看到了关于优化餐厅就餐问题的;我看到了关于旧物交换的……

另外有一点感触也特别深,就是在养鸡那组的 leader 那里,我听到他说,他们希望程序越简单越好,本来以为,就输入每天鸡生了几个蛋,输入一个数字,就会根据传感器收集的温湿度信息判断一大串的信息,比如是不是有很多鸡得病了……但是,就是简单到这个程度,对于广西那边有些农民,也是难于上青天,就连让他输入几个数字都做不到。leader 说,他发现有些农民,不要说是小程序了,他理解不了小程序的概念的,只能做成一个 Bot,其实是机器人在回复,但是他以为是他微信联系人里面的一个真人,在回复,如果做成小程序,他们可能真的用不了。leader 说,就连输入一个数字,都很难,他看到输入框,不知道要手在屏幕上点一下,才能 focus 到下一个 Input box……

那时候我就想起了当时翁凯老师有吐槽过的一句话“有些我们习以为常的事情,在很多人眼中是天方夜谭”,翁凯老师贴了一张图,是他的学生问他的。翁老师在课堂用 Eclipse 做 Java 语言编程课的 demo,用的是 编程字体,有一个 return 0。翁老师的字体下,0 中间有一个斜线。课下,很多学生发信息问他,老师,请问θ(theta)怎么打,老师,为什么我的θ没有变颜色……

我又想起了之前看到 Fenng 大说过的一句话:怎样算是「用户体验」良好?就是你做的事情必须为对方考虑,而且,你的确考虑到了。有的时候,我们把为对方考虑这种行为,也叫做同理心。

可能这个才是我这次 Hackathon 最大的收获。

世界因为你们才会变得更好。

上天若是不生我们,这世间该是有多无趣啊。



◆ ◆ ◆ ◆ ◆

推荐阅读:


玩转VS Code

VS Code · 编程开发 · 业界资讯

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存