多模态电影场景情感分析系统
所用语言python3.11.pycharm
数据库5.7.33-0ubuntu0.16.04.1 (Ubuntu),工具DBeaver24.22
系统介绍:采集电影片段视频和对应字幕文本,分析场景情感并可视化展示。
一Sql代码
电影数据表
create table movies
(
id int primary key AUTO_INCREMENT,
title varchar(255),
video_path varchar(500),
subtitle_path varchar(500),
duration float,
upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

分析结果表
create table analysis_results (
id INT PRIMARY KEY AUTO_INCREMENT,
movie_id int,
frame_index int,
visual_emotion varchar(50),
text_emotion varchar(50),
fused_emotion varchar(50),
confidence float,
timestamp float,
FOREIGN KEY (movie_id) REFERENCES movies(id) ON DELETE CASCADE
);

整体统计表
create table emotion_stats (
id int PRIMARY KEY AUTO_INCREMENT,
movie_id int,
emotion_type varchar(50),
modality varchar(20),
count int,
percentage float,
FOREIGN KEY (movie_id) REFERENCES movies(id) ON DELETE CASCADE
);

爬取任务表
CREATE TABLE IF NOT EXISTS crawl_tasks (
id INT PRIMARY KEY AUTO_INCREMENT,
url VARCHAR(500) NOT NULL,
platform VARCHAR(50),
status ENUM('pending', 'processing', 'completed', 'failed') DEFAULT 'pending',
title VARCHAR(255),
video_path VARCHAR(500),
subtitle_path VARCHAR(500),
duration FLOAT,
error_message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
completed_at TIMESTAMP NULL
);
搜索历史表
CREATE TABLE IF NOT EXISTS search_history (
id INT PRIMARY KEY AUTO_INCREMENT,
keyword VARCHAR(255) NOT NULL,
platform VARCHAR(50),
result_count INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
user_ip VARCHAR(45)
);
其他代码在打包的文件里给出。
功能特点
- 多模态数据采集:支持视频和字幕文件同时上传
- 深度学习特征提取:
o 视觉特征:使用ResNet-50 CNN提取
o 文本特征:使用BERT预训练模型提取 - 特征融合:双流神经网络融合视觉和文本特征
- 情感分类:识别5种情感(高兴、悲伤、愤怒、中性、惊喜)
- 数据可视化:情感分布饼图和时间序列折线图
- MySQL数据存储:完整记录分析结果
- 响应式Web界面:Bootstrap 5构建(需要梯子),支持文件拖拽上传
流程
1主要界面
![image]()
2 进入"视频爬取"页面
爬取泰坦尼克号经典片段,网站为:https://www.bilibili.com/video/BV1VK4y1L7wN/?spm_id_from=333.337.search-card.all.click&vd_source=3e65b6e2ddfc530ff04a8636c5e98f19

3导入爬取的文件进行分析


5查看结果




浙公网安备 33010602011771号