色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三種最常用的特征檢測與匹配算法總結

新機器視覺 ? 來源:計算機視覺工坊 ? 2023-06-19 11:27 ? 次閱讀

作者:計算機視覺@一杯紅茶|來源:計算機視覺工坊

我們都知道特征檢測和匹配是計算機視覺領域中的重要任務,它們在許多應用中發揮著關鍵作用,比如SLAM、SFM、AR、VR等許多算法都需要穩定精確的特征檢測和匹配。

特征檢測算法的意義在于從圖像或視頻中提取出具有獨特性質的特征點,這些特征點可以代表圖像中的關鍵信息。這些特征點通常具有旋轉、尺度和光照變化的不變性,使得它們在圖像的不同位置和角度下都能夠被準確地檢測到。

特征匹配算法的意義在于將兩個或多個圖像中的特征點進行對應,以實現圖像間的關聯和匹配。通過將特征點進行匹配,可以進行目標跟蹤、圖像配準、三維重建等任務。

目前個人認為特征檢測和匹配的研究點包括但不限于以下幾個方面:

1.特征點檢測算法的設計和改進,提高特征點的魯棒性和準確性。

2.特征描述子的設計和優化,提高特征點的區分度和匹配性能。

3.多尺度和多模態特征檢測與匹配,適應不同尺度、視角和傳感器條件下的圖像數據。

4.大規模特征點檢測和匹配算法,用于處理大規模圖像數據庫或視頻流。

5.深度學習在特征檢測和匹配中的應用,如使用卷積神經網絡提取圖像特征和進行匹配。

特征檢測和匹配的應用廣泛,包括但不限于以下幾個方面:

1.目標識別和跟蹤:通過檢測和匹配圖像中的特征點,可以實現目標在視頻中的跟蹤和定位,如自動駕駛中的目標識別和跟蹤。

2.圖像配準和拼接:通過匹配圖像中的特征點,可以將多幅圖像進行配準和拼接,生成全景圖像或三維重建模型。

3.增強現實(AR)和虛擬現實(VR):特征檢測和匹配可用于將虛擬對象與真實世界進行對齊和融合,實現更逼真的AR和VR體驗。

4.圖像檢索和分類:通過匹配圖像中的特征點,可以對圖像進行相似性搜索和分類,用于圖像檢索和內容識別。

5.三維重建和建模:通過匹配多個視角的圖像中的特征點,可以進行三維重建和場景建模,用于計算機輔助設計、虛擬現實等領域。

6.視頻處理和分析:特征檢測和匹配在視頻處理中可以用于運動估計、目標跟蹤、動作識別等任務。

所以,本篇文章針對不同的實際應用需求,對三種特征檢測和匹配算法進行總結并進行代碼實踐:

1.最傳統的且應用最為廣泛的SIFT特征檢測匹配算法。

2.速度和精度之間的平衡,注重實時性的SLAM中常用的ORB特征檢測和匹配算法。

3.最新且效果很好的基于深度學習的特征檢測和匹配算法SuperPoint+SuperGlue。

1.SIFT特征檢測和匹配算法

關于SIFT的算法原理及解釋網上有很多資料,如果想深入理解還可以找來原論文讀一讀,所以這里就簡單介紹下SIFT特征檢測和匹配算法。

SIFT是找到圖像中的一些“穩定點”,這些點是一些十分突出的點,比如角點、邊緣點、暗區域的亮點以及亮區域的點,其算法假設兩幅圖像中有相同的景物,那么使用某種方法分別提取各自的穩定點,這些點之間會有相互對應的匹配點。

