【正文】
rough the frame by frame of video file collection, the collection of image, image processing of pupil size and special color mark the pupil, then the frame synthesis for video output file. This article adopts the corrosion, expansion, with the frame of open operation, binary image preprocessing methods, such as using region growing algorithm to get the pupil area, so as to calculate the relative sizes of pupil area, can calculate the pupil size, and draw the pupil area change curve, and then synthesize processed image frames into video output file, so as to realize the dynamic analysis of the pupil. In this paper, the frame is based on the processing of binarization of coarse location and region growing method with the bination of methods, can effectively detect irregular round pupil by lesions, simple and rapid. Preprocessing of the first to use morphological open operation to remove eyelash and bright spots and keep the pupil size, the influence of the generated thumbnail at the same time。 region growing。瞳孔圖如圖 所示。未直接感光的瞳孔也相應出現(xiàn)放大縮小的情況,稱為間接光反應。瞳孔對光反應的信息傳遞通路為:視網(wǎng)膜接受光刺激,視神經(jīng)和視束傳遞信息,經(jīng)上丘到達中腦蓋前區(qū),反饋信息驅動動眼神經(jīng)支配瞳孔控制肌肉進行收縮、放大。除生理調節(jié)變化外,如瞳孔擴大多見于顱腦外傷、腦血管病、重癥的乙型腦炎、化膿性腦膜炎等;若伴有光反射消失、眼球固定、深昏迷等,多為原發(fā)性腦干損傷或臨終前征象;瞳孔縮小多見于乙醇(又稱酒精)中毒、安眠藥中毒以及老年人的腦橋腫瘤、腦橋出血,也可見于糖尿病。 通過對人眼瞳孔的精確定位檢測,可使得眼科手術的安全性和可靠性得到極大的提升,同時在醫(yī)療器械眼科輔助檢查方面提供精確的數(shù)據(jù)支持;通過對人眼瞳孔的檢測跟蹤,根據(jù)瞳孔大小參數(shù)和人眼的開閉時間來判斷駕駛員是否疲勞駕駛,可主動性地減少交通事故的發(fā)生;通過對人眼瞳孔的定位檢測,可對人的注視點及注視行為等進行檢測、分析,實現(xiàn)眼動、人工智能方面的控制;通過對人眼瞳孔的定位檢測及跟蹤,可了解并進而分析人的心理狀態(tài),從側面解決人類的交流問題;通過對人眼瞳孔的定位檢測,為基于生物特征識別技術的人臉識別和虹膜識別等應用研究提供堅實 的研究基礎;通過對人眼瞳孔的定位及跟蹤,可分析人的精神狀態(tài),分析神經(jīng)系統(tǒng)的反應及病變 [1]。程文紅等人 3 對瞳孔在藥物( 0. 01% 托 吡卡胺)刺激下的動態(tài)變化進行了研究,得到相似結果。瞳孔本身具有生理性的瞬時波動,其大小無時不在變化,而且可因光線、注視目標遠近、年齡、屈光狀態(tài)、種族、虹膜色素多少、睡眠與覺醒、情緒的不同等因素而變化。后者的傳導徑路如下;下丘腦(視束可能與下丘腦有間接聯(lián)系) —— 中樞性交感神經(jīng)束中腦交叉 —— 經(jīng)過腦干和頸髓 —— 第 8 頸髓至第 2 胸髓的灰質側角(交感神經(jīng)核區(qū)又稱睫狀脊髓中樞)發(fā)出節(jié)前纖維 —— 頸上交感神經(jīng)節(jié) —— 節(jié)后纖維 —— 入眼眶(伴隨頸動脈上行) —— 瞳孔開大肌 [1]。我們稱被照眼的瞳孔反應為直接對光反射,對側眼的瞳孔反應為間接對光反射。云南省的馬原野課題組經(jīng)過近 5年的科研攻關,己經(jīng)研制出吸毒人員瞳孔快速檢測鑒定儀,應用于公安禁毒。馬原野課題組的檢測設備和方法明顯優(yōu)于國內(nèi)現(xiàn)有的常用方法,為確認吸毒人員工作 提供了一種新的檢測技術。南開大學現(xiàn)代光學研究所的王懷軍、方志良等也正在開展這方面的研究工作,進行了光學系統(tǒng)的設計和理論計算。后來發(fā)展出直尺目測法,檢測者采用直尺測量,開始定量表示瞳孔的大小。該種相機焦距 17cm,最大光學變焦可放大瞳孔 5 倍。 WaChler等創(chuàng)研究了這 3 種角膜地形圖檢查瞳孔的可信度和可重復性,他們發(fā)現(xiàn)這些儀器因照明系統(tǒng)的緣故所測瞳孔直徑偏小,該研究也指出角膜地形圖檢查瞳孔的操作者間可重復性差,因此并不可信。在臨床應用方面, GregoryM, Malham 等研究了在格拉斯哥評分 ( Glasgow ComaScore)低于 3 分,同時伴隨雙側瞳孔固定散大的嚴重創(chuàng)傷病人存活率; Matthias Behrends 等測量了在心肺復蘇時候瞳孔的變化,期待瞳孔參數(shù)能夠表征病人的存活狀態(tài)。 SungSub Song 沈陽理工大學學士學位論文 5 等提出了一種簡單而有效的瞳孔和凝視檢測方法,用于頭戴式的光學交互系統(tǒng)。但由于人的瞳孔是橢圓形的,其利用標準圓的檢測方法對瞳孔中心點定位精確度不高; BeiYan 等利用動態(tài)二值化閾值的方法,對眼部的瞳孔進行自動定位,達到了精確的定位,但是由于其檢測過程中的眼部圖片眼睫毛較少,因此對于外部干擾較多(例如睫毛較多)的病人的圖片,其識別的效果不明顯,不能精確定位瞳孔中心 [3]; Rasoul Kheirolahy, Hossein Ebrahimmzhad 等利用眼部圖片中眼睛的不同部位的顏色差別對圖片中眼部的圖像進行瞳孔的檢測,但其檢測的算法復雜度大,不能對信息量大的視頻流 進行實時的檢測?,F(xiàn)有的瞳孔檢測算法,將粗細定位相結合,二值化初定位,然后 Hough 精確定位 [7]。 OpenCV 是最初由英特爾公司發(fā)起并開發(fā),以 BSD 許可證授權發(fā)行,可以在商業(yè)和研究領域中免費使用,現(xiàn)在美國 Willow Garage 為 OpenCV 提供主要的支持。 OpenCV 最初的開發(fā)工作是由 Intel在俄羅斯的團隊實現(xiàn)。 2021 年 6 月李信弘和 Vadim Pisarevsky 作為嘉賓參加了在北京舉行的“開放源 代碼計算機視覺庫( OpenCV)研討會”,并做了非常有價值的報告?,F(xiàn)在已經(jīng)開發(fā)了 PR2 機器人,并支持 ROS、 OpenCV、 PCL 等軟件。 OpenCV 正日益成為算法研究和產(chǎn)品開發(fā)不可缺少的工具。 CVCAM 模塊包含攝像機接口等,在 以后的版本中已經(jīng) 被移除。 沈陽理工大學學士學位論文 8 2 瞳孔動態(tài)監(jiān)測系統(tǒng)的構建 瞳孔的動態(tài)檢測需要獲取清晰、高質量的眼睛圖像,并對圖像進行快速、準確的處理以提取特征指標。 系統(tǒng)的總體結構 系統(tǒng)框圖如圖 所示。 系統(tǒng)的硬件結構 瞳孔動態(tài)檢測系統(tǒng)的硬件包括圖像采集、攝像光源系統(tǒng)、刺激光源及控制 3 部分。圖像采集數(shù)據(jù)傳輸圖如圖 所示。可見、紅外發(fā)射管均勻分布在攝像頭周圍。因此,考慮到本文實際操作環(huán)境,采用具有紅外背光補償?shù)臄z像頭來采集瞳孔圖像。 STM32 分為 STM32F103 系列和 STM32F101 系列兩種。為使的光源能在球體內(nèi)均勻散射,故此需三種顏色的 LED 都對稱、均勻分布;同時,每種色采用串并級聯(lián)以滿足電流、電壓在電氣參數(shù)上的要求。軟件設計整體框架圖如圖 所示。 圖 瞳孔檢測過程 預處理 由于光斑、眼瞼以及濃密的睫毛等原因,使得紅外瞳孔圖像受到一定的噪聲干擾,所以需要進行圖像預處理和濾波。腐蝕處理的作用是將目標圖形收縮。腐蝕是一種消除邊界點,使邊界向內(nèi)部收縮的過程。腐蝕使得目標縮小,空洞變大,同時可以去除圖像中的細小斑點。對瞳孔圖片腐蝕后的結果如下圖 所示: 圖 瞳孔腐蝕圖 膨脹 由于 A 和 B 是 Z 中的集合, A 被 B 膨脹定義為: ( ) 簡單的膨脹運算是將與某物體接觸的所有背景點合并到該物體中的過程,其結果是使剩下的物體沿其周邊比原物體大一個像素的面積。 膨脹原理:( 1)用結構元素 B,掃描圖像 A 的每一個像素。對瞳孔圖片膨脹后的結果如下圖 所示。使用同一個結構元素對圖像先腐蝕再進行膨脹的運算稱為開運算 。在瞳孔檢測預處理中,形態(tài)學開運算首先進行腐蝕運算,去除眉毛等比較細小部分,然后進行膨脹,這樣可以恢復瞳孔原來的大小,使得瞳孔保持原始大小。圖像分割算法一般是基于灰度的兩個性質之一:不連續(xù)性和相似性。圖像分割的方法和種類有很多,有些分割運算可直接應用于任何圖像,而另一些只能適用于特殊類別的圖像。全局閾值分割方法在圖像處理中應用比較多,它在整幅圖像內(nèi)采用固定的閾值分割圖像。灰度的閾值變換的變換函數(shù)表達式如下: ?? ?? , ?? = 255 , ?? ?? , ?? ??0 , ?? ?? , ?? ≤ ?? ( ) 其中 T 為規(guī)定的閾值。比如說物體內(nèi)部灰度分布均勻一致,背景在另一個灰度級上也分布均勻,這時利用閾值可以將目標與背景分割得很好。由于這個原因,我們需要一個最佳的,或至少是具有一致性的方法確定閾值。合適的閾值選擇是關鍵,常用的閾值分割方法有:基本閾值、半閾值、最優(yōu)閾值等方法。值得說明的是,在后面的實現(xiàn)系統(tǒng)中,也是采用固定閾值來進行瞳孔粗分割。其次,要進行二值圖像的處理與分析,首先要把灰度圖像二值化,得到二值化圖像。 平均值法:平均值法使每個像素點的 RGB 值等于原像素點的 RGB 值的平均值,即R=G=B=(R+G+B)/3。設圖像尺寸大小是 m n,則得到: 水平投影: ?? ?? = ?? ?? , ?? ???? = ?? ,?? = 1 。如果原圖的尺寸較大,那么在整個運算過程中,種子點的查找會消耗大量的時間。在縮略圖中找到種子點后,然后將其橫縱坐標按照縮小比例進行放大,就可以得到在原始圖像中種子點的坐標了。 區(qū)域生長的基本思想是將具有相似性質的像素集合起來構成區(qū)域。 區(qū)域生長的關鍵就是選擇合適的生長或相似準則,大部分區(qū)域生長準則使用圖像的局部性質。 步驟四:返回步驟一,繼續(xù)掃描直到所有像素都有歸屬,則結束整個生長過程。 步驟二:比較鄰接區(qū)域的累積灰度直方圖,根據(jù)灰度分布的相似性進行區(qū)域合并。 本文采用第一種生長準則是基于灰度差。 圖 區(qū)域生長后的瞳孔 沈陽理工大學學士學位論文 21 4 瞳孔動態(tài)監(jiān)測系統(tǒng)的軟件設計 瞳孔動態(tài)監(jiān)測系統(tǒng)的模塊設計 視頻讀取模塊 實現(xiàn)指定瞳孔視頻文件的讀取,并且顯示在屏幕上,以便于觀察其視頻的內(nèi)容,從而可以更好的進一步選擇所需視頻的內(nèi)容。 圖 視頻文件查看模塊流程圖 軟件的具體實現(xiàn) 環(huán)境配置 在 Visual C++ 中的配置。菜單:ProjectSettings,然后將 Setting for 選為 All Configurations,然后選擇右邊的 link 標簽,在 Object/library modules 附加上 ,如圖 所示。界面如圖 所示。 自己封裝的類如下: class Video : public CDialog { public: Video()。 //播放 frame_pos 幀視頻 void PauseVideo()。 virtual ~Video()。 //捕獲 CString m_filepath。 //判斷是否播放中 int m_framepos。 //定時器 int m_speed。處理模塊中涉及到種子點的定位和瞳孔圖片的預處理以及區(qū)域生長算法。 { for(int i=0。jpimgheight。kpimgheight。j++) { if(a[k][j]==0) yp[k]++。 int maxy=yp[0]。xmax=l。ymax=m。 } 圖片的灰度化實現(xiàn)如下: IplImage* AveGRAY(IplImage*in,IplImage*out) //灰度化函數(shù) { for (int y=0。xinwidth。 } 由于用灰度公式實現(xiàn)的灰度化效果沒有 OpenCV 中 cvCvtColor()函數(shù)的效果好,故用本文用 cvCvtColor()函數(shù)實現(xiàn)圖片的灰度化。 圖 膨脹卷積圖 注意的是源圖像不可與