Исследование систем управления манипулятором MR-999Е

Исследование методов обработки информации в системах технического зрения роботов. Описания искусственных нейронных сетей и их использования при идентификации изображений. Определение порогового уровня изображений, техники обработки визуальной информации.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид магистерская работа
Язык русский
Дата добавления 08.03.2012
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Интерпретацию - процесс, который позволяет системе технического зрения приобрести более глубокие знания об окружающей среде по сравнению со знаниями, полученными с помощью методов, изложенных выше. Рассматриваемая с этой точки зрения интерпретация охватывает данные методы как неотъемлемую часть процесса понимания зрительной сцены. Хотя в области технического зрения она и является объектом активных исследований, достижения пока весьма незначительны. Ниже мы кратко рассмотрим проблемы, представляющие современные исследования в этой области технического зрения .

Мощность системы технического зрения определяется ее способностью выделять из сцены значимую информацию при различных условиях наблюдения и использовании минимальных знаний об объектах сцены. По ряду причин (неравномерное освещение, наличие тел, загораживающих объекты, геометрии наблюдения) этот тип обработки представляет трудную задачу. Много внимания уделено методам уменьшения разброса в интенсивности. Способы обратного и структурированного освещения позволяют устранить трудности, связанные с произвольным освещением рабочего пространства. К этим трудностям относятся теневые аффекты, усложняющие процесс определения контуров, и неоднородности на гладких поверхностях. Это часто приводит к тому, что они распознаются как отдельные объекты. Очевидно, многие из этих проблем обусловлены тем, что относительно мало известно о моделировании свойств освещения и отражения трехмерных сцен. Методы разметки линий и соединений представляют собой некоторые попытки в этом направлении, но они не в состоянии количественно объяснить эффекты взаимодействия освещения и отражения. Более перспективный подход основан на математических моделях, описывающих наиболее важные связи между освещением, отражением и характеристиками поверхности, такими, как ориентация.

2.7 Теоретико-множественная модель распознавания и идентификации

Рассмотрим теоретико-множественную модель процесса распознавания и идентификации объектов роботизированного производства.

Пусть задано пространство S в котором существует множество объектов X ={x1… xn}, также в нем находится робот R, оснащенный системой технического зрения SR. Пусть каждому объекту хі соответствует набор признаков {f…f}.

Тогда множество объектов X = {x1, x2… xn} можно охарактеризовать матрицей признаков:

F = .

Процесс идентификации будет заключаться в том, что объект хі может быть распознан по подмножеству признаков из множества признаков F. Для всего множества объектов Х набор подмножеств формирует множество :

= .

Общий вид процедуры распознавания объектов формально представляется в виде:

Х ,

где R(S) - робот, оснащенный системой датчиков S; - множество объектов; - множество распознанных объектов.

Процедура распознавания и идентификации объектов представлена в виде

,

где - множество сенсоров; - множество признаков;

-

множество распознанных признаков; - множество распознанных объектов.Таким образом, процедура идентификации будет состоять в определении в матрице распознанных признаков тех из них, которые являются достаточными для идентификации объектов:

=,

где - матрица идентифицированных признаков, характеризующее множество идентифицированных объектов .

Данная модель может быть использована при разработке подсистем распознавания и идентификации в составе систем технического зрения. Ее применение позволит обеспечить решение задач распознавания и идентификации объектов в рабочей зоне манипуляционных и мобильных роботов.

Во второй части работы проанализированы методы идентификации объектов в робототехнических системах и построена теоретико-множественная модель распознавания и идентификации.

Основными методами являются:

- метод сравнения с эталоном (установление совпадения двух точечных изображений);

- методы теории графов и распознавание (представление сегментов контура в виде графа и поиске на графе пути наименьшей стоимости, который соответствует значимым контурам);

- корреляционный метод (вычисление взаимокорреляционной функции между эталоном и изображением);

- распознавание через связи шаблонов (согласование компонентов изображения как шаблон и определение, какие объекты присутствуют, изучив предложенные связи между найденными шаблонами);

- искусственные нейронные сети (обучение сети по различным образцам образов с указанием того, к какому классу они относятся).

3. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ МЕТОДОВ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ТЕХНИЧЕСКОГО ЗРЕНИЯ

3.1 Основные подходы к практической реализации методов обработки информации

3.1.1 Методы пространственной области

Рассмотрим два основных подхода к предварительной обработке информации. Первый подход основан на методах пространственной области, а второй -- на методах частотной области с использованием преобразования Фурье. Вместе эти подходы охватывают большинство из существующих алгоритмов предварительной обработки информации, применяемых в системах технического зрения роботов [24].

К пространственной области относится совокупность пикселов, составляющих изображение. Методы пространственной области являются процедурами, оперирующими непосредственно с этими пикселями. Функции предварительной обработки в пространственной области записываются в виде

g(x, y) = h[f(x, у)], (3.1)

где f{x, у)--входное изображение, g(xy у)--выходное (обработанное) изображение, a h -- оператор функции /, определенный в некоторой области (х, у). Оператор h можно применять также к ряду входных изображений для формирования, например, суммы пикселов К изображений при уменьшении шума

Основным подходом при определении окрестности точки (х, у) является использование квадратной или прямоугольной области части изображения с центром в точке (х, у). Центр этой части изображения перемещается от пикселя к пикселю, начиная, например, от левого верхнего угла; при этом для получения g(xy у) оператор применяется для каждого положения (х, у). Хотя иногда используются и другие формы окрестности (например, круг), квадратные формы более предпочтительны из-за простоты их реализации.

Один из наиболее часто встречающихся методов пространственной области основан на использовании так называемых масок свертки (или шаблонов, окон или фильтров). Обычно маска представляет собой небольшую (например, размерность 3X3) двумерную систему, коэффициенты которой выбираются таким образом, чтобы обнаружить заданное свойство изображения.

Предположим для начала, что дано изображение с постоянной интенсивностью, которое содержит отдельные удаленные друг от друга пиксели с отличной от фона интенсивностью. Процесс заключается в следующем. Центр маски перемещается по изображению определенным образом. При совпадении центра маски с положением каждого пикселя производится умножение значений всех пикселов, находящихся под маской, на соответствующий коэффициент на маске. Затем результаты этих девяти умножений суммируются. Если все пиксели под маской имеют одинаковые значения (постоянный фон), то сумма будет равна нулю. Если же центр маски разместится над точкой с другой интенсивностью, сумма будет отлична от нуля. В случае размещения указанной точки вне центра сумма также будет отлична от нуля, но на меньшую величину. Это различие может быть устранено путем сравнения значения суммы с пороговым значением.

