本發(fā)明屬于成像系統(tǒng)技術(shù)領(lǐng)域,特別涉及了一種尋找成像系統(tǒng)最優(yōu)工作參數(shù)的系統(tǒng)和方法。
背景技術(shù):
使用相機(jī)和光源構(gòu)成的成像系統(tǒng)是人們用于拍攝產(chǎn)品,繼而實(shí)現(xiàn)對產(chǎn)品進(jìn)行無損分析的主要設(shè)備,它提供一種很好的無損檢測手段,使得人們能夠快速地分析產(chǎn)品的質(zhì)量。使用前,人們需要對例如相機(jī)光圈、相機(jī)焦距、相機(jī)角度、光源角度等參數(shù)進(jìn)行設(shè)定,結(jié)果一旦固定,那么在正常的、長期的檢測過程中,對于一批產(chǎn)品而言,這些參數(shù)一般是不用再進(jìn)行修正的。
在前期的參數(shù)設(shè)置過程中,這些參數(shù)的設(shè)定是一個非常麻煩的問題,人們現(xiàn)有的方法往往是依靠人工經(jīng)驗(yàn),不斷嘗試調(diào)整這些參數(shù),然后用肉眼的方法對拍攝到的圖片判斷是否變得清晰,在光源越多的情況下,這種工作有的時候甚至需要好幾天。這種方法不僅主觀性大,而且耗時耗力,效果有時也不是很理想。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述背景技術(shù)提出的技術(shù)問題,本發(fā)明旨在提供一種尋找成像系統(tǒng)最優(yōu)工作參數(shù)的系統(tǒng)和方法,解決現(xiàn)有技術(shù)主觀性強(qiáng)、準(zhǔn)確率低以及耗時耗力的問題。
為了實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案為:
一種尋找成像系統(tǒng)最優(yōu)工作參數(shù)的系統(tǒng),包括控制模塊、n路驅(qū)動電路、n組電機(jī)、n組精密轉(zhuǎn)動臺、pc機(jī)、光源產(chǎn)生模塊以及至少一個相機(jī),n路驅(qū)動電路、n組電機(jī)與n組精密轉(zhuǎn)動臺一一對應(yīng),n為成像系統(tǒng)工作參數(shù)的數(shù)目,相機(jī)與控制模塊分別與pc機(jī)進(jìn)行數(shù)據(jù)連接,光源產(chǎn)生模塊的控制端和n路驅(qū)動電路的控制端分別與控制模塊電性連接,n路驅(qū)動電路的輸出端分別與對應(yīng)電機(jī)的控制端電性連接,n組電機(jī)分別帶動對應(yīng)的精密轉(zhuǎn)動臺旋轉(zhuǎn),通過n組精密控制臺的旋轉(zhuǎn)分別調(diào)節(jié)成像系統(tǒng)的n個工作參數(shù);所述主控模塊接收pc機(jī)下發(fā)的控制指令,并根據(jù)該控制指令,通過n路驅(qū)動電路和n組電機(jī)驅(qū)動n組精密轉(zhuǎn)動臺的旋轉(zhuǎn),相機(jī)將不同工作參數(shù)下拍攝的圖像傳送給pc機(jī),pc機(jī)根據(jù)接收到的圖像數(shù)據(jù)尋找出成像系統(tǒng)的最優(yōu)工作參數(shù)。
進(jìn)一步地,成像系統(tǒng)的工作參數(shù)包括相機(jī)角度、相機(jī)光圈、相機(jī)焦距和光源照射角度。
進(jìn)一步地,該系統(tǒng)還包括電源模塊和觸發(fā)開關(guān),觸發(fā)開關(guān)采用輕觸自鎖的微動開關(guān),電源模塊的輸出端經(jīng)觸發(fā)開關(guān)與控制模塊的供電端相連,當(dāng)觸發(fā)開關(guān)閉合,電源模塊為控制模塊供電,系統(tǒng)開始工作。
進(jìn)一步地,該系統(tǒng)還包括分別與控制模塊相連的發(fā)光模塊和發(fā)音模塊,發(fā)光模塊和發(fā)音模塊用于顯示系統(tǒng)的工作狀態(tài)。
進(jìn)一步地,所述發(fā)光模塊采用發(fā)光二極管,所述發(fā)音模塊采用蜂鳴器。
進(jìn)一步地,所述驅(qū)動電路的型號為l298,所述電機(jī)的型號為bygh42,所述精密轉(zhuǎn)動臺的型號為ks332-12,所述光源產(chǎn)生模塊采用hf-hx12050環(huán)形光源發(fā)生器。
基于上述系統(tǒng)的成像系統(tǒng)最優(yōu)工作參數(shù)的尋找方法,包括以下步驟:
(1)將成像系統(tǒng)的各工作參數(shù)的運(yùn)動范圍歸一化;
(2)初始化粒子群搜索算法,設(shè)置m個粒子,隨機(jī)設(shè)置粒子在歸一化的各工作參數(shù)的位置,并設(shè)置粒子群搜索算法的最小變化閾值、最大尋優(yōu)次數(shù)和初始粒子運(yùn)動步長的自適應(yīng)最大倍率;
(3)按照設(shè)置的m個粒子位置,pc機(jī)生成控制指令,控制模塊根據(jù)控制指令驅(qū)動n組精密轉(zhuǎn)動臺旋轉(zhuǎn),從而使成像系統(tǒng)的各工作參數(shù)到達(dá)設(shè)定的位置,并拍攝該位置下的待測對象的圖像,每一個粒子對應(yīng)一張圖像;
(4)對m張圖像進(jìn)行適應(yīng)度評價(jià),找出當(dāng)前搜索批次中的最優(yōu)粒子和所有搜索批次中的歷史最優(yōu)粒子;
(5)判斷搜索結(jié)束條件,若連續(xù)q個搜索批次的粒子最優(yōu)值小于設(shè)定的最小變化閾值,或者當(dāng)前搜索次數(shù)大于設(shè)定的最大尋優(yōu)次數(shù),則判斷搜索結(jié)束,轉(zhuǎn)入步驟(7),否則轉(zhuǎn)入步驟(6);
(6)對粒子群進(jìn)行更新,然后返回步驟(3);
(7)輸出最優(yōu)粒子,pc機(jī)按照最優(yōu)粒子生成控制指令,控制模塊根據(jù)控制指令驅(qū)動4組精密轉(zhuǎn)動臺旋轉(zhuǎn),從而使成像系統(tǒng)的各工作參數(shù)到達(dá)最優(yōu)位置,進(jìn)行拍攝。
進(jìn)一步地,步驟(4)的具體過程如下:
(41)計(jì)算當(dāng)前搜索批次的自適應(yīng)變化適應(yīng)度的倍率:
上式中,am2(i)為第i次搜索的自適應(yīng)變化適應(yīng)度的倍率,am1(i)為第i次搜索的粒子運(yùn)動步長的自適應(yīng)最大倍率,
(42)采用鄰域灰度差分法計(jì)算當(dāng)前搜索批次m張圖像中的每個點(diǎn)與周圍的區(qū)分度之和:
上式中,
(43)將
進(jìn)一步地,在步驟(6)中,按下式更新粒子群:
上式中,
進(jìn)一步地,在更新粒子群時,需要對粒子速度進(jìn)行如下限制:
上式中,j為粒子運(yùn)動的最小步長,j的取值為精密轉(zhuǎn)動臺的最小刻度對應(yīng)的歸一化數(shù)值。
采用上述技術(shù)方案帶來的有益效果:
本發(fā)明基于現(xiàn)有的電子技術(shù)和人工智能技術(shù),采用客觀的評價(jià)清晰度的算法,全自動快速尋找相機(jī)和光源最優(yōu)參數(shù),結(jié)果不僅客觀精確,而且節(jié)省了勞動力和時間,降低了成本,還提高了下一步圖像處理的準(zhǔn)確率。
附圖說明
圖1是本發(fā)明的系統(tǒng)組成框圖。
圖2是本發(fā)明的系統(tǒng)工作示意圖。
圖3是本發(fā)明的方法流程圖。
具體實(shí)施方式
以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
如圖1、圖2所示,一種尋找成像系統(tǒng)最優(yōu)工作參數(shù)的系統(tǒng),硬件部分用于控制相機(jī)、光源等參數(shù)的變化,采集相應(yīng)的對象照片,提供分析的計(jì)算資源。其結(jié)構(gòu)包括電源模塊、觸發(fā)開關(guān)、發(fā)光模塊、發(fā)音模塊、控制模塊、驅(qū)動電路、電機(jī)、精密轉(zhuǎn)動臺、相機(jī)、光源產(chǎn)生模塊和pc機(jī)。本實(shí)施例以1個光源產(chǎn)生模塊與1個相機(jī)組成的成像系統(tǒng)來進(jìn)行說明。
如圖2所示,電源模塊、觸發(fā)開關(guān)、發(fā)光模塊、發(fā)音模塊、控制模塊、驅(qū)動電路集中在一個控制板內(nèi),該控制板與pc機(jī)溝通,驅(qū)動電機(jī),帶動精密轉(zhuǎn)動臺的旋轉(zhuǎn),從而調(diào)節(jié)相機(jī)的光圈、焦距、角度,以及光源的照射角度等參數(shù)。
在本實(shí)施例中,電源模塊用于對整個系統(tǒng)進(jìn)行供電,本實(shí)施例中采用的是220v的交流電源轉(zhuǎn)24v和5v的模塊電源,其中24v為給電機(jī)使用,5v為給電路板使用。觸發(fā)開關(guān)為控制電源打開和關(guān)閉時使用,采用的是輕觸自鎖的微動開關(guān)。發(fā)光模塊用于顯示硬件的工作狀態(tài),正?;蛘邎?bào)警,采用的是全彩的發(fā)光二極管。發(fā)音模塊用于顯示硬件的工作狀態(tài),采用的是普通蜂鳴器??刂破髂K用于接收pc機(jī)的控制指令,控制驅(qū)動電路驅(qū)動電機(jī)的運(yùn)行,然后帶動精密轉(zhuǎn)動臺的運(yùn)動,從而改變相機(jī)的光圈、焦距、角度,以及光源的照射角度的參數(shù),它還控制發(fā)音模塊、發(fā)光模塊的工作,采用的是stm32f107芯片。驅(qū)動電路用于根據(jù)控制模塊的指令驅(qū)動電機(jī)的工作,采用的是4路l298的驅(qū)動電路。電機(jī)用于在驅(qū)動電路的驅(qū)動下,帶動精密轉(zhuǎn)動臺,采用的是4個bygh42的高精密步進(jìn)電機(jī),并且其精度等于精密轉(zhuǎn)動臺。精密轉(zhuǎn)動臺用于在電機(jī)的帶動下,進(jìn)行微小的轉(zhuǎn)動,從而帶動與之連接的相機(jī)的光圈、焦距、角度,以及光源的照射角度的參數(shù),采用的是4個ks332-12型,最大行程為12mm,精度為0.5um,4個旋轉(zhuǎn)平臺分別對應(yīng)相機(jī)光圈、相機(jī)焦距、相機(jī)角度以及光源角度這4個參數(shù)。相機(jī)用于在電腦的操作下,拍攝需要檢測的對象,采用的是大恒水星1000型1000萬像素的工業(yè)相機(jī)。光源產(chǎn)生模塊用于提供亮度給相機(jī),配合其工作,采用的是hf-hx12050型環(huán)形光源發(fā)生器。pc機(jī)用于管理控制板的工作,獲得相機(jī)的拍攝結(jié)果,分析和保存相機(jī)拍攝的照片,用智能搜索算法尋找相機(jī)的光圈、焦距、角度以及光源的照射角度的最優(yōu)參數(shù),記錄這些參數(shù)以備下次同批產(chǎn)品直接使用,采用的是戴爾t5810型圖形工作站。
本發(fā)明還提出了一種成像系統(tǒng)最優(yōu)工作參數(shù)的尋找方法,如圖3所示,包括以下步驟。
步驟1:工作范圍歸一化。把相機(jī)光圈、相機(jī)焦距、相機(jī)角度、光源角度的運(yùn)動范圍全部歸一化,轉(zhuǎn)換到[0~1]之間。
步驟2:粒子群搜索算法初始化。設(shè)置m個粒子,隨機(jī)設(shè)置它們在相機(jī)光圈、相機(jī)焦距、相機(jī)角度、光源角度的[0~1]之間的歸一化的初始化(即第一個)的位置
在本實(shí)施例中,粒子數(shù)設(shè)置為20個。
步驟3:獲得圖像。將成像系統(tǒng)的參數(shù)按照
步驟4:評價(jià)適應(yīng)度。評價(jià)過程如下:
步驟4-1:計(jì)算當(dāng)前搜索批次的自適應(yīng)變化適應(yīng)度的倍率:
上式中,am2(i)為第i次搜索的自適應(yīng)變化適應(yīng)度的倍率,am1(i)為第i次搜索的粒子運(yùn)動步長的自適應(yīng)最大倍率,
步驟4-2:采用鄰域灰度差分法計(jì)算當(dāng)前搜索批次m張圖像中的每個點(diǎn)與周圍的區(qū)分度之和,本實(shí)施例中鄰域灰度差分法采用的是3鄰域的計(jì)算法:
上式中,
步驟4-3:將鄰域灰度差分法計(jì)算的結(jié)果
步驟5:判斷搜索結(jié)束條件。若連續(xù)q個搜索批次的粒子最優(yōu)值小于設(shè)定的最小變化閾值,或者當(dāng)前搜索次數(shù)大于設(shè)定的最大尋優(yōu)次數(shù),則判斷搜索結(jié)束,轉(zhuǎn)入步驟7,否則轉(zhuǎn)入步驟6。
步驟6:按下式更新粒子群:
上式中,
另外,為了防止粒子盲目搜索,粒子運(yùn)動步長的自適應(yīng)最大倍率am1(i)控制了最大的運(yùn)動速度,即:
上式中,j為粒子運(yùn)動的最小步長。
更新后返回到步驟3。
步驟7:輸出最優(yōu)粒子,pc機(jī)按照最優(yōu)粒子生成控制指令,控制模塊根據(jù)控制指令驅(qū)動4組精密轉(zhuǎn)動臺旋轉(zhuǎn),從而使相機(jī)角度、相機(jī)光圈、相機(jī)焦距和光源角度到達(dá)最優(yōu)位置,進(jìn)行拍攝。
以上實(shí)施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。