SIFT算法找穩定點的方法是找灰度圖的局部最值,由于數字圖像是離散的,想求導和求最值這些操作都是使用濾波器,而濾波器是有尺寸大小的,使用同一尺寸的濾波器對兩幅包含有不同尺寸的同一物體的圖像求局部最值將有可能出現一方求得最值而另一方卻沒有的情況,SIFT的精妙之處在于采用圖像金字塔的方法解決這一問題,我們可以把兩幅圖像想象成是連續的,分別以它們作為底面作四棱錐,就像金字塔,那么每一個截面與原圖像相似,那么兩個金字塔中必然會有包含大小一致的物體的無窮個截面,但應用只能是離散的,所以我們只能構造有限層,層數越多當然越好,但處理時間會相應增加,層數太少不行,因為向下采樣的截面中可能找不到尺寸大小一致的兩個物體的圖像。有了圖像金字塔就可以對每一層求出局部最值,但是這樣的穩定點數目將會很多,所以需要使用某種方法抑制去除一部分點,但又使得同一尺度下的穩定點得以保存。

這里用C++Python各自實現一遍:

C++版本:

這里需要自己安裝配置opencv3哈,很簡單。安裝鏈接:https://blog.csdn.net/qq_43193873/article/details/126144636

在ubuntu20.04LTS下編譯執行,首先是CMakeLists.txt的編寫

cmake_minimum_required(VERSION2.8)

set(CMAKE_BUILD_TYPEDebug)
set(DCMAKE_BUILD_TYPEDebug)

project(KeyPointsExtractionAndMatche)

