添加项目描述文件

This commit is contained in:
zhangkeyang 2024-04-22 10:23:08 +08:00
parent 7c7a4368af
commit cab9e438c5
2 changed files with 92 additions and 0 deletions

89
README.md Normal file
View File

@ -0,0 +1,89 @@
此仓库是ICDD实验室的视频摘要生成项目根目录。
# 环境配置
本节介绍项目环境的安装与配置流程。
## 创建虚拟环境
如果使用的是```conda```,可以使用以下命令创建并激活虚拟环境:
```bash
$ conda init bash
$ conda deactivate
$ conda create --name vsumm python=3.10
$ conda activate vsumm
```
如果使用的是```venv```,首先需要安装[Python 3.10](https://www.python.org/downloads/release/python-3100/),并创建并激活虚拟环境:
```bash
$ python --version # 确保当前正在使用的是python 3.10
$ python -m venv venv/
$ source venv/Scripts/activate
```
## 安装项目的依赖包
首先安装```ffmpeg```。如果是实验室的服务器环境,可以直接使用以下命令安装软件包:
```bash
$ apt install ffmpeg
```
如果是个人的Windows开发环境需要从官方网站[ffmpeg](https://ffmpeg.org/)下载二进制发布包,并配置环境变量。
在控制台中,使用如下指令验证安装是否成功:
```bash
$ ffmpeg
ffmpeg version 7.0-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
# ...
```
接下来安装```torch```与```torchvision```。项目使用的版本是:```torch-2.1.0+cu118-cp310```与```torchvision-0.16.0+cu118-cp310```,可以在[官方的下载连接]()找到下载地址下载完成后使用以下指令安装2个软件包
```bash
$ pip install <下载的whl文件路径>
```
之后,就可以安装项目的其他依赖包:
```bash
$ pip install -r requirements.txt
```
# 启动服务器
在项目的根目录下,激活虚拟环境后,使用以下指令启动服务器:
```bash
$ python main.py
```
或者:
```bash
$ uvicorn main:app
```
之后,可以访问```http://localhost:8000/home```进入主页。
# 当前使用的数据集
当前使用的两个数据集分别是:[TVSUM](https://pan.baidu.com/s/1j6p5itt5aslhrp-cDxpwdw&pwd=a5h2)与[SumMe](https://pan.baidu.com/s/1gM8oXlqnYUTxKpL2aCzVhQ&pwd=dw5t)
# 当前项目进度
项目使用的模型来自:[DSNet](https://github.com/li-plus/DSNet)的anchor-free版本。
```master```分支是一期项目的工作。当前开发进度是:完成主页界面与前后端接口设计、部署模型并完成推理流程。
当前工作存在以下不足:
1. 在上传文件并生成摘要后,没有设计“历史记录”页面。这导致在刷新页面后,无法查看此前已经生成的摘要
2. 一次只能上传一个文件并执行推理。这是因为官方提供的推理方法给定的Batch为1暂未调研提高Batch之后带来的影响
3. 当前使用的```opencv```暂不支持```H264```编解码,因此需要在推理结束后使用```ffmpeg```再次转码,以支持在线预览摘要视频
4. 当前使用的摘要方法使用```opencv```逐帧写入视频文件(与官方版本保持一致),因此生成的视频不包含音轨

View File

@ -140,5 +140,8 @@ async def generate_file(id: str = Form(...)):
if __name__ == "__main__": if __name__ == "__main__":
os.makedirs(ServerConfig.videos_upload_path, exist_ok=True)
os.makedirs(ServerConfig.videos_play_path, exist_ok=True)
os.makedirs(ServerConfig.h5s_root_path, exist_ok=True)
uvicorn.run(app=app) uvicorn.run(app=app)