# API_finalproject **Repository Path**: lian_dan_qi/api_finalproject ## Basic Information - **Project Name**: API_finalproject - **Description**: 原创--零垃圾PRD文档--一款快速查询垃圾种类,帮大家解决垃圾分类难题的APP - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-24 - **Last Updated**: 2022-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # API_finalproject --- 文档名称 | Zero Waste零垃圾——产品需求文档 ---|--- 产品名称 | Zero Waste零垃圾 产品描述 | 一款快速查询垃圾种类,帮大家解决垃圾分类难题的APP 版本 | 1.0.0 作者 | 连丹琪 ## MVP加/价值主张宣言 ### 1. 问题情景: - 在国家大力倡导可持续发展战略的同时,部分城市的垃圾分类也在如火如荼地进行着。可我国人民对于垃圾分类回收意识淡薄,缺乏一定的系统性知识再加上政府对垃圾分类处理方面的问题没有进行大力宣传,导致各式各样的垃圾桶摆在我们眼前时却不知道该如何投放的尴尬问题。 ### 2. 解决方案: - 主要:利用了京东智联云服务垃圾分类中**图像识别,语音识别,搜索识别**的api,解决人们不知道垃圾该投放问题的尴尬,同时图像识别功能更为方便。 - 辅助:关于“零垃圾”知识文章的科普,实现零垃圾的生活方式的第一步首先从垃圾分类做起。鼓励大家积极实施垃圾分类,保护环境,落实国家可持续发展战略。 ### 3. 价值主张宣言: - **垃圾分类,人人有责!**“A Zero Waste Lifestyle零垃圾生活”是21世纪兴起的环保生活方式,包括了“循环利用”,但又超越了循环利用。通过从源头减少垃圾的产生,最大限度地减少浪费,减少消耗,并确保产品被重复使用并合理回收。垃圾分类还响应了**ESG中的E&S**,分别是环境Environment和社会责任Social Responsibility。 ### 4. 解决方案说明(融合概率性考量): 问题(以人为中心) | 解决方案(人工智能概率性考量) --- | --- 普通人投放垃圾不知如何分类 | 可用三种API,其中搜索识别支持通过文字查询四千余种垃圾分类,并提供相应的投放建议 部分老龄不会打字说普通话的情况 | 选择拍照识别功能的api,识别图像内主体是什么,并提供对应的垃圾分类。可理解致亿种物体,并反馈分类建议 ## 问题需求 ### 1. **用户画像及使用情景** ![用户画像](images/用户画像.jpg ) ### 2. **需求列表/展示API智能加值/利害相关者分析** 用户案例 | 智能加值 | 使用api | 优先级 --- | --- | --- | --- 用户通过搜索识别来认识垃圾投放种类 | 通过对垃圾进行搜索并给出相应的分类及处理意见 | 搜索识别api | A 小孩通过语音识别来投放垃圾 | 通过对音频分析进行识别并给出相应的分类及处理意见 | 语音识别api | B 老奶奶通过拍照识别来投放垃圾 | 通过对垃圾进行拍照识别并给出相应的分类及处理意见 | 图片识别api | C ### 3. **利害相关者分析** - 用户在使用了Zero Waste零垃圾后,能快速识别垃圾类别,并有相应的投放建议;能对垃圾分类有更全面的了解并从中了解到一种新的生活方式,激发用户的社会责任感,落实绿色生活,提升生活幸福感。 - **ESG考量**:养成垃圾分类的好习惯,是为保护环境踏出重要一步。既能省下土地,减少填埋或焚烧所产生的污染,并能变废为宝。环保意识日益受到重视,提升社会责任感。 - **系统性偏差**:图片识别功能难免比语音识别功能准确性低,语音识别功能准确性难免比搜索功能的低 - **使用的人工智能的API**:语音识别,图片识别还有搜索功能识别都是弱人工智能的类型。弱人工智能创建于1980年,观点认为不可能制造出能真正地推理(Reasoning)和解决问题(Problem_solving)的智能机器,这些机器只不过看起来像是智能的,但是并不真正拥有智能,也不会有自主意识。 ## 解决方案:界面流程及关键智能交互 ### 1. Zero Waste零垃圾[交互原型图](https://modao.cc/app/bdafca03989d44512105b98cb31bf565e875962c?simulator_type=device&sticky), ps:设备设备大小已调整为为iPhone12 ### 2. 界面设计: ![界面设计](images/界面设计图.jpg) ### 3. [用户旅程图](http://www.woshipm.com/user-research/2537855.html): ![用户体验](images/用户流程体验图.jpg) ### 4. 界面设计用户的可欲性: 界面干净简洁,图标简洁明了,便于操作;科普文章栏目可以激发用户的环保意识。 ### 5. 界面设计的技术可行性: app采用了三个入口的API调用对垃圾进行识别 ### 6. 界面设计的商业可行性: 我国是一个人口大国制造业非常发达,但同时也生产了许多垃圾,从2020年《中国ESG发展白皮书》的发布我们可以看出环境保护的重要性及未来的投资潜力。 ### 7. 加值输入/输出细节 ![加值细节](images/输入输出细节图.jpg) ## 解决方案:数据流程及关键智能API使用 ### 1. 界面流程图 ![界面流程图](images/界面流程图.png) ### 2. 数据流程的用户可欲性: 在垃圾分类的使用中不断掌握更多新的垃圾分类知识。 ### 3. 数据流程的技术可行性: 在用户利用该平台进行垃圾分类时,用到的智能API是京东人工智能开放平台。 ### 4. 数据流程的商业可行性: 通过用户反馈的数据不断优化,使垃圾分类更加准确。 ### 5. 代码及数据展示加值 调用API代码文档参考——[学习链接](https://aidoc.jd.com/image/garbageClassification.html) #### 图像识别 1. 接口描述 通过图片进行垃圾分类查询的能力 2. 接口数据要求: 图片格式:base64编码 图片大小:小于2M 图片base64不能为空 图片像素尺寸:最小30x30像素,最大4096x4096 像素 图片长宽比:3:1以内 3. 接口地址 :https://aiapi.jd.com/jdai/garbageImageSearch 4. 请求方式:post IN: ```python #导入必要条件 import wx_sdk url = 'https://aiapi.jd.com/jdai/garbageImageSearch' timestamp = '1611452316053' sign = '79bac06419ff787301017c79a9d2d019' #body中的内容 bodyStr = { 'cityId' : '440300', 'imgBase64' : '', }#由于编码过长的原因此处省略 params = { 'appkey' : '6e9a89c20fad7e415c7fb60390ffaac0', 'secretkey' : 'c635186534af4a094ca74998d5c0f77e' } response = wx_sdk.wx_post_req( url, params, bodyStr=bodyStr ) print( response.text ) ``` OUT: ```python Status Code: 200 Time:1190ms Date:Sun 24 Jan 2021 13:32:53 GMT Body: { "code": "10000", "charge": true, "remain": 485, "remainTimes": 485, "remainSeconds": 31490337, "msg": "查询成功,扣费", "result": { "status": 0, "message": "success", "garbage_info": [ { "cate_name":"干垃圾", "city_id":"310000", "city_name":"上海市", "confidence":0.8519531542224575, "garbage_name":"浴室用品", "ps":"投放建议:投入干垃圾收集容器,并保持周围环境整洁。" } ] } } ``` #### 语音识别 1. 接口描述 提供通过语音进行垃圾分类查询的能力 2. 接口数据要求: 目前⽀持的音频格式为:wav、mp3、amr 音频采样率为:16KHz 音频通道数:单通道 一次请求的音频最大时长:60秒 3.接口地址 :https://aiapi.jd.com/jdai/garbageVoiceSearch 4. 请求方式:post IN: ```python import wx_sdk url = 'https://aiapi.jd.com/jdai/garbageVoiceSearch' params = { 'cityId' : '310000', 'property' : '{"autoend":false,"encode":{"channel":1,"format":"wav","sample_rate":16000,"post_process":0},"platform":"Linux","version":"0.0.0.1"}', 'appkey' : '6e9a89c20fad7e415c7fb60390ffaac0', 'secretkey' : 'c635186534af4a094ca74998d5c0f77e' } response = wx_sdk.wx_post_req( url, params ) print( response.text ) ``` OUT: ```python Status Code: 200 Time:509ms Date:Sun 24 Jan 2021 13:40:07 GMT Body: { "code":"10000", "charge":true, "remain":484, "remainTimes":484, "remainSeconds":31489903, "msg": "查询成功,扣费", "result": { "status": 4301, "message": "voice data is empty" } } ``` #### 文本识别 1. 接口描述 提供通过文本进行垃圾分类查询的能力 2. 接口数据要求: utf8文本 3. 接口地址 : https://aiapi.jd.com/jdai/garbageTextSearch 4. 请求方式:post IN: ```python import wx_sdk url = 'https://aiapi.jd.com/jdai/garbageTextSearch' bodyStr = '{ "cityId":310000, "text":"剩饭" }' #body中的内容 params = { 'appkey' : '6e9a89c20fad7e415c7fb60390ffaac0', 'secretkey' : 'c635186534af4a094ca74998d5c0f77e' } response = wx_sdk.wx_post_req( url, params, bodyStr=bodyStr ) print( response.text ) ``` OUT: ```python Status Code: 200 Time:328ms Date:Sun 24 Jan 2021 02:08:15 GMT Body: { "code": "10000", "charge": true, "remain": 490, "remainTimes": 490, "remainSeconds": 31531415, "msg":"查询成功,扣费", "result": { "status": 0, "message": "success", "garbage_info": [ { "cate_name": "湿垃圾", "city_id": "310000", "city_name": "上海市", "confidence": 1, "garbage_name": "剩饭", "ps": "湿垃圾应从生产时就与其他品种垃圾分开收集。投放前尽量沥干水分,有外包装的应去除外包装投放" } ] } } ``` ### 6. [数据流程图文](https://www.imooc.com/article/293722?block_id=tuijian_wz)展示加值 ![数据流程](images/数据流程图.png) ### 7. 人工智能概率性考量 平台 | 功能 | 分析 ---- | ---- | ---- 腾讯云 | [基本垃圾分类](https://cloud.tencent.com/search/%E5%9E%83%E5%9C%BE%E5%88%86%E7%B1%BB/1_1) |该API功能里,提供通过文本或图片或语音进行垃圾分类查询的能力。用户可选择通过传入单个垃圾名称进行文本形式的查询,也可通过传入图片进行图片形式的查询,也可以传入语音进行语音形式的查询。 阿里云 | [关键字/图像垃圾分类](https://market.aliyun.com/products/57126001/cmapi00035673.html?spm=5176.2020520132.101.8.478b7218v952PF#sku=yuncode2967300001) |该API功能,可进行(垃圾分类/可回收垃圾分类识别/垃圾分类回收/智能垃圾分类回收识别 【按关键字识别】)而且享有5000次的免费调用额度。 天行数据 | [热搜垃圾分类](https://www.tianapi.com/apiview/107#apiprice) | 该接口返回垃圾分类接口每天的前100个热门搜索词,该数据实时更新。其中type表示垃圾分类类型,0为可回收、1为有害、2为厨余(湿)、3为其他(干)。index为搜索指数,数字越大表示热度越高,排序也越靠前。该搜索热度数据来自天行数据文字版垃圾分类接口。测试资源和示例项目代码垃圾分类多功能演示代码和素材包 ## 心得总结及感谢 :fa-check-circle: - 学习心得: 这次的作业让我系统性的学习了如何去写一个产品需求文档以及专业术语的应用,这个过程并没有我想象中的简单,它需要无数次迭代和足够的耐心,并不是短期内能够完成的。在编写PRD的过程中调用API只是一小部分,产品的结构,数据是如何流动的,是否具有人文关怀以及商业价值等等很多因素都是需要我们去考量的,需要我们对自己的产品有个系统性的思考并且了解它的书写规范。由于时间因素我的文档还不够精美及专业,在未来足够多的时间里我会继续迭代此文档的。 - 感谢: 感谢许智超老师对于这门课程的辛苦付出,感谢网新师兄师姐留下的优秀作业以供我们参考和[“人人都是产品经理”](http://www.woshipm.com/)中专业PRD文档写作示范,画原型图灵感来源的[网站](https://www.bigbigwork.com/behance.html)以及墨刀,process on,Ai等十分方便我们绘制完善文档的优秀产品,还有调用此垃圾分类功能的[NeuHub京东人工智能开放平台](http://neuhub.jd.com/)。最后感谢同学的耐心观看,谢谢! :fa-thumbs-o-up: --- - 独特非重复有效外连URL:10个 - 高水平原创图表:6张产品原型图+3张展示图+3张流程表 --- [投影片讲解](https://www.bilibili.com/video/BV1Fr4y1K7Rt) [交互原型](https://modao.cc/app/bdafca03989d44512105b98cb31bf565e875962c?simulator_type=device&sticky#screen=skkapv2n5l3mp43)