Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Кусочно линейная интерполяция с ограничениями / 25 сообщений из 65, страница 1 из 3
04.08.2021, 15:00
    #40088638
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Привет.

Форк от другого топика Определить основной цвет фона.


Даны 3 серии чисел. По сути это цвета (RGB) одномерной картинки. Необходимо найти точки кусочно-линейной интерполяции
при условии что самих точек будет не много. Например не более 10 штук. Критерий - ... ну минимизация среднего кв.
отклонения.

Если точек будет 2 - то вообще отлично. На скетче я нарисовал оранжевым маркером то как я себе это вижу.

Спасибо.
...
Рейтинг: 0 / 0
04.08.2021, 19:23
    #40088726
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Буду искать решение отдельно для каждого цветогово канала. Интерфейс может быть вида
Код: sql
1.
2.
3.
4.
5.
6.
7.
interface GradientOpmimizer {

    void init();

    Point[] optimize(double[] values, int maxPoints, double maxStandardDeviation);

}



здесь values - это входные значения уровней каналов RGB в порядке слева направо. Для простоты - нормированы в диапазон 0..1
maxPoints = 10 в данном кейсе
maxStandardDeviation - будем просто подбирать эмпирически. При слишком малом среднем отклонении
задача не будет иметь решений. При слишком большом - любой начальный расклад годится. Будем
просто искать серединку.

возвращаемое значение - массив вещественных точек Point(double,double) в порядке слева направо.
...
Рейтинг: 0 / 0
05.08.2021, 11:52
    #40088826
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Пока смотрю в генетику. Если хромосома - это кусочно-линейная интерполяция (polyline) то
функция фитнеса - это standard deviation между графикой и полилинией.

Курю библиотеки jgap и jenetic но пока непонятно как сделать сложную хромосому. Они предлагают
то целочисленные то битовы то вещественные. Мне нужны координатные.
...
Рейтинг: 0 / 0
05.08.2021, 15:24
    #40088928
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Читал-читал, ничего не понял.
...
Рейтинг: 0 / 0
05.08.2021, 15:29
    #40088929
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Расчитай координаты оранжевой ломаной линии на рисунке.
...
Рейтинг: 0 / 0
05.08.2021, 17:06
    #40088968
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
mayton
Расчитай координаты оранжевой ломаной линии на рисунке.
Статистику я учил уже ооооочень давно и почти все позабыл. Тут лучше будет искать нынешних студентов и/или профессоров....

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

Берем десяток точек, строим на их основе "полосу доверия" (прямую с заранее заданным разрешенным отклонением) - пока отклонение от прямой не превышает некую величину продолжаем набирать новые точки. Если появилась подряд несколько новых точек ниже нижней границы полосы доверия, то перестаем считать их погрешностями и начинаем строить новую полосу доверия. Отходим чуть назад по точкам до последней точки с которой начался спад и считаем ее началом новой полосы доверия - строим новую полосу на основе нового десятка точек. И наоборот - новые точки выше полосы - отходим назад до центра полосы.
...
Рейтинг: 0 / 0
05.08.2021, 17:13
    #40088969
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Как в англоязычной литературе звучит эта "полоса доверия" ?
...
Рейтинг: 0 / 0
05.08.2021, 17:52
    #40088982
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
mayton
Как в англоязычной литературе звучит эта "полоса доверия" ?
Confidence level. Кажется... Давно учебник не читал.
Кажется по русски это будет "доверительный интервал"...

Суть в том что у тебя есть формула описывающая процесс в общем: y=f(x) . И ты знаешь что для всех y на участке а<x<b отличие рассчитанного y от фактического отличается не больше чем некоторая константа c . Соответственно "полоса доверия" это: f(x)-c < y < f(x)+c , где a<x<b .

Можно как вариант, сделать итеративный процесс - задаешь границы для x размером во всю выборку и считаешь для всех точек прямую ( y=kx ) а смещение по вертикали делаешь из расчета чтобы все точки попали в полосу доверия, потом сужаешь полосу (cокращаешь c ). Как появилась точка вне полосы - считаешь ее "поворотной", разбиваешь интервал определения x на две секции (по поворотной точке) и высчитываешь k отдельно для каждого участка и новые полосы по ширине считаешь по факту.
И повторяешь так до тех пор пока у тебя не получится набор полос с шириной не превышающей некое удобное для тебя значение и длиной не меньше чем сколько-то x .


