Современные информационные
технологии / 4. Информационная безопасность
Коваленко М.П.
МОУ «Институт инженерной физики», Россия
Коваленко А.П.
УЦ МАИ «Интеграция», Россия
Методика выбора способа изменения
ДКП коэффициентов при внедрении цифровых водяных знаков в графические
изображения на основе искусственных нейронных сетей и генетических алгоритмов
Введение
Стеганографические алгоритмы, производящие встраивание скрываемой информации в частотную область изображений, получили широкое распространение в силу некоторых выгодных отличий от остальных стеганографических алгоритмов. К сильным сторонам данного вида алгоритмов, прежде всего, следует отнести возможность встраивать информацию в изображения-контейнеры, сжатые форматом JPEG, который является одним из наиболее распространенных форматов хранения и передачи мультимедиаконтента на сегодняшний день. Также к преимуществам данного вида алгоритмов можно отнести и достаточно хорошую устойчивость к различного рода внешним воздействиям или атакам на изображение-контейнер.
Использование дискретно-косинусного
преобразования
в стеганографии
В основе большинства стеганографических алгоритмов частотной области лежит дискретно-косинусное преобразование (ДКП). Такие алгоритмы предварительно разбивают исходное изображение-контейнер на блоки, как правило, размером 8×8 пикселей, в дальнейшем подвергающиеся ДКП, результатом которого является матрица коэффициентов, представленная на рисунке 1.
Рисунок 1 – Матрица ДКП коэффициентов
, (1)
и , (2-3)
где 0 £ p £ 7; 0 £ q £ 7; A – матрица, подвергаемая ДКП; B – матрица ДКП коэффициентов.
В ДКП матрице, вычисляемой для блоков размером 8×8 пикселей по формулам 1-3, коэффициенты низкочастотных компонент располагаются ближе к верхнему левому углу, в то время как коэффициенты высокочастотных компонент сгруппированы в правой нижней части матрицы. Низкочастотные коэффициенты содержат преобладающую часть энергии изображения, в то время как высокочастотные компоненты наиболее уязвимы для внешних воздействий [4]. Поэтому авторы большинства алгоритмов считают пригодными для встраивания только среднечастотные коэффициенты. Так, например, согласно алгоритму, разработанному E. Koch и J. Zhao [1], внедрение бита в псевдослучайно отобранные коэффициенты и ДКП блока изображения под номером осуществляется по следующему правилу:
, (4)
где – некоторая положительная величина, влияющая на степень стойкости внедрения. Но ведь для каждого ДКП блока способов изменения его коэффициентов, удовлетворяющих соотношению (4), существует целое множество. Как же выбрать наиболее подходящее? Одним из способов решения данной проблемы является использование аппарата генетических алгоритмов и искусственных нейронных сетей.
Методика выбора способа изменения ДКП
коэффициентов на основе искусственных нейронных сетей и генетических алгоритмов
Рассмотрим методику выбора наиболее подходящего способа изменения коэффициентов ДКП блока изображения при внедрении в него бита дополнительной информации.
Шаг 1. Инициализация, или выбор исходной популяции хромосом
Инициализация, т.е. формирование исходной популяции. Каждая особь популяции представляет собой решение задачи, иначе говоря, является кандидатом на решение. В рассматриваемом здесь варианте использования генетических алгоритмов хромосомой является вариант изменения ДКП коэффициентов, т.е. значение гена – один из возможных вариантов значения ДКП коэффициента , где – номер ДКП блока изображения, который используется для внедрения бита ЦВЗ .
Пусть внедрение бита осуществляется в коэффициенты с координатами и , причем оба эти коэффициента принадлежат одной диагонали ДКП матрицы .
Формирование исходной популяции хромосом осуществляется по следующим формулам:
- для генов и :
, (5)
, (6)
, (7)
, (8)
где – зависящая от степени стойкости внедрения ЦВЗ положительная величина;
- для генов, соответствующих остальным ДКП коэффициентам диагонали :
; (9)
- для генов, соответствующих остальным ДКП коэффициентам:
. (10)
Шаг 2. Оценка приспособленности хромосом в популяции
Оценивание приспособленности хромосом в популяции состоит в
расчете функции приспособленности для каждой хромосомы этой популяции. Чем
больше значение этой функции, тем выше «качество» хромосомы.
Значение функции приспособленности для хромосомы равно нулю в случае не соблюдения для генов и соотношения
; (11)
в противном же случае оно определяется как обратное значение суммы квадратов разностей между значениями генов и выходами соответствующих им искусственных нейронных сетей:
, (12)
где – значение функции приспособленности хромосомы ; – значение, полученное на соответствующем гену выходе искусственной нейронной сети, например, многослойного персептрона.
Согласно [3] при внедрении цифровых водяных знаков в графические изображения следует использовать искусственные нейронные сети (ИНС) типа многослойный персептрон, причем они должны быть следующего размера:
Таблица 1 – Размеры слоев ИНС
Номер диагонали |
Размер слоя |
||
Входного |
Скрытого |
Выходного |
|
7 |
21 |
43 |
7 |
8 |
28 |
57 |
8 |
9 |
36 |
73 |
7 |
10 |
43 |
87 |
6 |
Если для хромосомы значение функции приспособленности оказалось равным нулю, то ее следует заменить на вновь сгенерированную (согласно формулам 5-10) , после чего значение функции для нее пересчитать.
Шаг 3. Проверка условия остановки алгоритма
Алгоритм должен быть остановлен после выполнения заданного количества итераций . Если условие остановки выполнено, то производится переход к завершающему этапу выбора «наилучшей» хромосомы. В противном случае на следующем шаге выполняется селекция.
Шаг 4. Селекция хромосом
Селекция хромосом заключается в выборе (по рассчитанным на втором этапе значениям функции приспособленности) тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Такой выбор производится согласно принципу естественного отбора, по которому наибольшие шансы на участие в создании новых особей имеют хромосомы с наибольшими значениями функции приспособленности. Существуют различные методы селекции. Наиболее популярным считается так называемый метод рулетки, который свое название получил по аналогии с известной азартной игрой [2]. Каждой хромосоме может быть сопоставлен сектор колеса рулетки, величина которого устанавливается пропорциональной значению функции приспособленности данной хромосомы. Поэтому чем больше значение функции приспособленности, тем больше сектор на колесе рулетки Все колесо рулетки соответствует сумме значений функции приспособленности всех хромосом рассматриваемой популяции. Каждой хромосоме соответствует сектор колеса , выраженный в процентах согласно формуле:
, (13)
, (14)
где – вероятность селекции хромосомы . Селекция хромосомы может быть представлена как результат поворота колеса рулетки, поскольку «выигравшая» (т.е. выбранная) хромосома относится к выпавшему сектору этого колеса. Очевидно, что чем больше сектор, тем больше вероятность «победы» соответствующей хромосомы. Поэтому вероятность выбора данной хромосомы оказывается пропорциональной значению ее функции приспособленности.
В результате процесса селекции создается родительская популяция, также называемая родительским пулом с численностью , равной численности текущей популяции.
Шаг 5. Применение генетических операторов и формирование новой популяции
Применение генетических операторов к хромосомам, отобранным с помощью селекции, приводит к формированию новой популяции потомков от созданной на предыдущем шаге родительской популяции.
Формирование новой популяции потомков от созданной ранее родительской популяции осуществляется за несколько шагов. Для начала, из родительской популяции (родительского пула) выбираются пары хромосом. Далее, к каждой такой паре применяется вероятностный оператор скрещивания (кроссовер).
Существует большое количество разновидностей оператора скрещивания. Среди них особо следует отметить смешанный кроссовер (англ.: BLX-alpha crossover) [5].
Пусть и – две отобранные для скрещивания хромосомы. Тогда результатом использования смешанного кроссовера будет одна хромосома-потомок , получаемая по следующим формулам:
, (15)
, (16)
, (17)
, (18)
где – параметр оператора скрещивания.
Для каждой пары родителей с вероятностью применяется оператор скрещивания, и тогда на следующую стадию переходят хромосома-потомок и «наилучшая» из выбранной родительской пары хромосома. Соответственно, с вероятностью оператор скрещивания не применяется и тогда обе отобранные родительские особи переходят на следующую стадию, на которой ко всем перешедшим в неизменном виде хромосомам применяется оператор мутации.
Оператор мутации с вероятностью изменяет значение гена в хромосоме, причем эта вероятность обычно очень мала (чаще всего ), тогда как вероятность скрещивания достаточно высока (обычно ). В рамках решаемой задачи изменение генов при мутации должно осуществляться согласно формулам 5-10.
На заключительной стадии шага вся предшествующая популяция хромосом замещается новой популяцией потомков.
Шаг 6. Выбор «наилучшей» хромосомы
На заключительном шаге алгоритма фиксируется результат его работы в виде хромосомы с наибольшим значением функции приспособленности среди популяций на всех итерациях (т.е. та, которая вызывала наименьшие искажения изображения). При этом, если это значение отлично от ноля, производится соответствующее изменение ДКП коэффициентов.
Литература:
1. E.
Koch, J. Zhao. Towards
Robust and Hidden Image Copyright Labeling. IEEE Workshop on Nonlinear Signal
and Image Processing. 1995. P. 123-132.
2. Классический генетический алгоритм. Часть III. Селекция – Проект www.aiportal.ru. Портал искусственного интеллекта. – www.aiportal.ru/articles/ genetic-algorithms/classic-alg-part3.html
3. Коваленко М.П., Смирнов Я.Д. Использование искусственных нейронных сетей при внедрении цифровых водяных знаков в графические изображения // VIII Международная научно-практическая конференция «Эффективные инструменты современных наук». Труды. – Прага: Publishing House “Education and Science” s.r.o. – 2012. – С. 87-97
4. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография: Теория и практика. – М.: МК-Пресс, 2006. – 283 с.
5. Паклин Н. Непрерывные генетические алгоритмы – математический аппарат. – www.basegroup.ru/library/optimization/real_coded_ga/