REPOSITORY OVERVIEWLive repository statistics
★ 1Stars
⑂ 0Forks
◯ 0Open issues
◉ 1Watchers
34/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
30 Community adoption25% weight
0 Maintenance state20% weight
100 License clarity10% weight
0 Project information10% weight
35 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Kaggle_Simpsons_Classification
Классификация персонажей мультсериала "Симпсоны" с использованием глубокого обучения. Финальный результат на тестовом наборе: 0.993. Ссылка на соревнование: https://www.kaggle.com/competitions/journey-to-springfield1
Описание задачи
Проект решает задачу многоклассовой классификации изображений персонажей из мультсериала "Симпсоны". В dataset представлены 42 различных персонажа.
Результаты
- Validation F1-score: 0.9557
- Test F1-score: 0.993 (результат на Kaggle)
- Архитектура: ResNet50 с частичным fine-tuning
- Количество классов: 42 персонажа
Технический стек
Основные библиотеки
- PyTorch - основной фреймворк для глубокого обучения
- torchvision - предобученные модели и трансформации
- scikit-learn - метрики и preprocessing
- PIL/skimage - обработка изображений
- pandas - работа с данными
- matplotlib/seaborn - визуализация
Архитектура решения
1. Базовая CNN модель (SimpleCnn)
Input: 3×224×224
Conv1: 3→8 каналов + BatchNorm + ReLU + MaxPool
Conv2: 8→16 каналов + BatchNorm + ReLU + MaxPool
Conv3: 16→32 канала + BatchNorm + ReLU + MaxPool
Conv4: 32→64 канала + BatchNorm + ReLU + MaxPool
Conv5: 64→96 каналов + BatchNorm + ReLU + MaxPool
FC: 96×5×5 → 256 → 42 класса
2. Улучшенная CNN (MidCnn)
- Добавлен padding в конволюционных слоях
- BatchNorm1d в полносвязном слое
- Повышенный dropout до 0.5
- Добавлена Аугментация в данных
3. Fine-tuned ResNet50 (финальная модель)
- Предобученная ResNet50 как backbone
- Заморозка всех слоев кроме layer4 и classifier
- Кастомный классификатор: 2048 → 512 → 42
Пайплайн обработки данных
Аугментация данных
Для редких классов (worst_classes):
- ColorJitter (brightness=0.3, contrast=0.3, saturation=0.3)
- RandomRotation (30°)
- RandomHorizontalFlip
- RandomAffine (translate=(0.15, 0.15))
Для обычных классов:
- ColorJitter (brightness=0.1, contrast=0.1, saturation=0.1)
- Стандартная нормализация ImageNet
Анализ результатов
Эволюция качества моделей
- SimpleCnn: Validation F1 = 0.817
- SimpleCnn + аугментация: Validation F1 = 0.830
- MidCnn + аугментация: Validation F1 = 0.856
- ResNet50 fine-tuning: Validation F1 = 0.956
Итоги
Проект демонстрирует эффективность transfer learning для задач компьютерного зрения. Комбинация предобученной ResNet50 с таргетированной аугментацией и правильной настройкой гиперпараметров позволила достичь выдающегося результата 99.3% на тестовых данных.
ALGORITHMICALLY RELATEDSimilar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
Данный проект, реализованный в Jupyter Notebook, представляет собой образовательное и практическое исследование методов машинного обучения (ML) для прогнозирования цен на аренду жилья в Нью-Йорке.
42/100 healthActive repository
Jupyter NotebookNo license
⑂ 0 forks◯ 0 issuesUpdated Mar 17, 2026