免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Intel RealSense D435i深度相機(jī)實(shí)戰(zhàn):從成像原理到RGB與深度對(duì)齊的完整指南

Intel RealSense D435i深度相機(jī)實(shí)戰(zhàn):從成像原理到RGB與深度對(duì)齊的完整指南 1. 硬件底層邏輯D435i到底是怎么“看見(jiàn)”深度的1.1 主動(dòng)紅外立體視覺(jué)原理以及為什么它能用“亮度”算距離很多人拿到Realsense D435i第一反應(yīng)是“這不就是個(gè)普通USB攝像頭嘛”然后接上電腦開個(gè)Viewer就開始看畫面。我最初也這么干過(guò)但一旦你開始做深度與RGB數(shù)據(jù)融合就會(huì)發(fā)現(xiàn)如果不理解D435i的成像原理后面踩的坑基本是連環(huán)的。D435i不是靠結(jié)構(gòu)光、也不是靠ToF來(lái)測(cè)距的它用的是“主動(dòng)紅外立體視覺(jué)”。機(jī)身前面兩個(gè)大圓眼睛是左右兩個(gè)紅外相機(jī)中間的圓孔是紅外激光投影儀。工作時(shí)投影儀會(huì)向場(chǎng)景投射不可見(jiàn)的紅外散斑紋理兩個(gè)紅外相機(jī)同時(shí)拍攝這些紋理算法再對(duì)左右兩幅圖像做立體匹配根據(jù)視差反推每個(gè)像素的距離。換句話說(shuō)它在“沒(méi)有紋理的白墻”上人工制造紋理再靠雙目視差算深度。這就是為什么D435i在弱紋理環(huán)境、昏暗環(huán)境下依然能輸出深度而普通雙目相機(jī)一到白墻就全黑。這個(gè)原理直接引出一個(gè)非常重要的結(jié)論D435i的深度依賴紋理匹配質(zhì)量不是激光直接打在物體上測(cè)距所以玻璃、透明塑料、純黑色吸光物體、高反光金屬這幾類“經(jīng)典難題”依舊抓瞎。我在做機(jī)械臂抓取時(shí)碰到過(guò)黑色啞光的置物盒深度圖上一整片空洞不是相機(jī)壞了而是紅外散斑被吸收了。后面我用了一些應(yīng)急手段第四節(jié)會(huì)展開說(shuō)。另一個(gè)由原理推導(dǎo)出的關(guān)鍵點(diǎn)是左右兩個(gè)紅外相機(jī)之間有一個(gè)固定基線D435i大約是50mm深度精度在近距離0.3m左右可以做到毫米級(jí)但距離越遠(yuǎn)誤差增長(zhǎng)越快。官方標(biāo)稱的測(cè)距范圍是0.2m到3m不過(guò)實(shí)測(cè)下來(lái)超過(guò)1.5m之后深度誤差就開始肉眼可見(jiàn)地跳動(dòng)超過(guò)3m基本就別指望做精密測(cè)距了。所以你要正視D435i的定位它是桌面級(jí)、近距離、室內(nèi)機(jī)器人用的傳感器不是遠(yuǎn)距離測(cè)繪工具。選用之前先想清楚應(yīng)用場(chǎng)景比調(diào)參重要得多。1.2 RGB相機(jī)和深度相機(jī)是“兩套眼睛”天然存在視差D435i機(jī)身上除了兩顆紅外相機(jī)中間偏右還有一顆RGB彩色相機(jī)。這顆RGB相機(jī)的視野范圍大約是69°×42°而深度相機(jī)模塊的視野大約是86°×57°。第一次用Viewer同時(shí)打開RGB和深度畫面時(shí)你會(huì)明顯發(fā)現(xiàn)兩幅圖的“取景范圍”不一樣RGB看到的畫面窄很多如果對(duì)著近處的物體RGB里物體在畫面中間深度圖里物體就顯得更小、位置偏整體也略有差異。這不是故障而是物理結(jié)構(gòu)決定的。RGB相機(jī)和紅外相機(jī)在機(jī)身上不在同一個(gè)位置光心不同所看到的場(chǎng)景自然有差異這叫視差。這個(gè)視差在近距離尤其明顯距離越近RGB和深度像素之間的偏移越大。所以如果你把RGB圖當(dāng)成彩色信息、深度圖當(dāng)成距離信息想直接一像素對(duì)齊疊加來(lái)做檢測(cè)結(jié)果必然是對(duì)不上的你拿著RGB里(x, y)位置的物體信息去深度圖里取距離取到的很可能是旁邊另一個(gè)物體的深度。這不是D435i的缺陷是所有帶RGB的深度相機(jī)共有的物理特性必須在軟件層面做圖像對(duì)齊Align這件事我們?cè)诘谌?jié)細(xì)說(shuō)。理解了這個(gè)你也就明白了為什么相機(jī)標(biāo)定在D435i實(shí)戰(zhàn)里那么重要RGB與深度之間的外參旋轉(zhuǎn)和平移在生產(chǎn)時(shí)雖然做過(guò)出廠標(biāo)定但在運(yùn)輸、安裝、受熱、振動(dòng)之后可能發(fā)生微小變化同機(jī)自標(biāo)定就是用來(lái)修正這個(gè)偏移的。網(wǎng)上熱搜里那個(gè)“d435i相機(jī)標(biāo)定”指的多半就是這件事。2. 環(huán)境搭建與SDK配置Windows和Linux兩條路線怎么選2.1 先裝驅(qū)動(dòng)還是先裝SDKlibrealsense的正確打開方式Realsense全家桶的核心SDK叫l(wèi)ibrealsense官方倉(cāng)庫(kù)、文檔和固件工具都在Intel的RealSense GitHub和官網(wǎng)頁(yè)面里把這兩處當(dāng)權(quán)威信息源就夠了。安裝分兩層底層是驅(qū)動(dòng)和固件上層是SDK庫(kù)和Python/ROS封裝。在Windows上驅(qū)動(dòng)通常用系統(tǒng)自動(dòng)識(shí)別就能裝上但我建議你主動(dòng)去官網(wǎng)下一個(gè)Realsense SDK 2.0安裝包它會(huì)一并裝好驅(qū)動(dòng)、固件、Realsense Viewer和Python綁定如果你勾選。這里有一個(gè)我踩過(guò)的坑安裝完SDK后最好直接打開Realsense Viewer確認(rèn)能否看到畫面再看一下是否需要固件升級(jí)。我就遇到過(guò)USB識(shí)別正常、設(shè)備管理器里也正常但Viewer一直提示固件太老、無(wú)法啟動(dòng)深度流的情況。用Viewer里自帶的“Update Firmware”升級(jí)固件之后立刻正常。在LinuxUbuntu 20.04/22.04上推薦用官方提供的apt安裝方式不要自己從源碼編譯——源碼編譯需要下載大量依賴還得裝Qt、GL相關(guān)庫(kù)第一條編譯就卡住的大有人在。官方apt流程大致是sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE sudo add-apt-repository deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main -u sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-dev裝完后在終端里敲realsense-viewer能彈出圖形界面就說(shuō)明驅(qū)動(dòng)和SDK都通了。這里多說(shuō)一句DKMS模塊是給內(nèi)核打補(bǔ)丁用的它負(fù)責(zé)讓UVC視頻驅(qū)動(dòng)正確識(shí)別Realsense元數(shù)據(jù)別為了省事跳過(guò)。如果Linux下始終看不到設(shè)備最典型原因是內(nèi)核自帶的uvcvideo模塊搶占了設(shè)備。解決辦法是先sudo modprobe -r uvcvideo再插拔一下相機(jī)或者在/etc/modprobe.d/下加一條黑名單規(guī)則。這種情況在Ubuntu 20.04上比較常見(jiàn)22.04上已經(jīng)好很多。2.2 Python綁定pyrealsense2安裝技巧大多數(shù)做算法驗(yàn)證的同學(xué)用的是Python。librealsense的Python綁定叫pyrealsense2在Windows上比較方便pip install pyrealsense2裝完就能用。但Linux上官方不提供編譯好的pip包直接從源碼編譯會(huì)痛苦到懷疑人生。我的做法是在Ubuntu上依然是裝完整的librealsense2-dev然后從源碼編譯Python綁定。編譯時(shí)需要python3-dev、pybind11和cmake。編譯命令是git clone https://github.com/IntelRealSense/librealsense.git cd librealsense mkdir build cd build cmake ../ -DBUILD_PYTHON_BINDINGSbool:true -DPYTHON_EXECUTABLE$(which python3) make -j8編完后在build/wrappers/python目錄下會(huì)生成pyrealsense2模塊把它放到你的Python搜索路徑中即可。說(shuō)實(shí)話這個(gè)過(guò)程本身不難難的是過(guò)程中可能缺各種依賴。為了省事有些人會(huì)選擇用Docker鏡像官方也有帶Python綁定的鏡像。不過(guò)Docker里用Realsense需要把USB設(shè)備映射進(jìn)容器還涉及udev權(quán)限配置成本并不低。我的建議是如果是做長(zhǎng)期項(xiàng)目老老實(shí)實(shí)在本機(jī)編譯一次如果只是臨時(shí)驗(yàn)證一兩段代碼用Docker也行。還有一條捷徑Ubuntu上可以嘗試用conda-forge渠道安裝conda install pyrealsense2有時(shí)候能直接拿到編譯好的包省掉編譯時(shí)間但要注意版本可能滯后于官方SDK。2.3 連接規(guī)范USB接口是D435i的命門D435i對(duì)USB接口非常挑剔它要求USB 3.0以上并且必須是直連主機(jī)接口不能用HUB。我之前圖方便接了個(gè)帶供電的USB 3.0 HUB結(jié)果斷流、掉幀、設(shè)備崩潰輪番上陣。后來(lái)查到官方的說(shuō)明才明白D435i的深度和RGB兩個(gè)視頻流加起來(lái)數(shù)據(jù)量非常大對(duì)帶寬和供電穩(wěn)定性要求都很高。USB 2.0模式下D435i最高只能跑很低的幀率和分辨率別指望做實(shí)時(shí)處理。另外筆記本上要注意有多個(gè)USB接口時(shí)盡量插藍(lán)色的USB 3.0口通常標(biāo)識(shí)為SS或者Type-C轉(zhuǎn)USB 3.0的線。有一些輕薄本為了省電會(huì)在閑置時(shí)對(duì)USB口限流導(dǎo)致深度流偶爾中斷。遇到這種情況可以到電源管理里把USB選擇性暫停設(shè)置為“已禁用”。這些細(xì)節(jié)看起來(lái)不起眼但排查問(wèn)題時(shí)能省大把時(shí)間。3. 核心環(huán)節(jié)實(shí)現(xiàn)RGB與深度數(shù)據(jù)的同步采集與對(duì)齊3.1 第一段可運(yùn)行代碼同時(shí)拿到彩色圖和深度圖環(huán)境就緒后先跑通“同時(shí)拿到彩色圖和深度圖”這一步這也是從圖像采集到實(shí)時(shí)處理的橋梁。我們用pyrealsense2寫一個(gè)最簡(jiǎn)版本import pyrealsense2 as rs import numpy as np import cv2 pipeline rs.pipeline() config rs.config() config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) pipeline.start(config) try: while True: frames pipeline.wait_for_frames() depth_frame frames.get_depth_frame() color_frame frames.get_color_frame() if not depth_frame or not color_frame: continue depth_image np.asanyarray(depth_frame.get_data()) color_image np.asanyarray(color_frame.get_data()) depth_colormap cv2.applyColorMap( cv2.convertScaleAbs(depth_image, alpha0.03), cv2.COLORMAP_JET ) cv2.imshow(RGB, color_image) cv2.imshow(Depth, depth_colormap) if cv2.waitKey(1) 0xFF ord(q): break finally: pipeline.stop() cv2.destroyAllWindows()這段代碼的核心邏輯是先創(chuàng)建Pipeline這是Realsense處理的“流水線引擎”再通過(guò)Config指定需要的流、分辨率、格式和幀率然后start啟動(dòng)采集循環(huán)每一輪等待一幀數(shù)據(jù)拆解出深度幀和彩色幀轉(zhuǎn)成numpy數(shù)組最后用OpenCV顯示。這里有兩個(gè)細(xì)節(jié)新手容易看懵。第一個(gè)是rs.format.z16它表示深度圖的每個(gè)像素用16位無(wú)符號(hào)整數(shù)存儲(chǔ)單位是毫米。也就是說(shuō)像素值5000表示該點(diǎn)距離相機(jī)5米。為什么用16位因?yàn)樯疃葌鞲衅鞯脑肼?、精度范圍和測(cè)距上限決定了毫米這個(gè)單位下必須用更大的位寬8位根本裝不下0.2m到3m的范圍。第二個(gè)細(xì)節(jié)是cv2.convertScaleAbs(depth_image, alpha0.03)它把毫米值壓到0到255的顯示范圍方便用顏色映射顯示。0.03這個(gè)系數(shù)大概對(duì)應(yīng)3.3米以內(nèi)的深度映射到灰階,基本符合D435i的實(shí)用測(cè)距范圍。顯示用的COLORMAP_JET是偽彩色映射藍(lán)色近、紅色遠(yuǎn)純屬可視化需要后續(xù)算法里用的還是原始z16圖。3.2 align對(duì)齊把深度“掰”到RGB視角或者反過(guò)來(lái)前面說(shuō)過(guò)RGB和深度畫面存在視差解決辦法是使用rs.align。它的原理是利用RGB相機(jī)和深度相機(jī)之間的內(nèi)參、外參把深度圖像重投影到RGB相機(jī)的坐標(biāo)系下生成一張與RGB分辨率相同的深度圖。這樣兩者在像素層面就能一一對(duì)應(yīng)了。實(shí)現(xiàn)非常直接align_to rs.stream.color align rs.align(align_to) frames pipeline.wait_for_frames() aligned_frames align.process(frames) aligned_depth_frame aligned_frames.get_depth_frame() aligned_color_frame aligned_frames.get_color_frame() depth_image np.asanyarray(aligned_depth_frame.get_data()) color_image np.asanyarray(aligned_color_frame.get_data())需要在循環(huán)外先創(chuàng)建align對(duì)象process方法會(huì)在每一幀內(nèi)完成重投影和重采樣。對(duì)齊之后你拿到的深度圖分辨率與彩色圖一致坐標(biāo)為彩色圖坐標(biāo)用它去索引彩色圖對(duì)應(yīng)的深度值是安全的。另一種方向是把RGB圖對(duì)齊到深度視角只要把a(bǔ)lign_to換成rs.stream.depth即可。具體選哪個(gè)方向取決于你的算法主視角。比如做視覺(jué)抓取時(shí)通常以RGB檢測(cè)為主那就把深度對(duì)齊到RGB如果做純深度處理比如地面分割RGB只是輔助給物體上色那把RGB對(duì)齊到深度更自然。兩套方向代碼只差一行但語(yǔ)義完全不同建議一開始就定下來(lái)。對(duì)齊還會(huì)影響深度圖的觀感對(duì)齊到RGB之后因?yàn)镽GB視野比深度視野窄深度圖邊緣會(huì)出現(xiàn)一圈“取值不到的黑色區(qū)域”這是正常現(xiàn)象。另外對(duì)齊本身是有少量重采樣誤差的在物體邊緣尤其明顯所以做精確的像素級(jí)融合時(shí)邊緣區(qū)域要做膨脹或腐蝕處理。3.3 從深度像素恢復(fù)三維坐標(biāo)內(nèi)參和depth scale到底怎么回事拿到對(duì)齊后的深度圖之后最常用的操作是從像素坐標(biāo)(u, v)計(jì)算該點(diǎn)在相機(jī)坐標(biāo)系的3D坐標(biāo)(X, Y, Z)。這一步是機(jī)械臂抓取、SLAM、測(cè)距測(cè)量的基礎(chǔ)。D435i的內(nèi)參包括焦距(fx, fy)和光心(ppx, ppy)這些可以通過(guò)相機(jī)流的內(nèi)參接口拿到profile pipeline.get_active_profile() depth_profile profile.get_stream(rs.stream.depth) intrinsics depth_profile.as_video_stream_profile().get_intrinsics() print(intrinsics)intrinsics里包含fx、fy、ppx、ppy。有了內(nèi)參深度像素轉(zhuǎn)3D的公式非常直觀def deproject_pixel_to_point(intrinsics, pixel, depth): x (pixel[0] - intrinsics.ppx) / intrinsics.fx y (pixel[1] - intrinsics.ppy) / intrinsics.fy z depth * 1.0 # 單位毫米 return [x * z, y * z, z]這個(gè)公式的本質(zhì)是把像素坐標(biāo)先轉(zhuǎn)換到歸一化平面再乘上深度得到相機(jī)坐標(biāo)系下的坐標(biāo)。注意公式里的深度值必須乘以depth scale才能得到真正的毫米或米值不對(duì)。在pyrealsense2里get_data()拿到的z16圖像像素值本身就是毫米不需要再乘depth_scale。depth_scale是在你獲取原始傳感器輸出時(shí)用來(lái)?yè)Q算的傳感器內(nèi)部的原始值是16位depth_scale 0.001表示每個(gè)原始單位等于1毫米。多數(shù)情況下你直接看z16圖的像素值就夠了。但在某些SDK接口里拿到的distance depth_image * depth_scale才是以米為單位的值兩種口徑容易搞混。我的建議是統(tǒng)一用毫米作為全工程的距離單位顯示和算法內(nèi)部都用毫米只在可視化或?qū)ν廨敵鰰r(shí)把單位轉(zhuǎn)成米或厘米。這樣可以減少很多單位換算造成的bug。4. 實(shí)時(shí)處理管線的設(shè)計(jì)與調(diào)優(yōu)4.1 深度濾波組合拳decimation、spatial、temporal、hole filling拿到原始深度圖直接做檢測(cè)你會(huì)被噪聲和空洞煩死。D435i的深度圖在物體邊緣、高光區(qū)域、暗色區(qū)域都會(huì)出現(xiàn)無(wú)效像素值為0而且單幀深度會(huì)有時(shí)間上的抖動(dòng)。官方SDK提供了一組后處理濾波器我建議按固定順序串聯(lián)成一個(gè)濾波管線Decimation Filter降低深度圖分辨率同時(shí)平滑噪點(diǎn)。它會(huì)以某個(gè)因子對(duì)深度圖做降采樣輸出分辨率變小但有效像素更密。處理速度快適合作為第一級(jí)。Spatial Filter雙邊空間濾波在保持邊緣的同時(shí)平滑同質(zhì)區(qū)域。對(duì)深度空洞有修復(fù)作用但高斯權(quán)重設(shè)太大容易讓邊緣糊掉。Temporal Filter時(shí)間域?yàn)V波把前后幀的深度做加權(quán)融合能大幅減少閃爍和抖動(dòng)。但對(duì)于快速運(yùn)動(dòng)的物體會(huì)產(chǎn)生明顯的“拖影”。Hole Filling最后的空洞填補(bǔ)用周圍的深度值填充無(wú)效像素。有多個(gè)填充模式最簡(jiǎn)單的Fill from Left用左鄰域填充效果快但會(huì)在邊緣產(chǎn)生假深度。實(shí)際代碼里可以這樣組織decimation rs.decimation_filter() spatial rs.spatial_filter() temporal rs.temporal_filter() hole_filling rs.hole_filling_filter() decimation.set_option(rs.option.filter_magnitude, 2) spatial.set_option(rs.option.filter_smooth_alpha, 0.5) spatial.set_option(rs.option.filter_smooth_delta, 20) temporal.set_option(rs.option.filter_smooth_alpha, 0.4) temporal.set_option(rs.option.filter_smooth_delta, 20) frame decimation.process(frame) frame spatial.process(frame) frame temporal.process(frame) frame hole_filling.process(frame) depth_image np.asanyarray(frame.get_data())這組參數(shù)我在桌面機(jī)械臂場(chǎng)景下實(shí)測(cè)效果很好。調(diào)參經(jīng)驗(yàn)上spatial的delta是控制深度差閾值的設(shè)太大會(huì)把物體的邊緣深度也抹掉temporal的alpha設(shè)太大會(huì)對(duì)快速移動(dòng)的物體產(chǎn)生深度殘影機(jī)械臂高速運(yùn)動(dòng)時(shí)偶爾會(huì)把抓取目標(biāo)“拖”出錯(cuò)誤位置。所以機(jī)器人抓取場(chǎng)景下temporal的alpha我通常控制在0.2到0.4之間慢速測(cè)距場(chǎng)景才拉到0.5以上。4.2 從Realsense Viewer到代碼調(diào)試先看畫面再調(diào)參數(shù)我的調(diào)試習(xí)慣是任何濾波參數(shù)調(diào)整先在Realsense Viewer里打開“Depth Filters”面板實(shí)時(shí)調(diào)節(jié)參數(shù)觀察深度圖的變化看到滿意的效果之后再把參數(shù)抄進(jìn)代碼。Viewer里的參數(shù)面板和代碼里的set_option是一一對(duì)應(yīng)的這個(gè)是官方做得很好的地方。純靠想象調(diào)參數(shù)效率非常低。不過(guò)Viewer里有一個(gè)小坑它的濾波結(jié)果是實(shí)時(shí)可視化的但是一旦你的代碼里Pipeline配置的分辨率或幀率與Viewer不一致參數(shù)效果會(huì)有差異。所以在Viewer里確定一個(gè)參數(shù)初值后還得在實(shí)際代碼里跑一遍微調(diào)。這不算什么大問(wèn)題但別指望Viewer調(diào)好的參數(shù)能原封不動(dòng)搬到代碼里在不同分辨率下同一組濾波參數(shù)表現(xiàn)會(huì)很不一樣。4.3 多線程處理別讓耗時(shí)操作堵住采集循環(huán)有人拿到D435i后寫了一版逐幀處理的代碼發(fā)現(xiàn)幀率掉到10fps以下。其實(shí)問(wèn)題不在相機(jī)本身而在于你把深度圖轉(zhuǎn)換成點(diǎn)云、跑神經(jīng)網(wǎng)絡(luò)推理、做彩色圖直方圖均衡等操作都塞在了主循環(huán)里每一幀都要等這些耗時(shí)的操作完成采集循環(huán)自然被“卡脖子”。正確的做法是拆成兩個(gè)線程一個(gè)采集線程專門從Pipeline取幀并做最輕量的預(yù)處理比如對(duì)齊、濾波把處理后的幀放進(jìn)隊(duì)列另一個(gè)算法線程從隊(duì)列取幀做重活檢測(cè)、分割、定位。這樣即使算法線程處理一幀需要200ms采集線程依然能以30fps從相機(jī)取幀算法線程處理完就取最新的一幀來(lái)控制機(jī)械臂或更新可視化。我用queue.Queue實(shí)現(xiàn)過(guò)這個(gè)模式代碼很簡(jiǎn)單但穩(wěn)定性提升非常明顯。有一個(gè)細(xì)節(jié)要注意隊(duì)列的長(zhǎng)度要設(shè)上限比如5幀就滿否則算法線程處理不過(guò)來(lái)時(shí)隊(duì)列里堆積的舊幀會(huì)帶來(lái)越來(lái)越大的延遲你做實(shí)時(shí)控制時(shí)就會(huì)看到機(jī)械臂“慢半拍”。隊(duì)列滿時(shí)直接丟棄最舊的幀即可保證處理的是最新數(shù)據(jù)。5. 常見(jiàn)問(wèn)題排查我踩過(guò)的那些坑5.1 深度圖全黑或全是零先查這三件事深度圖一片漆黑是最常見(jiàn)的問(wèn)題。原因可以按概率排序目標(biāo)物太近或太遠(yuǎn)。D435i的最近距離大概0.2m左右在0.1m以內(nèi)拍攝深度直接失敗。太遠(yuǎn)超過(guò)3m也基本沒(méi)數(shù)據(jù)。先用卷尺量一下工作距離。強(qiáng)紅外干擾。D435i的紅外散斑可能被太陽(yáng)光、其他紅外補(bǔ)光燈干擾。在陽(yáng)光直射的窗邊深度圖會(huì)大面積丟數(shù)據(jù)。室內(nèi)正常燈光一般沒(méi)事。USB帶寬不夠。如果同時(shí)開了RGB和深度流且?guī)省⒎直媛识荚O(shè)得很高USB 3.0也可能頂不住。這個(gè)時(shí)候可以先降分辨率或幀率試試。還有一個(gè)詭異情況Viewer里顯示正常代碼里深度一直為0。這種往往是代碼里的Pipeline配置和Viewer不一致比如你沒(méi)把a(bǔ)lign處理后的幀接對(duì)數(shù)據(jù)源取了不對(duì)的frame。給frame加一些斷言打印很快能找到問(wèn)題。5.2 設(shè)備時(shí)連時(shí)斷、固件崩潰怎么辦這個(gè)問(wèn)題的帽子很大實(shí)際原因通常是這幾類USB供電不足換一個(gè)直連主板的USB 3.0口或者用帶獨(dú)立供電的USB HUB注意HUB本身要支持USB 3.0。固件太舊打開Realsense Viewer它會(huì)自動(dòng)提示固件升級(jí)。升級(jí)時(shí)必須保持USB連接穩(wěn)定千萬(wàn)別中途斷電。散熱問(wèn)題D435i長(zhǎng)時(shí)間運(yùn)行發(fā)熱很嚴(yán)重尤其夏天。如果設(shè)備過(guò)熱會(huì)出現(xiàn)幀率驟降甚至掉線。給它一個(gè)通風(fēng)良好的位置必要時(shí)外接一個(gè)小風(fēng)扇。我在長(zhǎng)時(shí)間跑數(shù)據(jù)采集任務(wù)時(shí)遇到過(guò)“運(yùn)行兩個(gè)小時(shí)后設(shè)備消失”的情況。最終解決方案是把相機(jī)的功率模式設(shè)置為“Low Power”并降低幀率才穩(wěn)定過(guò)夜采集。5.3 常見(jiàn)問(wèn)題速查表現(xiàn)象常見(jiàn)原因解決方向深度圖全黑目標(biāo)距離太近/太遠(yuǎn)、紅外干擾、USB帶寬測(cè)量距離遮擋強(qiáng)光降低分辨率RGB正常但深度無(wú)固件過(guò)舊、深度流未啟動(dòng)升級(jí)固件檢查Pipeline配置幀率達(dá)不到30fps后處理耗時(shí)過(guò)長(zhǎng)、USB帶寬受限拆分線程降低濾波處理量深度圖有大量空洞黑色吸光、高反光、透明物體用Hole Filling或調(diào)整相機(jī)角度畫面花屏/斷流USB供電不足、HUB不穩(wěn)定直連USB 3.0接口禁用USB節(jié)能設(shè)備掉線過(guò)熱、固件崩潰增強(qiáng)散熱升級(jí)固件RGB與深度邊緣對(duì)不齊相機(jī)外參漂移跑官方自標(biāo)定工具6. 實(shí)戰(zhàn)案例RGB檢測(cè)深度定位的小閉環(huán)6.1 基于OpenCV的紅色物體檢測(cè)與三維坐標(biāo)輸出最后用一個(gè)實(shí)際案例把整套流程串起來(lái)檢測(cè)畫面中的紅色物體輸出它的相機(jī)坐標(biāo)系三維坐標(biāo)。這個(gè)流程幾乎就是機(jī)械臂抓取的“最簡(jiǎn)版”——先把目標(biāo)彩色檢測(cè)找到再在深度圖上對(duì)應(yīng)位置取深度最后轉(zhuǎn)成坐標(biāo)。完整代碼如下import pyrealsense2 as rs import numpy as np import cv2 pipeline rs.pipeline() config rs.config() config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30) profile pipeline.start(config) align_to rs.stream.color align rs.align(align_to) # 創(chuàng)建濾波管線 decimation rs.decimation_filter() spatial rs.spatial_filter() temporal rs.temporal_filter() hole_filling rs.hole_filling_filter() decimation.set_option(rs.option.filter_magnitude, 2) spatial.set_option(rs.option.filter_smooth_alpha, 0.5) spatial.set_option(rs.option.filter_smooth_delta, 20) temporal.set_option(rs.option.filter_smooth_alpha, 0.3) temporal.set_option(rs.option.filter_smooth_delta, 20) try: while True: frames pipeline.wait_for_frames() aligned_frames align.process(frames) depth_frame aligned_frames.get_depth_frame() color_frame aligned_frames.get_color_frame() if not depth_frame or not color_frame: continue depth_frame decimation.process(depth_frame) depth_frame spatial.process(depth_frame) depth_frame temporal.process(depth_frame) depth_frame hole_filling.process(depth_frame) color_image np.asanyarray(color_frame.get_data()) depth_image np.asanyarray(depth_frame.get_data()) hsv cv2.cvtColor(color_image, cv2.COLOR_BGR2HSV) mask cv2.inRange(hsv, (170, 100, 100), (180, 255, 255)) mask cv2.erode(mask, None, iterations2) mask cv2.dilate(mask, None, iterations2) contours, _ cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) if contours: largest max(contours, keycv2.contourArea) if cv2.contourArea(largest) 500: x, y, w, h cv2.boundingRect(largest) cx, cy x w // 2, y h // 2 depth depth_image[cy, cx] # 深度無(wú)效時(shí)取周圍一個(gè)小鄰域的中值提高穩(wěn)定性 if depth 0: patch depth_image[max(0, cy-5):cy5, max(0, cx-5):cx5] patch_valid patch[patch 0] depth int(np.median(patch_valid)) if len(patch_valid) 0 else 0 if depth 0: intrinsics profile.get_stream(rs.stream.color).as_video_stream_profile().get_intrinsics() point rs.rs2_deproject_pixel_to_point(intrinsics, [cx, cy], depth) print(f目標(biāo)3D坐標(biāo): ({point[0]/1000:.3f}, {point[1]/1000:.3f}, {point[2]/1000:.3f}) m) cv2.rectangle(color_image, (x, y), (xw, yh), (0, 255, 0), 2) cv2.circle(color_image, (cx, cy), 4, (0, 0, 255), -1) cv2.imshow(RGB Detection, color_image) if cv2.waitKey(1) 0xFF ord(q): break finally: pipeline.stop() cv2.destroyAllWindows()這段代碼里有幾個(gè)細(xì)節(jié)值得好好說(shuō)。第一顏色空間。HSV比BGR更適合做顏色檢測(cè)因?yàn)樗焉?、飽和度、亮度分開受光照的影響小一些。紅色在HSV里靠近色相環(huán)的0度和180度所以上面用了(170, 100, 100)到(180, 255, 255)這個(gè)區(qū)間如果要檢測(cè)暗紅色要適當(dāng)降低飽和度下限。第二輪廓處理。先腐蝕再膨脹是為了去掉小噪點(diǎn)防止輪廓碎片化。面積閾值500是經(jīng)驗(yàn)值如果相機(jī)離目標(biāo)遠(yuǎn)物體在畫面里很小這個(gè)閾值要適當(dāng)調(diào)低。第三深度取值。直接取中心點(diǎn)深度很容易取到空洞值為0所以加了一個(gè)“無(wú)效時(shí)取鄰域中值”的兜底邏輯。取中值比取均值更抗噪但如果鄰域里有一半以上都是空洞兜底邏輯也會(huì)失敗這時(shí)候就需要Hole Filling提前把空洞補(bǔ)起來(lái)。這個(gè)兜底邏輯不是萬(wàn)能的但它能處理大量邊緣反射造成的單點(diǎn)空洞。第四坐標(biāo)輸出。rs.rs2_deproject_pixel_to_point是SDK自帶的反投影函數(shù)它內(nèi)部做了之前說(shuō)的內(nèi)參計(jì)算。如果你不開align這個(gè)intrinsics要取深度流的內(nèi)參而不是彩色流的代碼里我特意取的是rs.stream.color因?yàn)榍懊骈_了align_tocolor深度圖已經(jīng)對(duì)齊到RGB視角了。6.2 這個(gè)閉環(huán)怎么擴(kuò)展到機(jī)械臂抓取這個(gè)最簡(jiǎn)單的“視覺(jué)定位小閉環(huán)”再往前走一步就是機(jī)械臂抓取。大致路徑是檢測(cè)目標(biāo)并輸出3D坐標(biāo)后通過(guò)手眼標(biāo)定把相機(jī)坐標(biāo)系下的坐標(biāo)變換到機(jī)械臂坐標(biāo)系下。D435i自帶的IMU在這里有兩個(gè)作用一是做視覺(jué)慣性里程計(jì)二是幫你在機(jī)械臂運(yùn)動(dòng)過(guò)程中估計(jì)相機(jī)姿態(tài)變化從而讓目標(biāo)定位更穩(wěn)定。不過(guò)手眼標(biāo)定是個(gè)大工程需要標(biāo)定板、多角度采集數(shù)據(jù)以及求解AXXB問(wèn)題。你可以先用最粗暴的方式做個(gè)“線性手眼標(biāo)定”——固定機(jī)械臂在幾個(gè)已知位姿記錄目標(biāo)在不同位置下的視覺(jué)坐標(biāo)和機(jī)械臂坐標(biāo)用最小二乘擬合一個(gè)變換矩陣。精度一般但能跑通整個(gè)閉環(huán)。后續(xù)想提升精度再換正規(guī)標(biāo)定流程。這里想提醒一句不要一上來(lái)就追求高精度毫米級(jí)定位先把檢測(cè)、深度、濾波、對(duì)齊這套基本管線跑通再逐步引入標(biāo)定和誤差補(bǔ)償。很多項(xiàng)目卡住的原因不是標(biāo)定不夠準(zhǔn)而是前面某一環(huán)——比如根本沒(méi)做對(duì)齊或者深度濾波沒(méi)調(diào)好——讓整個(gè)系統(tǒng)的數(shù)據(jù)基礎(chǔ)就是錯(cuò)的。7. 寫在最后的實(shí)操經(jīng)驗(yàn)D435i這東西用了兩年多我最大的感受是它的入門門檻很低官方SDK把復(fù)雜的光學(xué)、傳感器算法都封裝好了但你真正開始做深度與RGB數(shù)據(jù)融合時(shí)考驗(yàn)的依然是基本功——深度成像原理、相機(jī)模型、內(nèi)參外參、坐標(biāo)變換、濾波調(diào)優(yōu)。網(wǎng)上那些“一行代碼搞定深度相機(jī)”的標(biāo)題黨背后其實(shí)都是這套底子在撐著。我目前的項(xiàng)目里D435i依然是我做桌面級(jí)抓取和SLAM的主力傳感器。它的性價(jià)比、開發(fā)生態(tài)、社區(qū)活躍度在同類產(chǎn)品里都是數(shù)一數(shù)二的。如果你剛開始接觸建議不要急著上機(jī)械臂或者SLAM這種復(fù)雜場(chǎng)景先把這篇文章里的流程走一遍裝上SDK、跑通Viewer、寫一個(gè)采集程序、做一次圖像對(duì)齊、調(diào)一遍濾波參數(shù)最后實(shí)現(xiàn)一個(gè)顏色檢測(cè)加深度定位的小閉環(huán)。等你把這條鏈路走順了后面無(wú)論是接機(jī)械臂還是接導(dǎo)航都會(huì)輕松很多。再分享最后一個(gè)找問(wèn)題的小技巧當(dāng)你懷疑“相機(jī)是不是壞了”的時(shí)候先用Realsense Viewer跑一遍官方自帶的demo。Viewer里能正常出圖說(shuō)明硬件和驅(qū)動(dòng)沒(méi)問(wèn)題問(wèn)題一定在你的代碼里Viewer里也不出圖那再去排查硬件、驅(qū)動(dòng)和USB。這個(gè)判斷邏輯聽起來(lái)特別簡(jiǎn)單但能省下無(wú)數(shù)個(gè)瞎折騰的晚上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99操视频| 亚洲尤物在线| 91碰碰| 天天综合精品| 丁香五月综合在线视频| 亚洲综合99| 五月天婷婷基地| 激情综合4月| 网站免费一站二站| 日韩视频99| 婷婷中文字幕在线| AA片在线观看视频在线播放| 殴美日韩成人| 爱的综合网| 久久综合26p| 亚洲激情综合| 丁香花五月天| 日韩AV片| 日韩天堂久久| 日韩色色色色| 99精品在线观看| 青青操avbb| 不卡成人免费| 综合网色| 久久与婷婷| 99re66热这里只有精品| 狠狠情色| 婷婷激情五月天桃花网| 色在线99| 99热免费观看| 狠狠搞亚洲| 日本色色网站| 七七久久综合| 精品人妻午夜一区二区三区四区| 丁香亚洲婷婷五月| 久久久国产精品黄毛片| 色色色在线观看| 熟女重口味αV| 国产精品成av人在线视午夜片| 五月天成人综合| 婷婷久久婷婷色五月| 波多野结衣成人作品在线| 99色天堂| 国产成人AV在线播放| 人人射av| www好屌操| 色婷婷久久综| 91精品视频男人的天堂| www,99热在线观看| 久久精品凹凸分类| 韩国中文字幕91| 色五月婷婷久久| 五月婷婷天| 五月丁香激情五月天| 久久视频婷婷| 99热最新精品| 五月久熟女| 99色嘟嘟精品网站| 色综合播放| 99国产精品久久久久久久久久久| 97色色网| 成人av在线网| 婷婷丁香无码专区| 99久久欧美| 免费观看18视频网站| 97九色| 99这里| 婷激情五月| 永久的网站AAAA | 欧美交换配乱吟粗大25P| 深爱激情网综合| 天天上天天爽| 99爱视频免费看| 色综合久久88色综合天天人守婷| 亚洲综合网激情小说| 亚洲六月婷婷| 人人操Av| 九九婷婷五月天影视| 婷婷一本和五月丁香| 91婷婷| 久操无码| 99re26视频| 激情五月婷婷在线区| 久久在这里有精品| 激情欧美丁香五月| 婷婷五月丁香五月| 亚洲欧洲另类图片| 亚洲4区国产欧美| 久久女人九九| 欧美在线视频99| 啪啪色激情五月天| 天天干、天天日日| 婷婷综合97| 日韩成人av在线| 无码99| 久久er99热精品一区二区| 被强行糟蹋的女人A片| www.seqingwuyuetian| 激情色五月天| 国产在线中文字幕| 色五月婷婷婷婷| 丁香五月婷综合网| 五月天婷婷成人网| 97碰碰碰免费公开在线视频| 97搞在线| 五月天激情小说婷婷| 狠狠色综合777| 婷婷综合六月| 大香蕉久| 九色在线观看91av| 天天艹天天色| 久久伊人五月天| 国产欧美日韩一区二区三区| 综合网色| www狠狠爱com| 丁香婷婷五月天亚洲| 五月婷婷丁香狠狠撸久久| 日本va欧美va国产激情| 激情六月天| 久久综合九色综合97婷婷| 大香蕉娱乐| 91操熟女| 丁香六月综合激情| 亚洲中文AV| 小泽玛利亚视频一区二区| 亚洲第一黄网| 亚洲国产精品VA在线看黑人| 99爱在线视频| 99精品高潮| 天天日夜夜B久久| 亚洲综合丁香五月天| 大香蕉婷婷久久| 色婷视频| 色情综合网| 五月丁香黄色| 五月婷婷六月天| 9久久久| 色域五月婷婷丁香| 影音先锋91资源站| 亚洲图片 丁香婷婷| 色欲婷婷五月天| 色婷婷激情五月天| 欧美色激情四射| 婷婷五月花| 丁香五月天天高清在线| 中文av网| 性日本激情| 久久婷婷综合五月趴| 久久这里只有精品热在99| 大香蕉在线观看9| 亚洲综合网区| 婷婷丁香人妻天天爽| www.久操| 亚洲成人五月天| 少妇人妻偷人精品无码视频新浪| 操操操av| 伊人在线视频| 色婷婷五月天激情综合| 99久久66综合| 成人婷婷深爱综合网| 日韩人妻无码精品| 香蕉久久六月| 天天综合影院| 丁香五月黄色| 激情爱爱网站| 五月天堂色| 亚洲最大视频| 97亚洲婷婷| 五月丁香五月综合欧美| 色哟哟精品| 97干婷婷| 丁香色五月 97干| 大天天伊人| 在线99色| 9久热| 91热视频| 思思精品热在线| 国产XXXX搡XXXXX搡麻豆| 狠狠色婷婷7| 青草五月天| 91碰| 99视频| 激情五月激情综合俺也去婷婷小说| 色婷婷六月天| 国产在线6| 激情五月综合婷婷| 99视频在线观看视频| 婷婷99狠狠躁天天躁| 婷婷五月天777| 欧美色五月| 激情五月天婷婷激情| www.夜夜操.com| 日本在线wwww| 综合激情五月天| 超碰九九热| 久草五月天| 亚洲成人无码网站| 激情五月综合亚洲另类| 综合五月激情| 色综合久久综合中文综合网| 无码少妇高潮喷水A片免费| 色色色在线播放| 香蕉97碰碰碰欧美| 九九热在线视频| 亚洲精品成人片在线播| 激情丁香五月婷婷| 色99欧洲色19| 五月婷婷丁香| 区欧美日韩成人| 天天狠狠夜夜狠狠2023| 五月天婷婷六月激情网| 四色五月视频| www.夜夜| 婷婷五月精品中文字幕| 五月婷婷在线网站| 乱码操操| 被强行糟蹋的女人A片| www.五月丁香av| 亚洲xx在线| 亚洲色热| 婷婷丁香五月天色区| 99re欧美精品| 天天爱天天做天天操| 天天干天天干天天干天天干天天干天天干天天| 激情五月天综合网| 色九九中文字幕| 99精品在线观看视频| 亭亭丁香aV| 五月天丁香婷婷网| 79精品视频在线观看,| 桃色激情婷婷伊人网| 久久99jiu9| 夜夜躁爽日日| 五月丁香婷婷爱| 国产夫妻操逼内射视频| 97热久久| 思思热在线| 天天爱天天做天天操| 九九色天堂| 人妻激情综合| 亚洲激情五月| 999影院成人在线影院| 色九九综合| 夜夜AVV| 婷色五月天| 五月色综合| 色丁香在线视频| 婷婷五月天精品| 五月天色综合| 色婷婷久久| 99热这里只有精品3| 日 日干 日日做| 五月丁香日本一抹本| 婷婷性爱五月天丁香网| 偷拍99在线视频观看| 99性爱视频| 狠狠草在线观看| 色婷婷综合网| 久久视频婷婷| 五月天伊人久久久久| 开心五月婷婷99| 大香蕉婷婷丁香视频在线| 69精品人人人人| 丁香六月综合| 欧美大肥婆大肥BBBBB| 久久九九免费视频| 超碰人人在线| 国产亚洲精品AAAAAAA片| 99思思| 人妻AV在线| 九九色欲网| 中文字幕 中文字幕明步| www.五月天婷婷.com| 五月婷精品| 九九综合影音先锋| 婷婷综合久久综合| 婷婷性爱视频在线| 99久久九九| 激情综合五月| 99热这只有| 色激情综合狠狠婷婷| 99视频自拍| 欧美99热| 婷婷5月天av| 色色色99韩| 五月丁香激情怕怕| 99re思思| 26UUU精品一区二区Com| 蜜臀嫩草| 久热超碰91| 97人凄人人操人人爽| 亚洲色图五月丁香| www.色五月| www.久久| AA片在线观看视频在线播放| 麻豆精品| 最新热中文字幕| 九九sese| 色五月婷婷九月| 9热视频在线观看| 青草激情综合| 99干免费视频| 九九综合| 开心五月婷婷在线视频免费观看| 五月的丁香六月的婷婷| 日日操夜夜爽| 九九伊人网| 超碰99热精品在线| 五月情涩综合婷婷| 六月丁婷婷| 激情网综合| WWW免费视频碰碰碰碰| 网站免费一站二站| 久久五月天丁香花| 五月天婷婷久久综合| www.夜夜騎夜夜狠| 久久婷婷视频| 丁香六月欧美| 思思99精品视频在线观看| 日日肏天天操| 婷婷五月天激情小说| 婷婷丁香六月天| 超碰不卡在线| 97在线观视频免费观看| 91精产品自偷自偷综合| 激情综合自拍五月婷婷色五月| 青青草日本亚洲| 婷婷五月天激情丁香| 色五月综合激情| 久操人妻| 久久五月婷婷丁香| 国产精品久久7777777精品无码| 天天综合久久| 99re在线免费视频| 99精品7| 久久婷婷综| 任你弄在线视频免费| 99ri在线| 久久久人妻门| 中文字幕黄色片| 91美女艹逼网站| 99热日韩这里只有精品| 色色色99| 97人人干。| 天天网站天天爽| 最新av在线观看| 久久A极片| 嫩模aV在线| 色播激情五月天| 69精品人人人人| 久月婷婷| 九九热只有精品| 婷婷性爱视频在线| 99这里| 国产毛片操B| 婷婷丁香视频在线观看免费| 天天干狠狠| 99干99| 色五月天成人| 婷婷色情 | 超碰在线看| 欧美影院| 激情五月丁香色色去久久| 激情五月图| 色亚洲欧洲| 日韩人妻AV在线| 台湾综合丁香五月蜜桃| 九九综合色| 国产乱码久久| 欧美大肥婆大肥BBBBB| 中文字幕激情综合| 99热这里只有精品3| 五月天天堂久久| 精品久久人妻| 国产精品视频| 欧美25p| 99色综合| 久热9| 97人人干人人操| 青青草tp| 狠狠看狠狠| 丁香六月啪啪| 狠狠va| 丁香色啪综合| 久久婷青青草原| 天天射天天射一道本日本社区| 98国产精品综合一区二区三区| 欧美99热| 婷婷丁香精品视频在线观看| 五月婷婷综合久久| 五月丁香啪啪激情| 超碰成人AV| 亚洲美女网Va| 久久九九婷婷| 99热免费精品| 性色99| 婷婷基地成人五月天| 99精品免费视频| 激情婷婷在线中文字幕| 成人综合网站| 五月激情在线| 婷婷丁香69精华| 乱精品一区字幕二区| 婷婷六月激情丁香| 五月丁香六月婷婷啪啪| 激婷网| 日本狠狠干| 激情综合网丁香| 亚洲V国产V欧美V久久久久久| 久久网思思| 亚州激情九月| 少妇熟女视频一区二区三区| 婷婷中文字幕网| 开心六月婷| 99在线资源视频| 亚洲精品视频电影| 婷婷五月丁香色情| 丁香婷婷性爱| 激情综合九| 日本在线视频www色| 5月丁香六月情| 97人妻碰碰碰久久| 四川BBB搡BBB爽爽视频| 久久激情综合| 99亚洲精品视频| 久久婷婷激情五月天一区二区| 五月天丁香啪啪网| 九九久久网| 丁香婷婷五月天校园春色| 99超级超级超级碰| 五月天婷婷综合| 六月丁香VA| 噜噜色五月| 探花搜索结果 - 黄上黄| 久热大香蕉| 看片视频在线免费日产在线看| 激情宗合哪里能看| AV在线大香蕉| 91ncm视频| 熟女强人妻一区二区三区四区无| 天天日天天爽夜夜爽| 亚洲欧美另类在线23p| 久久这里这里有精品免费视频| 高清av在线国产| 久久久com| 99爽视频| 激情五月天婷婷| 狠狠舔| 欧美久久网| 超碰在线资源| 中文超碰视在线| 中文字幕成人| 久久丁香五月天| 9热在线观看| 伊人五月天婷婷| 99热 免费| 97婷婷狠狠| 丁香五月色情av| 99热在线观看| 激情五月婷婷| 日本一级一级一级一级| 99热思思| 色婷婷丁香A片区毛片区女人区| 色婷婷久久综合| www夜夜| 人人做人人看人人摸| 超碰操网| 久这里只有精品99| 丁香激情五月综合网| 亚洲永久免费| 桃色五月婷婷| 2050人人操免费工开爱| 99热这里只有精品国产免费| wwxx日本| 99热这里有精品24| 天天婷婷色六月| 午夜电影网VA内射| WWW五月| 狠狠色噜噜色狠狠狠综合久久成人波| 五月婷婷激情四月| 99热在线只有精品| 中文字幕,综合,91| 六月婷婷色色色| 99热费观看| 日本婷色| 丁香五月播播| 久久久天堂国产精品女人| 大战熟女丰满人妻AV| www.色五月| 国产性爱大片久久| 国产超碰人人| 五月天色色色| 五月丁香啪啪啪啪| 五月天激情久久| 五月丁香在线| 婷婷五月天在线观看| 色吧综合网| 桃色五月婷婷| 久99久视频免费观看| 8区视频在线| 狠狠色噜噜狠狠色噜噜噜999| 久久网站观看免费欧洲国产 | 亚洲黄色影视| 久久丁香五月综合六月激情红杏视频 | 六月丁香婷婷综合色播| 丁香五月天婷婷中文| 99热这里只有精品18| 天天操天天操天天操天天操天天操| 婷婷五月丁香色综合| 丁香婷婷五月天激情四射| 色色色网站| 亚洲成人av在线观看| 色婷婷色情| 五月婷婷开心色伊人| 婷婷激情五月天在线| 久久久久激情网| 激情五月综合网| 黄色av网站在线免费播放| 第四色五月婷婷| 六月丁香视频网站| 久久性爱视频网站| 色婷婷成人做爰A片免费看网站| 色亭亭丁香五月天| 天天爽成人综合网站| 婷婷五月天BBw| 婷婷五月激情网| Blackedraw视频一区二区| 大香蕉五月| 六月婷婷狠狠| 色爱综合网| 丰满少妇猛烈A片免费看观看 | 九九热99精品| 丁香六月在线| 天堂亚洲 在线| 综合激情网五月激情| 夜夜夜夜夜骑撸| 午夜大香蕉| 高清国产AV| 99热精这里只有精品| 五月天综合影院| 五月天综合网| 久99热| 日日撸夜夜操| www久久久久久久久久久久久久久久久| 色婷婷久久综合久色综| 操日挥操日日| 精品夜夜澡人妻无码AV| 色综合综合色| 久热超碰91| 啪啪啪丁香五月| 亚洲色情免费网| 欧美97色| 台湾无码A片一区二区| 国产精品久久久丁香五月八戒视频| 99色中文| 精品网站:999WWW| 天天射综合网夜夜操| 色婷五月天| 99久久99九九99九九九| AV成人在线播放| 婷婷六月天| 久久96热| av国产精品| 五月开心婷婷极品激情| 五月天婷婷色色| 天天综合五月| www.色婷婷.com| 伊人久热91| 热久视频| 新男人天堂人妻| 久久人妻视步| 99在线免费视频播放| 狠色狠色综合久久| 亚洲AV无码成人电影| 五月丁香六月婷婷a v| 男妓跪趴把舌头伸进我的嘴巴| 香蕉久久国产AV一区二区| 9久视频| 色婷婷9| 婷婷97碰碰| 成人网在线视频| 成人在线综合| 丁香六月婷婷开心| 婷婷五月天成人| 丁香六月婷婷综合激情欧美| 狠狠综合网| 情五月亚洲婷婷| 日韩成人无码| 另类五月激情| 99色五月| 激情小说婷婷| 婷婷五月天免费| 伊人大香蕉爱聚| 第四色婷婷丁香五月| 狠狠色噜噜色狠狠狠综合色 | 久久电影4399| 激情小说婷婷| 99在这里有精品| 欧美日本99| 久久天天| 亚洲午夜AV| 91久久99久久91熟女精品| 岛国资源网| 婷婷丁香五月在线观看91| 99热日| 亚洲激情综合| 婷婷六月激情综合| 五月婷婷色| 九九精品在线视频观看| 五月婷婷六月激情| 久久WW| 六月色色综合| 成人AV网站在线| 五月婷六月| 激情五月五月五月婷婷| 日本久草福利| 中字幕视频在线永久在线观看免费| 婷婷色5月激情网| 亚洲激情综| 99只有精品| 日日日天天干| 婷婷她六月天| 婷婷五月欧美AA片免费| www.国产色| 亭亭五月激情亚洲在线| wWwCom夜操wwW| 久久您您综合网| 五月激情婷婷综合| 热99这里只有精品视频| 激情五婷网| 综合福利网| 91要啪| 夜夜操天天爽| 五月丁香婷婷无码中文| 色色色色区| 99视频只有精品| 天天做天天爱| 只有久久精品免费| 五月丁香婷婷综合在线| 操逼巨乳91| 中文字幕乱码亚洲精品一区| 成人 在线 日韩| 国产婷婷五月天| 精品国产va久久久久| 超碰免费观看| 少妇被躁爽到高潮无码文| 成人av在线网址| 99色视频免费在线规看| 开心深爱五月天| 大香蕉99| 五月天婷婷涩涩| 丰滿爆乳一区二区三区| 国产99久久久国产精品免费看| 色九月婷婷丁香| 婷激情五月| 在线区区区| 色婷婷综合久久久久| 九九视频在线观看视频在线播放69| 日日影院 | 丁香六月欧美| 91在线日| 日韩啪| 久久丁香五月天| 婷婷网五月| 天天日日天天| 久久国产性爱A V| 色999亚洲人成色| 丁香五月91| www.五月天色色色| 狠狠色婷婷7777久综合| 五月天婷婷涩涩| 国内久久婷婷| 91久久18| wWW九九在线播放| 在线看av| 日本久久超碰| www.97碰碰com| 98永久精品| 99热欧美精品| 99操逼视频| 青青草原亚洲天堂| 婷婷综合网站| 五月天日日操夜夜操 | 91互操| 99乱视频| 色婷婷在线播放| 五月丁香婷中文| 久久久91| 97色色网| 国产熟妇乱子伦hd| 久草免费福利视频| www.91婷婷| 激情综合在线观看| 99综合免费视频| 五月天婷婷色五月天| 都市激情蜜桃婷婷五月天| 69婷婷丁香午夜| www.激情五月天com| 99这里是精品| 婷婷综合一二三| 色综合久久44| 久久五月视频| 欲色人妻| 五月丁香花激情综合网| 九九99在线观看视频| 天天日日天天| 丁香五月六月婷婷怡红院| 六月色婷婷欧美| 五月丁查人人| 久久丁香五月天| 九九无码| 综合久久十| 久人操| 玖玖在线资源视频| 色综合久久伊伊婷婷五月| 337午夜福利| 激情五月婷婷| www.激情| 97久操视频| 99久久a线观| 97婷婷五月天| 26UUU欧美| 亚洲狠狠丁香婷婷香蕉| 大香蕉中文| 六月丁香激情最新更新| 五月天com| 天天做天天爱| 91热久| 99re熱| 日韩欧美骚货| 五月天婷婷av| 天天日日| 激情五月天在线观看色婷婷| 五月天激情AV| 99久久婷| 色婷婷亚洲综合网站| 九九操操| 色五月婷婷五月天激情综合| www.色99| 激情五月综合第一页| sisi热国产| 另类 在线| 91无码色色| 91在线日| 亚洲视频99| 日本操B视频在线观看| 国产综合视频婷婷| 婷婷六月五月天综合| 99免费| 免费AV在线网址| 夜夜爽日日躁| 色丁香五月| 停停综合色色| 五月激情网络| 欧洲第一无人区观看| 欧美在线视频9| 26uuu亚洲色| 久久久婷婷婷| 骚五月婷婷| 999热在线视频| 五月丁香激情综合网| www.久久久久久| 五月香六月婷| 99免费超碰在线| 五月天天天综合| 婷婷婷婷婷开心无码播放| 国产毛片精品一区二区色欲黄A片| 思思久久久婷婷| 中文字幕丰满乱孑伦无码专区| 激情爱爱网站超大免费| 99操不停| 综合性爱网| 99免费| 91在线人| 婷婷六月五月天综合| 欧美日本日韩| 婷婷六月综合在线| 久久精品99国产精品日本| 丁香五月激情婷婷视频| 婷婷五月天色色| 91碰碰视频| 激情五月天开心| 婷婷五月激情综合啪啪| 开心激情网在线| 99热在线观看成人| 婷婷丁香综合成人| 91碰免费视频| 996er热| 久久免费高| 五月激情丁香| 久久久噜噜噜操操操| 日本激情综合| www.久久婷婷| 欧洲亚洲午夜| 色欲婷婷五月天| 人人爱操| 婷婷五月激情热播| 婷婷久久网| 婷婷九月激情网| 欧美槡BBBB槡BBB少妇| 五月婷婷m| 五月婷婷亚洲天堂97色婷婷| 丁香五月激情图片| 91超级碰人人操| 婷婷丁香五月婷婷| 性视频久久| 久久激情五月婷婷| 欧美成人热| 五月婷婷 激情按摩| 婷婷开心六月| 色九九综合热99| 99爱精品| 五月丁香色婷婷综合| 大香蕉懂9| 综合一区二区三区| 九九99免费理论| 亚洲激情综| eeuss人妻| 97超碰免费超级在线观看| 久狠日av| 欧美激情综合| 成人超碰网| 丁香五月婷婷日本| 99精品自拍| 极品少妇高潮啪啪AV无码| 五月激情网综合| 激情九月天天天天婷婷| 色综合久久五月天| 婷婷五月四狠狠| 日本一级淫| 99看片| 四月婷婷五月色综合 | 9色小视频在线观看| 夜色综合网| 五月丁香爱婷婷深深| 1024欧美看片| 激情综合色网| 99爱在线观看视频| 久久久人妻久久久| 啪啪五月婷婷| 26uuu国产| 久9久9久9久9久9久9| 日日躁夜夜躁狠狠久久AV | 天天草狠狠擦| 香蕉久久六月| 免费观看全黄做爰的视频 | 激情五月com| 日韩另类在线观看| 丰滿爆乳一区二区三区| 久久99网站| 婷婷激情五月天小说校园| 婷婷五月电影院| 99国产精品白浆在线观看免费 | 秋霞影音91人妻久久| 伊久久婷婷| 久久九九99视频| 小视频久久久aaa| ji'qi'luan'ren'lun| 五月天激情黄色小说在线观看| 综合另类激情| 亚洲色五月| 久久久久亚洲AV成人无码电影| 另类激情五月| WWW,五月天| 久xxxx| www.91五月| 五月天成人综合| 99热久久这里只有精品| 91精品国产99久久久久久天美| 熟女色色一区二区| 99热99色| 五夜婷婷| www热久久yy9| 五月天堂六月丁香亚州中文字幕久久 | 丁香社区婷婷五月| WWW.激情| 婷婷中文无码| 久久图色4| 99久久婷婷五月| 不卡在线中文字幕无| 99免费在线视频| 久综合| 久久久久亚洲AV无码网影音先锋| 色亚洲欧洲| AAA亚洲AV| 激情五月网站| 激情五月婷婷欧美极品| 久久婷婷五月综合97色一本| 久久久.COM| 伊人狠狠色婷婷综合丁香一区| 五月伊人网| 干一干xxxx| 婷婷久久色| 成人丁香五月| 深爱激情婷| 五月伊人婷婷| 天天操天天操综合| 狠狠狠狠免费| 五月视频日本免费观看| anquye伊人| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 欧美大肥婆大肥BBBBB| 这里只有精彩视频| 色婷婷色99国产综合精品| 小视频aaa久久久| 亚洲第一色色色色| 夜夜爽日日躁| 五月丁香好婷婷A片网| 丁香六月视频| 激情五月婷婷开心网| 激情五月婷婷| 久久九九热re6这里有精品| 在线观看免费人成视频无码| 97人人干| 51国精产品自偷自偷综合 | 九热精品| 国产免费一区二区在线A片视频| 色婷婷六月| 色播五月网| 色五月av| Caoub青青超碰 | 麻豆WWWCOM内射软件| 五月天色图| 日本强伦片中文字幕免费看| 日逼影音先锋男人AV资源站| 婷婷五月激情欧美大胆视频| 久久性都花花世界成人免费视频| 亚洲成人av在线观看| 欧美人人女女精品综合五月天| 久久久久8888| 六月丁香花婷婷| 色婷婷五月天小说网| 日屌日日操日日色| 99亚洲视频| 超碰三级片| 狠狠五月激情丁香六月| 成人国产欧美大片一区| 超碰色碰碰| 成人Av在线大片| 九九这里只有精品在线视频| 久久人人人人妻| 久久这里有精品| 久久香蕉网| 思思re最新视频| 丁香五月综合首页| 婷婷放心五日爱| 丁香婷婷伊人| 秋霞AV淫| 色狠狠色噜噜AV天堂五区| 99热欲| 色色吧综合| 婷婷基地五月色| 五月丁香激情综合啪啪| 欧洲色色| www.无码com| www。狠狠干。com| 免费观看大片视频 丁香婷婷 六月欧美| 色九九综合| 五月婷婷香蕉| 九九RE视频在线精品| 婷婷五月天论坛| 天天干天天干天天干天天干天天干| 99视频内射三四| 琪琪色网在线| 在线婷婷| 色狠狠综合入口| 涩涩涩五月天| 婷婷色狠狠| 久久激情综合| www.激情| 日本eVa一区=区视频| 六月婷综合| 4399在线观看免费高清电视剧| 婷婷五月激情天| 天天做天天爱天天爽| 五月婷婷很很色| av中文在线| 五月天伊人网| 黄桃AV无码免费一区二区三区| 亚洲中文AV网站| 五月婷婷之六月丁香| 婷婷久久大香蕉| 国产女人十八水真多1| 亚洲天堂爱爱| 99九九视频| 99视频这里有精品| 日韩成人电影AV| 99色在线观看视频| 91/九色黑人| 婷婷五月天天| 久久九九免费视频| 五月天久久91| 91精品激情9| 国产超碰在线| 午夜丁香综合婷婷| 日韩精品一区二区刘| 五月丁香网视频| 91碰超| 婷婷久久18| 丁香婷婷中文字幕| 99精品国产在热久久| 91日韩在线| 色色色婷婷五月| 射区导航| 丁香色婷婷五月天| 真实的国产乱XXXX在线91| 亚洲mm色| 中字幕视频在线永久在线观看免费 | 99ri在线观看视频| 99热销国产这里有精品| 日日色综合| 久久国产高清| 五月天开心婷婷激情网站 | 午夜丁香六月婷| 天天插天天插天天插天天插| 精品9久| 五月婷婷九| 色色欧美色色色| 亚洲日韩26uuu| 99热免| 丁香五月婷婷六月婷婷| 精品婷婷| 伊人网欧美在线男人天堂五月丁香 | 五月天色婷婷av| 熟妇无码乱子成人精品| 婷婷美女精品视频| 国产毛片精品一区二区色欲黄A片| 射琪琪| 天天综合五月天| 九九热超碰| 色综合天天| 99亚洲综合| 91干婷婷| 九九无码视屏| 伊人超碰在线| 丁香五月婷婷动漫视频| 婷婷视频在线碰| 久久黄色片| 99热只有精品在线| 直接看的AV| 亚洲婷婷五月草久| 色婷婷伊人激情在线观看| 久久人妻伊人| 97干在线观看| 在线不卡视频| ri电影在线| 69人人操人人爽| 五月丁香亭亭天天舔| 久久五月天丁香花| 激情文学久久| 丁香久色| 亚洲mm免费| 国产VA亚洲VA96| 亚洲色图五月丁香| 婷婷五月成人色综合| 狠狠综合网| 五月天激情小说婷婷基地| 欧美婷婷综合| av久热| 色婷婷综合网| 五月激情丁香啪啪| 五月天播播中文字幕 | 五月丁香91| 色婷婷视频| 日本A片一区| 久操激情| 丁香五月综合福利视频导航| 人人操婷婷| 色综合丁香| 婷婷五月色播网| 婷婷中文综合网| 亚洲色婷婷五月| 三级三久久线久久99久目本WW| 狠狠色丁香乆乆| 97久久草草超级碰碰碰| 丁香五月天在线直播观看| 九九综舍久久| 国产精品99久久久久久久女警| av性爱网站| 91久久| 99欧美热| 一起草AV| 婷婷基地成人五月天| 激情国产五月| 丁香婷婷基地| 激情五月婷婷综合色播小说| 日本三级中文字幕| 任你草| 色婷婷日本| 99久久66| 激情久久 婷婷| 超碰av在线| 无码毛片992367| 九九99免费理论| 婷婷丁香五月社区亚洲| 日韩欧美一级大黄网站| 久久538| 欧美视频在线观看噜噜| 色综合色五月| 在线看黄色| 日本人人超碰| 一起草性爱不卡视频| 婷婷色片| 一本综合丁香日日狠狠色| 2015超碰| 92久操视频| 久久一级AV| 51国精产品自偷自偷综合| 玖玖资源天天无码| 五月婷婷伦理| 人人看人人97| 九九精品系列| 色综合视频在线| 99啪啪视频| 亚洲人人操| 99精品22| 国精产品一区二区三区| 蜜臀av无码久久久久久久久 | 天天干,噜噜色,狠狠色| 77799热| 亚洲综合在线视频| 精品综合爱| Www.Av网9| 5月丁香综合图区| 亚洲乱码日产精品BD| 婷婷色婷婷| 九九精品热| 99热91| 久久综合爱| 色亭亭九月| 熟女强人妻一区二区三区四区无| 婷婷丁香五月综合| 99啪啪| 99热这里只有精品16| 日韩久热| 五月天综合激情网| 日日夜夜天天| 婷婷五月天六月丁香| 日日爽日日| www.国产色| 国产五月天欧美色| 丁香五月天在线| 国产色99| 丁香狠狠色婷婷久久无码视频| 99re热视频| 亚洲成色综合网站免费观看| 午夜色色色极品视频| 天天看A片| www色五月| 99操逼| 五月天开心成人网| 天天做天天爰天天爽天天无遮挡| 99热这里只有精品手机在线观看| 日日鲁鲁夜夜爽爽| 久久久区区一久久久久久| 婷婷丁香五月,狠狠综合| 五月天国产婷婷精品视频在线| 激情深爱五月| 欧美日韓成人亚洲精品另类| 高清无码中文字幕aVDV| 热成人网| 2020日日干| 超碰在线人妻| 开心五月天激情网| 开心色色五月天综合| 国产99久9在线+|+传媒| 超碰天堂网| 99色免费| 丁香五月综合首页| 婷婷五月激情图片| 人妻爽爽爽久久久久久久久| ...婷婷国产成人亚洲日韩| 日韩AV色色色| 五月激情影视| 亚洲五月停停| 日本片日本片祼观看网站在线看中文版网页在线看 | 婷婷五月天.com| 色婷婷丁香五月天在线视频| 亚洲综合激情五月| 丁香五月最新地址| 六月丁香五月婷婷| www.婷婷激情网.com| 亚洲免费电影2| 热99国产精品| 色色亚卅| 97资源碰碰| 性做爰A片免费视频A片直播| 日韩中文字幕| 六月丁香婷婷综合狠狠爱夜夜爱| 26uuu欧美日韩| 五月天婷婷中文字幕在线播放| 丁香五月成人网| 激情久久丁香| 五月天色综合| 91热视频| 国产成人av在线| 欧洲亚洲免费视频区| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ| 欧美大肥婆大肥BBBBB| 色噜久| 婷婷久久爱| 丁香五月激情宗合网| 天天干天天干天天干天天干天天| 五月综合色| 97精品人人A片免费看| 99re免费视频| 五月伊人综合| 婷婷五月六| 婷婷色中文字幕| 91美女啪啪| 人人干天天舔| 五月丁香啪啪啪| 国产做A爰片毛片A片美国| 天天干在线播放| 五月天婷婷基地丁香| 99视频在线精品免费观看2| 一级黄色影片| 婷婷大乡焦噜噜| 91五月天| 色婷婷综合亚洲| 综合久久婷婷| 久久综合丁香| 九九色视频| 色婷婷电影网| 91超级碰在线| 丁香五月av在线| 中文字幕日产A片在线看| 婷婷五月天AV在线| 天天日婷婷| 大地9中文在线观看免费高清| 亚洲视频国产一区| 这里只有精品网| 极品少妇高潮啪啪AV无码| 《久久综合九色综合97婷婷| 色五月开心开心五月激情五月| 天天婷婷色六月| 色香蕉婷婷| 六月婷婷视频| 二色av| 丁香五月首页| 九九热在线观看视频| 色99xx| 激情五月天网页| 色啪网| 五月婷婷基地| 九九激情综合| 久久婷婷五月综合成人d啪| 狠狠色噜噜| 丁香九月激情在线视频| 欧美黑人巨大猛烈cuckold| 激情五月综合网| 色婷婷五月天中文字幕| 丁香五月六月综合欧美| 色婷婷av综合网| 99免费视频精品| 国外亚洲成AV人片在线观看| 亚洲艹网| 婷婷精品| 色综合色综合婷婷热| 啪啪亚洲综合| 亚洲超碰中文字幕| 国产精品久久久60086| 免费91久久精品| 99热乎| 免费看欧美成人A片无码| 玖玖在线资源视频|