русский

ИИ для программиста?

29.08.24 10:14
Re: ИИ для программиста?
 
alex445 патриот
in Antwort AlexNek 28.08.24 22:03, Zuletzt geändert 29.08.24 10:29 (alex445)
Но ИИ что-то выдал, насколько правильно не имею понятия.

Мне не нужен код. Я хочу, чтобы он принял на вход картинку с отсутствием крупных деталей (единственное условие для "спец. фото с какой-то структурой"), и выдал бесшовный вариант.


Для начала, как это сделать из просто любой фотографии я не имею представления. Это должна быть спец. фото с какой-то структурой

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


Разрезать кодом картинку на 4 куска не проблема. Причём разрезать не обязательно посередине. И далее кодом же соединить эти куски противоположными углами тоже не проблема. Проблема автоматизации в выборе правильного участка картинки, которым можно было бы скрыть шов. И тут обычная математика с выбором места разрезания не подходит - нужен анализ каждого выбранного участка, чтобы он примерно подходил в то место, куда его будешь вставлять. И просто обынчый блендинг (смешивание) тут не даёт полного решения, а лишь помогает сделать вставленный участок более похожим на то место, куда он вставляется, менее чужеродным. Так вот, обычно готовые софтовые решения, основанные на чистой математике (статистический поиск похожих участков) и просто блендинге в пределах каких-то границ вокруг вставляемых участков выдают не очень хорошие результаты на картинках, где текстура картинки недостаточно регулярна и есть довольно крупные детали. Поэтому тут бы и привлекать ИИ для быстрого анализа изображений при каждом вставляемом куске. При этом подразумевается, что ИИ будет лучше справляться, чем просто статистический анализ.


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


Ну и как последний штрих - в идеале картинка должна быть уникальна (не содержать повторов) внутри себя, и повторяться лишь при повторении самой картинки. Т.е. грубо говоря, если сфотана трава с ромашками, в пределах одной картинки не должно быть двух одинаковых ромашек. Но как этого добиться, если при удалении швов я скопировал часть картинки с ромашкой, и вставил её на место шва? Теперь у меня две одинаковых ромашки в одной картинке. А для этого нужно эту ромашку как-то изменить, или полностью нарисовать другую, отличающуюся ромашку. Вот тут ИИ и должен помочь. Всё остальное - кройка, шитьё, блендинг - довольно "тупая" чистая математика.

 

Sprung zu