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