歡迎來到 Schema.org
這是 Schema.org 專案儲存庫。它包含用於發布 schema.org 的所有模式、範例和軟體。網站本身,請參閱 Schema.org。
注意:大部分的支援軟體是從子模組匯入:'sdopythonapp'
問題和提案由專案周圍的合作者(尤其是 W3C Schema.org 社區組的參與者)管理。如果您有興趣參與,請加入 W3C 小組,介紹自己並在此處查找或提交您感興趣的問題。如果您不熟悉 Git 和 GitHub,W3C Wiki 中提供了有關 GitHub 的有用介紹。
還有持續整合測試來檢查傳入的拉取請求。
GitHub 中的問題 #1 是發布計畫的入口點。它應該從廣泛的主題、具體問題和發布里程碑方面概述即將開展的工作。 Issue #1 將連結到每個版本的入口點,或透過 GitHub 中的標籤或里程碑導航問題。
網站的每項變更都是透過此處的討論進行的。實質變更記錄在我們的發行說明中。新發行說明草案的預覽可以作為我們下一個版本的測試站點的一部分找到。大約每個月,在 Schema.org 指導小組和更廣泛的社群進行最終審查後,我們都會發布正式版本。
有關文件和軟體的 CC 和開源許可證,請參閱我們的常見問題解答條目。
我們始終對改進schema.org 的實用建議感興趣,自2011 年推出以來,我們的模式集合一直在逐漸增長。的模式。消費應用程式不一定是搜尋引擎;軟體工具(例如,開源、標記豐富的網路分析方法、瀏覽器插件或雲端工具)都是探索和協作的豐富領域。重要的是,數據消費者應該對充分利用這些變化有一定的合理期望。僅憑搜尋引擎通常嘗試使用基於 Schema.org 的結構化資料來證明添加的合理性是不夠的。較小的更改和向後相容的更改更容易合併。
注意:Schema.org 並非嘗試捕捉 Web 內容的全部細節;而是嘗試取得 Web 內容的完整細節。它必然是更複雜的現實的簡化。這意味著在許多情況下都可以為 Schema.org 添加更多詳細資訊。然而,為了保持 Schema.org 簡單並可供發布商和網站管理員使用,我們通常會選擇不添加此類詳細資訊。
Schema.org 使用 JSON-LD、Microdata 和 RDFa 等 Web 標準來允許獨立擴充(例如,請參閱 GS1 的詞彙表)。
如果純粹出於優雅、「正確建模」、本體純粹性或概念統一的考慮,我們也不太可能對 Schema.org 的術語進行大規模重組。儘管專案創始人和團隊熟悉並尊重此類問題背後的傳統,但 Schema.org 的規模、範圍和性質要求我們放棄優雅和全球一致性,轉而採用稍微邋遢的漸進式進化概念和務實的方法。對與正式本體論格格不入的風格的容忍。關於統一、跨領域的基於邏輯的知識結構的建議可能會在 Ontolog 社群中得到更好的接受。
我們有時會引入沒有專用屬性關聯的類型,只是出於標記可用性的原因。在正式本體中,這通常被認為是糟糕的建模。然而,邏輯上等效的結構可能會因不熟悉 JSON-LD 或 RDF/S 背後的底層形式概念的發布者/網站管理員而導致更多錯誤。
Schema.org 不是一個封閉的系統,其他舉措(例如 Wikidata 或 GSM)已經定義了許多其他術語,這些術語可以與我們在 schema.org 定義的術語混合在一起。我們也努力使我們的設計與相關的外部標準和計劃保持一致,即使它降低了單獨考慮的 Schema.org 的全球優雅性。例如,在書目或文化遺產方面,我們可能會受到 MARC、BibFrame 和 FRBR 等倡議的影響,而在電子商務方面,我們與 GoodRelations 和 GS1 合作。 Schema.org 的新聞相關術語受到 IPTC 的 rNews 設計以及與事實檢查者、Trust Project 等的合作的嚴重影響。我們的電視和音樂相關詞彙深受與 BBC 和歐洲廣播聯盟以及音樂本體和 MusicBrainz 合作的影響;我們的模式反映了這些先前的設計。我們更喜歡以這種方式進行協作,逐步改進 Schema.org,並致力於完善、整合和混合此類設計,而不是孤立地生成我們自己的純模型。結果可能缺乏全球優雅,但使我們的工作與全球相關工作保持一致。
我們始終歡迎追蹤可用性和可讀性問題的問題,但鼓勵專注於具體情況(例如,如何描述重複事件)而不是全局哲學問題(例如,預訂或行動是否「真正」是一個事件)。我們優先考慮局部一致性(有合理的方式來描述許多常見情況),而不是全局優雅(有一個全局理論,其中所有事物都有一個合理的位置)。這並不意味著我們從不進行清理,但它們與其他考慮因素相平衡(並且常常被其他考慮因素所壓倒)。
當我們添加術語時(通常會添加到「待處理」區域),我們強烈鼓勵採取全球視角的回饋:新術語如何與其他術語相關,它如何與預先存在的模式一起使用等。此類考慮,但通常透過適度的改寫、範例或對類型/屬性連結的文件的調整來表達,而不是透過重大重組來表達。
詳細了解“我們如何工作”
對於大多數協作者來說,您需要了解的有關軟體的只是如何運行它。該軟體的目標是建立 Schema.org 網站的靜態副本(包括潛在的本機變更),以檢查並在本機系統上的簡單 Web 伺服器後面執行以進行測試。就像將生產版本部署到雲端伺服器一樣,您的本機版本可以使用 gcloud 部署到虛擬機,以實現與其他人的協作。
SOFTWARE_README.md 中提供了完整的說明,說明如何建立要使用的初始本機副本,然後進行演進以測試任何變更。本質上,您需要有一個類似 Linux(包括 Mac)的環境,並載入了 Python 3.6 或更高版本。然後,您可以在您自己的電腦上執行 schema.org 的測試版本,可透過 http://localhost:8080/ 進行訪問,或將它們發佈到 appspot.com 上進行協作。有關相關 gcloud 命令的詳細信息,請參閱 Appengine 文件。
有關該軟體及其使用的更多詳細信息,請參閱 SOFTWARE_README.md。另請參閱 wiki 中的註釋:https://github.com/schemaorg/schemaorg/wiki/Contributing
所有模式和範例都位於 data/ utf-8 編碼檔案中。
主要模式檔案是 data/schema.ttl (utf-8)。
在開發模式時,使用 data/sdo-somethinghere-schema.ttl 可能很有用。
此格式基於 RDF/Turtle 格式的 W3C RDFS。
範例儲存在 data/examples.txt (utf-8) 和其他 .txt 檔案中。
與模式一樣,data/examples.txt 也將被讀取。使用單獨的文件進行開發可能很有用。
當詞彙表最終整合到主儲存庫中時,模式資料將合併到 schema.org 中。然而,範例將保留在單獨的文件中,因為這與 git 的文件比較機製配合得更好。
data/releases/ 層次結構是為發布快照保留的(請參閱 https://schema.org/version/)。
ext // 層次結構是為擴充功能保留的(請參閱 https://schema.org/docs/extension.html)。
我們不再使用 github 分支來進行正在進行的工作。主要/分支是我們最新的候選人。不保證它處於概念上一致的狀態,但應該在發布候選版本供審查之前穩定下來。
本文檔涉及軟體程式碼庫而不是 schema.org 本身。但是,請注意,如果需要在英語變體之間進行選擇,標籤、註釋和文件應使用美國英語(在程式碼和模式中)。請盡可能以國際英語為目標。
另請參閱:https://twitter.com/schemaorg_dev
例子:
`
Apache-2.0 許可證
目錄
暗網目標偵測框架與 YOLO
文件
一般資訊
暗網版本
MSCOCO 預訓練權重
大樓
Google合作實驗室
Linux CMake方法
Windows CMake方法
使用暗網
命令列介面
訓練
其他工具和鏈接
路線圖
短期目標
中期目標
長期目標
暗網目標偵測框架與 YOLO
暗網和 hank.ai 徽標
Darknet 是一個用 C、C++ 和 CUDA 寫的開源神經網路框架。
YOLO(You Only Look Once)是一個最先進的即時目標偵測系統,運行在 Darknet 框架中。
了解 Hank.ai 如何幫助 Darknet/YOLO 社區
宣布暗網 V3“爵士樂”
請參閱 Darknet/YOLO 網站
請仔細閱讀 Darknet/YOLO 常見問題解答
加入 Darknet/YOLO Discord 伺服器
文件
論文YOLOv7
紙比例-YOLOv4
論文YOLOv4
論文YOLOv3
一般資訊
Darknet/YOLO 框架仍然比其他框架和 YOLO 版本更快、更準確。
該框架是完全免費且開源的。您可以將 Darknet/YOLO 整合到現有的項目和產品中(包括商業項目和產品),而無需許可證或支付費用。
2024 年10 月發布的Darknet V3(“Jazz”)在使用NVIDIA RTX 3090 GPU 時可以以高達1000 FPS 的速度準確運行樂高數據集視頻,這意味著每個視頻幀都可以由Darknet/YOLO 在1 毫秒或1 毫秒內讀取、調整大小和處理。
如果您需要協助或想討論 Darknet/YOLO,請加入 Darknet/YOLO Discord 伺服器:https://discord.gg/zSq8rtW
Darknet/YOLO 的 CPU 版本可在簡單的裝置上運行,例如 Raspberry Pi、雲端和 Colab 伺服器、桌上型電腦、筆記型電腦和高階訓練設備。 Darknet/YOLO 的 GPU 版本需要 NVIDIA 提供的支援 CUDA 的 GPU。
眾所周知,Darknet/YOLO 可在 Linux、Windows 和 Mac 上運作。請參閱下面的建置說明。
暗網版本
Joseph Redmon 在 2013-2017 年所寫的原始暗網工具沒有版本號。我們認為這個版本是 0.x。
Alexey Bochkovskiy 在 2017 年至 2021 年間維護的下一個流行的暗網儲存庫也沒有版本號。我們認為這個版本是 1.x。
從 2023 年開始,由 Hank.ai 贊助並由 Stéphane Charette 維護的 Darknet 儲存庫是第一個帶有版本命令的儲存庫。從 2023 年到 2024 年底,它返回了版本 2.x「OAK」。
目標是在熟悉程式碼庫的同時嘗試盡可能少地破壞現有功能。
重新編寫了建置步驟,以便我們有 1 種統一的方式在 Windows 和 Linux 上使用 CMake 進行建置。
將程式碼庫轉換為使用 C++ 編譯器。
訓練時增強了chart.png。
錯誤修復和與效能相關的最佳化,主要與減少訓練網路所需的時間有關。
該程式碼庫的最後一個分支是 v2 分支中的版本 2.1。
下一階段的開發於 2024 年中期開始,並於 2024 年 10 月發布。
如果您需要執行這些命令之一,您始終可以簽出先前的 v2 分支。請告訴我們,以便我們研究添加回所有丟失的命令。
刪除了許多舊的和未維護的命令。
在訓練和推理過程中進行了許多性能優化。
修改了舊版 C API;使用原始 Darknet API 的應用程式需要少量修改:https://darknetcv.ai/api/api.html
新的 Darknet V3 C 和 C++ API:https://darknetcv.ai/api/api.html
src-examples 中的新應用程式和範例程式碼:https://darknetcv.ai/api/files.html
MSCOCO 預訓練權重
為了方便起見,YOLO 的幾個流行版本在 MSCOCO 資料集上進行了預訓練。該資料集有 80 個類,可以在文字檔案 cfg/coco.names 中看到。
還有其他幾個更簡單的資料集和預訓練權重可用於測試 Darknet/YOLO,例如 LEGO Gears 和 Rolodex。有關詳細信息,請參閱 Darknet/YOLO 常見問題解答。
MSCOCO 預訓練權重可以從幾個不同的位置下載,也可以從此儲存庫下載:
YOLOv2,2016 年 11 月
YOLOv2-微小
YOLOv2-full
YOLOv3,2018 年 5 月
YOLOv3-微小
YOLOv3-full
YOLOv4,2020 年 5 月
YOLOv4-小
YOLOv4-full
YOLOv7,2022 年 8 月
YOLOv7-微小
YOLOv7-full
MSCOCO 預訓練權重僅用於演示目的。 MSCOCO 對應的 .cfg 和 .names 檔案位於 cfg 目錄中。命令範例:
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg Darkg cooco-vr.影片
請注意,人們應該訓練自己的網路。 MSCOCO 通常用於確認一切正常運作。
大樓
過去(2023 年之前)可用的各種建置方法已合併為一個統一的解決方案。 Darknet 需要 C++17 或更高版本、OpenCV,並使用 CMake 產生必要的專案檔案。
您不需要了解 C++ 來建造、安裝或運行 Darknet/YOLO,就像您不需要成為機械師來駕駛汽車一樣。
Google合作實驗室
Linux
視窗
如果您遵循具有更複雜建置步驟的舊教學課程,或建置步驟與本自述文件中的內容不匹配,請注意。如下所述的新建步驟於 2023 年 8 月開始。
我們鼓勵軟體開發人員造訪 https://darknetcv.ai/ 以取得有關 Darknet/YOLO 物件偵測框架內部的資訊。
Google合作實驗室
Google Colab 指令與 Linux 指令相同。有多個 Jupyter 筆記本可以展示如何執行某些任務,例如訓練新網路。
請參閱 colab 子目錄中的筆記本,和/或按照下面的 Linux 說明進行操作。
Linux CMake方法
Linux 暗網建置教學課程
選用:如果您有現代 NVIDIA GPU,則此時可以安裝 CUDA 或 CUDA+cuDNN。如果安裝,Darknet 將使用您的 GPU 來加速映像(和視訊)處理。
您必須從 Darknet 建置目錄中刪除 CMakeCache.txt 文件,以強制 CMake 重新尋找所有必要的文件。
記得重建暗網。
Darknet 可以在沒有它的情況下運行,但如果您想訓練自訂網絡,則需要 CUDA 或 CUDA+cuDNN。
造訪 https://developer.nvidia.com/cuda-downloads 下載並安裝 CUDA。
造訪 https://developer.nvidia.com/rdp/cudnn-download 或 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager-installation-overview 下載並安裝cuDNN。
安裝 CUDA 後,請確保可以執行 nvcc 和 nvidia-smi。您可能必須修改 PATH 變數。
如果您稍後安裝 CUDA 或 CUDA+cuDNN,或升級到較新版本的 NVIDIA 軟體:
這些說明假設(但不要求!)系統運行 Ubuntu 22.04。如果您使用不同的發行版,請根據需要進行調整。
sudo apt-get install build-essential git libopencv-dev cmake mkdir ~/srccd ~/src git clone https://github.com/hank-ai/darknetcd darknet mkdir buildcd build cmake -DCMAKEBUILDPE=Relkdir buildcd build cmake -D CMAKEBUILDPE=Release ..package sudo dpkg -i darknet-VERSION.deb
如果您使用的是舊版的 CMake,則需要先升級 CMake,然後才能執行上面的 cmake 指令。可以使用以下命令在 Ubuntu 上升級 CMake:
sudo apt-get purge cmake sudo snap install cmake --classic
如果使用 bash 作為命令 shell,此時您需要重新啟動 shell。如果使用魚,它應該立即選擇新路徑。
進階用戶:
如果您想要建立 RPM 安裝文件而不是 DEB 文件,請參閱 CM_package.cmake 中的相關行。在執行 make -j4 package 之前,您需要編輯以下兩行:
設定(CPACKGENERATOR“DEB”)#設定(CPACKGENERATOR“RPM”)
對於 Centos 和 OpenSUSE 等發行版,您需要將 CM_package.cmake 中的這兩行切換為:
設定(CPACKGENERATOR“DEB”)設定(CPACKGENERATOR“RPM”)
若要在安裝套件完成建置後進行安裝,請使用您的發行版常用的套件管理器。例如,在基於 Debian 的系統(例如 Ubuntu)上:
sudo dpkg -i darknet-2.0.1-Linux.deb
安裝 .deb 套件將複製以下檔案:
/usr/bin/darknet 是通常的 Darknet 執行檔。從 CLI 運行 darknet 版本以確認其安裝正確。
/usr/include/darknet.h 是 C、C++ 和 Python 開發人員的 Darknet API。
/usr/include/darknet_version.h 包含開發人員使用的版本資訊。
/usr/lib/libdarknet.so 是 C、C++ 和 Python 開發人員連結的函式庫。
/opt/darknet/cfg/... 是儲存所有 .cfg 範本的位置。
現在你已經完成了! Darknet 已建置並安裝到 /usr/bin/ 中。執行此測試:暗網版本。
如果你沒有 /usr/bin/darknet 那麼這意味著你沒有安裝它,你只是建造了它!確保如上所述安裝 .deb 或 .rpm 檔案。
Windows CMake方法
這些說明假定全新安裝 Windows 11 22H2。
開啟普通的 cmd.exe 命令提示字元視窗並執行以下命令:
winget安裝Git.Git winget安裝Kitware.CMake winget安裝nsis.nsis winget安裝Microsoft.VisualStudio.2022.Community
此時我們需要修改 Visual Studio 安裝以包含對 C++ 應用程式的支援:
點擊“Windows 開始”功能表並執行“Visual Studio Installer”
點選修改
選擇使用 C++ 進行桌面開發
點擊右下角的修改,然後點擊是下載並安裝所有內容後,再次點擊「Windows 開始」功能表並選擇 VS 2022 的開發人員命令提示字元。
進階用戶:
您可以使用普通命令提示字元或 ssh 進入裝置並手動執行“Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat”,而不是執行開發人員命令提示字元。
一旦您按照上述方式執行開發人員命令提示字元(不是 PowerShell!),請執行以下命令來安裝 Microsoft VCPKG,然後它將用於建置 OpenCV:
cd c:mkdir c:srccd c:src git clone https://github.com/microsoft/vcpkgcd vcpkg bootstrap-vcpkg.bat .vcpkg.exe 整合安裝 .vcpkg.exe 整合 powershell.vcpkg.exe 安裝 opencv[contrib,vcpkg.exe 整合 powershell.vcpkg.exe 安裝 opencv[contrib, dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
最後一步請耐心等待,因為它可能需要很長時間才能運行。它需要下載和構建很多東西。
進階用戶:
請注意,在建置 OpenCV 時您可能需要添加許多其他可選模組。運行 .vcpkg.exe 搜尋 opencv 以查看完整清單。
選用:如果您有現代 NVIDIA GPU,則此時可以安裝 CUDA 或 CUDA+cuDNN。如果安裝,Darknet 將使用您的 GPU 來加速映像(和視訊)處理。
您必須從 Darknet 建置目錄中刪除 CMakeCache.txt 文件,以強制 CMake 重新尋找所有必要的文件。
記得重建暗網。
Darknet 可以在沒有它的情況下運行,但如果您想訓練自訂網絡,則需要 CUDA 或 CUDA+cuDNN。
造訪 https://developer.nvidia.com/cuda-downloads 下載並安裝 CUDA。
造訪 https://developer.nvidia.com/rdp/cudnn-download 或 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows 下載並安裝 cuDNN。
安裝 CUDA 後,請確保可以執行 nvcc.exe 和 nvidia-smi.exe。您可能必須修改 PATH 變數。
下載 cuDNN 後,解壓縮並將 bin、include 和 lib 目錄複製到 C:/Program Files/NVIDIA GPU Compute Toolkit/CUDA/[version]/ 中。您可能需要覆蓋一些文件。
如果您稍後安裝 CUDA 或 CUDA+cuDNN,或升級到較新版本的 NVIDIA 軟體:
CUDA 必須在 Visual Studio 之後安裝。如果升級 Visual Studio,請記得重新安裝 CUDA。
成功完成前面的所有步驟後,您需要克隆 Darknet 並建立它。在此步驟中,我們還需要告訴 CMake vcpkg 所在位置,以便它可以找到 OpenCV 和其他依賴:
cd c:src git clone https://github.com/hank-ai/darknet.gitcd darknetmkdir buildcd build cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts1 exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln msbuild.exe /property:Platform=x64;Configuration=Release PACK.
如果出現有關缺少某些 CUDA 或 cuDNN DLL(例如 cublas64_12.dll)的錯誤,請手動將 CUDA .dll 檔案複製到與 Darknet.exe 相同的輸出目錄中。例如:
複製“C:Program FilesNVIDIA GPU計算工具包CUDAv12.2bin * .dll”src-cliRelease
(這是一個範例!檢查以確保您正在執行什麼版本,然後執行適合您已安裝的版本的命令。)
複製檔案後,重新執行最後的 msbuild.exe 命令以產生 NSIS 安裝包:
msbuild.exe /property:平台=x64;設定=發布 PACKAGE.vcxproj
進階用戶:
請注意,cmake 指令的輸出是普通的 Visual Studio 解決方案檔案 Darknet.sln。如果您是經常使用 Visual Studio GUI 而不是 msbuild.exe 來建置專案的軟體開發人員,則可以忽略命令列並在 Visual Studio 中載入 Darknet 專案。
您現在應該擁有可以運行的檔案:C:srcDarknetbuildsrc-cliReleasedarknet.exe。執行此命令來測試:C:srcDarknetbuildsrc-cliReleasedarknet.exe 版本。
若要正確安裝 Darknet、程式庫、包含檔案和必要的 DLL,請執行上一個步驟中建置的 NSIS 安裝精靈。請參閱建置目錄中的檔案 darknet-VERSION.exe。例如:
darknet-2.0.31-win64.exe
安裝 NSIS 安裝包將:
建立一個名為 Darknet 的目錄,例如 C:Program FilesDarknet。
安裝 CLI 應用程式、darknet.exe 和其他範例應用程式。
安裝所需的第 3 方 .dll 文件,例如來自 OpenCV 的文件。
安裝必要的 Darknet .dll、.lib 和 .h 檔案以使用其他應用程式中的 darknet.dll。
安裝模板 .cfg 檔案。
現在你已經完成了!安裝精靈完成後,Darknet 將會安裝到 C:Program FilesDarknet 中。執行此命令來測試:C:Program FilesDarknetbindarknet.exe 版本。
如果您沒有 C:/Program Files/darknet/bin/darknet.exe 那麼這表示您沒有安裝它,您只是建置了它!確保您在上一個步驟中完成了 NSIS 安裝精靈的每個面板。
使用暗網
命令列介面
以下不是 Darknet 支援的所有命令的完整列表。
除了 Darknet CLI 之外,請注意 DarkHelp 專案 CLI,它提供了 Darknet/YOLO 的替代 CLI。 DarkHelp CLI 還具有一些在 Darknet 中無法直接使用的進階功能。您可以同時使用 Darknet CLI 和 DarkHelp CLI,它們並不互相排斥。
對於下面顯示的大多數命令,您需要 .weights 檔案以及相應的 .names 和 .cfg 檔案。您可以訓練自己的網路(強烈建議!),也可以下載某人已經訓練過並在網路上免費提供的神經網路。預訓練資料集的範例包括:
LEGO Gears(在圖像中尋找物件)
Rolodex(在圖像中尋找文字)
MSCOCO(標準80級物體偵測)
要運行的命令包括:
列出一些可能運行的命令和選項:
暗網幫助
檢查版本:
暗網版本
使用影像進行預測:
V2:暗網探測器測試 cars.data cars.cfg cars_best.weights image1.jpg
V3:darknet02displayannotatedimages cars.cfg image1.jpg
DarkHelp:DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
輸出座標:
V2:暗網探測器測試animals.dataanimals.cfganimalsbest.weights-extoutputdog.jpg
V3:darknet01inference_images 動物 狗.jpg
DarkHelp:DarkHelp --json Animals.cfg Animals.names Animals_best.weights Dog.jpg
處理影片:
V2:暗網偵測器示範 Animals.data Animals.cfg Animalbest.weights -extoutput test.mp4
V3:darknet03display_videos Animals.cfg test.mp4
DarkHelp:DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
從網路攝影機讀取:
V2:暗網偵測器示範 Animals.data Animals.cfg Animals_best.weights -c 0
V3:darknet08display_網路攝影機動物
將結果儲存到影片:
V2:暗網偵測器示範animals.data Animals.cfg Animalbest.weights test.mp4 -outfilename res.avi
V3:darknet05processvideos多執行緒animals.cfganimals.namesanimals_best.weightstest.mp4
DarkHelp:DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
JSON:
V2:暗網探測器示範animals.data Animals.cfg Animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3:darknet06imagestojson 動物 image1.jpg
DarkHelp: DarkHelp --json Animals.names Animals.cfg Animals_best.weights image1.jpg
在特定 GPU 上運行:
V2:暗網偵測器示範 Animals.data Animals.cfg Animals_best.weights -i 1 test.mp4
檢查神經網路的準確性:
暗網偵測器地圖Driving.data Driving.cfg Driving_best.weights ... Id 名稱AvgPrecision TP FN FP TN 準確度錯誤率精確度回想率特異性FalsePosRate -- ---- --------- --- ---- -- ------ ------ ------ -------- --------- ------ --- ---- -- ---------- ------------ 0 輛汽車91.2495 32648 3903 5826 65129 0.9095 0.0905 0.8486 0.8932 0.9179 0.0821 1 輛摩托車2936 513 569 5393 0.8850 0. 1150 0.8377 0.8513 0.9046 0.0954 2 自行車89.0912 570 124 104 3548 自行車89.0912 570 124 104 3548 自行車89.0912 570 124 104 3548 自行車89. 5 0.0285 3 人76.7937 7072 1727 2574 27523 0.8894 0.1106 0.7332 0.8037 0.9145 0.0855 48964.308983 10098950 10989 10308950109895 108950 10895018950 109895018950 10895018950 10895018950 1098901958950 1089501950989385 1098950138950 1098950138950 10989019589389901 13 0.5930 0.6772 0.9390 0.0610 5 綠燈86.8118 1969 239 5 10 4116 0.8904 0.1096 0.7943 0.8918 0.8904 0.1096 0.7943 0.8918 0.8898 0.1108231 1082931 黃光0.9525 0.0475 0.8077 0.7683 0.9764 0.0236 7 紅光 94.1033 3449 2 17 451 4643 0.9237 0.0763 17 451 4643 0.9237 0.0763 17 451 4643 0.9237 0.0763 0.
檢查精度 mAP@IoU=75:
暗網探測器地圖animals.dataanimals.cfganimalsbest.weights-iothresh 0.75
重新計算錨點最好在 DarkMark 中完成,因為它將連續運行 100 次並從所有計算的錨點中選擇最佳錨點。但如果你想在 Darknet 中運行舊版:
暗網探測器 calcanchors Animals.data -numof_clusters 6 -寬度 320 -高度 256
訓練一個新網路:
darknet detector -map -dont_show train Animals.data Animals.cfg(另請參閱下面的訓練部分)
訓練
暗網/YOLO 常見問題相關部分的快速連結:
我應該如何設定我的文件和目錄?
我應該使用哪個設定檔?
訓練自己的網路時應該使用什麼指令?
最簡單的註解和訓練方法是使用 DarkMark 建立所有必要的 Darknet 檔案。這絕對是訓練新神經網路的推薦方法。
如果您想手動設定各種文件來訓練自訂網路:
建立一個用於儲存檔案的新資料夾。對於本例,將建立一個神經網路來偵測動物,因此建立以下目錄:~/nn/animals/。
複製您想要用作範本的暗網設定檔之一。例如,請參閱 cfg/yolov4-tiny.cfg。將其放入您建立的資料夾中。對於此範例,我們現在有 ~/nn/animals/animals.cfg。
在放置設定檔的相同資料夾中建立animals.names 文字檔案。對於此範例,我們現在有 ~/nn/animals/animals.names。
使用文字編輯器編輯animals.names 檔案。列出您要使用的類別。每行必須有 1 個條目,沒有空白行,也沒有註解。對於此範例,.names 檔案將包含 4 行:
狗 貓 鳥 馬
在同一資料夾中建立animals.data 文字檔。對於此範例,.data 檔案將包含:
類別= 4 火車= /home/使用者名稱/nn/animals/animalstrain.txt 有效= /home/使用者名稱/nn/animals/animalsvalid.txt 名稱= /home/使用者名稱/nn/animals/animals.names 備份= /home/使用者名稱/nn/動物
建立一個資料夾,用於儲存圖像和註釋。例如,這可能是 ~/nn/animals/dataset。每個圖像都需要一個相應的 .txt 檔案來描述該圖像的註釋。 .txt 註解文件的格式非常具體。您無法手動建立這些文件,因為每個註釋都需要包含註釋的精確座標。請參閱 DarkMark 或其他類似軟體來註釋您的影像。 YOLO 註釋格式在 Darknet/YOLO FAQ 中有描述。
建立在 .data 檔案中命名的「train」和「valid」文字檔案。這兩個文字檔案需要單獨列出 Darknet 在計算 mAP% 時必須用於訓練和驗證的所有圖像。每行只有一張圖像。路徑和檔案名稱可以是相對的或絕對的。
使用文字編輯器修改 .cfg 檔案。
確保批次=64。
注意細分。根據網路尺寸和 GPU 上可用的記憶體量,您可能需要增加細分。最好使用的值是 1,因此從該值開始。如果 1 不適合您,請參閱 Darknet/YOLO 常見問題。
注意 maxbatches=...。對於此範例,我們有 4 隻動物,因此 4 * 2000 = 8000。
注意steps=...。對於此範例,我們將使用steps=6400,7200,因為 maxbatches 設定為 8000。
注意 width=... 和 height=.... 這些是網路尺寸。 Darknet/YOLO 常見問題解答說明如何計算最佳使用大小。
搜尋 class=... 行的所有實例,並使用 .names 檔案中的類別數對其進行修改。對於本例,我們將使用classes=4。
在每個 [yolo] 部分之前的 [卷積] 部分中搜尋 linefilters=... 的所有實例。所使用的值是 (numberofclasses + 5) 3。
開始訓練!運行以下命令:
cd ~/nn/animals/ 暗網偵測器 -map -dont_show train Animals.data Animals.cfg
要有耐心。最佳權重將儲存為animals_best.weights。並且可以透過查看訓練進度來觀察