Отметим, что использование окрестности не ограничивается областями размерностью 3X3 и случаями, которые будут приведены в дальнейшем, например снижение шума, получение переменных порогов изображения, подсчет измерений параметров изображения и формирование структуры объекта.

3.1.2 Методы частотной области

К частотной области относится совокупность комплексных пикселов в виде преобразования Фурье от изображения. Понятие «частота» используется при интерпретации преобразования Фурье и вытекает из того факта, что результат этого преобразования представляет собой сумму синусоид. Из-за повышения требований к обработке результатов методы частотной области не так широко используются в техническом зрении роботов, как методы пространственной области [25].

Однако преобразование Фурье играет важную роль при анализе движения объекта и при описании объекта. Кроме того, многие пространственные методы для улучшения качества и восстановления изображения базируются на концепциях преобразования Фурье.

Позволяется проводить прямую процедуру вычисления двумерного преобразования Фурье, используя только одноразмерный БПФ-алгоритм. Преобразование Фурье можно использовать при решении многих задач систем технического зрения. Например, с помощью представления границы объекта в виде одномерного массива точек и вычисления их преобразования Фурье полученные значения могут быть использованы в качестве описания формы границы. Одномерное преобразование Фурье является также эффективным при обнаружении движения объекта.

Использование дискретного двумерного преобразования Фурье возможно при изменении, увеличении и восстановлении изображений, хотя, как уже отмечалось, применение этого метода в промышленных системах технического зрения до сих пор ограничено сложностью требуемых вычислений. Этот подход, требующий использования прецизионного оптического оборудования, применяется в промышленных условиях для решения таких задач, как проверка качества поверхности металла после финишной обработки.

3.2 Библиотека Integrated Performance Primitives (IPP)

Возможностями Intel IPP являются следующие функции:

- кодирование и декодирование видео;

- кодирование и декодирование аудио;

- JPEG/JPEG2000;

- машинное зрение;

- криптография;

- сжатие данных;

- преобразование цвета;

- обработка изображения;

- трассировка луча/визуализация;

- обработка сигналов;

- кодирование речи;

- распознавание речи;

- обработка строк;

- векторная/матричная математика.

Библиотека использует расширенные наборы инструкций процессора MMX, SSE, SSE2, SSE3, SSSE3, SSE4 и многоядерные процессоры.

Intel IPP разделен на три основные группы: сигналы (линейный массив данных или вектор), изображения и матрицы.

Половина функций для матричных операций, треть для обработки сигналов и оставшиеся для изображений. Функции Intel IPP разделены на 4 типа данных: 8u (8-битные беззнаковые), 8s (8-битые со знаком), 16s, 32f (32-битые с плавающей точкой), 64f и т.д. Как правило, разработчики приложений работает только с одним доминирующим типом данных для большинства функций обработки, и только в конце обработки производят преобразование в выходной формат [26].

3.3 Библиотека AviCap

Приложения, предназначенные для записи звуковых данных и видеоданных, могут воспользоваться удобным высокоуровневым интерфейсом, предоставляемым библиотекой avicap.dll. Создавая приложения для записи видео, вам не придется заботиться о внутренней структуре avi-файлов, о компрессии (сжатии) данных при записи, об интерфейсе с драйверами устройства (или устройств) записи. При необходимости, вы, тем не менее, можете воспользоваться интерфейсом более низкого уровня, который обеспечивается библиотекой avifile.dll.

Для создания приложений, записывающих видео, лучше всего воспользоваться классом окна AVICap, определенном в библиотеке avicap.dll . Создав окно на базе класса AVICap, приложение получит в свое распоряжение простой интерфейс для записи видео и звуковых данных в avi-файл, для предварительного просмотра видео и выполнения других операций.

В классе AVICap предусмотрены средства динамического переключения устройств записи видео и звука, что удобно в тех случаях, когда возможно поочередное использование нескольких таких устройств, установленных в компьютере. Приложение может создать avi-файл, предназначенный для записи, скопировать содержимое одного avi-файла в другой, установить частоту кадров, вывести на экран диалоговую панель, с помощью которой пользователь сможет задать формат записи. Есть средства для работы с палитрами и универсальным буфером обмена Clipboard.

Для записи звука класс окна AVICap пользуется срествами библиотеки mmsystem.dll.

3.4 Библиотека OpenCV

3.4.1Операторы для определения изображений при помощи библиотеки OpenCV

OpenCV (англ. Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом) -- библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++, так же разрабатывается для Python, Ruby, Matlab и других языков.

OpenCV предназначена для повышения вычислительной эффективности процедур обработки видеоизображения с особым упором на применение в задачах реального времени.

OpenCV написана на C хорошо оптимизирована и может использовать преимущества многоядерных процессоров. Для более полного использования возможностей библиотеки рекомендуется установить Intel Performance Primitives (IPP). Это позволит повысить производительность процедур библиотеки (где взять и как ставить смотреть здесь ).

Позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:

- контроль качества выпускаемой продукции;

- обработке изображений в медицине;

- обеспечении безопасности;

- интерфейсе пользователя;

- робототехнике.

OpenCV содержит библиотеку общих функций искусственного интеллекта «Machine Learning Library» (MLL). Она служит, в основном, для распознавания фрагментов изображения и кластеризации.

Данную библиотеку применяют:

- для утверждения общего стандартного интерфейса компьютерного зрения для приложений в этой области;

- для способствования росту числа таких приложений и создания новых моделей использования PC;

- сделать платформы Intel привлекательными для разработчиков таких приложений за счёт дополнительного ускорения OpenCV с помощью Intel® Performance Libraries (Сейчас включают IPP (низко-уровневые библиотеки для обработки сигналов, изображений, а также медиа-кодеки) и MKL (специальная версия LAPACK и FFTPack));

- OpenCV способна автоматически обнаруживать присутствие IPP и MKL и использовать их для ускорения обработки.

Основными модулями являются следующие модули.

Ядро cxcore производит:

- базовые операции над многомерными числовыми массивами;

- матричная алгебра, математические функции, генераторы случайных чисел DFT, DCT;

- запись/восстановление структур данных в/из XML/YAML;

- базовые функции 2D графики;

- поддержка более сложных структур данных: разреженные массивы, динамически растущие последовательности, графы;

CV - является модулем обработки изображений и компьютерного зрения. Его функциями являются:

- базовые операции над изображениями (фильтрация, геометрические преобразования, преобразование цветовых пространств и т. д.)

- анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы);

- структурный анализ (описание форм, плоские разбиения);

- анализ движения, слежение за объектами;

- обнаружение объектов, в частности лиц;

- калибровка камер, элементы восстановления пространственной структуры;

Highgui -- Модуль для ввода/вывода изображений и видео, создания пользовательского интерфейса

Необходим для выполнения следующих операций:

- захват видео с камер и из видео файлов, чтение/запись статических изображений;

- функции для организации простого UI (сейчас все демо приложения используют HighGUI).

Cvaux -- Экспериментальные и устаревшие функции

Данный модуль выполняет:

- пространственное зрение: стерео калибрация, само калибрация;

- поиск стерео-соответствия, клики в графах;

- нахождение и описание черт лица;

- сравнение форм, построение скелетонов;

- скрытые Марковские цепи;

- описание текстур.

Оператор Собеля вычисляет первые, вторые, третьи или смешанные производные изображения, используя расширенный оператор.

Функция вычисляет производную изображения, скручивая изображение с соответствующим ядром.

(3.2)

Операторы Собеля комбинируют Гауссово сглаживание и дифференцирование, таким образом результат более или менее устойчив к искажению. Чаще всего, функция вызвана, чтобы вычислить сначала x-или y-производную изображения. Первый случай (Х-оператор) соответствует

,

второй случай (У-оператор)

или

в зависимости от начала координат изображения. Так как масштабирование не сделано, изображение адресата обычно имеет больший размер абсолютной величины, чем исходное изображение.

Ядра применяются к каждому пикселю изображения: он помещается в центр ядра, и значения интенсивности в соседних точках умножаются на соответствующие коэффициенты ядра, после чего полученные значения суммируются. Х-оператор Собеля, примененный к 3х3 матрице исходного изображения, дает величину горизонтальной составляющей градиента интенсивности в центральной точке этой матрицы, а Y-оператор Собеля дает величину вертикальной составляющей градиента [1]. Коэффициенты ядра выбраны так, чтобы при его применении одновременно выполнялось сглаживание в одном направлении и вычисление пространственной производной - в другом. Величина градиента определяется как квадратный корень из суммы квадратов значений горизонтальной и вертикальной составляющих градиента.

В результате образуется массив чисел, характеризующих изменения яркости в различных точках изображения. Затем выполняется операция сравнения с порогом и определяется положение элементов изображения с наиболее сильными перепадами яркости. Выбор порога является одним из ключевых вопросов выделения перепадов [27].

В результате обработки получается бинарная матрица, где единицам соответствуют точки со значительным перепадом яркости, нулям - все остальные. В качестве дополнительной меры в борьбе с шумом и ликвидации возможных разрывов в контурах применяются морфологические операции.

В библиотеке компьютерного зрения OpenCV этот оператор представлен функцией void cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 ), где src - исходное изображение; dst - получаемое изображение; xorder - производная по координате х; yorder - производная по координате у; aperture_size - размер апертуры изображения (Апертура в оптике -- действующее отверстие оптического прибора, определяемое размерами линз или диафрагмами).

Оператор Лапласа. Найдем вероятность попадания случайной величины, распределенной по нормальному закону, в заданный интервал.

(3.3)

обозначим ; (3.4)

тогда (3.5)

Т.к. интеграл не выражается через элементарные функции, то вводится в рассмотрение функция

(3.6)

которая называется функцией Лапласа или интегралом вероятностей.

Значения этой функции при различных значениях х посчитаны и приводятся в специальных таблицах.

Ниже показан график функции Лапласа.

Рисунок 3.1 - график функции Лапласа

Функция Лапласа обладает следующими свойствами:

1) Ф(0) = 0;

2) Ф(-х) = - Ф(х);

3) Ф(?) = 1.

Функцию Лапласа также называют функцией ошибок и обозначают erf x.

Еще используется нормированная функция Лапласа, которая связана с функцией Лапласа соотношением:

(3.7)

Ниже показан график нормированной функции Лапласа:

Рисунок 3.2 - график нормированной функции Лапласа

В библиотеке компьютерного зрения OpenCV этот оператор представлен функцией

void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 ),

где src - исходное изображение; dst - получаемое изображение; aperture_size - размер апертуры изображения (аналогично функции cvSobel).

Отличие функции Лапласа от функции Собеля заключается в том, что в функции Лапласа находится вторая производная, а в функции Собеля первая.

Алгоритм Кэнни. Углы характеризуют контуры объектов на изображении и потому являются очень важной проблемой в обработке изображений.

Углы на изображении - это области с резкими скачками интенсивности цвета при переходе от одного пикселя к другому. Выделение углов на изображении используется для значительного сокращения объёма данных при обработке, сохраняя при этом основные структурные свойства исходного изображения.

Алгоритм Кэнни выделения углов на изображении известен многим как оптимальный детектор угловых точек. Целью Кэнни было улучшить детекторы, созданные до него на момент разработки. И он успешно добился своей цели, изложив свои идеи и методы.

Этот алгоритм актуален и на сегодняшний день и лежит в основе многих современных алгоритмов выделения углов.

В своей работе Кэнни следовал некоторому списку критериев с тем, чтобы улучшить современные методы выделения углов.

Первым и наиболее очевидным критерием был низкий уровень погрешности. Очень важно, чтобы точность угловых точек изображения не была потеряна и, следовательно, чтобы не возникало ссылок на не угловые точки. Вторым критерием выступал хороший уровень локализации угловых точек. Иными словами, чтобы расстояние между найденными угловыми точками и действительными углами сводилось к минимуму. Третьим критерием было, чтобы каждому углу соответствовало не более одной точки. Этот критерий был поставлен, поскольку первых двух было недостаточно для полного исключения возможности множественного соответствования различных точек одному и тому же углу.

Основываясь на этих критериях, детектор углов Кэнни сначала сглаживает изображение для уменьшения шума. Потом находит градиент изображения в каждой точке для выделения областей с наибольшей величиной пространственной производной. Далее алгоритм проходит по этим областям и глушит пиксели с не максимальным значением градиента (процедура nonmaximum suppression). Массив градиентов далее сокращается процедурой гистерезиса (лат. - hysteresis), которая используется для обработки оставшихся пикселей, которые не были приглушены. Процедура гистерезиса использует два порога. Если величина градиента меньше первого, то пиксель устанавливается в ноль (не угол). Если величина градиента больше второго порога, пиксель устанавливается в максимальное значение (делается углом). И если величина лежит между двумя порогами, то пиксель не устанавливается в ноль, пока не найден путь от данного пикселя к пикселю с величиной градиента больше второго порога.

