综合设计——多源异构数据采集与融合应用综合实践

发布时间 2023-12-14 23:08:00作者: 溯-

综合设计——多源异构数据采集与融合应用综合实践

[码云地址](多源异构数据采集与融合应用综合实践: Call of Silence数据采集与融合综合实验 (gitee.com))

这个项目属于哪个课程 2023数据采集与融合技术
组名、项目简介 组名:Call of Silence
项目需求:设计出一个交互友好的多源异构数据的采集与融合的小应用
项目目标:通过在web端输入文本、图片、视频等多源数据进行内容提取并对其进行概括
技术路线:前端3件套(html、css、js)、flask、
团队成员学号 052103117、102102142、102102148、102102149、102102150、102102154、102102155、172109005
这个项目目标 对获取的多模态信息进行分析概括
其他参考文献 [1]梁永侦.基于深度学习的图像风格迁移方法研究[J].计算机时代,2023,(08):107-112.DOI:10.16644/j.cnki.cn33-1094/tp.2023.08.024
[2]熊文楷.基于深度学习的中国画风格迁移[J].科技与创新,2023,(13):176-178.DOI:10.15913/j.cnki.kjycx.2023.13.054
[3]郑卓.基于深度学习的风格迁移技术研究[D].浙江工商大学,2023.DOI:10.27462/d.cnki.ghzhc.2023.001362

项目整体介绍

1、项目名称:多模态内容概括

2、项目背景:在当今社会,随着数字化时代的来临,信息呈现爆炸式增长,而这些信息涵盖了多种形态,本项目主要功能就是对获取的多模态信息进行分析概括,帮助用户从信息中快速获取主要内容。

3、项目意义:面对互联网时代的信息过载,用户更需要一种智能化的工具来过滤、提炼信息,以便更快速地获取关键信息。多模态信息分析程序的功能满足了这一需求,帮助用户从海量信息中快速获取主要内容。

  • 数据采集

    • 采用selenium框架对bilibili中视频、封面、音频等数据进行爬取
  • 前端开发

    • 使用HTML、CSS和JavaScript进行界面设计,实现用户与系统的交互。
    • 用于上传文本、图片和视频等文件。
  • 后端开发

    • 利用flask框架进行后端搭建。
    • 用于接收前端发送的请求,对收到的数据进行保存和处理,最后返回文本结果。
  • 数据处理与分析

    • 文本分析:采用星火的接口对输入的文本内容进行分析概括。
    • 图片分析:
      • 采用星火的接口对输入的图片进行概括,将概括后的文本进行分析概括返回图片概括后的结果。
    • 视频分析:对于视频分析,没有找到合适的模型和接口进行概括,因此我们采用提取视频中的音频,对音频内容进行概括。
      • 采用百度的接口对输入的视频提取主要内容并返回给用户。
  • 风格迁移

    • 输入俩张图片,一张作为被学习的风格图片,一张作为学习的融合图片,通过VGG19神经网络进行训练,得到的模型,可以将任意俩张图片进行风格迁移

5、项目部分功能展示

①项目页面展示
image
image
②文本概括功能展示
image
③图片概括功能展示
image
④视频概括功能展示
image

个人任务:

本人主要负责前端任务的实现,主要是负责具体功能的实现,比如前后端的通信,以及和其他同学一起对页面进行美化。
通信部分的代码如下:

function settext() {
  var text = document.getElementById("text").value;
  let url = "http://127.0.0.1:5000/text";
  let data = { data: text };
  fetch(url,
    {
      method: 'POST',
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify(data)
    })
    .then(response => response.json())
    .then(data => {
      console.log(data);
      alert("概括成功!");
      var requestText = document.getElementById("request1")
      requestText.value = data.answer;
    })
    .catch((error) => {
      console.error('Error:', error);
    });
}

function setimage() {
  const img = document.getElementById("image").files[0];
  let url = "http://127.0.0.1:5000/photo";
  let formdata = new FormData();
  formdata.append('file', img);
  console.log(formdata.get("file"))
  fetch(url,
    {
      method: 'POST',
      body: formdata
    })
    .then(response => response.json())
    .then(data => {
      console.log(data);
      alert("上传成功!");
      var requestText = document.getElementById("request2")
      requestText.value = data.data;
    })
    .catch((error) => {
      console.error('Error:', error);
    });
}


function setvideo() {
  const video = document.getElementById("video").files[0];
  let url = "http://127.0.01:5000/audio";
  let formdata = new FormData();
  formdata.append('file', video);
  console.log(formdata.get("file"))
  fetch(url,
    {
      method: 'POST',
      body: formdata
    })
    .then(response => response.json())
    .then(data => {
      console.log(data);
      alert("上传成功!");
      var requestText = document.getElementById("request3")
      requestText.value = data.data;
    })
    .catch((error) => {
      console.error('Error:', error);
    });
}

通信部分的函数实现点击按钮后向后端传输相应数据,然后在接收到后端返回的结果后,将结果输出到屏幕。我们使用json格式进行文本的传输,使用formdata进行图片和视频的传输。传输方式使用fetch。后端收到数据,进行相关处理后,会向前端返回一个json格式的结果,前端读取json数据后,将获取到的结果输出到文本框中。