第三章 實驗流程
3.4 影像處理:找出果蠅位置
在此的影像相除是擷取當前拍攝出的影像,除去上述所抓到背景的影像。連
Fig. 3-10 The original for day image
Fig. 3-11 the original for night image
Fig. 3-12 after division for day image
Fig. 3-13 after division for night image
接著後把該影像減去一個閥值(threshold),此處理可以減去背景得到果蠅的 身體。如果影像中的像素強度值大於閥值,為了方便之後的處理把該點設為白色 (255),否則的話還原成原始影像的像素強度值(如 Fig. 3-14,Fig. 3-15),根據影 像中留下來的資訊,我們可以簡單的找到果蠅在哪裡。
If RN(x , y) > threshold , RN(x , y) = 255 Else RN(x , y) = IN(x , y)
17
Fig. 3-14 subtract threshold for day image
Fig. 3-15 subtract threshold for night image
比較背景相除與背景相減:
在這比較背景相減與背景相除的差異,以上述中白天影像為範例,拿白天的 影像直接減去背景的影像,如圖 3-16 所示,可以看出 arena 有一點位移,所以在 邊界的部分出現了一圈的輪廓,而使用影像相減有著更多的雜訊,所以在這我們 使用影像相除取代相減。
Fig. 3-16 Day image using subtraction
19
找出果蠅隻數:
使用一個正方形為基準遮罩,邊長為 n x n 大小,定義此邊長為變數 fly_size,此變數會因為白天或黑夜而有所不同,正方形作用為找出一張影像中 果蠅位於的位置(Fig. 3-17),再把相鄰的正方形合併,即可算出果蠅的真正位置 (Fig. 3-18)。
Fig. 3-17 Use square mask to find fly
Fig. 3-18 Cluster the squares
其方法定義如下:
從影像中(0,0)至(640,480)掃過一次,若該點影像像素值強度值不是 255(白 色),則代表可能是果蠅身體之一點,利用邊長為 n (fly_size)之正方形遮罩,為 了加快運算速度,其實際形狀為 Fig. 3-19 所示,只需判斷這些點即可。
Fig. 3-19 Square mask
若在該形狀內的像素值皆不是白色(255),則記錄該正方形左上(點 1)、右上
Fig. 3-20 Cluster for case 1 illustration
情況二:
第二個正方形在第一個的更右下方(Fig. 3-21),此時比較紅色的第 4 個點與 藍色的第 1 個點,如果在黑色線上的像素強度值皆不為白色(255),則合併此兩 個正方形,設為同一組。
Fig. 3-21 Cluster for case 2 illustration
情況三:
第二個正方形在第一個的左下方(Fig. 3-22),此時比較紅色的第 1 個點與藍 色的第 2 個點(或紅色的第 3 個點與藍色的第 4 個點),如果在黑色線上的像素強 度值皆不為白色(255),則合併此兩個正方形,設為同一組。
Fig. 3-22 Cluster for case 3 illustration
情況四:
第二個正方形在第一個的更左下方(Fig. 3-23),此時比較紅色的第 3 個點與 藍色的第 2 個點,如果在黑色線上的像素強度值皆不為白色(255),則合併此兩 個正方形,設為同一組。
Fig. 3-23 Cluster for case 4 illustration
23
情況五:
第二個正方形在第一個的下方(Fig. 3-24),此時比較紅色的第 3 個點與藍色 的第 2 個點(或紅色的第 4 個點與藍色的第 2 個點),如果在黑色線上的像素強度 值皆不為白色(255),則合併此兩個正方形,設為同一組。
Fig. 3-24 case 5 Cluster for case 5 illustration
全部合併後就可算出總共果蠅的隻數,並顯示出來如 Fig. 3-18 響,定義一個距離閥值(distance threshold)以及一個 no_move 計數器去決定果蠅 是否有進入睡眠狀態。
比較在時間 t 影像(current image)和 t-1 時間的影像(previous image),若兩張 影像中果蠅的相距小於距離閥值,則判定果蠅沒有移動,把 no_move 計數器加 1,
如果距離大於距離閥值,表是果蠅正處於移動狀態,則把 no_move 計數器設為 0。
因為我們以秒為單位,所以時間 t 與 t-1 必須相差一秒以上 no_move 計數器才會 加,否則不變。每秒皆要去判斷 no_move 計數器,如果大於 300 秒(5 分鐘),則 判定此果蠅進入睡眠狀態,必須計算睡眠時間並做記錄。
每秒輸出相關資訊,此資訊包含果蠅的位置和 no_move 計數器的值等等,
每三十分鐘輸出睡眠時間,並且記錄超過三天。程式可以每秒輸出影片或存成影 像做正確性的的比較,如果果蠅處於睡眠狀態,則標示藍色的點,處於移動狀態,
則標示紅色的點,可以在影像中清楚的看出程式是否正確,相關圖片如 Fig. 3-25 和 Fig. 3-26 所示。
Fig. 3-25 Previous image
Fig. 3-26 Current image
25
3.6 實驗流程圖
在本篇論文中可以分成兩部分,第一部分是取出背景,第二部分是計算果蠅 睡眠時間,第一部分的流程圖如 Fig. 3-27 所示,一開始在 start 狀態,程式會自 動擷取一連串的影像,存成背景前我們要先決定白天或夜晚,若有開燈則選擇 Day 讓程式存成白天影像,等到程式產生背景後判斷此影像是否正確,如果影像 中包含著果蠅的身體,則此背景是錯誤的,必須要重取背景,反之如果背景是正 確的,則開/關燈後再重跑一次,取出另一個背景。
Fig. 3-27 Flow chart for obtain background
第二部份的計算睡眠時間流程如 Fig. 3-28 所示,當程式取得影像後會自動 判別時間是屬於白天或晚上,使用對應的背景去做影像處理,取得影像中果蠅的 位置後,比較先前與當下的影像,決定果蠅是否有移動,計算出果蠅的睡眠時間,
最後把結果輸出到檔案中。
Fig. 3-28 Flow chart for calculating the sleeping time
27
第四章 統計分析及實驗結果
4.1 操作介面使用
程式開發環境是使用 Mircosoft Visual Studio 2008 和 OpenCv,因為所使用的 攝影機驅動程式是在 windows 環境下才能執行,所以我們決定使用 Mircosoft Visual Studio 2008,OpenCv 是網路上可下載 open source 的 lib,方便於影像的輸 出使用。 片,跳出一個訊息框顯示「The background ok!!」,此時程式會暫停一段時間,給 使用者去關燈,之後再開始取得夜晚背景,如同白天狀況一般。如果使用者發現 取出的背景並不正確,則可以重新按下 Day 或 Night 重新取得背景。
Fig. 4-1 Background interface
當程式成功取得白天與夜晚背景後,將會計算平均的像素強度值,並且存入 檔案中,以方便之後主程式自動判斷白天與夜晚。
29
第二部分為主要判斷果蠅身體,並且計算果蠅的睡眠時間,介面如 Fig. 4-2,
當按下 Live 按鈕之後,程式會連結攝影機,擷取出即時的果蠅影像並顯示 此介面也是非常的簡單,一開始按下 Initial 按鈕,其功用是一些初始的動作,包 含先把 Day 和 Night 的背景先讀入記憶體內,以及讀取背景程式所算出的平均像 素強度值,當讀入的影像接近白天(夜晚)的平均像素強度值時候,可自動的去判 別屬於白天(夜晚),方便於開關燈的處理。
在螢幕上,按下 start 後則開始執行本論文的方法,找出果蠅所在的位置,並且 在果蠅身上標示一點,每三十分鐘記錄果蠅的睡眠時間。show image 則是用來開 關即時影像,因為程式要跑至少三天,關閉即時影像可以節省記憶體空間。
Fig. 4-2 Main program interface
.2 資料轉換及統計分析
程式會記錄每張圖片的資訊,可以用來檢查程式是否有出現錯誤,並且利於 eep latency 之查詢。輸出格式如 Fig. 4-3。檔案內容如下:
total second 40152 it is night sleepcount is 552
um=1 total second 40153 it is night sleepcount is 553
um=1 total second 40154 it is night sleepcount is 554
um=1 total second 40155 it is night sleepcount is 555
4
sl
Tue 2010-05-25 04:33:33 台北標準時間 real_num=1
D://forfly//image//image040150.jpg 5596 93 382
Tue 2010-05-25 04:33:34 台北標準時間 real_n
D://forfly//image//image040151.jpg 5597 93 382
Tue 2010-05-25 04:33:35 台北標準時間 real_n
D://forfly//image//image040152.jpg 5598 94 383
Tue 2010-05-25 04:33:36 台北標準時間 real_n
D://forfly//image//image040153.jpg 5599 94 384
Fig. 4-3 Format for record image information
31
Current time 是用來記錄標準時間,可以看出此影像是哪時候所拍攝的,方 便於之後的檢查與確認,real_num 為判斷出在 arena 中有幾隻果蠅,total seconds
鐘輸出一次此三十分鐘內的睡眠時間,其格式如下: 是目前實驗經過多久了,day or night 是判斷目前時間是處於白天或晚上,sleeping count 是以每三十分鐘為區間,輸出一次睡眠時間,所以上限值是 1800 秒(30 分),
果及統計資料
Cam :
Camera 偵測實驗 傳統實驗
4.3 實驗結
era 偵測實驗與傳統實驗差異處如下表
主動偵測 被動偵測
利用影像處理法偵測 利用紅外線偵測
能偵測到全部區域 只能偵測中間
可有影像資料 無
有 Active time以及Sleep ti e 資料 m 只有 Sleep time 資料
可模擬被動偵測法 無
可觀察移動軌跡 不能
偵測資料更為詳細 只能有中間區域偵測資料
33
折線圖 Fig. 4-4 為一次實驗結果,縱軸為睡眠時間,以 30 分鐘為區間所以 高為 30 分,水平軸是時間,以 24 小時制表示,紅色的縱軸線表示早上 6 點和 晚上
最
6 點,標示紅色線以方便觀察,此次時間從下午 5 點開始實驗。Fig. 4-5 為 此次實驗的平均睡眠時間,可以看出白天的平均睡眠比夜晚的少,這符合之前的 研究報告。Fig. 4-6 為實驗的 sleeping latency,第一天晚上 6 點前就已經進入睡 眠,沒有因為關燈而受影響,可能是受到換環境影響而不正確,詳情需要不同的 實驗作驗證,Fig. 4-7 為實驗的實際拍攝影像,左邊是白天的影像,因為燈光非 常亮,所以畫面中只有果蠅的身體,右邊是夜晚影像,可以明顯的看出食物分兩 邊擺放。
Fig. 4-4 Experiment 1 result
Fig. 4-5 Average sleeping time for experiment 1
Fig. 4-6 Sleeping latency for experiment 1
Fig. 4-7 (left) Day image, (right) Night image for experiment 1
果蠅統計資料如下表,平均值皆取到小數點第 2 位
35
Fig. 4-8 Experiment 2 result
Fig. 4-9 Average sleeping time for experiment 2
Fig. 4-10 Sleeping latency for experiment 2
Fig. 4-11 (left) Day image, (righ ) Night image for experiment 2
果蠅統計資料如下表,平均值皆取到小數點第 2 位
37
參考文獻
[1]. J.M. Siegel, “Functional Implications of Sleep Development”, PLoS Biology, Vol 3, pp. 0756-0758, May, 2005
[2]. K. S. Ho and A. Sehgal, “Drosophila melanogaster: An Insect Model for Fundamental Studies of Sleep”, Methods in enzymology, Vol. 393, pp.772-793, April, 2005
[3]. W. J. Joiner, A. Crocker, B. H. White and A. Sehgal, “Sleep in Drosophila is regulated by adult mushroom bodies”, Nature, Vol. 441, pp. 757-760, June, 2006 [4]. Q. Yuan,W. J. Joiner and A. Sehgal, “A Sleep-Promoting Role for the
Drosophila Serotonin Receptor 1A”, Current Biology, pp.1051–1062, June, 2006 [5]. K. Koh, W. J. Joiner, M. N. Wu, Z. Yue, C. J. Smith and A. Sehgal,
“Identification of SLEEPLESS, a Sleep-Promoting Factor”, SCIENCE, Vol 321, pp. 372- 376, July, 2008
[6]. C. Cirelli, “Searching for sleep mutants of Drosophila melanogaster”, BioEssays 25, pp. 940–949, September, 2003
[7]. J. C. Hendricks, S. M. Finn, K. A. Panckeri, J. Chavkin, J. A. Williams, A.
Sehgal and A. I. Pack, “Rest in Drosophila Is a Sleep-like State”, Neuron, Vol.
25, pp.129–138, January, 2000
[8]. J. E. Zimmerman, D. M. Raizen, M. H. Maycock, G. Maislin and A. I. Pack, “A Video Method to Study Drosophila Sleep”, SLEEP, November, 2008
[9]. H. Dankert, L. Wang, E. D. Hoopfer, D. J. Anderson and P. Perona, “Automated monitoring and analysis of social behavior in Drosophila”, Nature Method, March, 2009.
[10]. W. Liu, F. Guo, B. Lu and A. Guo, “amnesiac regulates sleep onset and maintenance in Drosophila melanogaster”, Biochemical and Biophysical Research Communications, May, 2008
39
[11]. R. C. Gonzalez and R. E. Woods, “Digital Image Processing 3rd”, Addison-Wesley Publishing Company, 2008