参加今年微软的 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 留念的更多相关文章

  1. Microsoft office 2019 正式版镜像下载

    http://www.xitongtiandi.net/soft_yy/4373.htmlMicrosoft office 2019 正式版镜像下载 http://www.xitongtiandi.n ...

  2. Microsoft Word 2019 mac破解版下载

    Microsoft Word 2019 Mac版是大名鼎鼎的Office办公软件组件之一,能帮助你进行文字排版,可方便的进行创作项目.作业.信件.博客.剧本.笔记.评论文章或简历. Microsoft ...

  3. Microsoft Surface 2019新品发布会汇总

    Microsoft Surface 2019 新品发布会汇总 10月2日晚,微软举行了Microsoft Surface 2019秋季新品发布会,本次发布会涉及如下设备内容等: SurfaceLapt ...

  4. office 2019 下载地址

    office2019激活密钥 W8W6K-3N7KK-PXB9H-8TD8W-BWTH9    Office2019下载地址: 下载地址 专业增强版(强烈推荐): http://officecdn.m ...

  5. Word 2019 for mac更新喽!

    新的Word2019添加了许多的新功能,提供了新的文档处理方式,如改进的数字笔功能.焦点模式.学习工具和翻译,为用户提供了用于创建专业而优雅的高效文档工具,帮助用户节省时间,并得到优雅美观的结果,有效 ...

  6. office visio 2019 下载激活

    安装 下载 office ed2k://|file|cn_office_professional_plus_2019_x86_x64_dvd_5e5be643.iso|3775004672|1E4FF ...

  7. 微软SQL Server 2019 全新发布,更新内容亮点都在这里了

    IT之家11月7日消息 在Microsoft   Ignite 2019 大会上,微软正式发布了新一代数据库产品SQL Server 2019.使用统一的数据平台实现业务转型SQL Server 20 ...

  8. office project visio 2019

    office2019,2016,2013,2010 Visio.Project 各版本下载激活!点我! http://blog.sina.com.cn/s/blog_170abd40a0102yah2 ...

  9. Office/Visio/Project 2019 专业版iso

    一.Microsoft Office 2019专业增强版1.简体中文版Office Professional Plus 2019 (x86 and x64) – DVD (Chinese-Simpli ...

随机推荐

  1. 乱搞 - LCT求LCA

    神犇学弟说LCA要用LCT求,于是我就听他的话写了一个LCT~ Code: #include <bits/stdc++.h> #define N 500005 #define lson t ...

  2. 小程序弹框wx.showModal、wx.showActionSheet、wx.showToast

    wx.showModal wx.showModal({ title: '删除图片', content: '确定要删除该图片?', showCancel: true,//是否显示取消按钮 cancelT ...

  3. 【CUDA 基础】6.2 并发内核执行

    title: [CUDA 基础]6.2 并发内核执行 categories: - CUDA - Freshman tags: - 流 - 事件 - 深度优先 - 广度优先 - 硬件工作队列 - 默认流 ...

  4. TextRCNN 文本分类 阅读笔记

    TextRCNN 文本分类 阅读笔记 论文:recurrent convolutional neural networks for text classification 代码(tensorflow) ...

  5. IntelliJ IDEA 2017.3 多模块右边栏 maven projects,maven项目命名问题

    我新建了一个maven web 模块,命名为cloud-access,可是install的时候,名字突然变为cloud-access Maven Webapp了,我就纳闷了,怎么回事.找了很久没发现原 ...

  6. gradle添加阿里云maven库

    用gradle构建spring项目,才发现gradle要添加阿里云maven库和maven不太一样 链接:https://www.cnblogs.com/SiriYang/p/10638365.htm ...

  7. Nginx-HTTP之静态网页访问流程分析一

    假设访问静态网页的配置如下: worker_processes 1; error_log stderr debug; daemon off; master_process on; events { w ...

  8. postgresql获取表最后更新时间(通过触发器将时间写入另外一张表)

    通过触发器方式获取表最后更新时间,并将时间信息写入到另外一张表 一.创建测试表和表记录更新时间表 CREATE TABLE weather( city varchar(80), temp_lo int ...

  9. pytorch-Resnet网络

    残差网络:将输入层与输出层进行连接,保证了经过这层网路结构,网络的运算能力不会出现较大的改变 网络解析: 第一层网络: 输入网络经过一个卷积层,再经过一个batch_normalize, 再经过一个r ...

  10. linux下如何查看某个容器的详细信息?

    答: 使用docker inspect <CONTAINER ID>即可