2013年5月14日 星期二

讀"吳淡如:孩子,請你別當資優生"有感.

下面連結是吳淡如文章的全文:
吳淡如:孩子,請你別當資優生

全篇我很贊同,但看完第一頁大陸學生的故事,好喜歡那個大陸學生的感想,原文節錄如下:
"不久前,有個大陸的孩子在自己的網誌上發表了文章,說他其實想要休學,這輩子只想和心愛的女孩過日子。他說他沒有遠大理想,因為歷史上很多的家破人亡都是有遠大理想的人造成的。他說,每天都在上課,寫作業,排名次,實在沒有意義。
他是個資優生,跳級生,十歲就跳了很多級念中學一年級,什麼比賽都獲獎過,是大家眼中的天才兒童。
真是個早熟的孩子。他說的話也引起很多人的討論。我只想幫他多加幾個字:歷史上很多的家破人亡都是有遠大「政治」理想「卻沒有同情心」的人造成的。"
因此對吳淡如的評論有點不以為然。一看到吳淡如的評論,就讓我想到佛經中割肉餵鷹的故事,薩波達王捨身成仁,但這樣就是有同情心的人嗎?不談鷹跟鴿的問題,只論他是國王的身分,他就沒有捨身成仁的權利,他捨身容易,但全國人民怎麼辦?蜘蛛人中主角叔叔對他說過一句話"The great ability comes great responsibility",當主角變成蜘蛛人後,他不再是只要對自己及家人負責就可以了,而我們又有誰可以只對自己負責?

那位大陸天才兒童如果沒有仁心,那勢必造成很多危害,這是無庸置疑的。但他就算有仁心,除非他能夠永遠不死且永遠為理想打拼,否則還是會形成危害,我想那位大陸天才學生的感觸應該是指這個,而非吳淡如談的那種狀況。

吳淡如用自己的思考方式來思考一切,這也為什麼第二頁吳淡如搞錯"博士"帶來的壓力,有那個"博士"說不出來自己會什麼?博士一定說的出來,但其他人聽得懂嗎?一個博士說他可以將一個帶有雜訊的訊號中的雜訊濾除使訊號99%還原,很多人可能只覺得「好厲害,有什麼用?」跟他們說現在大多數電子設備都有訊號處理的部分,這對大多數電子設備有用處。接著很多人可能依然覺得很厲害,但還是不知道跟電器行修電器的有甚麼差別。我念資訊很多年,還是一堆人電腦壞了找我修理,而且是明白跟我說「你們學校一定有教這些吧。」解釋半天我是學影像處理,大家聽的似懂非懂後,問我是不是可以去當動畫師或電腦繪圖師。我當然可以從光轉換電子訊號,A/D轉換,然後數位化,接著電腦將影像當作一堆pixel處理,而我必須將一堆pixel的零碎資料想辦法與人腦希望的目標做結合,將數值做變化。講那麼多,最後還不是得到「我的電腦修的好嗎?」或是「我想架個網站可以幫我弄嗎?」

唸書唸了很多年的人,不見得是放不下身段,也有人是為了花了那麼多納稅人提供的經費,如果不能將所學貢獻,如何對得起社會?姑且不論那麼遠大的理想,光是對身邊的人就很難交代。也許吳小姐沒有這種執著,但不見得每個人家裡的長輩都沒那種執著,看著自己的孩子念博士畢業,結果全部砍掉重練,有多少人可以承受的了。而我相信,絕大多數博士不是眼高手低,只是他們的真本領離現實有段距離,他們有著那麼強大的本領是他們的錯嗎?或許他們該向現實低頭,但並不是去開計程車,開計程車並不是任何一行亂跳槽就可以輕易做得好的,我對任何一種行業都是抱持這種看法,沒有任何一種行業要做得好不用花心思鑽研的,而且有更多可以嘗試的工作為何要叫人去開計程車?試著叫吳小姐捨棄自己專研那麼久的專業,換工作來開發演算法,我不相信能承受的了,也不相信能那麼快上手。


2013年5月8日 星期三

淺談Gamma correction

之前念研究所時,寫background subtraction程式時,發現一件事,影像的亮度與理論值不合,儘管我用點光源,在暗房拍攝,也無法控制到亮度值為線性變化,當時找一些background subtraction及color space conversion相關的paper,都沒找到解答,當時只覺得理論值與實際值可能有差異,因此就放著不管了,當接觸數位相機後才發現事實是當時並不知道所有8bit數位影像都做過Gamma curve轉換了。

