GitHub 項目推薦:用深度學習讓你的照片變得美麗

GitHub 項目推薦:用深度學習讓你的照片變得美麗
▲用深度學習讓你的照片變得美麗。(圖/翻攝自雷鋒網)

【原文:《GitHub 項目推薦:用深度學習讓你的照片變得美麗》,作者:王雪佩,智慧機器人網編輯整理】

文、圖/雷鋒網

雷鋒網 AI 科技評論按,在挑選手機時,手機攝影鏡頭往往是我們考慮的重要因素之一,但目前很多手機拍出來的照片效果不盡如人意。如何用深度學習的方法美化照片? George Seif 發表了一篇文章,是關於如何自動增強低質量相機拍攝的照片,大家快來實戰吧~

照相是一項很棒的技術。它讓我們能夠保存自己的記憶,當看到照片中的景色時,我們可以重新體驗它們。

這項技術在過去的幾年裡取得了長足的進步。隨著 4K、HDR 和彩色增強等各種新功能的出現,您可以拍攝出令人驚嘆的照片。

但它確實是有代價的。不是每個人都買得起最好的相機。DSLR 相機的價格從幾百美元到幾千美元不等。不僅如此,也不是每個人都能用這些相機拍出好的照片,畢竟我們並不都是專業攝影師!

我們大多數人拍照用的是智慧型手機,但與高端 DSLR 相比,智慧型手機拍攝的照片通常非常平淡。

深度學習改變了這一切。

美化你的照片

來自蘇黎世 ETH 計算機視覺實驗室的研究展示了如何自動增強低質量相機拍攝的照片,使它們看起來像是由專業攝影師用 DSLR 拍攝的。他們是這樣做的:

該團隊首先收集了一組低質量(來自手機)和高質量(來自 DSLR)照片作為數據集,您可以從項目頁面下載這些照片。這正是我們需要的用於這種增強任務的數據:輸入低質量的圖像(來自手機)並讓深度網絡嘗試預測高質量版本(來自 DSLR)的樣子。

一個圖像有幾個我們可能想要增強的屬性:燈光、顏色、紋理、對比度和清晰度。深度網絡經過訓練,可以利用四種不同的損失函數來描述所有這些屬性:

  • 顏色損失:預測圖像和目標圖像模糊版本之間的歐幾里得距離。

  • 紋理損失:基於生成對抗網絡(GAN)的分類損失。GAN 被訓練來預測灰度照片質量的高低。由於使用了灰度圖,網絡將很好地聚焦於圖像的紋理,而不是顏色。

  • 內容損失:預測圖像的 VGG 特徵與地面真像之間的差異。這一損失確保了圖像中的對象(即圖像語義)和整體結構保持不變。

  • 總變化損失:圖像中的垂直和水平總梯度。這將增強圖像的平滑度,這樣最終得到的圖像就不會太粗糙或有噪音。

最後將這些損失加起來,生成一個端到端的網絡,通過訓練網絡來做預測!

代碼

感謝 AI 社區中開放源碼,我們在這裡找到了一個公開的照片增強器項目!以下是您使用它的方法。

Git 源碼地址:

安裝需要的庫文件:

pip install tensorflow-gpu
pip install numpy
pip install scipy

所有經過預先訓練的模型都已經在 models_orig 文件夾中都有對應的庫,因此無需下載它們!

將要增強的照片放在以下目錄中:

dped/iphone/test_data/full_size_test_images/

這是「iphone」的系統默認目錄,但是如果您想更改代碼,可以更改 test_model.py 腳本中的代碼。之所以說「iphone」,是因為作者使用 3 款智慧型手機(iphone、sony 和 blackberry)拍攝的照片訓練了 3 種不同的模型,因此你有三個選擇。但是這個模型在大多數這三種手機拍攝的照片上都能很好地工作,所以我們選擇其中一個就好。

最後,為了增強照片效果,我們運行一個簡單的腳本:

python test_model.py model=iphone_orig \
test_subset=full \

哇!您的增強型和專業型照片將保存在「視覺效果」文件夾中!

你自己試試代碼,很有趣!看看你的照片如何處理增強。請在下面發布連結,與社區共享您的照片。同時,這裡是我自己測試的一些結果。

熱門標籤

留言

延伸閱讀