中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

提供營銷型網(wǎng)站鄭州營銷型網(wǎng)站建設

提供營銷型網(wǎng)站,鄭州營銷型網(wǎng)站建設,項目網(wǎng)評ppt,wordpress激活碼注冊《博主簡介》 小伙伴們好,我是阿旭。專注于人工智能、AIGC、python、計算機視覺相關(guān)分享研究。 ?更多學習資源,可關(guān)注公-仲-hao:【阿旭算法與機器學習】,共同學習交流~ 👍感謝小伙伴們點贊、關(guān)注! 《------往期經(jīng)典推…

《博主簡介》

小伙伴們好,我是阿旭。專注于人工智能、AIGC、python、計算機視覺相關(guān)分享研究。
?更多學習資源,可關(guān)注公-仲-hao:【阿旭算法與機器學習】,共同學習交流~
👍感謝小伙伴們點贊、關(guān)注!

《------往期經(jīng)典推薦------》

一、AI應用軟件開發(fā)實戰(zhàn)專欄【鏈接】

項目名稱項目名稱
1.【人臉識別與管理系統(tǒng)開發(fā)】2.【車牌識別與自動收費管理系統(tǒng)開發(fā)】
3.【手勢識別系統(tǒng)開發(fā)】4.【人臉面部活體檢測系統(tǒng)開發(fā)】
5.【圖片風格快速遷移軟件開發(fā)】6.【人臉表表情識別系統(tǒng)】
7.【YOLOv8多目標識別與自動標注軟件開發(fā)】8.【基于YOLOv8深度學習的行人跌倒檢測系統(tǒng)】
9.【基于YOLOv8深度學習的PCB板缺陷檢測系統(tǒng)】10.【基于YOLOv8深度學習的生活垃圾分類目標檢測系統(tǒng)】
11.【基于YOLOv8深度學習的安全帽目標檢測系統(tǒng)】12.【基于YOLOv8深度學習的120種犬類檢測與識別系統(tǒng)】
13.【基于YOLOv8深度學習的路面坑洞檢測系統(tǒng)】14.【基于YOLOv8深度學習的火焰煙霧檢測系統(tǒng)】
15.【基于YOLOv8深度學習的鋼材表面缺陷檢測系統(tǒng)】16.【基于YOLOv8深度學習的艦船目標分類檢測系統(tǒng)】
17.【基于YOLOv8深度學習的西紅柿成熟度檢測系統(tǒng)】18.【基于YOLOv8深度學習的血細胞檢測與計數(shù)系統(tǒng)】
19.【基于YOLOv8深度學習的吸煙/抽煙行為檢測系統(tǒng)】20.【基于YOLOv8深度學習的水稻害蟲檢測與識別系統(tǒng)】
21.【基于YOLOv8深度學習的高精度車輛行人檢測與計數(shù)系統(tǒng)】22.【基于YOLOv8深度學習的路面標志線檢測與識別系統(tǒng)】
23.【基于YOLOv8深度學習的智能小麥害蟲檢測識別系統(tǒng)】24.【基于YOLOv8深度學習的智能玉米害蟲檢測識別系統(tǒng)】
25.【基于YOLOv8深度學習的200種鳥類智能檢測與識別系統(tǒng)】26.【基于YOLOv8深度學習的45種交通標志智能檢測與識別系統(tǒng)】
27.【基于YOLOv8深度學習的人臉面部表情識別系統(tǒng)】28.【基于YOLOv8深度學習的蘋果葉片病害智能診斷系統(tǒng)】
29.【基于YOLOv8深度學習的智能肺炎診斷系統(tǒng)】30.【基于YOLOv8深度學習的葡萄簇目標檢測系統(tǒng)】
31.【基于YOLOv8深度學習的100種中草藥智能識別系統(tǒng)】32.【基于YOLOv8深度學習的102種花卉智能識別系統(tǒng)】
33.【基于YOLOv8深度學習的100種蝴蝶智能識別系統(tǒng)】34.【基于YOLOv8深度學習的水稻葉片病害智能診斷系統(tǒng)】
35.【基于YOLOv8與ByteTrack的車輛行人多目標檢測與追蹤系統(tǒng)】36.【基于YOLOv8深度學習的智能草莓病害檢測與分割系統(tǒng)】
37.【基于YOLOv8深度學習的復雜場景下船舶目標檢測系統(tǒng)】38.【基于YOLOv8深度學習的農(nóng)作物幼苗與雜草檢測系統(tǒng)】
39.【基于YOLOv8深度學習的智能道路裂縫檢測與分析系統(tǒng)】40.【基于YOLOv8深度學習的葡萄病害智能診斷與防治系統(tǒng)】
41.【基于YOLOv8深度學習的遙感地理空間物體檢測系統(tǒng)】42.【基于YOLOv8深度學習的無人機視角地面物體檢測系統(tǒng)】
43.【基于YOLOv8深度學習的木薯病害智能診斷與防治系統(tǒng)】44.【基于YOLOv8深度學習的野外火焰煙霧檢測系統(tǒng)】
45.【基于YOLOv8深度學習的腦腫瘤智能檢測系統(tǒng)】46.【基于YOLOv8深度學習的玉米葉片病害智能診斷與防治系統(tǒng)】
47.【基于YOLOv8深度學習的橙子病害智能診斷與防治系統(tǒng)】48.【基于深度學習的車輛檢測追蹤與流量計數(shù)系統(tǒng)】
49.【基于深度學習的行人檢測追蹤與雙向流量計數(shù)系統(tǒng)】50.【基于深度學習的反光衣檢測與預警系統(tǒng)】
51.【基于深度學習的危險區(qū)域人員闖入檢測與報警系統(tǒng)】52.【基于深度學習的高密度人臉智能檢測與統(tǒng)計系統(tǒng)】
53.【基于深度學習的CT掃描圖像腎結(jié)石智能檢測系統(tǒng)】54.【基于深度學習的水果智能檢測系統(tǒng)】
55.【基于深度學習的水果質(zhì)量好壞智能檢測系統(tǒng)】56.【基于深度學習的蔬菜目標檢測與識別系統(tǒng)】
57.【基于深度學習的非機動車駕駛員頭盔檢測系統(tǒng)】58.【太基于深度學習的陽能電池板檢測與分析系統(tǒng)】
59.【基于深度學習的工業(yè)螺栓螺母檢測】60.【基于深度學習的金屬焊縫缺陷檢測系統(tǒng)】
61.【基于深度學習的鏈條缺陷檢測與識別系統(tǒng)】62.【基于深度學習的交通信號燈檢測識別】
63.【基于深度學習的草莓成熟度檢測與識別系統(tǒng)】64.【基于深度學習的水下海生物檢測識別系統(tǒng)】

