Перейти к содержимому
Compvision.ru

svoyak

Пользователи
  • Количество публикаций

    65
  • Зарегистрирован

  • Посещение

Все публикации пользователя svoyak

  1. Такс..более продвинутые классификаторы и обучение их и новой сети это наверно не для меня сейчас, первое, что я хочу сделать - минимально действующую систему, чтоб вообще понять что к чему работает и что в ней не устраивает. Тогда будет ясно в какую сторону улучшать..:-) Наверно тогда и нужны новые классификаторы.Исходя из этого, Demo3(пример в Openface), которое описывает тренировку сети и классификатора мне пока не нужно. Я полагаю, в openface входит достаточно хорошо натренированные сети (nn4.small2.v1.t7; и еще несколько), которые умеют извлекать фичи, лучше чем то что я могу создать на данном этапе, поэтому пусть работают:-) Пример извлечения фич - Demo2, функция getRep как раз возвращает 128 мерный вектор. Таким образом получая такой вектор для каждого лица и сохраняя его в базе с идентификатором лица можно получить уникальное соответствие. Но.. Мне неясно как тогда искать наиболее ближайших в этой базе. Этот момент не рассмотрен в примерах и ложится на тех кто пользует openface? Или я чего-то не заметил? Можно в принципе попробовать упорядочивать людей в базе по расстоянию до какого-то одного конкретного лица, потом вычислять расстояние входящего персонажа до этого же лица и тогда поиск тривиален. Что скажете? Спасибо.
  2. Ну мы с самого начала о PCA говорили, потом вроде перешли на openface, я думал они по разному работают Похоже опять придется все переворачивать в голове:-))Извиняюсь, что переспрашиваю, но без правильного понимания я дальше не продвинусь. Какое утверждение ближе к правильному пониманию: 1. Итак, я считал, что тренировка сети - это процесс, в результате которого нечто, называемое глубокой нейронной сетью НАУЧИТСЯ ИЗВЛЕКАТЬ из подсовываемого изображения ключевые ПРИЗНАКИ в цифровом виде(128 мерный вектор) - это верно? А что тогда делает сам классификатор? просто извлекает эти фичи?Зачем его тогда тренировать? 2. Или в openface все так же как в обычном PCA, только больше фич? Тренировка сети - процесс, в результате которого нечто, называемое глубокой нейронной сетью перелопатит 100500 изображений, найдет для всех их общие(главные) компоненты, отминусует их и полученные остатки грубо говоря будут базисом. Классификатор будет извлекать фичи и опираясь на этот базис вычислять минимальные расстояния. Все будет хорошо, но в основном для тех 100500 фоток, по которым строился базис. Спасибо. ученье свет!
  3. Подскажите плз, по openface в примерах разделяется два понятия: тренировка сети и тренировка классификатора, я чесно говоря думал это одно и тоже. Где я не прав? Спасибо.
  4. установил всё без докера на убунту..немножко потанцевал с народным инструментом:-))куда же без этого. Три тестовых примера сработали как и в докере.. Теперь собсно можно разбирать код и ставить опыты... Может кто-нить знает как трактовать вывод сравнивателя(compare.py)? Comparing images/examples/lennon-1.jpg with images/examples/lennon-2.jpg. + Squared l2 distance between representations: 0.763 Comparing images/examples/lennon-1.jpg with images/examples/clapton-1.jpg. + Squared l2 distance between representations: 1.132 Comparing images/examples/lennon-1.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 1.145 Comparing images/examples/lennon-2.jpg with images/examples/clapton-1.jpg. + Squared l2 distance between representations: 1.447 Comparing images/examples/lennon-2.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 1.521 Comparing images/examples/clapton-1.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 0.318 я так понял это квадрат расстояния чтоли?? и чем он меньше.. тем более похож один на другого? а может я не дочитал какойто количественный критерий? типа <1 или >1?
  5. Да..большая штука..на нее так сразу и место не найти, так она еще и запакована..Там вроде еще есть парочка вспомогательных баз, тоже на 20 гигов...Одна из них вроде как Features называется, это по идее результат прогона этой большой базы через обученную модель?? ИНтересно openface можно обучить по этой базе?? и на каких мощностях? Сама модель наверняка недоступна? или я как всегда что-то недочитал/недопонял :-)?
  6. А кто-нить понял как собссно делать Extract Features для входящей картинки?? Я правильно понимаю: эти Features и есть тот 128 мерный вектор, описывающий данное конкретное лицо, и чтобы найти похожих мне нужно эти векторы для обработаных людей хранить в базе и искать среди похожих на того, кого в данный момент дали на вход? Это верное понимание??
  7. А без докера получилось у кого-нить собрать/запустить? Кстати, начитал вот про фрэймворк FANN, в котором тоже есть нейросети..кто-нить пользовал его?? может сказть что-нить? для него есть обертки под разные системы/языки
  8. Доброго дня всем! Установил я докер и сборку его от bamos, как указано в мануале.. вроед бы без ошибок, правда не лучшим образом(на убунте, которая в виртуалбоксе), докер контейнер запускается в баш(кошмар для таких виндузятников как я:-)), но тем неменее..из руководства по установке взял 1)./demos/compare.py images/examples/{lennon*,clapton*} 2)./demos/classifier.py infer models/openface/celeb-classifier.nn4.small2.v1.pkl ./images/examples/carell.jpg 3)./demos/web/start-servers.sh как я понимаю(плз, поправьте если понимаю не верно) это 1) - определение один ли человек на фото чтоли? а как трактовать вывод его в консоль Comparing images/examples/lennon-1.jpg with images/examples/lennon-2.jpg. + Squared l2 distance between representations: 0.763 Comparing images/examples/lennon-1.jpg with images/examples/clapton-1.jpg. + Squared l2 distance between representations: 1.132 Comparing images/examples/lennon-1.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 1.145 Comparing images/examples/lennon-2.jpg with images/examples/clapton-1.jpg. + Squared l2 distance between representations: 1.447 Comparing images/examples/lennon-2.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 1.521 Comparing images/examples/clapton-1.jpg with images/examples/clapton-2.jpg. + Squared l2 distance between representations: 0.318 ? он несколько изображений сравнивает? 2. это он наверно определяет кто это по картинке да? вывод такой === ./images/examples/carell.jpg === Predict SteveCarell with 0.97 confidence. , используя celeb-classifier.nn4.small2.v1.pkl - это вроде одна из их обученных сетей, верно? я видел гдето, что можно взять другую? это маленькая а есть поболее..Я правильно понимаю процесс: ему дали carell.jpg, нейросеть извлекла фичи, а далее он должен был где-то извлеченные фичи поискать и найти соответствие? там в докере гдето какаято небольшая база есть? кто-нить знает как там организовано? и как вывести не конечный результат а сами извлеченные фичи? чтоб потом самому сравнивать.? третий пример вроде на определение лица..чот он у меня камеру не нашел..ну эт не мудрено..на виртуалке ее нет.. но вообще в докер както камера прокидывается?? или здесь надо исключительно на реальную систему ставить все хозяйство и пускать? Ну и последний нубский вопрос, как в докере mc установить, apt-get install mc не находит, это репы не прописаны в докере стандартные? Еще раз спасибо за помощь, дело движется понемногу..:-))
  9. Да, это я видел..собсно кода там совсем немного и он в принципе ясен.. Я так понял из раздела установки всё рассматривается в контексте linux? Я так понял больше сложностей чтоб все это развернуть и запустить..
  10. Мало так по openface информации... гугел его почти не знает... вроде библиотека не большая.. я так понял они пользуют Torch - и в этом весь компот.. питон как таковой там особо и не нужен и dlib дергают C++ ый а кто нить пользовал вообще этот проект, работает??
  11. Получается, что openface пользует какойто принципиально другой алгоритм, раз у него получается выделить 128 ЗНАЧИМЫХ компонент? Я верно понял? Ведь по теории столько же можно выделить и в Opencv,(если дать изображение с нужным размером и не упираться в ТТХ компьютера). Но в opencv реализации из этих 128 важную роль будут играть 30-50(остальное выкидывается), а в openface - все 128. И поэтому openface лучше/круче. Верно?
  12. Ага.. а каждая ось, это условно говоря какаято характеристика лица. А количество этих осей которое будет оставляться и вообще обрабатываться как-то регулируется в opencv реализации?? или там оно прибито гвоздями?? Я так понял в количестве таких осей отличие openface?(128 мерный вектор - это об этом?) и соосно чем больше осей, тем более точно можно найти лицо..?сорри за возможно глупые вопросы, но очень уж разобраться хочется..:-))
  13. Из видео я понял, что новая плоскость выбирается таким образом, чтобы на нее попало как можно больше точек, чтобы выкинуть поболее информации а для не попавших считаются расстояния до новой плоскости. Такая трактовка возможна?? С линейной алгеброй все нормально было, но это было давно.. а описания метода чаще всего либо слишком научные, либо на английском.. Спасибо
  14. Вы упоминаете итеративные методы вычисления базиса, можно плз где нить прочитать об этом? Почему так цепляюсь за opencv - для нее есть обертки с#, примеров много. Смысл я так понял в том что при работе базис будет выдавать некий набор чисел по которому из базы можно будет извлечь лица с похожим набором(или точно с таким), количество вариантов таких наборов в базисе определяется его начальной тренировкой. Поэтому чем она больше/качественней - тем больше лиц будет различать PCA с этим базисом. Отсюда и трудности - если тренирровать на 2000 а потом подсовывать 1 лям, то найдется очень много похожих на каждого из этих 2000. Верно?. Интресно, количественное выражение затрат памяти, может кто-нить пару примеров? В принципе для построения базиса даже не итеративным способом можно арендовать какой-нить уберсервер в облаке с 384Гб ОЗУ - это ведь разовая операция будет, ну или очень редкая. OpenFace наверняка хорош, жаль что на питоне - я не отметаю вариант работы с ним, но чтобы пустится в авантюру изучения нового языка должны быть веские причины:-)..не могли бы вы немного раскрыть вашу фразу "OpenFace - насколько я знаю уже содержит обученную модель лица и будет выдавать по 128 мерному вектору на лицо, дальше группируйте, сравнивайте". Имею ввиду раскрыть в сравнении с opencv PCA, вроде бы используя opencv проблем с обучением нет? или 128 мерный вектор - это более качественный? который учитывает больше особенностей? а в Opencv - менее мерный вектор(сорри за кривой оборот)?
  15. Спасибо вам за ответ. Итак я понял, что для обучения PCA нужна вся выборка, в принципе логично..соотвествеено добавление новых, для их поиска должно вызывать переобучение. Обучение это процесс непрерываемый(верно?) и посему должен целиком помещаться в ОЗУ - отсюда и трудности из-за объема. А разбиение на меньшие подмножества может помочь? к примеру 10 по 100000? - потом запустили задачу поиска параллельно на 10 инстансах и после работаем с тем что каждый инстанс выдал? И скажите плз биометрия здесь поможет? я видел проекты типа openbiometrics? чесно говоря не вникал, но возможно стоит? Это я о мысли искать людей по совпадению биометрических параметров лица. Спасибо. Openface сейчас буду копать, но я думал мат аппарат одинаков в этой области, посему если чтото не влазит в ОЗУ в Opencv, то не влезет и там?? или в https://cmusatyalab.github.io/openface другой подход? Спасибо
×