paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇)

这篇具有很好参考价值的文章主要介绍了paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

通过前面两篇文章的介绍,我们可以大致的知道模型用到的特征分为四块:qCap,qImg,captions,imgs。根据这些特征,我们得到的模型效果在0.7左右。是否能加入更多的特征,进一步提升模型的效果呢?

通过数据分析,我们发现了部分图片中存在文字且具有判断文本类别的作用。所以,本文采用paddleocr模型来提取图像中的文字特征。

一、安装paddleOCR

在安装paddleOCR前,需要安装依赖组件Shapely

pip install Shapely

接下来,就可以安装paddleOCR了,也是一行代码就完成安装

pip install --user paddleocr -i https://mirror.baidu.com/pypi/simple

接下来我们就可以进行测试了

from paddleocr import PaddleOCR
import os
os.environ['KMP_DUPLICATE_LIB_OK']='TRUE'

captions_list = []
# Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换
# 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。
ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # need to run only once to download and load model into memory
caption = []
img_path = '0.jpg'
result = ocr.ocr(img_path, cls=True)
for idx in range(len(result)):
    res = result[idx]
    print(res)
    for line in res:
        if line[1][1]>0.9:   # line[1][1]是提取文本的置信度
            print(line[1][0])   # line[1][0]是提取文本
           
# 显示结果
from PIL import Image
result = result[0]
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='/path/to/PaddleOCR/doc/fonts/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')

测试结果如下
paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇),深度学习,python,媒体,数据库,php
可以发现,识别效果还是不错的。

paddleOCR以ppocr轻量级模型作为默认模型,如果你想尝试更多,可以参考以下链接的第3节自定义模型进行自定义更换。
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/whl.md

二、代码部分

运行该部分代码,可以得到train、test、val各个img文件夹中图片中的文字,一行文字代表一张图片。

#读取数据
import json
from paddleocr import PaddleOCR
import os
os.environ['KMP_DUPLICATE_LIB_OK']='TRUE'


data_items_train = json.load(open("queries_dataset_merge/dataset_items_train.json",'r',encoding='UTF8'))
data_items_val = json.load(open("queries_dataset_merge/dataset_items_val.json",'r',encoding='UTF8'))
data_items_test = json.load(open("queries_dataset_merge/dataset_items_test.json",'r',encoding='UTF8'))

# 写入txt文件
def load_ocr_captions(context_data_items_dict,queries_root_dir,split):
    if split == 'train':
        fname = 'ocr/ocr_qimg_train.txt'
    if split == 'val':
        fname = 'ocr/ocr_qimg_val.txt'
    if split == 'test':
        fname = 'ocr/ocr_qimg_test.txt'
    # image_path = os.path.join(queries_root_dir,fname)

    # Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换
    # 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。
    with open(fname, 'w', encoding="UTF8") as f:
        for key in range(len(context_data_items_dict)):
            print(key)
            captions_list = []
            image_path = os.path.join(queries_root_dir, context_data_items_dict[str(key)]['image_path'])
            ocr = PaddleOCR(use_angle_cls=True, lang="ch",show_log=False)  # need to run only once to download and load model into memory
            result = ocr.ocr(image_path, cls=True)
            for idx in range(len(result)):
                res = result[idx]
                for line in res:
                    if line[1][1] >= 0.8:  # 置信度
                        captions_list.append(line[1][0])
            captions = ",".join(captions_list)
            f.write(captions+'\n')


#### load Datasets ####
train_dump_ocr_captions= load_ocr_captions(data_items_train, 'queries_dataset_merge','train')
val_dump_ocr_captions = load_ocr_captions(data_items_val,'queries_dataset_merge','val')
test_dump_ocr_captions = load_ocr_captions(data_items_test,'queries_dataset_merge','test')

三、模型优缺点

优点是模型识别的准确率较高,缺点是模型不能多线程跑,读完整个数据集耗时1day。建议在入模前就通过ocr采集存储每个图片的文字,后续调用,直接通过图片id匹配即可。

四、写在最后

文本主要展现用什么方法来做数据特征加工,对baseline改动的代码就不贴了,想要的uu们可以私信我。

本次记录主要还是以学习为主,抽了工作之余来进行OCR特征加工。探索了一个带大家最快上手的路径,降低大家的入门难度。

