项目名称:ModuFusion Visionary:实现跨模态文本与视觉的相关推荐
项目目标:
本项目旨在开发一款跨模态交互式应用,用户可以上传图片或视频,并使用文本、点、框等提示,精确分割出图片或视频中指定的物体,或者无提示地分割出所有物体。
基于分割出的物体,用户可以选择生成感兴趣的其他图片或视频。
内置推荐算法可以自动根据分割结果,推荐与之相关的信息。
一.第六周随小组所完成的任务:
- 前后端基本框架搭建完成:前端采用Vue辅以canvas,后端采用springboot + Mybatis,数据库使用MySQL,前后端通信使用Axios。
- 完成了分割模型在本地的部署运行,但尚且不是Segment everything everything model,而是其轻量化实现,当前阶段先使用其轻量化替代,有助于快速推进,后期再替换为SEEM。
- 实现了后端对于分割模型的调用,包括将前端用户上传的图片传递给模型进行分割,将分割后的数据保存进本地数据库。
二、第七周随小组所完成的任务:
- 优化了快速体验界面的响应逻辑,支持对走马灯中的图片进行查看。
- 补充了快速体验界面的图像分割入口,现在可以点击快速体验界面的图片直接进入分割界面,快速进行分割。
- 优化了后端调用模型进行分割时前端的等待体验,添加了等待时的加载动画。
- 添加了图片分割新功能:支持通过对图片中的物体进行框选分割,精度高于点击分割。
- 添加了图片分割新功能:支持通过简单的文本描述对图片中的物体进行分割。
- 优化了分割界面,为不同的分割方式提供了不同的tips提示。
- 优化了点击分割时后端的响应逻辑,数据库的查找返回方式修改为按照mask的面积升序,提高了分割精度。
- 添加了图片分割新功能:全分割。
- 优化了前端分割体验:为分割出的物体边缘增加了荧光效果。
- 添加了图片分割新功能:对分割出的物体进行精确展示,不再依附于原图像。
- 优化了前端分割体验,当鼠标悬停在图片上方时,将变为准星的形状。
- 优化了前端分割体验,点击分割时,将会在点击处留下一个淡蓝色的点。
- 增加了AIGC功能:图像风格迁移。支持对分割出的物体或原图片进行各种风格迁移,比如将原图片切换为梵高艺术风格等,处理时间取决于图像分辨率大小。
三、第八周随小组所完成的任务
1.实现了本地与服务器之间的通信:
我们成功地在服务器端部署了 Flask 应用,使本地主机能够通过 requests 库访问服务器端的特定 IP 地址和接口。这一设置允许本地主机将待处理的文件有效地上传到服务器上。
(以下是代码片段)app.route('/upload', methods=['POST']) def handle_upload(): if 'file' not in request.files: return 'No file part', 400 file = request.files['file'] command = request.form['command'] if file.filename == '': return 'No selected file', 400
2.实现了服务器端对本地数据库的远程读写操作:
完成了对数据库的远程读写功能,详细过程和代码示例已记录并分享在我的博客中,详见:远程数据库操作记录。
3.实现了服务器端对本地文件系统的远程操作:
我们扩展了服务器的功能,以支持对本地文件系统的操作。具体的操作步骤和示例同样在博客中有记录,详见:远程文件系统操作详解。
4.完全实现了本地与服务器之间的无缝连接:
通过以上成果,我们现在可以无障碍地调用部署在服务器上的大型模型,完全不受本地计算资源的限制。
四、未来计划
- 性能优化:将继续优化现有模型的部署和调用策略,以在本地和服务器之间实现最佳性能平衡。
- 模型探索:为视频处理模块和 AI 生成内容(AIGC)模块寻找更优质的开源模型,以提升系统整体效能和输出质量。