一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從泊松方程的解法,聊到泊松圖像融合

新機(jī)器視覺 ? 來源:Opencv視覺實(shí)踐 ? 2023-02-17 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

泊松融合(Poisson Blending)又作 Seamless clone,用于將兩幅圖像“無縫”的融合起來,基本原理就是最優(yōu)化一個(gè)方程,盡量在和base邊界處保持相關(guān)的亮度,同時(shí)保留剪切過來圖像的梯度,這樣看起來兩張圖像就“無縫”拼合在一起了。

2004 年 SIGGRAPH 上,Microsoft Research UK 有篇經(jīng)典的圖像融合文章《Poisson Image Editing》。先看看其驚人的融合結(jié)果(非論文配圖,本人實(shí)驗(yàn)結(jié)果):

65035b20-ae60-11ed-bfe3-dac502259ad0.png

這篇文章的實(shí)現(xiàn),無關(guān)目前算法領(lǐng)域大火的神經(jīng)網(wǎng)絡(luò),而是基于泊松方程推導(dǎo)得出。

泊松方程是什么?

很多朋友比較熟悉概率論里面的泊松分布。泊松方程,也是同一個(gè)數(shù)學(xué)家泊松發(fā)明的。但卻和泊松分布沒有什么關(guān)系,是泊松物理學(xué)領(lǐng)域提出的一個(gè)偏微分方程。

651e81ca-ae60-11ed-bfe3-dac502259ad0.jpg

這里表示的是拉普拉斯算子,在泊松方程中是已知量,可以是實(shí)數(shù)或復(fù)數(shù)值方程,特殊情況當(dāng)65384330-ae60-11ed-bfe3-dac502259ad0.jpg時(shí)被稱為拉普拉斯方程。當(dāng)處于歐幾里得空間時(shí),拉普拉斯算子通常表示為

學(xué)習(xí)圖像處理的朋友對于比較熟悉,分別表示二階微分(直角坐標(biāo)系下的散度)、一階微分(直角坐標(biāo)系下的梯度)。

微分與卷積

連續(xù)空間中的微分計(jì)算,就是大學(xué)里微積分那一套公式。但是在計(jì)算機(jī)的世界里,數(shù)據(jù)都是在離散空間中進(jìn)行表示,對于圖像而言,基本的計(jì)算單元就是像素點(diǎn)。讓我們從最簡單的情形,一維數(shù)組的微分說起:

表示位置 x 一階微分計(jì)算(一階中心導(dǎo)):

655321dc-ae60-11ed-bfe3-dac502259ad0.jpg

表示位置x二階微分計(jì)算(二階中心導(dǎo)):

6568976a-ae60-11ed-bfe3-dac502259ad0.jpg

隨著h->0,上面的微分算式的結(jié)果會(huì)逐漸逼近真實(shí)的微分值。對于圖像而言,這里 h 最小可分割單元是像素,也就表示像素間的間距,可視為 1。再看看,二階微分的公式,是不是可以看成 1x3 的卷積核 [1,-2,1]在一維數(shù)組上進(jìn)行卷積計(jì)算的結(jié)果(卷積中心在 x 上)。

至此,不難理解,離散數(shù)據(jù)(例如圖像)上的微分操作完全可以轉(zhuǎn)換為卷積操作。

當(dāng)數(shù)組維度更高,變成二維數(shù)組呢?也就是處理圖像的拉普拉斯算子:

6585934c-ae60-11ed-bfe3-dac502259ad0.jpg

此時(shí),卷積核尺寸應(yīng)該是 3x3,具體數(shù)值為

65988baa-ae60-11ed-bfe3-dac502259ad0.jpg

稱為拉普拉斯卷積核。

記住拉普拉斯卷積核,我們后面會(huì)用到。

泊松方程求解

這個(gè)時(shí)候,想想我們學(xué)會(huì)了什么?泊松方程的形式,以及拉普拉斯卷積核。

再想想,在圖像場景下,什么是泊松方程的核心問題?

已知圖像點(diǎn)二階微分值(直角坐標(biāo)系下即散度div)的情況下,求解各個(gè)圖像點(diǎn)的像素值。

