内容简介:随着6月结束,7月开始,最近上海最火的话题是垃圾分类无疑了。。上海人民是每天早晚俩小时定时定点扔垃圾。猪:pig:能吃的是湿垃圾,不能吃的是干垃圾,吃了会死的是有毒垃圾,卖了能买猪:pig:的是可回收垃圾看完是不是要崩溃了?!别担心,本人周末花一下午精心制作的
随着6月结束,7月开始,最近上海最火的话题是垃圾分类无疑了。。上海人民是每天早晚俩小时定时定点扔垃圾。
干湿垃圾要分开,把湿垃圾从垃圾袋里倒进桶里,再把垃圾袋扔进干垃圾桶 :joy:
龙虾 壳是干垃圾,龙虾 肉是湿垃圾,请你分开扔,谢谢:joy:
猪:pig:能吃的是湿垃圾,不能吃的是干垃圾,吃了会死的是有毒垃圾,卖了能买猪:pig:的是可回收垃圾
看完是不是要崩溃了?!别担心,本人周末花一下午精心制作的 看图识垃圾 app,主要依赖 tensorflow coco-ssd 来识别照片中的多物体,然后找了个不知名的api,返回垃圾的分类。例如:
制作过程简述
首先,网上已经有很多可以输入文字查询垃圾分类的网站了,我灵光一闪:要是可以直接通过图像垃圾分类岂不更好。然后找到了tensorflow.js 的官方指南:
<!-- Load TensorFlow.js. This is required to use coco-ssd model. --> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"> </script> <!-- Load the coco-ssd model. --> <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd"> </script> <img id="img" src="cat.jpg"/> <script> // Notice there is no 'import' statement. 'cocoSsd' and 'tf' is // available on the index-page because of the script tag above. const img = document.getElementById('img'); // Load the model. 在浏览器里fetch和加载模型到内存可能要花1分钟以上 cocoSsd.load().then(model => { // detect objects in the image. model.detect(img).then(predictions => { console.log('Predictions: ', predictions); }); }); </script> 复制代码
可见,Google tensorflow 已经把常用的机器学习模型做到开箱即用的水平,非常方便。当然,这个多物体检测的函数返回的是个数组,包含了对象在图中的bbox,而且里面的分类标签都是英文的:
[{ bbox: [x, y, width, height], class: "person", score: 0.8380282521247864 }, { bbox: [x, y, width, height], class: "kite", score: 0.74644153267145157 }] 复制代码
那么问题来了:网上的垃圾分类api 都是要求输入中文的!!我第一时间想到了 Bing Translate API 把英文翻译成中文再去查询分类。所以又去申请了个Azure 的免费账号,还好我有master card,付了一美金才搞定。具体的可以参考最后的官方文档链接
经过一顿折腾,终于搞定,就是识别率很低。毕竟没有专门训练垃圾分类的模型,只是用现成的物体检测模型。
所以有很多搞笑的结果 :joy::
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 原 荐 Qt封装百度人脸识别+图像识别
- 走进AI时代的文档识别技术 之表格图像识别
- 揭秘“图像识别”的工作原理
- REM图像识别市场分析
- 图像识别攻击还没完全解决,语音识别攻击又来了!
- 零基础小白快速打造图像识别模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ruby元编程(第2版)
[意] Paolo Perrotta / 廖志刚 / 华中科技大学出版社 / 2015-8-1 / 68.80
《Ruby元编程(第2版)》在大量剖析实例代码的基础上循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby类库的实现细节,作者不仅向读者展示了元编程的优势及其解决问题的方式,更详细列出33种发挥其优势的编程技巧。本书堪称动态语言设计模式。Ruby之父松本行弘作序推荐。一起来看看 《Ruby元编程(第2版)》 这本书的介绍吧!