christhegamechanger commited on
Commit
41f72a6
·
1 Parent(s): ba6a904

Upload 55 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +4 -11
  2. .idea/.gitignore +8 -0
  3. .idea/Background_Removal_and_Change.iml +10 -0
  4. .idea/deployment.xml +14 -0
  5. .idea/inspectionProfiles/Project_Default.xml +27 -0
  6. .idea/inspectionProfiles/profiles_settings.xml +6 -0
  7. .idea/misc.xml +4 -0
  8. .idea/modules.xml +8 -0
  9. .idea/sshConfigs.xml +8 -0
  10. .idea/vcs.xml +9 -0
  11. .idea/webServers.xml +14 -0
  12. Procfile +1 -0
  13. README.md +4 -7
  14. __pycache__/libs.cpython-38.pyc +0 -0
  15. __pycache__/libs.cpython-39.pyc +0 -0
  16. __pycache__/metrics.cpython-310.pyc +0 -0
  17. __pycache__/metrics.cpython-38.pyc +0 -0
  18. __pycache__/metrics.cpython-39.pyc +0 -0
  19. __pycache__/utils_func.cpython-38.pyc +0 -0
  20. __pycache__/utils_func.cpython-39.pyc +0 -0
  21. app.py +94 -0
  22. backgrounds/beach.jpg +0 -0
  23. backgrounds/camnou_stadium.jpg +0 -0
  24. backgrounds/office-bg.jpg +0 -0
  25. images/img8.jpg +0 -0
  26. images/messi.jpg +0 -0
  27. images/office.jpg +0 -0
  28. libs.py +10 -0
  29. metrics.py +25 -0
  30. remove_bg/R.jpg_1.png +0 -0
  31. remove_bg/R.jpg_2.png +0 -0
  32. remove_bg/R.jpg_3.png +0 -0
  33. remove_bg/R.jpg_4.png +0 -0
  34. remove_bg/R.jpg_5.png +0 -0
  35. remove_bg/R.jpg_6.png +0 -0
  36. remove_bg/beach.jpg_1.png +0 -0
  37. remove_bg/beach.jpg_2.png +0 -0
  38. remove_bg/beach.jpg_3.png +0 -0
  39. remove_bg/beach.jpg_4.png +0 -0
  40. remove_bg/beach.jpg_5.png +0 -0
  41. remove_bg/beach.jpg_6.png +0 -0
  42. remove_bg/messi.jpg_1.png +0 -0
  43. remove_bg/messi.jpg_2.png +0 -0
  44. remove_bg/messi.jpg_3.png +0 -0
  45. remove_bg/messi.jpg_4.png +3 -0
  46. remove_bg/messi.jpg_5.png +3 -0
  47. remove_bg/messi.jpg_6.png +3 -0
  48. requirements.txt +0 -0
  49. setup.sh +13 -0
  50. tempDir/R.jpg +0 -0
.gitattributes CHANGED
@@ -2,27 +2,20 @@
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
  *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
  *.onnx filter=lfs diff=lfs merge=lfs -text
17
  *.ot filter=lfs diff=lfs merge=lfs -text
18
  *.parquet filter=lfs diff=lfs merge=lfs -text
19
  *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
  *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
  *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
  *.tar.* filter=lfs diff=lfs merge=lfs -text
28
  *.tflite filter=lfs diff=lfs merge=lfs -text
@@ -30,8 +23,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
30
  *.wasm filter=lfs diff=lfs merge=lfs -text
31
  *.xz filter=lfs diff=lfs merge=lfs -text
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
- *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
- Background_Removal_and_Change/remove_bg/messi.jpg_4.png filter=lfs diff=lfs merge=lfs -text
36
- Background_Removal_and_Change/remove_bg/messi.jpg_5.png filter=lfs diff=lfs merge=lfs -text
37
- Background_Removal_and_Change/remove_bg/messi.jpg_6.png filter=lfs diff=lfs merge=lfs -text
 
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
 
5
  *.ftz filter=lfs diff=lfs merge=lfs -text
6
  *.gz filter=lfs diff=lfs merge=lfs -text
7
  *.h5 filter=lfs diff=lfs merge=lfs -text
8
  *.joblib filter=lfs diff=lfs merge=lfs -text
9
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
10
  *.model filter=lfs diff=lfs merge=lfs -text
11
  *.msgpack filter=lfs diff=lfs merge=lfs -text
 
 
12
  *.onnx filter=lfs diff=lfs merge=lfs -text
13
  *.ot filter=lfs diff=lfs merge=lfs -text
14
  *.parquet filter=lfs diff=lfs merge=lfs -text
