14. Компьютерное зрение¶
Будь то медицинская диагностика, беспилотные автомобили, системы видеонаблюдения или интеллектуальные фильтры, многие приложения в области компьютерного зрения тесно связаны с нашей повседневной жизнью и будущим. В последние годы глубокое обучение стало ключевой движущей силой, обеспечивающей значительный прогресс в производительности систем компьютерного зрения. Можно сказать, что самые передовые приложения в области компьютерного зрения практически неотделимы от глубокого обучения. В связи с этим данная глава будет сосредоточена на области компьютерного зрения и рассмотрит методы и приложения, которые в последнее время оказали существенное влияние как в академической среде, так и в промышленности.
В главах Section 7 и Section 8 мы изучили различные свёрточные нейронные сети, которые широко применяются в компьютерном зрении, и применили их к простым задачам классификации изображений. В начале этой главы мы опишем два метода, способных повысить обобщающую способность модели, а именно аугментацию изображений и дообучение, и продемонстрируем их применение в задачах классификации изображений. Поскольку глубокие нейронные сети способны эффективно представлять изображения на нескольких уровнях, такие послойные представления успешно используются в различных задачах компьютерного зрения, таких как обнаружение объектов, семантическая сегментация и стилизация изображений. Следуя основной идее использования послойных представлений в компьютерном зрении, мы начнем с рассмотрения ключевых компонентов и методов обнаружения объектов. Далее мы покажем, как использовать полностью свёрточные сети для семантической сегментации изображений. Затем мы объясним, как применять методы стилизации для генерации изображений, подобных обложке этой книги. В завершение главы мы применим материалы данной и нескольких предыдущих глав к двум популярным бенчмаркам в области компьютерного зрения.
- 14.1. Аугментация изображений
- 14.2. Дообучение
- 14.3. Обнаружение объектов и ограничивающие рамки
- 14.4. Якорные рамки
- 14.5. Обнаружение объектов на разных масштабах
- 14.6. Набор данных для обнаружения объектов
- 14.7. Однопроходное обнаружение с несколькими боксами
- 14.8. Региональные свёрточные нейронные сети (R-CNN)
- 14.9. Семантическая сегментация и набор данных
- 14.10. Свёртка с транспонированием
- 14.11. Полностью свёрточные сети
- 14.12. Перенос нейронного стиля
- 14.13. Классификация изображений (CIFAR-10) на Kaggle
- 14.13.1. Получение и организация набора данных
- 14.13.2. Аугментация изображений
- 14.13.3. Чтение набора данных
- 14.13.4. Определение модели
- 14.13.5. Определение функции обучения
- 14.13.6. Обучение и проверка модели
- 14.13.7. Классификация тестовой выборки и отправка результатов на Kaggle
- 14.13.8. Резюме
- 14.13.9. Упражнения
- 14.14. Идентификация породы собак (ImageNet Dogs) на Kaggle
- 14.14.1. Получение и организация набора данных
- 14.14.2. Аугментация изображений
- 14.14.3. Чтение набора данных
- 14.14.4. Дообучение предварительно обученной модели
- 14.14.5. Определение функции обучения
- 14.14.6. Обучение и проверка модели
- 14.14.7. Классификация тестовой выборки и отправка результатов на Kaggle
- 14.14.8. Резюме
- 14.14.9. Упражнения