/ / Image Пример за класификация в ENCOG (или която и да е рамка)? - opencv, машинно обучение, невронна мрежа, класификация, encog

Пример за класификация на изображение в ENCOG (или в която и да е рамка)? - opencv, машинно обучение, невронна мрежа, класификация, encog

Трябва да класифицирам изображения от видеокамера, като основните характеристики, които трябва да се имат предвид, са:

  • Форма на обекта (основна форма като триъгълник, квадрат и т.н.)
  • Цвят на обекта
  • Малко деформации

Вече работя по разпознаване на фигури с opencv, след това Ръководство за следене в реално време и това:

Моята цел е, ако покажа малка или голяма квадратна формапред камера, то щеше да го разпознае като квадратче на цвят "....", ако покажа уши / деформирана хартия (квадратна или триъгълна), то щеше да разпознае тази форма като триъгълник от цвят " "..

Аз търся как да направя класификация на изображението с Encog, но това, което открих, беше класифициране като количествени атрибути като, мярка (дължина, ширина) не по форма.

Примерът на encog е това (налични в Pluralsight).

В този пример за обучение данните за обучение са като:

Sepal Length    Sepal Width Petal Length    Petal Width Species
5.1             3.5         1.4             0.2         setosa
4.9             3.0         1.4             0.2         setosa
4.7             3.2         1.3             0.2         setosa
7.0             3.2         4.7             1.4         versicolor
6.4             3.2         4.5             1.5         versicolor
6.9             3.1         4.9             1.5         versicolor
6.3             3.3         6.0             2.5         virginica
5.8             2.7         5.1             1.9         virginica
7.1             3.0         5.9             2.1         virginica

В моя случай данните за обучението биха били пиксел (тип мат) и моите данни за оценка.

Как да се нормализира пиксела за обучени данни?

Имам нужда от някаква представа, урок. Много благодаря.

Отговори:

2 за отговор № 1

Кратък отговор: От чисто техническа гледна точка трябва да вземете изображения с около 100x100 пиксела, да се преобразувате в сиви (за разпознаване на форми), да получите всички пиксели в един вектор и да нормализирате най-голямата стойност на цялостните пиксели до 1,0 (например, ако стойностите на пикселите са в обхвата ..255] разделяте всичко с 255). За цветни изображения обикновено се създават три вектора, по един за всеки канал (RGB), нормализират се по същия начин, свързват се и се въвеждат в невронни мрежи (MLP) класификатор с поне един скрит слой. Това е много подобен на прост пример, който предоставяте, използва само много повече данни.

Дълъг отговор: по-горе е може би най-доброто нещо, което можете да направите с Encog и дадете достатъчно проби и достатъчно ресурси за CPU / GPU, това ще работи за вашата задача. Въпреки това, разпознаването на изображения в момента е отворен проблем и не съществува универсален метод, който да реши всичко. Повечето работи се извършват днес с конволюционни невронни мрежи (не се поддържат от Encog) и има някои важни неща, които трябва да се вземат предвид, така че може да искате да прочетете някои класически документи за разпознаване на изображения, за да получите някои важни идеи. В случай, че се нуждаете от помощ с теорията, мисля, че най-добре е да зададете въпроса си тук като такава теория и уроци са най-добрите ми познания извън обхвата на SO