УДК 004.93 А.Ю. Кручинин Повышение эффективности контроля передвижения объектов в охраняемой зоне с использованием стереозрения A.Y. Kruchinin Increase of efficiency of the control of movement of objects in a protected zone with use of stereosight Предложена модель адаптивной системы стереозрения для контроля передвижения объектов, позволяющая уменьшить вычислительную нагрузку, обусловленную алгоритмами распознавания образов. Определён подход к описанию сложности трёхмерной сцены с точки зрения распознавания образов. The model of adaptive system of stereosight for the control of movement of objects allowing is offered to reduce computing load conditioned by algorithms of recognition of images. The approach to the description of complexity of a three-dimensional scene is determined from the point of view of recognition of images. Ключевые слова: повышение эффективности, контроль передвижения, стереозрение, управление процессом, распознавание образов, сложность распознавания, достоверность, репрезентативность данных, оптимизация. Increase of efficiency, control of movement, stereosight, management of process, pattern recognition, difficulty of the recognition, validity, indicative sample, optimization. Одним из направлений компьютерного зрения является стереозрение, которое позволяет получить представление о глубине изображения, расстоянии до объектов, может использоваться при составлении трехмерной картины окружающего мира. В задачах контроля за передвижением необходимо определять местоположение объекта в охраняемой зоне, поэтому использование для этого стереозрения является актуальным. Однако, все алгоритмы стереозрения требуют больших вычислительных ресурсов [1], что негативно сказывается на возможности их применения. В этом случае большое значение имеет оптимальное распределение вычислительных ресурсов, которое позволит управлять загрузкой вычислительной системы в зависимости от поступающей информации с видеокамер. В работе [2] предложена модель адаптивной системы стереозрения для подвижного робота, которая позволяет управлять скоростью движения робота и загрузкой вычислительной системы в зависимости от сложности распознавания окружающего мира. Используя эту систему в качестве прототипа, была построена концептуальная модель адаптивной системы стереозрения для контроля передвижения объектов (Рисунок 1). Блок Территория контроля взаимодействия с объектом X1 X2 XN К1 Pз, Dз, V Блок выбора оптимального режима U R К2 λ1 λ2 КN λL Блок стереозрения M, Sl, D Рисунок 1 – Модель адаптивной системы стереозрения для контроля передвижения объектов На вход модели поступает заданные значения достоверности распознавания Dз, производительности Pз и вектор параметров: V U 0 , R0 , U min ,U max , Rmin , Rmax , K * , где U0, R0 – начальные значения параметров управления; [Umin, Umax], [Rmin, Rmax] – диапазоны изменения параметров управления; K* – критерий оптимальности, в качестве которого выступает: K * min Z ( P, D), P Pз , D Dз , где Pз и P – заданная и фактическая производительность системы, Dз и D – заданная и фактическая достоверность оценки состояния окружающего мира. Производительность системы определяется периодом времени между моментом получения данных с территории контроля до принятия решения по оптимизации параметров. В данной модели адаптируются два параметра: управление потоками поступающей информации на подсистему стереозрения через устройства и программы, взаимодействующими с объектом и передающими данными (U = {UК1, UК2, …, UКi, …, UКN}, где UКi – настройки i-ой камеры, UКi ={∆tКi, ∆γКi, RКi, FКi}, где ∆tКi – период между передачей данных, γКi – угол поворота камеры, RКi – режим работы камеры (разрешение, частота кадров), FКi – фокусировка камеры); адаптация параметров стереозрения – выбор алгоритмов и их характеристик (R ={R1, R2, …, Rj, …, RL}, где Rj – настройки алгоритма для j-ого потока из блока взаимодействия с объектом, Rj ={Sj, Wj}, где Sj – метод стереозрения, Wj – параметры метода). Первоначально устанавливаются значения параметров управления равные входным параметрам: U U 0 , R R0 . Блок взаимодействия с объектом принимает данные с охраняемой зоны X = {X1, X2, …, XN} и формирует L производных потоков на блок стереозрения λ = {λ1, λ2, …, λL}. Каждый поток λj состоит из двух (или более) видеопотоков с камер. Интенсивность потока информации λ определяется режимами работы средств регистрации блока взаимодействия (видеокамерами). Данные на блок стереозрения поступают порциями, поэтому поток характеризуется объёмом информации N в порции, количеством передаваемых снимков изображения X* = {x*1, x*2, …}, которое зависит от числа камер, и периодом между предыдущей группой данных ∆t. j X *j : t j , N j , X * (U , X ) . В блоке стереозрения для каждого потока осуществляется составление трёхмерной модели M видимой части окружающего мира, оценка сложности распознавания Sl и достоверности D: M j S jM ( Ri , i ), D j S jD ( Ri , i ), Sl j Sl jM ( Ri , i ) . M M1, M 2 ,..., M L , D D1, D2 ,..., DL , Sl Sl1, Sl2 ,..., SlL . Так как данные поступают в реальном времени, то результат распознавания трёхмерной модели является функцией от времени M = f(t), также как и Sl = f1(t), D = f2(t). В блоке выбора оптимального режима производится расчёт рассогласования между заданной и фактической оценками достоверностей распознавания состояния объекта: D Dз D После чего, согласно критерию K*, а также руководствуясь ∆D, Sl, M и вектором входных параметров V, устанавливается оптимальный режим функционирования системы: U FU (V , D, Sl , M , Pз ), R FR (V , D, Sl , M , Pз ) . Реализация блока стереозрения для обеспечения работы в реальном времени невозможна без применения технологий построения компьютерных кластеров и параллельного программирования. Кластерные системы весьма дорогостоящи, поэтому при их проектировании необходимо учитывать максимальную мощность, которую они должны обеспечивать. Мощность вычислительной системы определяется количеством выполняемых операций в единицу времени. Максимальное количество выполняемых операций в единицу времени рассматриваемой модели определяется выражением: Cmax Cвз Cст Cпр C0 , где Cвз – количество операций, затраченных на взаимодействие с территорией контроля, Cст – на применение алгоритмов стереозрения, Cпр – на принятие решения об оптимизации, C0 – на дополнительные расходы не связанные с задачей контроля передвижения. Целевая функция затрат на обеспечение контроля передвижения объектов имеет следующий обобщённый вид: Z Z1(Cmax ) Z 2 (1 D) Z0 , где Z1 – затраты на поддержание работоспособности аппаратно-программного комплекса; Z2 – возможные затраты от ошибок при контроле передвижения объектов; Z0 – прочие затраты. При внедрении системы контроля передвижений в охраняемой зоне необходимо учитывать не только затраты на установку, но и текущие затраты. Целью повышения эффективности системы является снижение стоимостных затрат на её внедрение и поддержку. Решение любой задачи распознавания образов характеризуется достоверностью результата. В работе [3] показано, что для того, чтобы обеспечить для неизвестных образов одинаковую достоверность распознавания, необходимо различное количество информации. Каждый случай распознавания характеризуется своей сложностью. Для различных методов распознавания образов сложность определяется по-своему, но всегда можно построить зависимости достоверности от сложности распознавания образов и репрезентативности данных. На рисунке 2 показаны кривые этих зависимостей для вероятностного метода распознавания образов. D Sl=0,1; Sl=0,2; Sl=0,3; Sl=0,4; Sl=0,5; Sl=0,6 1 Sl=0,7 Sl = 0,8 0,9 Sl = 0,9 0,8 0,7 0,6 N 0,5 1 11 21 31 41 51 61 71 81 91 Рисунок 2 – Зависимости достоверности результатов от сложности распознавания и репрезентативности данных для нормального распределения Зная сложность распознавания образов, можно выбирать такие режимы работы блока стереозрения для каждого случая, при котором достоверность распознавания будет больше заданной, а количество затраченных операций минимально. При работе блока стереозрения без оптимизации, его режим необходимо устанавливать так, чтобы случай с максимальной сложностью распознавался с достоверностью большей или равной Dз. Поэтому будет верно следующее выражение: Cmax (ст) Cmax (дин) , где Cmax(ст) – максимальное количество выполняемых операций в единицу времени для режима работы без оптимизации (со статическим управлением); Cmax(дин) – для динамического управления процессом распознавания образов. Спрогнозировав среднее значение сложности распознавания и её дисперсию для охраняемой зоны, можно получить требуемое значение Cmax. Одной из задач стереозрения является построение трёхмерной картины окружающего мира. И если для описания сложности трёхмерных объектов с геометрической точки зрения существуют публикации, например [4], то описанию сложности трёхмерной картины мира с точки зрения распознавания уделено мало внимания. Сложность трёхмерной сцены с точки зрения распознавания обусловлена 3-мя компонентами: количеством объектов; сложностью распознавания каждого объекта; расположением объектов в пространстве. Для описания сложности трёхмерной сцены предлагается использовать следующее выражение: 1 Sl3 D 1 k (1 M ( Slоб ))(1 M ( Slп )) , N где 1/Nk – первый компонент, N – общее количество объектов, k – коэффициент, зависящий от максимального количества объектов и уровня значимости; M(Slоб) – математическое ожидание сложности распознавания объектов сцены, измеряемое от 0 (минимальная сложность) до 1 (максимальная сложность); M(Slп) – математическое ожидание сложности, обусловленной перекрыванием объектов с различных ракурсов, сложность перекрытия объекта равна 0 при наличии одного единственного объекта на сцене и равна 1 при 100% закрытии другими объектами сцены со всех ракурсов. Под Slоб здесь будем понимать статистическую достоверность распознавания одного единственного объекта, полученную по результатам репрезентативного количества испытаний, которая вычитается из единицы. Коэффициент k вычисляется следующим образом: 1 k log N max , где Nmax – количество объектов на сцене, соответствующее максимальной сложности; γ – уровень значимости при определении первого компонента сложности. Например, для Nmax = 100000 и уровня значимости γ = 0.01 коэффициент k = 0.4. Если в трёхмерной сцене присутствует всего один объект, то несложно показать, что сложность всей сцены равна сложности распознавания одного объекта: Sl3D Slоб . Пусть имеется некоторое количество объектов разного типа, и известно, что объект типа «шар» идентифицируется с достоверность 0.9. В таблице 1 представлены зависимости математического ожидания сложности перекрывания и общей сложности от трёхмерной сцены. Как видно из таблицы, линейная зависимость сложности, обусловленной расположением объектов в пространстве, от процента площади перекрытия объекта со всех ракурсов не даёт адекватной картины сложности трёхмерной сцены. Взаимосвязь между сложностью, обусловленной расположением объектов в пространстве, и процентом перекрытия объекта в трёхмерном пространстве, выбирается от поставленной задачи согласно следующему выражению: M ( Sl п ) M ( P) l ,0 l 1, где P – процент перекрытия объекта, l – коэффициент, выбираемый по результатам экспериментов. Для выбора коэффициента следует постулировать некоторой 3D-сцене заданное значение сложности перекрывания. Так, постулировав для сцены 3 (Таблица 1) значение Slп = 0.5, получатся значения сложности, представленные в таблице, как нелинейные зависимости. В этом случае коэффициент l = 0.242. Таблица 1 – Примеры определения сложности трёхмерной сцены № Трёхмерная сцена M(Slп) 1. Линейная зависимость от процента перекрытия: 0.029 Нелинейная зависимость от процента перекрытия: 0.425 Sl3D Линейная зависимость от процента перекрытия: 0.736 Нелинейная зависимость от процента перекрытия: 0.844 Линейная зависимость от процента перекрытия: 0.043 Нелинейная зависимость от процента перекрытия: 0.467 Линейная зависимость от процента перекрытия: 0.057 Нелинейная зависимость от процента перекрытия: 0.500 Линейная зависимость от процента перекрытия: 0.740 Нелинейная зависимость от процента перекрытия: 0.855 Линейная зависимость от процента перекрытия: 0.744 Нелинейная зависимость от процента перекрытия: 0.864 2. 3. Описанная выше сложность распознавания трёхмерной сцены даёт общее представление о том, насколько сложно будет распознать эту сцену с различных ракурсов. Однако, в задаче стереозрения необходимо определить, какова сложность распознавания окружающего мира с конкретной точки наблюдения: 1 Sl3 D (, x, y, z ) 1 k (1 M ( Sl об ))(1 M ( Sl п (, x, y, z ))) , (1) N где φ, x, y, z – определяют положение и направление камеры, Slп(φ, x, y, z) – сложность, обусловленная перекрытием объектом только с одного направления. Если рассматривать трёхмерные сцены из таблицы 1, то можно видеть, что для каждой из них M(Slп(φ, x, y, z)) = 0, так как ни один объект не перекрывает другого с использованного положения камеры. Если же посмотреть на сцену №3 из таблицы 1 с другой позиции, когда взгляд направлен вдоль одной из осей шаров, то M(Slп(φ, x, y, z)) = 0.35 при линейной зависимости от процента перекрытия. Однако прямой взаимосвязи между выражением (1) и сложностью распознавания конкретного алгоритма стереозрения нет. Так, например, функция cvFindStereoCorrespondenceGC из библиотеки OpenCV [5], которая работает по алгоритму вырезки графа [6], даёт недостаточно хорошие результаты на изображении, сложность распознавания которого, обусловленная перекрытием, равна нулю (Рисунок 3). б) а) Рисунок 3 – Левое изображение для алгоритма стереозрения (а); результат работы функции cvFindStereoCorrespondenceGC Снижения вычислительной нагрузки можно также добиться, используя средства детектирования движений на охраняемой территории (Рисунок 4). Блок Территория контроля взаимодействия с объектом X1 X2 XN К1 К2 λ1 λ2 КN λn Блок детектирования Pз, Dз, V Блок выбора оптимального режима U R λ'1 λ'2 λ'L Блок стереозрения M, Sl, D Рисунок 4 – Модель адаптивной системы стереозрения для контроля передвижения объектов с дополнительным блоком детектирования движений Введение в схему блок детектирования движений позволяет инициировать анализ потоков λ' только при наличии в них движений (n > λ) и только на тех участках изображений, где произошло движение. При этом сам блок детектирования движений работает по оптимальному подходу, предложенному в работе [7]. Особенностью контролирования передвижений объектов на охраняемой территории является то, что возникновение ситуации, при которой движение наблюдается на всех камерах, и затрагиваются все участки изображений, маловероятно. Поэтому применение разработанной модели может дать значительное снижение максимального количества операций в единицу времени, и снизить затраты на внедрение и поддержку системы контроля за передвижением объектов. ЛИТЕРАТУРА 1. Вахитов А.Т., Гуревич Л.C., Павленко Д.В. Обзор алгоритмов стереозрения // Стохастическая оптимизация в информатике. Выпуск 4. – СПб.: Издательство Санкт-Петербургского университета, 2008. – С. 151-169. 2. Кручинин, А.Ю. Модель адаптивной системы стереозрения для подвижного робота : материалы VIII всероссийской научно-практической конференции (с международным участием) «Современные информационные технологии в науке, образовании и практике» / А.Ю. Кручинин, С.В. Приймак. – Оренбург: ИПК ГОУ ОГУ, 2009. – С. 131-135. 3. Кручинин, А.Ю. Управление процессом распознавания образов на основе оценки его сложности : Сборник статей X международной научно-технической конференции «Информационно-вычислительные технологии и их приложения» / А.Ю. Кручинин. – Пенза: РИО ПГСХА, 2009. – С. 143-149. 4. Матвеев С.В. Сложность трёхмерных многообразий: проблемы и результаты : труды конференции «Геометрия и приложения». – Новосибирск, 2000. – С. 102-110. 5. Bradsky G., Kaehler A. Learning OpenCV - O'Reilly, 2008. – 555 p. 6. V. Kolmogorov. Graph Based Algorithms for Scene Reconstruction from Two or More Views. PhD thesis, Cornell University, September 2003. 7. Кручинин, А.Ю. Повышение эффективности систем детектирования движений на основе принципа разумной достаточности : Сборник статей XI международной научно-технической конференции «Информационно-вычислительные технологии и их приложения» / А.Ю. Кручинин. – Пенза: РИО ПГСХА, 2009. – С. 157-162.