2.Deepfake的主流研究方向以及如何识别Deepfake
一、Deepfake
1.Deepfake的认识
Deepfake是运用人工智能算法进行的伪造媒体的生成,技术本身就是一把双刃剑,在Deepfake技术在多个领域展现创新潜力的同时,也存在诸多问题,例如侵犯个人隐私、引发市场恐慌、更甚至威胁国家安全。
2.Deepfake的主流研究方向以及如何识别Deepfake
(1)主流研究方向
- 两个人的面部交换
- 强调转移源运动和姿态的面部重演
- 嘴型匹配文本
- 修改目标图像的面部属性
(2)如何识别
- 观察图片的细节,人物的面部特征,尤其是嘴巴眼睛
- 检查光源和阴影
- 分析像素
- 注意图片背景
二、深度学习与Deepfake
深度学习中的CNN能够识别图像、视频中的复杂特征,在Deepfake检测中,模型可以学习识别内容中的异常特征。
三、代码学习
·timm.create_model('resnet18', pretrained=True, num_classes=2) 加载预训练的ResNet-18模型,并且使用在ImageNet数据集上预训练的权重,使其有两个类别的输出。
·model = model.cuda()将模型移动到GPU上加速
·设置训练模式:model.train()
·遍历数据加载器:使用enumerate()遍历
·数据移动GPU:.cuda(non_blocking=true),将non_blocking参数设置为true意思是如果数据正在被复制到GPU,此操作会立即返回
·前向传播:output=model(input)
·计算损失:loss=criterion(output,target)计算预测与目标之间的差异
·梯度归零:optimizer.zero_grad()清空(前置)
·反向传播:loss.backward()
·参数更新optimizer.step()
·transforms.可以对原始图像进行旋转、缩放、翻转等操作
参考文章:Task1:了解Deepfake & 初探baseline - 飞书云文档 (feishu.cn)