Кортексный сканер
Автор: Домунян А.А.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика, управление, экономика
Статья в выпуске: 2 (10) т.3, 2011 года.
Бесплатный доступ
В статье рассматривается задача создания кортексного сканера, являющегося уни- версальным аппаратным средством выделения признаков на этапе предварительной обработки изображений для последующего использования признаков при распозна- вании изображений. Работа кортексного сканера моделирует процессы обработки информации, происходящие в первичной зрительной области коры головного мозга. Рассмотрены также аппаратные аспекты создания такого устройства, основанного на программируемых логических интегральных схемах, получающих информацию от микрокамер.
Короткий адрес: https://sciup.org/142185757
IDR: 142185757
Текст научной статьи Кортексный сканер
Введение. Машинное зрение находит применение во многих областях техники. Системы машинного зрения выполняют ввод изображений, их предобработку и распознавание. Если ввод изображений включает стандартизированные процедуры, то алгоритмы предобработки специфичны и зависят от решаемых задач, поскольку для различных задач, как правило, требуются те или иные специфические признаки, которые отыскиваются на изображениях на этапе предобработки. Однако контуры объектов изображений относятся к достаточно типичным признакам, которые используются при решении различных задач распознавания изображений. К контурным точкам относятся пикселы, в которых яркость изображения претерпевает резкие изменения. Традиционный подход к выделению таких точек состоит в использовании локальных дифференцирующих окон. Известен ряд таких окон, например, операторы Лапласа, Марра–Хильдрета, Канни, Собеля и др. [5]. Но при их выборе необходимо иметь в виду, что использование таких градиентных операторов подчеркивает нерегулярности и усиливает шумы. Поэтому в такие операторы обычно встраиваются различные усредняющие, то есть сглаживающие процедуры, выбор параметров которых зависит от конкретных приложений.
В данной статье рассматривается возможность создания относительно универсальных программно-аппаратных средств оконтуривания объектов изображений на этапе предобработки, что позволит в некоторой степени стандартизировать процедуры выделения контуров. Такая универсализация может быть достигнута в результате моделирования механизмов работы первичной зрительной области V 1 коры головного мозга.
Рис. 1. Активация колонок первичной зрительной области в зависимости от углов проецируемых линий
Из работы [2] известно, что колонки в первичной зрительной области коры головного мозга реагируют на линии, расположенные под определённым наклоном. Например, одна колонка будет активироваться, когда через неё проходит линия под углом 15 о , а другая, когда через неё проходит линия под углом 20 о .
На рис. 1 колонки, представленные секторами, активируются, когда изображение линии про- ецируется на соответствующий сектор.
Подход к цифровой реализации функций первичной зрительной области. Цифровым аналогом выходных данных этой области могут служить числа x, y и α, где x и y — пространственные координаты колонки, а α — угол, под которым проходит линия. В данной статье рассматривается задача создания устройства, называемого кортексным сканером, выходом которого служат (наряду с традиционными координатами x, y пикселов изображения) домини- рующие градиенты α пикселов.

Рис. 2. (а): случай равномерного освещения поля окна, (б): тень покрывает левый нижний угол поля окна, (в): тень покрывает левое поле окна
Если в первичной зрительной области колонки, связанные с пикселами сетчатки, реагируют параллельно на интересующие их градиенты, то в кортексном сканере некоторое маленькое окно размером M х M пикселов, например, M = 32 , последовательно сканирует все пикселы изображения. Над окном находятся 32 х 32 колонки памяти. Ячейки каждой колонки содержат имена (углы) градиентов, которые активизируются в зависимости от наклона линии (градиента изображения) в точке, соответствующей центру окна. Максимально активное, то есть наиболее часто встречающееся имя, представляет собой величину градиента изображения в центральной точке. Если центр окна находится в равномерно освещенной области, то все имена градиентов будут активированы в равной степени, то есть победителя нет и, значит, в данной точке градиент отсутствует. Если центр окна находится на границе, где имеет место перепад яркости, то появляется доминирующий градиент.
Изображения на рис. 2 иллюстрируют вышесказанное. Изображенное на них окно может детектировать четыре направления градиента: 0, 4, 8 и 19, отмеченных соответствующими линиями. Так, например, в ячейках, через которые проходит линия 0, то есть в ячейках с координатами (0, 0), (1, 1), (2, 2) и т.д., хранится величина 0 нулевого градиента, которому условно соответствует диагональное направление. В ячейках, через которые проходит линия 4, то есть в ячейках с координатами (4, 0), (5, 1), (5, 2) и т.д., хранится величина градиента 4, представляющего направление 45О. И так далее. В ячейке A, через которую проходят все четыре линии, хранятся значения всех четырех градиентов, а в ячейках B и C хранятся градиенты 4 и 8. Можно показать, что максимальная точность аппроксимации контуров изображений достигается при минимальном размере окна. Однако минимальный размер окна ограничен эффектами дискретизации, в результате которых в одну ячейку попадают более одного значения градиента. Экспериментально установлено, что оптимальное качество достигается при размере окна 32 х 32. На рис. 2 (а) освещены все ячейки окна. Поэтому активность имен выглядит как F(0) = 17, F(4) = 17, F(8) = 17, F(19) = 17, что соответствует случаю отсутствия явного победителя и тем самым отсутствию градиента-победителя.

Рис. 3. Блок-схема кортексного сканера

