我用 AI 做了一个「明星脸比对」小程序,三件开发工具轮着上

抖音娱乐小程序后端为何首选ThinkPHP 抖音小程序作为轻量级互动载体,其后端需满足短连接高并发、HTTP接口稳定、OAuth2.0快速对接、URL参数精准解析等基础能力。ThinkPHP凭借对PHP-FPM场景的深度优化、开箱即用的路由与中间件机制、严格的表单验证和JSON响应控制,成为中小团队构建娱乐测评类小程序的高性价比选择。尤其在抖音开放平台授权链路(code→open_id→access_token)、带参分享溯源、来源追踪统计等核心场景中,ThinkPHP v6 LTS版本展现出极强的工程可控性与上线效率,兼顾安全性、可审计性与低运维成 阅读详情

我用 AI 做了一个「明星脸比对」小程序,三件开发工具轮着上

你有没有想过,自己到底长得像哪个明星?

上个月我花了不少时间做了一个微信小程序——明星脸比对,上传一张照片就能知道你和哪位明星最像。后来又加了「夫妻相」和「跨性别撞脸」两个玩法,越做越上头。

今天聊聊这个项目用到的开发工具和技术栈,给想做小程序的朋友一个参考。


三大核心功能

先说产品。小程序目前有三个核心玩法:

🌟 明星脸比对:上传一张正脸照,AI 在 3000+ 明星人脸库中搜索,告诉你最像哪个明星,还会给出相似度评分和趣味等级。支持按地区筛选——内地、港台、日韩、欧美,想找哪个圈的明星都行。

💑 夫妻相/闺蜜相:上传两个人的照片,AI 计算人脸相似度,给出缘分指数。从"萍水相逢"到"灵魂双生"五个等级,情侣和闺蜜玩起来特别有意思。

🌈 跨性别撞脸:这个是最有话题性的。男生选"我是男生"会搜索女明星,女生选"我是女生"会搜索男明星。看看异性明星中谁最像你,结果经常出人意料,特别适合发朋友圈。

三个功能都接入了积分系统:每次比对消耗 5 积分,分享给好友双方各得 5 积分,看广告也能得积分。结果页还贴心地加了一句"比对结果仅供娱乐",毕竟 AI 打分这事儿,认真你就输了。


开发工具三件套

做微信小程序开发,我用了三个工具,各有分工:

HBuilderX(HBX)—— 主力编码

HBuilderX 是 DCloud 出品的 IDE,UniApp 项目的标配。为什么选它?

  • UniApp 原生支持:创建项目、编译、运行一条龙,不需要额外配置
  • 云函数开发:uniCloud 的云函数直接在 HBX 里创建和上传,右键一键部署
  • 真机调试:连接手机后可以实时预览,改了代码刷新就能看到效果
  • 代码提示:对 Vue 和 uni API 的提示比较完善

日常编码 80% 的时间都在 HBX 里完成。前端页面、云函数、样式调整,基本不用切换。

微信开发者工具 —— 预览与调试

微信开发者工具是微信官方的,主要用来:

  • 模拟器预览:查看小程序在不同机型上的显示效果
  • 调试面板:Console 日志、Network 请求、Storage 存储,排查问题必备
  • 真机扫码:生成预览二维码,手机扫码直接体验
  • 提交审核:上传代码、提交审核、发布上线都在这里完成

有个坑要注意:插屏广告在开发者工具里基本显示不出来,必须真机测试。我第一次加广告的时候还以为代码写错了,折腾半天才发现是工具的限制。

Trae —— AI 辅助编程

Trae 是字节跳动出的 AI 编程工具,可以理解为"懂项目的 AI 助手"。这个项目里我主要用它做这些事:

  • 需求拆解:把一个模糊的想法拆成具体的开发任务,比如"加一个夫妻相功能"会被拆成:创建页面、配置路由、写云函数 action、对接前端、处理积分逻辑等
  • 代码生成:描述需求后直接生成 Vue 组件代码,包括模板、脚本、样式
  • Bug 修复:遇到报错直接贴给 Trae,它会分析原因并给出修改方案。比如 this.$app 在独立 JS 模块中无法访问的问题,就是 Trae 帮我定位的
  • 重构建议:把散落在各页面的重复代码封装成公共模块,比如 shareUtil.js 和 AdUtil.js

