Pull to refresh
208
0
Артем Хуршудов @rocknrollnerd

User

Send message
> Security by obscurity в отношении к алгоритму — это не имение математического доказательства его устойчивости.

In security engineering, security through obscurity is the use of secrecy of the design or implementation to provide security.


А то, знаете, так можно далеко зайти. Для RSA тоже нет математического доказательства устойчивости (более того, для квантового компьютера есть доказательство неустойчивости). Существование односторонних функций как таковых вообще не доказано, и само по себе чистая эвристика — «что-то, что вроде работает и пока никто не взломал».
Раз уж про питон: маленькая скромная библиотека для сверточных сетей, с интерфейсом scikit-learn (что отдельно ценно), и использованием Cython: nnet.
*зануда* На 97% коррелирует со стоимостью нефти)

должен же был кто-то
image


«Представьте, что вы — машина.

… да, я понимаю. Но представьте, что вы другая машина.»
А давайте представим себе ситуацию (я тоже не биолог, и пытаюсь подхватывать). Вы видите стену, а в ней окно. А за окном — окружающий мир.

Только в первом случае это реальный (глубокий) окружающий мир, а во втором — приклеенный к стене экран, где показывается то же самое, что и за окном.

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

*печально* Вопросы громкие и назойливые, но вообще, если быть отвратительно честным, у меня нет здесь доказательств, пока я не вырастил ребенка (или кота) с телевизором, привязанным к голове. Наверное, наиболее убедительным мне все-таки кажется довод про животный мир — почему ящерица не сдвинула себе два глаза вперед, если это облегчает расчеты и позволяет облегчить мозг? Не то чтобы это было офигеть какое преобразование. Не говоря уже о том, что наверное, можно будет выкинуть неслабую часть мозга (занятую расчетами), которой у ящерицы и так не очень-то…
Упс. My bad, что-то я правда невнимательно читал аннотацию. Временно откатываю этот довод, пока не соберу больше источников) Два предыдущих остаются, кстати.
Очень много комментариев на эту тему, в том числе и мимо хабра, поэтому придется написать куда-то в одно место. Выбор пал на вас)

— вы правы в том, что это не строгое доказательство, в том случае, если мы допускаем, что есть несколько алгоритмов восприятия глубины, и какие-то из них просто «набивают библиотеку» опытом, а когда библиотека уже есть, могут спокойно отключиться и никто не заметит потери. Причем «не заметит» сказано еще и очень мягко. Когда мы смотрим на экран в кинотеатре, наше бинокулярное зрение вообще никак нам не помогает (весь экшн происходит на плоскости экрана), и мы не чувствуем никакого дискомфорта, никакой необходимости перестраиваться, мы вообще не замечаем каких-то отличий — вплоть до того, что как в пелевинской метафоре про телевизор, не всегда можем понять, сами ли мы двигаемся по миру, или уставились лицом в экран, показывающий нам всю картинку. Опять же, не строгое доказательство, но заставляет слегка задуматься на тему того, почему такой важный элемент восприятия, как вы утверждаете, так легко выключается?
— у большого количества животных глаза смотрят по обе стороны головы. Мы ведь не считаем, что они все не осознают, что находятся в трехмерном мире, и ходят по плоскому миру мультиков? Опять же, вы можете сказать, что эти животные пользуются другим методом — параллакса или еще каким. Но зачем тогда нам смотрящие вперед глаза? Если они не дают никакого ощутимого профита по сравнению со, скажем, зрением птиц, то почему они закрепились в ходе эволюции? А если дают — почему они появились только у части животных? Общераспространенное мнение (по крайней мере, в моем учебнике биологии) говорило, что вперед смотрящие глаза нужны хищникам, чтобы лучше ориентироваться и хватать добычу — и это, как несложно заметить, не очень согласуется с тем что существует куча хищников, обладающих глазами по бокам головы, и им норм.
— что-то уже больше похожее на доказательство — что будет, если залепить глаз новорожденному котенку? А ничего не будет. Через непродолжительный период он сможет восстановить нормальное поведение, не будет врезаться в стены и в целом будет таким же котом, как и остальные.
Эм… как бы так выразиться-то — да, пожалуй, мне бы хотелось сделать такую штуку, чтобы распознавала все на свете) Совершенно не вижу, кстати, зачем здесь моделировать человеческий мозг насколько правдоподобно, насколько возможно — с чего такие выводы?

