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
|
|