О современных процессорах и несовременных алгоритмах

В продолжение разговора, который кратко звучал на highload (в вопросах и ответах) и чуть подробнее - когда я с той же презентацией был в Mail.ru.

Профайлю потихоньку RawDigger и после серии очевидных улучшений - верхнюю строчку в профиле занимает подсчет статистики всего изображения. Среднее/минимум/максимум/дисперсия по каналам.

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

   for x in data:
        n = n + 1
        delta = x - mean
        mean = mean + delta/n
        M2 = M2 + delta*(x - mean)
 
    variance = M2/(n - 1)
    return variance
Плохо тут сразу два места: деления (все еще медленные) и зависимость между инструкциями (которая мешает локально векторизовать, впрочем векторизацию в общем случае тут вообще трудно применить т.к. каналы в данных перемежаются "произвольно". Ну то есть не вполне произвольно, но паттернов возможных много). Ну и в лоб не параллелится (на крупном уровне), впрочем для дисперсии объединения есть простая формула и это несущественно.

Про смотрелки RAW

Граждане фотографы!

А есть какая-то смотрелка RAW, которая позволяет баланс белого менять/ставить? А то у меня куча всего снята в UniWB и, мягко скажем, неудобно.

Ну то есть я смотрю в Adobe Bridge: выделяешь сотню кадров, открываешь в ACR, ставишь ББ, закрываешь и дальше можно смотреть. Но уже достало... Я готов даже денег дать (как-то разумно, в пределах $20 легко, а $50 - только если реально хорош) за такой варез.

Update: добрые люди подсказали, у faststone нужно выставить автобаланс и показ RAW (а не превьюхи). Правда 4 секунды на кадр (с 5D2) в режиме half и 10 в режиме full-size (и некоторые строчки в fsplugin01.dll) говорят мне, что у него в пузе dcraw 8.99 (а даже не LibRaw, коя в полтора-два раза быстрее)

Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича

Вдруг кому будет интересно:

Экспериментально установлено, что "челюсти" Really Right Stuff ставятся на головы PhotoClam (я пробовал на PC40, но хочется надеяться, что они все совместимые).

Обратное - неверно. Т.е. в челюстях PhotoClam прорезы под шипы на шейке слишком узкие и не влезет.

При этом, резьба в шейке голов RRS - дюймовая (1/4"), а в шейке PhotoClam - метрическая (на взгляд, M6), т.е. винты нужны родные. Соответственно, если нужен нестандартный винт (как на RRS-овской PCL-1), то придется иметь по отдельному винту на каждую голову.

Индикация пересветов в RawDigger: версия для Mac и обновление виндовой.

Если кто скачал версию "OE1" из предыдущего поста, то самое время ее стереть и взять новую. Если кто хотел маковскую версию, то вот она: Изменения (в виндовой версии) касаются тех режимов, которые я сам не использую, а потому и не тестировал:
  • На "черной рамке" не рисуется область недодержки.
  • При показе RAW в режиме "1 пиксель на пиксель" (а не размазывание пиксела на 2x2) - нет противного серого фона.

RawDigger: индикация пересветов (и челубеев)

Индикация выбитых светов (и недодержаных теней) - сделана.

Пока - в виде беты, нужно тестировать, смотреть что удобно, что неудобно, что не работает и так далее. Ну и оптимизировать скорость отрисовки. Но пробовать уже можно.

Выглядит это так:

В окошке Display появились пимпы OvExp и UnExp, если их включить, то отрисовываются выбитые пикселы (красным, как в ACR) и недодержаные (синим).

В окошке OvExp/UnExp Stats - показывается статистика по пикселам по всему изображению. Сколько выбито в штуках и в процентах (от общего количества пикселов данного цвета).

На удивление, оказалось что даже отрисовка одним цветом позволяет отличить места, где выбит один канал - от выбитых двух и трех каналов. При просмотре одного канала (RawChannel) - показываются выбитые/недодержаные пикселы только в том канале, который просматривается.

Естественно, уровни отсечки сверху и снизу - настраиваются. Мануал пока не правился, поэтому опишу настройки прямо тут.

Про SSD/Marvell

Заменил пару мелких SSD (место кончилось, теперь поживут в ноутбуках и как бутовые на серверах) на один 256-гиговый Vertex4.

Заодно прогнал вот эту свою бенчмарку:

  • Запись рандомных данных большими кусками: 394Mb/sec
  • Чтение их же: 502Mb/sec
Marvell рулит, Sandforce - не рулит :)