В библиотеке компьютерного зрения OpenCV этот оператор представлен функцией

void cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3 ),

где image - входное изображение; edges - изображение для выделения краев с помощью функции ; threshold1 - первый порог изображения; threshold2 - второй порог изображения; aperture_size - размер апертуры изображения.

Детектор Харриса. За последние двадцать лет было создано довольно много различных детекторов точечных особенностей изображений. Чаще всего используются детектор Харриса и детектор по минимальным собственным значениям. В данной работе реализованы оба.

Рассмотрим детектор по минимальным собственным значениям. Берем первое изображение последовательности. Для каждого пикселя рассчитываем следующую матрицу:

(3.8)

где - яркость в точке, - весовая функция по окрестности , в качестве которой обычно берут распределение Гаусса. У точки, окрестность которой похожа на угол, матрица будет иметь два больших положительных собственных значения. Таким образом, условие похожести точки на угол запишется следующим образом:

(3.9)

Теперь остается найти локальные максимумы функции отклика угла , которые и будут соответствовать особым точкам.

Чтобы упростить вычисления, Харрис предложил отказаться от подсчета собственных значений матрицы, и вместо них ввел следующую функцию отклика угла:

(3.10)

В библиотеке компьютерного зрения OpenCV этот оператор представлен функцией

void cvCornerHarris( const CvArr* image, CvArr* harris_responce,

int block_size, int aperture_size=3, double k=0.04 ),

где image - входное изображение; harris_responce - изображение для вывода функции, которое должно иметь такой же размер как и входное изображение; block_size - размер блоков; aperture_size - размер апертуры изображения; k - свободный параметр детектора Харриса; - параметр Харриса, его величина обычно лежит в пределах и определяется эмпирически.

Далее с ней проводятся аналогичные действия, поиск локальных максимумов, и введение порогового значения.

На втором этапе - этапе слежения (Tracking) - определяются смещения для каждой особой точки между соседними кадрами и рассчитывается средний по всем точкам вектор сдвига для каждой пары кадров.

Основная идея задачи слежения состоит в поиске окрестности в текущем кадре, максимально похожей на окрестность точки в предыдущем кадре. Следующий ключевой момент состоит в том, что этот поиск окрестности производится не по всему изображению, а в некотором радиусе от исходного положения особой точки. Здесь мы вводим предположение, что за время между двумя кадрами в сцене не происходит больших изменений, поэтому нет смысла искать точку далеко от текущего её положения.

Таким образом, если в предыдущем кадре координаты особой точки обозначить , то в области поиска ищется такой вектор , что сумма по окрестности будет минимальна:

(3.11)

где - окрестность сравнения, - область поиска особенности, и - яркость точки в текущем и предыдущем кадрах.

Функцией поиска контуров является функция cvFindContours:

int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size=sizeof(CvContour), int mode=CV_RETR_LIST, int method=CV_CHAIN_APPROX_SIMPLE, CvPoint offset=cvPoint(0,0) ) ,

где image - исходное 8-битное одноканальное изображение. Ненулевые пиксели считаются 1, нулевые остаются 0 - рассматривается как двоичный файл. Для получения такого бинарного изображения с оттенками серого, можно использовать функции cvThreshold, cvAdaptiveThreshold или cvCanny. Функция изменяет содержимое исходного изображения; Storage - ячейка памяти, содержащая полученные контура; first_contour - выходной параметр, содержащий указатель на первый найденный контур; header_size - размер последовательности заголовка >=sizeof(CvChain).

Таблица 3.1 - Параметры функции выделения контуров

CV_RETR_EXTERNAL

если необходимы только крайние внешние контуры

CV_RETR_LIST

выделение всех контуров и помещение их в список

CV_RETR_CCOMP

выделение всех контуров и помещение их в двойную иерархию

CV_RETR_TREE

получить все контура и реконструировать полную иерархию вложенных контуров

Method - метод аппроксимации (для всех модов, кроме CV_RETR_RUNS,который использует встроенную аппроксимацию);

И offset - каждый контур точки сдвинулся. Используется если контуры извлекаются из изображений, затем они должны быть проанализированы в контексте целого изображения.

Таблица 3.2 - Методы аппроксимации для функции определения контуров

CV_CHAIN_APPROX_NONE

преобразует все точки из цепочки в точки

CV_CHAIN_APPROX_SIMPLE

сжимает горизонтальных, вертикальных и диагональных сегментах, то есть функция остается только прекращение их центры

CV_CHAIN_CODE

выходные контура в цепочечном коде Фримена

CV_CHAIN_APPROX_TC89_L1, CV_CHAIN_APPROX_TC89_KCOS

применение одного из аппроксимационных цепочечных кодов Тех-Чина

CV_LINK_RUNS

использовать другой алгоритм поиска контура с помощью горизонтальных связей сегментов в один. Только CV_RETR_LIST может быть использован с этим методом

Функция Приближения полигональных кривой (кривых) с заданной точностью

CvSeq* cvApproxPoly( const void* src_seq, int header_size, CvMemStorage* storage, int method, double parameter, int parameter2=0 );

src_seq - последовательность ряда точек; header_size - размер заголовка кривой; storage- Контейнер с аппроксимируемыми контурами. Если NULL, то используется ячейка с входными последовательностями; мethod - метод аппроксимации; только CV_POLY_APPROX_DP, который описывает метод Дугласа-Пеукера; parameter - параметр специального метода; CV_POLY_APPROX_DP для точной аппроксимации; parameter2 - если src_seq является единичной последовательностью, то он должен быть приближен для всех последовательностей на том же уровне или ниже src_seq. Если src_seq является массив (CvMat *) точек, параметр определяет, будет ли кривая замкнута.

Функции уменьшения и увеличения размера изображений:

void cvPyrDown( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );

где src - исходное изображение; dst - входящее изображение (должно содержать длину и ширину); filter - тип фильтра ; только CV_GAUSSIAN_5x5 поддерживается.

void cvPyrUp( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );

где src - исходное изображение; dst - входящее изображение (должно содержать длину и ширину); filter - тип фильтра ; только CV_GAUSSIAN_5x5 поддерживается.

Пороговая функция в библиотеке компьютерного зрения OpenCV определяется как

