Microsoft Hackathon 2019 留念
Editor's Note
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 · 编程开发 · 业界资讯