二、機器學習實戰(zhàn)專欄【鏈接】,已更新31期,歡迎關(guān)注,持續(xù)更新中~~
三、深度學習【Pytorch】專欄【鏈接】
四、【Stable Diffusion繪畫系列】專欄【鏈接】
五、YOLOv8改進專欄【鏈接】持續(xù)更新中~~
六、YOLO性能對比專欄【鏈接】,持續(xù)更新中~

《------正文------》

基本功能演示

基于YOLO11/v10/v8/v5深度學習的安檢X光危險品檢測與識別系統(tǒng)設計與實現(xiàn)【python源碼+Pyqt5界面+數(shù)據(jù)集+訓練代碼】

摘要:安檢X光危險品檢測與識別系統(tǒng)在維護公共安全、預防恐怖襲擊等方面具有重要意義。該系統(tǒng)能夠?qū)崟r識別并定位危險品,有效提高安檢效率,確保人民群眾生命財產(chǎn)安全。本文基于YOLOv11/v10/v8/v5的深度學習框架,通過8312安檢X光危險品的相關(guān)圖片,訓練了可進行安檢X光危險品目標檢測的模型,可以分別檢測5種類別:['槍','刀','鉗子','剪刀','扳手'],同時全面對比分析了YOLOv5n、YOLOv8n、YOLOv10n、YOLO11這4種模型在驗證集上的評估性能表現(xiàn)。最終基于訓練好的模型制作了一款帶UI界面的安檢X光危險品檢測與識別系統(tǒng),更便于進行功能的展示。該系統(tǒng)是基于pythonPyQT5開發(fā)的,支持圖片視頻以及攝像頭進行目標檢測,并保存檢測結(jié)果。本文提供了完整的Python代碼和使用教程,給感興趣的小伙伴參考學習,完整的代碼資源文件獲取方式見文末

文章目錄

  • 基本功能演示
  • 研究背景
  • 主要工作內(nèi)容
  • 一、軟件核心功能介紹及效果演示
    • 軟件主要功能
    • 界面參數(shù)設置說明
    • 檢測結(jié)果說明
    • 主要功能說明
    • (1)圖片檢測說明
    • (2)視頻檢測說明
    • (3)攝像頭檢測說明
    • (4)保存圖片與視頻檢測說明
  • 二、YOLOv5/v8/v10/11簡介
    • YOLOv5簡介
    • YOLOv8簡介
    • YOLOv10介紹
    • YOLO11簡介
  • 二、模型訓練、評估與推理
    • 1. 數(shù)據(jù)集準備與訓練
    • 2.模型訓練
    • 3. 訓練結(jié)果評估
    • 4. 使用模型進行推理
  • 三、YOLOv5/v8/v10/11性能對比分析
    • 1.常用評估參數(shù)介紹
    • 2. 模型訓練過程對比
    • 3.各模型性能評估
    • 4.模型總體性能對比
    • 6.性能對比總結(jié)
  • 四、可視化系統(tǒng)制作
    • Pyqt5簡介
      • 1. 基本架構(gòu)
      • 2. 事件驅(qū)動編程
      • 3. Qt 對象模型
      • 4. 部件(Widgets)
      • 5. 布局管理
      • 6. 資源管理
      • 7. 信號與槽機制
      • 8. 跨平臺性
    • 系統(tǒng)制作
  • 【獲取方式】

點擊跳轉(zhuǎn)至文末《完整相關(guān)文件及源碼》獲取


研究背景

安檢X光危險品檢測與識別系統(tǒng)的重要性與意義在于它為公共安全提供了強有力的技術(shù)支持,通過高效識別潛在威脅物品,它能夠預防犯罪行為和恐怖襲擊,保障人民的生命財產(chǎn)安全,同時提升安檢工作的準確性和效率。

以下是安檢X光危險品檢測與識別系統(tǒng)的應用場景:
機場安全檢查:系統(tǒng)可自動識別旅客行李中的槍支、刀具等危險品,確保航班安全。
火車站與地鐵站安檢:在人流密集的公共交通站點,系統(tǒng)有助于快速識別危險品,保障乘客安全。
快遞物流安檢:系統(tǒng)可以自動檢測包裹中的違禁物品,防止危險品通過物流渠道傳播。
政府機關(guān)和重要設施安檢:在政府大樓、大使館、核電站等重要場所,系統(tǒng)用于防止危險品帶入,維護場所安全。
大型活動安檢:如體育賽事、音樂會、展覽等,系統(tǒng)可以提高安檢速度,減少排隊時間,同時確?;顒影踩?。
商業(yè)樓宇安全檢查:在寫字樓、商場等商業(yè)環(huán)境中,系統(tǒng)可用于日常安檢,預防安全事件發(fā)生。

總的來說,安檢X光危險品檢測與識別系統(tǒng)是一項關(guān)鍵的技術(shù)創(chuàng)新,它在多個關(guān)鍵領(lǐng)域發(fā)揮著不可或缺的作用。通過實時監(jiān)測和精準識別,該系統(tǒng)不僅提高了安檢的效率和準確性,還顯著增強了公共安全保障能力,為社會的和諧穩(wěn)定提供了有力支撐。

主要工作內(nèi)容

本文的主要內(nèi)容包括以下幾個方面:

  1. 搜集與整理數(shù)據(jù)集:搜集整理實際場景中安檢X光危險品的相關(guān)數(shù)據(jù)圖片,并進行相應的數(shù)據(jù)處理,為模型訓練提供訓練數(shù)據(jù)集;
  2. 訓練模型:基于整理的數(shù)據(jù)集,根據(jù)最前沿的YOLOv11/v10/v8/v5目標檢測技術(shù)訓練目標檢測模型,實現(xiàn)對需要檢測的對象進行實時檢測功能;
  3. 模型性能對比:對訓練出的4種模型在驗證集上進行了充分的結(jié)果評估和對比分析,主要目的是為了揭示每個模型在關(guān)鍵指標(如Precision、Recall、mAP50和mAP50-95等指標)上的優(yōu)劣勢。這不僅幫助我們在實際應用中選擇最適合特定需求的模型,還能夠指導后續(xù)模型優(yōu)化和調(diào)優(yōu)工作,以期獲得更高的檢測準確率和速度。最終,通過這種系統(tǒng)化的對比和分析,我們能更好地理解模型的魯棒性、泛化能力以及在不同類別上的檢測表現(xiàn),為開發(fā)更高效的計算機視覺系統(tǒng)提供堅實的基礎。
  4. 可視化系統(tǒng)制作:基于訓練出的目標檢測模型,搭配Pyqt5制作的UI界面,用python開發(fā)了一款界面簡潔的安檢X光危險品檢測與識別系統(tǒng),可支持圖片、視頻以及攝像頭檢測,同時可以將圖片或者視頻檢測結(jié)果進行保存。其目的是為檢測系統(tǒng)提供一個用戶友好的操作平臺,使用戶能夠便捷、高效地進行檢測任務。

