# 影像處理
[](https://hackmd.io/dEeXrbYoQqiAYTpE3Un6Fg)
[TOC]
---
## 09/12(一)
```
上課內容:Syllabus、Ch.1 p1 ~ p18
```
### 1.電腦視覺與影像處理
> 電腦視覺的目的:讓電腦具有像人一樣的視覺能力。完全依賴相機取向分析,怕影像品質不好,因此影像處理是電腦視覺的前置處理作業。
電腦視覺包括:
>* 影像處理:強化視覺資訊的顯著性及對比、去除雜訊、影像分割、特徵擷取
>* 重建3D資訊:估計環境
>物件的未知 3D方位、結構、運動、.. 等參數,或重建物體、景觀模型
>* 識別 (recognition):分辦或分類已學習過的圖形、符號
>* 了解 (understanding):學習、認知、或推論不曾看過的圖形或符號。
> **影像處理就是處理影像,讓人或機器從中獲得更多更有用的資訊,以便後續分析處理。**
### 2.影像的定義
- 比較
- 相片(picture):連續色彩變化的圖畫,是連續二維空間的亮度函數。
- 影像(image):將相片分割成一個個整齊排列的顆粒,再給予每一個顆粒一個數值表示亮度,稱為數位化或離散化。
- 圖畫(drawing or painting):一條線、一個圓或一條曲線的作畫,且能在一封閉曲線上塗上一種顏色,存檔成以向量方式表示的格式。
- 模式(pattern):一張影像、一張相片、一張圖畫、一個圖形、一串字元、一串信號、語音、符號都可以稱為一個模式。
> 
- 圖畫與影像差別在於資料結構與格式。圖畫是向量資料、影像是一點一點的掃描紀錄資料,稱為掃描資料(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 影像的取得
* 一般電腦系統
> 
* 影像處理系統
> 
* 取像系統(camera)
> 
* 影像檔案格式(image file formats)
> * 以**row major**的方式記錄,也就是一列一列紀錄灰階或色彩值
> 
> * **順序結構**(Sequence structure)的影像資料
> 
> * 控制碼(**描述影像資料的資料**,metadata),有影像的寬高、影像類型(黑白、灰階、彩色)、每一像素用多少位元(bits/pixel)等
### 1.4 影像種類 (image types)
* 頻譜數的觀點 (number of spectrum)
> 單色 (monochrome)、彩色 (color)、多頻譜(multi-spectral)、高頻譜 (hyper-spectral)、超高頻譜(super-spectral) 是屬於這一觀點的不同類影像。
> 
* 設備的觀點 (device)
> 因設備 (device) 的不同所取得的影像;例如,紅外線、超音波、x-光 (x-ray)、電腦斷層掃描(CT)、核磁共振(MRI)、正子斷層掃描 (PET)、合成口徑雷達 (SAR)、.. 等影像。
> 
> 
* 距離影像 (range image)
> 距離影像又稱為**2.5度空間影像**。影像中的像素灰階稱為距離資料 (range data) 或深度 (depth)
> 
> ``(黑近、白遠)``
> 
> ``(白近、黑遠)``
> * 目前最普遍的距離影像擷取器是:
> 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)
> 
> * 幾何校正 (geometric rectification)
> 
> * 空間轉換 (transformation)
> ``位置空間 => 頻率空間``
> 
> ``看白色部分,(內)低頻多、(外)高頻少``
> 
* 色彩轉換與分析 (color transformation)
> * 色彩在**影像處理**、**視覺認知**及**色彩輸出**的應用非常廣泛
> * 電子色彩的呈現上,要做精密的**計算**才能製造出正確的顏色,因此要有準確的**色彩表示(representation)**及**轉換公式(transformation)**
> * 不受陰影影響的道路偵測
> 電腦視覺可能誤認地上陰影為障礙物,以IHS色彩中的HS資訊做區塊分割可獲得較完整的地面區塊
> 
>
> ``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) 或色彩的對比
> 
> * 雜訊去除 (noise removing)
> 去除影像中因不良傳輸或干擾所造成的雜訊
> 
> * 平滑化 (smoothing)
> 去除影像中因不良取像或量化所造成的雜訊,同時會使得影像變模糊。
> 
> * 銳利化 (sharpening)
> 強化影像中物體或景觀的邊緣效果
> 
> * 色彩強化 (color enhancement)
> 1. 強化彩色影像的亮度對比
> 
> 2. 加塗色彩於黑白影像
> 
> ``原超音波圖有被添加色彩,就是用了色彩強化``
* 特徵擷取
> * 擷取影像中點、線、邊、角、區域、.. 等特徵
> 
> * 邊及線特徵擷取 (edge and line extraction)
> 
* 影像分割 (image segmentation)
> * 將影像分割成幾個**有意義**的部分
> 
> * 膚色偵測(擷取)
> 
* 影像的表示與描述
> * 影像表示 (representation)
> 用簡單的圖形或符號來**代表**影像中的物體或場景
> 
> * 細線化 (thinning) 或骨架化 (skeletonizing)
> 以骨架 (中心線) 來代表影像中物體的形狀。
> 
> 抽取出來的筆劃 (小直線段特徵)
> 
> * 影像描述 (description)
> 用**數值描述**影像中物體或場景的輪廓或內部特徵
> 
> * 紋理 (textures) 可用來表示一個區塊的外顯特徵 (explicit properties);例如:
> 1. 規律性(regularity)
> 2. 亂度 (randomness)
> 3. 平滑性 (smoothness)
> 4. 粗糙性 (coarseness)
> 
> * 紋理區塊分割範例
> 
> * 以馬可夫隨機場 (Markov random field) 做紋理區塊分割
> 
> 
* 影像重建 (image restoration)
> * 估計影像**退化模式**,重建**品質退化**的影像
> 
> * 對焦不正確的影像重建
> 
* 影像壓縮 (image compression)
> * 用較少的資料來代表一張影像,以減少影像儲存空間及傳輸時間
> 
> ``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)**:改變部份像素灰階或色彩值;表面上看起來沒有任何變異;但改變的像素可以被偵測出來
> * 影像隱藏
> 
> * **數位浮水印**的研究重點:
> 1. **浮水印**:要有**強健性(robustness)**,也就是要能盡可能的保證浮水印不會被去掉。
> 2. **影像隱藏**:要有**不可見性(imperceptibility)**,也就是不要顯露有隱藏資料的痕跡,及高的資料隱藏量(capacity)
> 3. **防止偽造**:好的防偽技術應該能容忍簡單的亮度調整或壓縮變化;也就是對於簡單的改變,不必一定要認為是偽造;但要能夠檢查出整張影像任何一處的改變,稱為**完整性(completeness)**
> * 不同彩色影像插入及擷取出 Pepper 彩色影像的效果評估
> 
> * Lena 彩色影像插入及擷取出不同彩色影像的效果評估
> 
> * Lena 彩色影像在不同壓縮率的 JPEG 攻擊後所擷取影像的效果評估
> 
> * 不同影像在相同壓縮率的 JPEG 攻擊後所擷取影像的
效果評估
> 
> * 不同壓縮率的 JPEG2000 攻擊後所擷取出來的浮水印效果評估
> 
> * 不同影像處理及JPEG壓縮攻擊後所擷取出來的浮水印效果評估
> 
---
## 09/26(一)
```
上課內容:Ch.1 p65 ~ p92、Ch.2 p1 ~ p24
```
### CH1影像處理簡介
#### 1.6視覺處理的技術(接上周)
* 三維電腦視覺
> * 主要是來==重建景觀或物體的三度空間資訊==
> * ==逆向工程==,用==看==的方式獲取三維資訊叫==立體視覺法==,有以下兩種:
> 1. ==被動立體視覺法== (passive stereo vision method)
> 2. ==主動立體視覺法== (active stereo vision method)
* 先進駕駛輔助系統 (ADAS)
> 
> * 十四種輔助安全駕駛產品系統
> 1. 車道偏離警示 LDW (lane departure warning)
> 
> 2. 前車碰撞警示 FCW (forward collision warning)
> 
> 3. 盲點偵測 BSD (blind spot detection) = 變換車道輔助 LCA (lane change assist)
> 
> 4. 行人碰撞警示 PCW (pedestrian collision warning)
> 
> 5. 交通標誌/號誌偵測與辨識 TSSR (traffic sign/signal recognition)
> 
> 6. 全周俯瞰監視系統 STM (surrounding top-view monitoring)
> 
> 7. 廣域全周俯瞰監視與偵測 WSTD
> 
> 8. 影像式停車導引 IPG (image-based parking guiding)
> 
> 9. 倒車碰撞警示 RCW (rear collision warning)
> 
> 10. 主動跟車偵測 ISG (image-based Stop-&-Go)
> 
> 11. 昏睡偵測 DD (drowsiness detection) = 駕駛注意力監視 AM (attention monitoring)
> 
> 12. 車牌偵測與辨識 LPR (license plate recognition)
> 
> 13. 彎路減速 ICSW (image-based curve speed warning)
> 
> 
> 14. 車輛行為偵測 VBA (vehicle behavior detection)
> 
* 圖形識別
> wip[name=ZhiYang][time=Fri, Sep 30, 2022 1:48 AM]
### CH2影像處理基礎
#### 2.1成像原理
> * 相機種類

