摘要:我最近才發(fā)現(xiàn)在的代碼中就有圖像風(fēng)格遷移的示例原諒我的后知后覺(jué),是基于論文中的網(wǎng)絡(luò)模型實(shí)現(xiàn)。中值濾波的窗口大小,用來(lái)對(duì)結(jié)果圖像進(jìn)行平滑處理,這個(gè)對(duì)結(jié)果影響不大。
現(xiàn)在很多人都喜歡拍照(自拍)。有限的濾鏡和裝飾玩多了也會(huì)膩,所以就有 APP 提供了 模仿名畫(huà)風(fēng)格 的功能,比如 prisma、versa 等,可以把你的照片變成 梵高、畢加索、蒙克 等大師的風(fēng)格。
這種功能叫做“ 圖像風(fēng)格遷移 ”,幾乎都是基于 CVPR 2015 的論文《 A Neural Algorithm of Artistic Style 》和 ECCV 2016 的論文《 Perceptual Losses for Real-Time Style Transfer and Super-Resolution 》中提出的算法,以及后續(xù)相關(guān)研究的基礎(chǔ)上開(kāi)發(fā)出來(lái)的。
通俗來(lái)講,就是借助于 神經(jīng)網(wǎng)絡(luò) ,預(yù)先將名畫(huà)中的風(fēng)格訓(xùn)練成出模型,在將其應(yīng)用在不同的照片上,生成新的風(fēng)格化圖像。
來(lái)自《A Neural Algorithm of Artistic Style》
而因?yàn)樯窠?jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)方面的應(yīng)用越來(lái)越廣,著名的視覺(jué)開(kāi)發(fā)庫(kù) OpenCV 在 3.3 版本中正式引入 DNN(深度神經(jīng)網(wǎng)絡(luò)) ,支持 Caffe、TensorFlow、Torch/PyTorch 等主流框架的模型,可用以實(shí)現(xiàn)圖像的識(shí)別、檢測(cè)、分類(lèi)、分割、著色等功能。
我最近才發(fā)現(xiàn)在 OpenCV 的 Sample 代碼中就有圖像風(fēng)格遷移的 Python 示例(原諒我的后知后覺(jué)),是基于 ECCV 2016 論文中的網(wǎng)絡(luò)模型實(shí)現(xiàn)。所以,即使作為人工智能的菜鳥(niǎo),也可以拿別人訓(xùn)練好的模型來(lái)玩一玩,體會(huì)下神經(jīng)網(wǎng)絡(luò)的奇妙。
(相關(guān)代碼和模型的獲取見(jiàn)文末)
OpenCV 官方代碼地址: https://github.com/opencv/opencv/blob/3.4.0/samples/dnn/fast_neural_style.py
目錄下通過(guò)執(zhí)行命令運(yùn)行代碼:
python fast_neural_style.py --model starry_night.t7
model 參數(shù)是提供預(yù)先訓(xùn)練好的模型文件路徑,OpenCV 沒(méi)有提供下載,但給出的參考項(xiàng)目 https://github.com/jcjohnson/fast-neural-style 中可以找到
其他可設(shè)置參數(shù)有:
input 可以指定原始圖片/視頻,如果不提供就默認(rèn)使用攝像頭實(shí)時(shí)采集。
width、height,調(diào)整處理圖像的大小,設(shè)置小一點(diǎn)可以提高計(jì)算速度。在我自己的電腦上,300x200 的轉(zhuǎn)換視頻可以達(dá)到 15 幀/秒。
median_filter 中值濾波的窗口大小,用來(lái)對(duì)結(jié)果圖像進(jìn)行平滑處理,這個(gè)對(duì)結(jié)果影響不大。
執(zhí)行后的效果(取自 jcjohnson/fast-neural-style):
原始圖像ECCV16 modelsinstance_norm models
核心代碼其實(shí)很短,就是 加載模型 - > 讀取圖片 -> 進(jìn)行計(jì)算 -> 輸出圖片,我在官方示例基礎(chǔ)上進(jìn)一步簡(jiǎn)化了一下:
import cv2 # 加載模型 net = cv2.dnn.readNetFromTorch("the_scream.t7") net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV); # 讀取圖片 image = cv2.imread("test.jpg") (h, w) = image.shape[:2] blob = cv2.dnn.blobFromImage(image, 1.0, (w, h), (103.939, 116.779, 123.680), swapRB=False, crop=False) # 進(jìn)行計(jì)算 net.setInput(blob) out = net.forward() out = out.reshape(3, out.shape[2], out.shape[3]) out[0] += 103.939 out[1] += 116.779 out[2] += 123.68 out /= 255 out = out.transpose(1, 2, 0) # 輸出圖片 cv2.imshow("Styled image", out) cv2.waitKey(0)
另外還改了個(gè)多效果實(shí)時(shí)對(duì)比的版本(計(jì)算量大了,很卡頓),也一并上傳在代碼中。
PS:前兩天看趙雷演唱會(huì)的時(shí)候我還說(shuō):他演唱會(huì)的背景 MV 大量使用了 圖像二值化、邊緣檢測(cè) 等操作,讓我想到以前數(shù)字圖像處理課的大作業(yè)……現(xiàn)在圖像風(fēng)格遷移的效率達(dá)到了實(shí)時(shí),想必以后也會(huì)經(jīng)常被使用吧
獲取文中相關(guān)代碼和模型下載地址,請(qǐng)?jiān)诠娞?hào)( Crossin的編程教室 )對(duì)話(huà)中回復(fù)關(guān)鍵字 名畫(huà)
════
其他文章及回答:
如何自學(xué)Python | 新手引導(dǎo) | 精選Python問(wèn)答 | 如何debug? | Python單詞表 | 知乎下載器 | 人工智能 | 嘻哈 | 爬蟲(chóng) | 我用Python | 抓抖音 | requests | AI平臺(tái)
歡迎微信搜索及關(guān)注: Crossin的編程教室
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44811.html
摘要:而這其中,很多應(yīng)用都涉及到計(jì)算機(jī)視覺(jué)這樣一個(gè)細(xì)分領(lǐng)域。常見(jiàn)的圖像處理灰度圖二值化平滑邊緣提取這幾種都屬于數(shù)字圖像處理的常用方法。對(duì)這方面知識(shí)感興趣的,可以找本數(shù)字圖像處理的相關(guān)教材系統(tǒng)地看一遍,了解數(shù)字圖像處理的基礎(chǔ)。 人工智能 ,一個(gè)已經(jīng)被談?wù)摿藥资甑母拍睿ㄗ钤缡?圖靈 在 1950年 提出)。如今這幾年,相關(guān)技術(shù)的發(fā)展速度是越來(lái)越快。高大上如無(wú)人駕駛、智能安防、AI輔助診斷,接地...
摘要:而另一款網(wǎng)紅產(chǎn)品抖音,也在去年底上線過(guò)一個(gè)尬舞機(jī)的音樂(lè)體感游戲現(xiàn)在成了隱藏功能游戲開(kāi)始后,隨著音樂(lè)會(huì)給出不同的動(dòng)作提示,用戶(hù)按照提示擺出正確動(dòng)作即可得分。 如今說(shuō)到體感游戲,大家一定都不陌生,比如微軟的 Kinect、任天堂的 Switch,都曾是游戲業(yè)的革命性產(chǎn)品。而另一款網(wǎng)紅產(chǎn)品—抖音,也在去年底上線過(guò)一個(gè)尬舞機(jī)的音樂(lè)體感游戲(現(xiàn)在成了隱藏功能): showImg(https://...
摘要:美國(guó)開(kāi)國(guó)領(lǐng)袖們?nèi)绻吹矫绹?guó)民眾只能在希拉里和川普中選擇,估計(jì)要集體氣活過(guò)來(lái)。本教程由發(fā)布在實(shí)驗(yàn)樓,完整教程及在線練習(xí)地址川普撞臉希拉里基于的面部特征交換一教程介紹內(nèi)容簡(jiǎn)介通過(guò)庫(kù)來(lái)實(shí)現(xiàn)人臉面部特征交換。 話(huà)說(shuō)這次美國(guó)大選可謂賺足了眼球,在美國(guó)史上,恐怕沒(méi)有哪一年的總統(tǒng)大選會(huì)像今年一樣詭譎和熱鬧。 美國(guó)開(kāi)國(guó)領(lǐng)袖們?nèi)绻吹矫绹?guó)民眾只能在希拉里和川普中選擇,估計(jì)要集體氣活過(guò)來(lái)。作為一個(gè)閑得蛋疼...
摘要:的文本檢測(cè)器是一種基于新穎架構(gòu)和訓(xùn)練模式的深度學(xué)習(xí)模型。深度學(xué)習(xí)文本檢測(cè)器圖文本檢測(cè)全卷積網(wǎng)絡(luò)的結(jié)構(gòu)等人的圖。隨著和的發(fā)布,我們現(xiàn)在可以使用一種名為的基于深度學(xué)習(xí)的文本檢測(cè)器,它基于等人的年論文一種高效精確的場(chǎng)景文本檢測(cè)器。 by Adrian Rosebrock on August 20, 2018 in Deep Learning, Optical Character Recogn...
閱讀 4173·2021-09-29 09:34
閱讀 3870·2021-09-27 13:34
閱讀 657·2021-09-24 09:47
閱讀 3102·2019-08-30 15:53
閱讀 1885·2019-08-26 13:54
閱讀 2135·2019-08-26 13:43
閱讀 616·2019-08-23 14:47
閱讀 1804·2019-08-23 14:28