劉 鑫, 蔡樂才,2, 高 祥, 劉川莉, 張超洋,2
(1.人工智能四川省重點(diǎn)實(shí)驗(yàn)室, 四川 自貢 643000;2.宜賓學(xué)院,四川 宜賓 644000)
無線圖像采集傳輸是一種典型的無線場(chǎng)合應(yīng)用[1]。膠囊內(nèi)窺鏡是一種全新的診斷方式[2],可以檢測(cè)傳統(tǒng)內(nèi)窺鏡不能檢測(cè)的小腸盲區(qū)[3]。隨著臨床應(yīng)用的不斷展開,膠囊內(nèi)窺鏡的局限性也逐漸顯現(xiàn)出來。其中,不能精確定位和控制以及可工作時(shí)長不足等是目前迫切需要解決的問題?,F(xiàn)有低功耗方法有:用自主研發(fā)的ECS1020芯片來降低功耗[4]、設(shè)計(jì)一種低功耗MCU的待機(jī)模式電路[5-6]、降低攝像模塊中的晶振電路來降低功耗[7]等,但這些研究成果都不具備精確定位能力。
文獻(xiàn)[8]采用nRF24LE1的膠囊內(nèi)窺鏡系統(tǒng),但nRF24LE1自帶的51單片機(jī)內(nèi)核主頻不高,處理速度慢,從而導(dǎo)致發(fā)射圖像的幀率太慢。
本文在滿足膠囊內(nèi)窺鏡對(duì)于功耗和體積大小的要求下,可控制精確定位,在體內(nèi)采集圖像后發(fā)射到體外圖像接收端,并存儲(chǔ)到SD卡[9]。本設(shè)計(jì)是一種短距離無線圖像采集、傳輸、存儲(chǔ),具有定位功能的醫(yī)療場(chǎng)合應(yīng)用。本設(shè)計(jì)與現(xiàn)有膠囊內(nèi)窺鏡系統(tǒng)設(shè)計(jì)[8,10]相比,為滿足定位設(shè)計(jì)了軸向充磁磁環(huán),采用易于控制且定位精度高的五維磁定位技術(shù),為滿足低功耗在對(duì)硬件進(jìn)行改進(jìn)的基礎(chǔ)上再通過軟件設(shè)計(jì)來降低功耗。
該膠囊內(nèi)窺鏡圖像采集系統(tǒng)包括:用于采集和發(fā)送人體內(nèi)部消化道數(shù)據(jù)的膠囊內(nèi)窺鏡[11],該模塊外殼套有磁環(huán)以配合磁定位陣列實(shí)現(xiàn)磁定位;用于接收和處理消化道圖片數(shù)據(jù)及定位數(shù)據(jù)的圖像工作站,包括計(jì)算機(jī)主機(jī)和膠囊內(nèi)窺鏡圖像接收終端組成。
為解決膠囊內(nèi)窺鏡不能精確定位的問題,考慮使用現(xiàn)有的磁定位技術(shù),但在電磁定位技術(shù)中,接收線圈較大,目前難以集成到膠囊內(nèi)窺鏡中,所以采用永磁定位技術(shù)。本文選擇軸向充磁方式的磁環(huán)來實(shí)現(xiàn)定位,因?yàn)榇怒h(huán)易于實(shí)現(xiàn)電路的封裝。通過給膠囊內(nèi)窺鏡外殼加上一個(gè)薄的軸向充磁磁環(huán)作為激勵(lì)源。將磁環(huán)近似看成磁偶極子,其產(chǎn)生的磁場(chǎng)是其中心位置和南北極方向的函數(shù)。在人體周圍布置磁場(chǎng)傳感器陣列測(cè)量磁場(chǎng),通過LM算法求解膠囊的位置和鏡頭的方向,實(shí)現(xiàn)定位[12-13]。因?yàn)槟z囊內(nèi)窺鏡在人體中的位置和方向一直在變,所以系統(tǒng)還定義了相對(duì)不變的全局坐標(biāo)系和相對(duì)變化的物體坐標(biāo)系,并通過矩陣變換實(shí)現(xiàn)這兩個(gè)坐標(biāo)系的轉(zhuǎn)換,以實(shí)現(xiàn)磁定位需要。
膠囊內(nèi)窺鏡對(duì)體積有嚴(yán)格的要求,要求其體積小、易于吞服,設(shè)計(jì)時(shí)要考慮在有限空間內(nèi)集成光電模塊、圖像處理模塊、無線通信模塊、供電電源,且要求系統(tǒng)能至少工作8 h。表1列出了市場(chǎng)現(xiàn)有膠囊內(nèi)窺鏡的體積、圖像傳感器、幀率、工作時(shí)長參數(shù)比較,從中發(fā)現(xiàn)膠囊體積基本都限定在28 mm×12 mm以下,而且膠囊都以每秒2張以上的圖片傳輸速率工作,工作時(shí)間8 h~10 h不等。
表1 膠囊內(nèi)窺鏡參數(shù)比較
系統(tǒng)要求膠囊內(nèi)窺鏡能在人體消化道內(nèi)實(shí)時(shí)采集圖像,并通過無線的方式將圖片傳輸?shù)浇邮斩耍以诓杉?、傳輸圖片的同時(shí)能進(jìn)行磁定位跟蹤。因此,在設(shè)計(jì)時(shí)需考慮到整個(gè)系統(tǒng)的體積、功耗、成本、安全等方面的因素,以及滿足電磁兼容方面的要求。
為了設(shè)計(jì)出的磁定位膠囊內(nèi)窺鏡能滿足要求,綜合考慮系統(tǒng)設(shè)計(jì)的具體技術(shù)參數(shù)如下:CMOS圖像分辨率≥320×240,尺寸≤26 mm×12 mm,可工作時(shí)長≥8 h,可實(shí)時(shí)定位精度≤5 mm,采集及傳輸速率2 Fps,無線傳輸距離≤10 m。
膠囊內(nèi)窺鏡圖像采集系統(tǒng)由進(jìn)入消化道的膠囊內(nèi)窺鏡本體和體外的圖像接收終端兩部分組成,其組成框圖如圖1和圖2所示。設(shè)計(jì)時(shí)功耗和體積是重點(diǎn)考慮的因素,本設(shè)計(jì)中膠囊本體尺寸選定為:直徑12 mm、長度24 mm。膠囊內(nèi)窺鏡不僅要實(shí)現(xiàn)圖像采集功能還要實(shí)現(xiàn)磁定位功能,因此系統(tǒng)采用了永磁體和膠囊組合的方式,以軸向充磁磁環(huán)為磁定位系統(tǒng)的激勵(lì)源。膠囊本體主要由:短焦鏡頭、CMOS圖像傳感器OV2640[14]、LED照明模塊LM3643、MCU控制模塊STM32L4R5、無線發(fā)射模塊nRF24L01[15]、電源管理模塊LP5907[16]、軸向充磁磁環(huán)、電池組成。圖像接收終端主要由:無線接收模塊nRF24L01、MCU控制模塊STM32L4R5、SD卡存儲(chǔ)模塊、USB通訊模塊、USB充電管理模塊、串口通訊塊模組成。
圖1 膠囊內(nèi)窺鏡本體組成框圖
圖2 圖像接收端組成框圖
MCU控制電路負(fù)責(zé)CMOS圖像傳感器時(shí)序操作及數(shù)據(jù)獲取、燈光照明系統(tǒng)和無線通訊模塊控制、系統(tǒng)的電源管理。系統(tǒng)電路設(shè)計(jì)時(shí),除了要考慮功耗和體積之外,還要考慮系統(tǒng)的內(nèi)部資源是否能滿足要求。綜合考慮,選擇ST公司STM32L4系列的STM32L4R5單片機(jī)[17]。
膠囊內(nèi)窺鏡的主要功能就是采集人體消化道圖像,并發(fā)送至體外圖像接收終端存儲(chǔ),由臨床醫(yī)師診斷篩選。理論上,分辨率越高采集的圖像越清晰,對(duì)病情分析也越有利,因此圖像傳感器分辨率選擇是越高越好。但是,膠囊內(nèi)窺鏡是一個(gè)系統(tǒng),圖像傳感器的選擇還受體積、功耗的限制。
OV2640是一款低電壓供電,支持UXGA(1632×1232)分辨率圖像,6.35 mm×6.35 mm小封裝,支持影像處理的CMOS圖像傳感器,可支持整幀、子采樣、縮放和取窗口等方式下各種分辨率8位或者10位影像數(shù)據(jù)輸出。OV2640可以通過SCCB接口控制,實(shí)現(xiàn)自動(dòng)曝光控制、白平衡、對(duì)比度調(diào)節(jié)、色飽和度調(diào)節(jié)等功能。OV2640CMOS圖像傳感器硬件電路設(shè)計(jì)如圖3所示。
圖3 圖像傳感器硬件電路圖
從圖3可知,傳感器一共有15根數(shù)據(jù)線與MCU核心控制芯片連接,電路的時(shí)鐘源由外部12 MHz有源晶振提供。其中:OV_D0~OV_D7為圖像傳感器數(shù)據(jù)接口,負(fù)責(zé)傳感器采集壓縮圖像數(shù)據(jù)輸出;OV_SDA、OV_SCL為兩個(gè)SCCB控制線,負(fù)責(zé)傳感器的初始化和寄存器配置;OV_HREF、OV_VSYNC分別為圖片的行參考信號(hào)和幀同步信號(hào);OV_PCLK為圖片數(shù)據(jù)輸出時(shí)的時(shí)鐘信號(hào);OV_PWDN為掉電控制信號(hào)線,負(fù)責(zé)傳感器低功耗控制。
在膠囊本體中設(shè)置:拍照前先開啟閃光燈、再拍照、拍攝完之后停止觸發(fā)LED,以達(dá)到CMOS圖像傳感器曝光與閃光燈同步。閃光燈驅(qū)動(dòng)電路如圖4所示。
人體胃腸道環(huán)境非常復(fù)雜,有空間狹小的小腸也有空間寬闊的胃部。在空間狹窄的小腸,低照度可以拍攝出高質(zhì)量圖像,但是在類似胃部寬闊的環(huán)境,要獲得高質(zhì)量圖像就要提高LED照明亮度。閃光燈功耗占膠囊系統(tǒng)功耗的很大一部分,照明系統(tǒng)必須能根據(jù)拍攝環(huán)境自動(dòng)調(diào)節(jié)亮度,減少系統(tǒng)拍攝圖像過度曝光或者圖像過于黑暗,實(shí)現(xiàn)平衡照明,這樣也可以最大限度的節(jié)省功耗。
LM3643是一款支持雙LED閃存驅(qū)動(dòng)器芯片,大小只有1.69 mm×1.31 mm,內(nèi)部?jī)蓚€(gè)128級(jí)電流源可靈活調(diào)整LED亮度,提升系統(tǒng)的照明效率。LM3643的兩個(gè)電流驅(qū)動(dòng)輸出口各并聯(lián)了3個(gè)LED,I2C口控制其工作模式和輸出電流,由STROBE引腳控制來觸發(fā)LED燈輸出。
圖4 閃光燈驅(qū)動(dòng)電路圖
無線通訊方式的選擇是搭建膠囊內(nèi)窺鏡系統(tǒng)的關(guān)鍵[18],nRF24L01在2 Mbps發(fā)射模式下功耗只有11.3 mA,外圍電路簡(jiǎn)單,體積只有4 mm×4 mm。膠囊內(nèi)窺鏡無線通訊模塊是膠囊對(duì)外數(shù)據(jù)交互的關(guān)鍵,主要負(fù)責(zé)將采集壓縮后的JPEG圖像傳輸?shù)襟w外的移動(dòng)圖片接收端[19-20]。無線通訊模塊電路如圖5所示。
圖5 無線通訊模塊電路圖
通過SCCB時(shí)序訪問設(shè)置,可以對(duì)OV2640的傳感器窗口、圖像尺寸、輸出格式進(jìn)行設(shè)置。傳感器輸出1630×1220分辨率圖像即200萬像素,膠囊內(nèi)窺鏡實(shí)際應(yīng)用30萬像素即可滿足要求,可以通過圖像尺寸設(shè)置功能設(shè)置輸出圖像大小,這里設(shè)置圖像分辨率為640×480輸出。設(shè)置完窗口后再設(shè)置圖片輸出格式為JPEG輸出。
OV2640通過像素時(shí)鐘PCLK、幀同步信號(hào)VSYNC、行同步信號(hào)HREF控制圖像輸出信號(hào)D[9:0]輸出圖像數(shù)據(jù)。圖像獲取是先由行輸出時(shí)序獲取每行像素點(diǎn)數(shù)據(jù)后,再根據(jù)幀時(shí)序得到整幅圖片的數(shù)據(jù)。
一幀圖像緩存后還要判斷是否是有效數(shù)據(jù),即判斷是不是以“0XFF”和“0XD8”為數(shù)據(jù)頭且以“0XFF”和“0XD9”為數(shù)據(jù)結(jié)尾,如果是則表明是一幀有效數(shù)據(jù),如果不是則丟棄,重新接收數(shù)據(jù)。需要說明的是,一開始接收?qǐng)D片數(shù)據(jù)時(shí)需要先丟棄開始的5張照片,以等待自動(dòng)曝光、白平衡等參數(shù)自動(dòng)調(diào)節(jié)好。
膠囊內(nèi)窺鏡主要功能是將采集的消化道圖片發(fā)送出去保存。圖像無線發(fā)射模塊軟件的主要流程是:無線模塊發(fā)射數(shù)據(jù)之前要判斷CMOS圖像傳感器OV2640、nRF24L01無線發(fā)射模塊、閃光燈控制模塊LM3643是否初始化成功;初始化成功后要將圖像傳感器配置為JPEG輸出,設(shè)置nRF24L01為發(fā)射模式;上述工作都正常后,開閃光燈并采集圖像數(shù)據(jù),緩存至MCU內(nèi)部SRAM;緩存圖片后,判斷是否是一幅完整的JPEG圖片,如果是完整的JPEG圖片,就通過無線連續(xù)發(fā)射出去。
低功耗膠囊內(nèi)窺鏡圖像采集系統(tǒng)軟件設(shè)計(jì)流程如圖6所示。
圖6 低功耗膠囊內(nèi)窺鏡圖像采集系統(tǒng)軟件流程圖
系統(tǒng)功耗較大的有閃光燈、OV2640、無線收發(fā)模塊。因MCU選用的是低功耗芯片,故只需對(duì)這三項(xiàng)進(jìn)行低功耗的設(shè)置。對(duì)OV2640部分,通過控制拍照、無線發(fā)射部分分別單獨(dú)輪流工作,對(duì)于MCU控制閃光燈和OV2640拍照時(shí),將體內(nèi)膠囊內(nèi)窺鏡的無線發(fā)射設(shè)置為停止工作狀態(tài)。當(dāng)成功拍照后發(fā)射模塊才啟動(dòng)工作,而閃光燈與OV2640停止工作。通過測(cè)試,這種工作狀態(tài)收發(fā)模塊的時(shí)長并不影響OV2640每秒采集2張圖片。
OV2640部分是進(jìn)入standby模式,軟件配置為SCCB_WR_Reg(0x09,0x02),表述在采集圖片程序前開啟拍照,將SCCB_WR_Reg(0x09,0x16)放在采集圖片的程序后關(guān)閉閃光燈及拍照。無線收發(fā)模塊nRF24L01通過將軟件配置為“PWR_UP register=1,nRF24L01_CE=0;nRF24L01_Write_Reg(NRF_WRITE_REG+CONFIG,0x02)”,從而進(jìn)入standby1模式。
為了節(jié)省空間,電路中的圖像傳感器、電源管理芯片、閃光燈控制芯片都選用BGA封裝,電阻電容等無源器件都是選用0201(0.6 mm×0.3 mm)封裝。膠囊內(nèi)窺鏡電路采用四層電路設(shè)計(jì),中間兩層為柔性電路,頂層和底層為硬板,使用時(shí)可以折疊在內(nèi)窺鏡外殼中。將膠囊內(nèi)窺鏡裝入帶有永磁體磁環(huán)的外殼中,配上體外磁陣列,在進(jìn)行圖像采集的同時(shí)完成定位實(shí)驗(yàn)測(cè)試。
本部分實(shí)驗(yàn)以一段長度為1.5 m、直徑約7 cm的豬大腸作為模擬環(huán)境,膠囊內(nèi)電池額定電壓3.0 V,總?cè)萘繛?40 mAh。內(nèi)窺鏡在豬腸道中行進(jìn)的過程中,進(jìn)行了腸道場(chǎng)景圖像采集、接收、存儲(chǔ)過程的測(cè)試。當(dāng)膠囊內(nèi)窺鏡放入豬腸道后開始計(jì)時(shí),待圖像變得模糊無法識(shí)別時(shí),即電池電量耗盡時(shí)停止計(jì)時(shí)。定位采用制作了15 cm×15 cm大小的磁傳感器平面陣列,可在采集圖像的同時(shí)對(duì)膠囊實(shí)時(shí)跟蹤。
經(jīng)過實(shí)驗(yàn)測(cè)得:在8 h工作時(shí)間內(nèi),體外圖像接收端可以有效地接收到所拍攝的圖像,當(dāng)超過8 h后,電池耗盡。當(dāng)圖像接收端在豬大腸2 m范圍內(nèi)移動(dòng)時(shí),也能接收到圖像。膠囊本體一秒采集完2張圖片后,CMOS傳感器進(jìn)入休眠狀態(tài),LED閃光燈只在采集圖像數(shù)據(jù)時(shí)打開,無線發(fā)射模塊在發(fā)送接收完數(shù)據(jù)也進(jìn)入休眠狀態(tài),只在新的一幀圖像需發(fā)送時(shí),MCU發(fā)出喚醒信號(hào)后激活,因此可保證發(fā)射端的低功耗。因硬件選的是低功耗器件,且在軟件上進(jìn)行代碼編寫設(shè)置,二者疊加可以保證膠囊內(nèi)窺鏡本體的低功耗。經(jīng)實(shí)驗(yàn)測(cè)得整個(gè)膠囊內(nèi)窺鏡圖像采集系統(tǒng)在無線發(fā)射圖像時(shí)的電流為33 mA、功耗為99 mW。當(dāng)配置無線芯片的發(fā)射速率為250 Kbps時(shí),能發(fā)送2幅15 KB大小的圖像,為保證采集圖片數(shù)據(jù)清晰,像素設(shè)置為640×480大小,經(jīng)過JPEG算法壓縮后一幅圖片不超過30 KB,這樣每秒可傳送一張高清圖片。加入軟件跳頻協(xié)議解決其他ISM頻段對(duì)2.4 G模塊數(shù)據(jù)的干擾而可能存在的丟包現(xiàn)象,使得通信比較穩(wěn)定。
膠囊接收終端采集完數(shù)據(jù)后保存在SD卡,另外也可由串口DMA發(fā)送上位機(jī)軟件實(shí)時(shí)顯示,接收效果如圖7所示。
圖7 SD卡保存豬大腸圖片顯示及圖像接收端接串口發(fā)上位機(jī)顯示
對(duì)比了新系統(tǒng)與之前非低功耗情況下的效果,實(shí)驗(yàn)數(shù)據(jù)見表2。
表2 兩種系統(tǒng)的數(shù)據(jù)對(duì)比
從表2可知,相對(duì)與原MCU為STM32F103RE的設(shè)計(jì),系統(tǒng)功耗降低了(160.5-99)×100%/160.5≈38.3%,總可工作時(shí)間延長了(8-5)/5×100%=60%,較好地完成了降低功耗與延長工作時(shí)間的目標(biāo)。
針對(duì)現(xiàn)有膠囊內(nèi)窺鏡功耗較大的缺點(diǎn),本文提出并設(shè)計(jì)了一種低功耗的膠囊內(nèi)窺鏡圖像采集系統(tǒng)。本膠囊直徑12 mm、長度24 mm、功耗99 mW、定位精度1.37 mm,低功耗延長了膠囊可工作時(shí)長。系統(tǒng)圖像采集功能完善、體積緊湊、工作穩(wěn)定,可以很好地完成圖像采集、發(fā)送、接收、存儲(chǔ)功能。為使圖像接收端的可便攜,系統(tǒng)增加了SD卡存儲(chǔ)模塊,可將無線接收模塊接收到的圖像數(shù)據(jù)存儲(chǔ)在SD卡中。實(shí)驗(yàn)測(cè)試表明,該系統(tǒng)具有良好的可行性,系統(tǒng)功耗有明顯降低,可工作時(shí)間得到了延長。