1. 程式人生 > >GitHub 專案推薦:用深度學習讓你的照片變得美麗

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

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

開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗

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

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

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

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

深度學習改變了這一切。

美化你的照片

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

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

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

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

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

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

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

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

開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗

程式碼

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

Git 原始碼地址:https://github.com/aiff22/DPED

安裝需要的庫檔案:

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

哇!您的增強型和專業型照片將儲存在「視覺效果」資料夾中!

你自己試試程式碼,很有趣!看看你的照片如何處理增強。請在下面釋出連結,與社群共享您的照片。同時,這裡是我自己測試的一些結果。雷鋒網

開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗開發|GitHub 專案推薦:用深度學習讓你的照片變得美麗