PDA

Просмотр полной версии : Подскажите пожалуйста что это за магия такая


fifa_sibir
10.01.2018, 11:38
Наткнулась сегодня вот на такое видео https://drive.google.com/file/d/1o1kHwonfw2AycYuYI1x00bV5YXgUunCb/view
Я и раньше видела подобное, но не вдавалась в подробности как это можно сделать при помощи flash-технологий? Дайте хотя бы наводочку как это называется и где искать, я влюбилась в это!!!)))))))):)

ZergMaster
10.01.2018, 11:51
fifa_sibir
прикольно))
Но вообще это относительно просто сделать. Мы просто помещаем на этикетку бутылки метку (группа точек в определенном взаиморасположении (аналог QR кода)), а потом на изображении с камеры заменяем метку на наше видео разговора. Тут, в общем-то, не важно, при помощи каких технологий делать... одна фигня. Но в данном случае не нужно даже заморачиваться на нейросеть. Хотя, проще и красивее будет, наверное, через неё делать. В любом случае, тут достаточно самой примитивной.

undefined
10.01.2018, 11:59
Скорее всего на этикетке есть 3 контрастных маркера, по которым вычисляется плоскость изображения и потом на эту плоскость накладывается видео текстура с мужиком плюс, возможно, цилиндрическое искажение.

ZergMaster
10.01.2018, 12:04
ну да, нафиг тут никакая нейросеть не нужна, чето я загоняюсь. Метка + акселерометр.

ZackMercury
10.01.2018, 12:17
интересно, а как отличить метку от других объектов, которые могут находиться в области видимости камеры? учитывая освещение и вращение бутылки.

ZergMaster
10.01.2018, 12:39
ZackMercury по трем маркерам и пропорциям расстояний между ними. А далее - чем больше заморачиваешься, тем больше углов охватишь. Но вообще есть готовые библиотеки для распознавания лица, которые можно чуть переделать (там тоже по точкам).

undefined
10.01.2018, 13:03
Метка + акселерометр
Задача решается и без акселерометра.
интересно, а как отличить метку от других объектов, которые могут находиться в области видимости камеры? учитывая освещение и вращение бутылки.
Можно добавить контрольный маркер типа кружок между настоящими маркерами.Освещение отбрасываем за счет перехода в двуцветный режим,а вращение отслеживаем с помощью маркеров во всех углах этикетки+3д модель бутылки.