最实用的一个功能是技能系统。我把项目的架构、接口规范、业务逻辑都写进了一个 SKILL.md 文件,下次对话时 Trae 会自动加载这些上下文,不需要反复解释项目背景。相当于给 AI 配了一份项目文档,效率提升很明显。


技术架构

前端:UniApp + Vue 2

选 UniApp 而不是原生小程序,主要考虑两点:

  1. 开发效率:Vue 的组件化开发比原生 WXML 舒服太多
  2. 多端潜力:虽然目前只做微信小程序,但以后想上其他平台也方便

页面结构很清晰:

pages/
├── index/          # 明星脸比对
├── couple/         # 夫妻相
├── cross-gender/   # 跨性别撞脸
├── result/         # 各功能的结果页
└── about/          # 关于页面(积分规则)

底部 TabBar 放了两个入口:明星脸和夫妻相,跨性别撞脸放在首页的"更多玩法"悬浮球里。结果页底部会推荐其他两个玩法,形成功能间的互相引流。

后端:uniCloud 云函数 + 腾讯云 IAI

后端完全跑在 uniCloud 云函数上,没有用传统服务器。核心云函数 faceSearch 处理四个 action:

Action功能腾讯云接口
detectAndSearch检测人脸 + 搜索明星DetectFace + SearchFaces
search搜索明星SearchFaces
searchGender跨性别搜索SearchFaces(搜索异性 Group)
compare夫妻相比对DetectFaceSimilarity

明星数据存在腾讯云 IAI 的人脸库中,按地区和性别分组,共 3000+ 张人脸照片。管理后台用 Flask 写了一个简单的 CRUD,只用来维护明星数据,不参与业务逻辑。

分数映射:精准与娱乐的平衡

这是整个项目中最有意思的技术决策。

腾讯云 IAI 返回的相似度分数非常"严谨"——两张普通人的照片比对,分数经常是 0。如果直接展示原始分数,用户体验会很差:情侣测出 0 分,谁都不开心。

所以我做了一层非线性映射:

  • 原始 0 分 → 映射到 35-40 分(保底,不会 0 分打击人)
  • 原始 0-5 分 → 映射到 40-55 分(大多数普通人)
  • 原始 5-15 分 → 映射到 55-70 分(有点像)
  • 原始 15-30 分 → 映射到 70-85 分(确实像)
  • 原始 30 分以上 → 映射到 85-100 分(非常像)

映射后的分数保持了相对准确性——原始分高的映射后依然高,但整体分布更合理。大多数普通情侣会落在 40-70 分区间,既不会 0 分尴尬,也不会人人"天生一对"。

跨性别搜索也用了类似的映射策略,保底 30 分,避免"找不到相似明星"的挫败感。

公共模块封装

项目中有两个重要的公共模块:

shareUtil.js:分享加分封装。所有 6 个页面(3 个操作页 + 3 个结果页)都需要处理分享加分逻辑,封装后一行调用搞定。有个坑是 this.$app(Vue 原型上挂载的 request 模块)在独立 JS 文件中无法通过 getApp() 获取,必须由调用方传入。

AdUtil.js:广告封装。插屏广告和激励视频的初始化、加载、展示都封装在这里,任何页面需要广告时两行代码搞定。


一些踩过的坑

1. DetectFaceSimilarity 的质量控制

默认 QualityControl=4(最高级别),稍有模糊或侧脸就报"人脸质量不符合要求"。改成 0 之后和 SearchFaces 行为一致,毕竟娱乐应用,能出结果比严格质控重要。

2. 分享截图包含弹窗

点击"分享给好友"时如果积分弹窗还开着,微信截取分享快照时会把弹窗也截进去。解决方案是在分享按钮上加 @click="showScoreModal = false",先关弹窗再弹出分享界面。

3. 跨性别比对失败率较高

跨性别搜索的匹配率本身就低,用户连续失败体验很差。加了"每日 3 次失败限制",超过后友好提示"下次再来",次日自动重置。同时在比对成功后弹出插屏广告,平衡一下体验和收益。

4. ES Module 和 CommonJS 混用

request.js 用的是 export default,而 shareUtil.js 用的是 module.exports,require 导入 ES module 会拿到 undefined。最终方案是不在工具模块中直接引用 request,而是由调用方传入 this.$app。


写在最后

做这个小程序最大的感受是:AI 人脸识别 API 的"精准"和娱乐产品的"好玩"之间,需要一层翻译。原始分数太真实了,用户不需要真实,需要的是有趣。分数映射这层逻辑,本质上是在 AI 的冰冷数字和用户的情感预期之间搭一座桥。

