Как стать автором
Обновить
50
0
Виктор Пряничников @VIK52

Пользователь

Отправить сообщение

Знаете ли Вы массивы?

Время на прочтение5 мин
Количество просмотров130K
Думаю, мало кто из готовящихся к своему первому интервью, при приеме на первую работу в должности (pre)junior программиста, ответит на этот вопрос отрицательно. Или хотя бы усомнится в положительном ответе. Конечно, такая простая структура данных с прямым доступом по индексу — никаких подвохов! Нет, в некоторых языках типа JavaScript или PHP массивы, конечно, реализованы очень интересно и по сути являются много большим чем просто массив. Но речь не об этом, а о «традиционной» реализации массивов в виде «сплошного участка памяти». В этом случае на основании индексов и размера одного элемента просто вычисляется адрес и осуществляется доступ к соответствующему значению. Что тут сложного?
Давайте разберемся
Всего голосов 118: ↑71 и ↓47+24
Комментарии178

Пространственно-временная обработка изображений на GPU

Время на прочтение9 мин
Количество просмотров28K
Не так уж и давно стало популярным использовать видеокарты для вычислений. В один прекрасный день, несколько лет назад и я взглянул на новую, тогда, технологию CUDA. В руках была хорошая карточка по тем временам GTX8800, да и задачки для распараллеливания тоже были.
Кто работал с GPU, знает про объединение запросов, конфликт банков и как с этим бороться, а если не работал, то можно найти несколько полезных статей по основам программирования на CUDA[1]. Карта GTX8800, в некотором смысле, была хороша тем, что была одной из первых и поддерживала только первые версии CUDA, поэтому на ней было четко заметно, когда есть конфликты банков или запросы в глобальную память не объединяются, потому что время в этом случае увеличивалось в разы. Все это помогало лучше понять все правила работы с картой и писать нормальный код.
В новые модели добавляют все больше и больше функциональности, что облегчает и ускорят разработку. Появились атомарные операции, кеш, динамический параллелизм и т.д.
В посте я расскажу про пространственно-временную фильтрацию изображений и реализацию для compute capability = 1.0, и как можно ускорить получившийся результат за счет новых возможностей.
Временная фильтрация может пригодиться при наблюдении за спутниками или в прочих ситуациях фильтрации, когда требуется точное подавление фона.

Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии6

NASA выложила в открытый доступ 17000 фотографий программы «Аполлон»

Время на прочтение1 мин
Количество просмотров119K


Судя по всему, у сторонников конспирологических теорий о рептилоидах фальшивых полетах человека на Луну в ближайшие годы появится очень много работы :) Дело в том, что NASA выложило в открытый доступ целых 17000 фотографий, сделанных в рамках программы «Аполлон» — всего цикла. В числе выложенных фото есть и очень известные снимки, и те, которые многие из нас увидят впервые.

Читать дальше →
Всего голосов 97: ↑94 и ↓3+91
Комментарии77

Перевод и озвучка фильма дома — The Mars Underground

Время на прочтение5 мин
Количество просмотров75K
Это мой первый пост на Хабре, поэтому в хаб «Космонавтика» он пока не попал.
Я занимаюсь, вернее, пытаюсь заниматься переводом и озвучкой видеороликов уже полгода. Ещё весной я обнаружил, что в сети полно хороших видео, из серии таких, которые «обязательно должен посмотреть каждый», но большая часть из них на английском языке. А вот знакомых, хорошо знающих иностранные языки, у меня не так много. Поэтому начинал я с переводов именно для них. Затем заметил, что это становится интересно и другим людям, и завертелось. Поэтому когда ко мне обратился Zelenyikot с предложением озвучить фильм Роберта Зубрина о Марсе, я с радостью согласился. И, вооружившись статьей "Попытка перевода и озвучки видео в домашних условиях", словариком и гуглом, сразу приступил к работе.

Читать дальше →
Всего голосов 161: ↑159 и ↓2+157
Комментарии39

В MIT разработали недорогую 3D-камеру, способную видеть сквозь полупрозрачные объекты

Время на прочтение2 мин
Количество просмотров14K


Существующие сегодня 3D-сенсоры, основанные на измерении времени прохождения луча света, подобные Kinect, могут довольно неплохо составлять карту глубин изображения, если в сцене нет полупрозрачных и отражающих поверхностей, преломляющих и искажающих путь световых лучей. Дождь, струи воды, туман или предметы из стекла или прозрачного пластика просто заслоняют более далёкие объекты, так как сенсор распознаёт только самое первое отражение сигнала.

