RNNs and CNNs are not mutually exclusive! It might seem that they are used to handle different problems, but it is important to note that some types of data can be processed by either architecture. For instance, RNNs uses the sequences as the input. It should be mentioned that sequences are not just limited to text or music. Sequences can also be videos, which are a set of images.
RNNs, such as LSTM, are used for cases where the data includs temporal properties, e.g., time series, and also where the data is context-sensitive, e.g., in the case of sentence completion, the function of memory provided by the feedback loops is critical for adequate performance. In addition, RNNs have been successfully applied in the following areas of computer vision:
- Image classification (one-to-one RNN): e.g., “Daytime picture” versus “Nighttime picture”.
- Image captioning (One-to-many RNN): giving a caption to an image based on what is being shown. For example, “Fox jumping over dog”.
- Handwriting recognition: Please read this [paper] (https://arxiv.org/pdf/1902.10525.pdf)
Regarding CNN, here are some of its applications:
- Medical image analysis
- Image recognition
- Face detection
- Recognition systems
- Full-motion video analysis.
It is important to know that CNNs are not capable of handling a variable-length input.
Finally, using RNNs and CNNs together is possible and it could be the most advanced use of computer vision. For example, a hybrid RNN and CNN approach may be superior when the data is suitable for a CNN, but has temporal characteristics.