熊喵表情 - 开启AI表情制作新时代

熊喵表情,一款可以个性化定制您的专属表情头像的应用。不管是静态表情,还是动态表情,熊喵表情都能轻松制作,无需复杂的手动抠图,只需上传一张人脸照片,个性表情就能一键生成。还有独创的文生表情功能,好用到令人发指,关键还免费,简直是暴殄天物。下面我就来介绍一下如何从零开始制作这一款APP。

技术栈及选型

原生 vs 跨平台:原生需要为每种平台都开发一个应用(如android和ios以及各种小程序),而跨平台多端共用一套代码,对于独立开发者和中小微企业,选择跨平台是明智之举。

国外跨平台 vs 国产跨平台:国外主要用RN 和 Flutter,这两个框架Flutter最近几年渐入佳境,有很多重量级的APP都是使用RN开发的,例如美团等等。但是国外平台有个硬伤,就是不支持国内生态,尤其是微信生态。因此选国产跨平台也是没得选。

国内跨平台框架: 简单对比便能分出高下,为了全端小程序都能上线,可选项就只有Taro vs uniapp,这是网上搜到的一个对比图,大家可以简单看一下。

框架技术栈案例微信小程序支付宝小程序百度小程序头条小程序H5App
TaroReact丰富
娜娜奇React⭕️⭕️⭕️⭕️
wepyVue丰富
mpvueVue丰富⭕️
uni-appVue丰富⭕️⭕️⭕️
megaloVue⭕️⭕️
OKAMVue
MpxVue

至于Taro和uniapp怎么选,我觉得因人而异,我希望能够快速的出原型,因此我选择了周边更丰富的uniapp,例如UI框架,甚至用户登录认证模块,uniapp都有现成的模块和插件来支持,所以用uniapp开发会很快。当然我也注意到网上有一些关于uniad的评价,我表示我会自己评估,如果确实有问题,再换到Taro也不难,我在功能设计上已经将几乎所有核心功能做到了服务端,客户端真的就只是个界面展示。

Taro vs uniapp

Tarouniapp
开发语言RNVue
开发工具VSCODE 插件HBuilder
性能极致优秀
社区生态Github star 3k 轮子少Github star 1k 轮子多

后端选型

这个应用需要使用很多OpenCV的算法,要制作成后端API使用,用python flask来做最合适不过。

架构设计

图片

因为我做了10多个应用,我发现每个应用都需要有个搜索功能,于是我干脆自己搭建了一个ElasticSearch的集群,3台机器就能搞定这些应用的全文搜索,并且还挺稳定的,几个月了这个集群还是很健康。

图片

opencv+dlib,dlib就是一个人脸检测工具,opencv能做图片处理,合在一起就能用人脸制作表情,这里有两个点需要注意

  1. dlib 需要开启AVX加速,不然检测时长会超过2s。

  2. 需要将opencv+dlib打包到层中,云函数再使用这个层,云函数才能随心所欲的使用这个人脸检测的功能。

重难点实现

  1. 动态表情换头功能的实现

图片

    核心代码就这么几行,就是从腾讯云对象存储先下载下来用户上传的头像,然后用dlib检测头像中的人脸;同时下载模板GIF图片,对GIF图片里面的每一帧,都用人脸替换到空白的位置。最后用Imageio合并成一个GIF文件,并上传到对象存储,整个过程来回小于1s。

图片

2. 熊猫表情制作

图片

核心代码也就这么多,主要不同的是用到了opencv的seamlessClone功能

图片

3. 文生表情功能

之前逛贴吧看到一张熊猫打麻将的表情,我用这个文生表情的功能,做了一个同款,除了麻将做的不是很真实,整体效果还是很不错的。这个用了文生图的大模型sdxl emoji

图片

部署及运维

目前仅上架了微信小程序,服务器端就是个云函数,给了3G的内存。大模型目前用的别人免费的API。

图片

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值