蜜桃av色欲a片精品一区,麻豆aⅴ精品无码一区二区,亚洲人成网站在线播放影院在线,亚洲 素人 字幕 在线 最新

微立頂科技

新聞資訊

創(chuàng)新 服務 價值

  用Python生成NFT超像素風格頭像

發(fā)布日期:2022/7/12 10:16:32      瀏覽量:

我們是三界外團隊,聚焦 XR、3D 重建與生成技術(shù),努力探索 Web3 mev 與 資產(chǎn)合成。

TLDR;

通讀本文,你將具備用自己的 python 代碼,將任意照片轉(zhuǎn)化成超像素風格的圖片。想直接拿來就跑的同學,可以留言獲取~


像素NFT

近年NFT非常火熱,即便幣圈整體縮水,并未熄滅大家投入NFT的熱情。傳奇的一筆NFT交易,發(fā)生在 CryptoPunks(加密朋克),一共有一萬枚,每一枚都是一張像素點組成的頭像。CryptoPunk #3100是一個帶著頭帶的外星人,大約一年前以767萬美元的價格售出,后續(xù)被掛到接近1億美金的報價(當時的 35000枚ETH)。

除了web3先驅(qū)加巨鱷們的參與,饒舌明星 Snoop Dogg 以及 Eminem 都是無聊猿 NFT 的持有者,在6月還為此創(chuàng)作了一首歌 ‘From The D 2 The LBC ’。

筆者的朋友 Allen 老師,也參加了社區(qū)的NFT發(fā)行,據(jù)透露最重要的投入就是設(shè)計師。于是,我向有沒有一些簡單的方法, 可以把任意一張照片,都做成超像素風頭像。

像素化照片的方法,簡易做法是采用馬賽克方式,將圖片切分為NxM的棋盤格,每個格子取像素的均值做填充。但成像效果上,在局部的連續(xù)性上不友好,比如銀桑的眼睛、劍柄和DeadPool的劍柄。經(jīng)過進一步的調(diào)研,找到了 SLIC (Simple Linear Iterative Clustering Superpixel_PAMI2011-2.pdf) 方法,是一種線性聚類的方法,能夠?qū)⑸冉咏泥徑袼刈鼍酆?。下面簡單對比了馬賽克方式和 SLIC 的效果。(想要馬賽克代碼的同學,也可以關(guān)注后私信我~)


SLIC原理

超像素分割 SLIC 是一種迭代聚類算法。出自 PAMI2012 論文 SLIC Superpixels Compared to State-of-the-art Superpixel Methods。超像素概念出自于圖像分割技術(shù),是指有相似紋理、顏色、亮度的相鄰的有視覺意義的不規(guī)則連續(xù)像素塊。

通過圖像局部近似性的描述,能夠把圖像的結(jié)構(gòu)語義信息做一層提取。用少量的超像素代替大量的像素來做圖片表征,降低后處理復雜度。經(jīng)常被用在 CV 中的預處理環(huán)節(jié),廣泛用于分割、姿態(tài)估計、目標監(jiān)測等場景。

slic 算法的邏輯,先看一下下圖,不用被這么多的細節(jié)嚇到。簡單講,就兩部分:

  1. 局部 k-means,k-means 算法會遍歷所有的像素點,但依托圖像自身的語義相鄰特點,我們每次只需要搜索聚類中心附近的像素塊就夠,能夠較好的縮減計算量 ;
  2. 圖像差異距離公式,這個公式需要同時能計算得到‘色彩距離’和’像素距離’;

局部k-means

kmeans 的邏輯,通過初始化 K 個類簇的中心點。遍歷緊鄰像素區(qū)塊,計算每個像素 和 K個中心點的‘距離’,將最近的一個類簇關(guān)聯(lián)到當前像素。

距離

‘距離’等于 ’空間距離’ +‘色彩距離’??臻g距離,像素點在圖片中本身就有 x、y 的空間概念,聚類中心同樣以歸屬到當前類像素的 x、y 均值表示。這部分直接用歐式距離計算。色彩距離用 CIELab 色彩空間 l,a,b 表示,可以簡單理解為與 RGB 一致,但優(yōu)于 RGB 表示的一種色彩模式。更多 CIELab 的背景知識見附錄。

因此,每個像素,以及聚類中心點,都將被表示成一個5維向量, CIELAB色彩空間的 l、a、b ,以及當前像素或聚類中心在圖片的 x 和 y 空間位置。

直接按照歐氏距離計算,色彩偏差,與空間位置偏差,即

但,這樣的計算方式,在圖片過大、超像素寬度過小時,帶來計算上偏向于色差或距離的問題。所以進一步需要做歸一化。

打開網(wǎng)易新聞 查看更多圖片 

其中 Ns = S,即超像素平均寬度,Nc 表示圖片中最大色差 (通常設(shè)定一個經(jīng)驗值即可,如論文默認用 10,為了做出比較有風格化的圖片,色差超參 Nc = m 可以調(diào)大,越大像素的融合效應越強)。進一步精簡得到

SLIC實現(xiàn)

預處理

圖片的讀取,以及將 RGB 色彩空間轉(zhuǎn)換到 LBA,skimage.color 提供了轉(zhuǎn)換函數(shù) rgb2lab,轉(zhuǎn)換原理自行檢索。

初始化

K 表示超級像素在當前圖的個數(shù),N 為當前圖形的像素個數(shù)即 ’圖片長 x 圖片高‘,M 表示色度強弱表示對于圖片聚類中心選擇的權(quán)重,越大則影響越小。從風格化的角度看,K 越大,超級像素越多,則對應的結(jié)果越精細,M 越小則對應的圖片越精細,反之亦然。超像素區(qū)塊寬度 S~sqrt(N/K),可以通過像素點個數(shù)和 K 計算得到。

初始化,按照 S 步長寬度得到 S x S 大小的區(qū)塊,并且指定區(qū)塊中心的像素為中心點。并且將每個像素關(guān)聯(lián)到的聚類標簽初始化為 l(x,y) = -1, 到聚類中心的距離記為 d(x,y) = ∞ 。

距離函數(shù)

為了便于理解和實現(xiàn),我們定義了 Pixel 類,是一個結(jié)構(gòu)體,包含了一個像素 lba 色彩信息以及像素點 x、y 位置。Cluster 類實現(xiàn)了,聚類中心的更新,以及初始化位置優(yōu)化調(diào)整 move3x3, move3x3 是為了防止當前選擇的聚類中心落在了色差較大的輪廓邊緣上。


SLIC過程

保存圖片

requirements

pillow
skimage
numpy
matploblib

附錄

不同于常用的 RGB 色彩空間,采用 CIELAB(國際照明委員會)色彩空間表示,LAB的特點在于比RGB更為平滑,對肉眼視覺的感官衡量更為貼近。彌補了 RGB 與 CMYK 兩種彩色模式的不足,是Photoshop用來從一種色彩模式向另一種色彩模式轉(zhuǎn)換時使用的一種內(nèi)部色彩模式。LAB模式也是由三個通道組成,分別是 l,a,b,其中 I 代表亮度,數(shù)值范圍為 [0, 100],a 表示從綠色到紅色的分量,數(shù)值范圍為[-128, 127],b 表示藍色到黃色的分量,數(shù)值范圍為 [-128, 127]。



  業(yè)務實施流程

需求調(diào)研 →

團隊組建和動員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓

售后服務

馬上咨詢: 如果您有業(yè)務方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生