хм... а ведь у нас архиватор с потерями получается.
...
Рейтинг: 0 / 0
05.08.2021, 18:22
    #40088988
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Да. Это когнитивный архиватор. А термин доверительный интервал я помню. Что-то из статистики.

Спасибо. Это будет запасной вариант. Вариант Б если генетика не взлетит.
...
Рейтинг: 0 / 0
05.08.2021, 22:38
    #40089028
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Нарочно не вдаюсь в топик детально.
Что нарисовано для одномерной кривой может относиться
- к параметрической регрессии
- к линейным сплайнам
В любом случае имеются условяе стыковки отрезков.
Да, из задач оптимизации систем уравнений с многими переменными.
Сдругой стороны, при нек=х предположениях можно находить локальные вершины и низины методом слива уровня океана. Предварительно установив предельное кол-во островов и их диаметр. Это можно сразу на 2Д-поверхности.

Непонятно же главное: как это потом использовать. То есь для чего оно всё? От этого и надо танцевать.
Сбегал по ссылке в родительскую тему. Там неясно о чём: то ли о миниатюрах, то ли о компактном хранении ...
Надо уточнить.

Была фраза "узнаваемость". Есть сомнения, что линейный градиент сохранит узнаваемость. Особенно, если кривизна графика сильная. Глаз может путаться соценкой распределения оотенков перспективы. В жизни на сфере, здесь линейно - это меняет пропорции между регионами оттенков.

Была фраза "векторизация". Поэтому рискнул привести картинку с 10-уровневым оконтуриванием. Для простоты оконтуривал интенсивности.
...
Рейтинг: 0 / 0
05.08.2021, 22:40
    #40089029
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Дополню для одномерных графиков. Можно сначала несмещённо сгладить график, чтобы облегчить поиски мин/максов.
В 2Д можно ожидать, что число точек контуров много меньше площади рисунка. В 10-50 раз. Зависит от доли высоких частот в спектре фурье. На рисунке облачность разбивается на много мелких региончиков.
...
Рейтинг: 0 / 0
06.08.2021, 10:41
    #40089086
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Это investigation. Что получится в конце - пока не знаю. Возможно получится дизайнерский способ
хранить миниатюры. Как в конструктивизме. Вот заходите в картинную галлерею а там, конструктивисты
рисуют кубики и шарики. А в очертаниях вы угадываете людей.
...
Рейтинг: 0 / 0
06.08.2021, 11:05
    #40089096
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
exp98

Была фраза "узнаваемость". Есть сомнения, что линейный градиент сохранит узнаваемость. Особенно, если кривизна графика сильная. Глаз может путаться соценкой распределения оотенков перспективы. В жизни на сфере, здесь линейно - это меняет пропорции между регионами оттенков.


Линейный градиент - это 1-я итерация. На ней я планирую детектировать типичный фон для большинства
фотографий. Если фото будет снято с "заваленым" горизонтом - то мой метод потребует доработки. Нужен
будет виртуальный томограф чтобы понять куда смотрят основные линии.

2-я итерация - это детектирование "цветовых пятен" низкой частоты. Я долго думал как должны быть заданы
пятна - круговой градиент или просто круг. И пришел к выводу что круга вполне достаточно. Посмотрел
демо где портрет всем известной Лизаветы Джоконды апроксимируется набором цветовых пятен. Мне метод

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
06.08.2021, 11:29
    #40089105
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
exp98

Была фраза "векторизация". Поэтому рискнул привести картинку с 10-уровневым оконтуриванием. Для простоты оконтуривал интенсивности.

Векторизация (трассировка) в чистом виде мне не нужна. (В) сегодня - это алгоритмически решенный вопрос
и для нее всегда можно найти и купить софт который сделает все что нужно в лучшем виде. Поэтому
спортивного интереса нет.
...
Рейтинг: 0 / 0
06.08.2021, 11:31
    #40089107
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
exp98

- к линейным сплайнам

Сплайны мне не подходят потому как градиент в SVG/JavaScript(Canvas API) не умеет задаваться в сплайнах.
...
Рейтинг: 0 / 0
06.08.2021, 12:27
    #40089140
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
mayton
exp98

- к линейным сплайнам