軟件初始界面如下圖所示:
在這里插入圖片描述

檢測結(jié)果界面如下:
在這里插入圖片描述

一、軟件核心功能介紹及效果演示

軟件主要功能

1. 可用于安檢X光危險品檢測與識別,分為5個檢測類別:['槍','刀','鉗子','剪刀','扳手'];
2. 支持圖片、視頻及攝像頭進行檢測,同時支持圖片的批量檢測
3. 界面可實時顯示目標位置、目標總數(shù)、置信度、用時等信息;
4. 支持圖片或者視頻檢測結(jié)果保存
5. 支持將圖片的檢測結(jié)果保存為csv文件;

界面參數(shù)設置說明

在這里插入圖片描述
置信度閾值:也就是目標檢測時的conf參數(shù),只有檢測出的目標框置信度大于該值,結(jié)果才會顯示;
交并比閾值:也就是目標檢測時的iou參數(shù),對檢測框重疊比例iou大于該閾值的目標框進行過濾【也就是說假如兩檢測框iou大于該值的話,會過濾掉其中一個,該值越小,重疊框會越少】;

檢測結(jié)果說明

在這里插入圖片描述

顯示標簽名稱與置信度:表示是否在檢測圖片上標簽名稱與置信度,顯示默認勾選,如果不勾選則不會在檢測圖片上顯示標簽名稱與置信度;
總目標數(shù):表示畫面中檢測出的目標數(shù)目;
目標選擇:可選擇單個目標進行位置信息、置信度查看。
目標位置:表示所選擇目標的檢測框,左上角與右下角的坐標位置。默認顯示的是置信度最大的一個目標信息;

主要功能說明

功能視頻演示見文章開頭,以下是簡要的操作描述。

(1)圖片檢測說明

點擊打開圖片按鈕,選擇需要檢測的圖片,或者點擊打開文件夾按鈕,選擇需要批量檢測圖片所在的文件夾,操作演示如下:
點擊目標下拉框后,可以選定指定目標的結(jié)果信息進行顯示。
點擊保存按鈕,會對檢測結(jié)果進行保存,存儲路徑為:save_data目錄下,同時會將圖片檢測信息保存csv文件
注:1.右側(cè)目標位置默認顯示置信度最大一個目標位置,可用下拉框進行目標切換。所有檢測結(jié)果均在左下方表格中顯示。

(2)視頻檢測說明

點擊視頻按鈕,打開選擇需要檢測的視頻,就會自動顯示檢測結(jié)果,再次點擊可以關(guān)閉視頻。
點擊保存按鈕,會對視頻檢測結(jié)果進行保存,存儲路徑為:save_data目錄下。

(3)攝像頭檢測說明

點擊打開攝像頭按鈕,可以打開攝像頭,可以實時進行檢測,再次點擊,可關(guān)閉攝像頭。

(4)保存圖片與視頻檢測說明

點擊保存按鈕后,會將當前選擇的圖片【含批量圖片】或者視頻的檢測結(jié)果進行保存,對于圖片圖片檢測還會保存檢測結(jié)果為csv文件,方便進行查看與后續(xù)使用。檢測的圖片與視頻結(jié)果會存儲在save_data目錄下。
注:暫不支持視頻文件的檢測結(jié)果保存為csv文件格式。

保存的檢測結(jié)果文件如下:
在這里插入圖片描述

圖片文件保存的csv文件內(nèi)容如下,包括圖片路徑、目標在圖片中的編號、目標類別、置信度、目標坐標位置。
注:其中坐標位置是代表檢測框的左上角與右下角兩個點的x、y坐標。
在這里插入圖片描述

二、YOLOv5/v8/v10/11簡介

YOLO(You Only Look Once)是一種流行的計算機視覺算法,用于實現(xiàn)實時對象檢測。它由Joseph Redmon等人首次在2015年提出,并隨后進行了多次改進。YOLO的核心思想是將整個圖像劃分為一個固定數(shù)量的格子(grid cells),然后在每個格子內(nèi)同時預測多個邊界框(bounding boxes)和類別概率。

YOLOv5、YOLOv8、YOLOv10是YOLO系列中最經(jīng)典且常用的3個系列版本,他們均是基于先前YOLO版本在目標檢測任務上的成功,對模型結(jié)構(gòu)進行不斷地優(yōu)化改進,從而不斷提升了性能和靈活性,在精度和速度方面都具有尖端性能。下面對這3個系列的模型進行簡要介紹。

YOLOv5簡介

源碼地址:https://github.com/ultralytics/yolov5

YOLOv5算法是目前應用最廣泛的目標檢測算法之一,它基于深度學習技術(shù),在卷積神經(jīng)網(wǎng)絡的基礎上加入了特征金字塔網(wǎng)絡和SPP結(jié)構(gòu)等模塊,從而實現(xiàn)了高精度和快速檢測速度的平衡。

基本網(wǎng)絡結(jié)構(gòu)如下:
在這里插入圖片描述
YOLOV5有YOLOv5n, YOLOv5s、YOLOv5m、YOLOv51、YOLOv5x五個版本。這幾個模型的結(jié)構(gòu)基本一樣,不同的是depth_multiple模型深度和width_multiple模型寬度這兩個參數(shù)。對應模型的深度與寬度因子,隨著因子值的增大,模型不斷加深、加寬。
在這里插入圖片描述

YOLOv5不同模型尺寸信息:
YOLOv5提供了5種不同大小的模型尺寸信息,以及在coco數(shù)據(jù)集上的性能表現(xiàn)如下:

模型尺寸 (像素)mAPval 50-95速度 CPU ONNX (毫秒)速度 A100 TensorRT (毫秒)params (M)FLOPs (B)
yolov5nu.pt64034.373.61.062.67.7
yolov5su.pt64043.0120.71.279.124.0
yolov5mu.pt64049.0233.91.8625.164.2
yolov5lu.pt64052.2408.42.5053.2135.0
yolov5xu.pt64053.2763.23.8197.2246.4