开发工具方面,HBX 负责写代码,微信开发者工具负责预览和发布,Trae 负责提效和排错,三者配合效率很高。特别是 Trae 的技能系统,把项目知识沉淀下来之后,后续迭代的沟通成本大幅降低。

如果你也在做小程序开发,推荐试试这套工具组合。


明星脸比对 v1.2.1 · 微信搜索"明星脸比对"即可体验

智能车图像处理5-入门级分析4 ---环岛的状态机与补线 PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。 阅读详情

相关推荐

RADIOML 2018.01A数据集在自动调制识别中的实战应用指南

本文提供了RADIOML 2018.01A数据集在自动调制识别(AMR)任务中的完整实战指南。内容涵盖从数据集介绍、数据获取与解包、高效预处理流程,到构建PyTorch数据管道、模型设计(如1D CNN、ResNet)以及训练调参策略。重点阐述了如何利用该数据集训练鲁棒的AI模型,以应对复杂信道环境和低信噪比挑战,并给出了详细的性能评估方法。

plant的博客 171

我用 UniApp + 腾讯云 IAI 做了一个“明星脸比对“小程序,零后台延迟

这个项目的核心价值在于架构简化。通过前端直调云服务,省去了中间服务器层,降低了延迟和成本。前端签名逻辑暴露了部分实现细节(虽然密钥是安全的)不适合需要复杂业务逻辑的场景云函数的冷启动时间仍然会影响首次调用速度但对于这种"上传-处理-返回"的简单场景,前端直调是一个值得考虑的方案。项目代码已经开源,如果你也感兴趣,可以看看完整实现。欢迎提 issue 或 PR。技术栈:UniApp + Vue.js | 腾讯云 IAI | uniCloud | Flask | Python适用场景。

587

crowdcountingp2p代码复现

前面学习了一下论文:Improved Field-Based Soybean Seed Counting and Localization with Feature Level Considered该论文的模型原型由CrowdCounting-P2PNet改进而来这里先复现一下CrowdCounting-P2PNet模型,然后再学习P2PNet-Soy模型。

m0_73832962的博客 2327

鸿蒙人脸比对实战:快速实现 “相似度检测” 功能,娱乐社交必备

人脸比对的开发难度不高,核心流程和之前的人脸检测、OCR 高度相似,只要掌握了 “选图 - 转格式 - 调用接口 - 解析结果” 的套路,半天就能落地功能。明星脸库:预设一批明星、名人的图片,用户只需上传自己的照片,就能自动和库中图片比对,找出最像的明星;分享功能:把比对结果生成图片,支持分享到社交平台;多图比对:先选一张基准图片,再选多张图片,批量比对找出和基准图最像的;结果校准:允许用户手动调整相似度阈值(比如把判定 “同一人” 的阈值从 80% 调到 85%)。

weixin_42299977的博客 627

linux redis7 完整的集群搭建过程

一。安装: 1.1 说明: Redis官方只提供了源码,并没有提供经过编译之后的安装包。 因此,安装Redis,要先编译、后安装。(即源码安装方式) 注意:需要联网安装 1.2 安装编译的工具: yum install gcc gcc-c++ -y 1.3 下载tar包,上传到linux服务器,解压配置环境变量 1.4 cd +解压的目录下:编译 make 注意:如果编译失败,请重新进行解压编译,...

m0_38028438的博客 719

USB2.0基础知识总结

目录 1、协议层: 1.1、域分类 1.2 、USB传输方式: 1、协议层: 域和包定义:包是一次传输的单位,每个包由多个域组成; USB中是按照LSB进行字节传输; 1.1、域分类 1.1.1: 同步域(SYNC field) 所有的包都开始于同步域,在低速和全速通信中SYNC field用7个0和1个1来表示。 由于USB2.0使用了NRZI编码(0用翻转来表示,1用不翻转表示),所以00000001就是上图那样。 ...

qq_32938605的博客 4408

「懒人福利」有了这些小程序,工作效率能提高好几倍

领导手写了一张演讲稿,让你立马帮他用word文档打出来,怎么办;PPT里文字太多不好看,怎么在不删掉文字的情况下美化一下呢……工作中的你常常会遇到类似问题,耗时耗力,让人头疼,有没有快速高效的办法解决他们呢?小编给你支几招,记住这些小程序,工作效率提高就靠它们啦!一、美字云推荐指数:5颗星小程序简介:美字云是一款文艺气息十足的软件,它可以将文字进行图形化处理,内置大量的模板可供使用,当然,你也可以自