А ваше предложение немедленно потребует отдельной нейронки для лица, вид сзади, отдельной нейронки для лица в три четверти, а желательно вообще 360 отдельных нейронок для каждого угла зрения. И кстати, как собираетесь узнавать, какой нейронкой пользоваться? Перепробовать все по очереди? К слову о процессорном времени, пожалуй.
А, по поводу 15 признаков — смотрите, я косвенно затрагивал их в самом начале. Само собой, у нас есть binocular и monocular depth clues, есть атмосферная перспектива, окклюзия, шейдинг и так далее, и все это очень хорошо — но часть этих вещей (достаточно большая) работает только если у нас уже есть какой-то опыт и знание об окружающем мире. Освещенный кубик на примере с зелеными точками, например, кажется нам скорее выпуклым, чем вдавленным, потому что мы привыкли, что свет падает сверху, а не снизу. До тех пор, пока у нас нет никаких априорных знаний, мы не можем даже отличить этот шейдинг от раскраски, нанесенной на поверхность предмета.

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

Ваш пример с SIFT+RANSAC упоминался в посте как «пробовал, но что-то не получилось» (это тот, который с помощью stereoRectifyUncalibrated), так что вполне возможно, конечно, что это мне просто не хватило скилла.
Справедливости ради, в современных-то игрушках их тоже не то чтобы очень есть. Видели подборки картинок в духе «определите, где реаллайф, а где GTA V»?)
Затягивал с комментом, потому что у движения объекта есть свои сложности. Вот такие:

— во-первых, статическая сцена (где ничего не двигается) удобнее нам потому, что мы ее полностью контролируем. Пока мы не шагнем, все остается на месте.
— во-вторых, остается вопрос определения движения. Для камеры мы можем получать ее двумя способами: прямо от моторных механизмов, которые ее двигают (от своих ног, грубо говоря), или анализировать общее смещение потока в кадре (я очень хотел добавить это в пост, но места уже явно не хватало). Как говорил Дуглас Хофштадтер, мы обычно различаем на картинке «рисунок» и «фон» — изображенный предмет и все, что просто занимает место на обоях. Вот по сдвигу фона можно довольно точно определить, куда мы двигаемся. А если фон стоит на месте, и двигается объект — тут остаются варианты.
Ну, у вас поле зрения все-таки имеет какую-то ширину) Вы же можете наблюдать за любыми мелкими движениям, например, абстрактного прыжка кузнечика (хотя, казалось бы, первая же саккада должна увести вас от кузнечика подальше).

Интеллекту — определенно браво; я вот так не могу) Интересно, вы занимаетесь повседневно работой с мелкими предметами?
Спасибо, критические отзывы всегда радуют) Распознавательная часть обязательно будет, просто а) она сюда унылым образом не влезала, и б) в какой-то степени ее можно представить себе, не сходя с места. Нейронной сети же совершенно все равно, какие данные анализировать — двумерные или трехмерные)

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


А вы все-таки пробовали закрыть один глаз?) Или посмотреть на плоскую распечатанную картинку, где конвергенция совершенно точно никак не работает, потому что не на чем ей?

Разреженное облако точек построить в 3D — это не проблема вообще


Совершенно не сомневаюсь, учитывая мои собственные более чем дилетантские знания в 3d-реконструкции… но все-таки, поделитесь способом, который:
— не требует двух камер и пространства (работает на отснятом заранее видео)
— не требует параметров камеры и калибровки.

Ноль сарказма, кстати, мне действительно очень интересно.

Про объяснение работы фундаментальной матрицы отдельное спасибо, в этом поле я совершенно плаваю)

Вам спасибо, что прочитали. Если интересуетесь темой дальше — есть несколько очень простых и увлекательных книг, рассказывающих про все это на популярном уровне. Уже упоминавшийся Марк Чангизи, «Революция в зрении» (там, правда, много оригинального контента, который еще не защищен временем), и более классический Дэвид Хьюбел «Мозг, глаз, зрение» — отец нейросайнса и вообще столп-основатель. Ну и Курсера в последнее время отметилось парой отличных курсов)
О, это как раз очень любопытно, да. Я, к сожалению, не квалифицирован, чтобы рассуждать на биологические темы, но, например, Хьюбел пишет о таких штуках в «Глаз, мозг, зрение». Описание опыта: «возьмем новорожденного котенка, зашьем ему глаз. Подождем пять лет» уже звучит как-то очень захватывающе)

Спасибо за ссылку, обязательно поинтересуюсь.
Оно?)
image

Альфред Ярбус, однако, очень известная и классическая работа по саккадам (не читал, но наслышан, как говорится). У него, правда, был очень суровый eye-tracker с присосками на глазных яблоках — надеюсь, вы справитесь как-то менее инвазивным способом.
Я ожидал больше Эшера в комментах) Кстати, не очень понял, что конкретно на вашей картинке играет с перспективой, поясните?

А еще в копилку к художникам, например, Магритт и издевательства над окклюзией:
image
Это гораздо круче делает Bundler. Смотрите, какие штуки получаются:
pic
image


*режим зануды* Загружая тонны персональных фото — нет, потому что у вас тут отсутствует ключевой элемент оптического потока — понимание, какой кадр в какой переходит) Так что фото — это пожалуйста, а вот видеоблогов остерегайтесь)

Information

Rating
Does not participate
Date of birth
Registered
Activity