一個(gè)簡單的例子,假設(shè)有一張4x4的圖像 x:

65ae9ba2-ae60-11ed-bfe3-dac502259ad0.jpg

Xi表示各個(gè)位置上的圖像像素值,共 16 個(gè)未知參數(shù)需要被求解。

應(yīng)用拉普拉斯卷積核后,得到 4 個(gè)方程式:

65c10cba-ae60-11ed-bfe3-dac502259ad0.jpg

4 個(gè)方程式求解出 16 個(gè)未知參數(shù)?這是不可能的。

因此,我們需要另加入至少 12 個(gè)更多的方程式,也就是說,需要把剩余 12 個(gè)邊界點(diǎn)的值確定,即需要確定邊界條件。邊界一般符合 2 種常見的邊界條件:

Neumann 邊界,譯為紐曼邊界或黎曼邊界,給出函數(shù)在邊界處的二階導(dǎo)數(shù)值;

Dirichlet 邊界,狄利克雷邊界,給出邊界處函數(shù)在邊界處的實(shí)際值。

但給定邊界條件之后,就可以有 16 個(gè)方程式組成的方程組了,矩陣化表示此方程組之后,得到形式為 Ax=b。

看到Ax=b,大家就應(yīng)該放松了,不就是解方程嘛,用雅可比迭代法或者高斯賽德爾迭代法來求解就 OK 了。

Poisson Image Editing

背景知識儲(chǔ)備好了后,讓我們把目光拉回到論文《Poisson Image Editing》上。

在圖像融合任務(wù)中,前景放置在背景上時(shí),需要保證兩點(diǎn):

前景本身主要內(nèi)容相比于背景而言,盡量平滑;

邊界處無縫,即前景、背景在邊界點(diǎn)位置上的像素值,需要保持邊界一致。

重點(diǎn)關(guān)注兩個(gè)詞:內(nèi)容平滑、邊界一致。平滑是什么?可以理解成圖像前景、背景梯度相同。邊界一致是指什么?可以理解成在邊界上像素值相同。再用一張圖來說明:

65e5ef08-ae60-11ed-bfe3-dac502259ad0.jpg

藍(lán)色圖片表示前景圖片,需要被融合到肉色的背景圖片上

上圖中 u 表示需要被合成的前景圖片, V 是u的梯度場。S是背景圖片,是合并后目標(biāo)圖像中被前景所覆蓋的區(qū)域,則的邊界。設(shè)合并后圖像在內(nèi)的像素表示函數(shù)是,在外的像素值表示函數(shù)是。

此時(shí),平滑可表示為:

66010b62-ae60-11ed-bfe3-dac502259ad0.jpg

保持邊界一致可表示為:

66178126-ae60-11ed-bfe3-dac502259ad0.jpg

這里如果接觸過泛函的朋友會(huì)比較開心,沒接觸過的朋友可以先看看歐拉-拉格朗日方程。令

662ea22a-ae60-11ed-bfe3-dac502259ad0.jpg

代入歐拉-拉格朗日方程后則有:

66479ad2-ae60-11ed-bfe3-dac502259ad0.jpg

6658cdfc-ae60-11ed-bfe3-dac502259ad0.jpg

667a6020-ae60-11ed-bfe3-dac502259ad0.jpg

怎么樣,看起來是不是一個(gè)泊松方程呢?當(dāng)然,還差兩步:

因?yàn)樾枰?span style="font-weight:600;">平滑, div v 取值需要同時(shí)參考前景圖片和背景圖片,可以直接等于前景像素的散度,也可以在前景和背景在同一點(diǎn)像素的散度進(jìn)行某種組合得到(論文中在 Selection cloning 和 Selection editing 章節(jié)有討論各自合適的場景,但個(gè)人以為這里采取學(xué)習(xí)的方法應(yīng)該更魯棒,而不是用固定的策略來區(qū)分)。anyway, div v 是可以計(jì)算的已知量;

因?yàn)樾枰?span style="font-weight:600;">保持邊界一致,邊界條件上像素值等于背景圖片即可。當(dāng)然也可以做一些策略,但同樣也可以計(jì)算得到的已知量。

