А как же оно тикает?
11,408,027 15,324
 

  bantik ( Слушатель )
24 мар 2009 12:34:29

Тред №96138

новая дискуссия Дискуссия  231

Цитата
Хвастуны утверждают, что это и была первая интеллигентная и массовая --- они пошли во все лаборатории мира --- система распознавания образов. За 10 лет скорость обмера снимков выросла в 100 раз!



Еще пару копеек добавлю. В принципе задача распознавания образов - одна из очень интересных головоломок. Когда я сталкивался с рабочими алгоритмами - каждый раз поражался изобретательности автора. Было такое чувство - что каждый изобретал велосипед (оно позже подтвердилось). Поэтому количество алгоритмов не поддается исчислению.  Но основными шагами являются "векторизация" и "распознавание" - иной раз прочно завязанными на предмет исследования. Например для микроэлектроники можно исследовать только прямые проводники и под фиксированными углами. Для гематологии - круги в разных ипостасях, для OCR - словари и буквенным символы конкретного языка, для ГИБДД - номера автомобилей под разными афинными преобразованиями.
Как же чаще всего делают вектор ? Да очень просто - например построчно считываем строки и отмечаем концы/начала сигнала. Получаем список векторов. Затем считываем вторую строку и сравниваем с предыдущей  - если наблюдаем продолжение объекта - делаем отметку что похоже мы идем по контуру какой то фигуры. В конце исследования получаем контуры и площади фигур. Убираем маленькие/большие фигуры (типа шум) и посылаем контуры на распознавание.
Что здесь может случиться (речь идет о черно-белом объекте) ? - неправильный выбор яркости, контраста, помехи камеры, оптические аберрации, сбои АЦП и пр. С этим лучше бороться "аппаратным способом" - выбирая лучшую камеру и схему. Потому как опыт показал - из бестолкового снимка конфетки не сделаешь. Поэтому я не верю во всевозможные китайские поделки на базе WEB камер и прочей шняги. Кроме того важна и скорость "векторизации" - если работать на обычном 50 Гц PAL/SECAM полукадре - то оцифровка будет происходить очень медленно - для промышленных векторизаторов применяется более высокая развертка и распараллеливание АЦП например на квадратики 16*16 с индивидуальным выравниванием яркости и пр.
Теперь о распознавании - здесь алгоритмов тоже много. Например имея с векторизации координаты/периметры/площади объектов уже можно "просеивать" их через сито. Однако декартовы координаты сбиваются если есть "наклон" фигур - для этого координаты переводят в полярную систему координат (относительно "центра тяжести фигур"). Для обработки спутниковых снимков - появляются не только поворот, но и угол наклона в 3 измерениях. Спутник редко проходит одну и ту же зону на абсолютно одинаковых углах, скоростях. Да и облака/солнце могут дать совсем другие маски. Поэтому для нормальной "оцифровки" используют десятки, а то и сотни кадров, в т.ч. и многолетней истории (видели даже в google map есть аэрофотоснимки 50-ти летней давности). Вернусь назад - работая в векторном многомерном массиве приходится учитывать уже и случайности, вероятности, многоальтернативности. А это сильно сказывается скорость распознавания. Поэтому с момента открытия в Bell Labs практических OCR алгоритмов - это как поединок снаряда и брони. Появляются новые железки - и скорость увеличивается экстенсивно. Потом железок опять не хватает - пошли совершенствоваться алгоритмы - интенсивным путем. Например нейронные сети дают хорошую точность - но не могут работать на больших персептронных сетях (больше 4-5 тыс). Значит нужно сделать кластерное распознавание - а тогда как сшивать, смещать и анализировать "лоскутки" ?
Вот так в общем. Если нужны частности по отраслям - готов рассказать. Например появляется свободное ПО для OCR типа такого http://ocr.apmath.spbu.ru/index.html или здесь http://www.docflow.r…aram=30387
  • +0.00 / 0
  • АУ
ОТВЕТЫ (0)
 
Комментарии не найдены!