На конференции Siggraph Asia, которая прошла в Гонконге на прошлой неделе, учёные из MIT Media Lab представили новую разработку, основанную на том же принципе. В ней используется обычный лазерный диод и недорогой сенсор. Стоимость оборудования составила всего лишь порядка 500 долларов. Единственное существенное отличие прототипа от коммерческих аналогов, таких как Kinect, заключается в прошивке.

Вместо простой периодической модуляции импульсов инфракрасного лазера, прототип MIT использует специально подобранные последовательности импульсов, имеющие автокорреляционную функцию с очень узким единичным пиком (такие сигналы используются в эхолокации и телекоммуникациях для точного измерения времени задержки сигнала. Более подробно о них можно почитать в статье "Основные принципы цифровой беспроводной связи. Ликбез", в разделе «Автокорреляционная функция. Коды Баркера»). Камера хорошо различает первые отражения от поверхности прозрачного предмета и следующие за ними отражения от более далёких объектов. Она даже способна получить чёткое изображение надписи, закрытой матовым экраном.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии16

То, что вы хотели знать про оптический поток, но стеснялись спросить

Время на прочтение13 мин
Количество просмотров74K

Оптический поток (Optical flow) – технология, использующаяся в различных областях computer vision для определения сдвигов, сегментации, выделения объектов, компрессии видео. Однако если мы захотим его по-быстрому реализовать в своем проекте, прочитав про него на википедии или где-нибудь еще, то, скорее всего, очень быстро наткнемся на то, что он работает очень плохо и сбоит при определении сдвигов уже порядка 1-2 пикселей (по крайней мере так было у меня). Тогда обратимся к готовым реализациям, например, в OpenCV. Там он реализован различными методами и совершенно непонятно, чем аббревиатура PyrLK лучше или хуже обозначения Farneback или чего-нибудь в этом роде, да и придется поразбираться со смыслом параметров, которых в некоторых реализациях очень много. Причем, что интересно, эти алгоритмы как-то работают, в отличие от того, что мы написали сами. В чем же секрет?
Читать дальше →
Всего голосов 78: ↑76 и ↓2+74
Комментарии18

Астрофотография в каждый дом

Время на прочтение6 мин
Количество просмотров125K
Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.

Возможное решение проблемы — удаленно-управляемые телескопы большого размера и расположенные в горах. Конечно, возможность видеть все своими глазами это не заменит — но астрофотографии полученные таким образом будет трудно превзойти. Именно на этом способе я и хочу остановиться в этой статье.

Пример того, что получилось: галактика Андромеда, M31 на телескопе Т20
Читать дальше →
Всего голосов 216: ↑215 и ↓1+214
Комментарии60

Простыми словами о преобразовании Фурье

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.1M
Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

image (с) xkcd

Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
  • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
  • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
  • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
  • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
  • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
  • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
  • Как по цифровой последовательности восстанавливают исходный сигнал


Я буду исходить из предположения что читатель понимает что такое интеграл, комплексное число (а так же его модуль и аргумент), свертка функций, плюс хотя бы “на пальцах” представляет себе что такое дельта-функция Дирака. Не знаете — не беда, прочитайте вышеприведенные ссылки. Под “произведением функций” в данном тексте я везде буду понимать “поточечное умножение”

Итак, приступим?
Всего голосов 203: ↑192 и ↓11+181
Комментарии188

Хабр-форсайт: 6.000.000 тонн мокреньких котят в космосе

Время на прочтение8 мин
Количество просмотров56K
«Воображение важнее, чем знания. Знания ограничены, тогда как воображение охватывает целый мир, стимулируя прогресс, порождая эволюцию.» А. Эйнштейн

image

«Лучший способ предсказать будущее – изобрести его.» Алан Кей, создатель ООП

По результатам статьи «Пусковая петля»:
— виртуально собрали денег 1.300.000 $,
— «продали» больше 1.000 «билетов» в космос,
— и обнаружили много много вопросов

Главное, что я заметил это то, что люди даже в мыслях ограничены, что существует огромное сопротивление, чтобы даже представить себе, как можно обеспечить СПРОС на объем запуска груза в космос в масштабе 6.000.000 тонн в год ? (при условии что стоимость запуска 1 кг груза будет стремиться к нулю)

