寫在前面:
首先感謝兄弟們的支持,讓我有創(chuàng)作的動力,在創(chuàng)作過程我會盡最大能力,保證作品的質(zhì)量,如果有問題,可以私信我,讓我們攜手共進(jìn),共創(chuàng)輝煌。
路雖遠(yuǎn),行則將至;事雖難,做則必成。只要有愚公移山的志氣、滴水穿石的毅力,腳踏實(shí)地,埋頭苦干,積跬步以至千里,就一定能夠把宏偉目標(biāo)變?yōu)槊篮矛F(xiàn)實(shí)。
沒有坑洼的數(shù)據(jù)集如下所示:
有坑洼的數(shù)據(jù)集如下所示:
1.介紹
坑洼道路檢測和識別是一種計算機(jī)視覺任務(wù),主要是通過數(shù)字圖像(通常是地表坑洼圖像)識別出存在坑洼的道路。這對于地質(zhì)勘探、航天科學(xué)和自然災(zāi)害等領(lǐng)域的研究和應(yīng)用具有極其重要的意義。例如,它可以幫助在地球軌道上識別坑洼(說實(shí)話有點(diǎn)吹牛逼的成分),以及分析和模擬地球表面的形態(tài)(太強(qiáng)了,極具科研價值)。
在坑洼道路檢測任務(wù)中,傳統(tǒng)的分類算法往往不能取得很好的效果,因?yàn)榭油輬D像的特征往往是非常復(fù)雜和多變的。然而,近年來隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,為坑洼道路檢測提供了新的解決方案。
深度學(xué)習(xí)具有很強(qiáng)的特征提取和表示能力,可以從圖像中自動提取出最重要的特征。在坑洼圖像分類任務(wù)中,利用深度學(xué)習(xí)可以提取到坑洼的輪廓、紋理和形態(tài)等特征,并將其轉(zhuǎn)換為更容易分類的表示形式。同時,還可以通過遷移學(xué)習(xí)和知識蒸餾等技術(shù)進(jìn)一步提升分類性能。例如,一些研究者使用基于深度學(xué)習(xí)的方法對道路圖像進(jìn)行分類,將其分為正常、坑洼兩類:另外,一些研究者還使用基于遷移學(xué)習(xí)的方法,從通用的預(yù)訓(xùn)練模型中學(xué)習(xí)坑洼圖像的特征,并利用這些特征來分類坑洼圖像。
2.數(shù)據(jù)
本次介紹的數(shù)據(jù)總共2個類別,分別是坑洼Pothole、正常Normal
坑洼Pothole類別:630張
正常Normal類別:266張
數(shù)據(jù)集存放如下:
normal文件夾存放正常的圖片,沒有坑洼的圖片
pothole文件夾存放有坑洼的圖片
該數(shù)據(jù)集可用于圖像分類任務(wù),注意是圖像分類任務(wù),圖像分類任務(wù),主要的事情說三遍?。?!
通常需要將數(shù)據(jù)劃分為訓(xùn)練集和測試集,訓(xùn)練集用于模型訓(xùn)練,測試集用于模型測試。
劃分?jǐn)?shù)據(jù)集代碼的代碼如下:
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 20 09:59:24 2023
@author: augustqi
"""
import os
from shutil import copy, rmtree
import random
def mk_file(file_path: str):
if os.path.exists(file_path):
# 如果文件夾存在,則先刪除原文件夾在重新創(chuàng)建
rmtree(file_path)
os.makedirs(file_path)
def main():
# 保證隨機(jī)可復(fù)現(xiàn)
random.seed(0)
# 將數(shù)據(jù)集中10%的數(shù)據(jù)劃分到驗(yàn)證集中
split_rate = 0.1
# 指向你解壓后的flower_photos文件夾
cwd = os.getcwd()
data_root = os.path.join(cwd, "data")
origin_flower_path = os.path.join(data_root, "data")
assert os.path.exists(origin_flower_path), "path '{}' does not exist.".format(origin_flower_path)
flower_class = [cla for cla in os.listdir(origin_flower_path)
if os.path.isdir(os.path.join(origin_flower_path, cla))]
# 建立保存訓(xùn)練集的文件夾
train_root = os.path.join(data_root, "train")
mk_file(train_root)
for cla in flower_class:
# 建立每個類別對應(yīng)的文件夾
mk_file(os.path.join(train_root, cla))
# 建立保存驗(yàn)證集的文件夾
val_root = os.path.join(data_root, "val")
mk_file(val_root)
for cla in flower_class:
# 建立每個類別對應(yīng)的文件夾
mk_file(os.path.join(val_root, cla))
for cla in flower_class:
cla_path = os.path.join(origin_flower_path, cla)
images = os.listdir(cla_path)
num = len(images)
# 隨機(jī)采樣驗(yàn)證集的索引
eval_index = random.sample(images, k=int(num*split_rate))
for index, image in enumerate(images):
if image in eval_index:
# 將分配至驗(yàn)證集中的文件復(fù)制到相應(yīng)目錄
image_path = os.path.join(cla_path, image)
new_path = os.path.join(val_root, cla)
copy(image_path, new_path)
else:
# 將分配至訓(xùn)練集中的文件復(fù)制到相應(yīng)目錄
image_path = os.path.join(cla_path, image)
new_path = os.path.join(train_root, cla)
copy(image_path, new_path)
print("\r[{}] processing [{}/{}]".format(cla, index+1, num), end="") # processing bar
print()
print("processing done!")
if __name__ == '__main__':
main()
3.總結(jié)
坑洼檢測是一種通過技術(shù)手段對路面進(jìn)行檢查和測量,以確定是否存在坑洼、不平整等缺陷的過程。這些缺陷可能會對車輛行駛的安全性和舒適性產(chǎn)生影響,因此及時進(jìn)行檢測和修復(fù)非常重要??油輽z測通常采用激光掃描儀、高清相機(jī)等設(shè)備,通過對路面圖像的處理和分析,識別出路面上的坑洼位置、尺寸和嚴(yán)重程度等信息。這些信息可以為道路維護(hù)部門提供決策支持,幫助他們制定更加精準(zhǔn)的維護(hù)計劃,提高道路質(zhì)量和運(yùn)輸效率。
我們可以基于整理好的數(shù)據(jù)集,使用圖像分類算法進(jìn)行圖像分類任務(wù),常用的圖像分類算法包括resnet、vgg、lenet5、alexnet等等。本次介紹的數(shù)據(jù)集是用于圖像分類任務(wù)的數(shù)據(jù)集,訓(xùn)練一個圖像分類模型,用于檢測輸入圖片是否是坑洼圖片;當(dāng)然,我們也可以通過標(biāo)注,訓(xùn)練目標(biāo)檢測算法(yolov3、yolov4、yolov5、yolov6、yolov7、yolov8)或者圖像分割算法(unet、unet++、yolact),用于框出坑洼的位置或者坑洼的像素點(diǎn),我們需要根據(jù)具體的任務(wù)進(jìn)行算法選擇。
4. 數(shù)據(jù)集獲取
數(shù)據(jù)集,獲取方式請看下面。
文章來源:http://www.zghlxwxcb.cn/news/detail-761727.html
本數(shù)據(jù)集請掃碼關(guān)注下方的公眾號并添加公眾號小編vx,另提供遠(yuǎn)程搭建環(huán)境、手把手指導(dǎo)、GPU訓(xùn)練模型服務(wù),價格可談,詳細(xì)信息請掃碼聯(lián)系小助理。文章來源地址http://www.zghlxwxcb.cn/news/detail-761727.html
到了這里,關(guān)于【圖像分類】基于計算機(jī)視覺的坑洼道路檢測和識別(2個類別)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!