💡 [영어 문서 / ENGLISH DOC]와 [중국어 문서 / CHINESE DOC]를 제공하고 있습니다. 저희는 이 프로젝트에 대한 기여를 매우 환영하고 감사드립니다.
- [2024.09.05] 🔥 Deepfake defenders의 초기 버전을 공식적으로 릴리즈했으며, [Bund에서의 컨퍼런스]에서 deepfake challenge에서 3등을 수상했습니다.
시작하기 전, ImageNet-1K로 사전에 훈련된 가중치 파일들을 ./pre_model
디렉토리에 넣어주세요. 가중치 파일들의 다운로드 링크들은 아래와 같습니다.
RepLKNet: https://drive.google.com/file/d/1vo-P3XB6mRLUeDzmgv90dOu73uCeLfZN/view?usp=sharing
ConvNeXt: https://dl.fbaipublicfiles.com/convnext/convnext_base_1k_384.pth
학습에 필요한 파일인 트레이닝셋 파일인 (*.txt) 파일, 벨리데이션셋 파일 (*.txt), 라벨 파일 (*.txt) 을 dataset 폴더에 넣고, 파일들을 같은 이름으로 지정하세요. (dataset 아래에 다양한 txt 예제들이 있습니다)
두 모델(RepLKNet과 ConvNeXt)을 위해 main_train.py
의 파라미터가 아래와 같이 설정되어야 합니다.
# RepLKNet으로 설정
cfg.network.name = 'replknet'; cfg.train.batch_size = 16
# ConvNeXt으로 설정
cfg.network.name = 'convnext'; cfg.train.batch_size = 24
bash main.sh
CUDA_VISIBLE_DEVICES=0 python main_train_single_gpu.py
mergy.py
의 ConvNeXt로 훈련된 모델 경로와 RepLKNet으로 훈련된 경로를 바꾸고, python mergy.py
를 실행시켜 최종 인퍼런스 테스트 모델을 만듭니다.
다음의 예제는 POST 요청 인터페이스를 사용하여 이미지 경로를 매개변수로 요청하여 모델이 예측한 딥페이크 점수를 응답을 출력합니다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
import json
import requests
import json
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'
}
url = 'http://ip:10005/inter_api'
image_path = './dataset/val_dataset/51aa9b8d0da890cd1d0c5029e3d89e3c.jpg'
data_map = {'img_path':image_path}
response = requests.post(url, data=json.dumps(data_map), headers=header)
content = response.content
print(json.loads(content))
sudo docker build -t vision-rush-image:1.0.1 --network host .
sudo docker run -d --name vision_rush_image --gpus=all --net host vision-rush-image:1.0.1