看完觉得有用的话,记得点个赞,不做白嫖党~文章来源地址https://www.toymoban.com/news/detail-724628.html

到了这里,关于paddlenlp:社交网络中多模态虚假媒体内容核查(特征篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算的社交媒体:如何利用社交媒体增强云计算的影响力

    云计算和社交媒体都是当今世界最热门的话题之一。云计算提供了一种更高效、灵活和可扩展的计算资源分配方式,而社交媒体则为人们提供了一种更直接、实时和广泛的沟通方式。然而,这两者之间存在着紧密的联系,它们可以相互补充,共同提高影响力。在本文中,我们

    2024年04月27日
    浏览(54)
  • 【信息与内容安全】实验二:虚假人脸检测实验

    摘要: 在此次实验中,先尝试了自己手动搭建了一个 CNN 进行虚假人脸的分类实验,但发现有训练速度慢准确率低等缺点。所以尝试使用已有的模型(resnet-18)和预训练的参数进行迁移学习,包括尝试了直接把卷积层借用为固定特征提取器和 Fine-tuning 的方法,大大提高了训练

    2024年02月04日
    浏览(69)
  • 去中心化社交:Web3如何重新定义社交媒体

    随着区块链技术的快速发展,Web3正在崭露头角,成为社交媒体领域的一股新潮流。去中心化社交的理念与技术创新正在重新定义用户的社交体验,颠覆传统社交媒体的中心化模式。本文将深入探讨Web3对社交媒体的影响,以及去中心化社交是如何重塑人们在数字世界中的社交

    2024年01月18日
    浏览(69)
  • 社交媒体数据恢复:Facebook

    在使用Facebook的过程中,可能会出现数据丢失的情况,如误删了重要的帖子、照片或其他文件。在这种情况下,你可以尝试以下方法来恢复Facebook的数据。 首先,确保你备份了Facebook的数据。如果你定期备份数据,那么恢复起来就会更加容易。如果你没有备份,那么可以尝试以

    2024年04月27日
    浏览(42)
  • 设计和构建区块链社交媒体平台

    集中式社交媒体,例如 Facebook 和 Twitter,并不适合所有用例。 例如,集中式社交媒体平台与中央权威机构(提供商)相关联。 该提供商有能力删除或隐藏用户帖子。 此外,由于集中式社交媒体是一个可变记录,它可能会被更改。 这有各种各样的后果。 例如,用户可能很难

    2024年01月17日
    浏览(49)
  • 跨境电商社交媒体:选择合适的平台

    正如您在使用社交媒体的九种方法中了解到的那样,跨境电商优先考虑社交媒体营销可能会更有利可图。有数十个平台可供选择,每个平台都迎合了具有不同兴趣、特征和位置的独特受众。 那么您应该关注哪个社交媒体平台以及如何以最大效率工作?  目录     Facebook 谁在

    2024年02月09日
    浏览(71)
  • Facebook的时间机器:回溯社交媒体的历史

    社交媒体的历史可以追溯到互联网的早期发展阶段。在Web 1.0时代,互联网主要是一个信息发布平台,用户主要是被动地接收信息。但随着Web 2.0的兴起,互联网逐渐转变为一个互动和参与的平台,社交媒体应运而生。Facebook作为这一时代的先驱,成为了全球范围内最受欢迎的社

    2024年04月27日
    浏览(42)
  • 社交媒体数据分析:解读Facebook用户行为

    在当今数字化时代,社交媒体已经成为人们生活不可或缺的一部分,而Facebook作为这个领域的巨头,承载了数十亿用户的社交活动。这庞大的用户群体产生了海量的数据,通过深度数据分析,我们能够深入解读用户行为,从而更好地满足用户需求、提升用户体验,同时为平台

    2024年01月21日
    浏览(56)
  • 指纹浏览器可以帮社交媒体营销做什么?

    社交媒体营销是指利用各种社交媒体平台,在上面发布内容进行营销、销售、公共关系处理的行为,并与目标受众进行良好的互动。像Facebook、YouTube、Instagram、Twitter、Tiktok、Linkedin等都是常见的社交媒体营销平台。 与买家建立良好的关系 了解消费者的习惯和及时得到反馈 增

    2024年02月13日
    浏览(52)
  • 22.3D等距社交媒体菜单的悬停特效

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包