【特效】对实时动态人脸进行马赛克及贴图马赛克处理及一些拓展

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 【特效】对实时动态人脸进行马赛克及贴图马赛克处理及一些拓展

前言

  以在数字化时代,视频内容的分享和传播已经成为了生活中不可或缺的一部分。然而,随着社交媒体的普及和信息的广泛传播,我们也面临着隐私泄露的风险。特别是在涉及他人隐私的视频中,保护个人信息变得愈发重要。在本文中我将为大家讲解使用人脸关键点检测进行马赛克处理。

马赛克简介

  马赛克(Mosaic)是一种常见的图像处理技术,它用于对图像或视频中的特定区域进行模糊或像素化处理。马赛克处理通过在敏感区域上覆盖小方块(像素块)或小圆点,使得原始图像中的细节被隐藏或模糊,从而达到保护隐私或隐藏敏感信息的目的。

马赛克处理的原理很简单,它涉及两个主要步骤:

  1. 区域划分:首先,需要确定要进行马赛克处理的敏感区域。这可以通过人工标注或使用计算机视觉技术进行自动检测来实现。在人脸马赛克处理中,通常会使用人脸检测算法来找到人脸的位置。
  2. 模糊处理:一旦确定了敏感区域,就会在这些区域上进行模糊处理。常见的方法是用小方块或小圆点等固定形状的像素块来替代原始图像中的细节。这些像素块的颜色可以是敏感区域周围的平均颜色或其他特定颜色,以便将敏感信息有效地隐藏起来。

  通过上述的介绍我们知道了马赛克的主要目的:保护隐私或隐藏敏感信息 。那么我们使用另一个张图贴到需要保护隐私或隐藏敏感信息的地方同样达到了目的,如下所示。

image.png

马赛克实操

  在上述两类马赛克处理去前提要求是检测到人脸部位,大家可以参考本人博客:博客:一起来学MediaPipe(一)人脸及五官定位检测,在这里我们将这两类马赛克处理称为模糊马赛克与贴图马赛克。 模糊马赛克:

shell

复制代码

def do_mosaic(img, x, y, w, h, neighbor=9):
    """
    :param rgb_img
    :param int x :  马赛克左顶点
    :param int y:  马赛克左顶点
    :param int w:  马赛克宽
    :param int h:  马赛克高
    :param int neighbor:  马赛克每一块的宽
    """
    for i in range(0, h, neighbor):
        for j in range(0, w, neighbor):
            rect = [j + x, i + y]
            color = img[i + y][j + x].tolist()  # 关键点1 tolist
            left_up = (rect[0], rect[1])
            x2 = rect[0] + neighbor - 1  # 关键点2 减去一个像素
            y2 = rect[1] + neighbor - 1
            if x2 > x + w:
                x2 = x + w
            if y2 > y + h:
                y2 = y + h
            right_down = (x2, y2)
            cv2.rectangle(img, left_up, right_down, color, -1)  # 替换为为一个颜值值
    return img

贴图马赛克:

shell

复制代码

frame[ymin:ymax, xmin:xmax] = effect

演示

image.png

拓展

  在mediapipe 库中我们仅以简单的人脸检测作为关键但进行马赛克处理,但mediapipe 库还可以检测人体姿态,后续大家可以自行尝试做整个人体关键部位的马赛克处理。深入拓展下可以对一些【禁片:1未满8入内】中的主角的关键部分检测并自动打码

相关文章
|
消息中间件 缓存 监控
电商API接口功能全景图:商品、订单、支付、物流如何无缝衔接?
在数字化商业中,API已成为电商核心神经系统。本文详解商品、订单、支付与物流四大模块的API功能,探讨其如何协同构建高效电商闭环,并展望未来技术趋势。
|
机器学习/深度学习 人工智能 算法
基于YOLOv10的无人机巡航小目标实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
基于YOLOv10的无人机巡航小目标实时检测系统,通过7444张无人机场景训练图片,训练出能检测9类目标的模型,并开发了带GUI界面的系统,支持图片、视频和摄像头实时检测,具备背景和标题更换、模型选择、检测信息展示等功能。
2070 0
基于YOLOv10的无人机巡航小目标实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
|
机器学习/深度学习 监控 算法
车辆违停检测:基于计算机视觉与深度学习的自动化解决方案
随着智能交通技术的发展,传统人工交通执法方式已难以满足现代城市需求,尤其是在违法停车监控与处罚方面。本文介绍了一种基于计算机视觉和深度学习的车辆违停检测系统,该系统能自动监测、识别并报警违法停车行为,大幅提高交通管理效率,降低人力成本。通过使用YOLO算法进行车辆检测,结合区域分析判断车辆是否处于禁停区,实现了从车辆识别到违停判定的全流程自动化。此系统不仅提升了交通管理的智能化水平,也为维护城市交通秩序提供了技术支持。
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
这篇文章提供了一个对英文初学者友好的删除GitHub代码仓库的详细图解过程,但实际内容似乎与标题不符,主要是介绍了如何在GitHub上创建代码仓库的步骤,包括注册账号、创建新仓库、填写仓库信息、设置仓库可见性以及添加README文件等,并提供了相关操作的引用链接。
2022 如何删除GitHub上的代码仓库(详细图解过程 对英文初学者友好)
|
人工智能 搜索推荐 大数据
【云故事探索】NO.11:福建紫讯——数字化转型的前行者
福建紫讯科技成立于2015年,致力于为跨境电商提供高效软件解决方案。通过整合大数据、云计算和AI,构建了完整的跨境电商生态系统。面对网络访问难题,紫讯优化了紫鸟浏览器,提升了用户体验,并借助阿里云的PAI框架,大幅降低了研发成本。未来,紫讯将继续深耕AI技术,提升卖家竞争力,并与阿里云深化合作,推动行业发展。
|
Kubernetes Docker Python
如何在K8s中使用Python应用
一文带你了解如何在K8s中使用Python应用
734 4
|
JavaScript 程序员
老程序员分享:JS日期格式转换
老程序员分享:JS日期格式转换
676 0
|
监控 数据可视化 Java
Elasitcsearch CPU 使用率突然飙升,怎么办?
Elasitcsearch CPU 使用率突然飙升,怎么办?
|
开发框架 负载均衡 算法
SpringCloud微服务实战——搭建企业级开发框架(十二):OpenFeign+Ribbon实现负载均衡
Ribbon是Netflix下的负载均衡项目,它主要实现中间层应用程序的负载均衡。为Ribbon配置服务提供者地址列表后,Ribbon就会基于某种负载均衡算法,自动帮助服务调用者去请求。Ribbon默认提供的负载均衡算法有多种,例如轮询、随即、加权轮训等,也可以为Ribbon实现自定义的负载均衡算法。 Ribbon有以下特性:
922 57
SpringCloud微服务实战——搭建企业级开发框架(十二):OpenFeign+Ribbon实现负载均衡
|
机器人 人机交互 vr&ar
实战 | 实时手部关键点检测跟踪(附完整源码+代码详解)
实战 | 实时手部关键点检测跟踪(附完整源码+代码详解)

热门文章

最新文章