OpenCV行人檢測(cè)--米爾基于全志T527核心板開(kāi)發(fā)板
本文將介紹基于米爾電子MYD-LT527開(kāi)發(fā)板(米爾基于全志 T527開(kāi)發(fā)板)的OpenCV行人檢測(cè)方案測(cè)試。
米爾基于全志T527開(kāi)發(fā)板
一、軟件環(huán)境安裝
1.安裝OpenCV
sudo apt-get install libopencv-dev python3-opencv
2.安裝pip
sudo apt-get install python3-pip
二、行人檢測(cè)概論
使用HOG和SVM構(gòu)建行人檢測(cè)器的關(guān)鍵步驟包括:
準(zhǔn)備訓(xùn)練數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集應(yīng)包含大量正樣本(行人圖像)和負(fù)樣本(非行人圖像)。
計(jì)算HOG特征:對(duì)于每個(gè)圖像,計(jì)算HOG特征。HOG特征是一個(gè)一維向量,其中每個(gè)元素表示圖像中特定位置和方向的梯度強(qiáng)度。
訓(xùn)練SVM分類器:使用HOG特征作為輸入,訓(xùn)練SVM分類器。SVM分類器將學(xué)習(xí)區(qū)分行人和非行人。
評(píng)估模型:使用測(cè)試數(shù)據(jù)集評(píng)估訓(xùn)練后的模型。計(jì)算模型的準(zhǔn)確率、召回率和F1分?jǐn)?shù)等指標(biāo)。
三、代碼實(shí)現(xiàn)
import cv2
import time
def detect(image,scale):
imagex=image.copy() #函數(shù)內(nèi)部做個(gè)副本,讓每個(gè)函數(shù)運(yùn)行在不同的圖像上
hog = cv2.HOGDescriptor() #初始化方向梯度直方圖描述子
#設(shè)置SVM為一個(gè)預(yù)先訓(xùn)練好的行人檢測(cè)器
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
#調(diào)用函數(shù)detectMultiScale,檢測(cè)行人對(duì)應(yīng)的邊框
time_start = time.time() #記錄開(kāi)始時(shí)間
#獲取(行人對(duì)應(yīng)的矩形框、對(duì)應(yīng)的權(quán)重)
(rects, weights) = hog.detectMultiScale(imagex,scale=scale)
time_end = time.time() #記錄結(jié)束時(shí)間
# 繪制每一個(gè)矩形框
for (x, y, w, h) in rects:
cv2.rectangle(imagex, (x, y), (x + w, y + h), (0, 0, 255), 2)
print("sacle size:",scale,",time:",time_end-time_start)
name=str(scale)
cv2.imshow(name, imagex) #顯示原始效果
image = cv2.imread("back.jpg")
detect(image,1.01)
detect(image,1.05)
detect(image,1.3)
cv2.waitKey(0)
cv2.destroyAllWindows()
四、實(shí)際操作
MYC-LT527核心板及開(kāi)發(fā)板
米爾首發(fā)全志T527,八核A55賦能邊緣計(jì)算
全志T527處理器,八核A55,高效賦能邊緣計(jì)算;
多媒體功能強(qiáng)大:具備G57 GPU、4K編解碼VPU、HiFi4 DSP,支持4~6路Camera;
支持多種顯示接口:HDMI、DP、LVDS、MIPI-DSI和RGB并口,支持4K+1080P雙異顯;
豐富的通訊接口:2*GE、2*CAN、PCIE/USB3.0、2*USB2.0、10*UART、30*PWM、4*SPI、9*I2C等;
T527是真工業(yè)級(jí)-40℃~+85℃;
超緊湊LGA 381pin封裝;
適用于高性能工業(yè)機(jī)器人、顯控一體機(jī)、車載終端、邊緣智能盒子等應(yīng)用場(chǎng)景。
評(píng)論