?

魚眼鏡頭矯正及數字識別研究

2020-09-10 09:55金益帆
看世界·學術下半月 2020年12期

摘要:隨著仿生學技術的快速發展,科學家們模仿魚的眼睛的基本結構研究設計出了魚眼鏡頭,魚眼鏡頭本質上是超大廣角的攝像頭,焦距小、視野大是它的特點和優勢。但是,由于魚眼鏡頭結構的特殊性,會產生一定程度的畸變,如何消除這種畸變引起了科學界廣泛的關注。

關鍵詞:魚眼鏡頭矯正;數字識別;Python;OpenCV

一、引言

20世紀初,魚眼鏡頭就漸漸進入了人們的視野,并且在之后的幾年不斷蓬勃發展,為了更好的使用魚眼鏡頭帶來的便利,科學家就矯正魚眼鏡頭產生的圖像畸變課題做出了很多研究,并且取得了可觀的成就。

在現有的一些研究成果中看,對于魚眼鏡頭的畸變校正研究,一般都是分為兩個方面,即標準化標定和優化校正算法。魚眼鏡頭的畸變校正技術從開始最為傳統的對魚拍攝的圖像產生的畸變校正,到對魚眼鏡頭自身標定的校正技術,最后到魚眼鏡頭可以自動視覺校正,魚眼鏡頭矯正技術不斷發展,不斷優化為其更為廣泛的應用奠定了堅實的基礎。

魚眼鏡頭矯正技術的一項重要應用就是數字識別,因為魚眼鏡頭可以獲得大量的信息量,對于近距離、大面積區域的數字圖像采集識別,比如圖書、檔案的數字標簽的機器識別既可以節省設備成本,又可以提升數字識別的效率和準確度,在現實社會中有很高的應用價值。

二、魚眼鏡頭基本研究

魚眼鏡頭一種超大廣角的特殊鏡頭,前端的第一片透鏡是向前突出的,即為凸透鏡,而且其頂點超出了鏡筒,在外形上類似于金魚鼓起的眼睛,這也就是魚眼鏡頭名字的由來。

魚眼鏡頭的成像過程可以分為兩個步驟:第一步,將光學的中心設為球心來建立球面坐標模型,并使用中心投影的方法將整個空間內的每一個點都映射到這一球面上;第二步,將這一球面上的投影點再映射到像平面上,使之成為像平面中的像素點。傳統相機采用的是經典的“相似性”原理,而魚眼鏡頭采用的則是“非線性映射”。

三、魚眼鏡頭的矯正

魚眼鏡頭的畸變矯正流程通常能夠分為兩個方面,即魚眼鏡頭的畸變標定和畸變校正。矯正魚眼鏡頭圖像畸變的完整流程圖如圖所示。

畸變標定是魚眼鏡頭矯正的第一步,分為角點檢測和標定參數計算兩個步驟,角點檢測可以確定標定模板的灰度值信息變化程度比較大的區域,并且將其認定做此標定模板的角點處。

在實際操作過程中,一般會選擇棋盤之類的一些有一定規律的事物作為標定模板,這里選擇使用的是內部角點為9*6的棋盤格作為標定模板。為了提升的標定參數的精度,需要從不同的角度對同一個棋盤格拍攝多張圖像,整個拍攝只是簡單的重復取樣過程。

這里使用的棋盤格的每行每列角點數為Size board_size = Size(9,6),且其中每個小棋盤格的大小Size square_size = Size(20,20),共拍攝11張魚眼棋盤圖像。處理棋盤圖像時先使用cvtColor函數把彩色圖像變成灰度圖,通過檢測找出標定圖像的灰度值信息變化程度比較劇烈的區域作為標定模板的角點。最后,用findChessboardCorners函數提取角點并且使用CornerSubPix函數進行過亞像素精確化,即完成了角點檢測環節的工作。

接著確定魚眼鏡頭的內在固有參數,這里主要使用的函數是fisheye::calibrate,其中涉及到許多參數,包括objectPoints, imagePoints,K,D,rvecs, tvecs,DIM等,最為主要的是對DIM、K和D的計算。魚眼鏡頭矯正的第二步是畸變校正,使用initUndistortRectifyMap函數做非線性映射??梢酝ㄟ^目標圖像找到與之對應的原始圖像坐標,再將所求得的坐標值返回復制到目標圖像的坐標系中,即可將畸變的圖像矯正為正常圖片。

四、魚眼圖像的數字識別

數字識別主要使用的是SVM分類庫的方法,運用SVM分類庫進行簡單數字識別首先要獲取大量的數字圖片訓練樣本,使用訓練樣本總結出手寫數字中存在的內在規則。訓練樣本的數量越多,算法的準確性越高。

這里采用的數據集總共有759個黑色數字圖片,每個數字約有70張圖片首先,將數字圖片轉換為只有數字0和1的二進制矩陣,有數字內容的部分為1,其余部分為0,保存在文本文檔中,為訓練數據集做好準備。

在對數據集訓練時,需要將全部數據集分為兩個部分:訓練集和測試集,用訓練集圖片進行數據集的訓練,用測試集圖片對訓練好的模型進行檢測,這里采用的測試集包含600張黑體數字圖片,即0至9每個數字有60張圖片,最后通過計算得出判斷準確的圖片的概率,基本符合預期要求。

對待識別的圖像進行二值化處理,圖片中的每一個像素點分為256個亮度等級,二值化過程也就是分析每一個像素點的灰度值,這里設定的閾值是100,即灰度值大于100的像素點呈現黑色,灰度值小于100的像素點呈現白色。二值化處理減少了部分圖像矯正時產生的模糊和干擾,提高了數字識別的準確性。

最后,將待識別圖片進行數字分割,將其中的每個數字提取出來,形成單個的數字圖片并識別,識別效果達到預期要求。

五、綜述

本文介紹了魚眼鏡頭矯正技術的發展意義及魚眼鏡頭的基本結構與成像原理。分析了對魚眼鏡頭所產生畸變的矯正方法及矯正流程,將魚眼鏡頭的矯正過程分為兩個步驟:魚眼鏡頭標定和矯正魚眼圖像,在OpenCV環境下用Python語言編程將存在畸變的魚眼圖像矯正為符合人們正常認知的圖片。最后對魚眼圖像中的數字信息進行識別,通過SVM分類器方法提取出其中的數字信息。

作者簡介:

金益帆(1997—),女,滿族,河北石家莊人,學歷:本科,職稱:初級工程師。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合