# 针对Deepfake假脸视频面部细节特征的提取算法
## 2022年5月12日17:05:22更新:
详见 [Spectrum_SVM4Image_and_Resnet_LSTM4Video](./Spectrum_SVM4Image_and_Resnet_LSTM4Video/) 文件夹
添加 **Spectrum特征输入SVM** 图像Real/Fake分类器,准确率达到99%;
添加深度学习网络 **ResNet+LSTM** 进行视频Real/Fake分类,准确率达到接近90%,实验有点过拟合。
## 目录
- [x] [仓库说明](#一仓库说明)
- [x] [工作计划](#二工作计划)
- [x] [调研和资料分析](#三调研和资料分析)
- [x] [学习特征提取](#四学习特征提取)
- [x] [数据库预处理](#五数据库预处理)
- [x] [Celeba PGGAN DFD 数据集特征提取](#六CelebaPGGANDFD数据集特征提取)
- [x] [SVM 分类器分类](#七SVM分类器分类)
- [x] [完成论文](#八完成论文)
---
## 一、仓库说明
```bash
.
│ LICENSE # 许可说明
│ README.md # 简介
│
├─References # 参考文献
├─FeatureExtractionLearning # 学习特征提取 代码文件夹
├─DatabasePreprocessing # 数据库预处理:图片提取人脸,视频分帧存图提取人脸
├─DatabaseFeatureExtraction # 提取 Celeba PGGAN DFD 数据集人脸特征 代码文件夹
├─SVM # 学习SVM分类器,分类器实现人脸判别 代码文件夹
├─screenshots # 一些截图
└─Paper # 我的论文
```
---
## 二、工作计划
### 1.数据库分配
学生 | 真脸 | GAN假脸数据库 | Deepfake数据库
-|-|-|-
JYT | FFHQ(0-35000) | styleGAN2 | TIMIT
XJ | Celeba(train) | styleGAN | DFDC
ZS | FFHQ(35001-70000) | starGAN | faceforensic
PY | Celeba(validation,test) | PGGAN | DeepfakeDetection
Celeba(validation,test),PGGAN,DeepfakeDetection 数据,百度云链接:链接:https://pan.baidu.com/s/1zjONBZZgDypsGqkUP2Aeww?pwd=3e07 提取码:3e07
### 2.特征分配
学生 | 特征
-|-
JYT | 1、局部二值模式LBP 2、方向梯度直方图HOG 3、SRM残差图像
XJ | 1、共生矩阵 2、光流场 3、LPQ特征
ZS | 1、直方图/共生矩阵 2、拉普拉斯变换均方差 3、小波变换频率直方图
PY | 1、颜色直方图 2、Surf 3、错误级别分析(Error level analysis,ELA)
### 3.工作计划
起止时间 | 工作内容 | 备注
-|-|-
2020.01-2020.02 | 调研和资料分析 |
2020.01-2020.02 | 数据库预处理 | 视频分帧、人脸提取及定位
2020.02-2020.03 | 提取人脸特征、检测GAN真假脸图像差异 | 隐写分析特征或者图像篡改特征
2020.03-2020.04 | Deepfake换脸视频检测算法实现 | SVM分类器等不同分类器
2020.04-2020.05 | 完成毕业论文 |
---
## 三、调研和资料分析
### 1.参考文献
[[1] Generative Adversarial Networks](https://arxiv.org/pdf/1406.2661.pdf)
[[2] Deepfake Video Detection through Optical Flow Based CNN](openaccess.thecvf.com/content_ICCVW_2019/papers/HBU/Amerini_Deepfake_Video_Detection_through_Optical_Flow_Based_CNN_ICCVW_2019_paper.pdf)
[[3] Exposing deep fakes using inconsistent head poses](https://arxiv.org/pdf/1811.00661.pdf)
[[4] Exposing GAN-synthesized Faces Using Landmark Locations](https://arxiv.org/pdf/1904.00167.pdf)
[[5] Perceptual Judgments to Detect ComputerGenerated Forged Faces in Social Media](https://kopernio.com/viewer?doi=10.1007/978-3-030-20984-1_4&token=WzE3MDUwMzYsIjEwLjEwMDcvOTc4LTMtMDMwLTIwOTg0LTFfNCJd.EPCnRwtIa113H6qoV-aTHHQoOOs)
……
详见文件夹: [./Preparation](./Preparation)
### 2.我自己的中文翻译
详见文件夹: [./Preparation](./Preparation)
### 3.Python学习和人脸检测学习
我的 Python 学习笔记: https://github.com/Allenem/GitHubNoteBook#python
OpenCV,dlib,face_recognition 实现人脸检测,标志检测等实验小测试: https://github.com/Allenem/PyTest
---
## 四、学习特征提取
### 1、颜色直方图
>学习参考:
>https://blog.csdn.net/wsp_1138886114/article/details/80660014
>https://www.jianshu.com/p/38da7d6cb89d
>https://blog.csdn.net/u010454030/article/details/80312809
>https://blog.csdn.net/qq_43443531/article/details/93043212
>https://www.jianshu.com/p/bd12c4273d7d
#### 1.1 matplotlib画图像变色问题
在使用opencv配合jupyter notebook调试,其中常常使用matplotlib来显示图像
```py
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread("image.jpg")
# 后面的方法都从此处开始更改
plt.subplot(),plt.imshow(image),plt.title('Input')
plt.show()
```
但是在实际使用过程中,我们会发现plt.imshow()后出现的图形变成了负片,这是因为cv2.imshow()与plt.imshow()的通道顺序不同产生的,前者BGR,后者RGB。
解决方法一:
```py
b, g, r = cv2.split(image)
image_new = cv2.merge([r, g, b])
plt.subplot(),plt.imshow(image_new),plt.title('Input')
plt.show()
```
解决方法二:
```py
image_new = np.flip(original_img,axis = 2)
plt.subplot(),plt.imshow(image_new),plt.title('Input')
plt.show()
```
解决方法三:
```py
image_new = image[:,:,::-1]
plt.subplot(),plt.imshow(image_new),plt.title('Input')
plt.show()
```
当然cv2自己显示没有问题,它的颜色顺序是BGR
```py
import cv2
import numpy as np
image = cv2.imread("image.jpg")
cv2.imshow("Img", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
#### 1.2 histogram.py 和 histogram3lines.py 效果图
![histogram](./screenshots/histogram.png)
![histogram3lines](./screenshots/histogram3lines.png)
### 2、Surf
>学习参考:
>https://blog.csdn.net/qq_37764129/article/details/80969515
>https://blog.csdn.net/Allyli0022/article/details/87010050
>https://www.jianshu.com/p/14b92d3fd6f8
>https://blog.csdn.net/ssw_1990/article/details/72789873
#### 2.1 SURF简介
[SURF论文](https://www.vision.ee.ethz.ch/~surf/eccv06.pdf)
[OpenCV-python-Tutorial](https://docs.opencv.org/3.1.0/df/dd2/tutorial_py_surf_intro.html)
[OpenCV-python-Tutorial中文解释](https://blog.csdn.net/yukinoai/article/details/88914269)
`SURF(Speeded Up Robust Features)` 加速鲁棒特征。正如其名,它是加速版本的 `SIFT(Scale-invariant feature transform)` 尺度不变特征转换。
它善于处理具有模糊和旋转的图像,但是不善于处理视角变化和光照变化。在SIFT中使用高斯微分 `DoG(Difference of Gaussian)` 对高斯拉普拉斯算子 `LoG(Laplacian of Gaussian)` 进行近似,而在SURF中使用盒子滤波器 `Box Filter` 对 `LoG` 进行近似,这样就可以使用积分图像了(计算图像中某个窗口内所有像素和时,计算量的大小与窗口大小无关)。总之,SURF最大的特点在于采用了 **Haar特征** 以及 **积分图像** 的概念,大大加快了程序的运行效率。
#### 2.2 SURF小实验和效果图
**① 创建一个SURF对象**
`cv2.xfeatures2d.SURF_create(, hessianThreshold, nOctaves, nOctaveLayers, extended, upright)`
- hessianThreshold:默认100,关键点检测的阈值,越高监测的点越少
- nOctaves:默认4,金字塔组数
- nOctaveLayers:默认3,每组金子塔的层数
- extended:默认False,扩展描述符标志,True表示使用扩展的128个元素描述符,False表示使用64个元素描述符。
- upright:默认False,垂直向上或旋转的特征标志,True表示不计算特征的方向,False-计算方向。
之后也可以通过类似getHessianThreshold(),setHessianThreshold()等函数来获取或修改上述参数值,例如
`surf.setHessianThreshold(True)` 表示将HessianThreshold参数修改为True。
**② 绘制特征点**
`cv2.drawKeypoint(image, keypoints, outImage, color, fla
没有合适的资源?快使用搜索试试~ 我知道了~
本科毕业设计:针对Deepfake假脸视频面部细节特征的提取算法
共97个文件
py:33个
png:22个
pdf:13个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 140 浏览量
2024-05-08
22:20:18
上传
评论
收藏 37.56MB ZIP 举报
温馨提示
本科毕业设计:针对Deepfake假脸视频面部细节特征的提取算法 关于本科毕业设计中针对Deepfake假脸视频面部细节特征的提取算法,我找到了一些有用的资源。这些资源可能对您的毕业设计有所帮助。 1. *: 详细介绍了Deepfake假脸视频面部细节特征的提取算法,包括SURF特征和ELA特征的提取方法。这些特征能够挖掘合成视频与原始视频的差异,有助于判别真假视频。文章还提到了特征提取的方便性和数据量较少的特点。 2. 针对Deepfake假脸视频面部细节特征的提取算法的相关代码和文档。它涉及了Spectrum特征输入SVM图像Real/Fake分类器,以及深度学习网络ResNet+LSTM进行视频Real/Fake分类的方法。此外,仓库中还有关于数据库预处理、特征提取和SVM分类器实现的相关内容。 这些资源涵盖了从理论到实践的各种细节,对于理解和实现类似的项目非常有帮助。您可以访问这些资源,参考它们的实现方式和功能模块,以帮助您完成毕业设计。希望这些资源能帮助您顺利完成项目。
资源推荐
资源详情
资源评论
收起资源包目录
Allenem_graduation-designmaster.zip (97个子文件)
graduation-design-master
screenshots
histogram.png 99KB
DFDattack_log.png 8KB
prepare.jpg 712KB
framing.png 69KB
SVM简介.png 42KB
histogram3lines.png 47KB
surf.png 339KB
findFaceScreenshots.png 537KB
DFDoriginal_log.png 8KB
svm_eg.png 48KB
Paper
开题报告+蒲尧+20200229.doc 152KB
本科毕业设计(论文)-蒲尧-20200608.pdf 3.26MB
DatabaseFeatureExtraction
extract_feature.py 5KB
CommonFunction
extract_color.py 767B
extract_SURF.py 1KB
extract_ELA.py 1KB
README.md 47B
Spectrum_SVM4Image_and_Resnet_LSTM4Video
image
deepfake_creation_model.png 101KB
spectrum.png 50KB
A_two-step_process_for_face_manipulation_detection.png 89KB
loss.png 17KB
deepfake_detection.png 49KB
gan_architecture.png 44KB
video_face_example.png 46KB
CNN+LSTM.png 56KB
capsule_network.png 116KB
acc.png 17KB
confusion_matrix.png 18KB
videodetection
CNN_LSTM4VideoDetection_FaceForensics++.ipynb 190KB
Gobal_metadata.csv 462KB
README.md 24KB
imagedetection
radialProfile.py 1KB
celeba_low_1000.pkl 1.24MB
SVM4ImageDetection_CelebA_PGGAN.ipynb 85KB
DatabasePreprocessing
delLastFile.py 689B
framing.py 2KB
findfaceFR.py 3KB
findface_comparation.py 3KB
findfaceCV.py 2KB
pngToJpg.py 3KB
findfaceFR_folder.py 4KB
renameAll.py 592B
getDiff.py 2KB
LICENSE 1KB
References
[3] Exposing deep fakes using inconsistent head poses.pdf 2.19MB
[8] SURF Speeded Up Robust Features.pdf 706KB
[1] Generative adversarial nets.pdf 518KB
[11] 基于SVM分类的边缘提取算法.pdf 2.48MB
[6] Hybrid LSTM and Encoder–Decoder Architecture for Detection of Image Forgeries.pdf 5.24MB
[9] An evaluation of Error Level Analysis in image forensics.pdf 1.01MB
[10] Image Forgery Detection by Semi-Automatic Wavelet Soft-Thresholding with Error Level Analysis.pdf 3.94MB
[12]支持向量机理论与算法研究综述_丁世飞.pdf 853KB
[7] 颜色直方图识别新技术研究.pdf 2.89MB
[2] Deepfake Video Detection through Optical Flow Based CNN.pdf 164KB
[4] Exposing GAN-synthesized Faces Using Landmark Locations.pdf 8.01MB
[5] Perceptual Judgments to Detect Computer Generated Forged Faces in Social Media.pdf 839KB
SVM
svm_ref_streamvalfile.py 1KB
SVM-test
svm_learning.py 2KB
svm_eg.py 1KB
model.pickle 2KB
ExtractFeatureData
extract_feature_data_per10img.py 8KB
CommonFunction
extract_ELA_data.py 2KB
extract_SURF_data.py 977B
extract_color_data.py 455B
extract_feature_data.py 5KB
test.py 3KB
OUTPUT.txt 8KB
SVM-SGD
Model
SURF_clf.pkl 2KB
ELA_clf.pkl 513KB
color_clf.pkl 1.5MB
GetData
get_color.py 724B
get_ELA.py 722B
get_SURF.py 2KB
svm_SGD_per100img.py 17KB
svm_SGD.py 11KB
README.md 1KB
FeatureExtractionLearning
BrightenDiff.py 1KB
histogram.py 2KB
img
webOriginalImg_ela.jpg 240KB
webOriginalImg.jpg 206KB
butterfly_ela.jpg 156KB
dancersmiling-ela.png 1006KB
faketest.jpg 54KB
webOriginalImg-ela.jpg 227KB
booksANDbooks-edited_diff.jpg 286KB
faketest_ela.jpg 114KB
dancersmiling.jpg 233KB
meinv.png 236KB
books.jpg 125KB
books-edited.jpg 219KB
dancersmiling_ela.jpg 229KB
butterfly.jpg 153KB
histogram3lines.py 550B
ELA.py 2KB
surf.py 626B
.gitignore 2KB
README.md 35KB
共 97 条
- 1
资源评论
人工智能教学实践
- 粉丝: 533
- 资源: 258
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功