Я хотел бы использовать нейронную сеть для классификации изображений. Я начну с предварительно обученного CaffeNet и обучу его для моего приложения.
Как подготовить входные изображения?
В этом случае все изображения имеют один и тот же объект, но с вариациями (подумайте: контроль качества). Они находятся в несколько разных масштабах / разрешениях / расстояниях / условиях освещения (и во многих случаях я не знаю масштаб). Кроме того, на каждом изображении есть область (известная) вокруг интересующего объекта, которая должна игнорироваться сетью.
Я мог бы (например) обрезать центр каждого изображения, которое гарантированно содержит часть интересующего объекта и ни одну из игнорируемой области; но кажется, что это отбросило бы информацию, а также результаты не были бы действительно такого же масштаба (возможно, 1,5-кратное отклонение).
Увеличение набора данных
Я слышал о создании большего количества обучающих данных по случайным кадрам / зеркалам / и т.д., есть ли стандартный метод для этого? Есть ли какие-либо результаты в отношении того, насколько улучшается точность классификатора?
import scipy.misc
. stackoverflow.com/questions/13581593/…Хотя ответ wacax является полным и действительно объяснительным, я хотел бы добавить пару вещей на случай, если кто-нибудь наткнется на этот ответ.
Во- первых, большинство
scipy.misc
изображений связанных с ними функций (imread
,imsave
,imresize
ERC) стали устаревшими в пользу той или иной ImageIO или skimage .Во-вторых, я настоятельно рекомендую библиотеку python imgaug для любых задач по расширению. Он действительно прост в использовании и имеет практически все методы дополнения, которые вы, возможно, захотите использовать.
источник