Axis Q6000E - Full 360° overview with one-click PTZ control

在上一篇介紹 Axis Q3709 PVE 180º的 Surround Cam後,以為360º會之後出現,沒想到去年Q4就已經有360º的產品出現了,而且還是結合一個PTZ control module。

http://www.axis.com/global/en/press-center/press-release/3616

雖然Full View + PTZ 的solution前幾年在安控展就已經有了,但看到 Axis的廣告還是讓人耳目一新。行銷廣告真的很有創意,把產品發想的概念給表現出來。然而 Q6000E是由四個2M的Camera加上一個30倍變焦的 PTZ dome,只要在 Overview影像上任何位置 click一下後,PTZ就會追到相應的位置,得到細部的影像資訊。看一下Axis Q6000E的廣告內容吧~

Multi Camera - AXIS Q3709 PVE

Surrounding Camera不能死,連安控界賓士 Axis的產品都要上市了,是個振奮人心的消息阿!!!

http://www.axis.com/global/en/press-center/press-release/3861

Axis稱之為『Multi Sensor』,目前只提供180º的產品,不過我想360º產品過不久應該就會浮出水面了~~~領頭羊都進去了,其他大中小公司能不跟進嗎~Hihg resolution、Wide view engle都是趨勢,就算成本再高,frame rate再低,趨勢就是要追。

今年六月中的英國安全科技展應該會很熱鬧!!!期待看到更多的 multi-camera的 solution。

 

Multi-band Blending in Different Pyramid Layer

Multi-band Blending裡有提到說不同的Pyramid Layer數會有不一樣的blending結果。我將apple和orange用Pyramid方式混和,原始影像大小為512x512。所以最小可以縮到第九層Pyramid。以下是不同層數的比較結果。

Pyramid Compare

層數越多,影像頻率分的越細,因此混合比較不容易會有Seam的產生。

Output the Image Mosaics(Image Stitching)

在一開始Image Mosaics (Image Stitching)有提到說,目前做Surrounding Camera的廠商(Arecont和Scallop),他們影像是直接並排輸出,沒做Cylindrical Projection,也沒有Stitching。下圖是Arecont官網的Surrounding Camera 8M的範例影像,就只是將四個2M的影像並排在一起,並沒有做Image  Stitching。

Arecont_8M02

[Arecont Image]

在做Image Stitching時,先將四個影像做Distortion Correction&Cylindrical Projection,再目視調整每個影像對應位置後,再crop最適合的output。如下圖所示:

未命名


結果差異比較,這裡拿一般四個連續影像拼接做比對,

[IMAGE1]是不做任何事情直接以併排方式表現;

[IMAGE2]是做Distortion Correction&Cylindrical Projection,最後再做Mulit-band Blending後的結果。

未命名

[IMAGE1]

stitching

[IMAGE2]

 

IMAGE2影像畫面一致,但缺點就是要自行調整每張影像的相對位置去自行對齊。位置會因為影像解析度、鏡頭或模組設計的不同,而有不一樣的設定。


 

reference : Computer Vision:Algorithms and Applications (Richard Szeliski)

 

 

Alpha Blending

最常見的影像混合方式就是Alpha Blending,將兩個影像混合的部分做線性內插就可以了,方法簡單,疊合的影像不會有斷接面(seam)的感覺,但缺點就是會有鬼影(ghost)產生。

Equation :

g\left( x \right) =\left( 1-\alpha  \right) { f }_{ 0 }\left( x \right) +\alpha { f }_{ 1 }\left( x \right)

alpha blending
 
不同的疊合範圍會有不同的影像結果:
alpha blending2
   alpha blending3
Blending範圍越大,Ghost越多,範圍越小,Seam越明顯。
alpha blending4
[Optimal Window] : 指取適當的blending size,影像smooth但沒有ghost。
 

reference :  15-463: Computational Photography(Alexei Efros, CMU, Fall 2005)

Cylindrical Projection

為了讓整體畫面大小一致,所以要做Cylindrical Projection。如果只做一般的affine projection,Image mosaics中央的物體會很小,而左右兩邊會放很大;但做Cylindrical Projection整體畫面呈現較為自然。

未命名

[Affine Projection]

未命名2

[Cylindrical Projection]

Cylindrical Projection 公式如下所示:

未命名

參數f指的是focus length,可以查相機spac裡的focus length值是多少,但通常不會是正確的值,基本上可以試不同的f值來fix影像stitching的結果。沒有絕對的focus length,只有想要的focus length。以下就是paper測試不同f值所得到的結果,可以注意到不管f值如何,做曲面彎曲的只有橫向,縱向的直線都不會改變。Cylindrical Projection的轉換公式是用backward方式實現,(x,y)是要圓柱投影的影像位置,({x}_{cyl},{y}_{cyl})是投影過後的影像位置。

