周 同 杜珍珍
(銅陵職業(yè)技術(shù)學(xué)院,安徽 銅陵 244000)
比色法是目前常用的一種檢測物質(zhì)濃度的方法,即把待測物質(zhì)制備成溶液后滴在特定的白色試紙表面,等其充分反應(yīng)以后獲得一張有顏色的試紙,再把該顏色試紙與一個標準比色卡進行對比,就可以確定待測物質(zhì)的濃度檔位了。每個人對顏色的敏感差異和觀測誤差,使得這一方法在精度上受到很大影響。隨著照相技術(shù)和顏色分辨率的提高,希望建立顏色讀數(shù)和物質(zhì)濃度的數(shù)量關(guān)系,即只要輸入照片中的顏色讀數(shù)就能夠獲得待測物質(zhì)的濃度。
本文以全國大學(xué)生數(shù)學(xué)建模競賽2017年賽題C的數(shù)據(jù),建立物質(zhì)濃度依顏色讀數(shù)來辨識的數(shù)學(xué)模型,并給出模型的誤差分析①文中所用數(shù)據(jù)下載于全國大學(xué)生數(shù)學(xué)建模競賽組委會網(wǎng)站,鏈接為http://www.mcm.edu.cn/html_cn/node/460baf68ab0ed 0e1e557a0c79b1c4648.html.。
首先將數(shù)據(jù)按習(xí)慣的方式調(diào)整。(1)列的調(diào)整:原數(shù)據(jù)中按藍(B)、綠(G)、紅(R)排列的數(shù)據(jù)調(diào)整為按R、G、B排列;(2)行的調(diào)整:濃度值按從小到大排列。
據(jù)顏色編碼方法,RGB 編碼與色調(diào)(H)、飽和度(S)、亮度(V)編碼[1]可以互相轉(zhuǎn)換。通常,RGB 到HSV的轉(zhuǎn)換公式[2]為
表1 按轉(zhuǎn)換公式(1)計算的色調(diào)和飽和度
容易看出,題目所給數(shù)據(jù)并不滿足上述通行的轉(zhuǎn)換法則,即題目所給H和S并非按轉(zhuǎn)換公式所得的和。經(jīng)過對數(shù)據(jù)的仔細研讀,data1.xls中的數(shù)據(jù)與計算數(shù)據(jù)之間在計算機讀數(shù)存在隨機誤差的意義下滿足下述關(guān)系:
式(1)和式(2)表明,data1.xls中的五列數(shù)據(jù) R、G、B、H 和 S,獨立的僅有三個 R、G 和 B(根據(jù) RGB與HSV相互轉(zhuǎn)換關(guān)系,H、S、V也可視為相互獨立)。
在“組胺”數(shù)據(jù)中,同一濃度下都分別有兩組RGB值,考慮到計算機提取的RGB值都是區(qū)間[0,255]上的整數(shù)值[4-5],故我們對這兩組RGB值平均后再“四舍五入”取整[3]作為模型中RGB的取值(見表2)。
表2 組胺濃度隨顏色變化情況
對“溴酸鉀”“硫酸鋁鉀”和“奶中尿素”也做類似的處理?!肮I(yè)堿”的數(shù)據(jù)中濃度與RGB值是一一對應(yīng)的。
本文以C表示物質(zhì)的濃度。
首先,觀察濃度值C分別隨R、G、B的變化情況,相應(yīng)的趨勢如下圖所示。
據(jù)圖可知,組胺濃度C隨R、G、B都呈遞減變化[6],又C與R、G、B的函數(shù)關(guān)系是確定性的,所以C與R、G、B之間最簡單的數(shù)量關(guān)系可設(shè)定為:
式中 a0,a1,a2,a3為待定參數(shù)。
式(3)中待定參數(shù)有4個,而5種物質(zhì)的數(shù)據(jù)最少的有5組(最多的有7組),所以物質(zhì)濃度與顏色之間的依賴關(guān)系是可以確定的,即:由data1.xls中的數(shù)據(jù)能確定顏色讀數(shù)和物質(zhì)濃度之間的關(guān)系。進而,本文提煉出如下一個結(jié)論:
物質(zhì)濃度通過顏色讀數(shù)來辨識,至少需要4組(C,R,G,B)觀測值。
根據(jù)后面求解需要,本文提出如下兩個假設(shè):(1)溶液顏色隨物質(zhì)濃度的變化是連續(xù)的;(2)題意中“水”對應(yīng)的物質(zhì)濃度為0,為分析需要本文在必要時假設(shè)其對應(yīng)的物質(zhì)濃度是一個很小的數(shù),本文取為0.1ppm。
假設(shè)組胺濃度C與顏色讀數(shù)R、G、B之間的關(guān)系服從式(3),應(yīng)用最小二乘法擬合式(3),得模型參數(shù)值及模型精度如表3所示。
表3 組胺濃度辨識模型中的參數(shù)值及精度
即物質(zhì)濃度隨顏色變化的數(shù)學(xué)模型為
從模型精度指標看來,R2=0.9974,說明有近 99.74%的(C,R,G,B),數(shù)據(jù)符合上述線性關(guān)系,F(xiàn)值較大說明模型的整體線性關(guān)系顯著,p=0.0645說明線性關(guān)系不成立的概率僅有0.0645。這些指標表明,模型精度高,據(jù)顏色辨識物質(zhì)濃度可信度高。
按組胺的分析和求解過程,其他四種物質(zhì)的模型及精度見表4。
表4 四種物質(zhì)濃度辨識模型及精度(RGB)
第3節(jié)建立了物質(zhì)濃度依顏色RGB編碼的辨識模型。雖然用RGB來表示顏色很方便,但也有其明顯的不足,就是兩個相近的顏色(意味著對應(yīng)的物質(zhì)濃度是相近的)RGB值卻可能相差較大,所以本節(jié)以顏色的HSV編碼來辨識建立物質(zhì)濃度的HSV辨識模型,結(jié)果見表5。
表5 五種物質(zhì)濃度辨識模型及精度(HSV)
對比表4和表5,物質(zhì)濃度的RGB辨識模型的精度稍優(yōu)于HSV辨識模型。
式中n為觀測值組數(shù)。模型總體預(yù)測誤差定義為
計算出五種物質(zhì)在兩類模型下的總體誤差[7]見表6所示。
表6 五種物質(zhì)在兩類模型下的總體誤差
通過對比知,對于“組胺”和“奶中尿素”選擇HSV模型來辨識物質(zhì)濃度是較好的策略;而對于“溴酸鉀”“工業(yè)堿”和“硫酸鋁鉀”選擇RGB模型來辨識物質(zhì)濃度是較好的策略。
本文以組胺、溴酸鉀、工業(yè)堿、硫酸鋁鉀、奶中尿素為研究對象確定了顏色讀數(shù)和物質(zhì)濃度之間的關(guān)系,得到了顏色和物質(zhì)濃度辨識的各種數(shù)學(xué)模型,并從模型的統(tǒng)計檢驗精度和誤差分析兩個方面擇優(yōu)選擇辨識模型。