Microsoft Hackathon 2019 留念
参加今年微软的 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 最大的收获。
世界因为你们才会变得更好。
上天若是不生我们,这世间该是有多无趣啊。
Microsoft Hackathon 2019 留念的更多相关文章
- Microsoft office 2019 正式版镜像下载
http://www.xitongtiandi.net/soft_yy/4373.htmlMicrosoft office 2019 正式版镜像下载 http://www.xitongtiandi.n ...
- Microsoft Word 2019 mac破解版下载
Microsoft Word 2019 Mac版是大名鼎鼎的Office办公软件组件之一,能帮助你进行文字排版,可方便的进行创作项目.作业.信件.博客.剧本.笔记.评论文章或简历. Microsoft ...
- Microsoft Surface 2019新品发布会汇总
Microsoft Surface 2019 新品发布会汇总 10月2日晚,微软举行了Microsoft Surface 2019秋季新品发布会,本次发布会涉及如下设备内容等: SurfaceLapt ...
- office 2019 下载地址
office2019激活密钥 W8W6K-3N7KK-PXB9H-8TD8W-BWTH9 Office2019下载地址: 下载地址 专业增强版(强烈推荐): http://officecdn.m ...
- Word 2019 for mac更新喽!
新的Word2019添加了许多的新功能,提供了新的文档处理方式,如改进的数字笔功能.焦点模式.学习工具和翻译,为用户提供了用于创建专业而优雅的高效文档工具,帮助用户节省时间,并得到优雅美观的结果,有效 ...
- office visio 2019 下载激活
安装 下载 office ed2k://|file|cn_office_professional_plus_2019_x86_x64_dvd_5e5be643.iso|3775004672|1E4FF ...
- 微软SQL Server 2019 全新发布,更新内容亮点都在这里了
IT之家11月7日消息 在Microsoft Ignite 2019 大会上,微软正式发布了新一代数据库产品SQL Server 2019.使用统一的数据平台实现业务转型SQL Server 20 ...
- office project visio 2019
office2019,2016,2013,2010 Visio.Project 各版本下载激活!点我! http://blog.sina.com.cn/s/blog_170abd40a0102yah2 ...
- Office/Visio/Project 2019 专业版iso
一.Microsoft Office 2019专业增强版1.简体中文版Office Professional Plus 2019 (x86 and x64) – DVD (Chinese-Simpli ...
随机推荐
- node.js----一个httpserver提交和解析get参数的例子
前端代码 <!doctype html> <html lang="en"> <head> <meta charset="utf- ...
- 洛谷P1006 传纸条【dp】
题目:https://www.luogu.org/problemnew/show/P1006 题意: 给定一个m*n的矩阵,从(1,1)向下或向右走到(m,n)之后向上或向左走回(1,1),要求路径中 ...
- C# Transaction 事务处理 -环境事务
一.TransactionScope 环境事务 static async Task TransactionScopeAsync() { using (var scope = new Transacti ...
- bcp导入导出sybase、sqlserver数据库数据
常用数据备份格式为: bcp dbname..tablename out c:\temp\filename -Usa -Ppassword -Sservername -c 其中 dbname为数据库名 ...
- Java进阶知识11 Hibernate多对多单向关联(Annotation+XML实现)
1.Annotation 注解版 1.1.应用场景(Student-Teacher):当学生知道有哪些老师教,但是老师不知道自己教哪些学生时,可用单向关联 1.2.创建Teacher类和Student ...
- jQuery系列(九):JS的事件流的概念
1.事件概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件.想要知道这些事件是在 ...
- node中fs内置模块
Node.js内置的fs模块就是文件系统模块,负责读写文件. 和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法. 回顾一下什么是异步方法.因为JavaScript的单线程 ...
- 7.13 T2 Shit 题(shit)
[题目描述] 某一天,小
- Win10+ Clion + 树莓派 + QT进行远程qt程序开发
环境配置 环境配置 Windows上:QT5 + CLion 硬件上:一只可联网.可ssh连接且装有QT5的树莓派 暂时还没想好... 树莓派安装qt sudo apt-get update sudo ...
- 使用 kubeadm 安装 kubernetes v1.16.0
近日通过kubeadm 安装 kubernetes v1.16.0,踩过不少坑,现记录下安装过程. 安装环境: 系 统:CentOS Linux release 7.6 Docke ...