丁小一 呂 菲
(合肥職業技術學院,安徽 合肥 230000)
隨著社會的進步,人們使用電子產品的頻率越來越高,尤其是孩子,他們對于電子產品沒有任何的抵抗力。電子產品的使用,可以讓孩子增長見識,但同時也會讓孩子不喜歡運動,更為嚴重的是,長時間的看電子產品則會讓孩子視力受到影響。有研究表明,幼兒連續玩20 分鐘電子產品,如手機或iPad,視力平均下降到42 度左右的近視狀態[1]。兒童在利用電子產品進行一些娛樂活動時,建議每次不要超過15 分鐘,每天不要超過4次;如果學習需要,建議使用屏幕較大的電子產品,如iPad,而且在學習30 到40 分鐘以后,至少休息10 分鐘[2]。眾所周知,兒童讀書寫字的時候,眼睛與書本之間的距離不要超過33 厘米,使用電子產品時候,也可參照這個值。為了監測兒童長時間或近距離使用電子產品,本文設計了一款基于圖像采集的兒童視力保護系統。
基于圖像采集的兒童視力保護系統主要是為了監測兒童長時間或近距離使用電子產品,如手機、iPad 等。它主要由六部分組成:電源模塊、主控模塊、顯示屏模塊、圖像采集模塊、預警模塊、光照強度檢測模塊。系統框圖如圖1 所示。

圖1 兒童視力保護系統總體框圖
其中,電源模塊給兒童視力保護系統提供各種電壓值;圖像采集模塊采集兒童臉的圖像,進而確定兒童眼的位置;當前環境的光照強度,可以用光照強度檢測模塊進行檢測;主控模塊采集光照強度傳感器的信號和攝像頭的圖像,根據控制算法做出控制決策,驅動蜂鳴器或LED 閃爍報警模塊;對于圖像采集模塊的原始圖像,可以在顯示屏上顯示,以備查看及分析。
主 控 模 塊 采 用 恩 智 浦 NXP 微 控 制 芯 片MK66FX1M0VLQ18,該芯片主頻可以達到180MHz 含1.25MB Flash、256KB SRAM、4 個I2C、兩通道16bit ADC 等[3],充分滿足設計需求。通過采集傳感器的信號和攝像頭的圖像,根據控制算法做出控制決策,驅動蜂鳴器或LED 閃爍報警模塊。
圖像采集模塊采用ONsemi 公司的MT9V034,該模塊利用Global Shutter 技術,同時曝光整幀像素[4],具有全局快門、高動態成像、紅外透視以及超低功耗等特點。圖像采集模塊使用一根20pin 的FPC 排線加轉接板,利用I2C 總線與主控模塊相連接,具體如下圖2 所示。其中,D2-D9 為八位數據口(PTD0-PTD7);LINE 為行中斷;FRM 為場中斷;SCL 為I2C 總線SCL;SDA 為I2C 總線SDA;PIX 為像素時鐘。

圖2 圖像采集模塊的原理圖
MK66FX1M0VLQ18 芯片是通過行中斷、場中斷和DMA 來采集圖像的,當攝像頭開始發送一幀新圖像時,攝像頭的FRM管腳會產生一個上升沿,將單片機和攝像頭FRM管腳連接的IO 口配置為外部中斷模式,產生中斷時,說明來了一幀新圖像。攝像頭發送一幀圖像是按行發送的,每當攝像頭開始發送一行圖像時,攝像頭的LINE 管腳就會產生一個上升沿,將單片機和攝像頭LINE 管腳連接的IO 口配置為外部中斷模式,中斷發生時,單片機就知道了有一行新圖像要來了,并且在中斷里面開啟DMA 傳輸,傳輸到來的像素點。攝像頭和單片機之間的同步就由PIX 來實現,每當單片機和PIX 相連接的IO 口檢測到一個上升沿,DMA 就傳輸一次,直到所有的傳輸結束。
當采集到圖像信息,可以使用TFT1.8 寸顯示屏來查看原始圖像,如果原始圖像不清晰,可以轉動鏡頭,調節焦距。攝像頭模塊、FPC 及FPC 轉接母座實物如圖3 所示。

