Spaces:
Runtime error
Runtime error
Lambang
commited on
Commit
·
9943f34
1
Parent(s):
791a5a0
update descroptioin
Browse files
hairstyle_recommendation.py
CHANGED
@@ -21,7 +21,7 @@ class HairstyleRecommendation:
|
|
21 |
'male': {
|
22 |
'Oval': ['pompadour.jpg', 'quiff.jpg', 'classic_tapered_cut.jpg'],
|
23 |
'Diamond': ['side_swept_bangs.jpg', 'messy_textured_top.jpg', 'classic_tapered_cut.jpg'],
|
24 |
-
'Square': ['
|
25 |
'Triangle': ['textured_fringe.jpg', 'classic_side_part.jpg', 'medium_length_textured.jpg'],
|
26 |
'Oblong': ['classic_short_back.jpg', 'long_comb_over.jpg', 'messy_textured_fringe.jpg'],
|
27 |
'Round': ['textured_quiff.jpg', 'undercut_with_textured_comb_over.jpg', 'slicked_back.jpg']
|
@@ -34,8 +34,28 @@ class HairstyleRecommendation:
|
|
34 |
'Oblong': ['bob_hair_cut.jpg', 'pixie_cut.jpg', 'long_hair_pony_tail.jpg'],
|
35 |
'Round': ['tucked_behind_ear.jpg', 'soft_waves.jpg', 'half_up_bun_cut.jpg']
|
36 |
}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
def get_recommendation(self, gender, face_shape):
|
39 |
recommended_styles = self.hairstyle_recommendations[gender][face_shape]
|
40 |
style_images = self.hairstyle_images[gender][face_shape]
|
41 |
-
|
|
|
|
21 |
'male': {
|
22 |
'Oval': ['pompadour.jpg', 'quiff.jpg', 'classic_tapered_cut.jpg'],
|
23 |
'Diamond': ['side_swept_bangs.jpg', 'messy_textured_top.jpg', 'classic_tapered_cut.jpg'],
|
24 |
+
'Square': ['side_part_undercut.jpg', 'textured_crop.jpg', 'medium_length_wave.jpg'],
|
25 |
'Triangle': ['textured_fringe.jpg', 'classic_side_part.jpg', 'medium_length_textured.jpg'],
|
26 |
'Oblong': ['classic_short_back.jpg', 'long_comb_over.jpg', 'messy_textured_fringe.jpg'],
|
27 |
'Round': ['textured_quiff.jpg', 'undercut_with_textured_comb_over.jpg', 'slicked_back.jpg']
|
|
|
34 |
'Oblong': ['bob_hair_cut.jpg', 'pixie_cut.jpg', 'long_hair_pony_tail.jpg'],
|
35 |
'Round': ['tucked_behind_ear.jpg', 'soft_waves.jpg', 'half_up_bun_cut.jpg']
|
36 |
}}
|
37 |
+
|
38 |
+
self.hairstyle_description = {
|
39 |
+
'male' : {
|
40 |
+
'Oval' : ['Rambut pompadour: klasik, elegan, retro, keanggunan yang abadi','Quiff: bergaya, mengangkat, sempurna untuk kepercayaan diri','Classic Tapered Cut: Rapi, maskulin, serbaguna, penampilan timeless'],
|
41 |
+
'Diamond': ['Side Swept Bangs: Anggun, romantis, feminin, menyentuh hati dengan lembut', 'Messy Textured Top: Kreatif, bebas, stylish, tampilan kasual yang berkelas', 'Classic Tapered Cut: Rapi, maskulin, serbaguna, penampilan timeless'],
|
42 |
+
'Square': ['Side Part Undercut: Modern, edgy, kontras, gaya yang berani dan tajam','Textured Crop: Trendi, dinamis, nyaman, gaya rambut yang berkelas', 'Medium Length Waves: Natural, versatile, effortless, chic beachy vibes'],
|
43 |
+
'Triangle' : ['Textured Fringe: Poni ber tekstur, gaya modern dan ekspresif dengan sentuhan dinamis','Classic Side Part: Gaya klasik dengan sentuhan rapi dan elegan','Medium Length Textured: Panjang sedang, tampilan ber tekstur yang stylish dan modern'],
|
44 |
+
'Oblong': ['Classic Short Back: Potongan belakang pendek yang timeless dan elegan', 'Long Comb Over: Gaya tata rambut panjang yang rapi dan berkelas', 'Messy Textured Fringe: Poni berantakan dengan tekstur, menciptakan tampilan yang kasual dan modis'],
|
45 |
+
'Round': ['Textured Quiff: Gaya quiff dengan sentuhan tekstur, menciptakan tampilan yang berani dan modern', 'Undercut with Textured Comb Over: Gaya undercut dengan tata rambut comb over ber tekstur, menciptakan penampilan yang edgy dan stylish','Slicked Back: Tatanan rambut rapi, elegan, dan berkelas dengan kesan tersisir ke belakang']
|
46 |
+
},
|
47 |
+
'female' : {
|
48 |
+
'Oval': ['Long Layers with Swept Bangs: Potongan panjang bertingkat dengan poni yang digelung ke samping, menciptakan tampilan yang anggun dan modern', 'Soft Waves: Gelombang lembut, menciptakan tampilan rambut yang feminin dan elegan', 'Bob Hair Cut: Potongan rambut bob, simpel, modern, dan serbaguna'],
|
49 |
+
'Diamong': ['Layered Pixie Cut: Potongan pixie bertingkat, modis, dan memberikan dimensi pada tampilan rambut pendek','Asymmetrical Long Hair: Rambut panjang tidak simetris, menciptakan tampilan yang unik dan berani', 'Layered Shag Cut: Potongan rambut shag bertingkat, menciptakan tampilan yang berantakan namun tetap modis dan kasual'],
|
50 |
+
'Square': ['Shoulder-Length Bob: Potongan bob sejajar bahu, gaya modern yang nyaman dan serbaguna', 'Textured Pixie Cut: Potongan pixie ber tekstur, menciptakan tampilan yang edgy dan modern dengan sentuhan dinamis', 'Layered Shag Cut: Potongan rambut shag bertingkat, menciptakan tampilan yang berantakan namun tetap modis dan kasual'],
|
51 |
+
'Triangle': ['Long Layers with Volume on Top: Rambut panjang bertingkat dengan volume di bagian atas, menciptakan tampilan yang berdimensi dan bervolume', 'Medium Length Wave: Gelombang pada rambut sedang, menciptakan tampilan yang alami dan anggun', 'Pixie Cut with Soft Fringe: Potongan pixie dengan poni lembut, tampilan yang berani namun feminin'],
|
52 |
+
'Oblong': ['Bob Hair Cut: Potongan rambut bob, tampilan yang simpel, elegan, dan selalu modis','Pixie Cut: Potongan pixie, tampilan yang singkat, dinamis, dan penuh gaya', 'Long Hair Ponytail: Rambut panjang yang diikat menjadi ekor kuda, tampilan sederhana namun tetap rapi dan nyaman'],
|
53 |
+
'Round': ['Tucked Behind Ear: Gaya rambut dengan rambut diselipkan di belakang telinga, menciptakan tampilan yang bersih dan elegan', 'Soft Waves: Gelombang lembut, memberi kesan anggun dan romantis pada tatanan rambut', 'Half Up Bun Cut: Tatanan setengah ikat dengan bentuk bun, menciptakan penampilan yang santai namun modis']
|
54 |
+
}
|
55 |
+
}
|
56 |
|
57 |
def get_recommendation(self, gender, face_shape):
|
58 |
recommended_styles = self.hairstyle_recommendations[gender][face_shape]
|
59 |
style_images = self.hairstyle_images[gender][face_shape]
|
60 |
+
hairstyle_description = self.hairstyle_description[gender][face_shape]
|
61 |
+
return recommended_styles, style_images, hairstyle_description
|
main.py
CHANGED
@@ -156,7 +156,7 @@ def get_images():
|
|
156 |
|
157 |
|
158 |
# Hairstyle recommendation
|
159 |
-
recommended_styles, style_images = recommendation.get_recommendation(output_gender, bentuk[0])
|
160 |
hairstyleImage = [f'{public_url}/static/hairstyle_image/{file}' for file in style_images]
|
161 |
|
162 |
response = {'urls': urls,
|
@@ -164,7 +164,8 @@ def get_images():
|
|
164 |
'persen': persentase,
|
165 |
'gender': output_gender,
|
166 |
'hair_style': recommended_styles,
|
167 |
-
'hair_image': hairstyleImage
|
|
|
168 |
return response
|
169 |
|
170 |
|
|
|
156 |
|
157 |
|
158 |
# Hairstyle recommendation
|
159 |
+
recommended_styles, style_images, hairstyle_description = recommendation.get_recommendation(output_gender, bentuk[0])
|
160 |
hairstyleImage = [f'{public_url}/static/hairstyle_image/{file}' for file in style_images]
|
161 |
|
162 |
response = {'urls': urls,
|
|
|
164 |
'persen': persentase,
|
165 |
'gender': output_gender,
|
166 |
'hair_style': recommended_styles,
|
167 |
+
'hair_image': hairstyleImage,
|
168 |
+
'hair_description' : hairstyle_description}
|
169 |
return response
|
170 |
|
171 |
|
static/hairstyle_image/blunt_cut.jpg
CHANGED
![]() |
![]() |
static/hairstyle_image/long_hair_pony_tail.jpg
CHANGED
![]() |
![]() |