機械人視覺專案 視覺檢測識別 機械人跟隨(20)

2021-08-28 10:03:31 字數 2705 閱讀 6189

1.嘗試用tx2外接kinectv1深度相機獲取rgbd影象資訊,傳入到我們的行人檢測**框架中,除錯基於深度相機的行人檢測與跟蹤演算法的效果。

首先安裝kinect對應arm處理器的ubuntu驅動程式,

libfreenect v2.0

openni v2.2.0.33

nite v2.0.0

安裝libfreenect

sudo apt-get install git g++ cmake libxi-dev libxmu-dev libusb-1.0-0-dev pkg-config freeglut3-dev build-essential

安裝libfreenect

git clone

cd libfreenect

mkdir build; cd build

cmake .. -dbuild_openni2_driver=on

make

安裝openni2

cd openni-linux-x86-2.2/

sudo ./install.sh

source opennidevenvironment

cp ~/libfreenect/platform/linux/udev/51-kinect.rules /etc/udev/rules.d/

cp ~/libfreenect/build/lib/openni2-freenectdriver/libfreenectdriver.so openni-linux-x86-2.2/redist/openni2/drivers/

cp ~/libfreenect/build/lib/openni2-freenectdriver/libfreenectdriver.so openni-linux-x86-2.2/tools/openni2/drivers/

lsusb

bus 002 device 006: id 045e:02ae microsoft corp. xbox nui camera

bus 002 device 004: id 045e:02b0 microsoft corp. xbox nui motor

bus 002 device 005: id 045e:02ad microsoft corp. xbox nui audio

cd openni-linux-x86-2.2/tools/

***以上步驟都可以在tx2中正常操作,接下來的測試步驟

./niviewer    沒有看到預期的輸出rbg影象和深度影象

後面還要安裝nite2 由於出現問題,沒有繼續下去,這裡也把教程放上來:

cd nite-2.0.0/

sudo ./install.sh

source nitedevenvironment

cp ~/libfreenect/build/lib/openni2-freenectdriver/libfreenectdriver.so nite-2.0.0/samples/bin/openni2/drivers/

拷貝openni庫到執行sample的目錄,因為nite依賴於openni:cp openni-linux-x86-2.2/redist/libopenni2.so nite-2.0.0/samples/bin

cd nite-2.0.0/samples/bin/

驗證tracking功能

./userviewer

2.由於沒有能安裝成功kinect的驅動到tx2上,嘗試使用小強機械人自帶的攝像頭檢測,普通攝像頭直接呼叫opencv攝像頭測試程式即可驗證,

這裡吧**放上來:

# import cv2

# import numpy as np##

# cap = cv2.videocapture(0)

# fourcc = cv2.cv.cv_fourcc(*'xvid')

# #opencv3的話用:fourcc = cv2.videowriter_fourcc(*'xvid')

# while true:

#     ret,frame = cap.read()

#     gray = cv2.cvtcolor(frame,cv2.color_bgr2gray)##

#     if cv2.waitkey(1) &0xff == ord('q'):

#         break

## cap.release()

# out.release()

# cv2.destroyallwindows()

import cv2

import numpy as np

cap = cv2.videocapture(1)

while(1):

# get a frame

ret, frame = cap.read()

# show a frame

cv2.imshow("capture", frame)

if cv2.waitkey(1) & 0xff == ord('q'):

break

cap.release()

cv2.destroyallwindows()

# ********************

**是可行的,但是呼叫小強攝像頭出錯,沒有辦法強行呼叫,這裡採用普通的外接攝像頭進行測試。

使用外接的攝像頭,可能進行行人識別,從效果上看比較不錯,不過也會有個別情況下出現丟失目標。

機械人視覺專案 視覺檢測識別 機械人跟隨(3)

嵌入式裝置,計算資源有限,對演算法的執行時間敏感。yolov3在tx2上能跑到5fps,但存在偶爾漏檢的情況。yolov3使用darknet。kcf雖然非常快,但很容易跟丟,對於目標形變 人的姿態變化 目標移動較快 目標離開場景等情況,效果較差。kcf使用opencv contrib的實現。dete...

機械人視覺專案 視覺檢測識別 機械人跟隨(16)

跟蹤丟失後再檢測時加上目標特徵匹配,是將第一幀檢測到的目標框中的特徵提取出來,具體可以採用尺度不變特徵sift,surf特徵提取,提取出來的特徵,能否以向量的形式儲存在變數中,再檢測時搜尋影象幀中的待確定目標區域 可能有數個這樣的roi 可以通過計算歐式距離的方式與第一幀影象中的特徵進行匹配,快速排...

訊號處理在機器視覺 機械人視覺與機器視覺

機械人視覺 計算機視覺 影象處理 機器視覺和圖形識別,這幾者之間到底有神馬區別呢?要弄清楚他們哪乙個是哪乙個,有時候也真的是容易混淆的。接下來看看這些術語的具體含義是什麼,以及他們與機械人技術有什麼關聯。讀了這篇文章後,你就再也不會被這些概念弄糊塗了!在這篇文章當中,我們分解了機械人視覺的 族譜 以...