TW202336694A - 用於影像濾波器的整合式機器學習演算法 - Google Patents
用於影像濾波器的整合式機器學習演算法 Download PDFInfo
- Publication number
- TW202336694A TW202336694A TW111135453A TW111135453A TW202336694A TW 202336694 A TW202336694 A TW 202336694A TW 111135453 A TW111135453 A TW 111135453A TW 111135453 A TW111135453 A TW 111135453A TW 202336694 A TW202336694 A TW 202336694A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- input frame
- neural network
- images
- processors
- Prior art date
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 88
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 64
- 238000013528 artificial neural network Methods 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012549 training Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000001914 filtration Methods 0.000 claims abstract description 55
- 230000000007 visual effect Effects 0.000 claims abstract description 49
- 230000002457 bidirectional effect Effects 0.000 claims description 37
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 32
- 238000013527 convolutional neural network Methods 0.000 claims description 30
- 238000000605 extraction Methods 0.000 claims description 15
- 238000003384 imaging method Methods 0.000 claims description 15
- 238000005282 brightening Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 230000001815 facial effect Effects 0.000 claims description 3
- 230000003321 amplification Effects 0.000 claims 2
- 238000003199 nucleic acid amplification method Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 19
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000001537 neural effect Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004816 latex Substances 0.000 description 1
- 229920000126 latex Polymers 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10141—Special mode during image acquisition
- G06T2207/10144—Varying exposure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本發明係關於用於輸出經濾波視覺媒體內容項目之系統、方法及機器可讀取媒體。各種態樣可包括接收一視覺媒體內容項目之一輸入訊框。態樣亦可包括基於一包圍曝光影像之資料集訓練一機器學習演算法。態樣可包括基於該輸入訊框之影像濾波且經由一圖形處理單元之一著色器組件而對一類神經網路進行組態。態樣可包括判定該輸入訊框之與一黑暗程度相關聯之部分。態樣可包括對該輸入訊框之該等部分進行一影像增強操作。態樣可包括提供指令以顯示藉由該影像增強操作改變之一輸出訊框。
Description
本揭露大體上係關於實施用於增強影像之機器學習演算法,且更特別地係關於經由圖形處理單元上之整合式圖形及機器學習管線實施即時影像增強。
用於影像濾波及/或增強之機器學習演算法可為計算密集性的且執行緩慢。舉例而言,意欲即時運行之此類演算法(例如,用於高動態範圍(high dynamic range;HDR)應用)可需要消耗大量電腦處理及記憶體資源。涉及機器學習演算法之執行之輸出延遲可阻撓進行影像濾波及/或增強之使用者裝置的使用者。需要更少電腦處理時間之HDR機器學習演算法可實現在行動裝置上(例如,經由智慧型手機攝影機)獲取之影像的即時或接近即時影像處理,諸如影像處理以增強影像亮度。舉例而言,可完全實施於行動裝置之圖形處理單元(graphics processing unit;GPU)上之類神經網路可有利地增加即時影像處理的速度。
本發明技術之各種態樣係關於用於經由實施於圖形處理單元(GPU)上之整合式管線而輸出經濾波視覺媒體內容項目的系統、方法及機器可讀取媒體。整合式管線可藉由使電腦圖形呈現管線(例如,以兩個及三個維度)與機器學習會聚而形成。舉例而言,一或多個類神經網路可經組態於整合式管線之著色器組件上及/或由該整合式管線之著色器組件執行。作為實例,組態於整合式管線上之機器學習演算法可涉及經由生成對抗網路(generative adversarial network;GAN)對不成對包圍曝光(bracketed;bracketing)資料集訓練之卷積類神經網路(convolutional neural network;CNN)的執行。
特別地,機器學習演算法之經訓練類神經網路可即時地在行動計算裝置之GPU上運行以進行影像增強或濾波操作,諸如全域增亮操作以在整個輸出訊框/影像中改良對比度。藉由CNN進行之大部分學習及推斷可經由切分及經學習之雙向上取樣針對低解析度影像進行及針對高解析度影像再生,以改良即時或接近即時進行之影像增強操作之品質及速度。CNN可經由GAN快速離線訓練,該GAN包含作為產生器之自規則化之注意機制及基於具有相對更少影像之不成對包圍曝光資料集之全域-局部鑑別器。舉例而言,資料集可具有2000至4000個影像且訓練時間可跨越2至4小時。以此方式,經訓練CNN可在行動裝置GPU上即時地或接近即時地運行。
用於運行時間期間進行基於HDR之影像增強之類神經網路(例如,自一個輸入影像近似HDR產生之影像)可有利地涉及更少輸出延遲。舉例而言,輸出延遲可自每訊框大致10秒減少至每訊框大致100至33毫秒之範圍。此延遲減少可藉由將類神經網路實施於行動裝置GPU之整合式管線上來實現,該行動裝置GPU將電腦圖形呈現與機器學習會聚。此類實施可避免、最小化或以其他方式減少中央處理單元(central processing unit;CPU)與GPU之間的資料之傳送。以此方式,本揭露可有利地提供用於改良用以輸出已智慧地增亮以在更暗/曝光不足區域中提供更多細節(例如,以維持與全域增亮影像之更佳對比度)之影像/訊框之機器學習演算法的速度及/或效能的架構。
根據本揭露之一個具體實例,提供一種用於輸出經濾波視覺媒體內容項目之電腦實施方法。電腦實施方法包括接收視覺媒體內容項目之輸入訊框。電腦實施方法亦包括基於包圍曝光影像之資料集而訓練機器學習演算法。電腦實施方法亦包括經由圖形處理單元之著色器組件,基於輸入訊框之影像濾波而對機器學習演算法之類神經網路進行組態。電腦實施方法亦包括判定輸入訊框之與黑暗程度相關聯之一或多個部分。電腦實施方法亦包括由類神經網路對輸入訊框之一或多個部分進行影像增強操作。電腦實施方法亦包括提供指令以顯示輸出訊框,該輸出訊框具有藉由影像增強操作改變之一或多個部分。
根據本揭露之一個具體實例,提供一種系統,其包括處理器及記憶體,該記憶體包含儲存於其上之指令,該等指令在由處理器執行時使得處理器進行用於輸出經濾波視覺媒體內容項目之方法。方法包括接收視覺媒體內容項目之輸入訊框。方法亦包括基於包圍曝光影像之資料集而訓練機器學習演算法。方法亦包括經由圖形處理單元之著色器組件,基於輸入訊框之影像濾波而對機器學習演算法之類神經網路進行組態。方法亦包括判定輸入訊框之與黑暗程度相關聯之一或多個部分。方法亦包括由類神經網路對輸入訊框之一或多個部分進行影像增強操作。方法亦包括提供指令以顯示輸出訊框,該輸出訊框具有藉由影像增強操作改變之一或多個部分。
根據本揭露之一個具體實例,提供一種非暫時性電腦可讀取儲存媒體,其包括在由處理器執行時使得處理器進行用於輸出經濾波視覺媒體內容項目之方法之指令(例如,指令之所儲存序列)。方法包括接收視覺媒體內容項目之輸入訊框。方法亦包括基於包圍曝光影像之資料集而訓練機器學習演算法。方法亦包括經由圖形處理單元之著色器組件,基於輸入訊框之影像濾波而對機器學習演算法之類神經網路進行組態。方法亦包括判定輸入訊框之與黑暗程度相關聯之一或多個部分。方法亦包括由類神經網路對輸入訊框之一或多個部分進行影像增強操作。方法亦包括提供指令以顯示輸出訊框,該輸出訊框具有藉由影像增強操作改變之一或多個部分。
根據本揭露之一個具體實例,提供一種用於輸出經濾波視覺媒體內容項目之電腦實施方法。方法包括經由攝影機在複數個曝光層級處產生複數個連續影像。方法亦包括基於複數個連續影像判定包圍曝光影像之資料集。方法亦包括接收視覺媒體內容項目之輸入訊框。方法亦包括基於包圍曝光影像之資料集訓練機器學習演算法之類神經網路。方法亦包括經由圖形處理單元之著色器組件,基於輸入訊框之影像濾波而對機器學習演算法之類神經網路進行組態。方法亦包括判定輸入訊框之與黑暗程度相關聯之一或多個部分。方法亦包括藉由類神經網路判定仿射係數之雙向網格。方法亦包括由類神經網路且基於仿射係數之雙向網格對輸入訊框之一或多個部分進行影像增強操作。方法亦包括提供指令以顯示輸出訊框,該輸出訊框具有藉由影像增強操作改變之一或多個部分。
應理解,根據以下詳細描述,本發明技術之其他組態將變得對所屬技術領域中具有通常知識者顯而易見,其中藉助於說明來展示及描述本發明技術之各種組態。如將認識到,本發明技術能夠具有其他及不同組態,且其若干細節能夠在各種其他態樣中進行修改,該修改均不脫離本發明技術之範圍。因此,應將圖式及實施方式在本質上視為說明性而非限制性的。
在以下詳細描述中,闡述諸多具體細節以提供對本揭露之充分理解。然而,對於所屬技術領域中具有通常知識者將顯而易見,可在無此等具體細節中之一些的情況下實踐本揭露之具體實例。在其他情況下,並未詳細展示熟知結構及技術以免混淆本揭露。
所揭露系統、方法及機器可讀取媒體解決傳統計算平台中之問題以用於亦即對行動計算裝置執行用於接近即時影像濾波器之機器學習演算法。與此類演算法相關聯之一個問題為執行此類演算法可為極計算密集性的且緩慢的。此為特定產生於電腦技術之範圍中之問題。藉由提供亦在電腦技術中生根之解決方案來解決問題,亦即藉由提供減少之輸出延遲、改良之機器學習訓練資料集、減少之訓練時間、增加之處理速度及/或改良之影像處理以用於影像增強操作。舉例而言,解決方案可改良類神經網路之效能,該類神經網路以相對較低之處理速度輸出近似於HDR影像之效應之影像(例如,組合多個影像之HDR+影像運算子(諸如曝光不足訊框之脈衝)以產生單個高解析度相片)。
以此方式,解決方案可使得所揭露之機器學習解決方案能夠諸如經由GPU之整合式管線完全在行動計算裝置之GPU上實施。舉例而言,類神經網路可實施於GPU之著色器組件上。由GPU類神經網路進行之影像運算子操作可快速及/或以更少處理成本運行。作為實例,GPU之整合式管線可在合適的機器學習演算法之執行之情況下進行經改良特徵擷取。作為實例,GPU之整合式管線可以每訊框33毫秒之處理速度經由類神經網路執行機器學習HDR演算法。亦即,機器學習HDR演算法可即時地或接近即時地在各種行動計算裝置上運行,以便輸出全域增亮影像,從而在更暗/曝光不足區域中提供較多細節且向輸入訊框、相片及/或視覺媒體內容項目提供其他所要影像增強。如本文中所使用,視覺媒體內容項目可指影像、相片、視訊、動畫影像、圖形內容項目及/或類似者。以此方式,本發明技術提供針對用於執行機器學習演算法之電腦架構及/或系統之優勢,諸如用於即時或接近即時影像增強及/或影像濾波之類神經網路。特別地,可有利地對行動計算裝置更快速且以較低成本進行影像增強及/或影像濾波。
圖1為可藉以實施本揭露之態樣之裝置操作環境的方塊圖。圖1說明根據一些具體實例之提供用於輸出經濾波視覺媒體內容項目之計算平台(例如,實施於行動計算裝置之GPU上)的例示性網路架構100。輸出經濾波視覺媒體內容項目可涉及用GAN訓練類神經網路(例如CNN)以自一個輸入訊框產生HDR增強影像(例如產生類似HDR結果以估算HDR與僅一個輸入影像而非經由HDR將多個影像組合為一個影像)。輸入訊框可為(或經降取樣至)由CNN使用以產生雙向網格以轉換高解析度輸入影像之低解析度影像,此可節省時間。CNN可具有與由Gharbi等人於2017年7月在ACM圖形交易第36卷第4期第118條出版之
針對即時影像增強之深度雙向學習(
Deep Bilateral Learning for Real-Time Image Enhancement)中所描述之彼等特性類似之一或多個特性,該內容以全文引用之方式併入本文中。GAN可具有與由Jian等人於2015年8月在乳膠類檔案期刊第14卷第8期中出版之
啟發 GAN : 在無成對監督之情況下的深度光增強(
EnlightenGAN: Deep Light Enhancement without Paired Supervision)中所描述之彼等特性類似之一或多個特性,該內容以全文引用之方式併入本文中。
CNN可經由GAN之注意導引U-Net及全域位置鑑別器更快速地訓練。作為實例,GAN可更快速地及/或以無監督方式訓練CNN,諸如經由自用包圍曝光獲取圖像之攝影機有效地產生之所產生資料集。舉例而言,資料集可包含多個包圍曝光攝影機影像之2000至4000個影像。亦即,資料集可包括用於不同場景之包圍曝光影像之不成對數量或集合。可自擷取同一場景之多個影像之攝影機產生包圍曝光影像的各集合,該場景具有諸如各種曝光層級之不同設定。作為實例,攝影機可以短快門速度、中等快門速度及快速快門速度(例如,具有大於中心速度之另一速度及小於中心速度之另一速度的中心快門速度)獲取同一場景之3、5、7、9等個影像。作為實例,攝影機可經由曝光範圍中之步驟獲取逐漸不同之多個鏡頭。CNN可基於此不成對之包圍曝光資料集更快速地訓練以自近似於HDR之效應的輸入影像產生輸出影像。經訓練CNN可實施於整合式管線上,諸如實施於行動計算裝置GPU(例如智慧型手機之GPU)上之GPU整合式管線。因此,行動計算裝置可為使用者裝置、用戶端裝置110中之一者及/或類似者。
行動計算用戶端裝置110之使用者可產生、存取及管理視覺內容項目,該等視覺內容項目可為由CNN使用以用於影像濾波或增強操作之輸入訊框或影像。行動計算用戶端裝置110之GPU可經組態以實施影像增強及/或濾波操作,該等操作可為機器學習操作或非機器學習操作。非機器學習操作可涉及對影像之亮度之基於人類之改變。行動計算用戶端裝置110之GPU可經組態以在無任何資料傳送至用戶端裝置110之中央處理單元(CPU)的情況下實施此類操作,包括人工智慧(artificial intelligence;AI)濾波器之影像運算子。以此方式,本揭露之GPU可在無CPU-GPU同步之額外成本的情況下在整合式管線上實施包括AI影像運算子之影像運算子(例如,色彩校正、自曝光、除霧、色調映射、細節增強、修飾、亮度調變等)。
舉例而言,整合式管線可有利地避免自CPU(例如,運行PyTorch機器學習庫之CPU)複製資料之延遲以用於預處理及在GPU上進行之濾波器。GPU可結合GPU後端(例如,IGL Vulkan上之PyTorch GPU後端及金屬後端)實施。整合式管線可稱為類神經呈現器,該類神經呈現器可進行AI濾波操作,諸如實施用於影像濾波/增強之類神經網路。可由使用者在行動計算用戶端裝置110之圖形使用者介面(graphical user interface;GUI)上選擇合適的影像濾波/增強操作。舉例而言,GUI可為在行動計算用戶端裝置上執行之影像共用或內容管理應用程式之部分。作為實例,使用者可針對上傳至對應於內容管理應用程式之內容平台之影像及視訊而選擇影像濾波/增強操作。GUI可在諸如網路150之網路上代管或存取,該網路可為網際網路。以此方式,GUI可以線上或離線方式經由網路150存取,諸如經由可經由網際網路存取之全球資訊網(World Wide Web;WWW)上之網站/網頁之識別符(例如,網址、網站、統一資源位置(uniform resource location;URL))。舉例而言,離線方式可涉及存取內容平台之經快取之先前保存的離線版本。
圖1之網路架構包括經由網路150以通信方式耦合之一或多個用戶端裝置110及一或多個伺服器130。網路150可包括有線網路(例如,經由光纜或銅線、電話線及類似者)或無線網路(例如,蜂巢式網路、射頻(radio-frequency;RF)網路、WiFi、藍牙及類似者)。用戶端裝置110可為以下中之任一者:行動裝置、膝上型電腦、桌上型電腦、平板電腦(例如,掌上型或襯墊)裝置、電視、顯示裝置及/或類似者。用戶端裝置110可由使用者控制以管理、請求、執行及/或以其他方式管理諸如經由本文中所描述之機構對上傳至內容平台或由內容平台代管之視覺內容項目之增強及濾波操作。多個用戶端裝置110可經由線上或離線連接(諸如無線連接、有線連接、特定連接、可行動接、衛星連接及/或類似者)存取由伺服器130代管之內容平台。伺服器130中之各者可為計算裝置,諸如雲端計算伺服器之部分,該雲端計算伺服器包括安裝於機架上之一或多個桌上型電腦或面板及/或類似者。面板可包括處理板及亦包括開關板、路由器及其他網路裝置。
伺服器130可包含記憶體以經由內容平台判定、代管、管理、分析、濾波/增強及/或顯示上傳之視覺內容項目。伺服器130之計算裝置可包含處理器以執行各種演算法及/或模組,以用於經由內容平台執行用於即時或接近即時影像濾波之機器學習演算法。舉例而言,伺服器130之資料儲存組件可儲存機器學習訓練資料集以訓練類神經網路以在運行時間時對用戶端裝置110中之各者進行影像濾波。舉例而言,伺服器130之計算裝置可實施具有自規則化產生器及全域局部鑑別器的GAN以訓練實施於用戶端裝置110中之各者之GPU之著色器組件上的類神經網路。儘管類神經網路之訓練描述為由伺服器130單獨地進行,但類神經網路之訓練及執行可由同一計算組件進行,諸如對用戶端裝置110中之各者進行所有訓練及執行或使伺服器130及用戶端裝置110成為同一計算系統之部分的全部。
圖2為根據本揭露之某些態樣之用於輸出經濾波視覺媒體內容項目的實例內容平台之實例計算網路200之方塊圖。經濾波視覺媒體內容項目可自大體上更暗影像轉換為大體上更亮影像。圖2說明根據一些具體實例之用於圖1之網路架構中的實例計算網路200之(一或多個用戶端裝置之)用戶端裝置110及(一或多個伺服器之)伺服器130。一或多個用戶端裝置110及一或多個伺服器130中之各者可經由對應通信模組210a至210b相互存取及存取網路150中之其他裝置。通信模組210a至210b可各自包括無線電硬體及軟體,諸如RF天線、類比電路、數位至類比轉換電路、數位信號處理電路及/或類似者。圖1至圖2中所描繪之用戶端裝置110及伺服器130可各自分別包括處理器205a至205b及記憶體110a至110b。
大體而言,用戶端裝置110及伺服器130包含至少包括以下之計算裝置:儲存指令之記憶體220a至220b,及處理器205a至205b,該等處理器經組態以執行至少部分進行如本文中所揭露之方法中所描述之一或多個步驟的指令。舉例而言,用戶端裝置110之記憶體220a可用以獲得對對應於由伺服器130代管之內容平台的瀏覽器、應用程式或裝置組件之存取。用戶端裝置110可由內容平台之使用者使用,諸如用於存取、濾波或增強在內容平台上上傳或管理之視覺內容項目,諸如經由在用戶端裝置110上呈現之圖形使用者介面(GUI)螢幕。舉例而言,用戶端裝置110可耦接至至少一個輸入裝置230a及可由使用者存取之輸出裝置232(例如,用於可由使用者感知之使用者輸入及輸出)。輸入裝置230a可包括滑鼠、鍵盤、指標、觸控筆、觸控螢幕顯示器、麥克風、語音識別軟體、圖形使用者介面(GUI)及/或類似者。輸出裝置232可包括顯示器(例如,與輸入裝置相同之觸控螢幕顯示器)、揚聲器、警報及類似者。
作為實例,使用者可經由輸入裝置230a控制及管理視覺內容項目,諸如上傳圖像、視訊、動畫及/或類似者以用於在內容平台上共用或其他使用者所需之操作。亦即,使用者可使用用於將此類內容項目上傳至內容平台上之機構,出於諸如共用資料、產生資料、刪除資料、搜尋/濾波資料,及/或其類似者之目的。用戶端裝置110或伺服器130可執行用於處理內容項目之演算法,諸如影像濾波、全域影像增亮、影像增強及/或類似者。影像處理可包括非機器學習機器預處理及基於機器學習演算法之處理。舉例而言,機器學習演算法可涉及諸如CNN及GAN之類神經網路。作為實例,GAN可使用不成對包圍曝光訓練資料集上之產生器類神經網路及鑑別器類神經網路以用於CNN之無監督訓練。輸入裝置230a可由使用者使用以選擇一或多個視覺內容項目以用於由經訓練CNN進行之影像處理。經訓練CNN可經由輸出裝置232輸出近似於HDR對所選視覺內容項目之單個輸入訊框之效應的訊框。
用戶端裝置110之處理器205a可用於操作用戶端裝置110,以便執行呈現於用戶端裝置110上之應用程式及其功能。應用程式可包括對應於內容平台之應用程式。以此方式,使用者可使用輸入裝置230a(例如,以發送使用者輸入)以使得處理器205a執行用於在內容平台上上傳視覺內容項目以及選擇、共用、濾波及/或進行與優化所上傳視覺內容相關聯之其他功能的機器可執行指令。處理器205a可包含GPU,該GPU實施整合式管線以用於執行用於諸如基於來自用戶端裝置110之圖形管線之經複製輸入影像而優化所上傳視覺內容的類神經網路。由用戶端裝置110之攝影機獲取之影像可儲存於與GPU相關聯之記憶體(例如,專用GPU記憶體)中。GPU整合式管線可在不使用用戶端裝置110之CPU管線之情況下在著色器組件上實施用於影像增強/濾波的類神經網路。亦即,用戶端裝置110可不需要CPU充當PyTorch機器學習後端或進行用於執行類神經網路/機器學習之推斷。
儲存於記憶體220a中之資料檔案224可包括特定於用戶端裝置110之相關聯使用者的應用程式設定、檔案及資料,諸如在內容平台上考慮之對應於相關聯使用者之所保存內容、搜尋歷史、內容設定及/或類似者。資料檔案224可含有指示使用者特定活動之資料,諸如視覺內容項目之組織及特定視覺內容之手動處理或濾波(例如,手動修飾影像、手動選擇影像濾波器或影像增強運算子)。資料檔案亦可包含用於雙向網格上之資料查找之資料(例如,仿射色彩轉換係數)以用於經由經轉換低解析度輸入影像自雙向網格重建構高解析度影像。因此,資料檔案可用於低解析度學習及由類神經網路進行之推斷。類神經網路可基於將一或多個類神經網路模型儲存於資料庫222中而操作。舉例而言,類神經網路之層、物件及其他組件可儲存於資料庫222中。此外,訓練資料可儲存於資料庫222中,但圖2展示訓練資料儲存於資料庫226中。
有利地,伺服器130可使用不成對及無監督訓練來以相對快速配速及高效能層級訓練實施於用戶端裝置110之GPU整合式管線上之類神經網路。作為實例,伺服器130可使用具有注意機制之GAN架構,諸如儲存於資料庫228中之特徵資訊之深度特徵的各層級中之自規則化注意映射。注意機制可確保低光(例如,更暗)訓練影像或訊框經規則化,使得經訓練類神經網路學習輸入訊框之哪些區域應增強更多且哪些區域應增強更少。GAN架構之特徵映射可儲存於資料庫228中。用作訓練資料之包圍曝光資料集可儲存於資料庫226中。如本文中所論述,包圍曝光資料集可包含包圍曝光相片,諸如經由單透鏡反射攝影機、鏡像攝影機或可為用戶端裝置110之部分或構成該用戶端裝置110之其他攝影機。包圍曝光相片可為在不同攝影機設定下之相片序列(例如,脈衝鏡頭)。舉例而言,用戶端裝置110可經組態以實施自動包圍曝光,使得快門釋放之按壓獲得同一場景之多次曝光。包圍曝光相片可包含在經調整曝光補償、快門速度、攝影機設定及/或類似者處獲取之同一場景之相片的變量。
類神經網路訓練架構之設計者可選擇獲取多少包圍曝光鏡頭且在包圍曝光相片之不同相片個例之前設定(例如,曝光)變化多少。資料庫226中含有之包圍曝光資料集可含有2000至4000個相片或一些其他合適量之包圍曝光資料。此外,資料庫226中含有之包圍曝光資料集可為不成對的(例如,場景之黑暗相片不需要與同一場景之光亮相片成對)。由於GAN架構可用於用不成對資料以無監督方式訓練類神經網路,因此類神經網路之訓練可更快且需要更少處理資源。類神經網路之輸出之精確度可藉由在訓練諸如注意機制及全域局部鑑別器期間使用之GAN組件來改良,以避免由類神經網路產生之增強之影像輸出之曝光區域過多或不足。資料庫226可包括「真實」(例如,未經操控)包圍曝光圖像以及「虛假」(例如計算上影像增強)圖像,出於訓練類神經網路以輸出更高品質影像增強之影像之目的,諸如近似於輸入影像之HDR處理之輸出影像。
儘管以上描述描述某些功能係藉由用戶端裝置110之處理器205a進行且其他某些功能係藉由伺服器130之處理器205b進行,但本文中所描述之所有功能可藉由用戶端裝置110及/或伺服器130在一些其他替代分工中進行。亦即,處理器205a、205b可進行上文所描述之更多或更少之功能(例如,機器學習演算法及/或影像處理之部分)。在一些具體實例中,用戶端裝置110之一些或部分可與伺服器130同置。亦即,伺服器130可遠離用戶端裝置110及伺服器130,或該用戶端裝置及該伺服器兩者可為同一更大計算系統、網路或架構之部分。
本文中所描述之技術可實施為由實體計算裝置進行之方法;實施為儲存指令之一或多個非暫時性電腦可讀取儲存媒體,該等指令在由計算裝置執行時使得方法進行;或實施為用使得方法進行之硬體與軟體之組合來特定組態的實體計算裝置。
圖3為說明可藉以實施本發明技術之態樣之實例電腦系統300(例如,表示用戶端及伺服器兩者、一個計算裝置等)的方塊圖。根據本揭露之某些態樣,系統300可經組態以用於經由叢集平台輸出對應於單個輸入影像之影像增強輸出影像。在一些實施中,系統300可包括一或多個計算平台302。計算平台302可對應於內容計算平台之用戶端組件,該內容計算平台可與圖1至圖2之用戶端110類似或相同。作為實例,計算平台302可包含可與處理器205a至205b類似或相同的處理器328,且包含可包括資料檔案224及/或資料庫(諸如資料庫222、226、228)之電子儲存器326。計算平台302可充當實施於GPU上(諸如,GPU之著色器組件上)之整合式管線。整合式管線可能夠基於運行著色器組件上之通用類神經網路而運行任何基於機器學習之技術。計算平台302之整合式GPU管線可用於初始化及執行經訓練類神經網路或用於經學習影像增強之其他機器學習演算法。
計算平台302可經組態以根據用戶端/伺服器架構、同級間架構及/或其他架構經由網路150與一或多個遠端平台304通信,諸如用於使用諸如本文中所描述之包圍曝光資料集在離線訓練程序中(例如,不在運行時間期間)獲得訓練資料。遠端平台304可經組態以經由計算平台302及/或根據用戶端/伺服器架構、同級間架構及/或其他架構與其他遠端平台通信。機器學習影像濾波及/或增強演算法(例如,用於智慧型手機上之接近即時影像濾波)之設計者可使用遠端平台304來訓練類神經網路(例如,CNN)以用於針對影像增強應用各種所需影像運算子。訓練時間可跨越二至四小時。基於網路150之訓練程序可涉及遠端平台304及訓練模組310,使得經訓練CNN能夠基於輸入影像而用更佳對比度自動地輸出全域增亮影像。亦即,CNN可接收單個輸入訊框且輸出極近似於應用HDR(例如,以不同擷取參數組合多個影像以輸出良好影像)之效應之影像增強及/或經濾波輸出影像。
計算平台302可藉由機器可讀取指令306來進行組態。機器可讀取指令306可包括一或多個指令模組。指令模組可包括電腦程式模組。指令模組可包括攝影機模組308、訓練模組310、濾波模組312、特徵提取模組314、卷積模組316、影像增強模組318及/或類似者中之一或多者。
攝影機模組308可經組態以控制計算平台302之攝影機,諸如智慧型手機攝影機、獨立式攝影機、記錄器、合適的反射透鏡及/或類似者。攝影機模組308可經組態以擷取影像及/或視訊,以便選擇構成訊框作為至接近即時機器學習影像濾波/增強演算法之輸入訊框。另外或替代地,攝影機模組308可能夠獲取包圍曝光相片,諸如影像或視訊、電影等之部分,該等相片可用作包圍曝光資料集之部分。舉例而言,包圍曝光資料集可包括以不同攝影機設定(例如,快門速度、曝光層級等)獲取之單個場景之多個影像。亦即,包圍曝光影像之一個系列可包括過度明亮影像、大體上正確地發光之影像及單個場景之過度黑暗影像。影像之系列可為合適數量之影像,諸如3、5、7或一些其他合適數目。
包圍曝光資料集可包括包圍曝光影像之多個系列或集合,其中各系列或集合對應於特定單個場景。攝影機模組308可用於產生包圍曝光影像之此訓練資料集以用於結合訓練模組310訓練機器學習演算法。舉例而言,攝影機模組308可基於使用者按壓與攝影機模組308相關聯之攝影機之擷取按鈕而以各種曝光擷取3、5、7、9或一些其他量之影像。有利地,攝影機模組308無需經組態以擷取用於成對資料集之相片。亦即,由於可以不監督方式訓練經訓練CNN,因此可避免與獲得用於訓練之成對資料集相關聯之挑戰。攝影機模組308可用於基於獲取包圍曝光相片之系列而擷取任意黑暗、光亮、複合等相片,但相片不需為用明亮曝光及黑暗曝光擷取同一場景之成對黑暗及光亮相片。
訓練模組310可經組態以諸如藉由訓練機器學習演算法之類神經網路以近似於各種影像運算子(諸如演算法影像運算子(例如,HDR演算法處理)、手動影像運算子(例如,人工註解修飾)及/或類似者)來訓練機器學習演算法。訓練模組310可諸如基於來自攝影機模組308之訓練資料集而訓練用於AI HDR應用之機器學習演算法的較小類神經網路。訓練資料集可經由遠端平台304接收,該遠端平台可充當伺服器(例如,類似於伺服器130)以離線訓練類神經網路。因此,訓練模組310之訓練功能性可由伺服器離線進行,使得經訓練類神經網路可由計算平台302之使用者裝置(例如,行動計算裝置)上之訓練模組310初始化。訓練模組310可訓練較小類神經網路以僅自一個輸入訊框產生類似於HDR演算法之輸出之所得輸出訊框。以此方式,經訓練類神經網路可近似於來自僅一個所擷取影像之HDR演算法(該HDR演算法以多個攝影機設定(諸如不同曝光層級)將多個所擷取影像合併為一個影像)之輸出。作為實例,訓練模組310可使用包含兩個子模型之GAN,該等子模型在零和遊戲中一起訓練以訓練較小類神經網路。
兩個子模型可包含作為產生器之注意導引U-net,及作為影像鑑別器之雙向鑑別器(例如,全域-局部鑑別器結構)。U-net產生器可經組態以結合特徵提取模組314自不同深度層提取特徵以使用上下文資訊(例如,語義分段、影像恢復、影像增強)來合成影像。U-net產生器亦可在深度特徵之各層級中具有自規則化注意機制,以使包圍曝光影像之不成對訓練資料集之無監督學習規則化,此可防止或減少影像濾波/增強期間之色彩失真或不一致性。自規則化之注意機制(例如,經由自規則化之感知損失)可用以限制輸入影像與其影像增強之版本之間的特徵距離。換言之,注意機制可經組態以在由經訓練類神經網路增強影像內容特徵之前及之後促進輸入訊框中之影像內容特徵之保留。此外,注意機制可用以用訓練資料集中之相對更少影像支援更快訓練。由訓練模組310進行之訓練可更快,此係由於包圍曝光訓練資料集不必成對,使得來自攝影機模組308之包圍曝光影像可分別為不必組織為用於監督式學習之輸入/輸出對的任意黑暗影像及光亮影像。實際上,GAN可使得經訓練類神經網路基於不成對包圍曝光訓練資料集以無監督方式學習得較快。
全域-局部鑑別器可經組態以平衡由經訓練類神經網路進行之全域及局部低光影像增強。特別地,全域-局部鑑別器可處置輸入訊框中之空間變化光亮條件以減少或防止局部過度曝光或曝光不足。GAN之全域-局部鑑別器可用以教示較小類神經網路以基於來自真實影像及輸出影像之隨機裁剪局部分塊而區分真實影像與虛假影像(影像增強之輸出影像)。以此方式,全域-局部鑑別器可訓練較小類神經網路以學習局部調整,諸如用以在與背景中之其他區不同之總體黑暗背景中增強較小明亮區。訓練模組310結合用作訓練資料之包圍曝光資料集可有利地提供快速及有效之訓練架構,以用於訓練較小類神經網路以將黑暗影像轉換為光亮影像,諸如基於深度學習之AI HDR方法。訓練可離線進行,該訓練不同於類神經網路之運行時間。
濾波模組312可經組態以進行影像預處理。舉例而言,濾波模組312可執行質樸演算法以用於調整視覺內容項目之通用亮度,諸如以0至100之比例或一些其他合適的比例。比例值可對應於指示內容項目之通用亮度更接近白色之更高層級。亦即,若亮度值設定為無限的,則接著內容項目中之所有色彩近似於所有白色(例如,內容項目將顯現為全白背景)。因此,設定為無限亮度之影像將失去對比度。由濾波模組312執行演算法可用以獨立地處理紅色、綠色及藍色通道且在數學上導出由內容項目描繪之場景之亮度的總體數學表示。大體而言,濾波模組312可作為GPU管線及/或CPU之部分執行各種影像濾波器,其可與由經訓練類神經網路執行之AI HDR機器學習演算法分離。舉例而言,影像濾波器可在由經訓練類神經網路應用之深度學習影像處理之前用作輸入訊框之預處理或後處理的部分。由濾波模組312應用之影像濾波可為用以改良輸入訊框之影像品質的非機器學習增強。由過濾模組312應用之影像濾波可為由經訓練類神經網路應用之機器學習演算法之前或之後應用的多個影像濾波器之組合或單個影像濾波器,諸如針對溫暖、飽和度、色彩及/或類似者之影像濾波器。
特徵提取模組314可經組態以判定結合由訓練模組310實施之GAN之特徵映射。舉例而言,特徵映射可乘以GAN之自規則化之注意機制的注意映射。特徵提取模組314可提取影像之間的特徵距離,諸如經訓練類神經網路之輸出影像與其地面實況之間的距離。如本文中所論述,注意機制可用於自我特徵保留損失以在由經訓練類神經網路進行之影像增強之後保留各種特徵。大體而言,由特徵提取模組314提取之特徵可為影像內容特徵。作為實例,在由訓練模組310進行之類神經網路之訓練期間,來自不同深度層之多層級特徵可由U-net產生器結合特徵提取模組314提取。
特徵提取模組314亦可提取用於經訓練類神經網路之特徵以進行輸入訊框之影像增強,諸如色調調整、色彩校正、局部編輯及/或類似者。特徵可為稍後經由雙向網格上取樣轉換為高解析度之低解析度特徵。特徵提取模組314可由類神經網路使用以學習經融合且用於判定仿射係數之雙向網格之局部特徵及全域特徵,作為雙向網格上取樣程序之部分。作為實例,融合可產生經由特徵提取模組314判定之特徵之16×16×16陣列。切分運算子可經應用以經由三線性內插獲得新的上取樣高解析度特徵映射,該三線性內插可用以經由雙向網格轉換為高解析度影像。全解析度特徵集可由特徵提取模組314提取以在高解析度下且隨後用用於應用仿射係數之切分運算子預測用於色彩轉換之導引映射,以藉由經訓練類神經網路獲得影像增強之全解析度輸出訊框。
卷積模組316可經組態以實施類神經網路之一或多個卷積層,該一或多個卷積層可為CNN。卷積模組316之卷積層可包括卷積層之堆疊以處理局部特徵路徑中之較低解析度特徵,以便結合特徵提取模組314提取語義資訊(例如,辨識影像中之面部)。作為實例,卷積層之堆疊可使用具有經分散卷積之高解析度輸入訊框的漸進式降取樣以進行依賴於語義資訊之影像增強,以便辨識面部以用於面部增亮影像運算子之正確執行,使得面部變亮而身體及背景之剩餘部分變暗。卷積模組316之卷積層亦可包括兩個經分散卷積層,隨後為全域特徵路徑中之三個全連接層。卷積模組316亦可包括用於以逐點仿射混合來融合局部特徵與全域路徑之融合及逐點層。以此方式,CNN之卷積模組316可包含表示為雙向網格之最後輸出層以判定最佳2D至3D過渡以用於經由仿射係數之經預測雙向網格進行上取樣。CNN亦可學習非演算法轉換,諸如手動影像調整。
影像增強模組322可經組態以輸出由經訓練CNN處理之輸出影像。作為實例,輸出訊框可藉由經訓練CNN經由機器學習影像運算子處理,以便近似於即時或接近即時地對單個輸入影像之HDR影像濾波器的效應。影像增強模組322可包含用於諸如結合特徵提取模組314將仿射係數之雙向網格上取樣返回至全解析度經切分特徵映射的切分節點。亦即,影像增強模組322可經組態以組合全解析度輸出訊框。影像增強模組322可基於導引映射進行雙向網格上之資料相依查找(例如,以對輸入影像之各像素進行局部色彩轉換)以輸出影像增強之輸出影像。如本文中所使用,高解析度或全解析度可指320×320或一些其他合適的高解析度。如本文中所使用,低解析度可指20×20或一些其他合適的低解析度。
電子儲存器326可維持用於執行機器學習演算法所必要之訓練資料及/或其他資料之量。舉例而言,電子儲存器326可儲存包圍曝光資料集,諸如大致2000至4000個影像之資料集。儲存於電子儲存器326中之資料及資訊可藉由處理器328檢索,諸如用於執行機器學習演算法之類神經網路以用於全域增亮影像增強操作或一些其他合適的影像濾波/增強操作。另外或替代地,舉例而言,諸如影像濾波器及/或類似者之資料及資訊可儲存於後端組件中,諸如GPU或CPU之外部資源324。舉例而言,處理器328可將請求發送至外部資源324以自後端請求資訊以用於執行機器學習演算法。作為實例,外部資源可包括在CPU(例如,PyTorch CPU)上運行之機器學習庫、圖形呈現器後端、GPU操作系統後端及/或類似者。電子儲存器326可包括諸如用於視訊抗頻疊之資料及/或演算法、用於色彩濾波器之AI三維查找表、雜訊減少、模型遞送系統、視訊訊框內插及超解析度及/或類似者。
在一些實施中,計算平台302、遠端平台304及/或外部資源324可經由一或多個電子通信鏈路以操作方式鏈接。舉例而言,此類電子通信鏈路可至少部分經由諸如網際網路及/或其他網路之網路150建立。應瞭解,此並不意欲為限制性的,且本揭露之範圍包括計算平台302、遠端平台304及/或外部資源324可經由一些其他通信媒體以操作方式鏈接之實施。
給定計算平台302(或給定遠端平台304)可包括經組態以執行電腦程式模組之一或多個處理器328。電腦程式模組可經組態以使與給定計算平台302相關聯之使用者能夠與系統300及/或外部資源324介接,及/或提供在本文中歸於計算平台302之其他功能性。藉助於非限制性實例,給定遠端平台304及/或給定計算平台302可包括以下中之一或多者:伺服器、桌上型電腦、膝上型電腦、手持型電腦、平板電腦計算平台、迷你筆記型電腦(NetBook)、智慧型手機、遊戲控制台及/或其他計算平台。外部資源324可包括系統300之外部之資訊源、參與系統300之外部實體及/或其他資源。在一些實施中,本文中歸於外部資源324之功能性中之一些或全部可藉由包括於系統300中之資源來提供。
計算平台302可包括電子儲存器326、處理器328及/或其他組件。計算平台302可包括用以實現資訊與網路及/或其他計算平台之交換的通信線或埠。圖3中之計算平台302之說明並不意欲為限制性的。計算平台302可包括一起操作以提供本文中歸於計算平台302之功能性之複數個硬體、軟體及/或韌體組件。舉例而言,計算平台302可藉由一起作為計算平台302操作之計算平台之雲端來實施。
電子儲存器326可包含以電子方式儲存資訊之非暫時性儲存媒體。電子儲存器326之電子儲存媒體可包括與計算平台302一體(亦即,實質上不可移除)提供之系統儲存器及/或經由例如埠(例如,USB埠、火線埠等)或驅動器(例如,磁碟機等)以可移除方式連接至計算平台302的可移除儲存器中之一者或兩者。電子儲存器326可包括光學可讀取儲存媒體(例如,光碟等)、磁性可讀取儲存媒體(例如,磁帶、磁性硬碟、軟碟等)、基於電荷之儲存媒體(例如,EEPROM、RAM等)、固態儲存媒體(例如,快閃驅動器等)及/或其他電子可讀取儲存媒體中之一或多者。電子儲存器326可包括一或多個虛擬儲存資源(例如,雲端儲存器、虛擬私有網路及/或其他虛擬儲存資源)。電子儲存器326可儲存軟體演算法、藉由處理器328判定之資訊、自計算平台302接收到之資訊、自遠端平台304接收到之資訊及/或使得計算平台302能夠如本文中所描述運作之其他資訊。
處理器328可經組態以在計算平台302中提供資訊處理能力。因而,處理器328可包括數位處理器、類比處理器、經設計以處理資訊之數位電路、經設計以處理資訊之類比電路、狀態機及/或用於以電子方式處理資訊之其他機構中之一或多者。儘管處理器328在圖3中展示為單個實體,但此僅出於說明性目的。在一些實施中,處理器328可包括複數個處理單元。此等處理單元可實體地定位於同一裝置內,或處理器328可表示處理協調操作之複數個裝置的功能性。處理器328可經組態以執行模組308、310、312、314、316及/或318其他模組。處理器328可經組態以藉由以下執行模組308、310、312、314、316及/或318及/或其他模組:軟體;硬體;韌體;軟體、硬體及/或韌體之某一組合;及/或用於在處理器328上對處理能力進行組態之其他機構。如本文中所使用,術語「模組」可指進行歸於模組之功能性的任何組件或組件集。此可包括在處理器可讀取指令之執行期間之一或多個實體處理器、處理器可讀取指令、電路系統、硬體、儲存媒體或任何其他組件。
應瞭解,儘管模組308、310、312、314、316及/或318在圖3中說明為實施於單個處理單元內,但在其中處理器328包括多個處理單元之實施中,模組308、310、312、314、316及/或318中之一或多者可遠離其他模組實施。本文中所描述之對由不同模組308、310、312、314、316及/或318提供之功能性的描述係出於說明之目的,且並不意欲為限制性的,此係因為模組308、310、312、314、316及/或318中之任一者可提供比所描述功能性更多或更少的功能性。舉例而言,可消除模組308、310、312、314、316及/或318中之一或多者,且其功能性中之一些或全部可由模組308、310、312、314、316及/或318中之其他者提供。作為另一實例,處理器328可經組態以執行一或多個額外模組,該一或多個額外模組可進行下文歸於模組308、310、312、314、316及/或318中之一者的功能性中之一些或全部。
本文中所描述之技術可實施為由實體計算裝置進行之方法;實施為儲存指令之一或多個非暫時性電腦可讀取儲存媒體,該等指令在由計算裝置執行時使得方法進行;或實施為用使得方法進行之硬體與軟體之組合特定組態的實體計算裝置。
圖4A至圖4B為根據本揭露之某些態樣之藉由機器學習影像運算子及手動影像運算子分別針對亮度濾波之實例影像400a、400b。影像400a可藉由實施於GPU管線之著色器組件上之經訓練類神經網路而產生,該GPU管線由單個行動計算裝置執行。影像400b可藉由由行動計算裝置上之GPU管線執行之影像濾波器而產生。影像400a可為經由AI機器學習全域增亮操作而維持更佳對比度之更高品質影像濾波/增強之影像。舉例而言,影像400a中所描繪之面部可藉由局部增亮操作增強,該局部增亮操作相比於影像400b之影像濾波結果表示相對於更暗背景之更佳對比度。舉例而言,AI增亮操作可近似於藉由GPU管線在由使用者經由行動計算裝置選擇之單個輸入訊框上即時或接近即時進行之HDR影像濾波器。作為實例,藉由應用於影像400b上之影像濾波器調整之亮度可係基於使用者控制滑件組件(例如,在圖形使用者介面上)以用於調整範圍介於0至100之比例的通用亮度。全域亮度之手動調整可為基於非機器學習之影像濾波器,該基於非機器學習之影像濾波器亦可藉由GPU應用為質樸影像濾波操作,除了機器學習影像濾波器(例如影像400a)以外或替代機器學習影像濾波器(例如影像400b)。影像400a描繪與來自使用接近即時機器學習影像濾波器/增強之影像400b相比更大的對比度,該接近即時機器學習影像濾波器/增強可結合其他非機器學習影像濾波器來應用。
圖5展示涉及擷取及組合同一場景之若干不同曝光之高動態範圍成像技術500的實例應用。作為實例,HDR成像技術用各種擷取參數組合多個影像以產生全域自然及良好影像。如本文所描述之在行動裝置GPU(例如,整合式管線)上運行接近即時影像濾波器之經訓練類神經網路可自單個輸入影像產生輸出影像以近似於使用HDR成像技術之效應。HDR之動態範圍可指最大色調值與最小色調值之間的比率。HDR成像技術可用於維持諸如涉及極明亮(例如,高日光)及極黑暗(例如,高陰影)部分之場景的場景之間的對比度。因而,使用機器學習以近似於來自僅一個影像輸入之HDR成像技術之經訓練類神經網路可有利地用以維持與全域增亮影像之更佳對比度。
HDR成像技術可為行動裝置上(諸如智慧型攝影機電話上)之可選模式。行動裝置可用於基於藉由行動裝置之攝影機獲取之一系列照片(諸如在彼此之毫秒內獲取且合併至複合HDR相片中的三個鏡頭之組合)藉由平衡陰影與場景之高亮來產生複合HDR相片。複合HDR相片可經由多個圖像之此合併而組合多個曝光或其他攝影機設定,使得複合HDR相片之對比度層級平衡(例如,相片之一些過度曝光組件並未顯現經沖洗,且更黑暗區域並未僅呈現為黑暗陰影)。替代地,HDR可涉及在同一曝光時間合併恆定低曝光之訊框之脈衝。舉例而言,合併訊框可係基於成對頻域時間濾波器。圖5展示一系列曝光影像502a至502f、504a至504f。影像502a至502f、504a至504f中之各者可表示不同終止層級,使得影像502a至502f、504a至504f表示曝光層級之改變。
曝光層級之改變可由依據曝光值(exposure value;EV)量測之相片光闌逐漸改變。EV可指攝影機之曝光索引或曝光顯示器上之當前曝光的位置,即自一個曝光至此標記或另一EV層級之相對距離。攝影機之快門速度或光圈亦可以EV層級之分數來量測,諸如EV層級之三分之一。作為實例,EV層級可跨越及/或對應於攝影光闌之整數倍。如圖5中所展示,影像502a至502f可跨越EV層級之改變,其中各者可等效於曝光之光闌。因此,影像502a至502f可自-6跨越至-1光闌。負光闌可指停止,此意謂曝光減少。因而,當EV層級自-6光闌轉換至-1光闌時,影像502a至502f變得逐漸更明亮(例如,自顯著黑色變成更亮背景)。
如圖5中所展示,影像504a至504f亦可跨越EV層級自0光闌至5光闌之改變。正光闌可指停止,此意謂曝光增加。因而,當EV層級自0光闌轉換至5光闌時,影像502a至502f在0光闌處自大體上類神經明亮逐漸變得更亮以在5光闌處更接近於全白背景。在將HDR成像技術應用於所擷取用於經由HDR合併的脈衝或一系列影像上之後,HDR成像處理技術可產生具有自然色調映射之合併影像506。亦即,自然色調映射可使得提高陰影、保持局部對比度及以平衡方式犧牲全域對比度。以此方式,來自HDR成像技術之所產生合併影像506可避免或減少曝光不足區域(例如,過於黑暗,可用HDR調色且保留細節)及過度曝光區域(例如,過於明亮,可用HDR調色以先前展現陰影中之細節)。
圖6為說明根據本揭露之某些態樣之雙向導引上取樣之實例流程圖600。雙向導引上取樣可用作機器學習演算法之部分,諸如應用接近即時濾波器及/或增強之經訓練類神經網路以近似於HDR成像技術之效應。如流程圖600中所展示,高解析度影像之輸入訊框602可輸入至經訓練類神經網路。如本文中所論述,經訓練類神經網路可為有利地相對較小(例如,就計算處理成本而言),且可以運行時間在行動計算裝置之整合式GPU管線上快速執行。高解析度輸入訊框可降取樣以促進藉由經訓練類神經網路進行之處理。
特別地,經訓練類神經網路可學習局部特徵路徑中之特徵。藉由學習特徵及以局部解析度進行大部分計算,可改良經訓練類神經網路之操作之成本及速度。為了進一步詳細說明,流程圖600描繪雙向網格可如何自降取樣低解析度輸入604產生且用以使用網格轉換至高解析度輸出以用於經訓練類神經網路之更快操作。經降取樣低解析度輸入604可用於判定雙向空間中之局部仿射模型之網格,該等局部仿射模型近似於由經訓練類神經網路可學習之影像運算子(例如,HDR技術影像運算子)。經訓練類神經網路可經訓練以預測雙向空間中之局部仿射模型之係數。
以此方式,經訓練類神經網路可學習經由自輸入訊框至輸出訊框之對應影像轉換而產生近似於影像運算子之局部、全域及內容脈絡相依之改變。作為實例,經訓練類神經網路可經由應用於經降取樣低解析度輸入604以獲得低解析度輸出606之局部仿射色彩轉換而應用運算子。雙向空間中之局部仿射模型之網格亦可包括基於全域路徑之仿射模型。亦即,可基於將局部特徵(例如,在局部路徑中)與全域特徵融合而產生仿射係數之雙向網格。對低解析度輸入604及/或低解析度輸出606藉由經訓練類神經網路進行推斷以學習局部影像特徵及全域影像特徵兩者(例如,直方圖、平均強度、場景類別等)。融合局部路徑與全域路徑可係基於諸如切分節點之切分。切分節點可經組態以判定表示仿射轉換之最終係數。
切分節點可基於經學習之導引映射在仿射係數之低解析度網格中進行資料相依查找以判定經由雙向網格轉換至高解析度輸出608的低解析度輸出506。特別地,擬合雙向空間仿射模型可由切分節點使用以自三線性內插獲得新特徵映射。因此,切分節點可使用經學習之全解析度導引映射以預測高解析度輸出608之輸出像素。因此,可使用複數個更簡單局部模型來預測對全解析度影像之複雜操作。新特徵映射之仿射係數(例如,經由仿射係數之雙向網格上取樣)可用以自高解析度輸入602組合高解析度輸入608。以此方式,經訓練類神經網路可更快速且以較低成本自輸入訊框輸出高解析度608,該高解析度為由所要經學習之影像運算子增強及/或濾波之輸出訊框。以更低解析度進行更多機器學習處理可改良經訓練類神經網路之速度且降低處理成本。
圖7為說明根據本揭露之某些態樣之實施於圖形處理單元上之整合式管線700的實例流程圖。整合式管線700可為均質管線,其有利地將輸出延遲自每經處理訊框大致10秒減少至每訊框大致100毫秒或甚至每訊框33毫秒。整合式管線700可基於移除整合式管線700之CPU管線或CPU部分而更快地操作,使得資料之CPU-GPU複製及移動可移除或減少。整合式管線700可用機器學習會聚電腦圖形呈現管線。作為實例,整合式管線700可包括組合器、鑲嵌器、光柵化器、著色器及/或其他電腦圖形階段及/或組件。舉例而言,整合式管線700可藉由實施較小型類神經網路至著色器組件上而以機器學習影像濾波器/增強來會聚此等圖形呈現組件。
以此方式,整合式管線700以更快、更有效及經改良方式進行圖形呈現及影像濾波兩者。整合式管線706可有利地在無GPU-CPU同步或資料之複製成本的情況下在著色器組件706上實施類神經網路(例如,如本文所描述之經訓練CNN)。舉例而言,GPU上之影像濾波(例如,AI或非AI)可基於在PyTorch行動CPU上處理資料(例如,預處理或後處理)而執行,此可導致諸如來自同步之延遲。著色器組件706上之類神經網路可在無需遠端或後端CPU之情況下運行,此可改良操作。此外,除藉由著色器組件706上之類神經網路所進行之機器學習影像操作之外,整合式管線700可有益地實施非機器學習影像運算子。舉例而言,整合式管線700可在不必在濾波之早期階段中複製輸入影像之情況下執行各種舊式非機器學習影像濾波器704、706。因而,所擷取影像訊框或圖像可完全在GPU之整合式管線700上開始(例如,在GPU記憶體組件中)且結束處理。
影像濾波器704、706可在基於深度學習之技術之前或之後應用。舉例而言,在機器學習影像濾波/增強之前,使用者可在濾波器704處應用預處理濾波,諸如手動濾波器設定(諸如色彩、淡化、高光、飽和度、陰影及/或類似者)。舉例而言,在機器學習影像濾波/增強之後,使用者可在濾波器706處應用後處理濾波,諸如手動修飾(諸如色彩修飾、旋轉、局部亮度及暗度調整)、手動應用影像濾波器及/或類似者。所有此類預處理及後處理可有利地對實施於GPU整合式管線700上之濾波器進行。因此,整合式管線700基於使得所有額外濾波704、706能夠在藉由著色器組件706上之類神經網路處理以實施於GPU上而無任何CPU管線之前及之後進行而減少處理成本及輸出延遲。
圖8說明根據本揭露之某些態樣之用於經由計算平台發送內容的實例流程圖(例如,程序800)。出於解釋性目的,本文中參考以上圖式中之一或多者描述實例程序800。另外出於解釋性目的,實例程序800之步驟在本文中描述為連續地或線性地發生。然而,實例程序800之多個個例可並行地、在時間上重疊、幾乎同時發生或以與實例程序800中所說明之次序不同的次序發生。另外,不必以所展示之次序進行實例程序800之步驟及/或不必進行實例程序800之步驟中之一或多者。出於解釋本發明技術之目的,將參考以上一或多個圖式論述程序800。作為實例,程序800可至少部分地藉由或經由下文所描述之圖1中之例示性網路架構100、圖2中之實例計算網路200、圖3中之實例電腦系統300或圖9中之實例電腦系統900進行。因此,程序800中之步驟中之至少一些可藉由執行儲存於例如實例計算平台302中之命令之處理器來進行。實例程序800可用於輸出經濾波視覺媒體內容項目。
在步驟802處,可接收視覺媒體內容項目之輸入訊框。根據態樣,接收輸入訊框包含接收由行動計算裝置或成像裝置獲取之相片或視訊。在步驟804處,可基於包圍曝光影像之資料集而訓練機器學習演算法。根據態樣,訓練機器學習演算法包含使用生成對抗網路來訓練類神經網路以用於產生輸出影像,該等輸出影像藉由影像增強操作基於在包圍曝光影像之資料集之不成對影像的增強與非增強部分之間區分進行修改。類神經網路可包含卷積類神經網路。根據態樣,訓練機器學習演算法包含判定包圍曝光視覺媒體內容項目之不成對資料集。包圍曝光視覺媒體內容項目可包含在各種攝影機設定下之一個影像之複數個相片。
在步驟806處,機器學習演算法之類神經網路可經由圖形處理單元之著色器組件而進行組態。舉例而言,組態可係基於輸入訊框之影像濾波。根據態樣,對類神經網路進行組態包含使複數個經分散卷積層、切分層及複數個全連接層初始化。影像濾波可包含預處理。在步驟808處,可判定輸入訊框之與黑暗程度相關聯之一或多個部分。根據態樣,判定輸入訊框之一或多個部分包含經由類神經網路提取語義資訊,以用於判定針對輸入訊框中之色調調整及色彩校正之位置。
在步驟810處,可藉由類神經網路對輸入訊框之一或多個部分進行影像增強操作。根據態樣,進行影像增強操作包含:將輸入訊框降取樣至低解析度輸入訊框;藉由類神經網路在雙向網格內應用經學習之雙向放大操作;經由低解析度輸入訊框及雙向網格產生局部仿射色彩轉換;將輸入訊框放大至高解析度訊框;在放大局部仿射色彩轉換之後將局部仿射色彩轉換應用於高解析度訊框;及輸出影像運算子以將影像增強操作應用於高解析度訊框。根據態樣,進行影像增強操作包含進行全域增亮操作以維持輸出訊框之黑暗區域與光亮區域之間的亮度對比度。
在步驟812處,可提供指令以顯示輸出訊框,該輸出訊框具有藉由影像增強操作改變之一或多個部分。根據態樣,一種經組態以用於在圖形處理單元上實施之整合式管線包含類神經網路及經組態以進行輸入訊框之影像濾波的影像濾波器。根據態樣,程序800可進一步包括經由攝影機在複數個曝光層級處產生複數個連續影像。根據態樣,程序800可進一步包括基於複數個連續影像判定包圍曝光影像之資料集。根據態樣,程序800可進一步包括藉由中性網路判定仿射係數之雙向網格。舉例而言,影像增強操作可包含以下中之至少一者:面部增亮操作、色彩校正操作、曝光操作、色調映射操作、樣式轉變操作、細節增強操作或手動註解操作。
圖9為說明可藉以實施本揭露之態樣之例示性電腦系統900的方塊圖。在某些態樣中,電腦系統900可使用在專屬伺服器中、整合至另一實體中或跨越多個實體之硬體或軟體與硬體之組合來實施。
電腦系統900包括用於傳達資訊之匯流排608或其他通信機構及與匯流排608耦接以用於處理資訊的處理器902(例如,CPU、GPU等)。藉助於實例,電腦系統900可用一或多個處理器902實施。處理器902可為通用微處理器、微控制器、數位信號處理器(Digital Signal Processor;DSP)、特殊應用積體電路(Application Specific Integrated Circuit;ASIC)、場可程式化閘極陣列(Field Programmable Gate Array;FPGA)、可程式化邏輯裝置(Programmable Logic Device;PLD)、控制器、狀態機、閘控邏輯、離散硬體組件或可進行資訊之計算或其他操控的任何其他合適實體。
除了硬體之外,電腦系統900可包括產生用於相關電腦程式之執行環境之程式碼,例如,構成處理器韌體、協定堆疊、資料庫管理系統、操作系統或儲存於所包括記憶體604(例如記憶體220a至220b)中之其等中之一或多個的組合之程式碼,諸如隨機存取記憶體(Random Access Memory;RAM)、快閃記憶體、唯讀記憶體(Read-Only Memory;ROM)、可程式化唯讀記憶體(Programmable Read-Only Memory;PROM)、可抹除PROM(Erasable PROM;EPROM)、暫存器、硬碟、可移除式磁碟、CD-ROM、DVD或任何其他合適的儲存裝置,耦接至匯流排608以用於儲存藉由處理器902執行之資訊及指令。處理器902及記憶體604可由專用邏輯電路補充或併入專用邏輯電路中。
指令可儲存於記憶體604中且在一或多個電腦程式產品中實施,亦即,在電腦可讀取媒體上編碼以用於藉由電腦系統900執行或控制電腦系統900之操作的電腦程式指令之一或多個模組,且根據所屬技術領域中具有通常知識者熟知之任何方法,該等指令包括但不限於諸如以下之電腦語言:資料定向語言(例如,SQL、dBase)、系統語言(例如,C、Objective-C、C++、彙編)、架構語言(例如,Java、NET)及應用程式語言(例如,PHP、Ruby、Perl、Python)。指令亦可以電腦語言實施,諸如陣列語言、態樣定向語言、彙編語言、製作語言、命令行介面語言、編譯語言、並行語言、波形包圍曝光語言、資料流語言、資料結構式語言、宣告式語言、深奧語言、擴展語言、第四代語言、函數語言、互動模式語言、解譯語言、反覆語言、基於串列的語言、小語言、基於邏輯的語言、機器語言、巨集語言、元程式設計語言、多重範型語言(multiparadigm language)、數值分析、基於非英語的語言、基於物件定向分類的語言、基於物件定向原型的語言、場外規則語言、程序語言、反射語言、基於規則的語言、指令碼處理語言、基於堆疊的語言、同步語言、語法處置語言、視覺語言、沃斯(wirth)語言及基於xml的語言。記憶體904亦可用於在待由處理器902執行指令之執行期間儲存暫時性變數或其他中間資訊。
如本文所論述之電腦程式未必對應於檔案系統中之檔案。程式可儲存於保持其他程式或資料(例如,儲存於標記語言文件中之一或多個指令碼)的檔案的部分中、儲存於專用於所討論之程式的單個檔案中,或儲存於多個經協調檔案(例如,儲存一或多個模組、子程式或程式碼之部分的檔案)中。電腦程式可經部署以在一個電腦上或在定位於一個位點或跨越多個位點分佈且由通信網路互連之多個電腦上執行。本說明書中描述之程序及邏輯流程可由一或多個可程式化處理器執行,該可程式化處理器執行一或多個電腦程式以藉由對輸入資料進行操作且產生輸出來進行功能。
電腦系統900進一步包括與匯流排908耦接以用於儲存資訊及指令的資料儲存裝置906,諸如磁碟或光碟。電腦系統900可經由輸入/輸出模組910耦接至各種裝置。輸入/輸出模組910可為任何輸入/輸出模組。例示性輸入/輸出模組910包括諸如USB埠之資料埠。輸入/輸出模組910經組態以連接至通信模組912。例示性通信模組912包括網路連接介面卡,諸如乙太網路(Ethernet)卡及數據機。在某些態樣中,輸入/輸出模組910經組態以連接至複數個裝置,諸如輸入裝置914及/或輸出裝置916。例示性輸入裝置914包括鍵盤及指標裝置,例如滑鼠或軌跡球,消費者可藉由該指標裝置提供輸入至電腦系統900。其他種類之輸入裝置914亦可用以提供與使用者之互動,諸如觸覺輸入裝置、視覺輸入裝置、音訊輸入裝置或腦機介面裝置。舉例而言,提供給使用者之回饋可為任何形式之感測回饋,例如視覺回饋、聽覺回饋或觸覺回饋,且來自使用者之輸入可以任何形式接收,包括聲輸入、語音輸入、觸覺輸入或腦波輸入。例示性輸出裝置916包括用於向使用者顯示資訊之顯示裝置,諸如液晶顯示器(liquid crystal display;LCD)監控器。
根據本揭露之一個態樣,回應於處理器902執行記憶體904中含有之一或多個指令的一或多個序列,計算平台100及架構300可使用電腦系統900來實施。此類指令可自另一機器可讀取媒體(諸如,資料儲存裝置906)讀取至記憶體904中。執行主記憶體904中含有之指令序列使得處理器902進行本文中所描述之程序步驟。呈多處理配置之一或多個處理器亦可用以執行記憶體904中所含有之指令序列。在替代態樣中,硬佈線電路可代替軟體指令使用或與軟體指令組合使用,以實施本揭露之各種態樣。因此,本揭露之態樣不限於硬體電路及軟體之任何特定組合。
本說明書中所描述之主題的各種態樣可實施於計算系統中,該計算系統包括後端組件(例如資料伺服器),或包括中間軟體組件(例如應用程式伺服器),或包括前端組件(例如具有使用者可與本說明書中所描述之主題的實施互動所經由之圖形使用者介面或網路瀏覽器的用戶端電腦),或一或多個此類後端組件、中間軟體組件或前端組件之任何組合。系統之組件可藉由數位資料通信之任何形式或媒體(例如,通信網路)互連。通信網路可包括例如LAN、WAN、網際網路及類似者中之任何一或多者。此外,通信網路可包括但不限於例如以下網路拓樸中之任何一或多者,包括匯流排網路、星形網路、環形網路、網狀網路、星形匯流排網路、樹或階層式網路或類似者。通信模組可例如為數據機或乙太網路卡。
電腦系統900可包括用戶端及伺服器。用戶端及伺服器大體上彼此遠離且典型地經由通信網路互動。用戶端與伺服器之關係藉助於在各別電腦上運行且彼此具有用戶端-伺服器關係之電腦程式產生。電腦系統900可為例如但不限於桌上型電腦、膝上型電腦或平板電腦。電腦系統900亦可嵌入於另一裝置中,例如但不限於行動電話、PDA、行動音訊播放器、全球定位系統(Global Positioning System;GPS)接收器、視訊遊戲控制台及/或電視機上盒。
如本文中所使用之術語「機器可讀取儲存媒體」或「電腦可讀取媒體」係指參與將指令提供至處理器902以供執行之任何媒介或媒體。此媒體可呈許多形式,包括但不限於非揮發性媒體、揮發性媒體及傳輸媒體。非揮發性媒體包括例如光碟或磁碟,諸如資料儲存裝置906。揮發性媒體包括動態記憶體,諸如記憶體904。傳輸媒體包括同軸纜線、銅線及光纖,包括包含匯流排908之電線。機器可讀取媒體之常見形式包括例如軟碟、軟性磁碟、硬碟、磁帶、任何其他磁性媒體、CD-ROM、DVD、任何其他光學媒體、打孔卡、紙帶、具有孔圖案之任何其他實體媒體、RAM、PROM、EPROM、FLASH EPROM、任何其他記憶體晶片或卡匣,或可供電腦讀取之任何其他媒體。機器可讀取儲存媒體可為機器可讀取儲存裝置、機器可讀取儲存基板、記憶體裝置、影響機器可讀取傳播信號之物質的組成物,或其中之一或多者的組合。
如本文中所使用,在一系列項目之前之藉由術語「及」或「或」分離該等項目中之任一者的片語「……中之至少一者」修改清單整體,而非清單中之各成員(亦即,各項目)。片語「……中之至少一者」不需要選擇至少一個項目;實情為,該片語允許包括該等項目中之任一者中之至少一者及/或該等項目之任何組合中之至少一者及/或該等項目中之各者中之至少一者之涵義。藉助於實例,片語「A、B及C中之至少一者」或「A、B或C中之至少一者」各自係指僅A、僅B或僅C;A、B及C之任何組合;及/或A、B及C中之各者中的至少一者。
就術語「包括」、「具有」或類似者用於描述或申請專利範圍中而言,此術語意欲以類似於術語「包含」在「包含」作為過渡詞用於申請專利範圍中時所解譯之方式而為包括性的。本文中使用詞語「例示性」以意謂「充當實例、個例或說明」。在本文中描述為「例示性」之任何具體實例不應解釋為比其他具體實例較佳或有利。
除非具體陳述,否則以單數形式對元件的提及並不意欲意謂「一個且僅一個」,而指「一或多個」。所屬技術領域中具有通常知識者已知或稍後將知曉的貫穿本揭露而描述之各種組態之元件的所有結構及功能等效物係以引用方式明確地併入本文中,且意欲由本發明技術涵蓋。此外,本文中所揭露之任何內容均不意欲專用於公眾,無論在以上描述中是否明確地敍述此揭露。
雖然本說明書含有許多細節,但此等細節不應解釋為限制可能主張之內容的範圍,而係應解釋為對主題之特定實施的描述。在分離具體實例之上下文中描述於本說明書中的某些特徵亦可在單個具體實例中以組合形式實施。相反,在單個具體實例之上下文中描述的各種特徵亦可在多個具體實例中分別或以任何合適子組合形式實施。此外,儘管上文可將特徵描述為以某些組合起作用且甚至最初按此來主張,但來自所主張組合之一或多個特徵在一些狀況下可自該組合刪除,且所主張之組合可針對子組合或子組合之變化。
本說明書之主題已關於特定態樣加以描述,但其他態樣可經實施且在以下申請專利範圍之範圍內。舉例而言,儘管在圖式中以特定次序來描繪操作,但不應將此理解為需要以所展示之特定次序或以順序次序進行此類操作,或進行所有所說明操作以實現合乎需要之結果。申請專利範圍中所陳述之動作可以不同次序進行且仍實現所期望之結果。作為一個實例,附圖中描繪之程序未必需要展示之特定次序,或依序次序,以實現合乎需要之結果。在某些環境中,多任務及並行處理可為有利的。此外,不應將上文所描述之態樣中之各種系統組件的分離理解為在所有態樣中皆要求此分離,且應理解,所描述之程式組件及系統可大體一同整合於單個軟體產品或封裝至多個軟體產品中。其他變化係在以下申請專利範圍之範圍內。
100:網路架構
110:用戶端裝置
130:伺服器
150:網路
200:計算網路
205a:處理器
205b:處理器
210a:通信模組
210b:通信模組
220a:記憶體
220b:記憶體
222:資料庫
224:資料檔案
226:資料庫
228:資料庫
230a:輸入裝置
232:輸出裝置
300:系統
302:計算平台
304:遠端平台
306:機器可讀取指令
308:攝影機模組
310:訓練模組
312:濾波模組
314:特徵提取模組
316:卷積模組
318:影像增強模組
324:外部資源
326:電子儲存器
328:處理器
400a:影像
400b:影像
500:高動態範圍成像技術
502a至502f:曝光影像
504a至504f:曝光影像
506:影像
600:流程圖
602:輸入訊框
604:低解析度輸入/記憶體
606:低解析度輸出
608:高解析度輸出/匯流排
700:整合式管線
704:影像濾波器
706:著色器組件/影像濾波器
800:程序
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
900:系統
902:處理器
904:記憶體
906:資料儲存裝置
908:匯流排
910:輸入/輸出模組
912:通信模組
914:輸入裝置
916:輸出裝置
包括在內以提供進一步理解且併入及構成本說明書之一部分的隨附圖式說明所揭露具體實例且與本說明書一起用以解釋所揭露具體實例之原理。在圖式中:
[圖1]為可藉以實施本揭露之態樣之裝置操作環境的方塊圖。
[圖2]為根據本揭露之某些態樣之用於輸出經濾波視覺媒體內容項目之實例內容平台之實例計算網路的方塊圖。
[圖3]為說明可藉以實施本發明技術之態樣之實例電腦系統(例如,表示用戶端及伺服器兩者)的方塊圖。
[圖4A]至[圖4B]為根據本揭露之某些態樣之藉由機器學習影像運算子及手動影像運算子分別針對亮度濾波之實例影像。
[圖5]展示涉及擷取及組合同一場景之若干不同曝光之高動態範圍成像技術的實例應用。
[圖6]為說明根據本揭露之某些態樣之雙向導引上取樣之實例流程圖。
[圖7]為說明根據本揭露之某些態樣之實施於圖形處理單元上之整合式管線的實例流程圖。
[圖8]為根據本揭露之某些態樣之用於經由計算平台輸出經濾波視覺媒體內容項目的實例流程圖。
[圖9]為說明可在其中實施本揭露之態樣之實例電腦系統的方塊圖。
在一或多個實施中,並非可需要各圖中之所有所描繪組件,且一或多個實施可包括圖中未展示之額外組件。組件之配置及類型之變化可在不脫離本揭露的範圍之情況下進行。可在本揭露之範圍內利用額外組件、不同組件或更少組件。
800:程序
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
Claims (20)
- 一種用於輸出經濾波視覺媒體內容項目之電腦實施方法,該電腦實施方法包含: 接收一視覺媒體內容項目之一輸入訊框; 基於一包圍曝光影像之資料集而訓練一機器學習演算法; 經由一圖形處理單元之一著色器組件,基於該輸入訊框之影像濾波而對該機器學習演算法之一類神經網路進行組態; 判定該輸入訊框之與一黑暗程度相關聯之一或多個部分; 藉由該類神經網路對該輸入訊框之該一或多個部分進行一影像增強操作;及 提供指令以顯示一輸出訊框,該輸出訊框具有藉由該影像增強操作改變之一或多個部分。
- 如請求項1之電腦實施方法,其中接收該輸入訊框包含接收由一行動計算裝置或成像裝置獲取之一相片或視訊。
- 如請求項1之電腦實施方法,其中訓練該機器學習演算法包含使用一生成對抗網路訓練該類神經網路以用於產生輸出影像,該等輸出影像基於在該包圍曝光影像之資料集的不成對影像之增強與非增強部分之間區分而由該影像增強操作修改,其中該類神經網路包含一卷積類神經網路。
- 如請求項1之電腦實施方法,其中訓練該機器學習演算法包含判定包圍曝光視覺媒體內容項目之一不成對資料集,其中該等包圍曝光視覺媒體內容項目包含在各種攝影機設定下之一個影像之複數個相片。
- 如請求項1之電腦實施方法,其中對該類神經網路進行組態包含使複數個經分散卷積層、一切分層及複數個完全連接層初始化,其中該影像濾波包含影像預處理。
- 如請求項1之電腦實施方法,其中判定該輸入訊框之該一或多個部分包含經由該類神經網路擷取語義資訊,以用於判定針對該輸入訊框中之色調調整及色彩校正之位置。
- 如請求項1之電腦實施方法,其中進行該影像增強操作包含: 將該輸入訊框降取樣至一低解析度輸入訊框; 藉由該類神經網路在一雙向網格內應用一經學習之雙向放大操作; 經由該低解析度輸入訊框及該雙向網格產生局部仿射色彩轉換; 將該輸入訊框放大至一高解析度訊框; 在放大該等局部仿射色彩轉換之後將該等局部仿射色彩轉換應用於該高解析度訊框;及 輸出一影像運算子以將該影像增強操作應用於該高解析度訊框。
- 如請求項1之電腦實施方法,其中進行該影像增強操作包含進行一全域增亮操作以維持該輸出訊框之黑暗區域與光亮區域之間的亮度對比。
- 如請求項1之電腦實施方法,其中一整合式管線經組態以用於實施在該圖形處理單元上,該整合式管線包含該類神經網路及經組態以進行該輸入訊框之該影像濾波之一影像濾波器。
- 如請求項1之電腦實施方法,其進一步包含: 經由一攝影機在複數個曝光層級處產生複數個連續影像; 基於該複數個連續影像判定該包圍曝光影像之資料集;及 藉由該類神經網路判定仿射係數之一雙向網格,其中該影像增強操作包含以下中之至少一者:一面部增亮操作、一色彩校正操作、一曝光操作、一色調映射操作、一樣式轉變操作、一細節增強操作或一手動註解操作。
- 一種用於輸出經濾波視覺媒體內容項目之系統,該系統包含: 一或多個處理器;及 一記憶體,其包含儲存於其上之指令,該等指令在由該一或多個處理器執行時使得該一或多個處理器進行以下操作: 經由一攝影機在複數個曝光層級處產生複數個連續影像; 基於該複數個連續影像判定一包圍曝光影像之資料集; 接收一視覺媒體內容項目之一輸入訊框; 基於該包圍曝光影像之資料集訓練一機器學習演算法之一類神經網路; 經由一圖形處理單元之一著色器組件,基於該輸入訊框之影像濾波而對該機器學習演算法之該類神經網路進行組態; 判定該輸入訊框之與一黑暗程度相關聯之一或多個部分; 藉由該類神經網路對該輸入訊框之該一或多個部分進行一影像增強操作;及 提供指令以顯示一輸出訊框,該輸出訊框具有藉由該影像增強操作改變之一或多個部分。
- 如請求項11之系統,其中使得該一或多個處理器進行接收該輸入訊框之該等指令進一步使得該一或多個處理器進行接收由一行動計算裝置或成像裝置獲取之一相片或視訊。
- 如請求項11之系統,其中使得該一或多個處理器進行訓練該機器學習演算法之該等指令進一步使得該一或多個處理器進行使用一生成對抗網路訓練該類神經網路以用於產生輸出影像,該等輸出影像基於在該包圍曝光影像之資料集的不成對影像之增強與非增強部分之間區分而由該影像增強操作修改,其中該類神經網路包含一卷積類神經網路。
- 如請求項11之系統,其中使得該一或多個處理器進行訓練該機器學習演算法之該等指令進一步使得該一或多個處理器進行判定包圍曝光視覺媒體內容項目之一不成對資料集,其中該等包圍曝光視覺媒體內容項目包含在各種攝影機設定下之一個影像之複數個相片。
- 如請求項11之系統,其中使得該一或多個處理器進行對該類神經網路進行組態之該等指令進一步使得該一或多個處理器進行使複數個經分散卷積層、一切分層及複數個完全連接層初始化,其中該影像濾波包含影像預處理。
- 如請求項11之系統,其中使得該一或多個處理器進行判定該輸入訊框之該一或多個部分之該等指令進一步使得該一或多個處理器進行經由該類神經網路擷取語義資訊,以用於判定針對該輸入訊框中之色調調整及色彩校正之位置。
- 如請求項11之系統,其中使得該一或多個處理器進行該影像增強操作之該等指令進一步使得該一或多個處理器進行以下操作: 將該輸入訊框降取樣至一低解析度輸入訊框; 藉由該類神經網路在一雙向網格內應用一經學習之雙向放大操作; 經由該低解析度輸入訊框及該雙向網格產生局部仿射色彩轉換; 將該輸入訊框放大至一高解析度訊框; 在放大該等局部仿射色彩轉換之後將該等局部仿射色彩轉換應用於該高解析度訊框;及 輸出一影像運算子以將該影像增強操作應用於該高解析度訊框。
- 如請求項11之系統,其中使得該一或多個處理器進行該影像增強操作之該等指令進一步使得該一或多個處理器進行一全域增亮操作,以維持該輸出訊框之黑暗區域與光亮區域之間的亮度對比。
- 如請求項11之系統,其進一步包含指令之儲存序列,該等指令在由該一或多個處理器執行時使得該一或多個處理器進行以下操作: 經由一攝影機在複數個曝光層級處產生複數個連續影像; 基於該複數個連續影像判定該包圍曝光影像之資料集;及 藉由該類神經網路判定仿射係數之一雙向網格,其中該影像增強操作包含以下中之至少一者:一面部增亮操作、一色彩校正操作、一曝光操作、一色調映射操作、一樣式轉變操作、一細節增強操作或一手動註解操作。
- 一種非暫時性電腦可讀取儲存媒體,其包含儲存於其上之指令,該等指令在由一或多個處理器執行時使得該一或多個處理器進行用於輸出經濾波視覺媒體內容項目之操作,該等操作包含: 經由一攝影機在複數個曝光層級處產生複數個連續影像; 基於該複數個連續影像判定一包圍曝光影像之資料集; 接收一視覺媒體內容項目之一輸入訊框; 基於該包圍曝光影像之資料集訓練一機器學習演算法之一類神經網路; 經由一圖形處理單元之一著色器組件,基於該輸入訊框之影像濾波而對該機器學習演算法之該類神經網路進行組態; 判定該輸入訊框之與一黑暗程度相關聯之一或多個部分; 藉由該類神經網路判定仿射係數之一雙向網格; 藉由該類神經網路且基於該仿射係數之該雙向網格而對該輸入訊框之高解析度版本的該一或多個部分進行一影像增強操作;及 提供指令以顯示一輸出訊框,該輸出訊框具有藉由該影像增強操作改變之一或多個部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/521,355 US20230146181A1 (en) | 2021-11-08 | 2021-11-08 | Integrated machine learning algorithms for image filters |
US17/521,355 | 2021-11-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202336694A true TW202336694A (zh) | 2023-09-16 |
Family
ID=84541571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111135453A TW202336694A (zh) | 2021-11-08 | 2022-09-20 | 用於影像濾波器的整合式機器學習演算法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230146181A1 (zh) |
TW (1) | TW202336694A (zh) |
WO (1) | WO2023081399A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230308769A1 (en) * | 2022-03-25 | 2023-09-28 | Google Llc | Methods and Systems for User Adjustable Region based Brightness Settings |
US11961172B1 (en) | 2023-10-17 | 2024-04-16 | Royce Geospatial Consultants, Inc. | Advanced image enhancements for accurate processing, exploitation, and dissemination |
-
2021
- 2021-11-08 US US17/521,355 patent/US20230146181A1/en active Pending
-
2022
- 2022-09-20 TW TW111135453A patent/TW202336694A/zh unknown
- 2022-11-04 WO PCT/US2022/049020 patent/WO2023081399A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20230146181A1 (en) | 2023-05-11 |
WO2023081399A1 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10198839B2 (en) | Style transfer-based image content correction | |
Fan et al. | Unified implicit neural stylization | |
US10936909B2 (en) | Learning to estimate high-dynamic range outdoor lighting parameters | |
US20180082715A1 (en) | Artistic style transfer for videos | |
JP7090113B2 (ja) | 線画の生成 | |
TW202336694A (zh) | 用於影像濾波器的整合式機器學習演算法 | |
US11308659B2 (en) | View synthesis robust to unconstrained image data | |
JP2022503647A (ja) | クロスドメイン画像変換 | |
Qian et al. | Bggan: Bokeh-glass generative adversarial network for rendering realistic bokeh | |
US11189060B2 (en) | Generating procedural materials from digital images | |
US11521299B2 (en) | Retouching digital images utilizing separate deep-learning neural networks | |
Ji et al. | Geometry-aware single-image full-body human relighting | |
CN113222846A (zh) | 图像处理方法和图像处理装置 | |
US20230342890A1 (en) | High Resolution Inpainting with a Machine-learned Augmentation Model and Texture Transfer | |
Zhou et al. | A Semi‐Procedural Convolutional Material Prior | |
RU2768551C1 (ru) | Способ локального генерирования и представления потока обоев и вычислительное устройство, реализующее его | |
US20240161362A1 (en) | Target-augmented material maps | |
US20240155071A1 (en) | Text to video generation | |
Machado et al. | Setting the stage for 3D compositing with machine learning | |
Liu | A review for tone-mapping operators on wide dynamic range image | |
US20230055204A1 (en) | Generating colorized digital images utilizing a re-colorization neural network with local hints | |
US20230343025A1 (en) | Method and device for light estimation | |
US20240144520A1 (en) | Generating three-dimensional human models representing two-dimensional humans in two-dimensional images | |
US20240144623A1 (en) | Modifying poses of two-dimensional humans in two-dimensional images by reposing three-dimensional human models representing the two-dimensional humans | |
WO2022164660A1 (en) | Mixture of volumetric primitives for efficient neural rendering |