15
  *.pb filter=lfs diff=lfs merge=lfs -text
 
 
16
  *.pt filter=lfs diff=lfs merge=lfs -text
17
  *.pth filter=lfs diff=lfs merge=lfs -text
18
  *.rar filter=lfs diff=lfs merge=lfs -text
 
19
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
20
  *.tar.* filter=lfs diff=lfs merge=lfs -text
21
  *.tflite filter=lfs diff=lfs merge=lfs -text
 
23
  *.wasm filter=lfs diff=lfs merge=lfs -text
24
  *.xz filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
28
+ remove_bg/messi.jpg_4.png filter=lfs diff=lfs merge=lfs -text
29
+ remove_bg/messi.jpg_5.png filter=lfs diff=lfs merge=lfs -text
30
+ remove_bg/messi.jpg_6.png filter=lfs diff=lfs merge=lfs -text
.idea/.gitignore ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
.idea/Background_Removal_and_Change.iml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/venvme" />
6
+ </content>
7
+ <orderEntry type="jdk" jdkName="Python 3.9 (pythonProject)" jdkType="Python SDK" />
8
+ <orderEntry type="sourceFolder" forTests="false" />
9
+ </component>
10
+ </module>
.idea/deployment.xml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PublishConfigData" serverName="HAHALOLO_SERVER" remoteFilesAllowedToDisappearOnAutoupload="false">
4
+ <serverData>
5
+ <paths name="HAHALOLO_SERVER">
6
+ <serverdata>
7
+ <mappings>
8
+ <mapping deploy="/text_censorship" local="$USER_HOME$/PycharmProjects/TextCensorship" web="/" />
9
+ </mappings>
10
+ </serverdata>
11
+ </paths>
12
+ </serverData>
13
+ </component>
14
+ </project>
.idea/inspectionProfiles/Project_Default.xml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
5
+ <option name="ignoredPackages">
6
+ <value>
7
+ <list size="14">
8
+ <item index="0" class="java.lang.String" itemvalue="scipy" />
9
+ <item index="1" class="java.lang.String" itemvalue="opencv-python" />
10
+ <item index="2" class="java.lang.String" itemvalue="Pillow" />
11
+ <item index="3" class="java.lang.String" itemvalue="pandas" />
12
+ <item index="4" class="java.lang.String" itemvalue="datetime" />
13
+ <item index="5" class="java.lang.String" itemvalue="tensorflow" />
14
+ <item index="6" class="java.lang.String" itemvalue="retina-face" />
15
+ <item index="7" class="java.lang.String" itemvalue="gdown" />
16
+ <item index="8" class="java.lang.String" itemvalue="matplotlib" />
17
+ <item index="9" class="java.lang.String" itemvalue="deepface" />
18
+ <item index="10" class="java.lang.String" itemvalue="cmake" />
19
+ <item index="11" class="java.lang.String" itemvalue="keras" />
20
+ <item index="12" class="java.lang.String" itemvalue="requests" />
21
+ <item index="13" class="java.lang.String" itemvalue="numpy" />
22
+ </list>
23
+ </value>
24
+ </option>
25
+ </inspection_tool>
26
+ </profile>
27
+ </component>
.idea/inspectionProfiles/profiles_settings.xml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ <component name="InspectionProjectProfileManager">
2
+ <settings>
3
+ <option name="USE_PROJECT_PROFILE" value="false" />
4
+ <version value="1.0" />
5
+ </settings>
6
+ </component>
.idea/misc.xml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (pythonProject)" project-jdk-type="Python SDK" />
4
+ </project>
.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/Background_Removal_and_Change.iml" filepath="$PROJECT_DIR$/.idea/Background_Removal_and_Change.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
.idea/sshConfigs.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="SshConfigs">
4
+ <configs>
5
+ <sshConfig authType="PASSWORD" host="10.10.15.87" id="8b67aa76-bd20-4263-bc45-270bf4ea8b6e" port="22" nameFormat="DESCRIPTIVE" username="root" useOpenSSHConfig="true" />
6
+ </configs>
7
+ </component>
8
+ </project>
.idea/vcs.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ <mapping directory="$PROJECT_DIR$/Background_removal_and_change" vcs="Git" />
6
+ <mapping directory="$PROJECT_DIR$/Remove-Photo-Background-using-TensorFlow" vcs="Git" />
7
+ <mapping directory="$PROJECT_DIR$/yolov5" vcs="Git" />
8
+ </component>
9
+ </project>
.idea/webServers.xml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="WebServers">
4
+ <option name="servers">
5
+ <webServer id="7c3f60f5-5354-4ef4-a283-182d579b3fe7" name="HAHALOLO_SERVER">
6
+ <fileTransfer rootFolder="/storage/test" accessType="SFTP" host="10.10.15.87" port="22" sshConfigId="8b67aa76-bd20-4263-bc45-270bf4ea8b6e" sshConfig="[email protected]:22 password">
7
+ <advancedOptions>
8
+ <advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" isUseRsync="true" />
9
+ </advancedOptions>
10
+ </fileTransfer>
11
+ </webServer>
12
+ </option>
13
+ </component>
14
+ </project>
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: sh setup.sh && streamlit run app.py
README.md CHANGED
@@ -1,12 +1,9 @@
1
  ---
