# API期末 **Repository Path**: chyszds/end_of_api ## 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**: 1 - **Forks**: 0 - **Created**: 2020-07-17 - **Last Updated**: 2024-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 以API驱动之智能产品App-懂你app * 懂你app针对网络上的用户需要diy自己的表情包(例如:真人,动漫,抽象,动物之类)提供帮助。通过用户的手机摄像头拍摄,采集用户的人脸表情,再根据其动态的细节检测识别,然后从数据库中的各种表情包对比,生成自己专属的表情包。人脸与姿态识别的api技术都已经比较成熟,精度较高。同时还能使用人脸3D虚拟形象生成,能够让用户快速的,低成本的构建与自己相似度高的虚拟3D形象,让用户有更多的选择权,将diy上升到一个新的台阶。 ## 表情包生成和需求列表 * 大多数表情包都是比较单一、简单的扣图加字的形式,缺少新意,不能够有针对性的提供用户想要的表情包。 ### 教学质量评估 1. 目标用户:10-35岁的网友 2. 用户使用场景:需要对社交有需求的时候。 3. 需求: * 简单的表达自己的情绪 * 斗图 4. 痛点: * 简单的合成图质量不高 * 复杂的方法花费时间和金钱多 5. 增长点: * 多维度分析,精度高 * 针对性强,易分析 ### 用户画像 .用户使用场景及画像:小林是一 名高中学生,平时在群里聊天,想利用自己的颜 值获得大家的赞美和女同学的爱慕,但又苦恼只用自己的照片很难办到。于是他 用了懂你app,他拍照上传自己的照片,然后获得了自己独特的表情包,这样就可 以快乐的进行社交。 小陈是一个大学生,除了学习以为最喜欢折磨人。他想不到折磨人的新方法了, 于是用了懂你ap搞了自己系列的折磨王表情包,专门用来打游戏时输了恶心队 友,然后自己就会很快乐。 ![利益相关者图](https://images.gitee.com/uploads/images/2020/0718/002848_d17582e4_2230586.png "MQW[~56BZX1C]3K@622`QBT.png") ### 需求列表 | 优先级 | 需求 | 智能加值 | API类型 | |---|---|---|---| | 1 | 表达心情 | 是 | 人脸与姿态识别 | | 2 | 大规模斗图 | 是 | 人脸与姿态识别 | ## 分析用户表情细节生成图片 * 基于摄像头采集的图像信息,识别用户的脸部表情细节,从数据库获得数据,为用户提供多种多样的表情包类型。 | 商业可行性 | 现有的表情包制作软件较多,但是操作难度和生成质量不太行 | |---|---| | **技术可行性** | 使用的api技术多为底层技术,已广泛使用,精度高 | | **用户可欲性** | 能够有针对性提供个人diy表情包 | ### 界面流程及关键智能交互 ![界面流程图](https://images.gitee.com/uploads/images/2020/0718/004323_eda34b1c_2230586.png "001.png") * “懂你”app是针对用户需要diy表情包时提供帮助的软件。 ![图片](https://images.gitee.com/uploads/images/2020/0718/011754_a3d6f81d_2230586.png "002.png") ![图片](https://images.gitee.com/uploads/images/2020/0718/011633_f55aaaae_2230586.png "111.png") ### 数据流程及关键智能API使用 ![数据图](https://images.gitee.com/uploads/images/2020/0718/012704_0ee165ee_2230586.png "005.png") #### API 测试之代码 需要先获取获取access_token等参数信息,[此为参考文档](https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu) 1. 人脸识别api测试代码 ``` request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token=" BASE_URL = request_url + access_token img_url = 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=3422661397,1848998150&fm=11&gp=0.jpg' headers = { 'Content-Type': 'application/json', } payload = {"image":img_url, "image_type":"URL", "face_field":"gender,age,emotion", "max_face_num":"10"} r = requests.post(BASE_URL, params=payload, headers=headers) results = r.json() results ``` 测试结果 ``` { "face_num": 1, "face_list": [ { "face_token": "35235asfas21421fakghktyfdgh68bio", "location": { "left": 117, "top": 131, "width": 172, "height": 170, "rotation": 4 }, "face_probability": 1, "angle" :{ "yaw" : -0.34859421849251 "pitch" 1.9135693311691 "roll" :2.3033397197723 } "landmark": [ { "x": 161.74819946289, "y": 163.30244445801 }, ... ], "landmark72": [ { "x": 115.86531066895, "y": 170.0546875 }, ... ], "age": 29.298097610474, "beauty": 55.128883361816, "expression": { "type": "smile", "probability" : 0.5543018579483 }, "gender": { "type": "male", "probability": 0.99979132413864 }, "glasses": { "type": "sun", "probability": 0.99999964237213 }, "race": { "type": "yellow", "probability": 0.99999976158142 }, "face_shape": { "type": "triangle", "probability": 0.5543018579483 } "quality": { "occlusion": { "left_eye": 0, "right_eye": 0, "nose": 0, "mouth": 0, "left_cheek": 0.0064102564938366, "right_cheek": 0.0057411273010075, "chin": 0 }, "blur": 1.1886881756684e-10, "illumination": 141, "completeness": 1 } } ] } ``` 1. **识别定位** 检测图片中的人脸并标记出人脸坐标,支持同时识别多张人脸; 2. **人脸属性信息** 准确识别多种人脸属性信息,包括年龄、性别、颜值、表情、情绪、脸型、头部姿态、是否闭眼、是否配戴眼镜、人脸质量信息及类型等; 3. **表情包生成** 分析检测到的人脸的情绪,从数据库对比后,输出最终结果并提供用户修改的机会,提供模板。 ## 学习/实践心得总结及感谢 ### 心得总结 * 在以API驱动的智能产品App设计中,我认为最重要的就是不能将API当成魔法,无所不能。我们要对API技术有一个清楚的认知,以人为本,有针对性的看待目标用户及需求。API是接口,是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数。再就是产品设计首先要具体,不要太过于宽泛,大多数成功的产品都是一步步迭代完善的,从目标用户到使用场景,每一步都要“踏实”。在懂你app中我所使用的API技术的价值主张都是快速、准确的识别用户上传的数据,为此提供他们所需要的表情包类型,以满足他们的需求。 ### 感谢 * 感谢各大ai开放平台的api技术的开放,为我的关键代码的编写提供了帮助,也为我的人工智能概率性的考量提供了帮助,还有一些博主写的文章也对我提供了很大的帮助,为此附上URL来感谢各大开发平台对我的智能产品设计的帮助。 * [百度人脸检测api文档](https://ai.baidu.com/ai-doc/FACE/yk37c1u4t) * [百度人体检测api文档](https://ai.baidu.com/tech/body/attr) * [百度人体检测api错误码介绍](https://ai.baidu.com/ai-doc/BODY/zk4qlfchx)