Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ) |
Факультет «Автомобильный транспорт»
Кафедра
«Высшей математики»
Курсовая работа по дисциплине
«Интеллектуальные системы»
Тема: «Распознание лица»
Выполнил: студент группы 2бПМ
Хамраев Н.Т.
Проверил: Заведующий каф. ВМ Буслаев А. П.
Москва 2013
Оглавление
Постановка задачи:
Создание собственного ПО на базе ОС Android 2.3.7 для автоматической идентификации лица человека с помощью выявления его характеристик на фотографии.
Цель работы:
Введение
Распознавание лиц практическое приложение теории распознавания образов, в задачу которого входит автоматическая локализация лица на фотографии и, в случае необходимости, идентификация персоны по лицу. Функцию идентификации людей на фотографиях уже активно используют в программном обеспечении для управления фотоальбомами
В расширенном методе Виолы Джонса, использующемся в библиотеке OpenCV используются дополнительные признаки:
Вычисляемым значением такого признака будет
F = X-Y, (1.5)
где X сумма значений яркостей точек закрываемых светлой частью признака, а Y сумма значений яркостей точек закрываемых темной частью признака. Признаки Хаара дают точечное значение перепада яркости по оси X и Y соответственно.
Ключевой особенностью признаков Хаара является наибольшая, по сравнению с остальными признаками, скорость. При использовании интегрального представления изображения, признаки Хаара могут вычисляться за постоянное время (примерно 60 процессорных инструкций на признак из двух областей).
Интегральное представление изображения представляет собой матрицу, размерность которой совпадает с размерностью исходного изображения.
OpenCV - Библиотека компьютерного зрения с открытым исходным кодом(Open Source Computer Vision Library), содержащая более 500 функций, заточенных под выполнение в реальном времени.
Изначально перед OpenCV ставились следующие цели:
Алгоритм сканирования окна с признаками выглядит так:
OpenCV состоит из нескольких модулей:
Список используемой литературы и ссылки на web-страницы:
http://face-rec.org/general-info/ (помогло сформулировать цель) Загребский университет, Факультет электротехники и вычислительной техники Департамент беспроводных коммуникаций. Профессор Mislav Grgic, доктор философии и Кресимир Делач, доктор философии
Published in: Pattern Analysis and Machine Intelligence, IEEE Transactions on (Volume:32 , Issue: 11 ) Biometrics Compendium, IEEE (Биометрия сборник)
Page(s): 2022 2038 нашел через ссылку в интернете (http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5401161 )
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B7%D0%BD%D0%B0%D0%BA%D0%B8_%D0%A5%D0%B0%D0%B0%D1%80%D0%B0 (Признаки Хаара) из книги Lienhart, R. and Maydt, J., "An extended set of Haar-like features for rapid object detection", ICIP02, pp. I: 900903, 2002
http://www.hardbroker.ru/pages/recognition (распознавание лиц) помогло сформулировать мысл о биометрических чертах лица
http://locv.ru/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 перевод Романа Исайкина из книги Learning OpenCV: Computer Vision with the OpenCV Library Gary Bradski (Author), Adrian Kaehler (Author) http://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134
//вычисление интегрального представления изображения
public static int[,] IntegralImage(int[,] sourceImage)
{
int width = sourceImage.GetLength(0);
int height = sourceImage.GetLength(1);
int[,] result = new int[width, height];
result[0, 0] = sourceImage[0, 0];
for (int x = 1; x < width; x++)
result[x, 0] = sourceImage[x, 0] + result[x - 1, 0];
for (int y = 1; y < height; y++)
result[0, y] = sourceImage[0, y] + result[0, y - 1];
for (int y = 1; y < height; y++)
for (int x = 1; x < width; x++)
result[x, y] = sourceImage[x, y] + result[x - 1, y] + result[x, y - 1] - result[x - 1, y - 1];
return result;
}
//рассчет суммы яркости пикселов в произвольном прямоугольнике
public static int SumOfRectangle(int[,] integralImage, Rectangle rect)
{
int A = 0, B = 0, C = 0, D = 0;
if (rect.Top > 0 || rect.Left > 0)
if (rect.Top <= 0)
D = integralImage[rect.Left - 1, rect.Bottom];
else
if (rect.Left <= 0)
B = integralImage[rect.Right, rect.Top - 1];
else
{
A = integralImage[rect.Left - 1, rect.Top - 1];
B = integralImage[rect.Right, rect.Top - 1];
D = integralImage[rect.Left - 1, rect.Bottom];
}
C = integralImage[rect.Right, rect.Bottom];
return A + C - B - D;
}
Буду испольховать http://www.ics.uci.edu/~xzhu/paper/face-cvpr12.pdf
http://www.compvision.ru/forum/index.php?showtopic=15&st=200
http://ladacom.ru/site/node/13