Скачиваний:
11
Добавлен:
10.05.2015
Размер:
253.44 Кб
Скачать

3.5. Описание алгоритма цифровой модели.

В начале программы, в соответствии с правилами написания программ на языке Pascal, описаны все глобальные переменные и массивы, используемые всей цифровой моделью (назначение этих переменных и массивов приведено в пункте «3.4. Описание идентификаторов переменных и массивов, используемых в цифровой модели»).

Кроме того, в начале программы заданы два уникальных типа, задаваемые пользователем и определяющие записи в области «D» è «V» памяти системы. Тип «PriznD» определяет выборку в «D» области памяти системы распознавания и состоит из следующих записей:

  • Prev - адрес предыдущей выборки в данной области памяти системы;

  • Time - время хранения данной выборки;

  • X - дискретная координата по оси 0X на поле наблюдения П - точки;

  • Y - дискретная координата по оси 0Y на поле наблюдения П - точки;

  • Next - адрес следующей выборки в данной области памяти системы.

Òèï «PriznV» определяет выборку в «V» области памяти системы распознавания и состоит из следующих записей:

  • Prev - адрес предыдущей выборки в данной области памяти системы;

  • Time - время хранения данной выборки;

  • X - номер ячейки по оси 0X поля наблюдения, образующей предыдущий элемент «траектории» выборки;

  • Y - номер ячейки по оси 0Y поля наблюдения, образующей предыдущий элемент «траектории» выборки;

  • Vect - направление предыдущего участка «траектории» данной выборки;

  • Lenth - число ячеек поля наблюдения, пересеченных «траекторией» данной выборки - длина «траектории» выборки;

  • Brightness - «накопленная яркость» - признак данной выборки;

  • Speed - «накопленная скорость» движения - признак данной выборки;

  • Next -адрес следующей выборки в данной области памяти системы.

В этом разделе так же описаны еще два типа. Тип «LinkD» определяет адрес нахождения выборки «D» области памяти системы распознавания, а тип «LinkV» определяет адрес нахождения выборки «V» области памяти системы распознавания.

Сама программа начинается с команды «Randomize», позволяющей избежать повторения последовательности случайных чисел при перезапуске модели.

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

  • ввод режима работы модели (распознавание или моделирование изображения);

  • ввод параметров работы системы распознавания;

  • ввод параметров поля наблюдения;

  • ввод интервала времени между соседними кадрами;

  • задание параметров помех;

  • определение параметров объекта;

  • введение порогового значения яркости при осуществлении операции «временного дифференцирования».

Ввод части параметров отведен в процедуры, их использующие или относящиеся к ним по смыслу (например: LenthX, LenthY, PriznOutScreen, ModeOutScreen и так далее).

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

После ввода основного блока параметров при условии моделирования процесса распознавания подвижного точечного объекта выполняются две вспомогательные процедуры для расчета ряда коэффициентов и порогов (процедура «Coefficient») и для определения массива направлений (процедура «InitArrayWays»).

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

После работы всех предыдущих вспомогательных операций и процедур в цикле по «MemoryTime» осуществляется собственно цифровое моделирование изображения и процесса распознавания в заданных ситуациях и определение показателей работы алгоритмов. Данный параметр цикла определяет максимальное время хранения выборки признаков в памяти системы. То есть данный параметр задает максимальное число кадров в течении которых объект может пересечь ячейку поля (определяет диапазон скоростей объекта).

В начале прохода каждого цикла выполняется вспомогательная процедура «Determination», устанавливающая начальные значения ряда переменных и массивов.

Далее начинается еще один цикл (внутренний) по «ScreenNumber», которое принимает значения от 1 до «MaxQuantScreen», в котором собственно и осуществляется очередной машинный эксперимент.

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

Прежде всего с помощью процедуры «Screen» формируется массив значений функций яркости, имитирующий изображение очередного кадра. Во время генерации очередного кадра с помощью процедур-функций «Function1», «Function2» ... «Function9» и процедуры «Movement» формируется сложная функция яркости и движение ее отдельных частей друг относительно друга.

Далее организуется движение точечного объекта (процедура «PointMovement») и вычисляются новые дискретные координаты рецептора на поле наблюдения, в котором находится объект в данном кадре, а так же вычисляется яркость объекта, зашумленного помехами.

Размещенная далее процедура «SubBrightness» осуществляет предварительную обработку изображения путем «временного дифференцирования». Такая обработка позволяет получить «разностное изображение» очередного кадра, на котором выделены участки и элементы поля с изменившейся за время между соседними кадрами яркостью.

Полученные на предыдущих этапах массивы яркостей, отображающие кадр и «разностное изображение», можно отобразить в графическом режиме в виде двумерной функции яркости. Эта выполняется в процедуре «OutScreen» при значении ключа PriznOutScreen = true.

Далее, при PriznFind = true, с помощью процедуры «Find» имитируется обработка информации изображения системой распознавания в соответствии с заданным алгоритмом распознавания.

После окончания очередного прохода внутреннего цикла выполняются следующие вспомогательные операции:

  1. наращивается на единицу значение номера кадра «ScreenNumber»;

  2. êëþ÷ «KeyArrayBrightness» принимает противоположное значение.

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

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

Соседние файлы в папке doc