1 / 1 / 0
Регистрация: 04.03.2018
Сообщений: 34

Создание нейросети для сравнения людей на двух фото

27.07.2019, 13:31. Показов 3856. Ответов 1

Студворк — интернет-сервис помощи студентам
Проблема заключается в следующем.
При помощи dlib я определяю лицо на фото и делаю его дескрипт, но в конечном итоге два выбранных фото, отсканированные dlib, не сравниваются.
Я знаю, что return прекращает выполнение функции и возвращает указанное после выражения значение.
Голова уже на пределе и не соображает, как можно сделать так, что бы в итоге показывался результат анализа двух фото.
P.s. он должен быть такой - 0.92 или другое число.Зависит от анализа.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import dlib, os
import numpy as np
from skimage import io
from scipy.spatial import distance
sp = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
facerec = dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')
detector = dlib.get_frontal_face_detector()
 
filename = input("filename - ")
 
def getfacedescriptor(filename):
    #name = file_ + str(qq=+1)
 
    img = io.imread(filename)
    win1 = dlib.image_window()
    win1.clear_overlay()
    win1.set_image(img)
    dets = detector(img, 1)
    for k, d in enumerate(dets):
        shape = sp(img, d)
        win1.clear_overlay()
        win1.add_overlay(d)
        win1.add_overlay(shape)
        try:
             face_descriptor1 = facerec.compute_face_descriptor(img, shape)
             print("face_descriptor1")
        except:
             print("None")
             face_descriptor1=None
        return(face_descriptor1)#Тут проблема
    print("getfacedescriptor")
    f1=getfacedescriptor('1.jpg')
    f2=getfacedescriptor('2.jpg')
    a = distance.euclidean(f1,f2)
    print('Result: '+str(a)+' (Чем меньше, тем лучше)')
 
getfacedescriptor(filename)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2019, 13:31
Ответы с готовыми решениями:

Программа для сравнения двух фото в питоне
Не поможете ли найти программу которая будет сравнивать два фото загружаемых с компьютера и в конце писать схожесть этих изображений...

Сравнить похожесть людей на двух разных фото
Здравствуйте все! Посоветуйте, пожалуйста, программу или сервис позволяющий сравнить похожесть людей на двух разных фото. Гугл советует...

Класс-компаратор для сравнения знатности людей
Добрый день! Пытаюсь разобраться с задачей написать класс-компаратор, который сравнивал бы людей по принципу знатности, т.е. у кого больше...

1
1 / 1 / 0
Регистрация: 04.03.2018
Сообщений: 34
28.07.2019, 00:12  [ТС]
Видимо у меня действительно мозги поплыли, если я решил, что проблема из-за return
Проблема на самом деле в другом.
Цикл, в котором после "try:"программа делала дескрипт, который кстати можно вывести командой print(face_descriptor1)
Этот цикл ОГРОМЕН, если не бесконечен, ибо после вывода дескрипта, скрипт вновь,снова и снова открывает окно с фото, находит лицо и делает дескрипт.
Что сделать, что бы скрипт грамотно работал?
Находил лицо, делал дескрипт,все тоже самое с другой фоткой и в итоге сравнивал эти дескрипты.

Добавлено через 1 час 14 минут
Решил и эту фигню.
Теперь выходит ошибка в строке :

a = distance.euclidean(f1,f2)
unsupported operand type(s) for -: 'NoneType' and 'NoneType'
неподдерживаемые типы операндов для -: 'NoneType' и 'None Type'
Т.е. как я понял NoneType не поддерживает NoneType.
Что тут делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2019, 00:12
Помогаю со студенческими работами здесь

Заменят ли нейросети людей в айти сфере
Вопрос замещения людей нейросетями в IT-сфере является очень актуальным и вызывает много обсуждений. Однако, прежде чем ответить на этот...

С помощью QReport вывести фото для всех людей, которые есть в Query
Доброе время суток! У меня БД в Access, в ней поле фото (тип строка). При формировании отчета с помощью QReport надо вывести фото для...

Создание нейросети для анализа продаж игр
Здравствуйте. Сейчас работаю над дипломом. Тема - создание нейросети для анализа продаж игр. Начал создавать обучающую выборку в excel,...

Создание нейросети для распознавания букв с матрицы
Помогите написать нейросеть которая будет считывать с файла матрицу, в которой записана буква(например буква 'c') 0 1 1 1 0 0 1 0 0 0 ...

Для класса банковский счет переопределить операторы == и != для сравнения информации в двух счетах
Для класса банковский счет переопределить операторы == и != для сравнения информации в двух счетах. Переопределить метод Equals...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru