MSV>Японские кроссворды рисоваться не хотят. Тоесть лучше бы не рисовались. Пока придумал брать фотографию и каждые 10х10 клеток переводить в 1 клетку кроссворда. Взял средний цвет фотографии. Если средний цвет 10х10 клеток меньше среднего всей фотографии, то клетка черная иначе белая.
MSV>Черные квадратики скапливаются в одном месте и возникает большой вопрос, можно ли решить такой кроссворд.
MSV>Нужен специальный алгоритм или фотографии с нормальным распределением цветов.
MSV>Будем думать....
Почти так, да не так...
Результирующая матрица строится действительно "бегущим" сканированием исходной, но функтор там непростой нужен — мне видится двухслойная нейросеть:
адаптивный оконтуриватель с адаптивной же резкостью и "замыкателем" разрывов линий;
после него — или что-то типа пуантилизма, или шаговое изменение тона внутри замкнутых вложенных непересекающихся контуров,
как на цветных топографических картах (вспомни физ.географию).
Попробуй нейросети 17х17 и 33х33 (а потом 97х97, если гигагерц и мегабайт хватит) слегка обучить на рандом-серии решеток разного шага/фазы/поворота,
потом на такой же серии, но решетки замусоривай жестикм шумом.
Ещё вариант повтыкать в классику — заглянуть в исходники соотв. фильтров GIMP'а, вроде бы там было что-то такое.
Задача — убрать из фотки "dithering", исходный полутоновый рисунок заменить линиями, лежащими вдоль границ освещенности/угла отражения
(представь, как ты рисовал бы портрет человека карандашной линией, без теней и тоновой штриховки).
Если не понял, о чем я — переспроси, попробую ссылки на классику подыскать (м.б. лучше в личке, а то тут не совсем место — критиков набежит...)
Re[5]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, gavrik254, Вы писали:
G>Здравствуйте, MikelSV, Вы писали: G>
MSV>>Японские кроссворды рисоваться не хотят. Тоесть лучше бы не рисовались. Пока придумал брать фотографию и каждые 10х10 клеток переводить в 1 клетку кроссворда. Взял средний цвет фотографии. Если средний цвет 10х10 клеток меньше среднего всей фотографии, то клетка черная иначе белая.
MSV>>Черные квадратики скапливаются в одном месте и возникает большой вопрос, можно ли решить такой кроссворд.
MSV>>Нужен специальный алгоритм или фотографии с нормальным распределением цветов.
MSV>>Будем думать....
G>Почти так, да не так... G>Результирующая матрица строится действительно "бегущим" сканированием исходной, но функтор там непростой нужен — мне видится двухслойная нейросеть: G>адаптивный оконтуриватель с адаптивной же резкостью и "замыкателем" разрывов линий; G>после него — или что-то типа пуантилизма, или шаговое изменение тона внутри замкнутых вложенных непересекающихся контуров, G>как на цветных топографических картах (вспомни физ.географию).
G>Попробуй нейросети 17х17 и 33х33 (а потом 97х97, если гигагерц и мегабайт хватит) слегка обучить на рандом-серии решеток разного шага/фазы/поворота, G>потом на такой же серии, но решетки замусоривай жестикм шумом. G>Ещё вариант повтыкать в классику — заглянуть в исходники соотв. фильтров GIMP'а, вроде бы там было что-то такое. G>Задача — убрать из фотки "dithering", исходный полутоновый рисунок заменить линиями, лежащими вдоль границ освещенности/угла отражения G>(представь, как ты рисовал бы портрет человека карандашной линией, без теней и тоновой штриховки). G>Если не понял, о чем я — переспроси, попробую ссылки на классику подыскать (м.б. лучше в личке, а то тут не совсем место — критиков набежит...)
Нейросетями не занимался, поэтому плохо понимаю, о чем ты. Сейчас сильно занят. (хочется счетчик привести в нормальное состояние и начать регистрацию.)
Потихоньку почитаю про нейронные сети.
Нет примерчика после убирания этого "dithering"?
Ага, нашел какие-то обсуждения. завтра буду читать.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[6]: Тем, кто хочет создавать и работать, но не умеет ни т
MSV>Нейросетями не занимался, поэтому плохо понимаю, о чем ты. Сейчас сильно занят. (хочется счетчик привести в нормальное состояние и начать регистрацию.)
MSV>Потихоньку почитаю про нейронные сети.
MSV>Нет примерчика после убирания этого "dithering"?
MSV>Ага, нашел какие-то обсуждения. завтра буду читать.
Я имел ввиду (интуитивно), что для реализации необходимой функии должно хватить двухслойной нейросети (примерно на 150-200 нейронов в первом слое, лишние сами выродятся) и окна просмотра 33х33 пиксела (исходного растра). С меньшим окном будет труднее обеспечить неразрывные линии после оконтуривания, а без неразрывных линий трудно делать заливки. Сама заливка (второй двухслойной НС) тривиальна, но параметризовать все равно прийдется, хотя бы из того соображения, что мощность растра результата (кроссворда) на порядки меньше исходной картинки (типично 50х30 из 640х480)
Сама идея и алгоритмы работы нейросетей элегантно просты и незатейливы (до тупизны ); мОзги ломаются о другое — алгоритмы быстрого и качественного обучения этих самых нейросетей. Острие отраслевой научной мысли как раз туда направлено.
В нашем случае обучение состояло бы в итеративной процедуре оценки человеком-экспертом похожести результата пробной обработки на ожидаемый, с последующей коррекцией весовых коэффициентов сети (про это почитаешь в книжках). Долго, нудно, но по другому не получится — мы же ждем, что сеть будет выдавать результат, приемлемый для людей, значит, людям и обуучать её прийдется...
Схема обучения м.б. такой: челу-эксперту показывается исходняк и штук десять-пятнадцать вариантов обработки, он выбирает несколько лучших ИТХО. Потом следующая итерация. Поскольку весовых коэффициентов в сети очень много, то прийдется что-то типа МонтеКарло применить для прореживания.
Если начать с "чистых" решеток ("гридов", "паутинок" и пр.) и просто картинок, состоящих из линий, кривых, эллипсов и т.п. фигур. то сеть быстро научится воспроизводить линии. Тут главное — не переучить (это не шутка, есть такая проблема в теории и практике НС). Потом на замусоренных меандровым (и другими) шумом тех же картинках сеть обучится выделять линии в шуме, заодно латать разрывы и регулировать толщину. А уж затем можно погонять её на реальных картинках (начни с иллюстраций к детским книжкам, потом посложнее).
Конкретно по обработке изображений с помощью НС, качественной легкодоступной инфы не очень много — хорошо оплачиваемая/продаваемая отрасль (фотошопы, видеомонтаж, и, самое главное — системы военного применения, типа ТВ-головок самонаведения ракет), да и патентами плотно перекрыто...
Надеюсь, я никого не утомил своей любительской писаниной
Дерзайте!
Re[5]: Тем, кто хочет создавать и работать, но не умеет ни т
G>Задача — убрать из фотки "dithering", исходный полутоновый рисунок заменить линиями, лежащими вдоль границ освещенности/угла отражения G>(представь, как ты рисовал бы портрет человека карандашной линией, без теней и тоновой штриховки).
Это вроде как выделение контура называется и решается гораздо проще, чем через нейросеть.
Re[7]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, gavrik254, Вы писали:
G>Конкретно по обработке изображений с помощью НС, качественной легкодоступной инфы не очень много — хорошо оплачиваемая/продаваемая отрасль (фотошопы, видеомонтаж, и, самое главное — системы военного применения, типа ТВ-головок самонаведения ракет), да и патентами плотно перекрыто...
хм, эту тему даже студентам читают...
"методы и средства обработки сигналов", "цифровая обработка изображений" и пр.
монографий и пр. тоже достаточно, в электронном каталоге РГБ можно посмотреть
Re[6]: Тем, кто хочет создавать и работать, но не умеет ни т
N>Здравствуйте, gavrik254, Вы писали:
G>>Задача — убрать из фотки "dithering", исходный полутоновый рисунок заменить линиями, лежащими вдоль границ освещенности/угла отражения
G>>(представь, как ты рисовал бы портрет человека карандашной линией, без теней и тоновой штриховки).
N>Это вроде как выделение контура называется и решается гораздо проще, чем через нейросеть.
Тупая трассировка/оконтуривание не поможет.
Задачка то непростая — радикально понизить мощность растра, плюс бинаризация или "дуотон", и чтобы картинка узнаваемая получилась.
Иной "японский кроссворд" из дамских газет так укурен — не сразу то и поймешь, что там изображено
К тому же он должен и иметь решение, и быть не слишком простым.
И работать эта бодяга должна на веб-сервере "по запросу", т.е. быть не очень накладной по ресурсам процыка, хотя бы хорошо масштабимруемой (читай: эффективно влазить со всеми своими данными в достаточно скромные кеши ксеонов/оптеронов).
Re[8]: Тем, кто хочет создавать и работать, но не умеет ни т
N>Здравствуйте, gavrik254, Вы писали:
G>>Конкретно по обработке изображений с помощью НС, качественной легкодоступной инфы не очень много — хорошо оплачиваемая/продаваемая отрасль (фотошопы, видеомонтаж, и, самое главное — системы военного применения, типа ТВ-головок самонаведения ракет), да и патентами плотно перекрыто...
N>хм, эту тему даже студентам читают...
N>"методы и средства обработки сигналов", "цифровая обработка изображений" и пр.
N>монографий и пр. тоже достаточно, в электронном каталоге РГБ можно посмотреть
Никогда не встречал лекций, в которых студентам давали бы готовые обученные сети (структу плюс вектора весовых коэффициентов).
А общие разговоры — это пожалуйста. Только проку для реального девелопера цифрофильтра на НС не очень много — 90% работы состоит как раз в подготовке "базиса" НС (общее направление), и ещё 9.9% к последующей "заточке" под конкретную задачку, для конкретных условий: размеров растра, глубины цвета, освещенности, блюра и т.п. К тому же в реальных системах "боевого применения" (я так понял, Вас насторожило упоминание именно этого аспекта ), сеть (решатель) отдает команды и на PTZ/iris/shuttle/filters оптики, и на автопилот, и в канал обратной связи со станцией сопровождеиня, и в систему подрыва...
Вот о этих "базисных полу-обученных НС" я и упоминал, как о "качественной инфе", которой практически нет в широком доступе...
Примерно так же обстоит дело и в металлургии, и в электрохимии, в лакокрасках, ПАВ — старые патенты и общие рассуждения — сколько угодно, а точные рецептуры и технологические параметры конкретных (особенно успешных) решений — фиг найдешь без применения промшпионажа.
За реверс-инжиниринг, кстати, статья имеется, и прайс-лист в годах к ней прилагается
Re[5]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, MikelSV, Вы писали:
MSV>Похоже ты не встречал эту проблему. Наверное не пытался создать сервер дома.
А в чем конкретно проблема? Стоит системник — на нем SuSe крутится (была WinXP). На нем Apach и все сотальное. Два ноута по WiFi без всяких проблем. Ноут через GPRS роутит все в тырнет. Меня прекрасно видно из-за NAT (если, кончено, адрес свой скажу). Причем роутится все прекрасно как по домашней сетке, так и в/из тырнета.
MSV>Меня интересуют web технологии. Предпочитаю Apache + PHP + MySQL.
Если интересуют веб-технологии смотри в сторону java, python на крайний случай, если интересует процесс. Ушёл год назад с php на java, и узнал очень много нового в технологиях и фреймворках, чем за 3 года php... А вообще, пиши на foror@mail.ru, может что и получится, только я уже года два как не студент, и сервера могу сам арендовать, если что
Re[2]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, Foror, Вы писали:
MSV>>Меня интересуют web технологии. Предпочитаю Apache + PHP + MySQL.
F>Если интересуют веб-технологии смотри в сторону java, python на крайний случай, если интересует процесс. Ушёл год назад с php на java, и узнал очень много нового в технологиях и фреймворках, чем за 3 года php... А вообще, пиши на foror@mail.ru, может что и получится, только я уже года два как не студент, и сервера могу сам арендовать, если что
java как-то не уважаю. Люблю "чистые" технологии. В общем я на С++ подвис.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[3]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, Foror, Вы писали:
MSV>>java как-то не уважаю. Люблю "чистые" технологии. В общем я на С++ подвис.
F>Чем мы можем быть полезны друг-другу? На С++ делаешь веб-проекты или что-то другое?
Да, web проект на С++
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[5]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, Foror, Вы писали:
MSV>>Да, web проект на С++
F>Если не секрет, что за проект? Я сейчас доделываю фриланс-портал, и нужна помощь по разработке вспомогательных проектов, вокруг этого портала.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[7]: Тем, кто хочет создавать и работать, но не умеет ни т
Я что-то упустил, или весь проект состоит из гостевой книги, и страницы где выводится статистика по конкретному проекту? Чем этот проект будет лучше Google Analytics, и морем других подобных проектов, есть какая-то цель?
P.S. Порт 9082 лучше поправить на 80 у клиентов, т.к. файрволы будут резать 9082
Re[8]: Тем, кто хочет создавать и работать, но не умеет ни т
Здравствуйте, Foror, Вы писали:
MSV>>http://count.centerix.ru:82/ Там правде вчера прошлись хакеры. Немножко похулиганили, помогли исправить ошибки.
F>Я что-то упустил, или весь проект состоит из гостевой книги, и страницы где выводится статистика по конкретному проекту? Чем этот проект будет лучше Google Analytics, и морем других подобных проектов, есть какая-то цель?
Надеюсь, что чем-то будет лучше. Цель: изучение технологий. И по тому, что иногда хочется, чтобы такая игрушка была и у тебя.
F>P.S. Порт 9082 лучше поправить на 80 у клиентов, т.к. файрволы будут резать 9082
На 80 порту apache висит. Я как-то еще не определился с взаимодействием сервера и apache.
Думаю нужно наконец определиться и посадить апач через прокси. Прокси будет определять куда посылать запросы. Хорошо, что мои php'шные скрипты понимают HTTP_X_FORWARDED_FOR и их не придется переписывать.
Только хорошо ли это? Двойная обработка HTTP шапок?
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[9]: Тем, кто хочет создавать и работать, но не умеет ни т
MSV>Надеюсь, что чем-то будет лучше. Цель: изучение технологий. И по тому, что иногда хочется, чтобы такая игрушка была и у тебя.
Понятно. Если есть еще какой-нибудь разрабатывающийся проект, пусть не превосходящий конкурентов, то хотя бы на уровне, то имеет смысл сотрудничать. В данный момент времени меня больше интересует результат, чем процесс. Процесс люблю, но в текущий промежуток времени я решаю свои материальные проблемы, так что только результат, в ущерб процессу.
Классно! Если найдёте людей, отпишитесь пожалуйста — всегда было интересно на сколько реальны такого рода "убеждения".
Кстати, вы молодец, что сразу описываете все нюансы: так мол и так, денег нет, программер я не феноменальный, уникальных идей тоже не фонтан, но "в сарайчике стоит старенький сервачок, если что можем погонять", т.е. вобщем нету совсем ничего (т.е. даже теоретически), но люди нужны.
Думаю, при таком раскладе, найти работников (что еще осложняет, вы не партнёров, а именно работников ищете, да еще и таких с которыми не скучно) нереально в принципе.
Если все-таки "убедите" (так и хотелось написать "разведёте", но у вас же все по-честному) кого-нить, напишите на сколько я ошибался.
Re[6]: Тем, кто хочет создавать и работать, но не умеет ни т
MSS>>1) Цена времени как ресурса зависит от того, чье это время. MSS>>2) Связи — не менее важный ресурс, чем время. MSS>>3) Готовые наработки — тоже ресурс, и они не совсем равняются времени, на них потраченному — у них еще и "брэндовость" есть в каком-то виде. MSS>>Но железяки по нашим временам идут в последнюю очередь, это да. G>[/q] G>Время жизни — единственный по настоящему НЕВОСПОЛНИМЫЙ ресурс.
У нас разное понимание слова "ресурс". Вы имеете в виду — "то, что ограничено". Я имею в виду — "то обладаемое человеком, которое может быть разменяно на получение бонусов в жизни".
Занимайтесь LoveCraftом, а не WarCraftом!
Re[7]: Тем, кто хочет создавать и работать, но не умеет ни т
MSS>>>1) Цена времени как ресурса зависит от того, чье это время.
MSS>>>2) Связи — не менее важный ресурс, чем время.
MSS>>>3) Готовые наработки — тоже ресурс, и они не совсем равняются времени, на них потраченному — у них еще и "брэндовость" есть в каком-то виде.
MSS>>>Но железяки по нашим временам идут в последнюю очередь, это да.
G>>Время жизни — единственный по настоящему НЕВОСПОЛНИМЫЙ ресурс.
MSS>У нас разное понимание слова "ресурс". Вы имеете в виду — "то, что ограничено". Я имею в виду — "то обладаемое человеком, которое может быть разменяно на получение бонусов в жизни".
Ресурс в метафизичеком/онтологическим смысле — это нечто, выступающее звеном в цепочках трансформации реальности (результатом/продуктом для до-цепочки, фундаментом/сырьем/обстоятельствами для после-цепочки), и имеющее меру/качества потенциальной энергии