void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );

где src - входной массив (8-битный, 32-битный); dst - выходной массив (такого же типа как и входной); threshold - пороговое значение; max_value - максимальное значение, которое используется с CV_THRESH_BINARY и CV_THRESH_BINARY_INV; threshold_type - тип пороговой функции.

Нахождение кругов в оттенках серого изображения, используя преобразование Хафа;

CvSeq* cvHoughCircles( CvArr* image, void* circle_storage, int method, double dp, double min_dist, double param1=100, double param2=100, int min_radius=0, int max_radius=0 );

Image - входящее 8-битное изображение; circle_storage - Ячейка, хранящая обнаруженные круги. Это может быть хранилищем (в данном случае последовательность кругов создается при хранении и возвращается функцией), или одну строку / один столбец матрицы (CvMat *) типа CV_32FC3, к которому пишутся параметры кругов. Если circle_storage - матрица и фактическое число линий превышает размер матрицы, максимально возможное количество кругов возвращается. Каждый круг кодируется 3 числа с плавающей точкой: центр координатами (х, у) и радиуса; Method - реализована только метод CV_HOUGH_GRADIENT; Dp - Установка аккумулятора, который используется для обнаружения центров окружностей. Например, если он равен 1, аккумулятор будет иметь то же разрешение, как у исходного изображения, если это 2 - аккумулятор будет в два раза меньше ширины и высоты и т.д.; min_dist - Минимальное расстояние между центрами обнаруженных кругов. Если параметр слишком мал, несколько соседних кругов может быть ложно обнаружено в дополнение к истинным. Если он слишком большой, некоторые круги могут быть упущены; param1 - Первый метод конкретных параметров. В случае CV_HOUGH_GRADIENT это высший порог, край детектора (ниже 1 будет в два раза меньше); param2 - Второй метод конкретных параметров. В случае CV_HOUGH_GRADIENT - аккумулятор. Чем меньше параметр, тем больше ложных кругов могут быть обнаружены; min_radius - минимальный радиус искомых кругов; max_radius - максимальный радиус.

В третьей части работы рассмотрена практическая реализация методов обработки информации в робототехнических системах. Существуют два основных подхода к предварительной обработке информации. Первый подход основан на методах пространственной области, а второй -- на методах частотной области с использованием преобразования Фурье. Вместе эти подходы охватывают большинство из существующих алгоритмов предварительной обработки информации, применяемых в системах технического зрения роботов. Основными библиотеками, работающими с методами распознавания и идентификации являются библиотека Integrated Performance Primitives (IPP), библиотека AviCap, библиотека компьютерного зрения с открытым кодом OpenCV. Рассмотрены основные функции и их реализация в библиотеке OpenCV.

4. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ ОБЪЕКТОВ РОБОТИЗИРОВАННОГО ПРОИЗВОДСТВА С ПОМОЩЬЮ СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ

4.1 Основные особенности разработанного программного обеспечения

Целью разработки данного программного обеспечения является исследование программных методов распознавания и идентификации простых объектов с помощью библиотеки компьютерного зрения OpenCV.

С точки зрения MFC проект будет состоять из двух классов: CApp (класс приложения) и CMainWin (главное окно) с соответствующей первому функцией InitInstance(); конструктором и картой сообщений для класса окна.

В программе указывается глобальное объявление функции обработки кадра - void mycallback (IplImage *img).

Указателями на изображение будут являться: IplImage *image1,*src2,*dst,*dst2,*dst3,*dst4,*gray,*dst5,*dst6,*dst7,*dst8.

Далее выделяются переменные для сохранения памяти. В данном случае это CvMemStorage *storage,*storage2;

Конструктор главного окна программы необходимо описать следующим образом:

CMainWin::CMainWin()

{ Create (NULL, "OpenCV");

Далее в конструкторе указывается дескриптор главного окна программы:

HWND w= this->GetSafeHwnd();

Также в конструкторе определяется количество камер с помощью команды

int ncams=cvcamGetCamerasCount();

Далее идет проверка наличия камер, если их количество ненулевое, выполняется ряд функций, связанных с инициализацией камеры, основных окон программы и свойств изображений:

if (ncams) {bCreate=true;

VidFormat vidFmt={800,600,20.0};

cvcamSetProperty(0,CVCAM_PROP_ENABLE,CVCAMTRUE);

cvcamSetProperty(0,CVCAM_PROP_CALLBACK,mycallback);

cvcamSetProperty(0,CVCAM_PROP_WINDOW,&w);

cvcamSetProperty(0,CVCAM_PROP_SETFORMAT,&vidFmt);

cvNamedWindow(cvGetWindowName(w),CV_WINDOW_AUTOSIZE);

}

На рис 4.1 указано главное окно программы, которое содержит пример исходного изображения, полученного камерой СТЗ робота.

Рисунок 4.1 - Пример изображения в главном окне программы

Для организации вывода результатов обработки визуальной информации используется функция cvNamedWindow( "Canny", 1 ), где 1 - идентификатор окна. Результат каждого преобразования исходного изображения выводится при помощи команды cvShowImage().

На рис. 4.2 приведен пример применения функции Canny, обеспечивающей выделение границ изображений.

Рисунок 4.2 - Окно программы с функцией Canny

С помощью функции cvCreateTrackbar создается полоса прокрутки cvCreateTrackbar("CannyTrack","Canny",&cannyt,200,NULL) и задается размер окна для функции cvResizeWindow("Canny",320,200).

Аналогичным образом создается окно для вывода функции определения контуров. На рисунке 4.3 приведено выполнение функции.

Рисунок 4.3 - Определение контуров изображений

Затем производится инициализация камеры, либо выводится сообщение об ошибке:

if(!cvcamInit()) MessageBox("Error");

в противном случае производится запуск камеры:

elsecvcamStart();}

либо выдается сообщение о том, что она не найдена.

Закрытие главного окна программы должно обеспечивать закрытие всех программных окон (в противном случае они могут остаться в памяти). Для этого необходимо использовать функцию void CMainWin::OnClose(), в которой производится остановка камеры (cvcamStop()),закрытие всех окон (cvDestroyAllWindows()), выход из режима камеры (cvcamExit()) и закрытие главного окна:

if(!bCreate) cvReleaseImage(&dst);

DestroyWindow(); }.

4.2 Реализация функции обработки изображений

Обработка изображений в OpenCV производится кадр за кадром, а функции обратного вызова (mycallback), которая в разработанном программном обеспечении выглядит так: void mycallback(IplImage *src)