現(xiàn)在很輕松了,邊界條件已知、散度已知,在離散空間中求解泊松方程中的,參考上一節(jié)的求解過程即可。

代碼實(shí)現(xiàn)

函數(shù)代碼已經(jīng)收錄在了 OpenCV 的官方函數(shù)seamlessClone里:github source code

使用的時(shí)候,需要三張圖片:前景圖、背景圖、mask圖(指明前景圖中需要融合的區(qū)域,最簡單的就是直接等于前景圖大小的 mask,待融合區(qū)域是白色,其余位置黑色)。

下面我們使用 OpenCV 的 Python 接口來動(dòng)手試試,用到以下兩張圖以及一段代碼:

66957b58-ae60-11ed-bfe3-dac502259ad0.jpg

66a94cdc-ae60-11ed-bfe3-dac502259ad0.jpg

import cv2
import numpy as np


# Read images : src image will be cloned into dst
dst = cv2.imread("background.jpg")
obj= cv2.imread("foreground.jpg")


# Create an all white mask
mask = 255 * np.ones(obj.shape, obj.dtype)


# The location of the center of the src in the dst
width, height, channels = dst.shape
center = (height/2, width/2)


# Seamlessly clone src into dst and put the results in output
normal_clone = cv2.seamlessClone(obj, dst, mask, center, cv2.NORMAL_CLONE)
mixed_clone = cv2.seamlessClone(obj, dst, mask, center, cv2.MIXED_CLONE)


# Write results
cv2.imwrite("images/opencv-normal-clone-example.jpg", normal_clone)
cv2.imwrite("images/opencv-mixed-clone-example.jpg", mixed_clone)

最終效果如下:

