Spaces:
Running
on
Zero
Running
on
Zero
File size: 17,945 Bytes
85f2f4b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 |
"""
Ultra Supreme Analyzer for image analysis and prompt building
"""
import re
from typing import Dict, List, Any, Tuple
from constants import (
FORBIDDEN_ELEMENTS,
MICRO_AGE_INDICATORS,
ULTRA_FACIAL_ANALYSIS,
EMOTION_MICRO_EXPRESSIONS,
CULTURAL_RELIGIOUS_ULTRA,
CLOTHING_ACCESSORIES_ULTRA,
ENVIRONMENTAL_ULTRA_ANALYSIS,
POSE_BODY_LANGUAGE_ULTRA,
COMPOSITION_PHOTOGRAPHY_ULTRA,
TECHNICAL_PHOTOGRAPHY_ULTRA,
QUALITY_DESCRIPTORS_ULTRA,
GENDER_INDICATORS
)
class UltraSupremeAnalyzer:
"""
ULTRA SUPREME ANALYSIS ENGINE - ABSOLUTE MAXIMUM INTELLIGENCE
"""
def __init__(self):
self.forbidden_elements = FORBIDDEN_ELEMENTS
self.micro_age_indicators = MICRO_AGE_INDICATORS
self.ultra_facial_analysis = ULTRA_FACIAL_ANALYSIS
self.emotion_micro_expressions = EMOTION_MICRO_EXPRESSIONS
self.cultural_religious_ultra = CULTURAL_RELIGIOUS_ULTRA
self.clothing_accessories_ultra = CLOTHING_ACCESSORIES_ULTRA
self.environmental_ultra_analysis = ENVIRONMENTAL_ULTRA_ANALYSIS
self.pose_body_language_ultra = POSE_BODY_LANGUAGE_ULTRA
self.composition_photography_ultra = COMPOSITION_PHOTOGRAPHY_ULTRA
self.technical_photography_ultra = TECHNICAL_PHOTOGRAPHY_ULTRA
self.quality_descriptors_ultra = QUALITY_DESCRIPTORS_ULTRA
def ultra_supreme_analysis(self, clip_fast: str, clip_classic: str, clip_best: str) -> Dict[str, Any]:
"""ULTRA SUPREME ANALYSIS - MAXIMUM POSSIBLE INTELLIGENCE"""
combined_analysis = {
"fast": clip_fast.lower(),
"classic": clip_classic.lower(),
"best": clip_best.lower(),
"combined": f"{clip_fast} {clip_classic} {clip_best}".lower()
}
ultra_result = {
"demographic": {"age_category": None, "age_confidence": 0, "gender": None, "cultural_religious": []},
"facial_ultra": {"eyes": [], "eyebrows": [], "nose": [], "mouth": [], "facial_hair": [], "skin": [], "structure": []},
"emotional_state": {"primary_emotion": None, "emotion_confidence": 0, "micro_expressions": [], "overall_demeanor": []},
"clothing_accessories": {"headwear": [], "eyewear": [], "clothing": [], "accessories": []},
"environmental": {"setting_type": None, "specific_location": None, "lighting_analysis": [], "atmosphere": []},
"pose_composition": {"body_language": [], "head_position": [], "eye_contact": [], "posture": []},
"technical_analysis": {"shot_type": None, "angle": None, "lighting_setup": None, "suggested_equipment": {}},
"intelligence_metrics": {"total_features_detected": 0, "analysis_depth_score": 0, "cultural_awareness_score": 0, "technical_optimization_score": 0}
}
# ULTRA DEEP AGE ANALYSIS
age_scores = {}
for age_category, indicators in self.micro_age_indicators.items():
score = sum(1 for indicator in indicators if indicator in combined_analysis["combined"])
if score > 0:
age_scores[age_category] = score
if age_scores:
ultra_result["demographic"]["age_category"] = max(age_scores, key=age_scores.get)
ultra_result["demographic"]["age_confidence"] = age_scores[ultra_result["demographic"]["age_category"]]
# GENDER DETECTION WITH CONFIDENCE
male_score = sum(1 for indicator in GENDER_INDICATORS["male"] if indicator in combined_analysis["combined"])
female_score = sum(1 for indicator in GENDER_INDICATORS["female"] if indicator in combined_analysis["combined"])
if male_score > female_score:
ultra_result["demographic"]["gender"] = "man"
elif female_score > male_score:
ultra_result["demographic"]["gender"] = "woman"
# ULTRA CULTURAL/RELIGIOUS ANALYSIS
for culture_type, indicators in self.cultural_religious_ultra.items():
if isinstance(indicators, list):
for indicator in indicators:
if indicator.lower() in combined_analysis["combined"]:
ultra_result["demographic"]["cultural_religious"].append(indicator)
# COMPREHENSIVE FACIAL FEATURE ANALYSIS
for hair_category, features in self.ultra_facial_analysis["facial_hair_ultra"].items():
for feature in features:
if feature in combined_analysis["combined"]:
ultra_result["facial_ultra"]["facial_hair"].append(feature)
# Eyes analysis
for eye_category, features in self.ultra_facial_analysis["eye_features"].items():
for feature in features:
if feature in combined_analysis["combined"]:
ultra_result["facial_ultra"]["eyes"].append(feature)
# EMOTION AND MICRO-EXPRESSION ANALYSIS
emotion_scores = {}
for emotion in self.emotion_micro_expressions["complex_emotions"]:
if emotion in combined_analysis["combined"]:
emotion_scores[emotion] = combined_analysis["combined"].count(emotion)
if emotion_scores:
ultra_result["emotional_state"]["primary_emotion"] = max(emotion_scores, key=emotion_scores.get)
ultra_result["emotional_state"]["emotion_confidence"] = emotion_scores[ultra_result["emotional_state"]["primary_emotion"]]
# CLOTHING AND ACCESSORIES ANALYSIS
for category, items in self.clothing_accessories_ultra.items():
if isinstance(items, list):
for item in items:
if item in combined_analysis["combined"]:
if category == "clothing_types":
ultra_result["clothing_accessories"]["clothing"].append(item)
elif category == "clothing_styles":
ultra_result["clothing_accessories"]["clothing"].append(item)
elif category in ["headwear", "eyewear", "accessories"]:
ultra_result["clothing_accessories"][category].append(item)
# ENVIRONMENTAL ULTRA ANALYSIS
setting_scores = {}
for main_setting, sub_settings in self.environmental_ultra_analysis.items():
if isinstance(sub_settings, dict):
for sub_type, locations in sub_settings.items():
score = sum(1 for location in locations if location in combined_analysis["combined"])
if score > 0:
setting_scores[sub_type] = score
if setting_scores:
ultra_result["environmental"]["setting_type"] = max(setting_scores, key=setting_scores.get)
# LIGHTING ANALYSIS
for light_category, light_types in self.environmental_ultra_analysis["lighting_ultra"].items():
for light_type in light_types:
if light_type in combined_analysis["combined"]:
ultra_result["environmental"]["lighting_analysis"].append(light_type)
# POSE AND BODY LANGUAGE ANALYSIS
for pose_category, indicators in self.pose_body_language_ultra.items():
for indicator in indicators:
if indicator in combined_analysis["combined"]:
if pose_category in ultra_result["pose_composition"]:
ultra_result["pose_composition"][pose_category].append(indicator)
# TECHNICAL PHOTOGRAPHY ANALYSIS
for shot_type in self.composition_photography_ultra["shot_types"]:
if shot_type in combined_analysis["combined"]:
ultra_result["technical_analysis"]["shot_type"] = shot_type
break
# CALCULATE INTELLIGENCE METRICS
total_features = sum(len(v) if isinstance(v, list) else (1 if v else 0)
for category in ultra_result.values()
if isinstance(category, dict)
for v in category.values())
ultra_result["intelligence_metrics"]["total_features_detected"] = total_features
ultra_result["intelligence_metrics"]["analysis_depth_score"] = min(total_features * 5, 100)
ultra_result["intelligence_metrics"]["cultural_awareness_score"] = len(ultra_result["demographic"]["cultural_religious"]) * 20
return ultra_result
def build_ultra_supreme_prompt(self, ultra_analysis: Dict[str, Any], clip_results: List[str]) -> str:
"""BUILD ULTRA SUPREME FLUX PROMPT - ABSOLUTE MAXIMUM QUALITY"""
components = []
# 1. ULTRA INTELLIGENT ARTICLE SELECTION
subject_desc = []
if ultra_analysis["demographic"]["cultural_religious"]:
subject_desc.extend(ultra_analysis["demographic"]["cultural_religious"][:1])
if ultra_analysis["demographic"]["age_category"] and ultra_analysis["demographic"]["age_category"] != "middle_aged":
subject_desc.append(ultra_analysis["demographic"]["age_category"].replace("_", " "))
if ultra_analysis["demographic"]["gender"]:
subject_desc.append(ultra_analysis["demographic"]["gender"])
if subject_desc:
full_subject = " ".join(subject_desc)
article = "An" if full_subject[0].lower() in 'aeiou' else "A"
else:
article = "A"
components.append(article)
# 2. ULTRA CONTEXTUAL ADJECTIVES (max 2-3 per Flux rules)
adjectives = []
# Age-based adjectives
age_cat = ultra_analysis["demographic"]["age_category"]
if age_cat and age_cat in self.quality_descriptors_ultra["based_on_age"]:
adjectives.extend(self.quality_descriptors_ultra["based_on_age"][age_cat][:2])
# Emotion-based adjectives
emotion = ultra_analysis["emotional_state"]["primary_emotion"]
if emotion and emotion in self.quality_descriptors_ultra["based_on_emotion"]:
adjectives.extend(self.quality_descriptors_ultra["based_on_emotion"][emotion][:1])
# Default if none found
if not adjectives:
adjectives = ["distinguished", "professional"]
components.extend(adjectives[:2]) # Flux rule: max 2-3 adjectives
# 3. ULTRA ENHANCED SUBJECT
if subject_desc:
components.append(" ".join(subject_desc))
else:
components.append("person")
# 4. ULTRA DETAILED FACIAL FEATURES
facial_details = []
# Eyes
if ultra_analysis["facial_ultra"]["eyes"]:
eye_desc = ultra_analysis["facial_ultra"]["eyes"][0]
facial_details.append(f"with {eye_desc}")
# Facial hair with ultra detail
if ultra_analysis["facial_ultra"]["facial_hair"]:
beard_details = ultra_analysis["facial_ultra"]["facial_hair"]
if any("silver" in detail or "gray" in detail or "grey" in detail for detail in beard_details):
facial_details.append("with a distinguished silver beard")
elif any("beard" in detail for detail in beard_details):
facial_details.append("with a full well-groomed beard")
if facial_details:
components.extend(facial_details)
# 5. CLOTHING AND ACCESSORIES ULTRA
clothing_details = []
# Eyewear
if ultra_analysis["clothing_accessories"]["eyewear"]:
eyewear = ultra_analysis["clothing_accessories"]["eyewear"][0]
clothing_details.append(f"wearing {eyewear}")
# Headwear
if ultra_analysis["clothing_accessories"]["headwear"]:
headwear = ultra_analysis["clothing_accessories"]["headwear"][0]
if ultra_analysis["demographic"]["cultural_religious"]:
clothing_details.append("wearing a traditional black hat")
else:
clothing_details.append(f"wearing a {headwear}")
if clothing_details:
components.extend(clothing_details)
# 6. ULTRA POSE AND BODY LANGUAGE
pose_description = "positioned with natural dignity"
if ultra_analysis["pose_composition"]["posture"]:
posture = ultra_analysis["pose_composition"]["posture"][0]
pose_description = f"maintaining {posture}"
elif ultra_analysis["technical_analysis"]["shot_type"] == "portrait":
pose_description = "captured in contemplative portrait pose"
components.append(pose_description)
# 7. ULTRA ENVIRONMENTAL CONTEXT
environment_desc = "in a thoughtfully composed environment"
if ultra_analysis["environmental"]["setting_type"]:
setting_map = {
"residential": "in an intimate home setting",
"office": "in a professional office environment",
"religious": "in a sacred traditional space",
"formal": "in a distinguished formal setting"
}
environment_desc = setting_map.get(ultra_analysis["environmental"]["setting_type"],
"in a carefully arranged professional setting")
components.append(environment_desc)
# 8. ULTRA SOPHISTICATED LIGHTING
lighting_desc = "illuminated by sophisticated portrait lighting that emphasizes character and facial texture"
if ultra_analysis["environmental"]["lighting_analysis"]:
primary_light = ultra_analysis["environmental"]["lighting_analysis"][0]
if "dramatic" in primary_light:
lighting_desc = "bathed in dramatic chiaroscuro lighting that creates compelling depth and shadow play"
elif "natural" in primary_light or "window" in primary_light:
lighting_desc = "graced by gentle natural lighting that brings out intricate facial details and warmth"
elif "soft" in primary_light:
lighting_desc = "softly illuminated to reveal nuanced expressions and character"
components.append(lighting_desc)
# 9. ULTRA TECHNICAL SPECIFICATIONS
if ultra_analysis["technical_analysis"]["shot_type"] in ["portrait", "headshot", "close-up"]:
camera_setup = "Shot on Phase One XF IQ4, 85mm f/1.4 lens, f/2.8 aperture"
elif ultra_analysis["demographic"]["cultural_religious"]:
camera_setup = "Shot on Hasselblad X2D, 90mm lens, f/2.8 aperture"
else:
camera_setup = "Shot on Phase One XF, 80mm lens, f/4 aperture"
components.append(camera_setup)
# 10. ULTRA QUALITY DESIGNATION
quality_designation = "professional portrait photography"
if ultra_analysis["demographic"]["cultural_religious"]:
quality_designation = "fine art documentary photography"
elif ultra_analysis["emotional_state"]["primary_emotion"]:
quality_designation = "expressive portrait photography"
components.append(quality_designation)
# ULTRA FINAL ASSEMBLY
prompt = ", ".join(components)
# Ultra cleaning and optimization
prompt = re.sub(r'\s+', ' ', prompt)
prompt = re.sub(r',\s*,+', ',', prompt)
prompt = re.sub(r'\s*,\s*', ', ', prompt)
prompt = prompt.replace(" ,", ",")
if prompt:
prompt = prompt[0].upper() + prompt[1:]
return prompt
def calculate_ultra_supreme_score(self, prompt: str, ultra_analysis: Dict[str, Any]) -> Tuple[int, Dict[str, int]]:
"""ULTRA SUPREME INTELLIGENCE SCORING"""
score = 0
breakdown = {}
# Structure Excellence (15 points)
structure_score = 0
if prompt.startswith(("A", "An")):
structure_score += 5
if prompt.count(",") >= 8:
structure_score += 10
score += structure_score
breakdown["structure"] = structure_score
# Feature Detection Depth (25 points)
features_score = min(ultra_analysis["intelligence_metrics"]["total_features_detected"] * 2, 25)
score += features_score
breakdown["features"] = features_score
# Cultural/Religious Awareness (20 points)
cultural_score = min(len(ultra_analysis["demographic"]["cultural_religious"]) * 10, 20)
score += cultural_score
breakdown["cultural"] = cultural_score
# Emotional Intelligence (15 points)
emotion_score = 0
if ultra_analysis["emotional_state"]["primary_emotion"]:
emotion_score += 10
if ultra_analysis["emotional_state"]["emotion_confidence"] > 1:
emotion_score += 5
score += emotion_score
breakdown["emotional"] = emotion_score
# Technical Sophistication (15 points)
tech_score = 0
if "Phase One" in prompt or "Hasselblad" in prompt:
tech_score += 5
if any(aperture in prompt for aperture in ["f/1.4", "f/2.8", "f/4"]):
tech_score += 5
if any(lens in prompt for lens in ["85mm", "90mm", "80mm"]):
tech_score += 5
score += tech_score
breakdown["technical"] = tech_score
# Environmental Context (10 points)
env_score = 0
if ultra_analysis["environmental"]["setting_type"]:
env_score += 5
if ultra_analysis["environmental"]["lighting_analysis"]:
env_score += 5
score += env_score
breakdown["environmental"] = env_score
return min(score, 100), breakdown |