Открыть список
Как стать автором
Обновить

Комментарии 50

А для тех, кто не заморачивается особо есть хорошая программа + ее же плагин для Фотошопа: Neat Image.
Ох как картинок и ссылок на более подробное описание методов не хватает :(
А так, спасибо за статью конечно.
На все ссылок насобирать — это куча работы. А если конкретный вопрос есть — пожалуйста, постараюсь ответить.
хоть парочку, ведь всё таки статья по работе с графической информацией…
вот странное замечание — «это куча работы»… весь смысл собирания на этом сайте не говноинформации в куче работы… иначе просто она здесь не нужна… говноресурсов и так в инете хватает…

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

хабр вообще меня стал угнетать в последнее время… напишешь что-то полезное — кричат боян-отстой… кто-то напишет боян-отстой — все кричат браво-полезно… непонимаю

да вот щас глянул… оказывается меня немного поддержали по-поводу «кучи работы»… это такая редкость
Рекомендую одну библиотеку: gen.lib.rus.ec (я к ней никакого отношения не имею, любителей авторского права тоже просьба не беспокоиться).

Ключевые слова для поиска: image, video, processing, handbook, signal, filters, fourier transform, wavelets, pattern recognition, statistics, for dummies, etc.

Рекомендации от себя по книгам.

Обработка изображений.
Классика жанра, маст рид.
Gonzales R., Woods R. Digital image processing // Prentice Hall, 2002, p.1070.
Gonzales R., Woods R. Digital image processing using Matlab // Prentice Hall, 2002, 609 p.
Pratt W. Digital image processing // J. Wiley & Sons, 2001, p. 735.
Зер гуд.
Nixon M., Aguado A. Feature extraction and image processing // Newnes, 2002, p. 350.
Acharya T., RayA.K. Image processing: principles and applications // J. Wiley & Sons, 2005, p. 428.
Дас ист фантастиш, с большим количеством смежно-прикладных задач.
Bovik A. Handbook of image and video processing. //Academic Press ,2000, 890 p.
BANKMAN, I. N. Handbook of Medical Imaging Processing and Analysis, 2000.
Просто о сложном.
Ilonen J. Supervised local image feature detection // Lappeenranta University of Technology, ISBN 978-952-214-466-9, 2007, p. 116.
Охренительная книга, но нет в открытом доступе.
B. Jahne, Spatio-temporal image processing, theory and scientific applications //Springer-Verlag, ISBN 3-540-57418-2.

Распознавание образов: полно книг от советской классики до свежака.
Фурье-вейвлеты. В базовой части есть во всех книгах по обработке изображений. Если хотите глубже, то любая радиотехническая классика.
Из математики: тензоры, фракталы, графы, теория принятия решений, статистика ну и общий курс вышки для технарей.

Касательно свежака: статьи IEEE, доклады с профильных конференций.

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

Исходники: вот тут я не помошник, ничего сложнее матлаба, и установки эклипс в убунту не делал, да и к алгоритмам отношения не имею, так люблю перед сном всякую хрень почитать :)
НЛО прилетело и опубликовало эту надпись здесь
а) В MathLab все это очень быстро пишется.
б) На C есть отличная библиотека OpenCV
Вопрос в том, надо ли Вам что-то разрабатывать? Ведь сегодня полно готовых решений. А если надо, то на мой взгляд (понимаю, что это звучит как самореклама, но все-таки) проще и дешевле обратиться к профессионалам.
Тема очистки изображений, при всей ее кажущейся простоте, вовсе не простая. И кормит нас уже давно.
НЛО прилетело и опубликовало эту надпись здесь
MatLAB (без h) а если с h то MathCAD )
Свои пять копеек.

1. На особенности биологии глаза все телевидение строится. Любой учебник по телевизорам и стандартам тв систем все это объясняет.

2. Даже в университетских методичках описывается медианная и ранговая фильтрация.

3. Вариации на тему пороговой обработки и суммирования/вычитания отфильтрованных изображений обычно ковыряют на лабах в универе. По книжке имаж процессинг узинг Матлаб, Гонзалез и Вудс.

4. О существовании нелинейных фильтров студентам тоже обычно рассказывают, про гауссианы тоже. И не поверите в книжках про билатерал тоже есть.

5. А радиотехники то и не знают, зачем их долбят пространственно-временным представлением сигналов и псевдоортогональными базисными функциями, а окна Гаусса и Габора по ночам снятся. И вроде РТЦиС сдадут, Кархуена — Лоена с Адамардом забудут, а тут их вейвлетами Добеши и Хаара по голове… а это чтобы в фотошопе кисточками мазать :)

6. Еще одно революционное направление описанное в методичках (обычно из Прэтта все переписывают). Как же первая и вторая производная, масочки Собеля, Превита, Робертса, разность гауссианов, лапласианы гауссианов. Поиск перпендикуляра к направлению градиента обычно называется не макисмальное подавление, вытекающее из аналитического требования к импульсной характеристике предложенной Канни в 198х каком-то году. И про гистерезис на физике никто не слушал, а на рассказе про интерполяцию все спали. И сакральное С/Ш никто не понимает.

7. О, классификация. Как там? статистикал паттерн рекогнишин, супервайзд имаж фитче экстракшн, машин вижн вся фигня? А студенты то и не знают.

8. Хороший и логичный совет.

Резюмирую: где технологии выходяшие за рамки университетского образования? :)
Мы специально публикуем здесь только public алгоритмы. Которые да можно найти в Интернете, хороших университетских курсах и в особенности книгах по Image Processing.
Просто чтобы поговорить об этом.

Почему-то на этом месте все спотыкаются, или считают, что здесь происходит какое-то соревнование.

У нас есть proprietary алгоритмы на этот счет, конечно. Честно говоря, мне было очень жаль, что я не могу, к примеру, enternet дать прямой ответ на его вопрос. А я ведь его знаю.
Но часть этих алгоритмов мы продаем за довольно большие деньги, часть были разработаны для наших клиентов и они обладают всеми правами. В этом бизнесе решения редко патентуются, так как фирмы предпочитают просто хранить их в секрете для себя.

Спасибо за Ваш ответ. Мы бы сработались, наверное.
НЛО прилетело и опубликовало эту надпись здесь
Тут дело не в жадности. Просто эти алгоритмы, которые мы разрабатывали, УЖЕ кому-то принадлежат. И чтобы с ними что-то делать, надо договариваться с правообладателями. Так обычно и поступают, когда совсем уж приспичит…
Я тут с ответом промахнулся, будтье добры ответить на мой коммент, он для вас.
А давайте разберемся :) Я не докапываюсь, мне правда интересно. Работа в РД по привлекательности, почти как работа искателя кладов в карибском море.

Любой алгоритм опирается на определенную базу знаний.
Пример:
1. Зная принцип неопределенности Гейзенберга, можно легко понять о расширении этого принципа для двумерных фильтров в пространственно-частотной области, добавляя к этому пространственную ориентацию. Читая дальше труды определенных известных личностей о функции Габора на основе гауссиана и синусоиды, приходим к пониманию двумерных квадратурных фильтров (опять же Re первая производная и Im вторая). А квадратура дает нам возможность не сочинять преобразование Гильберта для двумерного случая и уход от полосовых фильтров. А если вспомнить курс биологии, да прочитать про кортикальные клетки головного мозга у млекопитающих и про злые опыты над кошками. А если еще про сегментацию текстур почитать и патенты порыскать в нужных областях.Приходим к созданию определенного алгоритмического ядра для покорения вселенной.

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

Этап 1: база технического института + толика любопытства. гугл.ком и никакого мошенничества. Все открыто, доступно.
Этап 2: обычно узнается у товарищей, выпустившихся на год раньше, кропотливая работа. Решения приходящие по мере втыкания в тему все глубже, утренние озарения и оптимизационные задачи. Консультации с мало чего понимающими профессорами, но с воплями это же элементарно, Ватсон. Конечно добавляются задачи из смежно-прикладных областей о полимерах для микротонкой асферической оптики для аннигилятора материи. Ну, а кто сказал, что будет легко?.. Расчехляем учебник по физике и химии для начальных классов, да и гугл работает круглосуточно.

Вопрос: что мне нужно добавить, концептуально иного, для полноценного захвата вселенной, исходя из вашего опыта создания гравицапов? Больше вкалывать не предлагать. :)
Я, честно говоря, Вас не понял :) Возможно потому, что 2 часа ночи уже (почему же я не сплю?)
То, что Вы написали, напомнило мне структуру хай-тек сообщества, которое действительно состоит из ученых-первопроходцев, бизнесменов-первопроходцев, предпринимателей разного сорта, инвесторов, адвокатов и множества других групп людей, которые делают странные вещи. Но в итоге прогресс все-таки идет вперед.
Кто-то пытался их разделять на пионеров 1го, 2го, 3го и 4го поколения. Но я плохо помню эту систему. Запомнилось только, что мы все, практически, сидим в 3м типе.

Мне кажется, концептуально нужно а) думать о деньгах и б) думать о собственном развитии и месте на этой земле. Скорее всего, даже в обратном порядке.
Важна команда, репутация.
Не знаю, что еще сказать, подумаю :)
а) Деньги. Все логично. Перед тем как изобретать нужно подумать кому продавать, иначе получается хобби, а не РД.

б) Собственное развитие. Тоже логично, какое же это РД без постоянного промышленного шпионажа за фронт едж технологиями.

в) Команда. Логично. Один в поле воин только Чак Норрис.

г) Репутация. Логично. Дело наживное.

Все логично. Я о концептуальном подходе, который по вашим словам, помогает в рекордно сжатые сроки получить фантастические результаты.
Было бы неплохо добавить оцифровку собственного мозга с последующей возможностью его запуска и собственноручно-автоматического улучшения и оптимизации. Осталось дожить до этого — и Вселенная у нас в кармане! :D
А что за методички? Какие курсы, где?
Мне кажется что пара иллюстраций и примеров кода не помешали бы.
Вот честно, Ваши посты выглядят просто как неприкрытый пиар конторы. Причем, не приносящий сообществу фактически никакой пользы — из 4х статей (причем минимум 3 были на главной) я бы назвал полезной только «Удаление объектов на фотографии», даже несмотря на то, что это не ново. А в этой статье вы даже не потрудились ссылок с иллюстрациями добавить.

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

P.S. неплохо бы сделать русскую версию сайта. Вы же пытаетесь выйти на российский рынок?
Мне казалось, что блог кампании — это как раз место для PR конторы. Впрочем, не могу судить, мы на Хабре меньше недели как зарегистрировались.

А что здесь принято обсуждать? Новости? Вот мне кажется, что появление нашей компании — это хорошая новость. Просто потому, что я недавно выяснил, что из выпускников мех-мата МГУ, к примеру, вообще почти никто не занимается R&D. А ведь их этому именно и учили… А у нас связи с западными заказчиками, они хотят делать здесь проекты (репутация русского инженера на Западе высока!)

Технологии обсуждать? Так ведь хорошая книга или Интернет все равно даст больше информации.

Мы хотели бы найти гнезда хороших российских программистов. Места, где они общаются. Было предположение, что Хабр — одно из таких мест.

Русский сайт мы сделаем скоро, я думаю. Но на российский рынок, если честно, мы выходить не торопимся по ряду причин. А вот инженеры нам нужны, так что и сайт не помешает.
имхо люди на хабр приходят прочитать о чем то полезном для себя ну или очень интересном. первый раз прочитал новость о вашей компании — заинтересовало даже на сайтик зашел. второй раз — уже привычне. а вот скажите, что я как программист могу под-черпнуть из этой статьи? ну да вы делаете своё дело, мне то от этого какая выгода? я не миллионер, даже при всем желании не смогу купить ни единого
Вы знаете, мозг человека довольно странная весчь. Туда попадает все подряд, и бесценные знания и, как нам кажется, информационный мусор.
И вдург РАЗ!, загорается лампочка! Какая-то часть этих знаний, как полезных, так и на первый взгляд бесполезных, формируются четкую идею… и вот она…
Понимаете в чем ваша выгода?

А искать выгоду напрямую в чужих словах, не дальновидно. Это все равно, что надеятсья, что человек сейчас начнет раздавать деньги налево и направо.
мне понятно о чем тут речь. но это сухо я это и так могу посмотреть в книжке. ни одного примера не то что кода, но даже рисунка какого-нибудь. ведь согласитесь, было бы на много приятнее и интереснее читать когда есть примеры?
>Мы хотели бы найти гнезда хороших российских программистов. Места, где они общаются. Было предположение, что Хабр — одно из таких мест.

Гнездо российских программистов — это RSDN. А Хабр — это гнездо ойтишнегов.

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

>Так ведь хорошая книга или Интернет все равно даст больше информации.

С течением времени вероятность существования необходимой информации в сети увеличивается, а вероятность её нахождения уменьшается. Потому что забивается шумом, студенческими рефератами, статьями на Хабре, etc. Так что помощь в нахождении качественной и точной информации всегда приветствуется.
Добавлю:
1) к мнениям критиков хоть и надо прислушиваться, но не стоит забывать, что дискуссии с некоторыми критиками больше напоминают споры типа: «кто круче: строители, знающие толк в выкладывании ровнейших и надежнейших кирпичных стен, или инженеры, проектирующие многоэтажные кирпичные дома так, что бы они не завалились от порыва ветра?»
2) RSDN, хоть и гнездо русскоговорящих (а не только русских) программистов, но Хабр более динамичен, поскольку является новостным и обзорным ресурсом, а значит вероятность того, что нечто заметят много народу, если его опубликовать на Хабре — выше, чем, если это нечто появится на RSDN.

ЗЫ: О, Qbit! Знакомые все лица! :)
Если вся Ваша деятельность секретная, все под NDA, а разработанные алгоритмы принадлежат заказчикам и патентуются ими, то получается, что ничего содержательного о Вашей компании Вы рассказать в принципе не можете.
Замкнутый круг. :(
Мне импонирует Ваша идея о важности принципиального технологического превосходства над конкурентами, которое в первую очередь основывается на алгоритмах. Я разделяю идею о том, что в современном законкурированном мире быть «умными» и использовать нестандартные алгоритмы — это значит иметь огромное преимущество.
Конечно, это не залог успеха (и даже нельзя сказать, что это необходимое условие успеха) – но всегда сильная алгоритмика это серьезная заявка на победу.
Однако PR Вашей компании через обсуждение чужих алгоритмов – он какой-то совсем неправильный.
Если Вы хотите нанять разработчиков — почему бы просто не опубликовать вакансию в форме рассказа о Вашей компании? В котором бы говорилось, в какие области Вы хотите расширяться, какого рода специалисты Вам нужны и что (примерно) они получат, какие выгоды. Причем раз уж компания состоявшаяся, у нее есть работники – то IMHO было бы правильным озвучить и “вилку” зарплаты. Разве не сработает?
Если же Вы хотите саму компанию рекламировать — то хотя бы не разглашая Ваши засекреченные алгоритмы расскажите о конкретных задачах которые были — в чем конкретно (!) там были сложности, и в общих словах не опускаясь до конкретного алгоритма как Вы их решили, что это дало.
Если не страшно, что Вам сделают отрицательную карму — так же можете поднять атомный флейм о ценности идей или даже для новизны — о ценности алгоритмов.
А когда никакой конкретики о компании, о ее работах, никакой конкретики о вакансиях, зато в “корпоративном” блоге много статей о чужих алгоритмах – это как-то странно.
Мне понравилась только первая Ваша заметка о стартапах — она оригинальная, с не избитыми мыслями (и без странного изложения чужих алгоритмов в своем корпоративном блоге).
чтобы картинка с «современного цифрового фотоаппарата» не была заполнена шумом, нужно просто пользоваться нормальным фотоаппаратом, а не мыльницей за 3 рубля с пластмассовой оптикой и микроскопическим сенсором.
По-моему, цель статьи — дешевый пиар, а не улучшение жизни фотографов :)
Разумеется, те, кто хочет получать качественные фотографии, предпочтут хороший фотоаппарат, а не хороший алгоритм преобразования изображений :)
Вы забываете про камеры в мобильных телефонах.
Речь идёт о *качественных* фотографиях. С телефона их не получишь — и никакие алгоритмы не помогут.
ага, я вообще не понял где «ужасное качество» в любом современном фотике уже от 6к руб?
если только с мобилы снимать ))
НЛО прилетело и опубликовало эту надпись здесь
Nikon D40 — 2006 год, жалкие на сегодняшний день 6 мегапикселей. Проблем с шумом нет.


Ценности в статье — 0.
Те, кого волнует эта проблема обзавелись нормальными фотоаппаратами. Тем же, кто не обзавелся по барабану шумы и прочая хрень — они видят из косяков лишь «красные глаза».

Для программистов ценности тем более — 0.
«Есть такие методы! Замечательные методы!» Картинки — результаты работы? Ссылки на коды и тексты? Хабровчане в комментах пишут больше, чем вы в посте!
Если вы также стараетесь над проектами, как над постами, то я к вам никогда не обращусь.
Следующая статья Gil Algorithms будет о том, как они алгоритмами справляются с красными глазами :)
НЛО прилетело и опубликовало эту надпись здесь
Было бы действительно наивно думать, что там нет шумоподавителей. И что там нет шума. Только речь в статье о фотографиях, уже полученных с фотоаппарата — «картинку, которая получается в современных цифровых фотоаппаратах без обработки,… выглядит она просто ужасно». Мне стало интересно, если в 2006 г. недорогая зеркалка выдавала хорошие фотографии, то в каком году писалась эта статья?
Кстати, если бы в статье было про шумоподавители, которые ставят производители на матрицы, было бы интереснее.
да он там есть, но он настолько мало выражен, что его действие практически незаметно (не считая хардкорных усовий, но это к реальности мало имеет отношения)
Согласен, что слова «картинку, которая получается в современных цифровых фотоаппаратах без обработки,… выглядит она просто ужасно» были уместны года 4 назад. Сейчас с шумами неплохо справляются даже мыльницы, ведь не только программные методы борьбы с шумом улучшаются, но и модернизируются сами матрицы.
А так, ощущение, что автор в глаза не видел фотографии, которые получаются на выходе современных зеркальных фотокамер (даже низкого диапазона).
Вы ошибаетесь очень сильно, но у меня нет желания Вам что-то доказывать.

Автор разрабатывал своими ручками цепочку алгоритмов, которые используются сегодя в фотоаппаратах такой малоизвестной фирмы как Samsung. Кроме того, автор делал reverse engineering и публиковал разбор алгоритмов, использующихся в Nikon и некоторых других фотоаппаратах.

Но до уровня некоторых читателей Хабрахабра автору еще очень далеко. Могу себе представить, ведь даже английский язык они знают лучше, чем профессиональный лит-редактор и коренной американец.
habrahabr.ru/company/gilalgorithms/blog/67454/#comment_1912030
Ваши посты продолжают возвеличивать конкретно вас и вашу компанию вместе с вами, но доказательств как не было, так и нет. Но вы продолжаете и продолжаете упорно говорить о том, что вы очень круты. когда вам предлагают в комментариях способы показать на что вы способны или придумать что-то интересное для хабраюзеров, вы благодарите и пишете «отличная идея!», а в итоге получается очередной непонятно какой топик с описанием (причем, довольно скудным) чужих (т.е. не ваших) алгоритмов.
На какую аудиторию вы рассчитывали, когда писали данную статью?
"… вычислить M1=median(C, Cnorth, Csouth); M2=median(C, Ceast, Cwest); M3=median(C, Cne, Csw); M4=median(C, Cnw, Csw); здесь Cnort, Cne,...Cnw..." — ШТОЭТА?!?! Возможно, в силу своей молодости я не особо разобрался о чем вообще идет речь, но имхо следует писать информативнее — не все же здесь такие крутые, как ребята из GIL. Да и оформления нет никакого. Читая данный топик у меня сложилось впечатление, что вы куда-то торопились. Выкладывать статью в таком виде это значит высказывать свое неуважение к аудитории сайта, я так считаю.

p.s. Когда я читаю комменты ваши и ваших сотрудников меня посещает мысль, что толпа тонких и не очень троллей хочет что-то устроить на моем уютном хабре.
не позорьтесь
когда человек в силу молодости или по другим причинам чего-то не может понять или разобраться, он или ТИХО-ТИХО ищет источники и учит матчасть или ВЕЖЛИВО-ВЕЖЛИВО спрашивает у профессионалов, о чем идет речь
давайте я начну постить топики на фарси? кто захочет вникнуть, тихо начнет себе изучать персидский, чего уж там.
посты на хабре несут познавательный характер, с целью ознакомить аудиторию с чем-то новым. а галопом по европам, формулами и изречениями вида «здесь применим какое-нибудь преобразование» можно заинтересовать только людей компетентных в данном вопросе. да и то, сомневаюсь, что их это заинтересует — насколько я понимаю, описанные топиком технологии достаточно тривиальны и профессионалы о них давно знают.
ваша компания перепутала назначение хабра — это место не только для поиска суперменов для вашей невероятно крутой конторы, здесь еще люди делятся знаниями и опытом
Простите, но стоит ли читать статью о математических алгоритмах не зная, что такое медиана и компле́ксные числа? :-)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
2007
Местоположение
Россия
Сайт
www.gil-algorithms.com
Численность
Неизвестно
Дата регистрации

Блог на Хабре