Чтобы два раза не вставать:

  • Цены: в ~четыре раза за три года.
    • Осенью 2009-го 128-гиговик стоил ~$400 (у нас - чуть дороже, у буржуев - чуть дешевле, но с доставкой вот примерно 12 тыс. и получалось).
    • Осенью 2012 256-гиговик стоит ~$200 (Vertex4 - $220 в лабазе у дома, наверное можно на десятку дешевле найти, но есть варианты сильно дешевле, если именно на Vertex4 не заморачиваться).
  • Надежность: ну, так себе.
    За три года у меня из ~десятка SSD-шек вылетело две. Обе - OCZ (но я и покупал почти только OCZ):
    • первый Vertex: прожил меньше 1.5 лет, умирал в муках, по SMART было видно как дохнет.
    • Vertex2: помер внезапно, прожив ~2 года рабочим диском т.е. с весьма интенсивным IO. Просто перестал распознаваться при включении и куку.
    Оба - без гарантии, т.е. первый с eBay, а от второго не сумел найти бумажки. Как у нас работает гарантия - все еще не знаю.

Обращение к владельцам 5D2 (2)

Граждане фотографы - владельцы 5D mk II!

С прискорбием сообщаю, что мое обращение подействовало слабо - прислали мне файлы считанные единицы, гораздо меньше примеров, чем было перепостов. Мне пока недостаточно данных для анализа. Ну прямо вот хоть в RawDigger вставляй уведомление "я нашел у вас кадры от 5D2, не соблаговолите ли снять тест...".

Ну вот хоть на выходных - ну потратьте 20 минут. Жалко 20 минут или нету колочекера - потратьте 10 (ровное поле есть у всех). Жалко 10 минут - потратьте три.

Программа-минимум: Мне нужны темновые кадры (т.е. с крышечкой на объективе или на камере) с такими выдержками:

  • ISO200: 1/125, 1/30 и 1s. По три кадра каждой выдержки.
  • ISO1600: 1/125, 1/30 и 1s. По три кадра каждой выдержки.
  • ISO6400: 1/125, 1/30 и 1s. По три кадра каждой выдержки.
Программа-медиум: снимаете таки серое поле как описано (по экспонометру и -5EV) и с теми же выдержками - темновые кадры.

Программа-максимум: с колорчекером (или его представлением на экране): в соответствии с описанной технологией

Вот даже минимум - уже очень поможет. А дела там - реально же на три минуты.

Обращение к владельцам Canon 5D Mark II

Не корысти ради, а общественной пользы для!

Тема разницы экземпляров (sample variance) цифровых камер регулярно всплывает, но каких-то систематических исследований мне неизвестно. Не систематически регулярно приходится слышать от владельцев нескольких ( одинаковых ) тушек, что они на самом деле разные (разный шум, разный banding, все разное), но никаких цифр видеть не доводилось.

Есть желание этот пробел устранить, придумать и отработать методику и все такое прочее. Начать мне проще с хорошо известной мне камеры Canon 5D Mark II.

Обращение к владельцам Canon 5D Mark II

Уважаемые владельцы поименованной камеры! Пожалуйста, пожертвуйте 10-20-40 минут своего времени общественной пользы для, снимите десяток-другой-пятый кадров и пришлите их мне.

Мне бы надо примеров с десятка разных камер. Можно больше.

Другие камеры пока не интересуют, отработаем методику займемся и другими.

Приветствуется распространение этого сообщения в фотографических сообществах (и перепост в ваших блогах, если вы фотограф), чем больше удастся получить примеров с разных камер, тем всем будет лучше.

Что снимать

и вы хорошо идти....

Мне, как MS BizSpark мемберу, дают всякой фигни попользоваться (на халяву). Поставил, значит, 2013-й MS Office на попробовать. Открываю русский документ - оно говорит что proofing tools для этого языка нету, идите на URL, поставьте.

Иду, ставлю, оно мне и выдает показанное выше.

Отчетливо повеяло 95-м годом, когда перевод был вот примерно такой вот. Но неужто в 2012-м они переводили автопереводчиком?

Снесу я его от греха. Не хочу хорошо идти, да и UI новый сильно не нравится.

Презентация с Highload

По просьбам трудящихся масс, моя презентация с Хайлоада:

Никаких откровений нет, задача была - показать что multicore/simd - это очень просто и стоит того. Читатели моего уютненького легко узнают примеры 1.5-2-летней давности.

Анимированность Slideshare порезала, но вроде накрывающих друг друга картинок у меня нет.

Об электронной демократии

Навеяло кулуарами хайлоада, где после выступления Лямина про DDoS внезапно всплыла выборная тема во всей ее многообразной красоте.

Вот электронные выборы. Не обязательно те, что закончились вчера, а вообще любые с интернетным голосованием, ну вот как в Эстонии, например.

Вопрос мой таков: а есть ли какой-то механизм, который может защитить от вбросов (со стороны организаторов, естественно)?

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

Я вот не вижу подходящего простого (чтобы средний необученный избиратель осилил) механизма, но наверное я чего-то не знаю?

Временная девиртуализация

В понедельник (с обеда и до вечера) и во вторник (весь день, плюс-минус) буду на Highload. Кому нужен - ловите там.

Я там даже выступаю в этот раз но на данную секунду - не знаю даже в какой день, что уж говорить о времени, в понедельник в 17:45 в третьем зале.

Pages

Subscribe to blog.lexa.ru: все статьи