Convolutional Neural Networks provides a technical and practical understanding of computer vision and Convolutional Neural Networks (CNNs). As the fourth course in the Deep Learning Specialization, it builds on the foundations of deep neural networks and focuses on architectures specifically designed to process images and other spatial data.
The course begins with the fundamental operations behind CNNs, including convolution, filters, padding, stride, and pooling. These techniques enable neural networks to identify local visual features such as edges and progressively combine them into increasingly complex representations. By sharing parameters across an image, convolutional networks can process visual information more efficiently than conventional fully connected networks.
The course then examines established and modern CNN architectures and the design principles behind them. Architectures including ResNet, Inception, MobileNet, and EfficientNet demonstrate different approaches to building deeper and more computationally efficient networks. Transfer learning and data augmentation demonstrate how existing models and training data can be used more effectively when developing new computer vision applications.
The course progresses from image classification to more advanced computer vision tasks, including object detection, localization, and semantic segmentation. Techniques and architectures such as YOLO and U-Net demonstrate how neural networks can identify not only what is present in an image, but also where objects are located and which regions belong to different semantic classes.
The final part explores specialized applications including face recognition and Neural Style Transfer. Face recognition introduces techniques for learning representations that measure similarities between faces, while Neural Style Transfer demonstrates how representations learned by CNNs can be used generatively to combine the content of one image with the visual style of another.
Overall, the course develops an understanding of how deep neural networks learn and represent visual information. It connects the fundamental mechanics of convolution with modern network architectures and practical applications in image classification, object detection, segmentation, face recognition, and generative image processing.
Course modules
Foundations of Convolutional Neural Networks
The first module introduces the fundamental building blocks of CNNs, including convolutional filters, edge detection, padding, stride, convolutions over volumes, and pooling layers. These components are progressively combined into complete convolutional networks for image classification. The module also explains why parameter sharing and sparse connections make convolution particularly effective for visual information.
Deep Convolutional Models: Case Studies
The second module examines influential CNN architectures and the engineering principles behind deeper and more efficient networks. ResNet and residual connections, 1×1 convolutions, Inception networks, MobileNet, and EfficientNet illustrate different architectural approaches. The module also introduces transfer learning and data augmentation, demonstrating how existing models and datasets can be leveraged when developing new computer vision systems.
Object Detection
The third module moves from image classification to identifying and locating multiple objects within an image. It introduces object localization, landmark detection, bounding boxes, Intersection over Union, Non-Max Suppression, and anchor boxes. The YOLO architecture demonstrates how these concepts can be combined into an efficient object-detection system, while U-Net extends the discussion toward semantic image segmentation.
Special Applications: Face Recognition & Neural Style Transfer
The final module explores two specialized applications of convolutional networks. Face recognition and verification use learned embeddings and similarity measures to determine identity, introducing concepts such as Siamese networks and triplet loss. Neural Style Transfer uses representations from different layers of a CNN to separate image content from visual style and generate new images that combine characteristics of both.
Topics and techniques
- Convolutional Neural Networks – convolutions, filters, padding, stride, and pooling.
- CNN architectures – ResNet, Inception, MobileNet, and EfficientNet.
- Transfer learning – adapting pre-trained networks to new computer vision tasks.
- Data augmentation – increasing training-data diversity and improving generalization.
- Object detection – localization, bounding boxes, anchor boxes, and YOLO.
- Image segmentation – semantic segmentation and U-Net.
- Face recognition – embeddings, similarity measures, and Siamese networks.
- Neural Style Transfer – using CNN representations for generative image transformation.
Practical exercises
The practical exercises use Python and TensorFlow to implement and apply convolutional neural networks. Initial assignments build convolution and pooling operations step by step before combining them into a complete CNN for image classification.
The exercises then progress to implementing Residual Networks and transfer learning, providing practical experience with modern CNN architectures and adapting existing networks to new datasets. Object-detection exercises implement YOLO, including bounding-box processing and Non-Max Suppression, while image segmentation is explored using U-Net.
The final assignments develop a face-recognition system based on learned embeddings and implement Neural Style Transfer to generate images combining the content of one image with the artistic style of another.
Together, the exercises demonstrate the progression from the fundamental mathematics and implementation of convolution to complete computer vision systems for classification, detection, segmentation, recognition, and generative image processing.
Convolutional Neural Networks.