APPx应用魔方 1556

ArcGIS+PLUS+InVEST三件套实战:从零搞定土地利用变化与碳储量预测(附完整数据包)

本文详细介绍了如何整合ArcGIS、PLUS模型和InVEST模型,构建土地利用变化与碳储量预测的完整研究流水线。通过多情景模拟和生态系统服务评估,提供从数据准备到结果验证的实战指南,助力研究者高效完成生态评估项目。

weixin_30399821的博客 542

Python+Dlib人脸识别实战:5分钟搞定明星脸匹配系统(附完整代码)

本文详细介绍了如何使用Python和Dlib库快速构建一个明星人脸识别系统。通过完整的代码示例,从环境配置、数据预处理到核心识别引擎的实现,逐步讲解如何实现高效的人脸检测与匹配。该系统可用于照片分类、娱乐应用等场景,帮助开发者快速掌握人脸识别技术。

peach的博客 1072

【Unity动画系统】详解Root Motion动画在Unity中的应用(一)

什么时候勾选Bake into pose,当不希望动画带动游戏对象旋转时。在旋转的动画中一般是不用勾选的,因为就需要用它来带动我们的角色对象旋转。但在比如前进、后退、待机等动画来说,我们就可以勾选这里,以避免因动画文件本身的瑕疵而给我们带来的旋转。loop match:代表了这个动画在角度上的吻合度。如果这个动画在播放中转角过大,那么就会显示红色,告诉我们如果勾选bake into pose,则会带来不好的效果。

weixin_60154963的博客 6803

【WRF-Urban数据集】 WRF 模型城市冠层参数 GloUCP 的使用

【数据集】 WRF 模型城市冠层参数 GloUCP 的使用

WW、forever的博客 478

AI 还原康乾盛世三代皇帝的样貌,简直太太太好玩了!

作者| JackCui出品 |AI科技大本营一位 B 站 up 主「Jack Cui」使用 AI 技术,还原了康熙、雍正、乾隆的历史样貌。看看富态的雍正!!01算法实现人工智能技术...

优快云人工智能头条 1578

AutoSAR配置与实践(基础篇)3.2 BSW中的I/O架构和模块详解

车门位置传感器(Sensor SWC)输出的电流信号经过了一系列处理,如先被转化为电压信号,后又经ADC转换为数字信号,但是IoHwAb模块对上层隐藏了这一系列处理过程,并将数据直接抽象为它的输出接口,即车门开关状态接口。Sensor SWC 使用RTE接口直接从IoHwAb模块封装的车门开关状态,SWC它并不关心ECU硬件是如何实现的传感器电流采集,也不关心MCU ADC采样精度(如10/12位)IoHwAb把采集的电压抽象为开关状态,使得Sensor SWC不依赖具体的ECU硬件。

nihaoljq2010的博客 1300

用UNet镜像做了个换脸小程序,附全过程

本文介绍了如何在星图GPU平台上自动化部署unet image Face Fusion人脸融合人脸合成 二次开发构建by科哥镜像,快速搭建本地化换脸小程序。该镜像基于UNet架构,支持离线运行,适用于证件照优化、创意写真合成及老照片修复等典型人脸融合场景,操作简单且隐私安全。

weixin_35815766的博客 795

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

我们终将泄露的人脸数据,后果到底有多可怕?

人脸识别正在不可阻挡地走向娱乐化。从朋友圈里的AI面相识别小程序,到走进大街小巷的AI测肤,无一不是热火朝天。这种情形不禁让人感叹,互联网的记忆果真连金鱼都不如。想当初i...

脑极体 1520

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用DeepSeek+Stable Diffusion,普通人如何抓住AI变现风口?这5个实操方案直接抄!

0代码门槛、低投入、可复制的变现路径

2301_80239908的博客 1443

stable diffusion无限贴近真人的调教方法,助力AI变现(上)

固定人脸的操作,优先 roop ,而且图源相似的情况下,换脸效果也会更好。其次 reference 也是常见的一种参考脸部、物体材质的控制方式,不过现在 IP Adapter 出来了,参考效果会更好,遇到需要参考的问题也可以优先查看 IP Adapter 的效果。