圖3 攝像頭及FPC 轉接母座實物圖
本模塊主要采用光敏電阻R2 和電阻R1(阻值為10K)進行串聯,R2 的分壓處接到主控單片機管腳PTB0,具體如圖4 所示。當光線強弱發生變化時,光敏電阻R2 的阻值也會隨之發生變化,進而,R2 分壓值發生變化,最終實現了光電信號的轉換[5]。

圖4 檢測光照強度的電路圖
當兒童在使用電子產品時,兒童視力保護系統的MT9V034模塊采集圖像,通過算法計算出兒童眼睛離電子產品的直線距離,如果距離小于33CM 或者使用時間超過30 分鐘,就開啟蜂鳴器預警模塊,給兒童以提示;主控芯片通過光線強度檢測模塊檢測當前光線強度,利用設置閾值的方式來判斷當前的光線是否過強或者過弱,如果不在設置的范圍內,開啟LED 閃爍預警模塊,給兒童以提示,從而有效的保護兒童的視力。
兒童在使用電子產品時,攝像頭采集的均為兒童的正面。相對于兒童眼睛而言,兒童的臉要大的多,易于定位。
YCbCr 顏色空間具有與人的視覺感知相接近、膚色聚類效果好、色度和亮度相互獨立等特點,所以本文選擇YCbCr 空間(Y 代表亮度、Cr、Cb 描述顏色的飽和度和色調)[6]。去除Y 分量后,利用Cr、Cb 分量(二維互相獨立)構造坐標平面。利用最常見的參數模型高斯模型,其概率密度函數可表示為:

其中m=E(x)為膚色類像素的均值;C=E[(x-m)(x-m)T]是膚色類像素的協方差矩陣;x 是色度向量。通過概率密度函數得出每個像素的膚色概率,優選閾值將概率圖轉化為二值圖,實現圖像分割,進而實現兒童臉定位[7],具體效果圖如圖5 所示。

圖5 人臉定位效果圖
兒童的臉定位之后,進行二值化處理,可分割出臉的特征點,如嘴巴、鼻子、眉毛、眼睛,再利用積分投影找到眼睛的位置。設圖像區域[x1,x2]的垂直積分投影為V[y],圖像區域[y1,y2]的水平積分投影為H[x],圖像[x,y]的灰度值為G[x,y],則有:

結合人臉的結構特征,利用水平和垂直灰度積分投影曲線找到眼睛的位置坐標,具體效果圖如圖6 所示。

圖6 人眼定位效果圖
定位兒童眼睛之后,可以采用小孔成像中的三角形相似原理確定兒童眼睛與電子產品的直線距離。
當前環境中光照強度的檢測,由模塊中的光敏電阻R2 來實現,然后利用主控芯片的ADC,實現模數轉換。通過設置閾值的方式,判斷光線是否過暗或過強,如果光線過弱或過強則LED 閃爍提醒。如果適中,光敏電阻R2 則持續檢測光照強度,具體如圖7 所示。

圖7 檢測光照強度的程序流程圖
本文通過對現有狀況的分析,提出了基于圖像采集的兒童視力保護系統的設計方案,從硬件框圖以及軟件設計流程給出了兒童視力保護系統的設計過程。長時間或近距離使用電子產品,或者處在光照強度過強或者過弱的環境下,都會對兒童的視力產生影響,通過本系統的使用,可以實時監測兒童是否長時間或近距離使用電子產品,或者處于光照強度不合適的環境下,并給予提醒,有效保護兒童視力。當然,由于系統的功能比較單一,人眼測距的精度有待于進一步提高,使兒童視力保護系統的功能更加完善。