> - PTZ = Pam Tilt zoom 可上下左右搖擺 Zoom in/out。
> - 全方位相機,從四周攫取影像,照到上面鏡子後傳入鏡頭。中間會因沒有光而一圈黑。
> * 針孔成像系統
> - 光軸附近的物體,清晰成像會滿足 1/f = 1/p + 1/q
> 
> - 針孔成像系統的針孔大小為光圈(aperture)。針孔愈大(光圈愈大,光圈F 值愈小),則影像愈模糊。
> 
> - 光圈大小也會影響景深(depth of field),景深指鏡頭前能清晰成像的遠近範圍,光圈越大,景深越短。
> 
> - 視角依底片和焦距來定義。
> - 焦距固定,底片越大、視角就越大
> - 底片固定,焦距越大,視角越小,成像越大(因拍攝物體在畫面中佔據面積較大)。
#### 2.2感光元件
>
>* 感光元件
> - 有許多cells所組成
> - 單色:通過每個cell,依亮度不同而形成不同強度的電流,決定亮暗。越亮能量越強,電流越大。
> - 彩色濾光鏡片:一個cell有一種紅色濾光鏡片就讓紅光經過。(和抗藍光眼鏡相反,其擋住藍光)。
> - 每一格cell都有BGR值,其做法為內插法,將B、G、R白色空格已四周的值平均而得,而B和R就必須用到兩次內插法。
> - 由於彩色有些格子是由計算而成,會使得顆粒看起來較粗、較模糊,而灰階每一格都有真實的值,其較為清晰。
> 
#### 2.3 抽樣(sampling)
>* 數位化的影像才能做影像處理,而數位化包含抽樣與樣化兩個動作。
>*抽樣是在二度空間感光元件平面上,水平及垂直兩方向等間距抽取亮度樣本。也可以想像成將一個二維連續亮度函數,在水平及垂直兩個方向個別等間距分割成為許多小方塊,然後計算輸出每一個小方塊的平均亮度。上述的亮度樣本或平均亮度都是實數,要將這些實數轉換成離散的整數,這就是(灰階) 量化。
>*整數倍縮放,圖中右邊的方法都較好
>
>* 非整數倍縮放較困難,(2.6節,常考)
#### 2.4 量化(quantization)
>- 量化(quantization) 是當取像設備把光能變成電能後,用數值表示電能(光能) 的方法。也就是取像設備先做抽樣,接著再用量化給予每一像素一個數值表示該像素的亮度。亮度原來都是用實數表示的,量化後變成了離散整數,所以量化一定會產生量化誤差(quantization error)。量化的結果稱為灰階解析度(gray-level resolution)。同樣的,解析度愈高,影像品質愈好,資料量也愈多。
>- 解析度指描述影像的詳細程度,包含空間解析度和亮度解析度。
>- 由左而右,分別表示每一格用4bit/3bit/2bit/1bit表示
>
> - 量化技術
> - 均勻量化(uniform quantization)
> - 例如256階,把5安培分為256等分,看其幾安培就給予多少的值。
> - 決策值:每一個間距大小稱為決策值。如上述例子,決策值約為0.019
> - 輸出值:每一個段落所代表的特定的值。
> 
> - 漸縮量化(tapered quantization)
> - 是一種適應性量化(沒人在用且耗時,但可以適性環境明暗度。如環境變暗,把亮度提高)
> - 根據所有感光元件的輸出電流強度分佈(計算各電流之cell數量) 來決定量化決策值的位置。分佈比較密集的地方分割細一點(也就是決策值較密集),分佈比較稀少的地方分割粗一點(決策值較稀疏)。
> - 例如感光元件現在有256萬個cells,可設定每一萬個就設一個決策值。最後,灰階1的有10000個,灰階2的也有一萬個,以此類推,最後,就變成了明暗適中的均勻分布圖。
> 
> - 最佳量化
> - 最好的量化,透過數學公式最小平方誤差方法找出最好的決策值。但對眼睛不一定最好,不常用。
---
## 10/02(一)
```
上課內容:Ch.2 p28 ~ p59
```
---
## 10/17(一)
```
上課內容:Ch.2 、 Ch.3 、 Ch.4
```