В основната си работа горе долу съм като свободен изследовател, до голяма степен се занимавам с неща които сам избирам, и за време колкото им е нужно :) Щом още ме търпят, изглежда върша и полезна работа...
Машинното зрение в момента е голяма мода, и хората наистина правят чудеса с неголеми усилия. Използва се най-вече OpenCV, "Open computer vision", опън сорс система разработвана от дълго време от маса народ, практически необятна. Най-ценното е, че тъй като много хора я ползват, има огромно количество работещи примери и полезни обсъждания на практически проблеми, така че лесно се намира решение за повечето неща с чичо Гугъл. Обикновено повечето такива опън сорс проекти са заострени за Линукс, така че чисто технологически най-бързо се рабзработва с тях именно на тая операционна система. После, когато вече имаш нещо направено, може да мислиш да го портваш към Windows.. Аз загубих почти месец докато разработя пътека как основните проекти, на които бях стъпил, да ги пресъздам за Виндовса. Понякога се срещат добри хора, които са извървяли същия път и са публикували неща в гитхъба, но борбата не е толкова лека. Е, става все пак.
Невронните мрежи имат големи перспективи. Но там стои сериозният проблем с обучението, и самата организация на мрежата. OpenCV ти дава възможност да събереш много характеристики на изображението, и вече на тяхна база да си строиш и обучаваш невронна мрежа. Но от собствен опит казвам, нещата не стават инцидентно, трябва първо да се понатрупа опит с тези мрежи, за да може да се формулира самата задача в детайли, която им се дава. Ако задачата която се решава има добро финансиране, тогава може да се гледа към такива мрежи, защото гълтат доста човешки ресурс. В моята задача се използваха по-бързи подходи, има вградени Flann matching (Fast Approximate Nearest Neighbor Search), който търпи някакво супер елементарно обучаване по подобие на невронните мрежи, но не е на тяхната основа, има вграден и KNN метод (k-Nearest Neighbor). как работят тези неща си има публикувани статии, на хелпа на OpenCV не може много да се разчита. В стандартната документация философията на функцията setTrackbarPos() се свежда до "Sets the trackbar position", както е лесно да се сетиш :) Засега невронните мрежи в тая област имат успех при OCR-системите, като Tesseract, или купешкият FineReader.
Можеш да работиш с машинното зрение и на Python, но пак е по-лесно да стартираш на Линукс, там много лесно ще компилираш нужните библиотеки и ще напаснеш нужните връзки.
За флуоресценцията какво да ти кажа... Ние работехме с установка, която преди години беше направена от самият екип. Идеята е: барабан, побиращ 6 проби (в случая бяха специални епруветки с плоско дъно), барабана се управлява програмно и се върти, всяка проба се позиционира над едно ФЕУ, и има някаква програмируема експозиция, след което барабана се завърта за следващата проба. И така циклично се извърта една проба през определено време. Има някаква система за контрол на тока на тъмно на ФЕУ-то, между пробите, за да се намали шума. Тази стратегия позволява да се наблюдават добре продължителни процеси, в които луминесценцията протича за минути. За по-бързи процеси се използва само една проба, и ФЕУ-то отчита с по-голяма честота във времето. Тъй като активацията е химическа, чрез добавяне на определени разтвори, повечето от процесите са доста бавни, така че тази схема върши работа. Без пари толкова, както се казва. В интерес на истината има купешки уреди които правят почти същото и струват доста пари, но този не им отстъпва, а често ги превъзхожда по чувствителност, което е важното. Но си има и доста недостатъци. Не мога да ти кажа какви разреждания може да се детектират, не съм толкова навътре в тези неща. Моята помощ, както обясних, беше по-занаятчийска :)
Има по-лоши престъпления от това да гориш книги. Едно от тях е да не ги четеш
|