導(dǎo)讀
在社會(huì)智能化的發(fā)展趨勢(shì)之下,越來(lái)越多的傳統(tǒng)行業(yè)開(kāi)始向著數(shù)字化的方向轉(zhuǎn)型,而建筑行業(yè)也正經(jīng)歷著通過(guò)人工智能技術(shù)實(shí)現(xiàn)的改革。
鋼筋是建筑業(yè)的重要材料,龐大的數(shù)量、工地現(xiàn)場(chǎng)環(huán)境復(fù)雜以及人工點(diǎn)驗(yàn)錯(cuò)漏等現(xiàn)實(shí)因素為鋼筋點(diǎn)驗(yàn)工作制造了難度,那么如何才能快速且準(zhǔn)確地完成對(duì)于整個(gè)建筑施工過(guò)程極為重要的鋼筋點(diǎn)驗(yàn)工作環(huán)節(jié)呢?今天就帶大家了解一下“AI數(shù)鋼筋”——通過(guò)人工智能技術(shù)實(shí)現(xiàn)鋼筋數(shù)量統(tǒng)計(jì)。
1 問(wèn)題背景
鋼筋數(shù)量統(tǒng)計(jì)是鋼材生產(chǎn)、銷售過(guò)程及建筑施工過(guò)程中的重要環(huán)節(jié)。目前,工地現(xiàn)場(chǎng)是采用人工計(jì)數(shù)的方式對(duì)進(jìn)場(chǎng)的車輛裝載的鋼筋進(jìn)行計(jì)數(shù),驗(yàn)收人員需要對(duì)車上的鋼筋進(jìn)行現(xiàn)場(chǎng)人工點(diǎn)根,在對(duì)鋼筋進(jìn)行打捆后,通過(guò)不同顏色的標(biāo)記來(lái)區(qū)分鋼筋是否計(jì)數(shù),在確認(rèn)數(shù)量后鋼筋車才能完成進(jìn)場(chǎng)卸貨,如圖中所示:
這種人工計(jì)數(shù)的方式不僅浪費(fèi)大量的時(shí)間和精力、效率低下,并且工人長(zhǎng)時(shí)間高強(qiáng)度的工作使其視覺(jué)和大腦很容易出現(xiàn)疲勞,導(dǎo)致計(jì)數(shù)誤差大大增加,人工計(jì)數(shù)已經(jīng)不能滿足鋼筋生產(chǎn)廠家自動(dòng)化生產(chǎn)和工地現(xiàn)場(chǎng)物料盤(pán)點(diǎn)精準(zhǔn)性的需求,這種現(xiàn)狀促使鋼筋數(shù)量統(tǒng)計(jì)向著智能化方向發(fā)展。
所謂“AI數(shù)鋼筋”就是,通過(guò)多目標(biāo)檢測(cè)機(jī)器視覺(jué)方法以實(shí)現(xiàn)鋼筋數(shù)量智能統(tǒng)計(jì),達(dá)到提高勞動(dòng)效率和鋼筋數(shù)量統(tǒng)計(jì)精確性的效果。目標(biāo)檢測(cè)算法通過(guò)與攝像頭結(jié)合,可以實(shí)現(xiàn)自動(dòng)鋼筋計(jì)數(shù),再結(jié)合人工修改少量誤檢的方式,可以智能、高效地完成鋼筋計(jì)數(shù)任務(wù)。
2 算法介紹
2.1 目標(biāo)檢測(cè)介紹
首先,讓我們一起了解一下什么是“目標(biāo)檢測(cè)”。
目標(biāo)檢測(cè)是對(duì)圖像分類任務(wù)的進(jìn)一步加深,目標(biāo)檢測(cè)不僅要識(shí)別出圖片中各種類別的目標(biāo),還要將目標(biāo)的位置找出來(lái)用矩形框框住。
目標(biāo)檢測(cè)結(jié)果如上圖所示,將需要檢測(cè)的目標(biāo)檢測(cè)出來(lái)并用邊界框框出來(lái),同時(shí)在框子上面顯示出該目標(biāo)屬于該分類的一個(gè)得分情況。
2.2 目標(biāo)檢測(cè)算法的基本流程
目標(biāo)檢測(cè)實(shí)際上是要同時(shí)解決定位和識(shí)別兩個(gè)問(wèn)題。傳統(tǒng)目標(biāo)檢測(cè)算法的基本流程是,首先給定待檢測(cè)圖片,對(duì)其進(jìn)行候選框提取,候選框的提取是通過(guò)滑動(dòng)窗口的方式進(jìn)行的;再對(duì)每個(gè)窗口的局部信息進(jìn)行特征提;然后對(duì)候選區(qū)域提取出的特征進(jìn)行分類判定,判斷當(dāng)前窗口中的對(duì)象是目標(biāo)還是背景;最后采用非極大值抑制(Non-Maximum Suppression,NMS)方法進(jìn)行篩選,去除重復(fù)窗口,找出最佳目標(biāo)檢測(cè)位置。
2.3 算法選擇
本次鋼筋計(jì)數(shù)任務(wù),將選擇單階段目標(biāo)檢測(cè)YOLO系列算法來(lái)完成。YOLO系列算法是目前使用最多的目標(biāo)檢測(cè)算法,它最大的特點(diǎn)就是檢測(cè)速度快,并且現(xiàn)在檢測(cè)精度(即mAP)也逐步提高,因而成為時(shí)下最熱門(mén)的目標(biāo)檢測(cè)算法之一。YOLO系列算法一共有5個(gè)版本,其中YOLO v1到v3是由同一個(gè)作者Joseph設(shè)計(jì)的,YOLO v4到v5則由其他作者設(shè)計(jì),目前YOLO v1到Y(jié)OLO v4已有相關(guān)論文和算法結(jié)構(gòu)設(shè)計(jì),而YOLO v5僅有算法結(jié)構(gòu)設(shè)計(jì),尚無(wú)論文發(fā)表,為此我們選擇這一較新的YOLO v5算法作為本次鋼筋計(jì)數(shù)算法研究的對(duì)象。
YOLO算法是將目標(biāo)檢測(cè)問(wèn)題轉(zhuǎn)化為回歸問(wèn)題,使用回歸的思想,對(duì)給定輸入圖像,直接在圖像的多個(gè)位置上回歸出這個(gè)位置的目標(biāo)邊框以及目標(biāo)類別。給定一個(gè)輸入圖像,將其劃分為S*S的網(wǎng)格,如果某目標(biāo)的中心落于網(wǎng)格中,則該網(wǎng)格負(fù)責(zé)預(yù)測(cè)該目標(biāo),對(duì)于每一個(gè)網(wǎng)格,預(yù)測(cè)B個(gè)邊界框及邊界框的置信度,包含邊界框含有目標(biāo)的可能性大小和邊界框的準(zhǔn)確性,此外對(duì)于每個(gè)網(wǎng)格還需預(yù)測(cè)在多個(gè)類別上的概率。在完成目標(biāo)窗口的預(yù)測(cè)之后,根據(jù)閾值去除可能性比較低的目標(biāo)窗口,最后NMS去除冗余窗口即可,整個(gè)過(guò)程非常簡(jiǎn)單,不需要中間的候選框生成網(wǎng)絡(luò),直接回歸便完成了位置和類別的判定。下圖是YOLO v5算法基本框架:
由上圖可知,YOLO v5主要由輸入端、Backbone、Neck以及Prediction四部分組成。其中各部分含義分別為:
Backbone:在不同圖像細(xì)粒度上聚合并形成圖像特征的卷積神經(jīng)網(wǎng)絡(luò)。
Neck:一系列混合和組合圖像特征的網(wǎng)絡(luò)層,并將圖像特征傳遞到預(yù)測(cè)層。
Prediction(輸出端):對(duì)圖像特征進(jìn)行預(yù)測(cè),生成邊界框和并預(yù)測(cè)類別。
YOLO v5各組成部分包括的基礎(chǔ)組件有:
CBL:由Conv+BN+Leaky_relu激活函數(shù)組成
Res unit:借鑒ResNet網(wǎng)絡(luò)中的殘差結(jié)構(gòu),用來(lái)構(gòu)建深層網(wǎng)絡(luò)
CSP1_X:借鑒CSPNet網(wǎng)絡(luò)結(jié)構(gòu),該模塊由CBL模塊、Res unint模塊以及卷積層、Concate組成
CSP2_X:借鑒CSPNet網(wǎng)絡(luò)結(jié)構(gòu),該模塊由卷積層和X個(gè)Res unint模塊Concate組成而成
Focus:首先將多個(gè)slice結(jié)果Concat起來(lái),然后將其送入CBL模塊中
SPP:采用1×1、5×5、9×9和13×13的最大池化方式,進(jìn)行多尺度特征融合
YOLO v5各組成部分詳細(xì)介紹
(1) 輸入端
YOLO v5使用Mosaic數(shù)據(jù)增強(qiáng)操作提升模型的訓(xùn)練速度和網(wǎng)絡(luò)的精度;并提出了一種自適應(yīng)錨框計(jì)算與自適應(yīng)圖片縮放方法。
Mosaic數(shù)據(jù)增強(qiáng)
Mosaic數(shù)據(jù)增強(qiáng)利用四張圖片,并且按照隨機(jī)縮放、隨機(jī)裁剪和隨機(jī)排布的方式對(duì)四張圖片進(jìn)行拼接,每一張圖片都有其對(duì)應(yīng)的框,將四張圖片拼接之后就獲得一張新的圖片,同時(shí)也獲得這張圖片對(duì)應(yīng)的框,然后我們將這樣一張新的圖片傳入到神經(jīng)網(wǎng)絡(luò)當(dāng)中去學(xué)習(xí),相當(dāng)于一下子傳入四張圖片進(jìn)行學(xué)習(xí)了。該方法極大地豐富了檢測(cè)物體的背景,且在標(biāo)準(zhǔn)化BN計(jì)算的時(shí)候一下子計(jì)算四張圖片的數(shù)據(jù),所以本身對(duì)batch size不是很依賴。
自適應(yīng)錨框計(jì)算
在YOLO系列算法中,針對(duì)不同的數(shù)據(jù)集,都需要設(shè)定特定長(zhǎng)寬的錨點(diǎn)框。在網(wǎng)絡(luò)訓(xùn)練階段,模型在初始階段,模型在初始錨點(diǎn)框的基礎(chǔ)上輸出對(duì)應(yīng)的預(yù)測(cè)框,計(jì)算其與GT框之間的差距,并執(zhí)行反向更新操作,從而更新整個(gè)網(wǎng)絡(luò)的參數(shù),因此設(shè)定初始錨點(diǎn)框是比較關(guān)鍵的一環(huán)。在YOLO v3和YOLO v4中,訓(xùn)練不同的數(shù)據(jù)集,都是通過(guò)單獨(dú)的程序運(yùn)行來(lái)獲得初始錨點(diǎn)框。而在YOLO v5中將此功能嵌入到代碼中,每次訓(xùn)練時(shí),根據(jù)數(shù)據(jù)集的名稱自適應(yīng)的計(jì)算出最佳的錨點(diǎn)框,用戶可以根據(jù)自己的需求將功能關(guān)閉或者打開(kāi),指令為:
自適應(yīng)圖片縮放
在目標(biāo)檢測(cè)算法中,不同的圖片長(zhǎng)寬都不相同,因此常用的方式是將原始圖片統(tǒng)一縮放到一個(gè)標(biāo)準(zhǔn)尺寸,再送入檢測(cè)網(wǎng)絡(luò)中。而原始的縮放方法存在著一些問(wèn)題,由于在實(shí)際的使用中的很多圖片的長(zhǎng)寬比不同,因此縮放填充之后,兩端的黑邊大小都不相同,然而如果填充的過(guò)多,則會(huì)存在大量的信息冗余,從而影響整個(gè)算法的推理速度。為了進(jìn)一步提升YOLO v5的推理速度,該算法提出一種方法能夠自適應(yīng)的添加最少的黑邊到縮放之后的圖片中。具體的實(shí)現(xiàn)步驟如下所述:
① 根據(jù)原始圖片大小以及輸入到網(wǎng)絡(luò)的圖片大小計(jì)算縮放比例
②根據(jù)原始圖片大小與縮放比例計(jì)算縮放后的圖片大小
③計(jì)算黑邊填充數(shù)值
其中,416表示YOLO v5網(wǎng)絡(luò)所要求的圖片寬度,312表示縮放后圖片的寬度。首先執(zhí)行相減操作來(lái)獲得需要填充的黑邊長(zhǎng)度104;然后對(duì)該數(shù)值執(zhí)行取余操作,即104%32=8,使用32是因?yàn)檎麄(gè)YOLOv5網(wǎng)絡(luò)執(zhí)行了5次下采樣操作。最后對(duì)該數(shù)值除以2,也就是將填充的區(qū)域分散到兩邊。這樣將416*416大小的圖片縮小到416*320大小,因而極大地提升了算法的推理速度。
(2) Backone 網(wǎng)絡(luò)
Focus結(jié)構(gòu)
Focus對(duì)圖片進(jìn)行切片操作,具體操作是在一張圖片中每隔一個(gè)像素拿到一個(gè)值,類似于鄰近下采樣,這樣就拿到了四張圖片,四張圖片互補(bǔ),長(zhǎng)的差不多,但是沒(méi)有信息丟失,因此將W、H信息就集中到通道空間,輸入通道擴(kuò)充了4倍,即拼接起來(lái)的圖片相對(duì)于原先的RGB三通道模式變成了12個(gè)通道,最后將得到的新圖片再經(jīng)過(guò)卷積操作,最終得到了沒(méi)有信息丟失情況下的二倍下采樣特征圖。如下圖所示,原始輸入圖片大小為608*608*3,經(jīng)過(guò)Slice與Concat操作之后輸出一個(gè)304*304*12的特征映射;接著經(jīng)過(guò)一個(gè)通道個(gè)數(shù)為32的Conv層,輸出一個(gè)304*304*32大小的特征映射。
CSP結(jié)構(gòu)
CSPNet主要是將feature map拆成兩個(gè)部分,一部分進(jìn)行卷積操作,另一部分和上一部分卷積操作的結(jié)果進(jìn)行concate。在分類問(wèn)題中,使用CSPNet可以降低計(jì)算量,但是準(zhǔn)確率提升很小;在目標(biāo)檢測(cè)問(wèn)題中,使用CSPNet作為Backbone帶來(lái)的提升比較大,可以有效增強(qiáng)CNN的學(xué)習(xí)能力,同時(shí)也降低了計(jì)算量。YOLO v5設(shè)計(jì)了兩種CSP結(jié)構(gòu),CSP1_X結(jié)構(gòu)應(yīng)用于Backbone網(wǎng)絡(luò)中,CSP2_X結(jié)構(gòu)應(yīng)用于Neck網(wǎng)絡(luò)中。
(3) Neck網(wǎng)絡(luò)
在YOLO v4中開(kāi)始使用FPN-PAN。其結(jié)構(gòu)如下圖所示,F(xiàn)PN層自頂向下傳達(dá)強(qiáng)語(yǔ)義特征,而PAN塔自底向上傳達(dá)定位特征。
YOLO v5的Neck仍采用了FPN+PAN結(jié)構(gòu),但是在它的基礎(chǔ)上做了一些改進(jìn)操作,YOLO v4的Neck結(jié)構(gòu)中,采用的都是普通的卷積操作,而YOLO v5的Neck中,采用CSPNet設(shè)計(jì)的CSP2結(jié)構(gòu),從而加強(qiáng)了網(wǎng)絡(luò)特征融合能力。
(4) 輸出端
YOLO v5采用CIOU_LOSS 作為bounding box 的損失函數(shù),分類分支采用的loss是BCE,conf分支也是BCE。
YOLO v5中最有亮點(diǎn)的改變是對(duì)正樣本的定義。在YOLO v3中,其正樣本區(qū)域也就是anchor匹配策略非常粗暴:保證每個(gè)gt bbox一定有一個(gè)唯一的anchor進(jìn)行對(duì)應(yīng),匹配規(guī)則就是IOU最大,并且某個(gè)gt一定不可能在三個(gè)預(yù)測(cè)層的某幾層上同時(shí)進(jìn)行匹配。然而,我們從FCOS等論文中了解到,增加高質(zhì)量的正樣本anchor能夠加速模型收斂并提高召回。因此,YOLO v5對(duì)此做出了改進(jìn),提出匹配規(guī)則:
采用shape匹配規(guī)則,分別將ground truth的寬高與anchor的寬高求比值,如果寬高比例小于設(shè)定閾值,則說(shuō)明該GT和anchor匹配,將該anchor認(rèn)定為正樣本。否則,該anchor被濾掉,不參與bbox與分類計(jì)算。
將GT的中心最鄰近網(wǎng)格也作為正樣本anchor的參考點(diǎn)。因此,bbox的xy回歸分支的取值范圍不再是0-1,而是-0.5-1.5(0.5是網(wǎng)格中心偏移),因?yàn)榭缇W(wǎng)格預(yù)測(cè)了
YOLO v5算法目前根據(jù)網(wǎng)絡(luò)大小分為5n、5s、5m、5l、5x,具體參數(shù)量大小、單幀、檢測(cè)速度和mAP如下圖所示。
3 訓(xùn)練模型
3.1 數(shù)據(jù)集選擇
我們選擇公開(kāi)鋼筋計(jì)數(shù)數(shù)據(jù)集進(jìn)行模型訓(xùn)練,可以從以下網(wǎng)址中獲取數(shù)據(jù)集進(jìn)行測(cè)試。
在上述數(shù)據(jù)集中,鋼筋數(shù)據(jù)來(lái)自現(xiàn)場(chǎng)手機(jī)采集。鋼筋車輛進(jìn)庫(kù)時(shí),使用手機(jī)拍攝成捆鋼筋的截面(一般保證較小傾角,盡量垂直于鋼筋截面拍攝)。數(shù)據(jù)會(huì)包含直徑從12mm-32mm等不同規(guī)格的鋼筋圖片。數(shù)據(jù)集中用于訓(xùn)練的圖像集合共250張,用于測(cè)試的圖像集合共200張。
由于選擇的數(shù)據(jù)集規(guī)模較小且僅有一類檢測(cè)目標(biāo)(鋼筋),為降低模型訓(xùn)練難度,防止模型出現(xiàn)過(guò)擬合,所以算法模型選擇較小的yolov5s模型。如果選擇不同的數(shù)據(jù)集,也可根據(jù)所選數(shù)據(jù)集的實(shí)際情況來(lái)選擇算法模型。
3.2 模型訓(xùn)練
首先在以下網(wǎng)址獲取YOLO v5算法的源碼:
其中所包含的項(xiàng)目文件有:
data:主要是存放一些超參數(shù)的配置文件以及官方提供測(cè)試的圖片。
models:里面主要是一些網(wǎng)絡(luò)構(gòu)建的配置文件和函數(shù),其中包含了該項(xiàng)目的五個(gè)不同的版本,分別為是5n、5s、5m、5l、5x。
utils:存放的是工具類的函數(shù),里面有l(wèi)oss函數(shù),metrics函數(shù),plots函數(shù)等等。
weights:放置訓(xùn)練好的權(quán)重參數(shù)。
detect.py:利用訓(xùn)練好的權(quán)重參數(shù)進(jìn)行目標(biāo)檢測(cè),可以進(jìn)行圖像、視頻和攝像頭的檢測(cè)。
train.py:訓(xùn)練自己的數(shù)據(jù)集的函數(shù)。
test.py:測(cè)試訓(xùn)練的結(jié)果的函數(shù)。
requirements.txt:yolov5項(xiàng)目的環(huán)境依賴包
YOLO v5各組成部分詳細(xì)介紹
接下來(lái)就要進(jìn)行模型訓(xùn)練的具體操作,訓(xùn)練主要包括環(huán)境搭建、數(shù)據(jù)集準(zhǔn)備及修改數(shù)據(jù)集配置、修改模型配置參數(shù)、下載預(yù)訓(xùn)練模型、開(kāi)始訓(xùn)練以及模型測(cè)試這幾個(gè)步驟。接下來(lái)依次對(duì)上述步驟展開(kāi)介紹。
(1) 環(huán)境搭建
我們需要?jiǎng)?chuàng)建一個(gè)虛擬環(huán)境,打開(kāi)conda powershell prompt創(chuàng)建一個(gè)用于訓(xùn)練的虛擬環(huán)境:
conda create -n yolov5 python==3.8
然后激活虛擬環(huán)境安裝所需模塊(注意安裝之前需要切換工作路徑至yolov5文件夾)
python -m pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple
如果沒(méi)有安裝cuda默認(rèn)安裝pytorch-cpu版,如果有g(shù)pu可以安裝pytorch-gpu版。
(2) 數(shù)據(jù)集準(zhǔn)備及修改數(shù)據(jù)集配置
首先將下載好的數(shù)據(jù)集分類并按如下方式存儲(chǔ):
然后對(duì)數(shù)據(jù)集配置進(jìn)行修改,修改data目錄下的相應(yīng)的yaml文件。找到目錄下的coco.yaml文件,將該文件復(fù)制一份,將復(fù)制的文件重命名。
打開(kāi)這個(gè)文件夾修改其中的參數(shù),修改結(jié)果如下圖所示:
其中第一個(gè)框的位置填寫(xiě)訓(xùn)練集測(cè)試集和驗(yàn)證集的目錄地址,第二個(gè)框的位置填寫(xiě)檢測(cè)目標(biāo)類別數(shù),第三個(gè)框填寫(xiě)待檢測(cè)類別。
(3) 修改模型配置參數(shù)
由于我們最后選擇yolov5s這個(gè)模型訓(xùn)練,并且使用官方y(tǒng)olov5s.pt預(yù)訓(xùn)練權(quán)重參數(shù)進(jìn)行訓(xùn)練,所以需要修改模型配置文件。和上述修改data目錄下的yaml文件一樣,最好將yolov5s.yaml文件復(fù)制一份,然后將其重命名。
然后對(duì)重命名文件進(jìn)行修改,修改第一行檢測(cè)目標(biāo)類別數(shù)。
(4) 下載預(yù)訓(xùn)練模型
我們需要在官網(wǎng)下載所需預(yù)訓(xùn)練模型,即在預(yù)訓(xùn)練模型地址中選擇所需要的模型下載即可,這里我們選擇下載yolov5s.pt。
模型下載完成后,將模型文件xx.pt復(fù)制到y(tǒng)olov5文件夾下。
(5) 開(kāi)始訓(xùn)練
在Yolov5文件夾下打開(kāi)終端輸入以下命令:
Python train.py --weights yolov5s.pt --data data/gangjin.yaml --workers 1 --batch-size 8
至此,模型訓(xùn)練正式開(kāi)始。
(6) 模型測(cè)試
在模型訓(xùn)練完成后,將runs/exp/weights下的模型(best.pt)復(fù)制到y(tǒng)olov5文件夾下。
然后開(kāi)始進(jìn)行模型測(cè)試:
python detect.py --weights best.pt --source ../datasets/gangjin/images/val --save-txt
其中,--weights best.pt是訓(xùn)練好的模型路徑,--source:是測(cè)試的數(shù)據(jù)路徑。測(cè)試結(jié)果保存在runs/detect/exp文件夾下。
4 測(cè)試結(jié)果及問(wèn)題分析
4.1 測(cè)試結(jié)果
本算法的輸入為較為清晰的成捆鋼筋圖片,例如輸入以下圖片:
算法的輸出結(jié)果為result.txt文件與預(yù)測(cè)結(jié)果圖,其中result.txt文件中會(huì)顯示圖片中每個(gè)檢測(cè)框的位置、類別及置信度,并給出檢測(cè)框的總個(gè)數(shù),從而實(shí)現(xiàn)了鋼筋自動(dòng)計(jì)數(shù)。預(yù)測(cè)結(jié)果圖如下:
從以上測(cè)試結(jié)果可以看出,YOLO v5算法對(duì)于該場(chǎng)景中的鋼筋計(jì)數(shù)具有很好的準(zhǔn)確性,并且有較大的置信度。
對(duì)更多的圖片場(chǎng)景進(jìn)行鋼筋計(jì)數(shù),并將輸入的實(shí)際位置與識(shí)別出的效果圖進(jìn)行對(duì)比,觀察YOLO v5算法對(duì)于該場(chǎng)景的計(jì)數(shù)效果。
上圖中,左圖為輸入成捆鋼筋,右圖為數(shù)識(shí)別出的效果圖,方框上數(shù)字為置信度。從以上測(cè)試結(jié)果可以看出,YOLO v5算法對(duì)于該場(chǎng)景中的鋼筋計(jì)數(shù)同樣具有很好的準(zhǔn)確性以及較大的置信度。
4.2 問(wèn)題分析
當(dāng)然YOLO v5算法并非十全十美,它在鋼筋檢測(cè)中也存在一定的問(wèn)題:
算法存在誤判,將其他物體誤判為鋼筋頭:
重復(fù)檢測(cè),一個(gè)鋼筋頭被多個(gè)檢測(cè)框標(biāo)注:
5 總結(jié)
以上就是對(duì)于數(shù)鋼筋問(wèn)題的介紹,主要從問(wèn)題背景、算法介紹和訓(xùn)練模型三部分展開(kāi)。首先簡(jiǎn)述了數(shù)鋼筋問(wèn)題的基本背景,然后介紹了目標(biāo)檢測(cè)算法的算法流程和選取的YOLO v5算法的基本知識(shí),最后介紹了模型訓(xùn)練步驟,并選取一定的數(shù)據(jù)集,采用YOLO v5算法對(duì)輸入的圖像進(jìn)行目標(biāo)檢測(cè)及計(jì)數(shù)。