พื้นที่เก็บข้อมูลหลัก Data.gov
นี่คือพื้นที่เก็บข้อมูลหลักสำหรับแพลตฟอร์ม Data.gov โดยส่วนใหญ่จะใช้เพื่อติดตามงานของทีม แต่ยังเพื่อจัดเก็บโค้ดทั่วทั้ง datagov (เทมเพลต GitHub Actions, egress ฯลฯ)
หากคุณกำลังมองหาเอกสารสำหรับสภาพแวดล้อม cloud.gov โปรดดูที่ที่เก็บแอปพลิเคชัน
การดำเนินการและเทมเพลต GitHub
GitHub Actions หลายรายการได้รับการปรับโครงสร้างใหม่เพื่อใช้เทมเพลตในพื้นที่เก็บข้อมูลนี้ คุณสามารถค้นหาเทมเพลตเหล่านี้ได้ที่นี่และตัวอย่างการเรียกใช้ในสินค้าคงคลังและแค็ตตาล็อก
กรอบการตรวจจับวัตถุ Darknet และ YOLO
Darknet เป็นเฟรมเวิร์กโครงข่ายประสาทเทียมแบบโอเพ่นซอร์สที่สร้างด้วย C, C++ และ CUDA
YOLO (คุณดูเพียงครั้งเดียว) เป็นระบบตรวจจับวัตถุแบบเรียลไทม์ที่ล้ำหน้าซึ่งทำงานภายในกรอบงาน Darknet
อ่านวิธีที่ Hank.ai สนับสนุนชุมชน Darknet/YOLO
ค้นพบเว็บไซต์ Darknet/YOLO
สำรวจคำถามที่พบบ่อยเกี่ยวกับ Darknet/YOLO
เข้าร่วมเซิร์ฟเวอร์ Darknet/YOLO Discord
เอกสาร
1. กระดาษ YOLOv7 (ลิงก์ไปยังกระดาษ)
2. กระดาษปรับขนาด-YOLOv4 (ลิงก์ไปยังกระดาษ)
3. กระดาษ YOLOv4 (ลิงก์ไปยังกระดาษ)
4. กระดาษ YOLOv3 (ลิงก์ไปยังกระดาษ)
ข้อมูลทั่วไป
เฟรมเวิร์ก Darknet/YOLO ยังคงเร็วและแม่นยำมากกว่าเฟรมเวิร์กและเวอร์ชันอื่นๆ ของ YOLO เป็นโอเพ่นซอร์สฟรีโดยสมบูรณ์ ช่วยให้คุณสามารถรวม Darknet/YOLO เข้ากับโปรเจ็กต์และผลิตภัณฑ์ของคุณโดยไม่มีข้อจำกัดหรือค่าธรรมเนียมใบอนุญาต
Darknet V3 ("Jazz") เปิดตัวในเดือนตุลาคม 2024 สามารถประมวลผลวิดีโอชุดข้อมูล LEGO ได้สูงสุด 1,000 FPS โดยใช้ NVIDIA RTX 3090 GPU ซึ่งหมายความว่าแต่ละเฟรมวิดีโอจะได้รับการประมวลผลในเวลาน้อยกว่า 1 มิลลิวินาที
เข้าร่วมเซิร์ฟเวอร์ Darknet/YOLO Discord เพื่อขอความช่วยเหลือและการสนทนา: https://discord.gg/zSq8rtW
Darknet/YOLO เวอร์ชัน CPU สามารถทำงานได้บนอุปกรณ์หลากหลาย รวมถึง Raspberry Pi, เซิร์ฟเวอร์คลาวด์และ colab, เดสก์ท็อป, แล็ปท็อป และอุปกรณ์ฝึกอบรมระดับไฮเอนด์ เวอร์ชัน GPU ต้องใช้ NVIDIA GPU ที่รองรับ CUDA
Darknet/YOLO เป็นที่รู้จักว่าทำงานบน Linux, Windows และ Mac คำแนะนำในการสร้างมีดังต่อไปนี้
เวอร์ชันดาร์กเน็ต
เวอร์ชัน 0.x: เครื่องมือ Darknet ดั้งเดิมที่สร้างโดย Joseph Redmon ระหว่างปี 2013-2017
เวอร์ชัน 1.x: พื้นที่เก็บข้อมูล Darknet ยอดนิยมที่ดูแลโดย Alexey Bochkovskiy ตั้งแต่ปี 2017-2021
เวอร์ชัน 2.x ("OAK"): พื้นที่เก็บข้อมูล Darknet ที่สนับสนุนโดย Hank.ai และดูแลโดย Stéphane Charette เริ่มตั้งแต่ปี 2023 เวอร์ชันนี้นำเสนอคำสั่งเวอร์ชัน
เวอร์ชัน 2.1: สาขาสุดท้ายของโค้ดเบสเวอร์ชัน 2 มีอยู่ในสาขา v2
เวอร์ชัน 3.x ("JAZZ"): ระยะการพัฒนาล่าสุดที่เปิดตัวในเดือนตุลาคม 2024
การเปลี่ยนแปลงที่สำคัญในเวอร์ชัน 3.x:
1. ลบคำสั่งเก่าและคำสั่งที่ไม่ได้รับการดูแลออกจำนวนมาก
2. การเพิ่มประสิทธิภาพการทำงานที่สำคัญสำหรับทั้งการฝึกอบรมและการอนุมาน
3. แก้ไข C API ดั้งเดิม; แอปพลิเคชันที่ใช้ Darknet API ดั้งเดิมอาจต้องมีการปรับเปลี่ยนเล็กน้อย
4. เปิดตัว Darknet V3 C และ C++ API ใหม่: https://darknetcv.ai/api/api.html
5. แอพใหม่และโค้ดตัวอย่างใน src-examples: https://darknetcv.ai/api/files.html
MSCOCO ตุ้มน้ำหนักที่ผ่านการฝึกอบรมล่วงหน้า
YOLO เวอร์ชันยอดนิยมหลายเวอร์ชันได้รับการฝึกอบรมล่วงหน้าในชุดข้อมูล MSCOCO เพื่อความสะดวก ชุดข้อมูลนี้มี 80 คลาส ซึ่งแสดงอยู่ในไฟล์ข้อความ cfg/coco.names
ชุดข้อมูลที่เรียบง่ายอื่นๆ และตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้า เช่น LEGO Gears และ Rolodex มีไว้สำหรับการทดสอบ Darknet/YOLO โปรดดูรายละเอียดที่คำถามที่พบบ่อยของ Darknet/YOLO
คุณสามารถดาวน์โหลดตุ้มน้ำหนักที่ฝึกล่วงหน้าของ MSCOCO ได้จากสถานที่ต่างๆ รวมถึงที่เก็บข้อมูลนี้:
YOLOv2 (พฤศจิกายน 2559)
YOLOv2-จิ๋ว
YOLOv2-เต็ม
YOLOv3 (พฤษภาคม 2018)
YOLOv3-จิ๋ว
YOLOv3-เต็ม
YOLOv4 (พฤษภาคม 2020)
YOLOv4-จิ๋ว
YOLOv4-เต็ม
YOLOv7 (สิงหาคม 2022)
YOLOv7-จิ๋ว
YOLOv7-เต็ม
คำสั่งตัวอย่าง:
-
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedimages 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
DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights วิดีโอ 1.avi
-
โปรดจำไว้ว่าคุณได้รับการสนับสนุนให้ฝึกอบรมเครือข่ายของคุณเอง MSCOCO ใช้เพื่อยืนยันว่าทุกอย่างทำงานอย่างถูกต้องเป็นหลัก
อาคาร
วิธีการสร้างที่ใช้ได้ก่อนปี 2023 ได้ถูกรวมเข้าไว้ในโซลูชันเดียวที่ครบวงจร Darknet ต้องการ C++17 หรือใหม่กว่า OpenCV และใช้ CMake เพื่อสร้างไฟล์โปรเจ็กต์
คุณไม่จำเป็นต้องรู้ C++ เพื่อสร้าง ติดตั้ง หรือรัน Darknet/YOLO เช่นเดียวกับที่คุณไม่จำเป็นต้องเป็นช่างเครื่องก็ขับรถได้
Google Colab
คำแนะนำของ Google Colab เหมือนกับคำแนะนำของ Linux สมุดบันทึก Jupyter หลายเครื่องที่สาธิตงานต่างๆ เช่น การฝึกอบรมเครือข่ายใหม่ มีอยู่ในไดเรกทอรีย่อย colab คุณสามารถทำตามคำแนะนำของ Linux ด้านล่างได้
วิธีการลินุกซ์ CMake
1. ทางเลือก: หากคุณมี NVIDIA GPU รุ่นใหม่ ให้ติดตั้ง CUDA หรือ CUDA+cuDNN Darknet จะใช้ GPU ของคุณเพื่อการประมวลผลภาพและวิดีโอที่รวดเร็วยิ่งขึ้น
2. ลบไฟล์ CMakeCache.txt ออกจากไดเร็กทอรี Darknet build ของคุณเพื่อบังคับให้ CMake ค้นหาไฟล์ที่จำเป็นทั้งหมดอีกครั้ง
3. สร้าง Darknet ใหม่
4. ติดตั้ง CUDA (เป็นทางเลือก): ไปที่ https://developer.nvidia.com/cuda-downloads เพื่อดาวน์โหลดและติดตั้ง CUDA
5. ติดตั้ง cuDNN (เป็นทางเลือก): ไปที่ https://developer.nvidia.com/rdp/cudnn-download หรือ https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package -manager-installation-overview เพื่อดาวน์โหลดและติดตั้ง cuDNN
6. ตรวจสอบการติดตั้ง CUDA: ตรวจสอบให้แน่ใจว่าคุณสามารถเรียกใช้ nvcc และ nvidia-smi ได้ คุณอาจต้องแก้ไขตัวแปร PATH ของคุณ
7. ติดตั้งการพึ่งพาและโคลน Darknet:
`ทุบตี
sudo apt-get ติดตั้ง build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git clone https://github.com/hank-ai/darknetcd darknet
สร้าง mkdir
สร้างซีดี
-
8. กำหนดค่า CMake:
`ทุบตี
cmake -DCMAKEBUILDTYPE=ปล่อย ..
-
9. สร้าง Darknet:
`ทุบตี
ทำแพ็คเกจ -j4
-
10. ติดตั้ง Darknet:
`ทุบตี
sudo dpkg -i darknet-VERSION.deb
-
11. ทดสอบการติดตั้ง:
`ทุบตี
เวอร์ชันดาร์กเน็ต
-
หมายเหตุเพิ่มเติม:
หากคุณใช้ CMake เวอร์ชันเก่า ให้อัปเกรดก่อนรันคำสั่ง cmake:
`ทุบตี
sudo apt-get ล้าง cmake
sudo snap ติดตั้ง cmake --classic
-
รีสตาร์ทเชลล์ของคุณหากใช้ bash ไม่เช่นนั้นปลาควรอัปเดตเส้นทางโดยอัตโนมัติ
หากต้องการสร้างไฟล์การติดตั้ง RPM แทนไฟล์ DEB ให้แก้ไขไฟล์ CM_package.cmake
เมื่อสร้างแพ็คเกจการติดตั้งแล้ว ให้ใช้ตัวจัดการแพ็คเกจสำหรับการแจกจ่ายของคุณเพื่อติดตั้ง (เช่น sudo dpkg -i darknet-2.0.1-Linux.deb บนระบบที่ใช้ Debian)
วิธี Windows CMake
1. ติดตั้งเครื่องมือที่จำเป็น:
`ทุบตี
winget ติดตั้ง Git.Git
winget ติดตั้ง Kitware.CMake
ติดตั้ง winget nsis.nsis
winget ติดตั้ง Microsoft.VisualStudio.2022.Community
-
2. แก้ไขการติดตั้ง Visual Studio:
- เปิด "ตัวติดตั้ง Visual Studio"
- คลิก "แก้ไข"
- เลือก "การพัฒนาเดสก์ท็อปด้วย C++"
- คลิก "แก้ไข" ที่มุมขวาล่าง จากนั้นคลิก "ใช่"
3. เปิดพรอมต์คำสั่งสำหรับนักพัฒนาสำหรับ VS 2022: อย่าใช้ PowerShell
4. ติดตั้ง Microsoft VCPKG:
`ทุบตี
ซีดี c:mkdir c:srccd c:src
โคลนคอมไพล์ https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat
รวม .vcpkg.exe
ติดตั้ง .vcpkg.exe รวม powershell.vcpkg.exe ติดตั้ง opencv [contrib, dnn, freetype, jpeg, openmp,png, webp, world]:x64-windows
-
5. ทางเลือก: ติดตั้ง CUDA หรือ CUDA+cuDNN (ตามคำแนะนำของ Linux)
6. ลบ CMakeCache.txt (ตามคำแนะนำของ Linux)
7. สร้าง Darknet ใหม่ (ตามคำแนะนำของ Linux)
8. ติดตั้ง CUDA (เป็นทางเลือก): ไปที่ https://developer.nvidia.com/cuda-downloads เพื่อดาวน์โหลดและติดตั้ง CUDA
9. ติดตั้ง cuDNN (เป็นทางเลือก): ไปที่ https://developer.nvidia.com/rdp/cudnn-download หรือ https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows เพื่อดาวน์โหลดและติดตั้ง cuDNN
10. ตรวจสอบการติดตั้ง CUDA: ตรวจสอบให้แน่ใจว่าคุณสามารถเรียกใช้ nvcc.exe ได้ คุณอาจต้องแก้ไขตัวแปร PATH ของคุณ
11. แตกไฟล์และคัดลอกไฟล์ cuDNN: เมื่อดาวน์โหลดแล้ว ให้แตกไฟล์และคัดลอก bin รวม และไดเร็กทอรี lib ไปยัง C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/ คุณอาจต้องเขียนทับไฟล์บางไฟล์
12. โคลน Darknet และสร้าง:
`ทุบตี
ซีดี c:src
โคลนคอมไพล์ https://github.com/hank-ai/darknet.gitcd darknet
สร้าง mkdir
สร้างซีดี
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
-
13. คัดลอก CUDA DLLs (เป็นทางเลือก): หากคุณพบข้อผิดพลาดเกี่ยวกับ CUDA หรือ cuDNN DLLs ที่หายไป (เช่น cublas64_12.dll) ให้คัดลอก CUDA DLLs ไปยังไดเร็กทอรีเอาต์พุต Darknet.exe ด้วยตนเอง:
`ทุบตี
คัดลอก "C: Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
-
(ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนหมายเลขเวอร์ชันด้วยหมายเลขที่คุณใช้อยู่)
14. รันคำสั่ง msbuild.exe อีกครั้งเพื่อสร้างแพ็คเกจการติดตั้ง NSIS:
`ทุบตี
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
-
15. ทดสอบการติดตั้ง:
`ทุบตี
เวอร์ชัน C:srcDarknetbuildsrc-cliReleasedarknet.exe
-
16. เรียกใช้วิซาร์ดการติดตั้ง NSIS: ซึ่งจะติดตั้งแอปพลิเคชัน CLI, DLLs ที่จำเป็น, ไลบรารี, รวมไฟล์ และไฟล์การกำหนดค่าเทมเพลต
หมายเหตุเพิ่มเติม:
คำสั่ง cmake สร้างไฟล์โซลูชัน Visual Studio (Darknet.sln) คุณสามารถใช้ Visual Studio GUI เพื่อสร้างโครงการแทน msbuild.exe
แพ็คเกจการติดตั้ง NSIS (เช่น darknet-VERSION.exe) สามารถพบได้ในไดเร็กทอรี build
การใช้ดาร์กเน็ต
คลีไอ
ต่อไปนี้ไม่ใช่รายการคำสั่ง Darknet ทั้งหมด
วิธีใช้ darknet: แสดงข้อมูลความช่วยเหลือ
เวอร์ชัน darknet: ตรวจสอบเวอร์ชัน Darknet
คำสั่งทำนาย:
V2:
`ทุบตี
การทดสอบเครื่องตรวจจับ darknet cars.data cars.cfg cars_best.weights image1.jpg
-
V3:
`ทุบตี
darknet02displayภาพที่มีคำอธิบายประกอบcars.cfg image1.jpg
-
ความช่วยเหลือด้านมืด:
`ทุบตี
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
-
พิกัดขาออก:
V2:
`ทุบตี
การทดสอบเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights -extoutput dog.jpg
-
V3:
`ทุบตี
darknet01inference_images สัตว์ dog.jpg
-
ความช่วยเหลือด้านมืด:
`ทุบตี
DarkHelp --jsonanimals.cfganimals.namesanimals_best.weights dog.jpg
-
การประมวลผลวิดีโอ:
V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights -extoutput test.mp4
-
V3:
`ทุบตี
darknet03display_videosanimals.cfg test.mp4
-
ความช่วยเหลือด้านมืด:
`ทุบตี
DarkHelp Animals.cfganimals.namesanimals_best.weights test.mp4
-
อินพุตเว็บแคม:
V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimals_best.weights -c 0
-
V3:
`ทุบตี
darknet08display_webcam สัตว์
-
บันทึกผลลัพธ์ลงในวิดีโอ:
V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights test.mp4 -outfilename res.avi
-
V3:
`ทุบตี
darknet05กระบวนการวิดีโอแบบมัลติเธรดanimals.cfganimals.namesanimals_best.weights test.mp4
-
ความช่วยเหลือด้านมืด:
`ทุบตี
DarkHelp Animals.cfganimals.namesanimals_best.weights test.mp4
-
เอาต์พุต JSON:
V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknet Animals.data Animals.cfg Animalsbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
-
V3:
`ทุบตี
darknet06imagestojson สัตว์ image1.jpg
-
ความช่วยเหลือด้านมืด:
`ทุบตี
DarkHelp --jsonanimals.namesanimals.cfganimals_best.weights image1.jpg
-
ระบุ GPU:
V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimals_best.weights -i 1 test.mp4
-
การคำนวณความแม่นยำ:
แผนที่:
`ทุบตี
แผนที่เครื่องตรวจจับ darknet การขับรถ.ข้อมูลการขับรถ.cfg Driving_best.weights ...
-
mAP@IoU=75:
`ทุบตี
แผนที่เครื่องตรวจจับ darknet Animals.data Animals.cfg Animalsbest.weights -iouthresh 0.75
-
คำนวณจุดยึดใหม่:
DarkMark (แนะนำ): ใช้ DarkMark เพื่อรันการคำนวณติดต่อกัน 100 ครั้ง และเลือกจุดยึดที่ดีที่สุด
ดาร์กเน็ต:
`ทุบตี
เครื่องตรวจจับ darknet calcanchors Animals.data -numof_clusters 6 - กว้าง 320 - สูง 256
-
ฝึกอบรมเครือข่ายใหม่:
การใช้ DarkMark (แนะนำ): ใช้ DarkMark เพื่อสร้างไฟล์ที่จำเป็นทั้งหมดสำหรับการฝึกอบรม
การตั้งค่าด้วยตนเอง:
1. สร้างโฟลเดอร์ใหม่สำหรับโครงการของคุณ (เช่น ~/nn/animals/)
2. คัดลอกไฟล์การกำหนดค่าเป็นเทมเพลต (เช่น cfg/yolov4-tiny.cfg) ลงในโฟลเดอร์
3. สร้างไฟล์ข้อความanimals.namesด้วยชื่อคลาสของคุณ หนึ่งไฟล์ต่อบรรทัด
4. สร้างไฟล์ข้อความanimals.dataด้วยรูปแบบต่อไปนี้:
-
ชั้นเรียน = 4
รถไฟ = /home/username/nn/animals/animals_train.txt
valid = /home/username/nn/animals/animals_valid.txt
ชื่อ = /home/username/nn/animals/animals.names
สำรอง = /home/username/nn/animals
-
5. สร้างโฟลเดอร์สำหรับรูปภาพและคำอธิบายประกอบ (เช่น ~/nn/animals/dataset)
6. ใส่คำอธิบายประกอบรูปภาพของคุณและสร้างไฟล์คำอธิบายประกอบ .txt ที่เกี่ยวข้องโดยใช้ DarkMark หรือซอฟต์แวร์ที่คล้ายกัน
7. สร้างไฟล์animaltrain.txtและanimalvalid.txt แสดงรายการรูปภาพสำหรับการฝึกและการตรวจสอบตามลำดับ หนึ่งไฟล์ต่อบรรทัด
8. แก้ไขไฟล์การกำหนดค่า:
- ชุดชุด=64.
- ปรับการแบ่งส่วนได้ตามต้องการ
- ตั้งค่า max_batches=8000 (หรือ 2,000 x จำนวนคลาส)
- ตั้งค่าขั้นตอน=6400,7200 (80% และ 90% ของ max_batches)
- ตั้งค่าความกว้างและความสูงเป็นขนาดเครือข่ายของคุณ
- อัปเดตคลาสด้วยจำนวนคลาสในไฟล์ .names ของคุณ
- อัปเดตตัวกรองในแต่ละส่วน [convolutional] ก่อนส่วน [yolo]: (numberofclasses + 5) * 3
9. เริ่มการฝึก:
`ทุบตี
ซีดี ~/nn/สัตว์/
เครื่องตรวจจับ darknet -map -dont_show รถไฟanimals.dataanimals.cfg
-
เคล็ดลับการฝึกอบรมเพิ่มเติม:
ใช้พารามิเตอร์ --verbose สำหรับข้อมูลการฝึกอบรมโดยละเอียดเพิ่มเติม:
`ทุบตี
เครื่องตรวจจับ darknet -map -dont_show --verbose รถไฟanimals.dataanimals.cfg
-
เครื่องมือและลิงค์อื่นๆ
DarkMark: จัดการโปรเจ็กต์ Darknet/YOLO ใส่คำอธิบายประกอบรูปภาพ ตรวจสอบคำอธิบายประกอบ และสร้างไฟล์การฝึกอบรม
DarkHelp: CLI ทางเลือกที่แข็งแกร่งไปจนถึง Darknet รองรับการจัดเรียงรูปภาพ การติดตามวัตถุ และ C++ API สำหรับแอปพลิเคชันเชิงพาณิชย์
คำถามที่พบบ่อยเกี่ยวกับ Darknet/YOLO: แหล่งข้อมูลที่ครอบคลุมสำหรับคำตอบสำหรับคำถามทั่วไป
ช่อง YouTube ของ Stéphane: บทช่วยสอนและวิดีโอตัวอย่างบน Darknet/YOLO
เซิร์ฟเวอร์ Darknet/YOLO Discord: ฟอรัมชุมชนสำหรับการสนับสนุนและการสนทนา
แผนการทำงาน
งานที่เสร็จสมบูรณ์:
แทนที่ qsort() ด้วย std::sort() เพื่อประสิทธิภาพที่ดีขึ้น
ลบฟังก์ชันที่เลิกใช้แล้ว เช่น check_mistakes, getchar() และ system()
แปลง Darknet เพื่อใช้คอมไพเลอร์ C++ (g++ บน Linux, VisualStudio บน Windows)
แก้ไขปัญหาการสร้าง Windows
การสนับสนุน Python ที่กู้คืนแล้ว
สร้างห้องสมุด Darknet
เปิดใช้งานป้ายกำกับการทำนายอีกครั้ง (รหัสตัวอักษร)
เปิดใช้งานการสนับสนุนครึ่งหนึ่งของ CUDA/GPU, CUDNN และ CUDNN อีกครั้ง
ลบสถาปัตยกรรม CUDA แบบฮาร์ดโค้ดออก
ปรับปรุงข้อมูลเวอร์ชัน CUDA
เปิดใช้งานการสนับสนุน AVX อีกครั้ง
ลบโซลูชันเก่าและ Makefile ออก
ทำให้ OpenCV เป็นการพึ่งพาที่ไม่เป็นทางเลือก
ลบการพึ่งพาไลบรารี pthread เก่าออก
ลบการพึ่งพา STB แล้ว
เขียน CMakeLists.txt ใหม่เพื่อใช้การตรวจจับ CUDA ใหม่
ลบรหัสตัวอักษรเก่าและลบภาพที่ไม่จำเป็นออก
เปิดใช้งานการสร้างนอกแหล่งที่มา
ปรับปรุงเอาต์พุตหมายเลขเวอร์ชัน
เพิ่มประสิทธิภาพการฝึกอบรมและการอนุมาน
ใช้การอ้างอิงผ่านตามความเหมาะสม
ทำความสะอาดไฟล์ .hpp
เขียน darknet.h ใหม่อีกครั้ง
ใช้ cv::Mat เป็นวัตถุ C++ ที่เหมาะสมแทนที่จะส่งให้เป็นโมฆะ*
แก้ไขความไม่สอดคล้องกันในการใช้งานโครงสร้างรูปภาพภายใน
แก้ไขปัญหาการสร้างสำหรับอุปกรณ์ Jetson ที่ใช้ ARM (ยกเว้นรุ่นเก่าที่ไม่รองรับ)
แก้ไข Python API ในเวอร์ชัน 3
เป้าหมายระยะสั้น:
แทนที่ printf() ด้วย std::cout
ตรวจสอบการสนับสนุนสำหรับกล้อง Zed รุ่นเก่า
ปรับปรุงและสร้างมาตรฐานการแยกวิเคราะห์บรรทัดคำสั่ง
เป้าหมายระยะกลาง:
ลบโค้ด char* ทั้งหมดและแทนที่ด้วย std::string
กำจัดคำเตือนของคอมไพเลอร์และรับรองสไตล์โค้ดที่สอดคล้องกัน
ปรับปรุงการใช้งาน cv::Mat บนโครงสร้างอิมเมจ C ที่กำหนดเอง
แทนที่ฟังก์ชันรายการเก่าด้วย std::vector หรือ std::list
แก้ไขการรองรับภาพโทนสีเทา 1 แชนเนล
เพิ่มการรองรับภาพ N-channel (เช่น เพิ่มช่องความลึกหรือความร้อน)
การล้างโค้ดอย่างต่อเนื่อง
เป้าหมายระยะยาว:
แก้ไขปัญหา CUDA/CUDNN ใน GPU ทั้งหมด
เขียนโค้ด CUDA+cuDNN อีกครั้ง
สำรวจการรองรับ GPU ที่ไม่ใช่ NVIDIA
ใช้กล่องขอบเขตแบบหมุนหรือส่วนรองรับ "มุม"
เพิ่มประเด็นสำคัญ/โครงกระดูก แผนที่ความร้อน และการสนับสนุนการแบ่งส่วน