caseyryan
10.01.2018, 13:11
fifa_sibir
прикольно))
Но вообще это относительно просто сделать. Мы просто помещаем на этикетку бутылки метку (группа точек в определенном взаиморасположении (аналог QR кода)), а потом на изображении с камеры заменяем метку на наше видео разговора. Тут, в общем-то, не важно, при помощи каких технологий делать... одна фигня. Но в данном случае не нужно даже заморачиваться на нейросеть. Хотя, проще и красивее будет, наверное, через неё делать. В любом случае, тут достаточно самой примитивной.
Просто. В теории. И то, если не углубляться в неё) Многие компании годами разрабатывают такие технологии и до сих пор ни одна не работает на 100% хорошо (я их много перепробовал лично). У всех есть недостатки, которые главным образом вызваны несовершенством самих устройств, на которых работают приложения с AR. А ты говоришь, что это просто сделать) Честно скзать, очень хотел бы посмотреть как ты это сделаешь на флеше. А эппл даже несколько лет назад отвалили несколько миллионов долларов за компанию (https://techcrunch.com/2015/05/28/apple-metaio/), которая занималась разработкой SDK для дополненной реальности. И теперь это их ARKit (https://developer.apple.com/arkit/)


По теме, это называется AR (Augmented Reality). Из более менее открытых технологий, на сегодняшний день хорошо работают эппловский ARKit (на видео скорее всего он и есть) и Vuforia. Хотя на самом деле их гораздо больше. Есть и опенсорс решения, которые пока сильно отстают от коммерческих.
П.с. Это всё не флеш.

интересно, а как отличить метку от других объектов, которые могут находиться в области видимости камеры? учитывая освещение и вращение бутылки.
Уверен, что в случае с бутылками, меткой является сама этикетка, целиком. При чем для каждой из двух бутылок своя. На практике, чем сложнее рисунок на метке (https://library.vuforia.com/articles/Training/Image-Target-Guide), тем проще она определяется алгоритмом.

ZackMercury
10.01.2018, 14:30
это то понятно, просто человек написал, что мог бы сделать такое без нейросетей. я вообще не представляю, что он имел в виду.
даже нейросети с такой задачей не идеально справляются, и это далеко не простейшие. нужно кормить её картинками во всевозможных освещениях и положениях, чтобы она смогла бы работать вот так, ну и при этом конечно же задавать координаты и поворот для каждого варианта.

речь о том, что маркеры тоже искажаются в перспективе. тем более на цилиндрической поверхности.
вопрос был в том, каким образом ты находишь эти маркеры на изображении? как ты их не путаешь с какими-то случайными узорами?

undefined
10.01.2018, 14:39
ZackMercury,по твоему все qr ридеры на нейросетях работают?

ZackMercury
10.01.2018, 14:54
я без понятия, как они работают. судя по https://www.youtube.com/watch?v=o69UqAKi47I
все QR сканнеры под Android используют готовый API от Google.

P.S. попробуйте обернуть QR код, размером с этикетку, вокруг бутылки, и посмотрите, как телефон его сможет распознать.

не думаю, что распознавание плоскостей требует нейросети.
попробуйте распознать маркеры на цилиндре.

undefined
10.01.2018, 15:30
Попробовал - распознает без проблем.Ему вообще по барабану как поверхность изогнута,главное чтоб все маркеры были видны.
Тут ведь задача сводится к вычислению положения бутылки в пространстве.Имея модель бутылки и несколько маркеров на этикетке, можно наг****кодить распозновалку по фотке и без сильного ai :)

ZergMaster
10.01.2018, 15:31
Я написал, что можно без нейросетей, просто будет множество ограничений. Ведь нейросеть можно обучить смотреть под разными углами и разном освещении, а без - нужна точка входа (поднести телефон к метке под прямым углом на определенное расстояние). Банальное сравнение с имеющимися вариантами. А дальше уже работа акселерометра, по данным которого будет позиционироваться изображение в камере. И акселерометр, кстати, удивительно точная штука. Мы делали приложеньице (по фану) еще в лохматых годах на одном из первых айфонов, которое при помощи акселерометра вертело камеру в 3д пространстве, создавая иллюзию того, что экран телефона - окно в другой мир. Довольно неплохо получалось.

Добавлено через 3 минуты
очень хотел бы посмотреть как ты это сделаешь на флеше.
Без разницы, на чем делать, главное, чтоб был доступ к изображению с камеры. Нет, понятное дело, что я бы не стал делать на флеше, но особых препятствий я не вижу))

Zebestov
10.01.2018, 21:32
Попадалась библиотека для Flash, которая хватает и хорошо тречит произвольное изображение. Парень видео для примера делал на всяких картинках, игральных картах и т.д.

caseyryan
11.01.2018, 06:12
Попробовал - распознает без проблем.Ему вообще по барабану как поверхность изогнута,главное чтоб все маркеры были видны.
Тут ведь задача сводится к вычислению положения бутылки в пространстве.Имея модель бутылки и несколько маркеров на этикетке, можно наг****кодить распозновалку по фотке и без сильного ai :)
К чему ты завел разговор о распознавалке QR кодов? Это вообще другой подход. QR код не требуется точно позиционировать, чтобы изображение не дрожало, потому что не нужно накладывать изображение на видео, а что там видит сам девайс, для пользователя совершенно не важно. У QR кода есть четкие критерии. Он состоит из одинакового размера квадратиков двух цветов и сам квадратный. А попробуй сделать вот такую этикетку маркер и спозиционировать её. Задача сразу станет в десятки (а может и в сотни) раз сложнее.

Без разницы, на чем делать, главное, чтоб был доступ к изображению с камеры. Нет, понятное дело, что я бы не стал делать на флеше, но особых препятствий я не вижу))
Готов взяться за такую задачу? Или это так, сотрясение воздуха?