月流霜的专栏 1770

unet image Face Fusion能否商用?版权与法律风险全解析

本文探讨了基于阿里达摩院ModelScope模型二次开发的“unet image Face Fusion人脸融合人脸合成 二次开发构建by科哥”镜像的商用法律风险。该镜像可在星图GPU平台上实现自动化部署,快速搭建人脸融合Web应用。其典型应用场景包括个人娱乐性的创意图片生成、虚拟试妆以及老照片修复等,但商用需特别注意肖像权与版权合规。

weixin_42609225的博客 565

普通人如何用AI赚钱?DeepSeek+SD的5个高收益玩法

为什么普通人必须抓住「AI+工具」的变现机会? 1. 效率碾压传统模式 传统方式:设计/文案/视频制作通常需要3天甚至更久 AI工具:DeepSeek(数据分析+逻辑优化)+ Stable Diffusion(图像生成)组合,3分钟即可完成高质量输出,实现全流程自动化 2. 市场需求爆发式增长 小红书、抖音等平台对AI图文/短视频的需求增长超300% 商家更倾向选择低成本+高颜值的AI生成内容,付费意愿强烈 个人创作者、电商卖家、自由职业者均可快速入局,抢占市场红利

yihanss的博客 1277

AI把爱豆变胖视频火遍B站,我们找到了背后的技术团队:你是怎么把刘亦菲变胖的?...

来源:大数据文摘本文约2000字,建议阅读5分钟本文为你介绍爱奇艺PersonAI团队利用AI算法将明星变脸的技术。刘亦菲有多漂亮就不用我多介绍了。单是她那“优越的颅顶”,就已经足够上一...

数据派THU 8485

AI大模型赋能十大副业:从内容创作到智能体开发的全景指南

在人工智能技术快速发展的当下,大模型已成为推动生产力变革的关键引擎。其核心原理在于通过海量数据训练,使机器能够理解和生成人类语言、代码乃至创意内容,从而将复杂任务的执行门槛大幅降低。从技术价值看,AI不仅提升了内容生成、数据分析、编程等传统工作的效率,更催生了全新的服务形态与商业模式。在应用场景上,AI已深度融入内容创作、技能服务与知识产品等多个领域,例如通过提示词工程优化文案生成,或利用智能体技术为企业定制自动化解决方案。本文聚焦于AI大模型如何具体赋能十大副业机会,系统拆解了从文案代写、视觉设计到智能体

weixin_34289454的博客 390

AI短剧合规实战指南:内容安全、角色一致与投放证据链

AI短剧已从技术尝鲜进入强监管落地阶段,其核心不再仅是生成效率,而是内容安全可控性与全流程合规性。基于广电新规与网信办备案要求,短剧生产需围绕语义风控引擎、角色一致性协议、四维投放凭证三大技术支柱构建闭环。其中,‘内容安全’指向台词情绪烈度、价值观导向等实时语义校验;‘角色一致性’依赖面部特征锁模、声纹指纹嵌入与行为坐标系建模,确保AI长序列输出稳定可信;而‘投放证据链’则强调生成溯源码、语义审计报告、区块链存证与加密归因日志的强制绑定。这些能力共同支撑短剧从算法驱动转向规则驱动,在审核通过率、ROI稳定性

weixin_34288121的博客 255

人脸识别:入门级介绍

什么?方案里没有人脸识别,看来你们的方案还是老旧的方案。上面就是客户给你的方案汇报一个总结。是不是很委屈,是不是很郁闷,你是不是想说,我们也不是人脸识别企业,为什么要懂这么多啊。 但是作为一个称职的咨询顾问不仅要懂本行业的知识,还要能够掌握十八般武艺,什么大数据、物联网和人工智能AI样样精通,做片子,写代码无所不能。如果你在零售业里混的话,还要了解最近非常火的人脸识别技术,近期在跟进一些零售客户发...

biaopeng1141的博客 1149

FaceFusion提供SDK供Android/iOS移动端接入

FaceFusion发布Android/iOS原生SDK,支持本地化人脸融合处理,实现轻量、实时、可控的端侧AI视觉能力,提升隐私安全与用户体验,适用于社交、教育、营销等场景。

weixin_42315569的博客 783
上一篇: 我用 UniApp + 腾讯云 IAI 做了一个“明星脸比对“小程序,零后台延迟
互联网时光机
博客等级 码龄20年 400粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网时光机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值