# api期末项目 **Repository Path**: CHYYHC/api-final-project ## Basic Information - **Project Name**: api期末项目 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-23 - **Last Updated**: 2021-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # api期末项目文档 * [api期末项目讲解](https://pan.baidu.com/s/19C60atFPayxMmSI69bYvbw) * 提取码:hzf8 |产品名称:|识图| | :--------: | :--------: | |产品描述:|一个能够识别图片的app| |设计者:|陈航宇| ## MVP加/价值主张宣言 ### 项目标题 **识图---一个智能的图片识别软件** ### 项目简介 #### 1.问题情境 随着生活的节奏不断的变快,人们不满足于语言上的交流,越来越多的图片出现在我们的生活里,有些图片当中的动植物我们叫不出名字,或者一道菜一瓶红酒一个品牌logo我们不认识等等,但是人们不知道怎样搜索出自己想要的答案。往往就不会再去深究图片中的内容,少了一次了解新鲜事物的机会。 #### 2.解决方案 * 主要:运用动物识别、植物识别、果蔬识别、菜品识别、红酒识别、logo识别、货币识别、地标识别、门脸识别等等··· * 辅助:运用组合接口把这些api识别技术串联起来。 #### 3.产品描述 识图是一款能够准确识别并能提供图片上物体的准确信息给用户参考的智能识图app。它可以让用户很方便的了解到图片上自己未知的事物,省去了用户到处查找却无法得到准确信息的苦恼。实现即传即查,方便快捷。 *** ### 一、问题需求 #### 1.[使用情景](https://www.sohu.com/a/21001362_114819)与[用户画像](https://baike.baidu.com/item/%E7%94%A8%E6%88%B7%E7%94%BB%E5%83%8F/22085710?fr=aladdin) * ![用户画像1](/images/用户画像1.png) * ![用户画像2](/images/用户画像2.png) * ![用户画像3](/images/用户画像3.png) #### 2.需求列表 |用户需求|智能加值|使用API|优先级| | :----: | :----: | :----: | :----: | |获取到图片中的综合信息|通过对图片进行识别获取相关信息|图像多主体检测API|一(最重要)| |获取到图片中的多种未知物品信息|通过对图片进行识别获取相关信息|组合接口API|二(最重要)| |快速获取到未知动物的信息|通过对图片进行识别获取相关信息|动物识别API|三(重要)| |快速获取到未知植物的信息|通过对图片进行识别获取相关信息|植物识别API|四(重要)| |快速获取到未知果蔬的信息|通过对图片进行识别获取相关信息|果蔬识别API|五(重要)| |快速获取到未知菜品的信息|通过对图片进行识别获取相关信息|菜品识别API|六(重要)| |快速获取到未知红酒的信息|通过对图片进行识别获取相关信息|红酒识别API|七(重要)| |快速获取到未知货币的信息|通过对图片进行识别获取相关信息|货币识别API|八(重要)| |快速获取到未知logo的信息|通过对图片进行识别获取相关信息|logo识别API|九(重要)| #### 3.需求论证展示利害相关者分析 ##### 3.1.利害相关者分析 识图APP能帮助用户快速的获得图片上未知的信息,同时能帮助一些物品得到推广,变向的帮助一些商品提供宣传,还能帮助野生动物保护协会让大家了解野生动物。 ##### 3.2.API人工智能类型 * **使用的API:**运用动物识别、植物识别、果蔬识别、菜品识别、红酒识别、logo识别、货币识别、地标识别、门脸识别等等··· * **API类型:**弱人工智能型 * **关键影响:**以上API也许不能达到识别图片中的所有物品的识别能力,对一些新鲜事物可能无法识别出来,没法解决用户所有的疑惑。 ##### 3.3.系统性偏差 人工智能API识图可能准确率并非100%,也许存在一些图片识别失误的可能性。用户可以自定义该物品信息,后台会根据用户大数据来调整某些识别错误量较多的物品。 *** ### 二、解决方案:界面流程及关键智能交互 #### 1.[用户体验/旅程分析的基础](http://www.woshipm.com/user-research/1640253.html) ![用户旅程](/images/用户旅程.png) #### 2.设计的用户可欲性 识图APP非常快捷方便,用户只需要把本地图片或者现场拍摄图片上传,识图app便调用相关的API对用户上传的图片自动识别,并响应出相关的信息,用户只需要上传与点击查询即可。 #### 3.设计的技术可行性 利用动物识别、植物识别、果蔬识别、菜品识别、红酒识别、logo识别、货币识别、地标识别、门脸识别等等API接口,轻松的获取到图片内物品的相关信息,准确率在95%以上,基本能满足用户的查询需求。 #### 4.设计的商业可行性 百度AI智能服务提供了一定额度的API调用,也有付费的API调用,这些API接口足以支撑识图APP的运行。 #### 5.[商业模式价值主张画布](https://baijiahao.baidu.com/s?id=1635780923744455073&wfr=spider&for=pc) * ![商业模式画布](/images/商业模式画布.png) * ![价值主张画布](/images/价值主张画布.png) #### 6.界面流程图 ![界面流程图](/images/界面流程图.png) ### 三、数据流程及关键智能API使用 #### 1.数据流程分析和界面流程的匹配 ![界面数据流](/images/界面数据流.png) #### 2.数据流程设计的用户可欲性 通过简单的数据传输一键查询后能快速导出结果,极大的降低了用户查找信息的时间成本。同时APP操作简洁非常方便,用户可直接上手。 #### 3.数据流程设计的技术可行性 获取用户上传的图片数据,将图片数据转化格式编码,之后利用动物识别、植物识别、果蔬识别、菜品识别、红酒识别、logo识别、货币识别、地标识别、门脸识别等等API接口,对格式编码进行解析,把分析结果数据打包发回用户界面,百度AI快速准确的功能为此APP提供了可行性。 #### 4.数据流程设计的商业可行性 用户提交的数据信息,根据协议内容此APP有权利处理,这些识图APP所产生的数据可以成为机器学习的数据包,不仅能加强API的识别能力,提高商业价值,还能卖给同行赚取费用。 #### 5.代码及数据展示加值 ##### 5.1.[百度AI图片识别api](https://cloud.baidu.com/product/imagerecognition) * **接口描述**提供一个API接口,同时调用多个模型服务。支持图像识别的多个接口:通用物体和场景识别、图像单主体检测、动物识别、植物识别、logo识别-检索、果蔬识别、自定义菜品识别-检索、菜品识别、红酒识别、货币识别、地标识别、图像多主体检测等12个模型服务的调用。可通过入参灵活指定需要调用的模型服务,传入图像,返回指定模型的识别结果。 * **请求说明** * HTTP 方法:POST * 请求URL: https://aip.baidubce.com/api/v1/solution/direct/imagerecognition/combination * **请求案例与返回结果** ~~~ 请求案例: { // image 与 imgUrl二选其一 "image": "/9j/4AAQSkZJRgABAQEPMJkR0FdXVridlPy/9k=", "scenes": ["animal","plant","ingredient","dishs", "red_wine","currency","landmark"], "sceneConf": { // 可不填写 "advanced_general": {}, // 可不填写 "animal": { "top_num": "3", "baike_num": "3" } } } 返回结果 { "result": { "plant": { "result": [ { "score": 0.4343205690383911, "name": "非植物" } ], "log_id": 1888121902459717818 }, "animal": { "result": [ { "score": "0.71102", "name": "松鼠猴" }, { "score": "0.0548481", "name": "卷尾猴" }, { "score": "0.0444465", "name": "蜘蛛猴" }, { "score": "0.041044", "name": "金丝猴" }, { "score": "0.0377901", "name": "长尾猴" }, { "score": "0.0176039", "name": "长臂猿" } ], "log_id": 7358927584635575930 } }, "log_id": 15904950726810006 } ~~~ ##### 5.2.[讯飞图片识别api](https://www.xfyun.cn/doc/image/object-recg/API.htm) * **接口描述**物体识别,采用通用物体检测算法,有效检测图像中的动物、交通工具、生活家具等2万多种生活常见物体。该能力是通过HTTP API的方式给开发者提供一个通用的接口,适用于一次性交互数据传输的AI服务场景,块式传输。相较于SDK,API具有轻量、跨语言的特点,不过请注意该接口使用的HTTP API协议不支持跨域。 * **请求说明** * ![讯飞API说明](/images/讯飞API说明.png) * **请求案例与返回结果** ~~~ 请求案例: String APIKey="abcd1234"; String X-CurTime="1502607694"; String X-Param="eyAiYXVmIjogImF1ZGlvL0wxNjtyYXR..."; String X-CheckSum=MD5(apiKey + X-CurTime + X-Param); { "image_name": "img.jpg", "image_url":"" } BASE64编码(即X-Param): eyJlbmdpbmVfdHlwZSI6InNtczE2ayIsImF1ZSI6InJhdyJ9 返回结果: { "code":"0", "data":[ { "label":19015, "labels":[ 19015, 18927, 18929, 698, 5588 ], "name":"img.jpg", "rate":0.10702908039093018, "rates":[ 0.10702908039093018, 0.08567219227552414, 0.0592394582927227, 0.04257886856794357, 0.04108942672610283 ], "review":true, "tag":"Local Image" } ], "desc":"success", "sid":"tup00000005@ch2ee40efd592d6a6b00" } ~~~ #### 6.api比较分析总结 * 百度AI与讯飞相比。其一百度AI的返回结果有很详细的信息与标注,而讯飞只返回了数据,还需要转化数据才能被用户查看。 * 其二,百度AI的图片识别功能识别的物品更广,而讯飞仅有简单的图片检测而已 * 其三,在功能悬殊的基础上百度AI与讯飞的调用价格相仿。 * 综上所述,我选择了百度AI的图片识别api #### 7.数据流程图文展示加值 ![数据流程智能加值](/images/数据流程智能加值.png) #### 8.人工智能概率性考量 * 百度AI提供的图片识别API尽管准确率在95%以上,但许多创新的菜品,新出炉的小众物品等等都无法完备的收录进图片识别里,识别不出某些图片内物品信息再所难免。 * **如何解决:** * 如果用户上传的图片无法被识别,可以反馈记录,只要数据库足够庞大,所有的物品都能被收录进来。 ### 四、心得体会 * 一学期下来,《API、机器学习与人工智能》这节课让我受益匪浅,技术的发展越来越迅速,以前制作一款APP、设计一个网页,都需要好费非常久的时间,经过长期的构思才能推敲出来。而现在一个APP的功能居然可以仅仅调用大公司已经写好的api端口就能实现功能。这是以前不敢想象的,而这门课程教会了我如何使用api,更教会了我如何把api融入到产品当中,让产品的价值有所提升。 * 制作产品的过程中,我们要寻找合适的api与我的产品进行匹配,而在找寻的过程中,有太多的api功能让我选择了,我也因为这样,换了一个又一个思路,改了一个又一个产品方案,最后才发现自己的思维错了,不能因为api种类繁多而去改动自己的产品,而是应该先确定好自己的产品方案,在用户的痛点中寻找某个能解决该痛点的api,从繁杂的api中选取适合的,才能让产品精而不杂。 * 这个产品的制作过程中,我查询了许许多多的信息,得到了许多的帮助,在这里十分感谢:[百度智能云](https://cloud.baidu.com/)、[墨刀](https://modao.cc/)、[ProcessOn](https://www.processon.com/)、[讯飞开放平台](https://www.xfyun.cn/)、[微软api](https://azure.microsoft.com/zh-cn/services/app-service/api/)让我顺利完成了我的产品制作。