@aptypuoh

Каков механизм распознавания объектов через графы?

Доброго дня!
Заинтересовал механизм, который лежит в основе распознавания объектов графами.
Внешняя часть понятна - обозначаются вершинами ключевые точки, строятся ребра и, с учетом веса ребер, проходит сопоставление с базой изображений.
А как это реализовано на уровне языков программирования - узнать не смог. Подскажите, где с этим можно ознакомиться?
И, если вы работали в этой сфере, какой язык предпочтительнее для данной задачи с точки зрения требовательности к мощности сервера?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
@dmshar
Во-первых, наверное все таки не "распознавание объектов графам", а скорее всего "распознавание объектов, которые представлены графами".
Во-вторых, на "уровне языков программирования" - такое, на сколько я знаю, не реализовано нигде. В любом случае, вам надо средствами выбранного языка смоделировать объект типа "граф". Сегодня это позволяют сделать любой язык программирования (ну кроме совсем специализированных). А дальше делайте с этим представлением что хотите - хоть кратчайший путь ищите, хоть поиск в ширину-глубину организовывайте, хоть сравнивайте два графа между собой, хоть задачу коммивояжера решайте, хоть распознавайте в графах некоторые паттерны, хоть описывайте свои объекты (например - лица) в виде графовой модели и ищите "подобные". Для всех таких задач есть соответствующие алгоритмы, а часто - и не один, которые изучаются в таком разделе математики, который называется "теория графов". Эти алгоритмы реализуются либо в ручную, самим программистом, но в некоторых языках программирования есть библиотеки, которые решают некоторые задачи из перечисленных. Например для Python есть библиотека NetworkX, которая сильно упрощает работу с сетевыми (графовыми) структурами.
Если вас интересует вопрос на ответ "как" выполняется распознавание с помощью графов - то тут имеется достаточно много источников, правда большинство из них не для "легкого внеклассового чтения" и требуют достаточно серьезного углубления в математику. Ну вот например,:
https://www.litres.ru/a-a-dunaev/ispolzovanie-teor...
https://cyberleninka.ru/article/n/primenenie-teori...
https://scask.ru/p_book_gpr.php?id=95
https://cyberleninka.ru/article/n/metod-gibkogo-sr...
Последний вопрос про "предпочтения языка программирования с точки зрения мощности сервера для данной задачи "- вообще непонятен. Выбор сервера будет сильно отличаться не столько языком реализации вашей системы, сколько самой задачей - например, сегодня распознавание лица при фотографии есть в любом фотоаппарате или смартфоне, а вот если вам надо выявлять преступника на видеопотоке из метро - там совсем другие сервера придется задействовать. Хотя алгоритмы лежащие в основе и язык программирования вполне может быть одним и тем-же.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы