找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 82|回复: 1

【视频查重】Towhee

[复制链接]

22

主题

13

回帖

116

积分

注册会员

积分
116
发表于 2025-6-13 22:41:20 | 显示全部楼层 |阅读模式
本帖最后由 Jackerzhang 于 2025-6-13 22:46 编辑

Towhee 是一个开源的数据处理框架,专注于非结构化数据的处理,能够一键提取数据的 embedding(嵌入向量),并支持多种数据处理操作。以下是关于 Towhee 的功能特点、使用方法以及如何用于视频查重的详细介绍:

Towhee 的功能特点

1. 高效的数据处理:Towhee 提供了丰富的数据处理操作,如`map`、`flat_map`、`filter`等,能够灵活地对数据进行转换和处理。

2. 支持多种数据类型:可以处理图像、视频、文本等多种非结构化数据。

3. 预构建的管道(Pipeline):提供了多种预构建的管道,例如图像嵌入、视频帧提取等,方便用户快速上手。

4. 可扩展性:支持自定义操作和算子,用户可以根据自己的需求扩展功能。


Towhee 的使用方法

安装 Towhee
可以通过以下命令安装 Towhee:

  1. <blockquote>```bash
复制代码



如果需要使用模型功能,还需安装:
  1. <blockquote>```bash
复制代码


运行第一个 Pipeline
以下是一个简单的示例,展示如何使用 Towhee 创建并运行一个句子嵌入管道:

  1. <blockquote>```python
复制代码


使用 Towhee 搭建视频查重系统
Towhee 可以与 Milvus 结合,搭建高效的视频查重系统。以下是具体步骤:

1.提取视频帧向量
使用 Towhee 提取视频帧的嵌入向量,并将其存储到 Milvus 中。以下是代码示例:

  1. <blockquote>```python
复制代码



22

主题

13

回帖

116

积分

注册会员

积分
116
 楼主| 发表于 2025-6-13 22:41:49 | 显示全部楼层
2.检测重复视频
通过比较视频帧向量的相似度,检测重复的视频片段。以下是代码示例:

```python
query_file_pattern = 'path/to/query/video/files/*.mp4'

# 定义检测管道
dc = (
    towhee.glob['query_url'](query_file_pattern).stream()
    .video_decode.ffmpeg['query_url', 'frames'](sample_type='time_step_sample', args={'time_step': 1})
    .get_image['frames', 'images']()
    .flatten('images')
    .drop_empty()
    .image_embedding.isc['images', 'embeddings']()
    .select['query_url', 'embeddings']()
    .ann_search.milvus['embeddings', 'results'](collection='video_deduplication', limit=64, output_fields=['path'], metric_type='IP')
    .split_res['results', ('retrieved_urls','scores')]()
    .group_by('query_url')
    .video_copy_detection.select_video[('retrieved_urls','scores'), 'ref_url'](top_k=5, reduce_function='sum', reverse=True)
    .from_leveldb['ref_url', 'retrieved_embedding']('url_vec.db', True)
    .merge_ndarray['embeddings', 'video_embedding']()
    .flatten('retrieved_embedding', 'ref_url')
    .video_copy_detection.temporal_network[('video_embedding', 'retrieved_embedding'), ('predict_segments', 'segment_scores')]()
    .select['query_url', 'ref_url', 'predict_segments', 'segment_scores']()
    .show(limit=50)
)
```
总结
Towhee 提供了强大的数据处理能力,能够高效地提取视频帧的嵌入向量,并结合 Milvus 实现视频查重功能。通过上述步骤,可以快速搭建一个细粒度的视频查重系统,适用于视频搬运检测、侵权检测等场景。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|52ito论坛

GMT+8, 2025-12-11 23:24 , Processed in 0.103827 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表