Предлагаю всем людям творческим и не до конца творческим присоединиться к поиску созданию ответов и наполнить будущее смыслами. Do It Yourself

“Твои стрелы не долетают до мишени, — заметил мастер, — потому что они не летят достаточно далеко мысленно”. Юджин Херригел, “Дзен и искусство стрельбы из лука”

Читать дальше →
Всего голосов 72: ↑49 и ↓23+26
Комментарии140

3D принтер воспроизводит точные копии картин (включая текстуру и «рельеф»)

Время на прочтение1 мин
Количество просмотров38K
image

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

Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии39

Изменения в структуре знания

Время на прочтение4 мин
Количество просмотров60K
Я пишу эти строки в надежде получить комментарии от участников сообщества – что-то может показаться всем читающим очевидным, однако при ближайшем рассмотрении изменения становятся крайне пугающими, и, не побоюсь этого слова, вызывающими.

Начало


Количество информации в мире постоянно растет. Если верить хотя бы исследованиям Университета Южной Калифорнии, то получается вот что: в 1986 году соотношение цифровой и аналоговой информации было 2,62 к 0,02 в пользу аналога. Где-то после 2001-2002 года цифровая информация сравнялась, ну а к 2007 уже повально лидировала с объемом 276,12 к 18,86.

И я ощутил эту разницу на себе, в гораздо более понятных цифрах. В 2000 году я млел от плеера Samsung Yepp с объемом памяти в 32 мегабайта, треки на который я закидывал при помощи LPT-кабеля. Ты мог либо закинуть несколько треков в хорошем качестве, либо пару альбомов в очень плохом.

А уже в 2009 году я пользовался iPod Classic объемом в 160 Гигабайт. Разница в 5 с лишним тысяч раз за 10 лет.
Читать дальше →
Всего голосов 96: ↑72 и ↓24+48
Комментарии194

Blind Deconvolution — автоматическое восстановление смазанных изображений

Время на прочтение6 мин
Количество просмотров147K
Смазанные изображения — один из самых неприятных дефектов в фотографии, наравне с расфокусированными изображениями. Ранее я писал про алгоритмы деконволюции для восстановления смазанных и расфокусированных изображений. Эти, относительно простые, подходы позволяют восстановить исходное изображение, если известна точная траектория смаза (или форма пятна размытия).
В большинстве случаев траектория смаза предполагается прямой линией, параметры которой должен задавать сам пользователь — для этого требуется достаточно кропотливая работа по подбору ядра, кроме того, в реальных фотографиях траектория смаза далека от линии и представляет собой замысловатую кривую переменной плотности/яркости, форму которой крайне сложно подобрать вручную.


В последние несколько лет интенсивно развивается новое направлении в теории восстановления изображений — слепая обратная свертка (Blind Deconvolution). Появилось достаточно много работ по этой теме, и начинается активное коммерческое использование результатов.
Многие из вас помнят конференцию Adobe MAX 2011, на которой они как раз показали работу одного из алгоритмов Blind Deconvolution: Исправление смазанных фотографий в новой версии Photoshop
В этой статье я хочу подробнее рассказать — как же работает эта удивительная технология, а также показать практическую реализацию SmartDeblur, который теперь тоже имеет в своем распоряжении этот алгоритм.
Внимание, под катом много картинок!
Читать дальше →
Всего голосов 243: ↑239 и ↓4+235
Комментарии150

Оцифровка человека: мы не готовы

Время на прочтение2 мин
Количество просмотров150K

Идея информационной телепортации крайне проста: специальный сканер разбирает объект на атомы, одновременно считывая их полное состояние. Полученные данные передаются в пункт назначения, где 3D-принтер с атомарным разрешением печатает исходный объект. Просто, логично, понятно. Многократно показано в фантастике (например, в фильме «Трон»).
Какова же должна быть пропускная способность сети для комфортной телепортации? Хватит ли нам плохонького 3G от «большой тройки»?
Размышления на эту тему - под катом
Всего голосов 151: ↑119 и ↓32+87
Комментарии337

19 команд ffmpeg для любых нужд

Время на прочтение3 мин
Количество просмотров568K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Всего голосов 222: ↑214 и ↓8+206
Комментарии107

Информация

В рейтинге
Не участвует
Откуда
Радужный (Владимирская обл.), Владимирская обл., Россия
Дата рождения
Зарегистрирован
Активность