find_package(OpenCV3REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

##CUDA(可選擇,SIFT可以進行GPU加速)
#FIND_PACKAGE(CUDA)
#IF(CUDA_FOUND)
#set(EXTRA_INC_DIRS
#${CUDA_INCLUDE_DIRS}
#${CUDA_SDK_INCLUDE_DIR}
#)
#cuda_include_directories(${EXTRA_INC_DIRS}${CMAKE_CURRENT_BINARY_DIR})
#set(EXTRA_LIBRARIES
#${CUDA_LIBS}
#${CUDA_cublas_LIBRARY}
#)
#ENDIF(CUDA_FOUND)

add_executable(KeyPointsExtractionAndMatchemain.cpp)

target_link_libraries(KeyPointsExtractionAndMatche${OpenCV_LIBS})

代碼:

#include
#include
#include

#include
#include
#include


usingnamespacestd;

intmain()
{
//圖像名,自己實踐時替換成自己的路徑
stringimage_name1="/home/ccy/code_test/img1.jpg";
stringimage_name2="/home/ccy/code_test/img2.jpg";

//先讀一個彩色圖像用于后續繪制特征點匹配對
cv::Matcolor_img1=cv::imread(image_name1,1);
cv::Matcolor_img2=cv::imread(image_name2,1);

//將圖像轉換為灰度圖像,用于SIFT特征提取和匹配
cv::Matgray_img1=cv::imread(image_name1,0);
cv::Matgray_img2=cv::imread(image_name2,0);

//計算SIFT特征檢測和匹配的時間
doublestart=static_cast(cv::getTickCount());
//提取兩幅圖像的SIFT特征點并篩選出匹配的特征點
vectorkeypoints1,keypoints2;
cv::Matdescriptors1,descriptors2;
cv::Ptrdetector=cv::create();
cv::Ptrdescriptor=cv::create();
cv::Ptrmatcher=cv::create("BruteForce");

//----------------------------------------------------------------------------------------------------//
//opencv3里提供了兩種匹配算法,分別是BruteForce和FlannBased,BruteForce是暴力匹配,FlannBased是基于近似最近鄰的匹配。
//BruteForce:通過計算兩個特征描述子之間的歐氏距離或其他相似性度量來確定匹配程度。
//BruteForce_L1:這種匹配類型使用L1范數(曼哈頓距離)作為特征描述子之間的距離度量方式。L1范數是將兩個向量各個對應元素的差的絕對值求和作為距離的度量方式。
//BruteForce_Hamming:這種匹配類型使用漢明距離作為特征描述子之間的距離度量方式。漢明距離是將兩個向量各個對應元素的差的絕對值求和作為距離的度量方式。
//BruteForce_HammingLUT:這種匹配類型使用漢明距離作為特征描述子之間的距離度量方式。漢明距離是將兩個向量各個對應元素的差的絕對值求和作為距離的度量方式。這種匹配類型使用了查找表(LUT)來加速漢明距離的計算。
//BruteForce_SL2:這種匹配類型使用平方歐氏距離作為特征描述子之間的距離度量方式。平方歐氏距離是將兩個向量各個對應元素的差的平方求和作為距離的度量方式。
//FlannBased:基于近似最近鄰的匹配,使用快速最近鄰搜索包(FLANN)來計算。
//----------------------------------------------------------------------------------------------------//

detector->detect(gray_img1,keypoints1);
detector->detect(gray_img2,keypoints2);

descriptor->compute(gray_img1,keypoints1,descriptors1);
descriptor->compute(gray_img2,keypoints2,descriptors2);

//匹配
vectormatches;
matcher->match(descriptors1,descriptors2,matches);
//篩選匹配點
doublemin_dist=10000,max_dist=0;
//找出所有匹配之間的最小距離和最大距離,即是最相似的和最不相似的兩組點之間的距離
for(inti=0;imax_dist)max_dist=dist;
}
cout<<"--?Max?dist?:?"<filteredMatches;
for(inti=0;i

結果:

689755a4-0c4b-11ee-962d-dac502259ad0.png

Python實現:

importcv2

#讀取彩色圖像
image1_color=cv2.imread('/home/ccy/code_test/img1.jpg',1)
image2_color=cv2.imread('/home/ccy/code_test/img2.jpg',1)

#讀取灰度圖像
image1=cv2.imread('/home/ccy/code_test/img1.jpg',0)
image2=cv2.imread('/home/ccy/code_test/img2.jpg',0)

#計算SIFT特征檢測和匹配的時間
start=cv2.getTickCount()
#創建SIFT對象
sift=cv2.SIFT_create()

#檢測關鍵點和計算描述子
keypoints1,descriptors1=sift.detectAndCompute(image1,None)
keypoints2,descriptors2=sift.detectAndCompute(image2,None)

#創建FLANN匹配器
flann=cv2.FlannBasedMatcher()

#進行特征匹配
matches=flann.knnMatch(descriptors1,descriptors2,k=2)

#篩選匹配結果
good_matches=[]
form,ninmatches:
ifm.distance

結果:

68af281e-0c4b-11ee-962d-dac502259ad0.png

可以看出FLANN匹配效果還是要比Brute-Force暴力匹配要好很多,速度也更快。

ORB特征檢測和匹配算法:

ORB(Oriented FAST and Rotated BRIEF)結合了FAST角點檢測和BRIEF特征描述子,具有快速、魯棒和旋轉不變性的特點。

其中FAST(Features from Accelerated Segment Test)角點檢測算法通過比較像素點與其周圍鄰域像素點的灰度值來判斷該點是否為角點。通過FAST角點檢測,ORB能夠快速而準確地檢測出具有穩定性和重復性的關鍵點。BRIEF(Binary Robust Independent Elementary Features)特征描述子來表示關鍵點的局部特征。BRIEF特征描述子將關鍵點周圍的像素對進行二進制比較,并生成一個定長的二進制描述子,用于描述關鍵點的局部特征。這種二進制描述子具有較小的存儲空間和快速的匹配速度。

ORB算法具有旋轉不變性,這意味著它能夠檢測和匹配旋轉變化后的關鍵點。為了實現旋轉不變性,ORB在角點檢測過程中計算關鍵點的方向,并在生成描述子時根據關鍵點的方向進行旋轉。這樣,即使圖像發生旋轉,ORB算法仍然能夠正確地匹配關鍵點。

ORB算法可以使用暴力匹配(Brute-Force)或近似最近鄰匹配(FLANN)進行特征匹配。暴力匹配方法通過計算特征描述子之間的歐氏距離或漢明距離來確定匹配程度。近似最近鄰匹配方法使用FLANN(快速最近鄰搜索庫)算法進行近似的最近鄰搜索,以加速匹配過程。

C++實踐代碼:

#include
#include
#include

#include
#include
#include


usingnamespacestd;
intmain()
{
//讀取彩色圖像
cv::Matimage1_color=cv::imread("/home/ccy/code_test/img1.jpg",cv::IMREAD_COLOR);
cv::Matimage2_color=cv::imread("/home/ccy/code_test/img2.jpg",cv::IMREAD_COLOR);

//讀取灰度圖像
cv::Matimage1_gray=cv::imread("/home/ccy/code_test/img1.jpg",cv::IMREAD_GRAYSCALE);
cv::Matimage2_gray=cv::imread("/home/ccy/code_test/img2.jpg",cv::IMREAD_GRAYSCALE);

//計時
doublestart=static_cast(cv::getTickCount());

//創建ORB對象
cv::Ptrorb=cv::create();

//檢測關鍵點和計算描述子
std::vectorkeypoints1,keypoints2;
cv::Matdescriptors1,descriptors2;
orb->detectAndCompute(image1_gray,cv::noArray(),keypoints1,descriptors1);
orb->detectAndCompute(image2_gray,cv::noArray(),keypoints2,descriptors2);

//創建FLANN匹配器
//注意:BruteForce_HAMMING匹配類型適用于二進制特征描述子,如ORB(Oriented FAST and Rotated BRIEF)和Brief。
//這種匹配類型使用漢明距離(Hamming distance)作為特征描述子之間的距離度量方式。漢明距離是計算兩個二進制向量之間不同位的數量。
cv::Ptrmatcher=cv::BRUTEFORCE_HAMMING);

//進行特征匹配
std::vectormatches;
matcher->match(descriptors1,descriptors2,matches);

//篩選匹配結果
std::vectorgoodMatches;
doubleminDist=100.0;
doublemaxDist=0.0;
for(inti=0;imaxDist)
maxDist=dist;
}
doublethresholdDist=0.6*maxDist;
for(inti=0;i

結果:68c4cbf6-0c4b-11ee-962d-dac502259ad0.png

python代碼實現:

importcv2

#讀取彩色圖像
image1_color=cv2.imread('/home/ccy/code_test/img1.jpg',1)
image2_color=cv2.imread('/home/ccy/code_test/img2.jpg',1)

#讀取灰度圖像
image1_gray=cv2.imread('/home/ccy/code_test/img1.jpg',cv2.IMREAD_GRAYSCALE)
image2_gray=cv2.imread('/home/ccy/code_test/img2.jpg',cv2.IMREAD_GRAYSCALE)

#計時
start=cv2.getTickCount()

#創建ORB對象
orb=cv2.ORB_create()

#檢測關鍵點和計算描述子
keypoints1,descriptors1=orb.detectAndCompute(image1_gray,None)
keypoints2,descriptors2=orb.detectAndCompute(image2_gray,None)

#創建BFMatcher匹配器
bf=cv2.BFMatcher(cv2.NORM_HAMMING,crossCheck=True)

#進行特征匹配
matches=bf.match(descriptors1,descriptors2)

#篩選匹配結果
matches=sorted(matches,key=lambdax:x.distance)#按距離升序排序
good_matches=matches[:50]#選擇前50個較好的匹配

end=cv2.getTickCount()
print('ORB匹配時間:',(end-start)/cv2.getTickFrequency(),'s')

#繪制匹配結果
result=cv2.drawMatches(image1_color,keypoints1,image2_color,keypoints2,good_matches,None,flags=2)

#保存結果
cv2.imwrite('ORB_Matches.jpg',result)

結果:

68dee554-0c4b-11ee-962d-dac502259ad0.png

從匹配質量上看還是SIFT更好,這是沒有疑問的,但是速度比SIFT快一個數量級要。

Super Point + Super Glue特征檢測和匹配算法:

Super Point論文:

D Detone, Malisiewicz T , Rabinovich A . SuperPoint: Self-Supervised Interest Point Detection and Description[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2018.

項目地址:https://github.com/magicleap/SuperPointPretrainedNetwork

Super Glue論文:

P. -E. Sarlin, D. DeTone, T. Malisiewicz and A. Rabinovich, "SuperGlue: Learning Feature Matching With Graph Neural Networks," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 4937-4946, doi: 10.1109/CVPR42600.2020.00499.

項目地址:https://github.com/magicleap/SuperGluePretrainedNetwork

簡單介紹下這兩個算法,具體的網上有解釋,還可以看原論文。

首先SuperPoint,采用了自監督的方法提取特征點,設計了一個由特征點檢測器生成的具有偽真值的數據集,而非大量的人工標記。為了得到偽真值,首先在大量的虛擬數據集上訓練了一個全卷積網絡,這些虛擬數據集由一些基本圖形組成,例如線段、三角形、矩形和立方體等,這些基本圖形具有無爭議的特征點位置;這樣pre-trained得到的檢測網絡稱之為MagicPoint,它在虛擬場景中檢測特征點的性能明顯優于傳統方式,但是在真實的復雜場景中表現不佳,因此提出了一種多尺度多變換的方法Homographic Adaptation,通過對圖像進行多次不同的尺度或角度變換來幫助網絡能夠在不同視角、不同尺度觀測到特征點。

68fa31a6-0c4b-11ee-962d-dac502259ad0.png

然后是SuperGlue,他是一種能夠同時進行特征匹配以及濾除外點的網絡,其中特征匹配是通過求解可微分最優化轉移問題( optimal transport problem)來解決,損失函數由GNN來構建;基于注意力機制提出了一種靈活的內容聚合機制,這使得SuperGlue能夠同時感知潛在的3D場景以及進行特征匹配。

6908f100-0c4b-11ee-962d-dac502259ad0.png

代碼實踐:這里介紹一個常用的特征檢測、匹配、重建、定位工具包,hloc,里面集成里很多常用的特征檢測和匹配、重建、定位算法,我們直接拿他的庫來進行super point和super glue特征檢測和匹配。

項目地址:https://github.com/cvg/Hierarchical-Localization

首先配置hloc,其需要Python >=3.7 PyTorch >=1.1

gitclone--recursivehttps://github.com/cvg/Hierarchical-Localization/
cdHierarchical-Localization/
python-mpipinstall-e.

代碼:

fromhlocimportextract_features,match_features
fromtqdmimporttqdm
frompathlibimportPath
importargparse
fromhloc.utils.parsersimportparse_retrieval
fromhloc.utils.ioimportget_keypoints,get_matches

importcv2
importnumpyasnp

importtime

if__name__=='__main__':

#添加參數,在運行時輸入自己的--base_dir,比如我的運行代碼是'pythonSPSGtest.py--base_dir/home/ccy/code_test'
parser=argparse.ArgumentParser()
parser.add_argument('--base_dir',type=Path,required=True)
args=parser.parse_args()

#圖像所在路徑
images=args.base_dir/'images/'
#輸出路徑
outputs=args.base_dir/'output/'
#要匹配的圖像對所在路徑,里面每行的內容為:img1name img2name
loc_pairs=args.base_dir/'loc_pairs.txt'
#計時
start=time.time()
#提取特征和匹配特征的配置文件
feature_conf=extract_features.confs['superpoint_max']
matcher_conf=match_features.confs['superglue']


#提取特征和匹配特征,利用預訓練模型
features=extract_features.main(feature_conf,images,outputs)
loc_matches=match_features.main(matcher_conf,loc_pairs,feature_conf['output'],outputs)
retrieval_dict=parse_retrieval(loc_pairs)

end=time.time()
print('time:',end-start)

#遍歷每一對圖像,畫出匹配點對和匹配線
forimg1intqdm(retrieval_dict):
img2=retrieval_dict[img1]
forimg2nameinimg2:
matches,_=get_matches(loc_matches,img1,img2name)
kpts0=get_keypoints(features,img1)
kpts1=get_keypoints(features,img2name)
#找出匹配點對的坐標
kpts0=kpts0[matches[:,0]]
kpts1=kpts1[matches[:,1]]
#畫出匹配點對
img1=cv2.imread(str(images/img1))
img2=cv2.imread(str(images/img2name))
foriinrange(len(kpts0)):
cv2.circle(img1,(int(kpts0[i][0]),int(kpts0[i][1])),2,(0,0,255),-1)
cv2.circle(img2,(int(kpts1[i][0]),int(kpts1[i][1])),2,(0,0,255),-1)

img3=np.zeros((max(img1.shape[0],img2.shape[0]),img1.shape[1]+img2.shape[1],3),np.uint8)
img3[:img1.shape[0],:img1.shape[1]]=img1
img3[:img2.shape[0],img1.shape[1]:]=img2
#畫出所有匹配線
foriinrange(len(kpts0)):
cv2.line(img3,(int(kpts0[i][0]),int(kpts0[i][1])),(int(kpts1[i][0])+img1.shape[1],int(kpts1[i][1])),(0,255,0),1)

cv2.imwrite('/home/ccy/code_test/result.jpg',img3)

結果:

6929b5f2-0c4b-11ee-962d-dac502259ad0.png

可以看到SP+SG的結果又快又準!


審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4607

    瀏覽量

    92837
  • 計算機
    +關注

    關注

    19

    文章

    7488

    瀏覽量

    87849
  • 特征檢測
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5611
  • 深度學習
    +關注

    關注

    73

    文章

    5500

    瀏覽量

    121111

原文標題:三種最常用的特征檢測與匹配算法總結實踐!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    算法三種結構介紹

    嵌入式學習日記2018.11.62018.11.16理論學習階段計算機科學導論(原書第二版)第8章 算法學到的新知識1算法三種結構:順序、判斷(選擇)和重復(循環)2常用
    發表于 11-08 07:12

    單片機系統中最常用三種通信協議

    UART、 I2C 和 SPI 是單片機系統中最常用三種通信協議。1、初步介紹SPI 是一高速的、全雙工、同步通信總線,標準的 SPI 也僅僅使用 4 個引腳,常用于單片機和 EE
    發表于 11-18 09:22

    單片機系統中最常用三種通信協議是什么?

    單片機系統中最常用三種通信協議是什么?
    發表于 02-17 06:03

    基于HALCON的模板匹配方法總結

    了,需要可以去下載。 德國MVTec公司開發地HALCON機器視覺開發軟件,提供了許多地功能,在這里我主要學習和研究了其中地形狀匹配算法和流程。HDevelop開發環境中提供地匹配地方法主要有
    發表于 09-19 06:13

    基于SIFT的視圖像特征匹配算法

    提出一基于SIFT的視圖像特征匹配算法。采用SIFT算法
    發表于 04-18 09:49 ?24次下載

    基于SIFT描述子的特征匹配算法

    為了克服傳統的局部特征匹配算法對噪聲和圖像灰度非線性變換敏感的不足,提出了基于SIFT(Scale Invariant Feature Transform)描述算子的特征
    發表于 12-07 11:03 ?29次下載

    基于顏色和SURF特征的混合匹配算法研究

    針對傳統的SURF算法未使用圖像的顏色信息,提出了一基于顏色信息和SURF特征相結合的混合圖像匹配算法
    發表于 12-24 16:05 ?15次下載

    數控機床插補算法最常用三種算法源碼

    菱PLC(可編程邏輯控制器)編程實例項目例程——數控機床插補算法最常用三種算法源碼
    發表于 11-08 17:32 ?44次下載

    基于區域檢測特征匹配方法設計研究

    針對傳統特征匹配算法在實際的應用中存在搜索范圍廣、無關特征點多等問題,提出一基于顯著性區域檢測
    發表于 10-28 11:01 ?0次下載

    改進的雙向SIFT特征匹配算法

    以基于圖像序列攝像機自標定為基礎,針對尺度不變特征轉換SIFT算法匹配率高且運行效率低的問題,提出一改進的雙向SIFT特征
    發表于 12-06 15:00 ?1次下載
    一<b class='flag-5'>種</b>改進的雙向SIFT<b class='flag-5'>特征</b><b class='flag-5'>匹配</b><b class='flag-5'>算法</b>

    改進ORB的特征匹配算法

    針對定向二進制簡單描述符( ORB)算法不具備尺度不變性的問題,提出一結合快速魯棒性特征( SURF)算法和ORB的改進算法。首先,利用H
    發表于 12-15 17:15 ?21次下載

    開關模式電源電流檢測三種常用檢測方法的詳細資料介紹

    開關模式電源有三種常用電流檢測方法是:使用檢測電阻,使用MOSFET RDS(ON),以及使用電感的直流電阻(DCR)。每種方法都有優點和缺點,選擇
    的頭像 發表于 07-03 16:09 ?1.4w次閱讀
    開關模式電源電流<b class='flag-5'>檢測</b>的<b class='flag-5'>三種</b><b class='flag-5'>常用</b><b class='flag-5'>檢測</b>方法的詳細資料介紹

    三種最常用的MEMS制造技術解析

    MEMS器件利用半導體加工技術來制造維機械結構,三種最常用的MEMS制造技術包括體微加工(Bulk Micro Machining)、表面微加工(Surface Micro Machining)和LIGA。
    發表于 07-29 17:42 ?7757次閱讀

    開關電源最常見的三種結構

    開關電源最常見的三種結構布局是降壓(buck)、升壓(boost)和降壓–升壓(buck-boost),這三種布局都不是相互隔離的。
    的頭像 發表于 03-11 17:00 ?7973次閱讀

    基于計算機視覺領域中的特征檢測匹配研究

    ? 我們都知道特征檢測匹配是計算機視覺領域中的重要任務,它們在許多應用中發揮著關鍵作用,比如SLAM、SFM、AR、VR等許多算法都需要穩定精確的
    的頭像 發表于 06-16 16:48 ?977次閱讀
    基于計算機視覺領域中的<b class='flag-5'>特征</b><b class='flag-5'>檢測</b>和<b class='flag-5'>匹配</b>研究
    主站蜘蛛池模板: 午夜性爽视频男人的天堂在线| 日韩AV成人无码久久精品老人 | 青苹果乐园在线观看电视剧| 精品水蜜桃久久久久久久| 国产成人ae在线观看网站站 | 狂躁美女BBBBBB视频| 手机看片国产免费久久网| 又黄又肉到湿的爽文| GAY2022空少被体育生暴菊| 啊轻点啊再深点视频免费| 国内国外精品影片无人区| 彭丹吃奶门| 国产成人免费在线观看| 久久伊人免费| 艺术片 快播| 精品国产乱码久久久久乱码 | 国产激情视频在线播放| www.亚洲天堂| 一本色道久久综合亚洲精品蜜桃冫| 日本久久黄色| 美女诱惑性感揉胸| 九九精彩视频在线观看视频| 国产日韩亚洲精品视频| 国产精品毛片AV久久97| 99热成人精品国产免男男| 最新亚洲中文字幕在线观看| 影音先锋av天堂| 亚洲人成77777| 亚洲视频精品| 亚洲精品影院久久久久久| 午夜精品久久久久久久99蜜桃| 清冷受被CAO的合不拢| 欧美 亚洲综合在线一区| 秘密教学26我们在做一次吧免费 | 影音先锋av电影| 有人有片的观看免费视频| 18岁男人女人插孔| 别停好爽好深好大好舒服视频| 成人性生交大片| 亚洲成色爱我久久| 一本之道高清www在线观看|