未命名

[different focus lengths]

DistortionCorrection_1 Cylindrical Projection CylinderImg_02

上圖為實際例子。將做完Distortion Correction後的影像經過Cylindrical Projection後,右圖為得到的結果。

 
 

reference : Computer Vision:Algorithms and Applications (Richard Szeliski)

Image Mosaics (Image Stitching)

Image Mosaics又稱Image Stitching,就是將多張影像拼接成一張,再將overlap的位置做blend,讓畫面有一致性。

stitching

image base來說,建構一張stitching image有兩種方式:

1.一種就是direct method,每張影像經過affine project後,再經過位置校正,就可以得到stitching image,至於overlap的地方要不要處理就見仁見智了。但就目前做surrounding camera的公司Arecont VisionScallop連Cylindrical Projection都沒做,就直接並排輸出,呈現結果當然不優,有很明顯的seam。

2.第二種就是feature base的方式,找features再match...但成本高,且難實做,效果有限,遇到much texture or less texture的時候,容易有side effect。

未命名  

Direct Method Procedure:

1. Distortion Correction 

2. Cylindrical Projection 

3. Overlap Blending

4. Output the Image Mosaics

 

另一種應用是Image Composition,類似Image Stitching。原理是從一張影像割出一塊感興趣的區域,在貼到另一張影像上,如下圖所示。

Image composition
 

 

 

 


reference : Computer Vision:Algorithms and Applications (Richard Szeliski)

Image Pyramid-OpenCV

在前一篇Mulit-band Blending有提到Gaussian和Laplacian Pyramid怎麼建立,但裡面的Expand(或Up Sample)和Reduce(或Down Sample)怎麼實做呢?其實很簡單,只要一個5x5的Gaussian window就可以搞定了。

Pyramids_Tutorial_Pyramid_Theory  

Reduce。產生下一階(i+1)的Gaussian Pyramid,1.只要和Gaussian kernel 做 convolution。2.再把偶數的column和row給丟掉就好了。

reduce

 

 

 

[Reduce Guassian Kernel]

Expand。產生上一階(i-1)的Gaussian Pyramid,1.先把low resolution image上的pixel放在expand image的奇數位置,偶數位置都填零。2.再和下面的Gaussian kernel 做 convolution就可以了,注意這裡除的weight是16(256/4),是為了保持total energy不變。

expand

[Expand Guassian Kernel]


 Example。拿apple為例子,將原圖做reduce後,再expand,最後與原圖相減得到Laplacian Image。

01

[raw image]

01_r

[reduce image]

01_e

[expand image]

01_l

[laplacian image]

 

 

 

 

 

 


reference : http://docs.opencv.org/doc/tutorials/imgproc/pyramids/pyramids.html

Optical Illusion - Mach bands

test2

上圖是兩張不同灰階值(左邊灰階值是100和右邊灰階值180)做 alpha blending,結果顯示出在左邊混合交接處有明顯的黑色線條,而右邊混合交接處有白色線條。當初以為是自己程式寫錯...但丟到 Photoshop 裡看 pixel 的變化,結果並沒有 pulse 出現阿!!!難道是我的眼睛花了?
經過 google 大神的查證,這是一種叫馬赫帶效應( Mach Band Effect ),是指視覺的主觀感受在亮度有明顯變化的地方會出現不真實的明亮或黑暗的條紋,馬赫帶效應是人類視覺錯覺( Vision Illusion )造成的結果。馬赫帶效應是由一名奧地利物理學家 Ernst Mach 發現的一種明暗對比的現象,指的是人類眼睛在明暗對比交接處,亮處更亮,暗處更案的現象。

Mach Band

他是一種人類眼睛主觀的邊緣對比效應,增加亮度變化的對比強度一種視覺效果。右上方的曲線為A~D水平切線的像素值變化,右下方的曲線為人類感官所感測的數值變化。

 

color chart

此圖為一般常見的灰階測試圖,主要是用來測試影像的對比度,每個方塊裡的灰階值都相同,但在方塊與方塊的交接處會產生亮部更亮暗部更暗的現象,這種現象就叫 Mach Band Effect。

 

test3
為了修正人類眼睛所產生的視覺錯覺,當我們把 alpha blending 的灰階變化曲線平滑後,黑白色線條就不見了,嘿嘿!看到了吧~
有時候我們眼睛認為是正確的,不一定是對的;眼睛認為是不對的,也不一定真的是錯的喔。