YOLOv5算法創(chuàng)新點:

  1. Anchor-free設計:傳統(tǒng)目標檢測算法中需要先確定物體位置并給出候選框,但yolov5采用了無錨設計方式,直接預測物體的位置和大小,從而避免了候選框?qū)z測性能的影響。
  2. 多尺度檢測:yolov5算法可以精確檢測到不同尺度、各種形狀和姿態(tài)的目標,具有很好的適應性。
  3. 目標定位精確:yolov5通過導出中心點坐標來實現(xiàn)目標的精準定位,并且在分類和回歸兩個方面都進行優(yōu)化,從而提高了目標檢測精度。
  4. 檢測速度快:采用高效計算方法,并利用GPU等硬件加速技術(shù),使得yolov5算法在保證高精度的同時,具有非常快的檢測速度。

YOLOv8簡介

源碼地址:https://github.com/ultralytics/ultralytics

Yolov8是一個SOTA模型,它建立在Yolo系列歷史版本的基礎上,并引入了新的功能和改進點,以進一步提升性能和靈活性,使其成為實現(xiàn)目標檢測、圖像分割、姿態(tài)估計等任務的最佳選擇。其具體創(chuàng)新點包括一個新的骨干網(wǎng)絡、一個新的Ancher-Free檢測頭和一個新的損失函數(shù),可在CPU到GPU的多種硬件平臺上運行。
在這里插入圖片描述
YOLOv8網(wǎng)絡結(jié)構(gòu)如下:
在這里插入圖片描述

YOLOv8創(chuàng)新點:

Yolov8主要借鑒了Yolov5、Yolov6、YoloX等模型的設計優(yōu)點,其本身創(chuàng)新點不多,偏重在工程實踐上,具體創(chuàng)新如下:

  • 提供了一個全新的SOTA模型(包括P5 640和P6 1280分辨率的目標檢測網(wǎng)絡和基于YOLACT的實例分割模型)。并且,基于縮放系數(shù)提供了N/S/M/L/X不同尺度的模型,以滿足不同部署平臺和應用場景的需求。
  • Backbone:同樣借鑒了CSP模塊思想,不過將Yolov5中的C3模塊替換成了C2f模塊,實現(xiàn)了進一步輕量化,同時沿用Yolov5中的SPPF模塊,并對不同尺度的模型進行精心微調(diào),不再是無腦式一套參數(shù)用于所有模型,大幅提升了模型性能。
  • Neck:繼續(xù)使用PAN的思想,但是通過對比YOLOv5與YOLOv8的結(jié)構(gòu)圖可以看到,YOLOv8移除了1*1降采樣層。
  • Head部分相比YOLOv5改動較大,Yolov8換成了目前主流的解耦頭結(jié)構(gòu)(Decoupled-Head),將分類和檢測頭分離,同時也從Anchor-Based換成了Anchor-Free。
  • Loss計算:使用VFL Loss作為分類損失(實際訓練中使用BCE Loss);使用DFL Loss+CIOU Loss作為回歸損失。
  • 標簽分配:Yolov8拋棄了以往的IoU分配或者單邊比例的分配方式,而是采用Task-Aligned Assigner正負樣本分配策略。

YOLOv8不同模型尺寸信息:
YOLOv8提供了5種不同大小的模型尺寸信息,詳情如下:

Modelsize (pixels)mAPval 50-95params (M)FLOPs (B)
YOLOv8n64037.33.28.7
YOLOv8s64044.911.228.6
YOLOv8m64050.225.978.9
YOLOv8l64052.943.7165.2
YOLOv8x64053.968.2257.8

一般來說,選擇模型大小的原則如下:
數(shù)據(jù)集小(幾百張圖片):使用yolov8n或yolov8s。過大模型會過擬合。
數(shù)據(jù)集中等(幾千張圖片):yolov8s或yolov8m。能獲得較高精度,不易過擬合。
數(shù)據(jù)集大(幾萬張圖片):yolov8l或yolov8x。模型容量大,充分擬合大數(shù)據(jù)量,能發(fā)揮模型效果。
超大數(shù)據(jù)集(幾十萬張以上):首選yolov8x。超大模型才能處理海量數(shù)據(jù)并取得最優(yōu)效果。

YOLOv10介紹

論文地址:https://arxiv.org/abs/2405.14458
源碼地址:https://github.com/THU-MIG/yolov10

在這里插入圖片描述
YOLOv10 的架構(gòu)建立在以前 YOLO 模型的優(yōu)勢之上,通過消除非最大抑制 (NMS) 和優(yōu)化各種模型組件, 實現(xiàn)了最先進的性能,并顯著降低了計算開銷。

模型網(wǎng)絡結(jié)構(gòu)由以下組件組成:
主干網(wǎng):YOLOv10 中的主干網(wǎng)負責特征提取,使用增強版的 CSPNet(Cross Stage Partial Network)來改善梯度流并減少計算冗余。
頸部:頸部被設計成聚合來自不同尺度的特征,并將它們傳遞到頭部。它包括 PAN(路徑聚合網(wǎng)絡)層,用于有效的多尺度特征融合。
一對多頭:在訓練過程中為每個對象生成多個預測,以提供豐富的監(jiān)督信號,提高學習準確性。
一對一頭:在推理過程中為每個對象生成一個最佳預測,消除對 NMS 的需求,從而減少延遲并提高效率。
YOLOv10創(chuàng)新點如下
無 NMS 訓練:利用一致的雙重分配來消除對 NMS 的需求,從而減少推理延遲。
整體模型設計:從效率和精度兩個角度對各種組件進行全面優(yōu)化,包括輕量級分類頭、空間通道解耦下采樣和秩引導塊設計。
增強的模型功能:整合大核卷積和部分自注意力模塊,可在不增加大量計算成本的情況下提高性能。

YOLOv10不同模型尺寸信息:

YOLOv10 提供6種不同的型號規(guī)模模型,以滿足不同的應用需求:

ModelInput SizeAPvalparams (M)FLOPs (G)
YOLOv10-N64038.52.76.7
YOLOv10-S64046.37.221.6
YOLOv10-M64051.115.459.1
YOLOv10-B64052.519.192.0
YOLOv10-L64053.224.4120.3
YOLOv10-X64054.429.5160.4

YOLOv10-N:Nano 版本,適用于資源極度受限的環(huán)境。
YOLOv10-S:平衡速度和精度的小型版本。
YOLOv10-M:通用的中型版本。
YOLOv10-B:平衡版本,寬度增加,精度更高。
YOLOv10-L:大版本,以增加計算資源為代價,實現(xiàn)更高的精度。
YOLOv10-X:超大版本,可實現(xiàn)最大的精度和性能。

YOLO11簡介

源碼地址:https://github.com/ultralytics/ultralytics

Ultralytics YOLO11是一款尖端的、最先進的模型,它在之前YOLO版本成功的基礎上進行了構(gòu)建,并引入了新功能和改進,以進一步提升性能和靈活性。YOLO11設計快速、準確且易于使用,使其成為各種物體檢測和跟蹤、實例分割、圖像分類以及姿態(tài)估計任務的絕佳選擇。
在這里插入圖片描述