關於Gamma curve,可以參考wiki:伽瑪校正
看完只得到一個結論:"好簡短,也不過就是個轉換,有甚麼意義?"
我在當初學影像處理時就學過了,當時聽完老師說也完全不了解這有什麼意義,也因此一值忽略這東西在數位影像上的影響。
真的要了解意義,可以參考英文版wiki:Gamma_correction

先不論這些部分,之前剛到公司問起同事及親友為何一定要做Gamma correction,得到的回答不外乎兩個:1. 因為人眼對不同亮度的敏感度非線性,所以必須要做Gamma correction。2. 因為電壓換算光的強度非線性,因此必須做Gamma correction。

對於第一個說法,我比較認同,但是總覺得奇怪,就算敏感度非線性,還是不能解釋為何要做Gamma correction,且拍照亮度是AE自動調整,但Gamma correction卻是對相機的Dynamic range進行Gamma correction,這明顯不是人眼的動態範圍。至於第二個說法,則太奇怪了,電壓換算光的強度非線性跟數位影像儲存有何關係,影像是數位的,電壓是類比的,類比進化到數位那麼久了,怎麼可能還是那樣的定義。

根據wiki中所寫,Gamma correction可以稱為Gamma encoding,更明確講出,因為人眼敏感範圍不同,如果全部儲存,會浪費太多bit在儲存不需要的資料,如此一來一切就合理了,Gamma correction主要目的就是為了減少資料量,硬把一個很廣的Dynamic range壓縮到0~256的8bit範圍。

關於人眼對光線的敏感度,基本原理都是以Hurter-Driffield curves為基礎發展的,這個研究我還沒有看進去,等看懂的時候再寫。

既然Gamma correction重點在於資料的壓縮,而且是有失真的壓縮,那重點就在於失去的部分是否真的看不出來,但遺憾的是答案是否定的,失去的部分是看得出來的,人眼對亮度的敏感度非線性,不過人眼類似相機,也有AE的機制,相機也許可以模擬人眼的AE機制,但不可能完全仿照,尤其是人眼的感光權重機制,更是相機難以模擬的,相機難以知道人眼目前注視的目標,因此只能用對焦區或是人工指定感光區來作加權,難以將整個景兼顧。
而人對拍照的預期往往超過一個snapshot所能表達的,在人眼的一瞬間,也無法兼顧整個景所有區域的亮度Dynamic range,但是人會轉頭會到處看,因此印象中會留下每一區的細節,而照片卻只有一瞬間,一瞬間很難保留到所有區域所有細節,假設感光元件的感應範圍夠廣,要忠實呈現人眼所見,必須不做Gamma correction全部值域都記錄下來,否則這個loss必然被看出來。

這些都是稍加研究就知道的問題,研究相機的工程師及研究人員,必須要解決問題,而非單純點出問題。因此這部分必須想辦法解決,對應的解決方案很多,錄Video是一種解法,但相對應的就是動態AE很重要。近年來很流行的HDR也是一種解法,但是靠的是人工智慧影像處理來分析每一個local需要的Dynamic Range,實際上每一象素也只有8bit,簡而言之只是騙眼睛而已。拍10~16 bit Raw也是一種解法,但難以解決的是在同一瞬間,其實Dynamic Range還是被sensor吐出的data限制住了,舉例來說12 bit raw,如果拍攝場景中有Lv2~Lv16的亮度,則可能得被迫選擇Lv4~Lv16,Lv4以下雖然以理論上來講是有拍攝到,但在數值上是沒差異的,也就是說等於沒拍到(但事實真的是如此嗎?有機會再就Noise reduction的觀點來看這件事)。

我覺得關於Gamma correction,還有一個很讓我感興趣的部分,就是人眼的敏感度與CRT的光電效應相仿,這是否意味著,人體也是根據電壓來鑑別亮度,而非能量強弱?

(寫Blog好累,原本想圖文並茂的整理一些東西,但弄了幾天,也只擠出短短這幾行內容。)


2013年5月6日 星期一

無題

最近一些工作的事,讓我有一些感觸。

從事影像處理相關研究十數年,而進入數位相機這行才短短兩年多,這短短兩年多發現很多以往始終不解的一些問題,一下子迎刃而解。但是這幾年數位相機的產業一天不如一天,很多技術要摸可能也沒有太多機會了,加上公司內很多同事並不如我那麼愛鑽牛角尖,很多問題找不到同事討論,昨晚想著想著覺得很可惜,想到網路上很多高手,如果寫網誌把一些我所了解到的技術寫上來,也許可以遇到一些熱愛影像處理的高手,應該可以找到同好討論。

這可以算是我第一次寫blog,很多人都覺得念資訊應該很會寫網頁,老實講,只有大一做作業時認真寫過網頁,之後就都只玩我喜歡玩的東西,網頁及網路相關的東西碰的很少。