|
# 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! 🌀🎨✨ |
|
|