Обучение нейросети R-CNN происходит в несколько этапов: 3
- На первом этапе алгоритм находит селективным поиском «регионы» — прямоугольные рамки разных размеров, которые, предположительно, содержат объект. 3 Суммарное количество регионов для каждого изображения, сгенерированных на первом шаге, примерно равно двум тысячам. 3
- Найденные регионы при помощи аффинных преобразований приобретают размер, который нужно подать на вход CNN. 3 Также вместо аффинных преобразований можно использовать паддинги, либо расширять ограничивающие рамки до размеров, необходимых для входа CNN. 3
- В качестве CNN зачастую используется архитектура CaffeNet, извлекающая для каждого региона порядка 4096 признаков. 3
- На последнем этапе вектора признаков регионов обрабатываются SVM, проводящими классификацию объектов, по одной SVM на каждый домен. 3
Обучение системы R-CNN выполняется с использованием библиотек, например таких как Caffe CNN, где присутствует открытый исходный код. 1
Чтобы адаптировать CNN к новым задачам (обнаружению объектов) и новому домену, продолжается стохастический градиентный спуск (SGD), то есть обучение параметров CNN с использованием только искривлённой области предложения. 1