All streams
Search
Write a publication
Pull to refresh
469
0
Мальцев Антон @ZlodeiBaal

Computer Vision, Machine Learning

Send message
Очень — очень примерно 15-20 секунд. Но лучше замерять. Вопрос и к архитектуре сети и тому как она к памяти лазит, и от числа полносвязных слоёв, и от фреймворка используемого, и.т.д., и.т.п.
Реально Tx2 примерно в 7-10 раз медленнее 1080Ti на многих задачах. Tx1 на 30% медленнее tx2 на большинстве задач. А Nano — по сути в 2 раза зарезанный Tx1 судя по спекам.
Вполне может оказаться что недавний Coral или Movidius 2 быстрее окажутся. Но надо руками сравнивать по разным задачам…
Я периодически помогаю своим друзьям/нашим клиентам находить и собеседовать человека в штат.
Для меня участие в Kaggle — это зачастую очень крутой поинт разговора.
При собеседовании на CV, на мой взгляд, надо не проверять то как человек знает теорию, а то как он мыслит и как умеет её применять. А это невозможно сделать без обсуждения опыта человека. Того какие задачи он смог решить и как он их преобразовал.

И тут всё портит NDA. Больше половины собеседников не готовы обсуждать что они делали и как они делали на прошлых работах. Я прекрасно понимаю, что есть ситуации когда это оправдано. В моём опыте были десятки ситуаций когда маленький хак/переосмысление точки применения очень ощутимо может поднять качество модели.

Но если у человека есть опыт Kaggle — он открыт к разговору. В обсуждении задач Kaggle нет NDA. И можно хорошо понять ход мышления, кругозор, списки методов которыми человек пользовался, изучал.

Если же у человека NDA, нет опыта Kaggle, то единственное что остаётся — обсуждать модельные задачи. Но тут вероятность что собеседование пойдёт как-то не так сильно растёт. Можно случайно выбрать задачи в которых собеседуемый не разбирается. Или разбирается поверхностно.
Это не даст ему показать себя/продемонстрировать решение, путь мысли.
Например я никогда не работал с обработкой звука, но мой опыт в нейронках свёрточных огромный. Вроде рядом/близко. А могу не знать каких-то тривиальных вещей которые за 10 минут нагуглсятся и при моём опыте перевернут логику решения задачи.

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

P.S.
Да, немного отклонился от логики статьи в своём коменте.
Возвращаясь к логике. Если человек замечательно использует методологию kaggle — то я буду смотреть на то как он умеет пользоваться инструментами за пределами kaggle. Как он будет формулировать задачу, как будет подходить к методологии досбора базы/интеграции разметки в пайплайн.
Это немного несвязанные вещи. Но Kaggle даст хорошую отправную точку на тему разговора о них.
Да, когда дошёл до этой части долго ржал над тем как автор всё передёрнул. Потом читал в пол глаза:)
Для скрининговых исследований — это оправдано. Мы делали распознавание флюорограмм, сейчас делаем мамограммы. Там сравнимые с человеком точности можно достигать.
Но надо понимать, что хороший рентгенолог — он не про то. Так же как и хороший МРТшник/КТшник. Хороший рентгенолог-мамолог, посмотрев на снимок скажет как и под каким углом нужно сделать снимок с большим разрешением, чтобы поставить диагноз. Хороший МРТшник — может описать структуру протоков в какой-нибудь печени.
Эти вещи на текущем уровне нейронок нельзя автоматизировать: нет такого числа обучающих случаев (а собирать полноценную базу — не будет экономического эффекта), очень сложно сформулированное описание, требуется обратная связь и подстройка наблюдения исходя из неё (для рентгена — выбор точки обзора, для КТ — контрастирование).