2
- title: Background Swapping
3
- emoji: 🌖
4
- colorFrom: red
5
  colorTo: gray
6
  sdk: streamlit
7
- sdk_version: 1.17.0
8
  app_file: app.py
9
  pinned: false
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: ABC- Automatic Background Change
3
+ emoji:
4
+ colorFrom: yellow
5
  colorTo: gray
6
  sdk: streamlit
 
7
  app_file: app.py
8
  pinned: false
9
+ ---
 
 
__pycache__/libs.cpython-38.pyc ADDED
Binary file (431 Bytes). View file
 
__pycache__/libs.cpython-39.pyc ADDED
Binary file (408 Bytes). View file
 
__pycache__/metrics.cpython-310.pyc ADDED
Binary file (1.03 kB). View file
 
__pycache__/metrics.cpython-38.pyc ADDED
Binary file (998 Bytes). View file
 
__pycache__/metrics.cpython-39.pyc ADDED
Binary file (1.02 kB). View file
 
__pycache__/utils_func.cpython-38.pyc ADDED
Binary file (4.1 kB). View file
 
__pycache__/utils_func.cpython-39.pyc ADDED
Binary file (4.16 kB). View file
 
app.py ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from libs import *
2
+ from utils_func import create_dir, main_processing
3
+
4
+
5
+
6
+ create_dir("tempDir")
7
+
8
+
9
+ def load_image(image_file):
10
+ img = Image.open(image_file)
11
+ return img
12
+
13
+
14
+ def streamlit_app():
15
+ detection_model_path = "weight_files/clothes_detection_model.pt"
16
+ background_model_path = "weight_files/model.h5"
17
+ save_path = ""
18
+ image_file = None
19
+ st.title("""WELCOME TO MY APP""")
20
+ st.subheader("""FOR BACKGROUND REMOVAL AND CHANGE!""")
21
+ col1 = None
22
+ col2 = None
23
+ final_img = None
24
+ with st.spinner("[UPLOAD] Image uploading"):
25
+ try:
26
+ image_file = st.file_uploader('[UPLOAD] Please upload your image:', type=["png", "jpg", "jpeg"])
27
+ time.sleep(1)
28
+ except:
29
+ print("[ERROR] Sorry, something went wrong!")
30
+ pass
31
+ # print(type(image_file))
32
+
33
+ if image_file is not None:
34
+ st.success("Load image successfully!...")
35
+ image = load_image(image_file)
36
+ # print(type(image))
37
+ col1, col2, col3 = st.columns(3)
38
+ with col1:
39
+ st.image(image, caption="Image before processing")
40
+ save_path = "tempDir/"+ image_file.name
41
+ image.save(save_path)
42
+
43
+
44
+ image_path, details = save_path, image_file
45
+
46
+ if details is not None:
47
+ with col2:
48
+ with st.spinner("[PROCESSING] Image processing"):
49
+ final_img_path = main_processing(col1, col2, col3, sport_bg_path=stadium_sport_bg_path, swim_bg_path=beach_swim_bg_path,
50
+ office_bg_path=office_bg_path, img_path=image_path, name=details.name,
51
+ detection_model_path=detection_model_path,
52
+ background_model_path=background_model_path)
53
+ time.sleep(1)
54
+
55
+ with col1:
56
+ if final_img_path is not None:
57
+ final_img = load_image(final_img_path)
58
+ st.image(final_img, caption="Image after processing")
59
+ st.balloons()
60
+ with col2:
61
+ with open(final_img_path, "rb") as file:
62
+ st.write('\n')
63
+ st.write('\n')
64
+ st.write('\n')
65
+ st.write('\n')
66
+ st.write('\n')
67
+
68
+ file_name = save_path.split("/")[-1].split(".")[-2] +"_from_abc" + ".png"
69
+
70
+ if st.download_button(
71
+ label="Download postprocessing image",
72
+ data=file,
73
+ file_name= file_name,
74
+ mime="image/png"
75
+ ):
76
+ st.success('[DOWNLOAD] Download sucessfully!')
77
+
78
+
79
+
80
+ if __name__ == '__main__':
81
+ np.random.seed(42)
82
+ tf.random.set_seed(42)
83
+
84
+ bg_path = ""
85
+ background_model_path = "weight_files/model.h5"
86
+ detection_model_path = "weight_files/clothes_detection_model.pt"
87
+
88
+ stadium_sport_bg_path = "backgrounds/camnou_stadium.jpg"
89
+ beach_swim_bg_path = "backgrounds/beach.jpg"
90
+ office_bg_path = "backgrounds/office-bg.jpg"
91
+
92
+ image_path = None
93
+
94
+ streamlit_app()
backgrounds/beach.jpg ADDED
backgrounds/camnou_stadium.jpg ADDED
backgrounds/office-bg.jpg ADDED
images/img8.jpg ADDED
images/messi.jpg ADDED
images/office.jpg ADDED
libs.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import json
3
+ import os
4
+ import numpy as np
5
+ import cv2
6
+ import tensorflow as tf
7
+ import streamlit as st
8
+ import time
9
+ from PIL import Image
10
+ from tensorflow.keras.utils import CustomObjectScope
metrics.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from libs import *
2
+
3
+ smooth = 1e-15
4
+
5
+
6
+ def iou(y_true, y_pred):
7
+ def f(y_true, y_pred):
8
+ intersection = (y_true * y_pred).sum()
9
+ union = y_true.sum() + y_pred.sum() - intersection
10
+ x = (intersection + 1e-15) / (union + 1e-15)
11
+ x = x.astype(np.float32)
12
+ return x
13
+ return tf.numpy_function(f, [y_true, y_pred], tf.float32)
14
+
15
+
16
+
17
+ def dice_coef(y_true, y_pred):
18
+ y_true = tf.keras.layers.Flatten()(y_true)
19
+ y_pred = tf.keras.layers.Flatten()(y_pred)
20
+ intersection = tf.reduce_sum(y_true * y_pred)
21
+ return (2. * intersection + smooth) / (tf.reduce_sum(y_true) + tf.reduce_sum(y_pred) + smooth)
22
+
23
+
24
+ def dice_loss(y_true, y_pred):
25
+ return 1.0 - dice_coef(y_true, y_pred)
remove_bg/R.jpg_1.png ADDED
remove_bg/R.jpg_2.png ADDED
remove_bg/R.jpg_3.png ADDED
remove_bg/R.jpg_4.png ADDED
remove_bg/R.jpg_5.png ADDED
remove_bg/R.jpg_6.png ADDED
remove_bg/beach.jpg_1.png ADDED
remove_bg/beach.jpg_2.png ADDED
remove_bg/beach.jpg_3.png ADDED
remove_bg/beach.jpg_4.png ADDED
remove_bg/beach.jpg_5.png ADDED
remove_bg/beach.jpg_6.png ADDED
remove_bg/messi.jpg_1.png ADDED
remove_bg/messi.jpg_2.png ADDED
remove_bg/messi.jpg_3.png ADDED
remove_bg/messi.jpg_4.png ADDED