Изображение, полученное с камеры в тексте программы обозначено переменной src и выводится в основное окно программы (рис. 4.4).

В приложении используются различные типы моделей памяти, соответствующие различным типам изображений, например:

src2=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,3);

dst2=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_32F,3);

gray=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,1);

Для поворота изображения использовалась функция cvFlip(src, src2).

Рисунок 4.4 - Основное окно программы (уменьшенный вид)

Для нормальной работы функции Кенни, необходимо преобразовать исходное изображение в черно-белое (используется функция cvCvtColor(src2,gray,CV_RGB2GRAY)), после чего выполнить само преобразование функцией cvCanny(gray,dst3,25,100+cannyt,3).

Далее производится вывод этого изображения в окно dst3 при помощи функции cvShowImage("Canny",dst3). На рис. 4.5 представлен пример выполнения функции Кенни к исходному изображению.

Рисунок 4.5 - Пример преобразования Кенни

Одной из простейших функций обработки изображений является пороговая функция. В библиотеке OpenCV она представленав виде:

cvThreshold( tgray, gray, 100, 255, CV_THRESH_BINARY ).

Здесь tgray - входной массив (8- или 32-битный); gray - выходной массив такого же типа как и tgray; 100 и 255 - минимальное и максимально значение, используемое пороговой функцией; CV_THRESH_BINARY - показывает тип пороговой функции. Пример использования пороговой функции представлен на рис. 4.6.

Рисунок 4.6 - Применение пороговой функции

Более улучшенной разновидностью пороговой функции является функция сvAdaptiveThreshold (dst3, dst4, 5+thresh2, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY,3,5). Пример использования функции приведен на рис. 4.7.

Рисунок 4.7 - Применение адаптивной пороговой функции

4.3 Реализация функций распознавания и идентификации

Результатом выполнения функции Кенни является изображение, содержащее края объектов в исходном кадре, и являющиеся основой для последующих преобразований, в частности для выделения контуров.

Рассмотрим функцию cvFindContours, которая находит контура объектов, находящихся в поле зрения камеры:

cvFindContours(gray, storage, &contours, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) ).

Здесь gray является исходным изображением в 8-битном формате, в области памяти storage хранятся полученные контура; в массиве contours содержится информация о первом найденном контуре; CvContour показывает размер структуры данных контура; параметр CV_RETR_LIST означает, что все выделенные контура помещаются в список; параметр CV_CHAIN_APPROX_SIMPLE означает, что функция выделяет центры контуров; cvPoint(0,0) показывает, что контуры извлекаются из изображений и затем должны быть проанализированы в контексте целого изображения.

Для нахождения нескольких контуров используется цикл, представленный ниже:

while(contours)

{ result = cvApproxPoly( contours, sizeof( CvContour), storage, CV_POLY_APPROX_DP, cvContourPerimeter( contours)*0.02, 0 );

if( result->total == 4 && fabs( cvContourArea( result, CV_WHOLE_SEQ)) > 1000 && fabs( cvContourArea( result, CV_WHOLE_SEQ)) <( img->height * img->width/2 ) && cvCheckContourConvexity( result) )

{ s = 0; for( int i = 0; i < 5; i++ )

{if( i >= 2) { t = fabs( angle( ( CvPoint*)cvGetSeqElem( result, i ), ( CvPoint*)cvGetSeqElem( result, i-2 ),

( CvPoint*)cvGetSeqElem( result, i-1 ))); s = s > t ? s : t; } } if( s < 0.5 )for( int i = 0; i < 4; i++ )cvSeqPush( squares, ( CvPoint*)cvGetSeqElem( result, i )); }

contours = contours->h_next; }.

На рис. 4.8 представлен результат применения функции выделения контуров.

Рисунок 4.8 - Пример выделения контуров изображений

Функция cvHoughCircles находит окружности на сером изображении, используя преобразование Хью:

cvHoughCircles( gray, cstorage, CV_HOUGH_GRADIENT, 1, gray->height/16, 8, 10, 4, 50 ).

В данной функции, использованной в программном обеспечении параметр gray является 8-битым изображением; cstorage - область памяти, в которой хранятся окружности, обнаруженные функцией; CV_HOUGH_GRADIENT - метод реализации функции; 1 - стек, который используется для обнаружения центров окружностей с тем же разрешением, что и исходное изображение; gray->height/16 - вычисляется минимальное расстояние между центрами обнаруженных окружностей; следующие 2 параметра отвечают за накопление порогов в обнаруженных окружностях; последние 2 параметра отвечают за минимальный и максимальный радиус находимых окружностей.

Для отображения окружностей используется цикл, который выглядит так:

for( int i = 0; i < circles-> total; i++ )

{ float* p = ( float*)cvGetSeqElem( circles, i );

cvCircle( out, cvPoint( cvRound( p[0]), cvRound( p[1])),

2, CV_RGB( 200, 0, 0), -1, 8, 0 );

cvCircle( out, cvPoint( cvRound( p[0]), cvRound( p[1])), cvRound( p[2]), CV_RGB( 200, 0, 0), 1, 8, 0 ); }

Пример выполнения функции представлен на рис. 4.9.

Рисунок 4.9 - Применение функции выделения кругов

Отображение прямоугольных изображений осуществляется командой

void drawSquares(IplImage *img, CvSeq* squares);

Прямоугольные объекты определяются при помощи функции полилиний

cvPolyLine( img, &rect, &count, 1, 1, CV_RGB(200,0,0), 1, CV_AA, 0 );

Далее читается последовательность 4 линий

CV_READ_SEQ_ELEM( pt[0], reader );

CV_READ_SEQ_ELEM( pt[1], reader );

CV_READ_SEQ_ELEM( pt[2], reader );

CV_READ_SEQ_ELEM( pt[3], reader ).

Угол поворота линий полилинии задан при помощи функции :

double angle = abs(pt[1].y-pt[2].y)/sqrt((pt[1].x-pt[2].x)*

(pt[1].x-pt[2].x)+(pt[1].y-pt[2].y)*(pt[1].y-pt[2].y)+0.00001);

Сами линии полилинии прорисовываются с помощью функций:

cvLine( img, cvPoint(0,img->height/2), cvPoint(img->width,img->height/2), CV_RGB(200,200,200),1, 8, 0 );

cvLine( img, cvPoint(img->width/3,0), cvPoint(img->width/3,img->height), CV_RGB(200,200,200),1, 8, 0 );

