Библиотеките за OpenCV са на C/C++. Има шапки за Джава, Пайтън и още куп скриптове. Под Линукс може да се компилира и за Android (ARM), подкарва се на смартфон. Хората активно работят за разпознаване и следене на движеннието на обекти в реално време от камерата на телефона. Ардуиното не е никакъв проблем. Аз за гъдел го качих на едно доста слабо Raspberry Pi B, верно, само за проста обработка на картинки, за демонстрация на възможностите.
На мене ми трябва Виндовс, защото потенциалните клиенти към които е насочен продукта са основно ползватели на Виндовс, особено в България. Линукса ми послужи за по-лесен отскок при разработването. Аз по принцип съм фен на Виндовс, защото на него имам доста функционална колекция от инструменти и по-лесно се настройва самата операционна система, но не мога да не призная че Линукс е много по-добре развита по отношение средствата за легална разработка, както и покрива много пазарни ниши където Виндовса така и пропусна да стъпи, а вече няма и да може, като всякакви малки леки джаджи могат да въртят Линукс.
Самата ни политика е всеки проект на C/C++ да го имаме и на двете платформи, Виндовс и Линукс. Това осигурява после минимална поддръжка, като се развива. Линукс платформата позволява бърза и ефтина миграция на проекта към ARM и Mac (последното е един доста осакатен Линукс). Така покриваме много възможности, ако възникне случка.
За невронните мрежи графичните карти и чипове са едва втората стъпка. Първо трябва да се проектира самата мрежа, какво ще подаваш, какво ще получаваш, слоеве или каскадна архитектура (мрежа захранва друга мрежа), начин на обучение, за стандартната задача за разпознаване/интерполация или за екстраполация (предсказания извън диапазона на обучителната извадка) ще я гласиш, може да я проиграеш на стандартен компютърен хардуер макар и бавно, и когато вървиш към продукционна версия да мислиш за чипове и ускоряване. Например, ако мрежата ти е статична, т.е. след обучението повече няма да я учиш а само ще я ползваш, има вариант да я оформиш като записана на програмируема матрица, и това е един от вариантите за ускоряване, все едно сам си разработваш хардуерен чип за нея :) Е, всичко зависи от размера все пак. Предполагам със специализираните чипове част от нужната галимация ще се автоматизира, но сега сме все още в началото на тъмните векове на невронните мрежи в това отношение. Имам чувството, че тепърва ще протичат процеси на стандартизация в тая насока, за да станат чиповете масови. Но винаги е хубаво човек да знае как работи инструмента който ползва, в случая невронните мрежи. Поне докато не станат нещо рутинно.
Ако искаш да си позагубиш малко времето с невронни мрежи, тръгни с OpenNN, пак опън сорс система. Още не е толкова развита като компютърното зрение, но в момента върви с бързи темпове. Има мощно комюнити и лесно се намира помощ за проблемите. Но при всички случаи е добре да минеш някакъв теоретичен курс, иначе голяма част от терминологията, видовете мрежи и смисъла на действията няма да са ти ясни. На мене добре ми се отрази Хайкин, "Нейронные сети. Полный курс", намира се свободно в мрежата, минимум един бърз прочит поне до средата
Има по-лоши престъпления от това да гориш книги. Едно от тях е да не ги четеш
|