前言
今天想和大家分享的是:儀酷LabVIEW AI視覺工具包的VI簡介,如介紹內容有誤,歡迎各位朋友們幫忙糾正~
一、AI視覺工具包VI簡介
已經安裝好的AI工具包位于程序框圖-函數選板-Addons-VIRobotics-opencv_yiku,內容包括:Mat類型(矩陣)的操作、攝像頭采集、圖片文件讀寫、基本算子、視頻讀寫、神經網絡調用、迅捷VI等功能。
Mat(矩陣類)
該大類下面主要是和矩陣相關的創建,操作。包含:
? Create_Mat.vi:矩陣的創建
? Convert:矩陣常用數據類型的轉換類
? Mat :Mat的相關操作,如取子矩陣、基本數學運算、邏輯操作、求兩矩陣差的絕對值、圖像融合等。
Camera(相機類)
該大類下面主要是和相機有關的操作。主要包括
? new_Cap.vi:初始化相機
? startCapture.vi:啟動本地相機
? startCaptureUrl.vi: 啟動網絡相機
? stopCapture.vi:停止拍攝
? readImage.vi:獲取一幀圖像
Core(核心類)
該大類主要對圖片做一些基礎處理,包括
? DFT.vi:傅里葉變換
? idft.vi:逆傅里葉變換
? normalize.vi:圖像歸一化處理
? flip.vi:圖像翻轉
? hconcat.vi:圖像水平拼接
? inRange.vi:圖像分割
Darw(圖像繪制類)
該大類主要是實現圖像的繪制,包括:
? Draw_Line.vi:繪制直線
? Draw_Rect.vi:繪制矩形
? Draw_arrowesLine.vi:繪制箭頭線段
? Draw_Circle:繪制圓
? Draw_ellipse.vi:繪制橢圓圓弧和橢圓扇形
? Draw_Polylines.vi:繪制多邊形
? Draw_putText:繪制文字
? getTextSize.vi:獲取文本大小
imgcodes(圖片讀寫類)
該大類主要是對圖片進行讀寫操作,包括
? imdecode.vi:圖片解碼
? imencode.vi:圖片編碼
? imread.vi:讀取圖片
? imwrite.vi:保存圖片
imgproc(圖片處理算子類)
該大類主要是對圖片進行基本操作,包括
? blur.vi:均值濾波
? calHist.vi:計算直方圖
? Canny.vi:邊檢檢測
? cvtColor.vi:色彩轉換
? drawContour.vi:繪制輪廓
? findContous.vi:尋找輪廓
? filter2d_float.vi:圖像卷積運算
? GaussianBlur.vi:高斯濾波
? HoughCircles.vi:霍夫圓檢測
? HoughLines.vi:霍夫直線檢測
? matchTemplate.vi:模板匹配
? resize.vi:圖像縮放
? threshold.vi:二值化圖像
? cornerHarris.vi :Harris角點檢測
? cornerMinEigenVal.vi:計算特征值和特征向量
? dilate.vi:圖像膨脹
? erode.vi:圖像腐蝕
? boxPoints:獲取矩陣頂點坐標
? Corners--> cornerSubPix:亞像素級角點檢測
? pointPolygonTest.vi:檢測點是否在輪廓內
Imgpro--Transform:該大類下面主要是圖像的各種變換,包括
? GetAffineTransform.vi:實現圖像仿射
? getPerspectiveTransform.vi:實現透視變換
? getRotationMatrix2D.vi:圖像旋轉
? warpAffine.vi:仿射變換
? warpPerspective.vi:透視變換
geometry(幾何圖形類)
該大類主要是點的合集,比如說輪廓。
calib3d(相機定標和三維重建類)
該大類主要是對相機進行標定,并進行三維重建。主要包括
? calibrateCamera.vi:相機標定
? CalibrateHandEye.vi:手眼標定
? ComputeCorrespondEpilines.vi:為一幅圖像中的點計算其在另一幅圖像中對應的對極線
? copy_vectorPoint2f.vi:復制點集
? drawChessBoardCorners.vi:繪制檢測到的棋盤角點
? findChessboardCorners.vi:尋找棋盤圖的內角點位置
? findFundamentalMat.vi:計算兩個視角的基礎矩陣
? initCameraMatrix2D.vi:得到3D到2D的初始化的攝像機矩陣
? initUndistortRectifyMap.vi:計算無畸變和修正轉換關系
? remap.vi:一幅圖像中某位置的像素放置到另一個圖片指定位置
? stereoCalibrate.vi:雙目攝像機標定
? steroRectify.vi:對校準過的攝像機計算修正變換
? stereoRectifyUncalibrated.vi:對未校準過的攝像機計算修正變換
? undistort.vi:校正圖像因相機鏡頭引起的變形
? undistortPoints.vi:迭代去畸變矯正
dnn(深度神經網絡類)
OpenCV中的dnn(Deep Neural Network module)模塊是專門用來實現深度神經網絡相關功能的模塊。OpenCV自己并不能訓練神經網絡模型,但是它可以載入別的深度學習框架(例如TensorFlow、pytorch、Caffe等等)訓練好的模型,然后使用該模型做inference(預測)。而且OpenCV在載入模型時會使用自己的dnn模塊對模型重寫,使得模型的運行效率更高。所以如果你想在OpenCV項目中融入深度學習模型,可以先用自己熟悉的深度學習框架訓練好,然后使用OpenCV的dnn模塊載入。主要包括:
? blobFromImage.vi:對即將進入神經網絡的彩色圖片進行預處理
? blobFromImage_1c.vi:對即將進入神經網絡的灰度圖片進行預處理
? NMSBoxes.vi:對檢測的到的boxes和對應的scores進行非極大值抑制處理,消除冗余重疊的框
? NMSRotatedBoxes.vi:對檢測的到的傾斜boxes和對應的scores進行非極大值抑制處理,消除冗余重疊的框
? ORC:文字識別相關
dnn.Net(深度神經網絡類)
該大類主要實現模型的加載與推理
? readNetFromTensorflow.vi:載入一個tensorflow生成的pb文件和與其對應的pbtxt配置文件,返回它的網絡
? readNetFromDarknet.vi:載入一個darknet生成的cfg配置文件和weights模型文件(通常為yolov3和yolov4),返回它的網絡
? readNetFromONNX.vi:載入一個通用的神經網絡模型文件ONNX(通常由pytorch、tensorflow、caffe等框架生成),返回它的網絡
? readNetFromModelOptimizer.vi:載入英特爾的模型優化器中間表示,IR:具有網絡拓撲的 XML 配置文件和具有訓練權重的二進制文件bin,返回它的網絡
? setInput.vi:將圖像(或矩陣)輸入至神經網絡net中
? forward.vi:神經網絡進行推理,并得到某一層的結果,如name為空,則返回最后一層的結果
? forward_muti_outputs.vi:神經網絡進行推理,根據輸入端的名字names,得到多層的結果
? getLayerNames.vi:獲取該網絡所有層的名字
? getUnconnetedLayerNames.vi:獲取不連接的輸出層的名字
? setPreferableBackend.vi:要求網絡在其支持的地方使用特定的計算后端
? setPreferableTarget.vi:要求網絡在特定目標設備上進行計算
ml(機器學習模塊)
該大類主要是一組統計分類、回歸分析、數據聚類的類與統計模式函數(目前主要是SVM支持向量機)
ml.SVM該大類下面主要是SVM的創建、預測與訓練的vi
python(矩陣轉換為python格式)
feature2d(特征檢測與匹配)
該大類主要是實現特征點提取與匹配。
? DescriptorMatcher:匹配特征向量的抽象類
? draw_KeyPoints.vi:快速繪制特征點
? draw_matches.vi:繪制關鍵點的匹配情況, 一左一右兩張圖像,匹配的關鍵點之間用線條鏈接
? matcher_knnMatch.vi:
? matcher_match.vi:
? SIFT:創建SIFT特征檢測器
? SIFT_Compute.vi:計算關鍵點描述符
? SIFT_Detector.vi:檢測關鍵點
? Vector_DMatch:匹配結果點集
? Vector_KeyPoints:特征點集
videoWriter
該類為視頻流讀寫類
cuda(顯卡類)
該大類主要是獲取cuda設備相關參數的類。
? getCudaEnabledDeviceCount.vi:獲取 CUDA 的設備數
? getDevice.vi:獲取CUDA設備屬性
? setDevice:設置CUDA設備屬性
face(人臉檢測&人臉識別)
該大類主要是實現人臉檢測和人臉識別。主要有兩大類:基于YuNet的人臉檢測器FaceDetectorYN和基于DNN的人臉識別器FaceRecognizerSF。
? FaceDetectorYN-->detect.vi:從給定圖像中檢測人臉,獲得人臉區域和5點landmark
? FaceDetectorYN-->FaceDetectorYN_Creat.vi:創建人臉檢測器的實例類
? FaceRecognizerSF-->alignCrop.vi:對齊圖像以將面部放在標準位置
? FaceRecognizerSF-->Create.vi:使用給定參數創建此類的實例
? FaceRecognizerSF-->feature.vi:從對齊的圖像中提取人臉特征
? FaceRecognizerSF-->match.vi:計算兩個人臉特征之間的距離
如您想要探討更多關于LabVIEW與人工智能技術,歡迎加入我們的:705637299,備注:LabVIEW機器學習
二、開放神經網絡交互(ONNX)工具包VI簡介
已經安裝好的ONNX工具包位于程序框圖-函數選板-Addons-VIRobotics-onnx內容包括:獲取onnx可用的provider、onnx神經網絡調用推理等功能。如下圖所示:
getavailproviders.vi
獲取onnx可用的providers。
Session(onnx模型加載推理類)
? Create_Session.vi:加載onnx模型并指定推理加速引擎(CPU、CUDA、TensorRT)
? Run_one_input_pointer.vi:將單個圖片指針輸入至onnx模型并進行推理
? Run_one_input_data.vi:將單個圖像(或矩陣)輸入至onnx模型并進行推理
? Get_Resule_Info.vi:獲取每層輸出及shape
? Get_result.vi:動態vi,獲取某層輸出
? release.vi:釋放資源
? delete.vi:刪除
三、工具包下載鏈接
- AI視覺工具包下載與安裝參考:
[https://blog.csdn.net/virobotics/article/details/123656523] - onnx工具包下載與安裝參考:
[https://blog.csdn.net/virobotics/article/details/124998746]
總結
以上就是今天要給大家分享的內容。大家可根據鏈接下載工具包并進行安裝。
如果有問題可以在評論區里討論,提問前請先點贊支持一下博主哦
**如果文章對你有幫助,歡迎?關注、
審核編輯 黃宇
-
LabVIEW
+關注
關注
1963文章
3652瀏覽量
322478 -
人工智能
+關注
關注
1791文章
46872瀏覽量
237613 -
深度學習
+關注
關注
73文章
5493瀏覽量
120983
發布評論請先 登錄
相關推薦
評論