66c2e67e-ae60-11ed-bfe3-dac502259ad0.jpg


													
														


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:從泊松方程的解法,聊到泊松圖像融合

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Matlab偏微分方程工具箱應(yīng)用說明

    hyperbolic 求解雙曲線型偏微分方程parabolic 求解拋物線型偏微分方程pdeeig 求解特征型偏微分方程pdenonlin 求解非線性型微分方程poisolv 利用矩陣
    發(fā)表于 09-22 15:26

    電子學(xué)領(lǐng)域的基本電磁定律,歸納/總結(jié)/點(diǎn)評

    高斯定理3.發(fā)拉弟定律4.安培定律4個(gè)定律+3個(gè)本構(gòu)關(guān)系(E,D,H,B,J,E)得到麥克斯維方程組。說這個(gè)的書太多,公式什么的自己找,略。二級定律:1.標(biāo)量和拉普拉斯方程2.矢量
    發(fā)表于 07-17 16:13

    嵌入式工控機(jī)保障港口靠零事故

    的晴雨表。在中國經(jīng)濟(jì)水平高速增長的大背景下,我國各地的港口也是呈現(xiàn)出一派繁榮的景象。對于技術(shù)手段助力現(xiàn)代化、信息化港口的手段中,就不得不說港口輔助靠系統(tǒng)。在如今港口吞吐量逐年增長的態(tài)勢下,傳統(tǒng)的辦法
    發(fā)表于 11-27 14:23

    計(jì)算機(jī)Fortran編程實(shí)現(xiàn)偏微分方程拉普拉斯變換

    。 這一特性用于通道二極管以達(dá)到層的寬度在次數(shù)10**-6厘米(cm),通過重的摻雜于普通的p-n節(jié)比較的次數(shù)10**-4cm。我們剛剛演示了方程應(yīng)用的例子,包含解答一個(gè)已知電荷分布的勢能分布。
    發(fā)表于 08-14 20:38

    基于雙TDA4VM行一體方案

    ,不再是專業(yè)人士的紙上談兵。當(dāng)前,整車的電子電氣架構(gòu)由分布式向集中式演進(jìn)的過程中,泊車功能和行車功能融合,出現(xiàn)了越來越多的行一體技術(shù)方案即智能駕駛域控制器方案。多芯片的行一體化方案在已經(jīng)得到了廣泛應(yīng)用
    發(fā)表于 11-03 07:54

    五點(diǎn)差分格式求解方程并行算法的研究

    以二維靜電場方程數(shù)值求解的串行算法(雅可比迭代、超松弛迭代)為基礎(chǔ),提出了五點(diǎn)差分格式超松弛迭代(SOR)求解二維靜電場
    發(fā)表于 11-20 12:05 ?30次下載

    基于計(jì)算機(jī)視覺的醫(yī)學(xué)圖像自動(dòng)識別技術(shù)研究_胡曉

    基于計(jì)算機(jī)視覺的醫(yī)學(xué)圖像自動(dòng)識別技術(shù)研究_胡曉
    發(fā)表于 03-16 14:35 ?0次下載

    基于數(shù)據(jù)驅(qū)動(dòng)緊框架圖像去噪模型

    圖像去噪是圖像處理中的基本問題之一?,F(xiàn)如今,已經(jīng)存在了大量的算法能夠解決含高斯噪聲的圖像去噪問題。但是,含噪聲的
    發(fā)表于 11-05 15:27 ?9次下載
    基于數(shù)據(jù)驅(qū)動(dòng)緊框架<b class='flag-5'>圖像</b>去噪模型

    三維方程并行求解算法

    方程的數(shù)值解法在許多物理或者工程問題上得到廣泛應(yīng)用,但是由于大部分三維
    發(fā)表于 11-17 17:27 ?16次下載

    機(jī)器學(xué)習(xí):分布與指數(shù)分布

    統(tǒng)計(jì)概念其實(shí)容易理解多了。 我舉一個(gè)例子,什么是分布和指數(shù)分布?恐怕大多數(shù)人都說不清楚。 我可以在10分鐘內(nèi),讓你毫不費(fèi)力地理解這兩個(gè)概念。一句話總結(jié):分布是單位時(shí)間內(nèi)獨(dú)立事件
    發(fā)表于 11-29 03:44 ?4805次閱讀

    pcb線路板銅概述和特點(diǎn)

    一、pcb線路板銅介紹 Copperfoil(銅):一種陰質(zhì)性電解法原材料,沉定于PCBpcb線路板真皮層上的一層薄的、持續(xù)的金屬材料箔,它做為PCB的電導(dǎo)體。它非常容易黏合于電纜護(hù)套,接納包裝
    的頭像 發(fā)表于 04-04 09:41 ?4269次閱讀

    基于簇過程的毫米波異構(gòu)網(wǎng)絡(luò)模型

    針對大規(guī)模熱點(diǎn)通信場景中用戶設(shè)備(UE)和基站空間的相關(guān)性描述問題,構(gòu)建基于簇過程的毫米波異構(gòu)網(wǎng)絡(luò)模型,并提岀一種基于微微基站(PBS)最近距離比的UE簇分類方案。根據(jù)毫米波傳輸模型和路徑損耗
    發(fā)表于 03-17 10:39 ?14次下載
    基于<b class='flag-5'>泊</b><b class='flag-5'>松</b>簇過程的毫米波異構(gòu)網(wǎng)絡(luò)模型

    基于方程的生成模型 PFGM

    擴(kuò)散模型最早來源于物理中的熱力學(xué),最近卻在人工智能領(lǐng)域大放異彩。還有什么物理理論可以推動(dòng)生成模型研究的發(fā)展呢?
    的頭像 發(fā)表于 10-20 09:22 ?1843次閱讀

    光的波動(dòng)性之亮斑介紹

    當(dāng)單色光照射在直徑恰當(dāng)?shù)男A板或圓珠時(shí),會(huì)在之后的光屏上出現(xiàn)環(huán)狀的互為同心圓的衍射條紋,并且在所有同心圓的圓心處會(huì)出現(xiàn)一個(gè)極小的亮斑,這個(gè)亮斑就被稱為亮斑。
    發(fā)表于 11-14 15:33 ?1.7w次閱讀

    PCL盤采樣具體流程

    盤采樣 盤采樣(possion disk sampling)的特點(diǎn)是任何兩個(gè)點(diǎn)的距離都不會(huì)隔得太近。 比如下圖,左邊是隨機(jī)生成的點(diǎn),右邊是
    的頭像 發(fā)表于 11-21 17:42 ?1941次閱讀
    PCL<b class='flag-5'>泊</b><b class='flag-5'>松</b>盤采樣具體流程