圖像處理學習

  • 計算機視覺能做什麼
圖像分類
	將只有一個桌子的圖片中的桌子分辨爲桌子
目標檢測
	將圖像中的桌子和椅子分別用框框框出來,且框儘量小
目標追蹤
	在視頻的第一幀中檢測到一個目標,並框出來,然後在第二幀以及往後的幀中框出目標
風格遷移
	將A圖片中的風格a和B圖片中的目標b相結合,做出圖片C(風格a的目標b)
超像素
	將一個像素做成多個像素(去馬賽克,舊照片翻新)
圖像拼接
	A圖片右邊爲目標z,B圖片左邊爲目標z,可以將A和B圖片拼接到一塊(重合目標z)
語義分割
	將圖像中的桌子中的所有像素標紅(只能標桌子的像素)
人臉識別
	將圖像中的人識別爲人。(用於安檢)

  • 圖片在計算機中的表示
衆所周知,在計算機的世界裏面信息是01表示的。
到底01 是怎麼表示圖像的呢?
  • 灰度圖
2*2 4個像素,8bit/像素 的圖片
0b1111 1111表示白,0b0000 0000表示黑, 0b0111 1111 表示灰 (當然 0b0000 00000b1111 1111 中間的數值都可以表示一個像素的顏色)

黑白圖片就是用一個矩陣表示出來的
-						  -
| 0b00000000  	0b00000101|
| 0b11100110 	0b00101011|
-						  -
  • 彩色圖
2*2 4個像素,8bit/像素 的圖片

彩色圖就是用3個矩陣表示出來的,R矩陣,G矩陣,B矩陣。

0b1111 1111表示滿,0b0000 0000表示空, 0b0111 1111 表示半空 (當然 0b0000 00000b1111 1111 中間的數值都可以表示一個色素的顏色)
			
			R矩陣
-						  -
| 0b00000000  	0b00000101|
| 0b11100110 	0b00101011|
-						  -

			G矩陣
-						  -
| 0b00000000  	0b00000001|
| 0b11101110 	0b00101011|
-						  -

			B矩陣
-						  -
| 0b00000010  	0b00001101|
| 0b11101110 	0b00001011|
-						  -
  • 對黑白圖片的分析
灰度直方圖
	展示灰度爲x(例如0b00001000)的比例爲多少
	可以知道這張圖是偏白(整體偏右)還是偏黑
	可以知道對比度是大還是低(像素集中)

  • 對矩陣的處理
去噪
	現象:周圍是一些35-50的點,但是突然出現幾個255()0()的點,這個點叫做椒鹽噪點
	處理,將255 或者 0 點 改爲 35-50 的點, 這個過程叫做磨平。過程中用到了濾波器,也叫核(kernel)。用核(3*3)在矩陣中滑動,叫做卷積。這個核每滑動一次,會對核心的數據進行修改一次。
		原圖像爲 S*S , 核爲N*N,步長爲K,那麼卷積處理的數據的長寬爲 [S-N+1/K] 的上取整,最外面那圈數據就不要了??爲什麼
		爲了保存最外面那圈數據,就做一個處理,將外面在擴充一圈,叫做padding,至於擴充的數據爲什麼,一般爲0或者255。也可以是其他的數。
		如果padding A圈那麼 卷積處理的數據的長寬就變爲了 [S+2*A-N+1/K] 
		
	
	核心數據修改方法:
		平均濾波:
			方法:修改後的核心數據 = 1/9 的 核內的 9個數
			問題:再怎麼平均,椒鹽噪點還是對最終數據有影響
		中值濾波:
			方法:修改後的核心數據 = 核內的 9個數的中位數
	
	

全連接神經網絡

  • 一層線性網絡
--------------一層網絡
輸入1			網絡	輸出1 	
輸入2			網絡	輸出2
.						.
.				網絡	.
.				網絡	.
輸入N					輸出K

網絡的函數爲 多元一次方程
Yk = X1Wk1 + X2Wk2 + ... + XnWkn + Bk
所以對應所有的網絡,需要 N*K 個W(權重), K個B(bias)
所謂的網絡訓練就是不斷更新 N*K 個W(權重), K個B(bias)
  • 多層線性網絡
--------------多層網絡
輸入1			網絡1		網絡2	...		輸出1 	
輸入2			網絡1		網絡2	...		輸出2
.							.
.				網絡1		網絡2   ...
.				網絡1		網絡2   ... 
輸入N										輸出K

網絡的函數爲
Yk(next) = X1(prev)Wk1 + X2(prev)Wk2 + ... + Xn(prev)Wkn + Bk(prev)
所以對應所有的網絡,需要 N*K 個W(權重), K個B(bias)

  • 非線性網絡
線性網絡在圖片上劃出的線都是直線,有時候需要用曲線分割圖像,所以需要非線性網絡???
對應的需要 在 多元一次方程上添加一個激活函數

激活函數分類
	sigmoid函數
		將所有的值通過運算出來,結果範圍爲0~1
	tanh函數
		將所有的值通過運算出來,結果範圍爲-1~1
	relu函數(用的比較廣泛)
		小於0不激活,大於0開始激活
	leaky relu
		小於0激活度小,大於0激活度大
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章