Об'єктом дослідження в роботі є інтеграція фотогалерей профілів користувачів. Предметом дослідження є алгоритм для об'їдання фотогалерей профілів користувачів з пов'язаних підгруп соціальних мереж.
Основним завданням даної роботи є розробка і програмна реалізація алгоритму, що дозволяє об'єднати фотогалереї, пов'язаних підгруп в соціальних мережах, за загальними ознаками на фотографіях.
На даний момент цифрові камери майже замінили плівкові через низку переваг. Власники камери тепер можуть створювати великі цифрові колекції з необмеженою кількістю фотографій і розміщувати їх в різних соціальних мережах. Необхідність ефективного використання та структурування цього величезного і динамічно мінливого обсягу графічних даних, обумовлює актуальність і значимість досліджень в галузі алгоритмів інтеграції фотогалерей профілів користувачів.
Соціальну мережу, як і будь-яку мережу, можна математично моделювати графом, в якому вершини представляють об'єкти мережі, а ребра - взаємини.
Одним з напрямків аналізу соціальних мереж є візуалізація відповідних графів. Візуалізація має важливе значення, оскільки сама можливість побачити мережу дозволяє зробити важливі висновки про характер взаємодії акторів, не вдаючись до інших методів аналізу графа. Як приклад на рис. 3.1 показан граф взаємодій історичних особистостей.
Рисунок 3.1 – Граф взаємодій історичних особистостей
Зв'язки графа можуть бути спрямованими або ненаправленими. Відносини начебто товариства або сусідства формують граф з ненаправленими зв'язками (рис. 3.2). Варіант графа з направленими зв'язками показаний на рис. 3.3. Даний граф побудований за відповідями на питання «З ким би ви хотіли дружити?», задане колективу з чотирьох чоловік.
Рисунок 3.2 – Граф з ненаправленими зв'язками
Математичний апарат аналізу графів дозволяє розрахувати цілий ряд параметрів і дати кількісні відповіді на багато питань. Для обговорення даних параметрів введемо деякі поняття.
Шлях між вершинами - це послідовність вершин і ребер, що з'єднують дві вершини.
Наприклад, шлях від а до d(див. рис. 3.2) - це вершинаа, ребро аb, ребро bd і вершина d.
Або вершина а,ребро ас,ребро cd і вершина d.
Відстань між вершинами - це кількість кроків, які потрібно зробити, щоб дістатися від однієї вершини до іншої, тобто на рис. 3.2 відстань від a до b дорівнює 1, а від а до d- 2.
Вершини в графі можуть бути пов'язані різними способами:
Рисунок 3.3 – Граф з направленими зв'язками
В аналізі соціальних мереж на базі теорії графів виділяють:
Для розрахунку індексів для соціальної мережі в цілому використовують елементарні параметри, такі як число вершин або ребер, і деякі обчислювані параметри. Наприклад, щільність обчислюється як нормоване число ребер - відношення зв'язків у мережі до можливого максимальній кількості зв'язків в мережі з даною кількістю вершин. Число симетричних диад (на рис. 3.3 таких диад дві: Ваня - Катя і Катя - Петя) є показником стабільності соціальної мережі. Кількість транзитивних тріад (рис. 3.4) і циклічних тріад теж дозволяє оцінювати стабільність мережі.
Рисунок 3.4 – Граф транзитивних тріад
Середня відстань від однієї вершини до інших розраховується на основі мінімальних відстаней від даної вершини до всіх інших. Мінімальну відстань між двома вершинами називають геодезичною відстанню (geodesic distance). Параметром, який показує, наскільки велика мережа, є діаметр соціальної мережі - найбільша геодезична відстань в соціальній мережі (за умови, що граф пов'язаний, тобто якщо між будь-якими двома вершинами є шлях).
Структурні діри (structural holes) - вид структури мережі, при якому агент мережі, який нас цікавить, пов'язаний з деяким числом інших агентів, які не пов'язані між собою. Якщо між агентами мережі є соціальна діра, це означає, що вони не мають можливості взаємодіяти безпосередньо. Таким чином, агенти мережі, що з'єднують незв'язаних агентів, отримують можливість виступати посередниками і контролювати їх взаємодію.
При розрахунку індексів для окремих вершин виділяють наступні параметри:
Знаходження блоків дозволяє виявити ті чи інші структури, приховані в соціальній мережі. Виділення блоків можна робити за різними атрибутам агентів мережі, наприклад по статі. У блоки також можна об'єднувати еквівалентних агентів мережі. Наприклад, якщо відношення, за яким побудована соціальна мережа, - інформаційні потоки, то в один блок можна включити агентів мережі, які передають інформацію, в другий - тих, хто її отримує, в третій - тих, хто отримує і посилає інформацію іншим агентам мережі.
Існує кілька підходів до виділення підструктур в соціальній мережі:
Ідентифікація людини завжди була важливою проблемою. У процесі еволюції обчислювальної техніки стали активно розвиватися біометричні технології - «методи і технічні засоби отримання та використання біометричних даних людини в цілях його ідентифікації». Їх метою є розробка автоматизованих систем ідентифікації людини на основі біометричних ознак, одною з яких, є зображення обличчя людини.
OpenCV - бібліотека комп'ютерного зору з відкритим вихідним кодом, доступна для завантаження. Бібліотека написана на C і C + +, працює під Linux, Windows і Mac OS X. Відбувається активна розробка інтерфейсів для Python, Ruby, MATLAB та інших мов.
Однією з цілей OpenCV є надання простою у використанні бібліотеки машинного зору, яка допомагає створювати досить складні програми в короткі терміни. OpenCV містить в собі більше 500 функцій які охоплюють багато областей, включаючи контроль якості на виробництві, системи безпеки, обробку зображень, користувальницькі інтерфейси, стереоскопічний зір і роботобудування.
Загалом OpenCV надає інструментарій, достатній для вирішення переважної більшості завдань комп'ютерного зору. Якщо алгоритм немає у складі SDK, то, як правило, він може бути без проблем запрограмований. Крім того, існує безліч авторських версій алгоритмів, написаних користувачами на основі OpenCV.
Також слід зазначити, що за останні роки OpenCV сильно розширилася і стала в деякій мірі «великовагової». У зв'язку з цим, різними групами ентузіастів створюються «полегшені» бібліотеки, засновані на OpenCV [2].
Дана бібліотека допоможе ідентифікувати людей на фотографіях в соціальній мережі, завдяки виділенню характеристичних точок: центрів очей, куточків очей, кінчика носа і т.д.
Геотегінг - процес приєднання географічних метаданих до різних інформаційних ресурсів, таких як веб-сайти, RSS, фотографії, які характеризують ці ресурси (точка зйомки, місце розташування і т. п.). Ця інформація складається, як правило, з координат широти і довготи, хоча вона може включати також висоту, відстань і напрям до населених пунктів. Першим кроком у процесі геотегінгу є зіставлення географічних місць з відповідними знімками. Є два способи виконати цю операцію: автоматичний і ручний.
Для автоматичного запису GPS-координат місця зйомки в EXIF-дані використовується фотокамера, оснащена вбудованим GPS-приймачем, що записує координати в файл безпосередньо в момент створення знімка.
Введення точних координат прямо в програмі можна назвати ручним способом. У цьому випадку за допомогою спеціальних програм вручну модифікують GPS-секцію в EXIF-даних фотографії [3].
У разі якщо на завантаженій користувачем фотографії знайдені обличчя і присутні географічні теги, можна визначити до якої фотогалереї в соціальній мережі віднести зображення. На представленій нижче анімації показаний принцип роботи алгоритму. Коли на фотографії ідентифіковані соціальні зв'язки між зображеними людьми, то фотографія буде поміщена в фотогалереї користувача в соціальних мережах з відповідними назвами. У той же час відсутність на фотографії осіб і наявність географічних метаданих дає можливість занести фотографію в галереї з назвою ідентифікованої за координатами місцевості.
Алгоритм интеграції фотогалерей представлено на рисунці 4.1
Рисунок 4.1 – Алгоритм інтеграції фотогалерей
(анімація: 6 кадрів, 10 циклів повтору, 185 килобайт)
Проведено огляд існуючих підходів для досягнення поставлених цілей. Розглянуто технології, які допоможуть реалізувати систему для інтеграції фотогалерей профілів користувачів соціальних мереж.
Створення системи, яка зможе ідентифікувати соціальні зв'язки на фотографіях в соціальних мережах та вилучати дані про місце зйомки, дозволить вирішити завдання автоматичного структурування та класифікація фотографій в соціальних мережах, а також зможе без участі користувачів об'єднувати фотоколекції з різних соціальних мереж.
При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: грудень 2014 року. Повний текст роботи та матеріали по темі можуть бути отримані у автора або його керівника після зазначеної дати.