| # CompI Phase 2.C: Emotional/Contextual Input to Image Generation |
|
|
| ## 🌀 Overview |
|
|
| Phase 2.C transforms emotions, moods, and feelings into stunning AI-generated art. This phase combines emotion detection, sentiment analysis, and contextual understanding to create artwork that resonates with your emotional state and inner feelings. |
|
|
| ## ✨ Key Features |
|
|
| ### 🎭 Emotion Processing |
| - **Preset Emotions**: Choose from 25+ carefully curated emotions |
| - **Custom Emotions**: Enter any emotion word or feeling |
| - **Emoji Support**: Use emojis to express emotions naturally |
| - **Descriptive Text**: Describe complex emotional states in your own words |
| - **Sentiment Analysis**: Automatic emotion detection from text using TextBlob |
|
|
| ### 🎨 Artistic Integration |
| - **Emotion-to-Color Mapping**: Automatic color palette generation based on emotions |
| - **Artistic Descriptors**: Emotion-specific visual styles and atmospheres |
| - **Prompt Enhancement**: Intelligent fusion of emotions with creative prompts |
| - **Intensity Levels**: Low, medium, and high emotional intensity processing |
| - **Mood Modifiers**: Contextual atmosphere enhancement |
|
|
| ### 🔧 Technical Capabilities |
| - **Multi-Input Support**: Preset, custom, emoji, and text-based emotion input |
| - **Confidence Scoring**: Emotion detection confidence levels |
| - **Batch Processing**: Generate art for multiple emotions simultaneously |
| - **Color Conditioning**: Optional color palette integration into prompts |
| - **Comprehensive Metadata**: Detailed emotion analysis and generation tracking |
|
|
| ## 🛠️ Installation & Setup |
|
|
| ### Prerequisites |
| Ensure you have the base CompI environment set up with all dependencies from `requirements.txt`. |
|
|
| ### Additional Dependencies |
| Phase 2.C uses existing CompI dependencies, specifically: |
| - `textblob>=0.17.0` - Sentiment analysis and emotion detection |
| - `emoji` (optional) - Enhanced emoji processing |
|
|
| ### Optional Setup |
| For enhanced sentiment analysis, download TextBlob corpora: |
| ```bash |
| python -m textblob.download_corpora |
| ``` |
|
|
| ## 🎯 Quick Start |
|
|
| ### 1. Launch the Streamlit Interface |
|
|
| ```bash |
| # Navigate to your CompI project directory |
| cd "C:\Users\Aksharajsinh\Documents\augment-projects\Project CompI" |
| |
| # Run the Phase 2.C interface |
| streamlit run src/ui/compi_phase2c_streamlit_ui.py |
| |
| # Or use the main CompI interface |
| streamlit run compi_complete_app.py |
| # Then select "🌀 Phase 2.C: Emotion-to-Image" |
| ``` |
|
|
| ### 2. Using Preset Emotions |
|
|
| 1. **Select "Preset Emotions"** as your input method |
| 2. **Choose an emotion category** (Joy & Happiness, Love & Romance, etc.) |
| 3. **Pick a specific emotion** from the category |
| 4. **Enter your creative prompt** and style |
| 5. **Generate** and watch your emotion transform into art! |
|
|
| ### 3. Using Custom Emotions or Emojis |
|
|
| 1. **Select "Custom Emotion/Emoji"** as your input method |
| 2. **Type any emotion** (e.g., "contemplative", "bittersweet") |
| 3. **Or use emojis** (🤩, 💫, 🌙) to express feelings |
| 4. **Use quick emoji buttons** for common emotions |
| 5. **Generate** emotion-infused artwork |
|
|
| ### 4. Using Descriptive Text |
|
|
| 1. **Select "Descriptive Text"** as your input method |
| 2. **Describe your feeling** in natural language |
| 3. **Example**: "I feel hopeful after the rain" or "There's anticipation in the air" |
| 4. **AI analyzes sentiment** and extracts emotional context |
| 5. **Generate** art based on your emotional description |
|
|
| ## 📚 Emotion Categories & Examples |
|
|
| ### 🌟 Joy & Happiness |
| - **joyful**: Bright, radiant, effervescent artwork |
| - **ecstatic**: High-energy, explosive, vibrant creations |
| - **cheerful**: Light, uplifting, warm compositions |
| - **uplifting**: Inspiring, elevating, positive imagery |
|
|
| ### 💙 Sadness & Melancholy |
| - **melancholic**: Wistful, contemplative, blue-toned art |
| - **nostalgic**: Memory-tinged, sepia-like, reflective pieces |
| - **somber**: Muted, serious, thoughtful compositions |
| - **wistful**: Longing, gentle sadness, soft imagery |
|
|
| ### ❤️ Love & Romance |
| - **romantic**: Warm, tender, passionate artwork |
| - **loving**: Affectionate, caring, heart-centered pieces |
| - **passionate**: Intense, fiery, deep emotional art |
| - **tender**: Gentle, soft, intimate compositions |
|
|
| ### 🕊️ Peace & Serenity |
| - **peaceful**: Calm, balanced, harmonious imagery |
| - **serene**: Tranquil, still, meditative artwork |
| - **tranquil**: Quiet, restful, soothing compositions |
| - **harmonious**: Balanced, unified, flowing pieces |
|
|
| ### 🔮 Mystery & Drama |
| - **mysterious**: Enigmatic, shadowy, intriguing art |
| - **dramatic**: Bold, intense, theatrical compositions |
| - **enigmatic**: Puzzling, cryptic, thought-provoking pieces |
| - **suspenseful**: Tension-filled, anticipatory artwork |
|
|
| ### ⚡ Energy & Power |
| - **energetic**: Dynamic, vibrant, high-movement art |
| - **powerful**: Strong, bold, commanding compositions |
| - **intense**: Deep, concentrated, focused imagery |
| - **fierce**: Wild, untamed, strong emotional pieces |
|
|
| ## 🎨 Creative Workflow |
|
|
| ### 1. Emotion Selection Strategy |
| - **Start with your current mood**: What are you feeling right now? |
| - **Consider the artwork's purpose**: What emotion should it evoke? |
| - **Match emotion to subject**: Align feelings with your prompt content |
| - **Experiment with intensity**: Try different emotional strengths |
|
|
| ### 2. Prompt Engineering with Emotions |
| - **Base prompt**: Start with your core visual concept |
| - **Emotion integration**: Let the system enhance with emotional context |
| - **Style coordination**: Choose styles that complement your emotion |
| - **Atmosphere setting**: Use mood modifiers for deeper impact |
|
|
| ### 3. Emotion-Style Combinations |
|
|
| | Emotion | Recommended Styles | Color Palettes | Atmosphere | |
| |---------|-------------------|----------------|------------| |
| | Joyful | impressionist, vibrant digital art | golds, oranges, bright blues | radiant, luminous | |
| | Melancholic | oil painting, watercolor | blues, grays, muted tones | contemplative, wistful | |
| | Romantic | soft digital art, renaissance | pinks, reds, warm tones | tender, passionate | |
| | Mysterious | dark fantasy, gothic | purples, blacks, deep blues | enigmatic, shadowy | |
| | Energetic | abstract, dynamic digital | bright colors, neons | electric, vibrant | |
| | Peaceful | minimalist, zen art | soft greens, blues, whites | serene, harmonious | |
|
|
| ## 🔧 Advanced Usage |
|
|
| ### Programmatic Access |
|
|
| ```python |
| from src.generators.compi_phase2c_emotion_to_image import CompIPhase2CEmotionToImage |
| |
| # Initialize generator |
| generator = CompIPhase2CEmotionToImage() |
| |
| # Generate with preset emotion |
| results = generator.generate_image( |
| text_prompt="A mystical forest", |
| style="digital painting", |
| emotion_input="mysterious", |
| emotion_type="preset", |
| enhancement_strength=0.8, |
| num_images=2 |
| ) |
| |
| # Generate with custom emotion |
| results = generator.generate_image( |
| text_prompt="Urban landscape", |
| style="cyberpunk", |
| emotion_input="🤖", |
| emotion_type="custom", |
| enhancement_strength=0.6 |
| ) |
| |
| # Generate with descriptive text |
| results = generator.generate_image( |
| text_prompt="Mountain vista", |
| style="landscape painting", |
| emotion_input="I feel a sense of wonder and awe", |
| emotion_type="text", |
| contextual_text="Standing at the peak, overwhelmed by nature's beauty" |
| ) |
| ``` |
|
|
| ### Batch Processing |
|
|
| ```python |
| # Process multiple emotions |
| emotions = ["joyful", "melancholic", "mysterious", "energetic"] |
| results = generator.batch_process_emotions( |
| text_prompt="Abstract composition", |
| style="modern art", |
| emotions=emotions, |
| enhancement_strength=0.7 |
| ) |
| |
| # Color palette conditioning |
| results = generator.generate_emotion_palette_art( |
| text_prompt="Flowing water", |
| style="fluid art", |
| emotion_input="peaceful", |
| use_color_conditioning=True |
| ) |
| ``` |
|
|
| ## 📊 Understanding Emotion Analysis |
|
|
| Phase 2.C analyzes emotions across multiple dimensions: |
|
|
| ### Emotion Detection |
| - **Primary Emotion**: Main detected emotion category |
| - **Confidence Score**: How certain the system is (0-1) |
| - **Secondary Emotions**: Related emotional states |
| - **Intensity Level**: Low, medium, or high emotional strength |
|
|
| ### Sentiment Analysis |
| - **Polarity**: Negative (-1) to Positive (+1) sentiment |
| - **Subjectivity**: Objective (0) to Subjective (1) content |
| - **Keywords**: Emotion-related words detected in text |
| - **Emojis**: Emotional emojis found in input |
|
|
| ### Artistic Mapping |
| - **Color Palette**: 3-5 colors representing the emotion |
| - **Artistic Descriptors**: Visual style words (vibrant, muted, etc.) |
| - **Mood Modifiers**: Atmospheric enhancements |
| - **Enhancement Tags**: Descriptive tags for the emotion |
|
|
| ## 🎯 Tips for Best Results |
|
|
| ### Emotion Selection Tips |
| 1. **Be specific**: "melancholic" is more precise than "sad" |
| 2. **Consider intensity**: Strong emotions create more dramatic art |
| 3. **Match context**: Align emotions with your prompt's subject matter |
| 4. **Experiment freely**: Try unexpected emotion-prompt combinations |
|
|
| ### Prompt Enhancement Tips |
| 1. **Start simple**: Let emotions enhance rather than complicate |
| 2. **Trust the system**: Emotion analysis often captures nuances you might miss |
| 3. **Adjust strength**: Use the enhancement slider to control emotional impact |
| 4. **Combine thoughtfully**: Ensure emotions complement your artistic vision |
|
|
| ### Style Coordination Tips |
| 1. **Emotional styles**: Some styles naturally align with certain emotions |
| 2. **Color harmony**: Consider how emotion colors work with your chosen style |
| 3. **Atmospheric consistency**: Ensure mood modifiers enhance rather than conflict |
| 4. **Intensity matching**: High-intensity emotions work well with bold styles |
|
|
| ## 🔍 Troubleshooting |
|
|
| ### Common Issues |
|
|
| **"Emotion not detected"** |
| - Try more specific emotion words |
| - Use descriptive phrases instead of single words |
| - Check for typos in emotion input |
|
|
| **"Weak emotional enhancement"** |
| - Increase the enhancement strength slider |
| - Use more emotionally charged language |
| - Try preset emotions for stronger effects |
|
|
| **"Conflicting emotional signals"** |
| - Simplify your emotional input |
| - Focus on one primary emotion |
| - Avoid mixing opposing emotions |
|
|
| ### Performance Optimization |
| - Use preset emotions for fastest processing |
| - Shorter descriptive texts analyze faster |
| - Batch processing is more efficient for multiple emotions |
| - GPU acceleration improves generation speed |
|
|
| ## 🚀 Next Steps |
|
|
| After mastering Phase 2.C, consider: |
| 1. **Multimodal combinations**: Combine emotions with audio (Phase 2.A) or data (Phase 2.B) |
| 2. **Emotional storytelling**: Create series of images with evolving emotions |
| 3. **Personal emotion mapping**: Develop your own emotion-to-art style |
| 4. **Therapeutic applications**: Use emotional art for self-expression and healing |
|
|
| --- |
|
|
| **Ready to transform your emotions into art?** Launch the interface and start creating emotionally-rich artwork! 🌀🎨✨ |
|
|