Попадалась библиотека для Flash, которая хватает и хорошо тречит произвольное изображение. Парень видео для примера делал на всяких картинках, игральных картах и т.д.
http://www.libspark.org/wiki/saqoosha/FLARToolKit/en наверное эта.

По поводу работы. Все эти AR библиотеки работают довольно хреново, если доступна только камера. Изображение не будет точно позиционироваться и постоянно будет дрожать при малейших перемещениях камеры. Наилучших результатов можно добиться на устройствах с гироскопом и компасом. Но таких устройств единицы. На китайцах встретить гироскоп это как найти иголку в стоге сена. Они обычно есть в каких-нибудь топовых моделях самсунга и в айфонах и то не на всех этих девайсах гироскоп соседствует с компасом. Без какого-либо из этих компонентов, опираясь только на изображение с камеры, даже при наличии хорошего маркера, сделать не глючащее AR приложение невозможно.

ZergMaster
11.01.2018, 11:04
Готов взяться за такую задачу? Или это так, сотрясение воздуха?
"Любой каприз за ваши деньги". Судя по твоему тону, ты уже не одну собаку съел на этом деле, так что мне уже страшно. =))
У меня сейчас пока что сильно много задач. Но вообще подобная есть в перспективе, были мысли в эту сторону.

caseyryan
11.01.2018, 11:42
Готов взяться за такую задачу? Или это так, сотрясение воздуха?
"Любой каприз за ваши деньги". Судя по твоему тону, ты уже не одну собаку съел на этом деле, так что мне уже страшно. =))
У меня сейчас пока что сильно много задач. Но вообще подобная есть в перспективе, были мысли в эту сторону.

Да, уже не одну) Поэтому знаю, на сколько это нетривиальная задача. Она, конечно, решаема, но совсем не так просто, как ты говорил. В ней очень много подводных и надводных камней ;)
Лично я бы лучше заплатил за готовую лицензию той же вуфории, вместо самостоятельного написания, если бы мне нужно было сделать какой-то серьезный проект с AR

undefined
11.01.2018, 11:46
К чему ты завел разговор о распознавалке QR кодов?

К тому что распознав расположение маркеров на этикетке, можно оценить расположение бытылки в 3d и дальше сгенерить текстуру. Естественно это не будет pixel-perfect, но оно и не нужно.

Да, уже не одну)

А можно увидеть результат собакопоедания?

ZergMaster
11.01.2018, 11:59
Лично я бы лучше заплатил за готовую лицензию той же вуфории
Полностью согласен! Того гляди на айфоне дефолтное апи будет по допреальности. В любом случае, чтобы сделать качественно, нужно использовать готовые решения, так как много умных людей этим давно уже занимаются и не мало в эту сторону придумали.
Она, конечно, решаема, но
Примерно это я и имел в виду. Решить вопрос с точкой входа и наложением на метку куска видео легко. Но это будет поделка на коленке. Далее сложность экспотенциально растет с увеличением качества отображения перспективы, увеличения точки входа и миллион других нюансов, которые вылезут по ходу дела. То есть принципиально задача решаема и примерно понятно что надо делать, но вот надо ли?.. ) Вопрос..)
А можно увидеть результат собакопоедания?
+
хоть какие-либо останки?

caseyryan
11.01.2018, 12:01
Естественно это не будет pixel-perfect, но оно и не нужно.
Это будет не то, что не pixel-perfect, это будет дикодрожащий и периодически исчезающий / зависающий отстой)
А можно увидеть результат собакопоедания?
Нет. Проект коммерческий, находится в разработке. Но в AR для него я решил остановиться на Vuforia, как на наиболее хорошо работающем SDK, из кучи перепробованных (правда там безмаркерная AR).
Вот, кстати, работает он только на топовых девайсах, с гироскопом и компасом (работает и на обычных, если с маркерами, но не очень хорошо). Компания, для которой делаем, будет специально закупать несколько таких устройств.
п.с. Проект на юнити