Рис. 4. Внешний вид камеры
На рис. 2 (б) освещены ячейки верхнего правого угла окна. Поэтому активность имен выглядит как F (0) = 17 , F (4) = 8 , F (8) = 8 , F (19) = 8 , что соответствует наличию нулевого градиента.
На рис. 2 (в) освещены ячейки правой половины окна. Поэтому активность имен выглядит как F (0) = 9 , F (4) = 9 , F (8) = 17 , F (19) = 10 , что соответствует наличию вертикального градиента 8.
Таким образом, предлагаемый подход не использует ни операций градиентного дифференцирования, ни параметров, подлежащих настройке или подбору в зависимости от приложения, и тем самым является относительно универсальным методом оконтуривания и выделения линий.
Схемотехника. На рис. 3 изображена блок-схема предполагаемого портативного устройства, занимающегося предобработкой изображения, для последующего распознавания.
Здесь камера — это законченный модуль, состоящий из оптической линзы, матрицы ПЗС (прибор с зарядовой связью) и внутреннего контроллера с последовательным интерфейсом ввода-вывода. КМОП-камера (комплементарная логика на транзисторах металл-оксид-полупроводник) выглядит так, как на рис. 4.
Контроллер камеры — это однокристальное устройство сопряжения КМОП-камеры с оперативной памятью (стек FIFO). Служит для накопления данных и после получения законченного кадра передачи его в память, с которой работает ПЛИС (программируемая логическая интегральная схема). Также этот контроллер может выполнять и другие вычислительные функции, так как по своей сути является однокристальным микропроцессором, выполняющим функции DMA-контроллера (контроллера прямого доступа к памяти).
Оперативная память (RAM) — это микросхема памяти, в которой умещаются два изображения. В нашем случае объём памяти должен быть больше 2,6 МБ (так как мы используем 1,3 Мпиксельную камеру и 256 цветов каждого пикселя). Сначала данные текущего кадра записываются в первую половину памяти. Пока ПЛИС работает с первым кадром, контроллер камеры записывает следующий кадр во вторую часть (страницу) памяти. Потом, когда готов третий кадр, ПЛИС начинает обрабатывать второй кадр, а первый уже не нужен, и контроллер камеры «затирает» первый кадр третьим. И так далее по очереди. Контроллер камеры записывает дан- ные из камеры то в первую страницу памяти, то во вторую, а ПЛИС обращается за данными то во вторую страницу, то в первую.
ПЛИС — это программируемая логическая интегральная схема. Она состоит из программируемых ячеек 2И-НЕ, триггеров и системы ввода-вывода. ПЛИС позволяет при большой тактовой частоте за один такт выполнять логические битовые операции, например, такие, как побитовое ИЛИ, побитовое И. Именно эти операции присутствуют в алгоритме предобработки изображения. ПЛИС программируется на языке схемотехнических описаний Verilog или VHDL. Портом ввода-вывода для ПЛИС выбран интерфейс USB, который при помощи встроенного JTAG-интерфейса обменивается данными с управляющим устройством, например с ПК или другим аппаратным устройством, которому необходимо предобработанное изображение. ПЛИС имеет встроенный бит защиты, который не позволяет считывать записанный в неё код и тем самым защищает авторские права разработчиков. На этапе разработки имеется возможность трассировки программы, записанной в ПЛИС при помощи отладочного модуля и специализированной программы, которая по JTAG-интерфейсу считывает состояния внутренних триггеров и макроячеек ПЛИС,
Генератор тактовых импульсов — это микросхема с кварцевым генератором, задающая тактовую частоту для всех микросхем, кроме оперативной памяти. Служит для синхронизации процессов.
Контроллер питания — это микросхема, стабилизирующая питание, которое необходимо для работы всех микросхем, входящих в аппаратный комплекс. Напряжение питания выбрано 3 , 3 В.
Технические требования к устройству: питание от аккумуляторов или батарей, оценочные параметры которых 3 , 6 В, 2000 мА/ч, Li-ion или Li-pol. Устройство должно работать от одного источника не менее 12 часов без подзарядки. Также устройство может подзаряжать внутренний аккумулятор от порта USB, хотя полностью питаться от USB оно не может по причине того, что по стандарту ток через порт USB не должен превышать 100 мА на устройство, а в режиме работы ток только через ПЛИС может достигать 400 мА. Качество обрабатываемого изображения не хуже 1 , 3 Мпикселя, 10 кадров в секунду, 256 цветов. Соответственно скорость шины обращения к памяти равна 13 МБ/с = 104 Мб/с. Физические размеры должны быть достаточно малыми и сравнимы с размерами камеры и ПЛИС. А это 8 , 5 х 8 , 0 х 7 , 9 мм для камеры ADCM-1650-3011 и 15 , 2 х 15 , 2 х 1 мм для ПЛИС Xilinx XC95108.
Заключение. Рассмотрена архитектура аппаратно-программной реализации устройства выделения первичных признаков для задач распознавания изображений. Рассмотрены теоретические основы цифрового нейронного кортекса.
Для аппаратной реализации устройства предлагается использовать программируемые логические схемы.
Список литературы Кортексный сканер
- Максфилд К. Проектирование на ПЛИС. Архитектура, средства и методы/пер. с англ. -М.: Издательский дом Додэка-XXI, 2007. -408 с.: ил. -ISBN 978-5-94120-147.
- Хьюбел Д. Глаз, мозг, зрение. -M.: Мир, 1990. -240 с. -ISBN 5-03-001254-0.
- Mikhailov A. Digital neural cortex//Proceedings of the Artificial Neural Networks in Engineering Conference (ANNIE 2007) November, 11-4, 2007, St. Louis, Missouri, USA.
- Felleman, D.J., Van Essen, D.C. Distributed hierarchical processing in primate cerebral cortex//Cerebral Cortex. -1991. -N 1. -P. 1/otdo47.
- Gonzalez R., Woods R. Digital Image Processing, 3rd Edition, Prentice Hall, 2008.