Git LFS Details

  • SHA256: 377ef7b1443a9573bfef12b9dddb90d7345eebb7fd58e440a4340ab6481df09e
  • Pointer size: 132 Bytes
  • Size of remote file: 2.06 MB
remove_bg/messi.jpg_5.png ADDED

Git LFS Details

  • SHA256: 652ab3fd4a66cc60a4d4fe234613a480939713e2487d6d3caac2497e9807de4c
  • Pointer size: 132 Bytes
  • Size of remote file: 1.1 MB
remove_bg/messi.jpg_6.png ADDED

Git LFS Details

  • SHA256: d954f831634ff0fe2f22b9ea01fe98dad8891858da42b3e285bd80f1a9b6dc93
  • Pointer size: 132 Bytes
  • Size of remote file: 1.59 MB
requirements.txt ADDED
Binary file (6.6 kB). View file
 
setup.sh ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ mkdir -p ~/.streamlit/
2
+
3
+ echo "\
4
+ [general]\n\
5
+ email = \"[email protected]\"\n\
6
+ " > ~/.streamlit/credentials.toml
7
+
8
+ echo "\
9
+ [server]\n\
10
+ headless = true\n\
11
+ enableCORS=false\n\
12
+ port = $PORT\n\
13
+ " > ~/.streamlit/config.toml
tempDir/R.jpg ADDED