背景

截至24/1/19,开发进度为

  • 客户端框架基本完成,剩余部分为界面美化
  • 服务器端未实现多线程,未实现数据库和服务器程序交互

客户端开发

2024-01-19 13:55:57 updated
用户选择的图片不应该在选择后就上传,而是确认后再上传,同时也要给到用户返回的选择。
同时应该有"图片合成、视频合成、我的"三个tabbar

2024-01-20 22:39:59 updated
完成了tabbar、首次登录、首页第一张卡片的界面设置。
明天要完成的内容有:
1. "我的"界面
2. 一键合影的各个界面

服务端开发

2024-01-22 01:41:29 updated
不应该使用多线程,node.js的非I/O阻塞模型已经很高效了,自己手写一个多线程反而可能会负优化,并且等待时间主要受限于服务器处理图片而不是处理请求。

数据库

2024-01-19 13:51:45 updated

我要实现的需求为:

  1. user表,储存用户的头像,ID,昵称,这部分从微信获取。
  2. images表,储存用户的图片,每次inference的图片为两张,一张为前景,一张为人像,同时应把两张图片命名相同,在数据库中显示时可以储存为"用户名+上传次数",也就是同一次session上传的图片应该相同

2024-01-21 13:57:51 updated
images表应该还储存背景库照片

2024-01-22 00:53:01 updated
我根本不需要储存用户输入的表,我应该储存用户输出的表,此外我还要储存用户的uniqueid和sessionid

算法优化

2024-01-20 19:00:37 updated
以人的思维而言,人形图像分割的第一步就是识别人形,但是对于机器而言,或者一个“不知道人长什么样的”人类而言,很难精准地识别出人的轮廓,除非是对各种物体有了相对多数据积累,能够将一张图片上的物体加以区分。因此有很多抠图算法采用Trimap的方式,先提供一些先验信息,从而提高抠图的准确率。我认为其中最重要的应该是背景,因为在机器不移动的情况下,理论上只有人的位置在发生改变,那么不变的就成为了背景。

2024年3月开发阶段

目前进度

前端开发

对之前的代码重构已经完成。

  • 已经实现的
    • 登录功能
    • 图片上传功能
    • 图片抠图功能
    • 卡片风格的首页
    • 用户个人页面
  • 尚未实现的
    • 对于首页的ui美化
    • 图片合成功能(开发重点)
    • 用户个人页面的美化
    • 图片库的功能
    • 图片背景选择的功能

后端开发

对代码的结构优化已经完成。

  • 已经实现的
    • 对登录请求的响应
    • 对图片上传请求的响应
    • 对图片抠图请求的响应
  • 尚未实现的
    • 对图片合成请求的响应
    • 对图片背景选择的响应

数据库管理

与背景中提到的进度一致

结果

最后获得了大创校级奖。