# 影像處理 [![hackmd-github-sync-badge](https://hackmd.io/dEeXrbYoQqiAYTpE3Un6Fg/badge)](https://hackmd.io/dEeXrbYoQqiAYTpE3Un6Fg) [TOC] --- ## 09/12(一) ``` 上課內容:Syllabus、Ch.1 p1 ~ p18 ``` ### 1.電腦視覺與影像處理 > 電腦視覺的目的:讓電腦具有像人一樣的視覺能力。完全依賴相機取向分析,怕影像品質不好,因此影像處理是電腦視覺的前置處理作業。 電腦視覺包括: >* 影像處理:強化視覺資訊的顯著性及對比、去除雜訊、影像分割、特徵擷取 >* 重建3D資訊:估計環境 >物件的未知 3D方位、結構、運動、.. 等參數,或重建物體、景觀模型 >* 識別 (recognition):分辦或分類已學習過的圖形、符號 >* 了解 (understanding):學習、認知、或推論不曾看過的圖形或符號。 > **影像處理就是處理影像,讓人或機器從中獲得更多更有用的資訊,以便後續分析處理。** ### 2.影像的定義 - 比較 - 相片(picture):連續色彩變化的圖畫,是連續二維空間的亮度函數。 - 影像(image):將相片分割成一個個整齊排列的顆粒,再給予每一個顆粒一個數值表示亮度,稱為數位化或離散化。 - 圖畫(drawing or painting):一條線、一個圓或一條曲線的作畫,且能在一封閉曲線上塗上一種顏色,存檔成以向量方式表示的格式。 - 模式(pattern):一張影像、一張相片、一張圖畫、一個圖形、一串字元、一串信號、語音、符號都可以稱為一個模式。 > ![](https://i.imgur.com/KQUdcQo.png =300x300) - 圖畫與影像差別在於資料結構與格式。圖畫是向量資料、影像是一點一點的掃描紀錄資料,稱為掃描資料(raster data)。 > - 影像的資料量比圖畫多很多 > - 影像比圖畫更能準確表現區塊內部的變異 > - 圖畫比影像更能準確表現外型輪廓的變化特別是畫面縮小放大時 ### 3.影像的表示 * 影像是一個二維的亮度函數 f(x,y),函數值是(x,y)之亮度值(0 <f(x,y) < ∝) * 物體反射光的亮度f(x,y)= 光源照度i(x,y)*物品反射係數r(x,y)所構成: >f(x, y) = i(x, y) r(x, y),其中其中 0 < i(x, y) < ∝ , 0 < r(x, y) < 1。 * 光源照度(illumination):外界光源照射在物體表面所呈現的亮度。 * 反射係數(reflectance):物體表面反射外界光源照度的比例係數。 * 單色影像中亮度值稱為灰階(grey level),是能量的表現,是具有極限的非負整數。單色影像可視為一矩陣,矩陣元素即為該像素的灰階,而彩色影像則為重疊三張紅藍綠的單色影像而成。 --- ## 09/19(一) ``` 上課內容:Ch.1 p19 ~ p64 ``` ### 1.3 影像的取得 * 一般電腦系統 > ![](https://i.imgur.com/1vBSSdw.png) * 影像處理系統 > ![](https://i.imgur.com/T4NzAFe.png) * 取像系統(camera) > ![](https://i.imgur.com/ELTcO8p.png) * 影像檔案格式(image file formats) > * 以**row major**的方式記錄,也就是一列一列紀錄灰階或色彩值 > ![](https://i.imgur.com/SBKKAJY.png) > * **順序結構**(Sequence structure)的影像資料 > ![](https://i.imgur.com/yWjQYoP.png) > * 控制碼(**描述影像資料的資料**,metadata),有影像的寬高、影像類型(黑白、灰階、彩色)、每一像素用多少位元(bits/pixel)等 ### 1.4 影像種類 (image types) * 頻譜數的觀點 (number of spectrum) > 單色 (monochrome)、彩色 (color)、多頻譜(multi-spectral)、高頻譜 (hyper-spectral)、超高頻譜(super-spectral) 是屬於這一觀點的不同類影像。 > ![](https://i.imgur.com/S9mYgKw.png) * 設備的觀點 (device) > 因設備 (device) 的不同所取得的影像;例如,紅外線、超音波、x-光 (x-ray)、電腦斷層掃描(CT)、核磁共振(MRI)、正子斷層掃描 (PET)、合成口徑雷達 (SAR)、.. 等影像。 > ![](https://i.imgur.com/czW19E7.png) > ![](https://i.imgur.com/wXv1lII.png) * 距離影像 (range image) > 距離影像又稱為**2.5度空間影像**。影像中的像素灰階稱為距離資料 (range data) 或深度 (depth) > ![](https://i.imgur.com/ezjANn2.png) > ``(黑近、白遠)`` > ![](https://i.imgur.com/UTAoOXt.png) > ``(白近、黑遠)`` > * 目前最普遍的距離影像擷取器是: > 1. Intel’s RealSense - **雙眼立體視覺** > 2. Microsoft’s Kinect II - **返馳時差量測法** (ToF) > 這兩種設備都可以同時取得高解析度彩色影像及低解析度深度影像 > ``根據結果可以知道,不同機器會有不同的顯示效果`` ### 1.5 影像處理的目的 * 利用電腦來**改進影像的品質**。 improvement of pictorial information for **human interpretation** * 利用電腦來促進"以視覺為基礎的機器"自動化; (processing of scene data for **autonomous machine perception**); 也就是說 “影像處理是任何**以視覺為基礎的自動化工作的前置處理** (pre-processing)"。 ### 1.6 視覺處理的技術 * 簡介 > * 常用的影像處理運算 (operations): > 影像轉換、色彩轉換與分析、**影像強化**、**特徵擷取**、**影像分割**、**影像表示與描述**、影像壓縮、影像重建、 .. 等。 > * 與應用相關的技術 (techniques): > 影像浮水印技術 (watermarking)、圖形識別 (pattern ecognition)、三維電腦視覺 (3D computer vision)、動態分析與追蹤 (motion analysis & tracking)、.. 等。 * 影像轉換 (image transformations) > * 幾何轉換 (geometric transformation) > ![](https://i.imgur.com/LtsNdk1.png) > * 幾何校正 (geometric rectification) > ![](https://i.imgur.com/8pfqWxN.png) > * 空間轉換 (transformation) > ``位置空間 => 頻率空間`` > ![](https://i.imgur.com/qrlX2S2.png) > ``看白色部分,(內)低頻多、(外)高頻少`` > ![](https://i.imgur.com/KlutMms.png) * 色彩轉換與分析 (color transformation) > * 色彩在**影像處理**、**視覺認知**及**色彩輸出**的應用非常廣泛 > * 電子色彩的呈現上,要做精密的**計算**才能製造出正確的顏色,因此要有準確的**色彩表示(representation)**及**轉換公式(transformation)** > * 不受陰影影響的道路偵測 > 電腦視覺可能誤認地上陰影為障礙物,以IHS色彩中的HS資訊做區塊分割可獲得較完整的地面區塊 > ![](https://i.imgur.com/hATVqmN.png) > > ``IHS代表的意義:`` > ``強度I(Intensity): 對應成像亮度和圖像灰度,是顏色的明亮程度。`` > ``色調H(Hue): 與光波的波長有關,它表示人的感官對不同顏色的感受,如紅色、綠色、藍色等,它也可表示一定範圍的顏色,如暖色、冷色等。`` > ``飽和度S(Saturation): 表示顏色的純度,純光譜色是完全飽和的,加入白光會稀釋飽和度。飽和度越大,顏色看起來就會越鮮艷,反之亦然。簡而言之,飽和度就是顏色鮮明與否的指標。`` > [參考資料](https://a1239537.pixnet.net/blog/post/342082176-hsi%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%96%93%E6%87%89%E7%94%A8%E7%AD%86%E8%A8%98%281%29) * 影像強化 (image enhancement) > * 強化對比 (contrast enhancement) > 擴大影像中灰階 (gray level) 或色彩的對比 > ![](https://i.imgur.com/FwpKtVh.png) > * 雜訊去除 (noise removing) > 去除影像中因不良傳輸或干擾所造成的雜訊 > ![](https://i.imgur.com/Kykj7LL.png) > * 平滑化 (smoothing) > 去除影像中因不良取像或量化所造成的雜訊,同時會使得影像變模糊。 > ![](https://i.imgur.com/adccIXR.png) > * 銳利化 (sharpening) > 強化影像中物體或景觀的邊緣效果 > ![](https://i.imgur.com/WLOYAHQ.png) > * 色彩強化 (color enhancement) > 1. 強化彩色影像的亮度對比 > ![](https://i.imgur.com/Ljvghz8.png) > 2. 加塗色彩於黑白影像 > ![](https://i.imgur.com/q50y0fm.png) > ``原超音波圖有被添加色彩,就是用了色彩強化`` * 特徵擷取 > * 擷取影像中點、線、邊、角、區域、.. 等特徵 > ![](https://i.imgur.com/BDJyYZl.png) > * 邊及線特徵擷取 (edge and line extraction) > ![](https://i.imgur.com/HDjKW1v.png) * 影像分割 (image segmentation) > * 將影像分割成幾個**有意義**的部分 > ![](https://i.imgur.com/MD9QRiM.png) > * 膚色偵測(擷取) > ![](https://i.imgur.com/SmCeSe1.png) * 影像的表示與描述 > * 影像表示 (representation) > 用簡單的圖形或符號來**代表**影像中的物體或場景 > ![](https://i.imgur.com/Nbhy6mo.png) > * 細線化 (thinning) 或骨架化 (skeletonizing) > 以骨架 (中心線) 來代表影像中物體的形狀。 > ![](https://i.imgur.com/As5sCBn.png) > 抽取出來的筆劃 (小直線段特徵) > ![](https://i.imgur.com/MsUOReX.png) > * 影像描述 (description) > 用**數值描述**影像中物體或場景的輪廓或內部特徵 > ![](https://i.imgur.com/LGJ0Hk5.png) > * 紋理 (textures) 可用來表示一個區塊的外顯特徵 (explicit properties);例如: > 1. 規律性(regularity) > 2. 亂度 (randomness) > 3. 平滑性 (smoothness) > 4. 粗糙性 (coarseness) > ![](https://i.imgur.com/AAIbXVI.png) > * 紋理區塊分割範例 > ![](https://i.imgur.com/cqGZC79.png) > * 以馬可夫隨機場 (Markov random field) 做紋理區塊分割 > ![](https://i.imgur.com/qHIUVz5.png) > ![](https://i.imgur.com/uNzt3HU.png) * 影像重建 (image restoration) > * 估計影像**退化模式**,重建**品質退化**的影像 > ![](https://i.imgur.com/avTw6WB.png) > * 對焦不正確的影像重建 > ![](https://i.imgur.com/8H1TwSc.png) * 影像壓縮 (image compression) > * 用較少的資料來代表一張影像,以減少影像儲存空間及傳輸時間 > ![](https://i.imgur.com/nRCutvx.png) > ``CR(Compression Ratio):`` > ``PSNR(Peak Signal to Noise Ratio):`` > * 影像資料能夠壓縮主要如下: > 1. 利用**像素間相關性**(interpixel correlation)的描述或估計來減少資料量 > 2. 利用**人體生理視覺的特性**(psychovisual property)來減少資料量 > ``簡單來說就是某些高頻的光肉眼看不見,因此保存圖像時可以捨棄這些資料`` > 3. 以**二位元編碼技術**(coding)來減縮資料的使用量 > * 因此一個影像壓縮系統通常會有三步驟(技術) > 1. **轉換**(transformation or mapping) > 2. 量化(quantization) > 3. 編碼(coding) * 影像浮水印技術 (digital watermarking) > * 技術有**三種**,**目的皆不同**。 > 1. **浮水印(watermarking)**:把商標或密碼隱藏在一張影像裡,做為**所有權保護**(copyright protection) > 2. **影像隱藏(image hiding)**:把一張機密影像 S 藏在另外一張影像 H 中,表面上看到的只是那張 H 影像,而騙過想竊取該機密影像的人 > 3. **防止偽造(authentication)**:改變部份像素灰階或色彩值;表面上看起來沒有任何變異;但改變的像素可以被偵測出來 > * 影像隱藏 > ![](https://i.imgur.com/QCVsimj.png) > * **數位浮水印**的研究重點: > 1. **浮水印**:要有**強健性(robustness)**,也就是要能盡可能的保證浮水印不會被去掉。 > 2. **影像隱藏**:要有**不可見性(imperceptibility)**,也就是不要顯露有隱藏資料的痕跡,及高的資料隱藏量(capacity) > 3. **防止偽造**:好的防偽技術應該能容忍簡單的亮度調整或壓縮變化;也就是對於簡單的改變,不必一定要認為是偽造;但要能夠檢查出整張影像任何一處的改變,稱為**完整性(completeness)** > * 不同彩色影像插入及擷取出 Pepper 彩色影像的效果評估 > ![](https://i.imgur.com/UieuUmu.png) > * Lena 彩色影像插入及擷取出不同彩色影像的效果評估 > ![](https://i.imgur.com/0ML3Azi.png) > * Lena 彩色影像在不同壓縮率的 JPEG 攻擊後所擷取影像的效果評估 > ![](https://i.imgur.com/WRuTzSn.png) > * 不同影像在相同壓縮率的 JPEG 攻擊後所擷取影像的 效果評估 > ![](https://i.imgur.com/bfgsXj7.png) > * 不同壓縮率的 JPEG2000 攻擊後所擷取出來的浮水印效果評估 > ![](https://i.imgur.com/IZwDHem.png) > * 不同影像處理及JPEG壓縮攻擊後所擷取出來的浮水印效果評估 > ![](https://i.imgur.com/lnC3LRM.png) --- ## 09/26(一) ``` 上課內容:Ch.1 p65 ~ p92、Ch.2 p1 ~ p24 ``` ### CH1影像處理簡介 #### 1.6視覺處理的技術(接上周) * 三維電腦視覺 > * 主要是來==重建景觀或物體的三度空間資訊== > * ==逆向工程==,用==看==的方式獲取三維資訊叫==立體視覺法==,有以下兩種: > 1. ==被動立體視覺法== (passive stereo vision method) > 2. ==主動立體視覺法== (active stereo vision method) * 先進駕駛輔助系統 (ADAS) > ![](https://i.imgur.com/G7kNPrB.png) > * 十四種輔助安全駕駛產品系統 > 1. 車道偏離警示 LDW (lane departure warning) > ![](https://i.imgur.com/NLVYBRG.png) > 2. 前車碰撞警示 FCW (forward collision warning) > ![](https://i.imgur.com/aOw8481.png) > 3. 盲點偵測 BSD (blind spot detection) = 變換車道輔助 LCA (lane change assist) > ![](https://i.imgur.com/c0RedXW.png) > 4. 行人碰撞警示 PCW (pedestrian collision warning) > ![](https://i.imgur.com/S4KVmTU.png) > 5. 交通標誌/號誌偵測與辨識 TSSR (traffic sign/signal recognition) > ![](https://i.imgur.com/HWTxnpt.png) > 6. 全周俯瞰監視系統 STM (surrounding top-view monitoring) > ![](https://i.imgur.com/KVS6vkW.png) > 7. 廣域全周俯瞰監視與偵測 WSTD > ![](https://i.imgur.com/PkU6dHz.png) > 8. 影像式停車導引 IPG (image-based parking guiding) > ![](https://i.imgur.com/bR6R1SJ.png) > 9. 倒車碰撞警示 RCW (rear collision warning) > ![](https://i.imgur.com/6mSj2F6.png) > 10. 主動跟車偵測 ISG (image-based Stop-&-Go) > ![](https://i.imgur.com/pnjQesr.png) > 11. 昏睡偵測 DD (drowsiness detection) = 駕駛注意力監視 AM (attention monitoring) > ![](https://i.imgur.com/iSXeKaX.png) > 12. 車牌偵測與辨識 LPR (license plate recognition) > ![](https://i.imgur.com/1yvDkrq.png) > 13. 彎路減速 ICSW (image-based curve speed warning) > ![](https://i.imgur.com/07IMGST.png) > ![](https://i.imgur.com/v6MQ9eO.png) > 14. 車輛行為偵測 VBA (vehicle behavior detection) > ![](https://i.imgur.com/8HIypXM.png) * 圖形識別 > wip[name=ZhiYang][time=Fri, Sep 30, 2022 1:48 AM] ### CH2影像處理基礎 #### 2.1成像原理 > * 相機種類 ![](https://i.imgur.com/22vEOCk.png =80%x) > - PTZ = Pam Tilt zoom 可上下左右搖擺 Zoom in/out。 > - 全方位相機,從四周攫取影像,照到上面鏡子後傳入鏡頭。中間會因沒有光而一圈黑。 > * 針孔成像系統 > - 光軸附近的物體,清晰成像會滿足 1/f = 1/p + 1/q > ![](https://i.imgur.com/HzibTDD.png =80%x) > - 針孔成像系統的針孔大小為光圈(aperture)。針孔愈大(光圈愈大,光圈F 值愈小),則影像愈模糊。 > ![](https://i.imgur.com/Gi9boDl.png =80%x) > - 光圈大小也會影響景深(depth of field),景深指鏡頭前能清晰成像的遠近範圍,光圈越大,景深越短。 > ![](https://i.imgur.com/KBHDTI7.png =80%x) > - 視角依底片和焦距來定義。 > - 焦距固定,底片越大、視角就越大 > - 底片固定,焦距越大,視角越小,成像越大(因拍攝物體在畫面中佔據面積較大)。 #### 2.2感光元件 >![](https://i.imgur.com/JIhjRcr.png) >* 感光元件 > - 有許多cells所組成 > - 單色:通過每個cell,依亮度不同而形成不同強度的電流,決定亮暗。越亮能量越強,電流越大。 > - 彩色濾光鏡片:一個cell有一種紅色濾光鏡片就讓紅光經過。(和抗藍光眼鏡相反,其擋住藍光)。 > - 每一格cell都有BGR值,其做法為內插法,將B、G、R白色空格已四周的值平均而得,而B和R就必須用到兩次內插法。 > - 由於彩色有些格子是由計算而成,會使得顆粒看起來較粗、較模糊,而灰階每一格都有真實的值,其較為清晰。 > ![](https://i.imgur.com/MuUIlk5.png =80%x) #### 2.3 抽樣(sampling) >* 數位化的影像才能做影像處理,而數位化包含抽樣與樣化兩個動作。 >*抽樣是在二度空間感光元件平面上,水平及垂直兩方向等間距抽取亮度樣本。也可以想像成將一個二維連續亮度函數,在水平及垂直兩個方向個別等間距分割成為許多小方塊,然後計算輸出每一個小方塊的平均亮度。上述的亮度樣本或平均亮度都是實數,要將這些實數轉換成離散的整數,這就是(灰階) 量化。 >*整數倍縮放,圖中右邊的方法都較好 >![](https://i.imgur.com/EpP0rXp.png =60%x) >* 非整數倍縮放較困難,(2.6節,常考) #### 2.4 量化(quantization) >- 量化(quantization) 是當取像設備把光能變成電能後,用數值表示電能(光能) 的方法。也就是取像設備先做抽樣,接著再用量化給予每一像素一個數值表示該像素的亮度。亮度原來都是用實數表示的,量化後變成了離散整數,所以量化一定會產生量化誤差(quantization error)。量化的結果稱為灰階解析度(gray-level resolution)。同樣的,解析度愈高,影像品質愈好,資料量也愈多。 >- 解析度指描述影像的詳細程度,包含空間解析度和亮度解析度。 >- 由左而右,分別表示每一格用4bit/3bit/2bit/1bit表示 >![](https://i.imgur.com/xtoPpXI.png) > - 量化技術 > - 均勻量化(uniform quantization) > - 例如256階,把5安培分為256等分,看其幾安培就給予多少的值。 > - 決策值:每一個間距大小稱為決策值。如上述例子,決策值約為0.019 > - 輸出值:每一個段落所代表的特定的值。 > ![](https://i.imgur.com/oHLkOaO.png) > - 漸縮量化(tapered quantization) > - 是一種適應性量化(沒人在用且耗時,但可以適性環境明暗度。如環境變暗,把亮度提高) > - 根據所有感光元件的輸出電流強度分佈(計算各電流之cell數量) 來決定量化決策值的位置。分佈比較密集的地方分割細一點(也就是決策值較密集),分佈比較稀少的地方分割粗一點(決策值較稀疏)。 > - 例如感光元件現在有256萬個cells,可設定每一萬個就設一個決策值。最後,灰階1的有10000個,灰階2的也有一萬個,以此類推,最後,就變成了明暗適中的均勻分布圖。 > ![](https://i.imgur.com/L0ZgN9x.png) > - 最佳量化 > - 最好的量化,透過數學公式最小平方誤差方法找出最好的決策值。但對眼睛不一定最好,不常用。 --- ## 10/02(一) ``` 上課內容:Ch.2 p28 ~ p59 ``` --- ## 10/17(一) ``` 上課內容:Ch.2 、 Ch.3 、 Ch.4 ```