cvLine( img, cvPoint(img->width/3*2,0), cvPoint(img->width/3*2,img->height), CV_RGB(200,200,200),1, 8, 0 );cvPutText( img, st, pt[1], &font, CV_RGB(200,0,0).

Вывод прямоугольных объектов производится функцией drawSquares(out,findSquares4(gray, mainStorage)), где out - изображение, содержащее прямоугольные фигуры. Пример выполнения выделения прямоугольных объектов показан на рис. 4.10.

Таким образом разработанное программное обеспечение выполняет съем и обработку информации, поступающую с WEB-камеры (СТЗ робота), обеспечивает выполнение границ, контуров, идентификацию простых объектов.

Полный текст программы приведен в приложениях А и Б.

Рисунок 4.10 - Выполнение выделения прямоугольных объектов

В четвертой части исследованы и программно реализованы методы распознавания и идентификации простых объектов. Базовой библиотекой распознавания выбрана библиотека компьютерного зрения OpenCV. Полученные результаты обеспечивают выделение границ и контуров объектов, определение центров масс. Для простых объектов реализованы функции распознавания и идентификации.

5. БЕЗОПАСНОСТЬ ЖИЗНИ И ДЕЯТЕЛЬНОСТИ ЧЕЛОВЕКА

5.1 Анализ условий труда в помещении лаборатории исследовательского бюро кафедры ТАПР

Анализ условий труда производится для помещения лаборатории исследовательского бюро. Помещение лаборатории находится на 1 этаже 4-этажного кирпичного здания.

Помещение лаборатории, в котором размещены рабочие места операторов ЭВМ, обладает следующими параметрами высота 3 м, ширина 10 м, длина 12 м, площадь 120 м2, объем 360 м3, площадь окон 12 м2, потребляемая мощность 3 кВт, персонал - 3 человека.

В помещении находится 3 рабочих места, одновременно в помещении работает 3 человека.

На каждое рабочее место приходится по одному ПК, общая потребляемая мощность оборудования составляет 3 кВт.

Электропитание лаборатории осуществляется от трёхфазной четырехпроводной сети переменного тока с напряжением 380/220 В, частотой 501 Гц, с глухозаземленной нейтралью.

Рассмотрим систему Ч-М-С, ограниченную размерами помещения (элемент «среда»), в составе всего рабочего коллектива (элемент «человек») и всего комплекса технических средств, прямо или косвенно участвующих в технологическом процессе (элемент «машина»).

Разделим элемент «человек» на три функциональные части: Ч1 - «человек - управление машиной»; Ч2- человек, рассматриваемый с точки зрения непосредственного влияния на окружающую среду; Ч3- человек рассматриваемый с точки зрения его физиологического состояния под влиянием факторов, воздействующих на него в производственном процессе.

В данном случае элементом «человек» является коллектив из 3-х человек, находящихся в помещении лаборатории №Лаборатория исследовательского бюро.

Элемент «машина» (3 персональных ЭВМ) выполняет основную технологическую функцию - влияние на предмет труда, дополнительную - формирование параметров окружающей среды. Таким образом, элемент «машина» можно разделить на три элемента: М1 - выполняет основную технологическую функцию; М2 - функция аварийной защиты;

М3 - как источник ОВПФ;

Рисунок 5.1 - Модель системы «человек - машина - среда» (ЧМС)

Элементом «среда» является окружающая среда (воздух, температура, влажность, шум, освещенность, электромагнитное поле и др.). Модель разработанной системы Ч-М-С для лаборатории представлена на рисунке 5.1.

Используя ГОСТ 12.0.003-74, выделим опасные и вредные производственные факторы, которые действуют в системе Ч-М-С. В таблице Д.1 приведены результаты анализа связей системы Ч-М-С.

В результате анализа системы Ч-М-С в лаборатории были выявлены следующие ОВПФ: повышенная температура воздуха рабочей зоны; превышение продолжительности сосредоточения; повышенная напряженность анализаторов.

Таблица 5.1 - Результаты анализа связей системы Ч-М-С

Номер связи на схеме

Наим-ние связи

Действия, влияния

Опасные и вредные производственные факторы по ГОСТ 12.0.003-074

1

2

3

4

1

Ч2 - С

Влияние человека как биологического объекта на среду

- выделение углекислого газа;

- тепловыделение;

2.1

С-Ч1

Влияние окружающей среды на качество работы оператора (изменение работоспособности при изменении температуры, влажности, атмосферного состава, освещенности, уровня электромагнитного поля)

- повышенная или пониженная температура воздуха на рабочем месте;

- повышенная или пониженная влажность воздуха рабочей зоны;

- повышенная или пониженная подвижность воздуха в рабочей зоне;

2.2

С-Ч3

Влияние среды на состояние организма человека (изменение функциональных возможностей организма при изменении температуры, влажности, атмосферного состава, освещенности, уровня электромагнитного поля)

- повышенная или пониженная температура воздуха на рабочем месте;

- повышенная или пониженная влажность воздуха рабочей зоны;

- повышенная или пониженная подвижность воздуха в рабочей зоне;

- недостаточная освещенность рабочей зоны;

- перенапряжение анализаторов;

3.1

С-Ч1

Информация о состоянии среды, которая обрабатывается человеком

- умственное перенапряжение;

- повышенная или пониженная ионизация воздуха;

3.2.1

3.2.2

3.2.3

М1-Ч1

М2-Ч1

М3-Ч1

Информация о состоянии машины, которая обрабатывается человеком, информация про предмет труда и среду, получаемая от машины

- повышенный уровень шума на рабочем месте;

- пониженная контрастность;

4.1

4.2

4.3

Ч1-М1

Ч1-М2

Ч1-М3

Влияние человека на управление техникой и ее настройкой (включение/выключение, настройка и обслуживание ПЭВМ, монитора и принтера)

- повышенная напряженность электрического поля;

- повышенная напряженность магнитного поля;

5

Внешняя система управления

Управляющая информация про технологический процесс с внешней системы управления

- монотонность труда

- умственное перенапряжение;

6.1

6.2

6.3

С1-М1

С1-М2

С1-М3

Влияние среды на работу машины (изменение температуры, влажности, напряжения сети)

- повышенное значение статического электричества;

7

М1-С1

Влияние машины на среду (повышение температуры, повышение электромагнитного поля)

- повышенная или пониженная температура воздуха;

- повышенная или пониженная влажность воздуха;

8

С-М3

Информация об окружающей среде, которая обрабатывается машиной

- повышенная запыленность и загазованность воздуха в рабочей зоне;

9

М3-С

Целенаправленное влияние машины на среду

- повышенная яркость света;

- повышенная пульсация светового потока;

10

Ч3-Ч1

Влияние состояния организма человека на качество его работы (усталость, ослепление, невнимательность)

- эмоциональные перегрузки;

- перенапряжение анализаторов;

11

Ч3-Ч2

Влияние психо-физиологического состояния на степень интенсивности обмена веществ между организмом и средой и энерговыделения человека

- физические перегрузки;

- нервно-психические перегрузки;

12

М2-М1

Аварийные управляющие влияния

- повышенное значение напряжения в электрической цепи, замыкание которого может произойти через тело человека;

13

М1-М2

Информация, необходимая для выработки аварийных управляющих влияний

- повышенный уровень ионизирующих излучений в рабочей зоне;

- повышенное значение статического электричества;

14

М1-ПТ

Влияние машины на предмет труда

- повышенная напряженность электрического поля;

- повышенная напряженность магнитного поля;

15

ПТ-Ч3

Влияние предмета труда на физиологическое состояние человека

- умственное перенапряжение;

- перенапряжение анализаторов.

5.2 Техника безопасности в лаборатории исследовательского бюро

При эксплуатации вычислительных машин главная опасность - поражение электрическим током. Опасность поражения может возникнуть при случайном прикосновении к нетоковедущим частям. Электропитание осуществляется от трёхфазной четырехпроводной сети переменного тока с напряжением 380/220 В, частотой 501 Гц, с глухозаземленной нейтралью.

По степени опасности поражении электрическим током согласно ПУЭ, помещение лаборатории относится к классу помещений без повышенной опасности.

В соответствии с ПТЭ и ПТБ потребителям и обслуживающему персоналу электроустановок предъявляются следующие требования: лица, не достигшие 18-летнего возраста, не могут быть допущены к работам в электроустановках; лица не должны иметь увечий и болезней, мешающих производственной работе; лица должны после соответствующей теоретической и практической подготовки пройти проверку знаний и иметь удостоверение на доступ к работам в электроустановках.

При эксплуатации ПК должны выполняться следующие требования:

· не подключать и не отключать разъемы и кабели электрического питания при поданном напряжении сети;

· не оставлять ПК включенным без наблюдения, также во время грозы;

· по окончании работы отключить ПК от сети;

· устройства должны быть расположены на расстоянии 1 м от нагревательных приборов;

· устройства не должны подвергаться воздействию прямых солнечных лучей;

Обучение работников проводят в соответствии с ДНАОП 0.00_4.12_94.

В соответствии с требованиями ГОСТ 12.1.030-81 для электроустановок переменного тока напряжением питания до 1000 В применяется зануление, преднамеренное электрическое соединение с нулевым защитным проводом металлических нетоковедущих частей, которые могут оказаться под напряжением. По контуру помещения лаборатории проложена шина повторного заземления, которая соединена с заземлителем сопротивлением 10 Ом.

5.3 Производственная санитария и гигиена труда в лаборатории исследовательского бюро

Согласно ГОСТ 12.2.032 - 78 «Рабочее место при выполнении работ сидя. Общие эргономические сведения» конструкцией рабочего места должно быть обеспечено выполнение трудовых операций в пределах зоны досягаемости моторного поля.

В лаборатории исследовательского бюро установлены столы прямоугольной формы. Таким образом, рабочие места в лаборатории соответствуют ГОСТ 12.2.032 - 78.


Подобные документы

  • Выбор методов проектирования устройства обработки и передачи информации. Разработка алгоритма операций для обработки информации, структурной схемы устройства. Временная диаграмма управляющих сигналов. Элементная база для разработки принципиальной схемы.

    курсовая работа [1,8 M], добавлен 16.08.2012

  • Модель обработки радиоголографических изображений. Изображение объекта, находящегося за препятствием. Фильтр для практической реализации метода. Исследование эффективности метода пространственной фильтрации при малом поглощении и преломлении в стене.

    дипломная работа [4,1 M], добавлен 19.06.2013

  • Недостатки цифровых систем: сложность, ограниченное быстродействие. Этапы цифровой обработки радиолокационных изображений: первичная и вторичная, объединение информации. Особенности процесса двоичного квантования. Анализ схем логических обнаружителей.

    дипломная работа [3,5 M], добавлен 09.04.2012

  • Математическая основа построения систем защиты информации в телекоммуникационных системах. Особенности методов криптографии. Принципы, методы и средства реализации защиты данных. Основы ассиметричного и симметричного шифрования-дешифрования информации.

    курсовая работа [46,9 K], добавлен 13.12.2013

  • Разработка и проектный расчет структурной схемы системы сбора аналоговой информации для дальнейшей обработки в системах боле высокого уровня. Определение технических требований к функциональным блокам системы. Выбор и расчет принципиальных схем блоков.

    курсовая работа [987,2 K], добавлен 29.04.2011

  • Понятие и применение нейронных сетей, особенности классификации искусственных нейронных сетей по Терехову. Решение задачи классификации римских цифр на основе нейронной сети. Составление блок-схемы алгоритма обучения нейронной сети и анализ ее качества.

    дипломная работа [603,9 K], добавлен 14.10.2010

  • Определение и виды искусственных нейронных сетей. Функция активации. Биологический нейрон. Персептрон как инструмент для классификации образов. Классификация объектов с помощью нейронной сети. Нормализация входных сигналов. Алгоритм работы в MatlabR2009b.

    курсовая работа [349,7 K], добавлен 17.03.2016

  • Интроскопия - внутривидение, визуальное наблюдение объектов, явлений и процессов в оптически непрозрачных телах и средах, в условиях плохой видимости. Классификация методов диагностики. Общность методов и средств обработки иитроскопических изображений.

    реферат [265,7 K], добавлен 01.02.2009

  • Достоверность передаваемой информации в системах связи; разработка функциональной и принципиальной электрических схем самоортогональных сверточных кодов; способы задания и алгоритм порогового декодирования. Выбор микропроцессорной базы для блоков кодека.

    курсовая работа [1,5 M], добавлен 07.10.2012

  • Использование аппаратных и программных средств в устройствах обработки информации. Организация взаимодействия устройств, входящих в систему, при помощи микропроцессора. Описание микроконтроллера, процессорного блока, адаптера параллельного интерфейса.

    курсовая работа [515,2 K], добавлен 18.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.