YOLO11創(chuàng)新點如下:

YOLO 11主要改進包括:
增強的特征提取:YOLO 11采用了改進的骨干和頸部架構(gòu),增強了特征提取功能,以實現(xiàn)更精確的目標檢測。
優(yōu)化的效率和速度:優(yōu)化的架構(gòu)設計和優(yōu)化的訓練管道提供更快的處理速度,同時保持準確性和性能之間的平衡。
更高的精度,更少的參數(shù):YOLO11m在COCO數(shù)據(jù)集上實現(xiàn)了更高的平均精度(mAP),參數(shù)比YOLOv8m少22%,使其在不影響精度的情況下提高了計算效率。
跨環(huán)境的適應性:YOLO 11可以部署在各種環(huán)境中,包括邊緣設備、云平臺和支持NVIDIA GPU的系統(tǒng)。
廣泛的支持任務:YOLO 11支持各種計算機視覺任務,如對象檢測、實例分割、圖像分類、姿態(tài)估計和面向?qū)ο髾z測(OBB)。

YOLO11不同模型尺寸信息:

YOLO11 提供5種不同的型號規(guī)模模型,以滿足不同的應用需求:

Modelsize (pixels)mAPval 50-95Speed CPU ONNX (ms)Speed T4 TensorRT10 (ms)params (M)FLOPs (B)
YOLO11n64039.556.1 ± 0.81.5 ± 0.02.66.5
YOLO11s64047.090.0 ± 1.22.5 ± 0.09.421.5
YOLO11m64051.5183.2 ± 2.04.7 ± 0.120.168.0
YOLO11l64053.4238.6 ± 1.46.2 ± 0.125.386.9
YOLO11x64054.7462.8 ± 6.711.3 ± 0.256.9194.9

二、模型訓練、評估與推理

本文主要基于YOLOv5n、YOLOv8n、YOLOv10n、YOLO11n這4種模型進行模型的訓練,訓練完成后對4種模型在驗證集上的表現(xiàn)進行全面的性能評估及對比分析。模型訓練和評估流程基本一致,包括:數(shù)據(jù)集準備、模型訓練、模型評估。
下面主要以最新的YOLO11為例進行訓練過程的詳細講解,YOLOv5、YOLOv8與YOLOv10的訓練過程類似。

1. 數(shù)據(jù)集準備與訓練

通過網(wǎng)絡上搜集關(guān)于實際場景中安檢X光危險品的相關(guān)圖片,并使用Labelimg標注工具對每張圖片進行標注,分5個檢測類別,分別是['槍','刀','鉗子','剪刀','扳手']。

最終數(shù)據(jù)集一共包含8312張圖片,其中訓練集包含5819張圖片驗證集包含1662張圖片測試集包含831張圖片
部分圖像及標注如下圖所示:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

數(shù)據(jù)集各類別數(shù)目分布情況如下:
在這里插入圖片描述

2.模型訓練

準備好數(shù)據(jù)集后,將圖片數(shù)據(jù)以如下格式放置在項目目錄中。在項目目錄中新建datasets目錄,同時將檢測的圖片分為訓練集與驗證集放入Data目錄下。
在這里插入圖片描述

同時我們需要新建一個data.yaml文件,用于存儲訓練數(shù)據(jù)的路徑及模型需要進行檢測的類別。YOLOv8在進行模型訓練時,會讀取該文件的信息,用于進行模型的訓練與驗證。data.yaml的具體內(nèi)容如下:

train: D:\2MyCVProgram\2DetectProgram\XRayDangerousGoodsDetection_v11\datasets\Data\train
val: D:\2MyCVProgram\2DetectProgram\XRayDangerousGoodsDetection_v11\datasets\Data\valid
test: D:\2MyCVProgram\2DetectProgram\XRayDangerousGoodsDetection_v11\datasets\Data\testnc: 5
names: ['Gun', 'Knife', 'Pliers', 'Scissors', 'Wrench']

注:train與val后面表示需要訓練圖片的路徑,建議直接寫自己文件的絕對路徑。
數(shù)據(jù)準備完成后,通過調(diào)用train.py文件進行模型訓練,epochs參數(shù)用于調(diào)整訓練的輪數(shù),batch參數(shù)用于調(diào)整訓練的批次大小【根據(jù)內(nèi)存大小調(diào)整,最小為1】,optimizer設定的優(yōu)化器為SGD,訓練代碼如下:

#coding:utf-8
from ultralytics import YOLO
import matplotlib
matplotlib.use('TkAgg')# 模型配置文件
model_yaml_path = "ultralytics/cfg/models/11/yolo11.yaml"
#數(shù)據(jù)集配置文件
data_yaml_path = 'datasets/Data/data.yaml'
#預訓練模型
pre_model_name = 'yolo11n.pt'if __name__ == '__main__':#加載預訓練模型model = YOLO(model_yaml_path).load(pre_model_name)#訓練模型results = model.train(data=data_yaml_path,epochs=150,      # 訓練輪數(shù)batch=4,         # batch大小name='train_v11', # 保存結(jié)果的文件夾名稱optimizer='SGD') # 優(yōu)化器

模型常用訓練超參數(shù)參數(shù)說明:
YOLO11 模型的訓練設置包括訓練過程中使用的各種超參數(shù)和配置。這些設置會影響模型的性能、速度和準確性。關(guān)鍵的訓練設置包括批量大小、學習率、動量和權(quán)重衰減。此外,優(yōu)化器、損失函數(shù)和訓練數(shù)據(jù)集組成的選擇也會影響訓練過程。對這些設置進行仔細的調(diào)整和實驗對于優(yōu)化性能至關(guān)重要。
以下是一些常用的模型訓練參數(shù)和說明:

參數(shù)名默認值說明
modelNone指定用于訓練的模型文件。接受指向 .pt 預訓練模型或 .yaml 配置文件。對于定義模型結(jié)構(gòu)或初始化權(quán)重至關(guān)重要。
dataNone數(shù)據(jù)集配置文件的路徑(例如 coco8.yaml).該文件包含特定于數(shù)據(jù)集的參數(shù),包括訓練數(shù)據(jù)和驗證數(shù)據(jù)的路徑、類名和類數(shù)。
epochs100訓練總輪數(shù)。每個epoch代表對整個數(shù)據(jù)集進行一次完整的訓練。調(diào)整該值會影響訓練時間和模型性能。
patience100在驗證指標沒有改善的情況下,提前停止訓練所需的epoch數(shù)。當性能趨于平穩(wěn)時停止訓練,有助于防止過度擬合。
batch16批量大小,有三種模式:設置為整數(shù)(例如,’ Batch =16 ‘), 60% GPU內(nèi)存利用率的自動模式(’ Batch =-1 ‘),或指定利用率分數(shù)的自動模式(’ Batch =0.70 ')。
imgsz640用于訓練的目標圖像尺寸。所有圖像在輸入模型前都會被調(diào)整到這一尺寸。影響模型精度和計算復雜度。
deviceNone指定用于訓練的計算設備:單個 GPU (device=0)、多個 GPU (device=0,1)、CPU (device=cpu),或蘋果芯片的 MPS (device=mps).
workers8加載數(shù)據(jù)的工作線程數(shù)(每 RANK 多 GPU 訓練)。影響數(shù)據(jù)預處理和輸入模型的速度,尤其適用于多 GPU 設置。
nameNone訓練運行的名稱。用于在項目文件夾內(nèi)創(chuàng)建一個子目錄,用于存儲訓練日志和輸出結(jié)果。
pretrainedTrue決定是否從預處理模型開始訓練??梢允遣紶栔?#xff0c;也可以是加載權(quán)重的特定模型的字符串路徑。提高訓練效率和模型性能。
optimizer'auto'為訓練模型選擇優(yōu)化器。選項包括 SGD, Adam, AdamW, NAdam, RAdam, RMSProp 等,或 auto 用于根據(jù)模型配置進行自動選擇。影響收斂速度和穩(wěn)定性
lr00.01初始學習率(即 SGD=1E-2, Adam=1E-3) .調(diào)整這個值對優(yōu)化過程至關(guān)重要,會影響模型權(quán)重的更新速度。
lrf0.01最終學習率占初始學習率的百分比 = (lr0 * lrf),與調(diào)度程序結(jié)合使用,隨著時間的推移調(diào)整學習率。

3. 訓練結(jié)果評估

在深度學習中,我們通常用損失函數(shù)下降的曲線來觀察模型訓練的情況。YOLOv8在訓練時主要包含三個方面的損失:定位損失(box_loss)、分類損失(cls_loss)和動態(tài)特征損失(dfl_loss),在訓練結(jié)束后,可以在runs/目錄下找到訓練過程及結(jié)果文件,如下所示:
在這里插入圖片描述

各損失函數(shù)作用說明:
定位損失box_loss:預測框與標定框之間的誤差(GIoU),越小定位得越準;
分類損失cls_loss:計算錨框與對應的標定分類是否正確,越小分類得越準;
動態(tài)特征損失(dfl_loss):DFLLoss是一種用于回歸預測框與目標框之間距離的損失函數(shù)。在計算損失時,目標框需要縮放到特征圖尺度,即除以相應的stride,并與預測的邊界框計算Ciou Loss,同時與預測的anchors中心點到各邊的距離計算回歸DFLLoss。
本文訓練結(jié)果如下:
在這里插入圖片描述

我們通常用PR曲線來體現(xiàn)精確率和召回率的關(guān)系,本文訓練結(jié)果的PR曲線如下。mAP表示Precision和Recall作為兩軸作圖后圍成的面積,m表示平均,@后面的數(shù)表示判定iou為正負樣本的閾值。mAP@.5:表示閾值大于0.5的平均mAP,可以看到本文模型目標檢測的mAP@0.5值為0.906,結(jié)果還是很不錯的。
在這里插入圖片描述
模型驗證集上的評估結(jié)果如下:
在這里插入圖片描述

4. 使用模型進行推理

模型訓練完成后,我們可以得到一個最佳的訓練結(jié)果模型best.pt文件,在runs/train/weights目錄下。我們可以使用該文件進行后續(xù)的推理檢測。
圖片檢測代碼如下:

#coding:utf-8
from ultralytics import YOLO
import cv2# 所需加載的模型目錄
path = 'models/best.pt'
# 需要檢測的圖片地址
img_path = "TestFiles/P00009_jpg.rf.6d9f67060235237afa8ffea5b1d46088.jpg"# 加載預訓練模型
model = YOLO(path, task='detect')# 檢測圖片
results = model(img_path)
print(results)
res = results[0].plot()
# res = cv2.resize(res,dsize=None,fx=2,fy=2,interpolation=cv2.INTER_LINEAR)
cv2.imshow("YOLOv8 Detection", res)
cv2.waitKey(0)

執(zhí)行上述代碼后,會將執(zhí)行的結(jié)果直接標注在圖片上,結(jié)果如下:
在這里插入圖片描述

更多檢測結(jié)果示例如下:
在這里插入圖片描述
在這里插入圖片描述

三、YOLOv5/v8/v10/11性能對比分析

本文在介紹的數(shù)據(jù)集上分別訓練了YOLOv5n、YOLOv8n、YOLOv10n這3種模型用于對比分析,訓練輪數(shù)為150個epoch。主要分析這3種模型的訓練結(jié)果在Precision(精確度)、Recall(召回率)、mAP50、mAP50-95F1-score等性能指標上的表現(xiàn),以選出更適合本數(shù)據(jù)集的最優(yōu)模型。
3種模型基本信息如下:

Modelsize (pixels)mAPval 50-95params (M)FLOPs (B)
YOLOv5n64034.32.67.7
YOLOv8n64037.33.28.7
YOLOv10n64038.52.76.7

FlOPs(floating point operations):浮點運算次數(shù),用于衡量算法/模型的復雜度。
params (M):表示模型的參數(shù)量

這3種模型都是各個YOLO系列種最小尺寸結(jié)構(gòu)的模型,在模型參數(shù)與計算量上都相差不大,屬于同一個級別的模型,因此能夠進行橫向的對比分析。

1.常用評估參數(shù)介紹

在這里插入圖片描述

  1. Precision(精確度):

    • 精確度是針對預測結(jié)果的準確性進行衡量的一個指標,它定義為預測為正例(即預測為目標存在)中真正正例的比例。

    • 公式:
      在這里插入圖片描述

    • 其中,TP(True Positives)是正確預測為正例的數(shù)量,FP(False Positives)是錯誤預測為正例的數(shù)量。

  2. Recall(召回率):

    • 召回率衡量的是模型檢測到所有實際正例的能力,即預測為正例的樣本占所有實際正例的比例。

    • 公式:
      在這里插入圖片描述

    • 其中,FN(False Negatives)是錯誤預測為負例(即漏檢)的數(shù)量。

  3. mAP50(平均精度,Mean Average Precision at Intersection over Union 0.5):

    • mAP50是目標檢測中一個非常重要的指標,它衡量的是模型在IoU(交并比)閾值為0.5時的平均精度。IoU是一個衡量預測邊界框與真實邊界框重疊程度的指標。
    • mAP50通常在多個類別上計算,然后取平均值,得到整體的平均精度。
    • 計算方法:對于每個類別,首先計算在IoU閾值為0.5時的精度-召回率曲線(Precision-Recall Curve),然后計算曲線下的面積(AUC),最后對所有類別的AUC取平均值。

這三個指標共同提供了對目標檢測模型性能的全面評估:

  • 精確度(Box_P)關(guān)注預測的準確性,即減少誤檢(FP)
  • 召回率(Box_R)關(guān)注檢測的完整性,即減少漏檢(FN)。
  • mAP50提供了一個平衡精確度和召回率的指標,同時考慮了模型在不同類別上的表現(xiàn)。

在實際應用中,根據(jù)具體需求,可能會更側(cè)重于精確度或召回率,例如在需要減少誤報的場合,可能會更重視精確度;而在需要確保所有目標都被檢測到的場合,可能會更重視召回率。mAP50作為一個綜合指標,能夠幫助研究者和開發(fā)者平衡這兩個方面,選擇最合適的模型。

  1. mAP50-95:
  • 這是衡量目標檢測模型在不同IoU閾值下性能的指標。IoU是預測的邊界框與真實邊界框之間的重疊程度,mAP50-95計算了從IoU為0.5到0.95的范圍內(nèi),模型的平均精度。
  • 精度-召回率曲線在不同的IoU閾值上繪制,然后計算曲線下的面積(AUC),最后取這些AUC的平均值,得到mAP50-95。
  • 這個指標反映了模型在不同匹配嚴格度下的性能,對于評估模型在實際應用中的泛化能力非常重要。
  1. F1分數(shù):
    • 這是精確度和召回率的調(diào)和平均數(shù),能夠平衡兩者的影響,是一個綜合考慮精確度和召回率的指標。

    • 公式:
      在這里插入圖片描述

    • 當精確度和召回率差距較大時,F1分數(shù)能夠提供一個更全面的模型性能評估。

2. 模型訓練過程對比

YOLOv5n、YOLOv8n、YOLOv10n、YOLO11n這3種模型的訓練過程損失曲線與性能曲線如下。
訓練過程的損失曲線對比如下:
在這里插入圖片描述

訓練過程中的精確度(Precision)、召回率(Recall)、平均精確度(Mean Average Precision, mAP)等參數(shù)的對比如下:
在這里插入圖片描述

直觀的從曲線上看,4種模型在模型精度上看,差別不是很大。下面對具體的性能數(shù)值進行詳細分析。

3.各模型性能評估

YOLOv5n、YOLOv8n、YOLOv10n、YOLO11n這3種模型訓練完成后,我們可以通過驗證集對各個模型分別進行性能評估。
YOLOv5n模型在驗證集上的性能評估結(jié)果如下:
在這里插入圖片描述

表格列說明:

Class:表示模型的檢測類別名稱;
Images:表示驗證集圖片數(shù)目;
Instances:表示在所有圖片中目標數(shù);
P:表示精確度Precison;
R:表示召回率Recall;
mAP50:表示IoU(交并比)閾值為0.5時的平均精度。
mAP50-95:表示從IoU為0.5到0.95的范圍內(nèi)【間隔0.05】,模型的平均精度。

表格行說明:

第一行all,除Instances是所有類別目標數(shù)之和,其他參數(shù)表示所有類別對應列參數(shù)的平均值
其他行,表示每一個類別對應參數(shù)的值。

YOLOv8n模型在驗證集上的性能評估結(jié)果如下:
在這里插入圖片描述

YOLOv10n模型在驗證集上的性能評估結(jié)果如下:
在這里插入圖片描述

YOLO11模型在驗證集上的性能評估結(jié)果如下:
在這里插入圖片描述

4.模型總體性能對比

下面我們從總體的平均指標上對YOLOv5n、YOLOv8n、YOLOv10n、YOLO11這3種模型進行對比分析。
下表是YOLOv5n、YOLOv8n、YOLOv10n、YOLO11這4不同模型目標檢測結(jié)果的整體性能平均指標對比情況:

ModelPrecisionRecallmAP50mAP50-95F1-score
YOLOv5n0.9260.8310.9080.6620.876
YOLOv8n0.9260.8520.9140.6710.887
YOLOv10n0.9020.8330.9010.6710.866
YOLO110.9140.8370.9080.6720.874

為了方便更加直觀的查看與對比各個結(jié)果,同樣我們將表格繪制成圖表的形式進行分析。
在這里插入圖片描述
當然,我們除了從整體的平均指標上對比之外,也可以單獨對比相同類別在不同模型上的指標表現(xiàn)。以查看不同模型在各個類別上的優(yōu)劣勢。

6.性能對比總結(jié)

整體來看,幾個模型性能相差并不是特別大。YOLOv8n相較于其他3個版本,在此數(shù)據(jù)集上的性能表現(xiàn)略優(yōu)。

四、可視化系統(tǒng)制作

基于上述訓練出的目標檢測模型,為了給此檢測系統(tǒng)提供一個用戶友好的操作平臺,使用戶能夠便捷、高效地進行檢測任務。博主基于Pyqt5開發(fā)了一個可視化的系統(tǒng)界面,通過圖形用戶界面(GUI),用戶可以輕松地在圖片、視頻和攝像頭實時檢測之間切換,無需掌握復雜的編程技能即可操作系統(tǒng)?!鞠到y(tǒng)詳細展示見第一部分內(nèi)容】

Pyqt5簡介

PyQt5 是用于 Python 編程語言的一個綁定庫,提供了對 Qt 應用程序框架的訪問。它常用于開發(fā)跨平臺的桌面應用程序,具有豐富的功能和廣泛的控件支持。PyQt5 提供了一個功能強大且靈活的框架,可以幫助 Python 開發(fā)者迅速構(gòu)建復雜的桌面應用程序。其事件驅(qū)動編程模型、豐富的控件和布局管理、強大的信號與槽機制以及跨平臺能力,使得 PyQt5 成為開發(fā)桌面應用程序的理想選擇。

下面對PyQt5 的基本原理進行詳細介紹:

1. 基本架構(gòu)

PyQt5 是 Python 和 Qt 庫之間的一層接口,Python 程序員可以通過 PyQt5 訪問 Qt 庫的所有功能。Qt 是由 C++ 編寫的跨平臺軟件開發(fā)框架,PyQt5 使用 SIP(一個用于創(chuàng)建 Python 與 C/C++ 語言之間的綁定工具)將這些功能導出到 Python。

2. 事件驅(qū)動編程

PyQt5 基于事件驅(qū)動編程模型,主要通過信號(signals)和槽(slots)機制實現(xiàn)用戶與應用程序之間的交互。當用戶與 GUI 進行交互(如點擊按鈕、調(diào)整滑塊等)時,會觸發(fā)信號,這些信號可以連接到槽函數(shù)或方法,以執(zhí)行特定操作。

from PyQt5.QtWidgets import QApplication, QPushButtondef on_click():print("Button clicked!")app = QApplication([])
button = QPushButton('Click Me')
button.clicked.connect(on_click)
button.show()
app.exec_()

3. Qt 對象模型

PyQt5 的核心是 Qt 對象模型,所有的控件和窗口部件都是從 QObject 類派生而來的。它們擁有復雜的父子關(guān)系,確保父對象在銷毀時自動銷毀所有子對象,避免內(nèi)存泄漏。

4. 部件(Widgets)

PyQt5 提供了豐富的內(nèi)置部件,如按鈕、標簽、文本框、表格、樹、標簽頁等,幾乎涵蓋了所有常見的 GUI 控件。這些部件可以直接使用,也可以通過繼承進行自定義。

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayoutapp = QApplication([])window = QWidget()
layout = QVBoxLayout()label = QLabel('Hello, PyQt5!')
layout.addWidget(label)window.setLayout(layout)
window.show()
app.exec_()

5. 布局管理

PyQt5 提供了強大的布局管理功能,可以通過 QLayout 和其子類(如 QHBoxLayout, QVBoxLayout, QGridLayout)來控制部件在窗口內(nèi)的擺放方式。這使得界面的設計變得靈活且易于維護。

6. 資源管理

PyQt5 支持資源文件管理,可以將圖像、圖標、樣式表等資源打包進應用程序中。資源文件通常以 .qrc 格式存儲,并通過資源管理器集成到應用程序中。

7. 信號與槽機制

信號與槽機制是 Qt 框架的核心特性之一,它允許對象之間進行松耦合通信。通過信號可以觸發(fā)槽函數(shù)來處理各種事件,使代碼邏輯更加清晰和模塊化。

8. 跨平臺性

PyQt5 是跨平臺的,支持 Windows、Mac 和 Linux 等操作系統(tǒng),編寫一次代碼即可運行在多個平臺上。

系統(tǒng)制作

博主基于Pyqt5框架開發(fā)了此款安檢X光危險品檢測與識別系統(tǒng)即文中第一部分的演示內(nèi)容,能夠很好的支持圖片、視頻及攝像頭進行檢測,同時支持檢測結(jié)果的保存

通過圖形用戶界面(GUI),用戶可以輕松地在圖片、視頻和攝像頭實時檢測之間切換,無需掌握復雜的編程技能即可操作系統(tǒng)。這不僅提升了系統(tǒng)的可用性和用戶體驗,還使得檢測過程更加直觀透明,便于結(jié)果的實時觀察和分析。此外,GUI還可以集成其他功能,如檢測結(jié)果的保存與導出、檢測參數(shù)的調(diào)整,從而為用戶提供一個全面、綜合的檢測工作環(huán)境,促進智能檢測技術(shù)的廣泛應用。
在這里插入圖片描述

關(guān)于該系統(tǒng)涉及到的完整源碼、UI界面代碼、數(shù)據(jù)集、訓練代碼、訓練好的模型、測試圖片視頻等相關(guān)文件,均已打包上傳,感興趣的小伙伴可以通過下載鏈接自行獲取。


【獲取方式】

關(guān)注下方名片G-Z-H:【阿旭算法與機器學習】,并發(fā)送【源碼】即可獲取下載方式

本文涉及到的完整全部程序文件:包括python源碼、數(shù)據(jù)集、訓練好的結(jié)果文件、訓練代碼、UI源碼、測試圖片視頻等(見下圖),獲取方式見文末:
在這里插入圖片描述

注意:該代碼基于Python3.9開發(fā),運行界面的主程序為MainProgram.py,其他測試腳本說明見上圖。為確保程序順利運行,請按照程序運行說明文檔txt配置軟件運行所需環(huán)境。

關(guān)注下方名片GZH:【阿旭算法與機器學習】,并發(fā)送【源碼】即可獲取下載方式

http://m.risenshineclean.com/news/57790.html

相關(guān)文章:

  • 個人網(wǎng)站怎樣做超鏈接天堂網(wǎng)
  • 廣州番禺服裝網(wǎng)站建設在線培訓系統(tǒng)平臺
  • 北京土巴兔裝修公司電話關(guān)鍵詞優(yōu)化報價怎么樣
  • 有什么字體設計的網(wǎng)站百度發(fā)視頻步驟
  • 河南重大項目建設網(wǎng)站網(wǎng)絡營銷成功的案例分析
  • 安徽大學電子信息工程學院官方網(wǎng)合肥網(wǎng)絡seo
  • 國家三大外貿(mào)平臺南寧seo費用服務
  • 創(chuàng)業(yè)平臺是什么意思企業(yè)網(wǎng)站優(yōu)化報告
  • 磁力搜索網(wǎng)站怎么做的網(wǎng)絡推廣有幾種方法
  • 做地方門戶網(wǎng)站的資質(zhì)清遠今日頭條最新消息
  • 自助網(wǎng)站安裝百度到桌面
  • 1688做網(wǎng)站費用常州網(wǎng)站制作維護
  • 計算機網(wǎng)站開發(fā)nba排名
  • 網(wǎng)站建設難點是什么2024的新聞有哪些
  • 最好的網(wǎng)站開發(fā)工具東莞seo黑帽培訓
  • cn域名后綴網(wǎng)站東莞網(wǎng)絡推廣優(yōu)化排名
  • 紅色網(wǎng)站建設十大技能培訓機構(gòu)排名
  • 做ppt賺錢的網(wǎng)站最新引流推廣方法
  • 花錢人做的網(wǎng)站做好后算誰的濟南seo整站優(yōu)化招商電話
  • 怎樣創(chuàng)建自己公司的網(wǎng)站百度競價代理公司
  • 桂林網(wǎng)站建設費用seo搜索優(yōu)化公司
  • 南京做中英文網(wǎng)站設計seosem是指什么意思
  • 沛縣做網(wǎng)站揚州seo博客
  • wordpress 5.2設置中文seo概念的理解
  • 關(guān)于做網(wǎng)站的策劃書百度app瀏覽器下載
  • 榆林市城鄉(xiāng)建設規(guī)劃局網(wǎng)站旅游營銷推廣方案
  • 做老師一些好的網(wǎng)站上海十大營銷策劃公司
  • 瓊海在線百度seo推廣是什么
  • seo在中國aso優(yōu)化技術(shù)
  • 代做畢設網(wǎng)站推薦萬網(wǎng)域名注冊流程