diff --git a/README.md b/README.md
index fcef9d4..39aba89 100644
--- a/README.md
+++ b/README.md
@@ -29,17 +29,23 @@ More than 95% of deepfake videos are created with DeepFaceLab.
DeepFaceLab is used by such popular youtube channels as
+| [deeptomcruise](https://www.tiktok.com/@deeptomcruise)|
+|---|
+
| [Ctrl Shift Face](https://www.youtube.com/channel/UCKpH0CKltc73e4wh0_pgL3g)| [VFXChris Ume](https://www.youtube.com/channel/UCGf4OlX_aTt8DlrgiH3jN3g/videos)| [Sham00k](https://www.youtube.com/channel/UCZXbWcv7fSZFTAZV4beckyw/videos)|
|---|---|---|
| [Collider videos](https://www.youtube.com/watch?v=A91P2qtPT54&list=PLayt6616lBclvOprvrC8qKGCO-mAhPRux)| [iFake](https://www.youtube.com/channel/UCC0lK2Zo2BMXX-k1Ks0r7dg/videos)| [NextFace](https://www.youtube.com/channel/UCFh3gL0a8BS21g-DHvXZEeQ/videos)|
|---|---|---|
-| [Futuring Machine](https://www.youtube.com/channel/UCC5BbFxqLQgfnWPhprmQLVg)| [RepresentUS](https://www.youtube.com/channel/UCRzgK52MmetD9aG8pDOID3g)|
+| [Futuring Machine](https://www.youtube.com/channel/UCC5BbFxqLQgfnWPhprmQLVg)| [RepresentUS](https://www.youtube.com/channel/UCRzgK52MmetD9aG8pDOID3g)| [Corridor Crew](https://www.youtube.com/c/corridorcrew/videos)|
+|---|---|---|
+
+| [DeepFaker](https://www.youtube.com/channel/UCkHecfDTcSazNZSKPEhtPVQ)| [DeepFakes in movie](https://www.youtube.com/c/DeepFakesinmovie/videos)|
|---|---|
-| [DeepFakeCreator](https://www.youtube.com/channel/UCkNFhcYNLQ5hr6A6lZ56mKA)| [DeepFaker](https://www.youtube.com/channel/UCkHecfDTcSazNZSKPEhtPVQ)| [DeepFakes in movie](https://www.youtube.com/c/DeepFakesinmovie/videos)|
-|---|---|---|
+| [DeepFakeCreator](https://www.youtube.com/channel/UCkNFhcYNLQ5hr6A6lZ56mKA)| [Jarkan](https://www.youtube.com/user/Jarkancio/videos)|
+|---|---|
@@ -144,12 +150,6 @@ DeepFaceLab is used by such popular youtube channels as
(voice replacement is not included!)
(also requires a skill in video editors such as *Adobe After Effects* or *Davinci Resolve*)
-
-
-
- https://www.youtube.com/watch?v=rYKkQ3BOo_E
-
-
 https://www.youtube.com/watch?v=IvY-Abd2FfM
@@ -269,27 +269,18 @@ Unfortunately, there is no "make everything ok" button in DeepFaceLab. You shoul
+
+Discord
+ | Official discord channel. English / Russian. |
-Discord channel (English / Русский)
+Telegram group
+ | Official telegram group. English / Russian. For anonymous communication. Don't forget to hide your phone number |
+
+
+Русский форум
| |
-
-reddit r/RUdeepfakes/
- | Постим русские дипфейки сюда ! |
-
-
-Русское сообщество
- | |
-
-
-telegram (English / Русский)
- | Don't forget to hide your phone number |
-
-
-telegram (English only)
- | Don't forget to hide your phone number |
-
mrdeepfakes
| the biggest NSFW English community |
@@ -298,6 +289,10 @@ Unfortunately, there is no "make everything ok" button in DeepFaceLab. You shoul
reddit r/DeepFakesSFW/
Post your deepfakes there ! |
+
+reddit r/RUdeepfakes/
+ | Постим русские дипфейки сюда ! |
+
QQ 951138799
| 中文 Chinese QQ group for ML/AI experts |
@@ -392,10 +387,25 @@ Register github account and push "Star" button.
+
+
+## You don't need deepfake detector. You need to stop lying.
+
+
+
+ |
+
+
+
+V.I. Lenin
+ |
+
#deepfacelab #deepfakes #faceswap #face-swap #deep-learning #deeplearning #deep-neural-networks #deepface #deep-face-swap #fakeapp #fake-app #neural-networks #neural-nets #tensorflow #cuda #nvidia
|
+
+
diff --git a/doc/tiktok_icon.png b/doc/tiktok_icon.png
new file mode 100644
index 0000000..63d3e7e
Binary files /dev/null and b/doc/tiktok_icon.png differ
diff --git a/merger/MergeMasked.py b/merger/MergeMasked.py
index 1100ab2..1d3de4a 100644
--- a/merger/MergeMasked.py
+++ b/merger/MergeMasked.py
@@ -142,7 +142,7 @@ def MergeMaskedFace (predictor_func, predictor_input_shape,
elif 'raw' in cfg.mode:
if cfg.mode == 'raw-rgb':
- out_img = cv2.warpAffine( prd_face_bgr, face_output_mat, img_size, img_bgr.copy(), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC, cv2.BORDER_TRANSPARENT )
+ out_img = cv2.warpAffine( prd_face_bgr, face_output_mat, img_size, img_bgr.copy(), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC )
out_merging_mask_a = img_face_mask_a
elif cfg.mode == 'raw-predict':
out_img = prd_face_bgr
@@ -214,7 +214,7 @@ def MergeMaskedFace (predictor_func, predictor_input_shape,
img_face_seamless_mask_a[img_face_seamless_mask_a <= i / 10.0] = 0.0
break
- out_img = cv2.warpAffine( prd_face_bgr, face_output_mat, img_size, np.empty_like(img_bgr), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC, cv2.BORDER_TRANSPARENT )
+ out_img = cv2.warpAffine( prd_face_bgr, face_output_mat, img_size, np.empty_like(img_bgr), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC )
out_img = np.clip(out_img, 0.0, 1.0)
if 'seamless' in cfg.mode:
@@ -297,7 +297,7 @@ def MergeMaskedFace (predictor_func, predictor_input_shape,
img_bgr_downscaled = cv2.resize (img_bgr, ( int(img_size[0]*p), int(img_size[1]*p ) ), interpolation=cv2.INTER_CUBIC)
img_bgr = cv2.resize (img_bgr_downscaled, img_size, interpolation=cv2.INTER_CUBIC)
- new_out = cv2.warpAffine( out_face_bgr, face_mat, img_size, np.empty_like(img_bgr), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC, cv2.BORDER_TRANSPARENT )
+ new_out = cv2.warpAffine( out_face_bgr, face_mat, img_size, np.empty_like(img_bgr), cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC )
out_img = np.clip( img_bgr*(1-img_face_mask_a) + (new_out*img_face_mask_a) , 0, 1.0 )