- •Реферат
- •1.1 Введение
- •1.2 Дактилоскопия
- •1.3 Общие сведения о проблеме
- •1.3.1 Методы сравнения отпечатков пальцев
- •1.3.2. Метод сравнения отпечатков по ключевым точкам (минуциям)
- •1.4 Обзор существующих алгоритмов цифровой обработки образов отпечатка пальца
- •1.4.1 Сглаживающий фильтр
- •1.4.2 Медианный фильтр
- •1.4.3 Метод пространственной фильтрации образа
- •1.4.4 Обработка изображения с применением фильтра Габора
- •1.5 Общие сведения о преобразовании Габора
- •1.5.1 Преобразование Габора. Свойства преобразования Габора
- •1.5.2 Алгоритм построения одномерного фильтра Габора
- •1.6 Выводы
- •2.2.3 Алгоритм обработки образов основанный на фильтрах Габора
- •2.3.5 Алгоритм построения двумерного фильтра Габора
- •2.4 Применение фильтра Габора для 2-Dизображений
- •2.5 Roc-анализ
- •2.6 Подбор параметров алгоритма. Математическая постановка задачи
- •2.7 Решение поставленной математической задачи
- •2.8 Выводы
- •3.1 Введение
- •3.2 Разработка общей структуры программного обеспечения
- •3.3 Выбор языка реализации
- •3.4 Нормализация изображения
- •3.5 Построение поля направлений
- •3.5 Бинаризация изображения
- •3.6 Применение фильтра Габора
- •3.7 Вывод
- •4.1 Введение
- •4.2 Конституция Российской Федерации
- •4.3 Доктрина информационной безопасности Российской Федерации
- •4.4 Федеральный Закон «Об информации, информационных технологиях и о защите информации»
- •4.5 Федеральный Закон «о персональных данных»
- •4.6 Постановление Правительства Российской Федерации «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных»
- •4.7 Гражданский Кодекс Российской Федерации
- •4.8 Уголовный Кодекс Российской Федерации
- •4.9 Выводы
- •5.1 Введение
- •5.2 Расчёт трудоёмкости проекта
- •5.2.1 Определение численности исполнителей
- •5.2.2 Построение сетевого графика
- •5.2.3 Диаграмма Гантта
- •5.3 Анализ структуры затрат проекта
- •5.3.1 Затраты на выплату заработной платы
- •5.3.2 Отчисления на социальные нужды
- •5.3.3 Материальные затраты
- •5.3.4 Прочие затраты
- •5.3.5 Затраты на организацию рабочих мест
- •5.3.6 Накладные расходы
- •5.3.7 Суммарные затраты на реализацию программного продукта
- •5.4 Исследование рынка
- •5.4.1 Сервисное обслуживание
- •5.4.2 Отчисления на социальные нужды
- •5.5 Планирование цены по на рынке
- •5.6 Вывод
5.4 Исследование рынка
На сегодняшний день существует целый ряд поколений программного обеспечения предназначенный для распознавания отпечатков пальцев. В этих программах реализованы подпрограммы обработки изображений с целью повышения качества, принципиально отличающиеся от реализованной в проекте по качеству фильтрации. Таким образом, на сегодняшний день не существует прямых конкурентов для данного продукта.
5.4.1 Сервисное обслуживание
Сервисное обслуживание нашего ПО будет выполнять один сотрудник. Для того, чтобы не обучать персонал особенностям нашего программного обеспечения, для выполнения данной работы привлечём программиста, который участвовал в разработке программного обеспечения. Так как мы не планируем продажу нашего продукта, то время, которое затратит наш программист, составит 2 рабочих дня в месяц, 24 дня за год. Затраты на сервисное обслуживание приведены в таблице 10.
Таблица 5.9. Заработная плата исполнителей
№ |
Должность |
«Чистый» оклад, руб. |
Дневной оклад, руб. |
Трудозатраты, чел/дни |
Затраты на зарплату, руб. |
1 |
Программист |
50 000 |
2 722,89 |
24 |
65 349,36 |
Расходы на дополнительную заработную плату учитывают все выплаты непосредственным исполнителям за время, не проработанное на производстве, но предусмотренное законодательством. Величина этих выплат составляет 20% от размера основной заработной платы:
Расходы на дополнительную заработную плату составят:
5.4.2 Отчисления на социальные нужды
Согласно нормативным документам, суммарные отчисления в пенсионный фонд, фонд социального страхования и фонды обязательного медицинского страхования составляют 30% от размеров заработной платы.
Общие расходы на заработную плату составляют:
Затраты на сервисное обслуживание: 101 945 рублей.
5.5 Планирование цены по на рынке
На основе данных о затратах на разработку, определим стоимость одного комплекта программного обеспечения.
Частичная стоимость разработки рассчитывается исходя из данных о планируемом объеме продаж:
,
Где - часть стоимости разработки на одну копию программы ,- стоимость проекта,- планируемое число копий,- ставка по долгосрочным кредитам (более одного года), примем равную 20% («ОАО Альфа-Банк»).
Определим процент прибыли, воспользовавшись формулой:
Стоимость ПО на рынке определяется стоимостью разработки, стоимостью внедрения и прибыли фирмы разработчика. В нашем случае затраты на внедрение ПО примем равными нулю.
Сумма прибыли от продажи одной копии ПО равна:
,
Где - процентная ставка налога добавочной стоимости, равная 18%.
Для оплаты расходов на реализацию проекта возьмем кредит в банке ОАО «Альфа-Банк» в размере 700 000рублей на срок 18 месяцев. Ежемесячный платеж по данному кредиту составляет 45334 рубля. Сумма погашения кредита составляет 816 016 рублей. На рис. 5.4 изображена диаграмма прибыли проекта.
Рис. 5.4 Диаграмма прибыли
5.6 Вывод
Результаты проведённых организационно-экономических расчётов позволили оценить структуру работ, необходимое количество исполнителей, структуру затрат проекта, срок окупаемости проекта.
Общие затраты труда для выполнения программного проекта составили 74 чел/дней или 527 чел/часов. Затраты на разработку ПО составляют 672 705рублей.
Из структуры затрат проекта видно, что основной статьёй расходов является заработная плата исполнителей.
На рынке не существует прямых конкурентов для данного проекта. Так же данный проект не требует внедрения и доработки, так как все технические и технологические характеристики учитываются при разработке.
Прибыль от продажи одной копии составляет 27511 рублей.
Проект окупается за 18 месяцев с учетом выплат по кредиту.
На основании вышеизложенного можно сделать вывод о целесообразности проведения работ и внедрения и производство данной разработки.
Заключение
В ходе выполнения дипломного проекта были исследованы существующие алгоритмы, решающие поставленную проблему – обработку образов отпечатка пальца. Был проведен кратки обзор данных алгоритмов и выбран наиболее рациональный метод для последующей реализации. Подробно рассмотрен математический аппарат выбрано алгоритма, приведена математическая постановка задачи. Проведен анализ норматвно-правовых актов Российской Федерации с целью проверки законности распространения и использования разрабатываемого программного обеспечения. Проведен организационно – экономический анализ проектной разработки, оценены показатели затрат и экономическая выгода реализации проекта.
Список литературы
1.) Жуковский, В.В. Способ улучшения изображения отпечатка пальца/В.В. Жуковский, С.В. Сай//Вестник ТОГУ. – 2009г. - № 4.
2.) Гудков, В.Ю. Скоростная обработка изображения отпечатка пальца/В.Ю. Гудков, М.В. Боков//Труды института системного анализа РАН. – 2009г. - № 45.
3.) Фан Нгок Хоанг Алгоритмы для классификации отпечатков пальца на основе применения фильтра Габора, вейвлет-преобразоваия и многослойной нейронной сети/ Фан Нгок Хоанг, В.Г. Спицын//Известия Томского политехнического университета. – 2012г. - № 5.
4.) Javier R. Movellan (Ed) Tutorial on Gabor Filters. 2008. http://mplab.ucsd.edu/tutorials/gabor.pdf (дата обращения:
20.06.2014).
5.) Maltoni D., Maio D., Jain A.K., Prabhakar S. Handbook of fingerprint recognition. – N.Y.: Springer, 2003. – 348 p.
6.) Asker M. Bazen, Systematic methods for the computation of the directional fields and singular points of fingerprint/ Asker M. Bazen, Sabih H. Gerez// IEEE Transactions on pattern analysis and machine intelligence. – 2002 - № 7.
7.) Jie Zhou, Singular Points Analysis in Fingerprints Based on
Topological Structure and Orientation Field//Jie Zhou, Jinwei Gu, David Zhang//Department of Computing, the Hong Kong Polytechnic University, Kowloon, Hong Kong
8.) BaseGroup Labs, технологии анализа данных[электронный ресурс] URL: http://www.basegroup.ru/, Логистическая регрессия и ROC-анализ - математический аппарат, http://www.basegroup.ru/library/analysis/regression/logistic/ (дата обращения 20.06.2014)
9.) Гонсалес Р. Цифровая обработка изображений. М., 2005
Приложение 1. Код функции построения поля направлений
function [ orient ] = orient_grad( img )
[mod, dir] = imgradient(img);
for a = (1:size(mod,1))
for b = (1:size(mod,2))
if(dir(a,b)>=0)
line_dir(b) = dir(a,b)-90;
else
line_dir(b) = dir(a,b)+90;
end
end
if a==1
dir_new = line_dir;
else
dir_new = cat(1, dir_new, line_dir);
end
end
win_size = 9;
for a = (fix(win_size/2)+1 :win_size: size(dir_new,1) - fix(win_size/2))
for b = (fix(win_size/2)+1 :win_size: size(dir_new,2) - fix(win_size/2))
count_plus = 0; %counter of pluses in the window
count_min = 0; %coynter of munusis in the window
for c = (1:win_size)
for d = (1:win_size)
if dir_new(a-(fix(win_size/2)+1)+c, b-(fix(win_size/2)+1)+d)>=0
count_plus = count_plus + 1;
else
count_min = count_min + 1;
end
end
end
aver = 0; %average angle
for c = (1:win_size)
for d = (1:win_size)
if count_plus>count_min % if pluses more, then..
if dir_new(a-(fix(win_size/2)+1)+c, b-(fix(win_size/2)+1)+d)>=0
aver = aver+ double(dir_new(a-(fix(win_size/2)+1)+c, b-(fix(win_size/2)+1)+d));
end
else %else
if dir_new(a-(fix(win_size/2)+1)+c, b-(fix(win_size/2)+1)+d)<0
aver = aver + double(dir_new(a-(fix(win_size/2)+1)+c, b-(fix(win_size/2)+1)+d));
end
end
end
end
% count averege angle
if count_plus>count_min
aver = aver/count_plus;
else
aver = aver/count_min;
end
% save value in matrix
orient_line(fix(b/win_size)+1) = aver;
end
if a==fix(win_size/2)+1
orient = orient_line;
else
orient =cat(1, orient, orient_line);
end
end
end
Приложение 2. Код функции визуализации поля направлений
function [ output_img ] = show_orient( img )
img = img*pi/180;
for x=(1:size(img,1)/5)
img_line = show(img,x);
if (x==1)
output_img = img_line;
else
output_img = cat(1, output_img, img_line);
end
end
imtool(output_img)
end
function [ img_out ] = show( img, x )
line = zeros(15,15);
for a = (3:13)
line(8,a) = 255;
end
a = (x-1)*5+3;
for b = (3:5:size(img,2)-2)
sum = 0
for c = (1:5)
for d = (1:5)
sum = sum + img(a-3+c, b-3+d);
end
end
sum = sum/25; %среднее арифметическое углов
orient = imrotate(line, sum*180/pi, 'crop');
orient = imadjust(orient, [0 1], [1 0]);
if (b==3)
for c = (1:15)
for d = (1:15)
img_out(c, (b-3)*3+d) = orient(c, d);
end
end
else
img_out = cat(2, img_out, orient);
end
end
end
Приложение 3. Код функции подбора параметра
function [ output_args ] = test_gabor( img, orient )
bw = 0.3;
for a = 1:24
test_im = gabor_filter( img, orient,bw+a/20 );
imtool(test_im);
end
end