王 超 張玉庭
(遼寧工程技術大學土木工程學院,遼寧 阜新 123000)
為測定基本電荷的帶電量,密立根于1906 年起用11 年時間,利用密立根油滴實驗,經過上千個油滴的數據而最終得出結論,密立根也因此榮獲1923 年諾貝爾物理獎。在物理實驗經過不斷改革之后,密立根油滴實驗已經發展了數百年時間,密立根油滴實驗也在近代物理實驗中有著非常重要的地位,但目前實驗大多仍依靠手動控制儀器的開始與暫停,導致實驗得出的測量值與真實值差距過大,誤差常在100 倍以上。
本研究主要通過基于python 語言的圖像識別、基于機器學習長短期記憶(PTSM)的粒子篩選對實驗過程進行全自動化處理,針對無視頻的實驗數據,采用C 進行半自動化數據處理,最終得出結果。經多次驗證,在實驗正確,儀器誤差很小至忽略的情況下,可將誤差減小至與真值10 倍。依據的公式為:

式中b 為修正常數,b=6.17×10-6,p 為大氣壓強,單位為厘米汞高。其中tg為油滴下降L 距離所測量的時間。[1,2]

圖1 原理示意圖(左)受力分析圖(右)
利用基于Python 語言的Crocker-Grier、Trackpy 算法建立密立根油滴實驗過程中的顯微鏡或輸出數據收集輸出視頻圖像識別模型,再將初步識別的粒子數據利用python 語言人工智能機器學習算法進行相關篩選,篩選出有效粒子,進行油滴的行為預測與邊緣修正,輸出其粒子運動數據,進一步直接計算出元電荷的數據,與幾十余個利用大學物理實驗室現存機器的手動計算數據相對比。對于已經出現的實驗數據,利用C 語言進行相關數據輔助處理。
以下為基于python 語言的圖像識別油滴粒子的識別原理分析。
將拍攝完成的格式為mp4 或mov 原視頻逐幀輸出為格式為TIFF 的圖片文件,儲存對應圖片的對應幀數,得到一組TIFF 堆棧。可通過幀數計算出每張圖片之間的間隔時間,一幀=1/12秒,幀數輸出對應為圖像的識別ID,結尾不足整數幀的圖片將要求被舍去。這里以從顯微鏡鏡頭拍攝的原始實驗視頻為原視頻作為基礎,其格式為mov,幀數為30 幀,時長為10 秒,幀寬度為1920,幀高度為1080,將其中處于第12 幀的圖像截出。對此圖像進行灰度變換,以便于之后的圖像選取分析。
截選出圖像后,利用bpass 空間帶通濾波器工具,進行初步的區域亮度篩選,截選出最終的原圖像,像素為100×100(圖2),理想情況下,需要的粒子像素直徑在5 至10 像素之間。若拍攝粒子在視頻顯示中不是十分明顯,可以將圖像進行反轉處理(圖2 中),但反轉的視頻不利于之后的圖像處理,因而應該控制視頻的底色背景為盡可能的純黑色,以凸顯出油滴粒子。

圖2 原圖像(左)反轉(中)初步篩選(右)
然后再次利用bpass 空間帶通濾波器,利用它來平滑圖像并減去背景。此時針對油滴粒子bpass 需要手動修正,這一點在機器學習中可以得到修正后的數據。利用bpass 可以得到不同像素坐標的空間波長截止值。輸出以下5 個數據列至表格,①x形心、②y 形心、③總亮度、④回轉半徑、⑤“偏心率”,繪制亮度——回轉半徑的圖像。通過此圖像可進行粒子的篩選,通常,最亮的粒子就是想要的粒子。在輸出的亮度——回轉半徑圖像中,在圖像右側的兩個不同的點為需求點,而在左側的點僅是由于起始圖像中的隨機噪聲而引起的。
此時,利用masscut 函數拒絕因錯誤而被篩選掉的粒子,留下正確的粒子
(圖3 左),但這個輸出的粒子僅會保存其粒子中心位置,得不到準確的粒子直徑、邊緣等數據,因而需要利用epretrack 輸出粒子的邊緣云圖,對密集的粒子和稀疏的粒子進行區分,劃定其中的邊界,確定粒子的修正邊緣,這里引用的分離系數也會通過機器學習進行相關修正。

圖3 篩選結束(左)邊緣修正(右)
通過以上的圖像識別與處理,將自動篩選掉高速的、不穩定的、無法進行邊緣修正的粒子,對正確的粒子進行軌跡跟蹤與處理,最后可輸出其位移、速度等數據。最終通過代入計算可計算出電荷的值。
2.2.1 模型數據收集
實驗收集了20 余組來自遼寧工程技術大學大學物理實驗組在正確實驗的條件下由手動進行錄制CCD 顯示器的視頻,近10 組來自天津師范大學物理系通過顯微鏡所錄制的實驗視頻。由于時間有限,模型數量收集與分析所花費的時間很長,為了得到更多的真實實驗數據,本實驗利用了由北京郵電大學歐中洪教授所提供的實驗仿真程序。
2.2.2 實現原理
通過對每一個視頻進行不同的圖像識別,如第一組視頻模型,利用初始的bpass 與epretrack 相關系數,引入兩個修正系數,在得到第一組最終數據后,與正值相對比,反向推算出這個修正系數并導出,仿真程序由于技術的有限性可提供粒子亮度模擬,因而可得到bpass 的修正系數。在重復多次模型訓練后,可利用引入的修正系數對原始確認的系數進行修正,利用Logistic 回歸算法,最終得出精度更高、誤差更小的實驗數據。
程序主界面采用C++語言編寫,簡潔明確地提供機器學習:導入模型、模型訓練,主要處理:初步處理、篩選粒子、數據繪圖,輔助處理:輔助數據處理、實驗仿真等功能(圖4)。程序在前述的基于python 語言圖像識別處理后可得以下電荷——數量統計圖圖表,圖示為某一次正確實驗研究后所得到的圖像(圖5)。

圖4 程序主界面截圖

圖5 電荷——數量統計圖
使用全自動化的處理方式,與實驗室手動處理數據相比能夠將誤差減小10 至100 倍不等,與測定正值的誤差小于10 倍(圖6、表1)。

表1 實驗數據節選

圖6 程序輸出圖
本改進實驗中利用的圖象識別、人工智能機器學習等技術綜合運用于密立根油滴實驗,降低實驗中數據誤差。本實驗采用的python 語言圖像識別與機器學習,C 語言的數據處理為大學物理實驗、近代物理實驗自動化提供了樣本,實驗程序與方法可為實際實驗智能化升級提供相關參考。