Так что профессия не уйдёт ещё долго. Но вот на нижнем уровне, поликлиник — качество исследований может повысится сильно.
Удивительно адекватная для Хабра статья. Потом посмотрел на автора — всё встало на своё место:)
Что-то всё что я видел из алгоритмов подтверждения lifeness либо было хардверно (3д), либо работало so-so. Ошибки/долгий процесс подтверждения/неустойчивость к взлому. Реализаций где бы было быстрый безошибочный lifness с обычной 2д камеры ни разу не видел. Наверное можно сделать для некоторых применений успешные реализации (например банк, где долго можно смотреть на клиента). Но в целом как-то уныленько.
marks это ужасно.
Ну много же специалистов на хабре. Напишите хоть одному из них, спросите «хрень статья или нет». И получите ответ.
Тут по любым двум произвольно взятым абзацам видна куча систематических и научных ошибок.
Это нормальная курсовая работа. Как я понимаю выполняла её студентка второго-третьего курса, которая там в соавторах и на фото. Для курсача норм. Но блин, это просаживает уровень до того что на хабре можно публиковать любой школьный проект.
Ну вот. Взяли Харлока и назвали его пиратом!
image
Не, он себя тоже так называл, но даже почти никого не грабил...;)
Мы тоже очень много что делаем через UNet. Всё же когда каждый пиксель изображения является частью обучающей выборки — это сила. Ряд задач в итоге требует на порядок меньше данных. Правда мы предпочитаем сразу собирать конвейер формата разметка->обучение->доразметка с применением сети-> и.т.д.
Без того чтобы делать предварительные методы прореживания датасета. Цена Толоки или нанятого разметчика выходит ощутимо ниже чем пару дней работать на первичное прореживание датасета:)
А интеграция процесса разметки в разработку всё равно потом понадобиться, если хочется максимизировать качество, избавится от ошибок.
Спасибо, хорошая статья! Мы сами при работе с заказчиками последние года два уже полностью отказались от подписания NDA на старте переговоров. Обычно в NDA полная чушь написана. А если с каждым заказчиком прописывать NDA — то это кучу времени тратить на вычитывание. В итоге либо предлагаем подписывать NDA только как часть контракта, при этом явно оговаривать размер штрафов за разглашение.
Так как у меня никакого юридического образования нет, то всю свою ругань на этот феномен оставил в своём блоге, на хабр решил не переносить.
Буду теперь сюда посылать заказчиков, которые уверенно говорят что «их юристы знают как надо» и не верят в то что я говорю:)
И как же с этой паршивой точностью:
точность классификации достигла 55%. Казалось бы, не очень много, но точность top-5 составляет 78%, а если мы рассмотрим только самую громкую половину фрагментов, а это в основном ударные гласные, то точность top-5 вырастет до 91%.

Вы планируете опознать по половине слова?
Для какого применения? Может сразу доступ к банковской ячейке по телефону?;)
Круто!
А в более крупном разрешении карта будет? На другие города развивать будете? Там, конечно, доучивать нужно будет.
Как на чистом лесе работает? Всё же структура посадок в лесу и в парках разная.
То что keras запускается — это уже хорошо:)
Но, скажу по своему опыту — как только появятся лишние деньги — переходите на NVIDIA.
Ловля маловразумительных багов, которые обусловлены opencl/сборкой энтузиастов — будет стоить дороже. Я тоже начинал прогать на gpu-шках с opencl. На хабре первую статью на эту тему писал даже. Но весь продакшн код был на куде:)
У вас будет минимальная скорость поддержки новых слоёв/решений. Не получиться запустить чужие семплы достаточно сложные, и.т.д. Так что бегите;)
Черный ящик — это вещь где нельзя предсказать какой внутренний процесс приведёт к искомому результату. То что вы тут сделали — это лишь наблюдение за сформировавшимся процессом. Но вы не можете влиять на процесс который есть. Не можете сказать что вот это граница между эмоциями, а вот так эмоции трактуются для азиатов.
Человек может оперировать лишь моделью сети, что почти не влияет на логику принятия решения, а скорее на качество/скорость, либо датасетом, тобишь входом системы.
Да, вход зачастую можно подкорректировать исходя из того что происходит внутри. Иногда можно исходя из внутреннего процесса подкорректировать loss-функцию. Но это не делает происходящего не чёрным ящиком:)
Основная минимизация распознавания — это изменение лица тем или иным способом. Если вас другой человек плохо узнает — то и система тоже
Имитация… Ну проще всего фотку показать. Или фотку на лицо наклеить)
Вроде про установку в премиум-магазинах я давно слышал. Там это всё замечательно работает, пока база покупателей 1-2 тысячи.
А в каком-нибудь магазине на пару десятков тысяч покупателей те же проблемы. Тобишь 10тыщ — это 10^4 актов сравнения на покупателя. Если реально хорошая камера и освещение — ложняк будет на каждом сотом. Если как обычно — то на каждом втором:)
Но в реальности поставить хорошую камеру сложно. К нам приходило 5-6 команд которые такое пытались сделать. Качество картинок у всех ниже плинтуса, широкие углы, плохая установка. Реально поможет только поставить фронтальную камеру и хорошую подсветку забацать. Но это никому не понравиться.
Мы их отправляли всех в Ntech/VisionLabs/Vocord со словами что это может вам помочь, но мы думаем что нет, качества и статистики не хватит. Но удачных внедрений не слышал.

Не знал, что есть люди с моими проблемами! :)

Прилетело НЛО и навставляло… Я обычно стараюсь чтобы пустой строкой были разделены какие то глобальные темы, а абзацы шли энтерами. Но знаю что многим это не нравиться.

Это старое 3д распознавание. Тут я писал про 2д. 3д — совсем про другое. Оно достаточно дорого и очень мало применений. Плюс оно работает только на проходных.
Ещё раз. Советую посмотреть как сейчас делается обучение embeding'а через triple loss, center loss и.т.д… Что там подаётся на вход.
Да, у итогового решения есть зависимость от растительности на лице, от линии причёски, от цвета волос, и.т.д. и это нормально, так как при обучении достигается максимальная разделяющая статистика.
Приведённая вами картинка dlib-овской разметки не имеет ничего общего с тем как сейчас делается распознавание лиц…
В начале приведено три статьи о том как сейчас работают системы распознавания. Я бы рекомендовал сперва с ними ознакомится…

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity