999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

機場行李提取中行李箱圖像識別與旋轉仿真

2020-03-31 11:10:12董景峰楊若怡周康康謝明江
物流技術 2020年2期

董景峰,楊若怡,周康康,謝明江

(東北林業大學 工程技術學院,黑龍江 哈爾濱 150040)

1 引言

隨著國民經濟的快速發展,人們對民用航空的需求也不斷增長,與此同時,人們對航空服務質量的要求也越來越高,為人們提供安全、舒適的環境和服務是我們所倡導的[1]。21世紀以來,國內外對機場旅客與航站樓內部運營管理有一定的研究。像北京首都國際機場的任海平提出了APM線數字化管理工作平臺的建設方案,并就首都機場自動旅客運輸系統的設計原則、體系架構、構建步驟及實施效果進行闡述[2]。蘭德隆與布朗交通技術針對國內大型機場航站樓排隊時間過長、樓內空間不足、日益多元化的旅客出行需求等問題,介紹旅客流程的各個環節上國際先進機場航站樓使用的新技術及新理念,以提升旅客流程上的處理效率,滿足不同旅客出行需求。

針對機場航站樓內航班到達后人們從行李輸送傳送帶上領取行李現狀,我們發現放置在傳送帶上的行李箱擺放不一,很多行李箱把手遠離人們的身體。從傳送帶上拖拉行李時,往往因為把手離身體過遠,導致人們的腰部或脊椎受損。針對此問題,本文提出了設計托運行李箱掃描識別旋轉裝置,可以將行李箱把手自動旋轉至面向取箱者,從而避免旅行者取箱困難的產生和不必要的傷害,同時為旅行者提供更安全舒適的服務。

針對上述提出的設計,以市場調查銷售量最高的拉桿式行李箱為例,經圖像獲取在Matlab 中進行設計。在圖像預處理時,通過圖像灰度處理、降噪處理、二值化處理[3],實現噪聲抑制,突出圖像目標特征。對于圖像中行李箱定位方法,運用Matlab 軟件中imcrop函數進行圖像裁剪,減少算法的冗余度,針對行李箱輪廓進行有效提取,避免邊緣信息丟失。利用imrotate 函數進行圖像旋轉,并輸出旋轉后的圖像和旋轉的角度。

綜上所述,為了滿足機場的高效運行、避免對乘機旅客造成不必要的傷害,我們提出了行李箱掃描、把手識別和旋轉角度計算方法。總體思路是:首先將要識別的行李箱進行目標圖像預處理,然后對行李箱把手進行坐標點的確定,最后進行角度計算。

2 行李箱自動識別旋轉基本流程

該系統主要分為行李箱圖像預處理和角度計算與旋轉兩大部分。

首先,對行李箱圖像進行灰度處理,再運用中值濾波對灰度后的圖像降噪,然后確定降噪后圖像二值化的閾值,并對降噪后的圖像進行二值化。確定像素值為0 時圖像中行李箱輪廓的四個最值邊緣點坐標,并根據這四個最值確定裁剪后的矩形圖像在原始圖像中左上角的坐標、裁剪圖像后的寬度和長度。接著再次對剪切后的圖像進行二值化處理,然后確定截切后的圖像黑色出現的四個最值點的坐標,并判斷最值出現的次數是否大于閾值。

(1)如果大于閾值則說明行李箱的中軸線與坐標軸平行或者垂直,然后根據最值出現次數最少的位置確定旋轉角度為0°、90°、180°或者270°。

(2)如果小于閾值,則計算四個最值點圍成四邊形的邊長,并判斷第三長邊的起點、終點的坐標值的大小情況,確定行李箱的擺放情況,然后再分別計算每一種情況需要旋轉的角度。

利用imrotate 函數旋轉,并輸出旋轉后的圖像和旋轉的角度。整體流程圖如圖1所示。

圖1 整體流程圖

3 圖像預處理

針對一張攝像頭拍攝的行李箱圖像,如果不經過處理可能會存在著不必要或者多余的干擾信息,即圖像噪聲,它嚴重影響了圖像的質量,并且會影響后續的旋轉過程及結果。因此,在行李箱圖像的角度計算和旋轉之前要對圖像進行預處理。

3.1 灰度處理

行李箱圖像的色彩需要大量的存儲空間,增加算法的冗余度,導致程序運行時間較長,并且行李箱的圖像色彩不會影響圖像的旋轉結果。因此本文首先利用Matlab 中的rgb2gray 對行李箱圖像進行灰度處理。rgb2gray采用的是對R(紅色),G(綠色),B(藍色)分量進行加權平均:0.298 9R+0.587 0G+0.114 0B。灰度后的圖片對比如圖2所示。

圖2 圖像灰度處理運行結果

具體代碼如下:

rgb=imread('xlx');

imshow(rgb)

title('原圖','fontname',宋體','FontSize',30);

I=rgb2gray(rgb);

imshow(I);

title('灰度圖像','fontname','宋體','FontSize',30);

是 否

3.2 降噪處理

圖像降噪的方法有:均值濾波器、自適應維納濾波器、中值濾波器、形態學噪聲濾除器、小波去噪等。圖像中出現椒鹽噪聲會對旋轉的結果產生嚴重的影響,因此必須要去除掉圖像中的椒鹽噪聲,如果用普通的線性濾波器只能將其壓低,而無法徹底消除。因此,中值濾波器作為非線性濾波器具有著明顯的優勢[4-5]。

中值濾波器是一種非線性平滑濾波器,其主要功能是讓周圍像素值的中值代替與周圍像素灰度值差別較大的像素值,從而可以消除孤立的噪聲點,所以中值濾波對于濾除圖像的椒鹽噪聲非常有效;基本原理是把數字圖像或數字序列中一點的值用該點鄰域的中值代替,鄰域稱為窗,窗開的越大,輸出的結果就越平滑,但也可能把有用的信號特征抹掉。所以窗的大小確定需要根據實際的信號特征來確定。窗一般為二維模板,一般為奇數行列的矩陣,也可以是不同的形狀,如線狀、圓形等。

然后將窗內的像素值按照大小進行排序,二維中值濾波輸出為g(x,y)=med{f(x-k,y-l),(k,l ∈W)},其中,W 為窗,f(x,y),g(x,y)分別為原始圖像和處理后圖像。通過窗的滑動可以做到既去除噪聲又能保護圖像的邊緣,從而獲得降噪的效果。具體代碼如下:

經過中值濾波降噪處理后的灰度圖像與原灰度圖像的對比如圖3所示。

圖3 圖像降噪處理運行結果

3.3 圖像二值化

接著對降噪后的圖像進行二值化。圖像二值化是將圖像上像素點的灰度值設置為0 或255,目的是進一步減小多余數據量,使所要提取的圖像特征更明顯。二值化處理過程中,確定適當的閾值尤為重要,它將直接決定處理效果。由于本研究流程對獲取的行李箱圖像的處理速度和精確度要求都較高。傳統平均值法、設定閾值法呈現效果并不理想,而雙峰法[6]、最大熵閾值法[7-8]和大律法[9]都需要相當的計算時間,因此在確定閾值時利用graythresh函數,其功能是使用最大類間方差法[10-11]找到一個合適的閾值。利用這個閾值通常比人為設定的閾值能更好地把一張灰度圖像轉換為二值圖像;最后,使用im2bw函數,將找到的閾值輸入,就可轉變成一個二值圖。程序為:

level=graythresh(f);%f為降噪后的灰度圖像

bw=im2bw(f,level);

將降噪后得圖像二值化處理,運行結果如圖4所示。

圖4 圖像二值化處理運行結果

3.4 圖像剪裁

為確定圖像中行李箱的位置及輪廓,通常采用邊緣檢測、形態學處理等方法。邊緣檢測的方法有很多,Roberts 算子[12]、Sobel 算子[13-14]、Prewitt 算子[15-16]在不同場合中有不同的優勢。Roberts算子會丟失一部分邊緣,而且受噪聲的影響也較大;Sobel 算子和Prewitt算子雖然在邊緣提取時速度快,但是會因為混合噪聲的影響而誤判,該系統運行環境復雜,因此并不適合。綜上所述,邊緣檢測不適用于本研究過程,但為了方便進行圖像旋轉和角度計算,減少算法的冗余度,縮短角度計算的時間,需要運用Matlab軟件中的imcrop 對圖像進行剪切,該函數對圖像中行李箱有效輪廓的自動截取,返回一個保留行李箱輪廓的最小矩形的剪裁區域。程序為:

[mmin,indexmmin]=min(m);

[mmax,indexmmax]=max(m);

[nmin,indexnmin]=min(n);

[nmax,indexnmax]=max(n);

f1=imcrop(f,[nmin,mmin,abs(nmax- nmin),abs(mmax-mmin)]);

其中,f表示需要進行切割的圖像;(nmin,mmin)表示所要切割出的矩形圖像在原始圖像中左上角的坐標,|n max-nmin|為切割圖像的寬度,|m max-mmin|為切割圖像的高度。運行結果如圖5所示。

圖5 圖像剪裁運行結果

4 角度計算與旋轉

4.1 問題分析

在角度計算之前需要對剪切后的圖像再次進行3.3 的二值化處理,即行李箱圖像上所有像素組成一個0-1矩陣,其中1表示黑色像素。以圖像的左上角像素為原點,矩陣行增大的方向為Y軸正方向,列增大的方向為X軸正方向,建立直角坐標系。設定行李箱把手在最上方時為靠近旅客的一側,如圖6所示。

圖6 設定行李箱旋轉后位置

行李箱的輪廓看作由若干個逆時針旋轉的向量組成。對于一個隨機擺放的行李箱,為確定旋轉到圖6所示位置所需要的角度,即將底邊向量旋轉到與X 軸反方向的位置,如圖7 所示(圖中空心箭頭向量為行李箱底邊向量)。

圖7 行李箱向量輪廓示意圖

經分析,通過獲得行李箱圖像的X值最大、最小,Y值最大、最小的四個點,可得到行李箱底邊向量,即圖8中的四個點。

據分析,行李箱擺放的情況不同,四個最值關鍵點出現的情況共有8種,將這四個點按照逆時針的方向連接可圍成一個四邊形,如圖9所示。如果將四邊形四條邊向量的模按降序的方式排序,不難發現底邊向量的模始終排在第3位。

對于行李箱的中軸線垂直或者平行坐標軸的情況,如圖10所示,存在多個X最大、最小值,Y最大、最小值點。這時不能通過四個最值點連接成四邊形來判斷底邊的向量,但可利用行李箱把手處的最值出現次數最少來判斷行李箱的擺放情況。

圖8 行李箱輪廓中的四個最值點

圖9 八種最值出現情況

圖10 行李箱中軸線平行坐標軸

4.2 算法設計

Step 1:找出圖像中所有行李箱的點,即灰度值為0的點,然后用min,max 函數找出四個最值并返回最值所在的位置,代碼如下:

[y,x]=find(f2(:,:)==0);

[ymin,indexymin]=min(y);

[ymax,indexymax]=max(y);

[xmin,indexxmin]=min(x);

[xmax,indexxmax]=max(x);

Step 2:利用find 函數確定每一個最值出現的次數,并將這些最值出現的次數寫入向量A,然后求出向量A所有元素的和,即為四個最值出現的總次數T。然后根據總次數T 是否大于閾值φ來判斷行李箱的中軸線是否與坐標軸平行。φ值過大會導致即使行李箱中軸線與坐標軸平行,但還是按照不平行計算,增加算法的復雜度。行李箱任意擺放時,每個最值都可能出現多次,φ值過小會導致將任意擺放的行李箱按照中軸線與坐標軸平行來計算,增大算法的錯誤率。因此,必須確定一個合適的φ值,經過大量實驗,φ=100 時算法能夠實現理想的效果。具體代碼如下:

numymin=find(y==ymin);

numymax=find(y==ymax);

numxmin=find(x==xmin);

numxmax=find(x==xmax);

A=[length(numymin),length(numxmin),length(numymax),length(numxmax)];

T=sum(A);

Step 3:當最值出現的總次數T大于閾值φ時,用min 函數確定向量A中的最小值a,若Y的最小值出現的次數為a,即時,需要旋轉的角度α=0o。

同理:

代碼如下:

Step 4:當最值出現的總次數T 小于閾值φ時,將出現ymin值時對應的像素坐標(xy=ymin,ymin)(y=ymin即為Step 1 中min,max 函數返回的最值所在的位置)和(xmax,yx=xmax),(xy=ymax,ymax),(xmin,yx=xmin)按順序寫入坐標向量E,因為這四個點圍成的是封閉四邊形,為了方便計算可以再將第一個點寫在向量的末尾構成一個循環封閉的向量。然后順序計算每兩個相鄰點之間的距離并寫入距離向量D,即圖11 中的(x1,y1)→(x2,y2) 為 D1, (x2,y2)→(x3,y3) 為 D2,(x3,y3)→(x4,y4)為D3,(x4,y4)→(x1,y1)為D4。然后將向量D按降序的方式排序,并確定第三長的線段,即行李箱底邊在原來距離向量D 中的位置i(i=1,2,3,4)。此時行李箱底邊向量的起點坐標(x1=E2i-1,y1=E2i);終點坐標(x2=E2i+1,y2=E2i+2)。接著用這兩個坐標判斷行李箱的擺放情況,如圖11所示。

圖11 端點坐標確定示意圖

根據以上四種情況,利用三角函數進行旋轉角度的計算,其角度判斷過程如下:

代碼如下:

4.3 圖像旋轉

行李箱圖像的旋轉運用的是Matlab 函數庫中的imrorate函數,該函數的調用格式有三種形式:

將圖像的數據矩陣P 繞圖像中心點旋轉angle度,設置圖像逆時針旋轉為正,順時針旋轉為負,返回旋轉后的圖像矩陣。

使用參數method可以改變插值算法,參數method可以為下面這三個值:

'nearest':最鄰近線性插值(Nearest-neighbor interpolation)

'bilinear':雙線性插值(Bilinear interpolation)

'bicubic':雙立方插值(Bicubic interpolation)

Q=imrotate(P,angle,method,bbox)

bbox參數用于指定輸出圖像屬性:

'crop':對旋轉后的圖像Q進行裁剪,保持旋轉后輸出的圖像Q的尺寸和輸入圖像P的尺寸一致。

'loose':使輸出的圖像足夠大,以保證源圖像旋轉后超出圖像尺寸范圍的情況下,防止像素值丟失。上文已經求出任意行李箱應該旋轉的角度,所以本文采用第一種調用格式,并輸出需要旋轉的角度α,最后輸出旋轉后的圖像。具體代碼如下:

B=imrotate(f, angle);

Disp(['需要逆時針旋轉的角度為:',num2str(angle),'°'])

imshow(B);

title('旋轉后的圖像');

5 運行結果

針對行李箱不同的四種擺放情況,本文給出了各自的運行結果,如圖12所示(圖中的旋轉角度為逆時針旋轉所需的角度)。由圖可知,本系統可以實現將行李箱把手旋轉到靠近人的一側,雖然在旋轉時具有一定的誤差,但可以忽略不計,并不影響正常的使用。

圖12 運行情況

6 結束語

本文利用Matlab 仿真,對行李箱進行了圖像灰度處理、中值濾波降噪處理、圖像二值化,并用imcrop函數進行圖像裁剪等,該方法解決了行李箱邊緣輪廓提取的問題。然后運用數學三角函數求得行李箱所需旋轉的角度,最后運用imrotate 函數實現圖像的旋轉。通過改造航站樓行李提取輸送設備及其控制系統,應用本文提出的方法進行攝像頭掃描行李箱圖像并進行識別和計算旋轉角度,繼而由控制系統實現可旋轉平臺旋轉。其可以解決機場航站樓內因旅客行李積壓給機場運行和旅客自身帶來的不便,方便旅客快速提取行李箱。在物流和生產流通等其他環節也可運用以上過程實現原材料、成品、半成品等物資的高效率輸送。

主站蜘蛛池模板: 色婷婷啪啪| 欧美国产中文| 欧洲精品视频在线观看| 热久久这里是精品6免费观看| 国产成人高清精品免费5388| 久久这里只有精品2| 美女毛片在线| 国产人成网线在线播放va| 91国内在线观看| 国产一区二区色淫影院| 亚洲国产成人超福利久久精品| 无码精品一区二区久久久| 久久久精品国产SM调教网站| 毛片基地视频| www.亚洲色图.com| 国产福利拍拍拍| 九九视频免费在线观看| 国语少妇高潮| 亚洲黄色高清| 一区二区三区毛片无码| 久久香蕉国产线| 国产91av在线| 国产麻豆精品在线观看| 国产主播在线一区| 亚洲V日韩V无码一区二区| 精品国产免费第一区二区三区日韩| 国产av剧情无码精品色午夜| 国产亚洲美日韩AV中文字幕无码成人| AV无码一区二区三区四区| 波多野结衣第一页| 亚洲天堂日韩在线| 国产AV毛片| 亚洲国产成人麻豆精品| 日本成人精品视频| 精品午夜国产福利观看| 无码丝袜人妻| 亚洲伊人天堂| 情侣午夜国产在线一区无码| 国产免费网址| 99热国产这里只有精品无卡顿"| 黄色网在线免费观看| 色综合久久88| 啦啦啦网站在线观看a毛片| 欧美亚洲中文精品三区| 91色在线观看| 久久精品这里只有国产中文精品| 91蜜芽尤物福利在线观看| 日韩东京热无码人妻| 久久亚洲欧美综合| 全部免费特黄特色大片视频| 久久中文字幕2021精品| 日韩大乳视频中文字幕| 成人免费黄色小视频| 欧美日韩久久综合| 日韩无码视频播放| 色婷婷成人| 国产在线观看第二页| 男女男精品视频| 国产女人喷水视频| 2021天堂在线亚洲精品专区 | 色婷婷国产精品视频| 91 九色视频丝袜| 国产91小视频在线观看| 国产不卡一级毛片视频| 最新亚洲人成无码网站欣赏网| 丝袜美女被出水视频一区| 又爽又大又光又色的午夜视频| 高潮毛片无遮挡高清视频播放| 在线精品亚洲国产| 亚洲AV无码久久天堂| 国产精品深爱在线| 日本精品视频| 日韩免费无码人妻系列| 成人久久精品一区二区三区| 亚洲天堂777| 成人在线观看不卡| 日韩在线成年视频人网站观看| 色综合狠狠操| 国产真实乱子伦精品视手机观看| 亚洲精品中文字幕无乱码| 成人夜夜嗨| 国产精品免费露脸视频|