漫画内容自动转录与角色识别系统
Magi是一个开源项目,致力于自动生成漫画转录和角色识别。该系统可以定位文本框、识别说话人物,并生成漫画对话转录。Magiv2版本支持整章漫画处理和角色名称识别。Magi为研究人员和漫画爱好者提供了获取漫画文本内容的工具,提高了漫画的可访问性和分析便利性。
待办事项:
from transformers import AutoModel import numpy as np from PIL import Image import torch import os images = [ "图片1路径.jpg", "图片2路径.png", ] def read_image_as_np_array(image_path): with open(image_path, "rb") as file: image = Image.open(file).convert("L").convert("RGB") image = np.array(image) return image images = [read_image_as_np_array(image) for image in images] model = AutoModel.from_pretrained("ragavsachdeva/magi", trust_remote_code=True).cuda() with torch.no_grad(): results = model.predict_detections_and_associations(images) text_bboxes_for_all_images = [x["texts"] for x in results] ocr_results = model.predict_ocr(images, text_bboxes_for_all_images) for i in range(len(images)): model.visualise_single_image_prediction(images[i], results[i], filename=f"图片_{i}.png") model.generate_transcript_for_single_image(results[i], ocr_results[i], filename=f"文字记录_{i}.txt")
from PIL import Image import numpy as np from transformers import AutoModel import torch model = AutoModel.from_pretrained("ragavsachdeva/magiv2", trust_remote_code=True).cuda().eval() def read_image(path_to_image): with open(path_to_image, "rb") as file: image = Image.open(file).convert("L").convert("RGB") image = np.array(image) return image chapter_pages = ["页面1.png", "页面2.png", "页面3.png" ...] character_bank = { "images": ["角色1.png", "角色2.png", "角色3.png", "角色4.png" ...], "names": ["路飞", "山治", "索隆", "乌索普" ...] } chapter_pages = [read_image(x) for x in chapter_pages] character_bank["images"] = [read_image(x) for x in character_bank["images"]] with torch.no_grad(): per_page_results = model.do_chapter_wide_prediction(chapter_pages, character_bank, use_tqdm=True, do_ocr=True) transcript = [] for i, (image, page_result) in enumerate(zip(chapter_pages, per_page_results)): model.visualise_single_image_prediction(image, page_result, f"页面_{i}.png") speaker_name = { text_idx: page_result["character_names"][char_idx] for text_idx, char_idx in page_result["text_character_associations"] } for j in range(len(page_result["ocr"])): if not page_result["is_essential_text"][j]: continue name = speaker_name.get(j, "未知") transcript.append(f"<{name}>: {page_result['ocr'][j]}") with open(f"文字记录.txt", "w") as fh: for line in transcript: fh.write(line + "\n")
提供的模型和数据集可在个人、研究、非商业和非营利性项目中无限制使用。对于任何其他使用场景,请通过电子邮件联系我,详细描述您的需求,以建立定制的许可安排。我的联系信息可在我的网站上找到。
@InProceedings{magiv1,
author = {Sachdeva, Ragav and Zisserman, Andrew},
title = {The Manga Whisperer: Automatically Generating Transcriptions for Comics},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2024},
pages = {12967-12976}
}
@misc{magiv2,
title={Tails Tell Tales: Chapter-Wide Manga Transcriptions with Character Names},
author={Ragav Sachdeva and Gyungin Shin and Andrew Zisserman},
year={2024},
eprint={2408.00298},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2408.00298},
}
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业 培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修 复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。