Сплайны мне не подходят потому как градиент в SVG/JavaScript(Canvas API) не умеет задаваться в сплайнах.
А при этом топик спрашивает про кусочно-линейную ф-цию (ломанную), что и есть линейный сплайн. Если судить по картинке.

С желанием иметь основные фоны и цветовые пятна понятно, и это всего дело техники и времени.
С горизонтом не понятно всё, начиная с примера по ссылке.
В моём примере что горизонт? На картине "Мишки в лесу" что горизонт? Портрет/натюрморт в квартире? Снимок отражения в воде?
...
Рейтинг: 0 / 0
06.08.2021, 12:32
    #40089142
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Пока видятся 2 желания.
Выделять синтаксис, т.е. распределение регионов и оттенков. С этим проблем не видится.
Выделять семантику изображения. Напр., некий горизонт ??? Непонятна формулировка и как использовать.
...
Рейтинг: 0 / 0
06.08.2021, 12:41
    #40089146
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Отражение в воде. Это не кроп. Это полный кадр. Снял для загадки.
...
Рейтинг: 0 / 0
06.08.2021, 12:46
    #40089148
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
Не успел дописать самый первый свой вопрос.
Как понимать это: авторЕсли точек будет 2 - то вообще отлично. Отлично - ровно один отрезок? Ваще не проблема..
...
Рейтинг: 0 / 0
06.08.2021, 13:01
    #40089153
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
exp98,

Это похоже на набережную Севастополя
...
Рейтинг: 0 / 0
06.08.2021, 13:02
    #40089154
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
)) Она и есть.
...
Рейтинг: 0 / 0
06.08.2021, 13:12
    #40089155
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
И всё же вопреки линейности, объявленной в теме. Почему косинус-преобр-ние не подходит (Фур.)? Там обычная схема.
Сначала сгладить палки спектра в боле-мене гладкую линию, потом выделять диапазоны или даже многокомпонентные кластеры частот. Именно низкие частоты дадут крупные пятна, правда те необязательно будут клмпактными.
Границы перепадов лежат в области в/ч. Туда попадёт чёткая линия горизонта, правда в обратную сторону неверно, но если объект крупный, то он не исчезнет при зуме.
Ну и т.д.....
...
Рейтинг: 0 / 0
06.08.2021, 13:17
    #40089159
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
По поводу кота. Если не брать особые художественные приёмы - то 99% информации о снимаемом объекте расположено
в центральной части картинки. Остальное по краям - это горизонт. Фон. Или посторонние объекты которые попадают
в кадр случайно (как в документальной съемке). Поэтому брать в распознавание надо центр. Остальное - можно
гнать через ФНЧ и этот 1% информации не окажет влияния на качество распознавания. Размер и пропорции
этой центральной части не важны. Когда я думал о горизонте - то я фактически предполагал полностью убрать
высокие частоты и оставить один цвет. Но можно и вертикальный градиент как наиболее популярный.
Впрочем это - опция.
...
Рейтинг: 0 / 0
06.08.2021, 13:33
    #40089164
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
mayton, ну правильно, в центре. Потому что я снимал по правилам жанра "портрет". На троечку, но всё же. А недавно меня попросили щёлкнуть на смердофон т.ск. "на фоне зарослей". Пытался объяснить, что они будут на фото маленькими, а остальное займёт много места, уж лцчше тогда 3 разных зума и жанра. Ответили: пусть как будет. Заказчик - барин.
То есть не всегда большая часть, и не всегда даже по центру, и не всегда самое яркое.

Я не успел отредактировать предыд пост, но ты уже сказал про отделение "фона" и желаемых "объектов". Это уже семантика изображения. Ну и всё тот же Фур, наиболее мощные кластеры в области н/ч. Мощность=площадь под графиком.
...
Рейтинг: 0 / 0
06.08.2021, 13:56
    #40089168
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кусочно линейная интерполяция с ограничениями
У меня - ограниченный инструментарий по рендерингу векторной картинки. Вот посмотри.

Градиенты SVG.
https://developer.mozilla.org/ru/docs/Web/SVG/Tutorial/Gradients

Эллипсы SVG.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse

Что мне толку с Фурье если я не могу отрисовать синусоидный сигнал?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Кусочно линейная интерполяция с ограничениями / 25 сообщений из 65, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]