
基金項(xiàng)目:2023年江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目;項(xiàng)目編號(hào):202313571010Z。
作者簡(jiǎn)介:李少春(2002— ),男,本科生;研究方向:深度學(xué)習(xí),機(jī)械電子工程。
摘要:隨著人工智能和計(jì)算機(jī)視覺(jué)的快速發(fā)展,樂(lè)譜識(shí)別已成為音樂(lè)信息識(shí)別領(lǐng)域的熱點(diǎn)研究話(huà)題之一。文章基于YOLO算法實(shí)現(xiàn)了吉他簡(jiǎn)譜的自動(dòng)識(shí)別,通過(guò)識(shí)別譜面上的音符坐標(biāo),實(shí)現(xiàn)輸入樂(lè)譜與檢索庫(kù)樂(lè)譜集的匹配。基于YOLO模型的處理能力和匹配效果,文章提出了基于YOLO的簡(jiǎn)譜自動(dòng)識(shí)別方法,建立了音符坐標(biāo)匹配模型。對(duì)簡(jiǎn)譜識(shí)別和匹配的仿真結(jié)果表明,該方法在準(zhǔn)確性和效率上表現(xiàn)出色,驗(yàn)證了該方法在音樂(lè)信息檢索和簡(jiǎn)譜識(shí)別方面的有效性。
關(guān)鍵詞:簡(jiǎn)譜;識(shí)別;YOLO;匹配
中圖分類(lèi)號(hào):TP29" 文獻(xiàn)標(biāo)志碼:A
0" 引言
樂(lè)譜是音樂(lè)作品的重要表達(dá)形式之一,以可視化的方式記錄音樂(lè)的旋律、和聲以及節(jié)奏。在音樂(lè)學(xué)習(xí)和創(chuàng)作中,樂(lè)譜的獲取和分析至關(guān)重要。然而,傳統(tǒng)的樂(lè)譜識(shí)別和匹配方式依賴(lài)人工操作,效率較低,容易受到人為主觀因素的影響。因此,開(kāi)發(fā)一種高效、準(zhǔn)確、客觀的簡(jiǎn)譜自動(dòng)識(shí)別方法具有重要的實(shí)際意義。
隨著計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)技術(shù)的不斷發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在許多領(lǐng)域得到了廣泛的研究和應(yīng)用[1]。YOLO(You Only Look Once)是其中一種基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型,憑借快速準(zhǔn)確的特性而備受關(guān)注。YOLO檢測(cè)算法具有泛用性高、誤檢率低且檢測(cè)速度快等優(yōu)點(diǎn)[2]。本研究旨在探索基于YOLOv5的簡(jiǎn)譜自動(dòng)識(shí)別方法,通過(guò)識(shí)別譜面上的音符坐標(biāo),實(shí)現(xiàn)輸入樂(lè)譜和檢索庫(kù)樂(lè)譜集的匹配;通過(guò)對(duì)多個(gè)數(shù)據(jù)集進(jìn)行測(cè)試和對(duì)比,驗(yàn)證了該方法在簡(jiǎn)譜識(shí)別和音樂(lè)信息檢索中的有效性和優(yōu)勢(shì)。結(jié)果表明,該方法在識(shí)別準(zhǔn)確性和運(yùn)行效率方面均表現(xiàn)出色,為簡(jiǎn)譜處理和音樂(lè)信息檢索提供了一種新的解決方案。
1" YOLO模型介紹
YOLOv5是在YOLO系列算法的基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化,性能和精度都有了極大的提升[3]。在YOLOv5中,每一層都能將每一個(gè)物體的位置和類(lèi)別進(jìn)行分類(lèi)。每個(gè)網(wǎng)絡(luò)層都能檢測(cè)出不同大小的物體,并逐層檢測(cè)出大物體,然后在這些檢測(cè)框中繼續(xù)檢測(cè)出較小的物體。YOLOv5將每個(gè)檢測(cè)框分解成9個(gè)框,每個(gè)框具有不同的預(yù)測(cè)結(jié)果,檢測(cè)到物體時(shí)會(huì)返回物體的大小、位置和類(lèi)別。
在網(wǎng)絡(luò)架構(gòu)中,YOLOv5使用了標(biāo)準(zhǔn)的CNN,能夠通過(guò)C接口API從多層網(wǎng)絡(luò)中抽取特征。這種方法使檢測(cè)到的物體的整體框架結(jié)構(gòu)更加穩(wěn)定,且能夠正確預(yù)測(cè)物體的大小、位置信息和類(lèi)別。此外,YOLOv5工作原理是基于卷積神經(jīng)網(wǎng)絡(luò)、網(wǎng)格視角和多尺度預(yù)測(cè)技術(shù)的目標(biāo)檢測(cè)技術(shù),快速準(zhǔn)確地檢測(cè)目標(biāo)物體[4]。
此外,YOLOv5沿用了YOLO系列的多尺度預(yù)測(cè)設(shè)計(jì)[5],以更好地抓取物體的最佳大小。通過(guò)多尺度預(yù)測(cè),網(wǎng)絡(luò)會(huì)選擇從較小物體到較大物體的路徑,從而更好地捕捉物體,更準(zhǔn)確地計(jì)算物體的尺寸,并且在檢測(cè)時(shí)使用較大的網(wǎng)格。
2" 簡(jiǎn)譜識(shí)別訓(xùn)練過(guò)程
為了不干擾根目錄下的文件管理,可以在根目錄下單獨(dú)創(chuàng)建一個(gè)名為“guitar”的文件夾。在該文件夾內(nèi),文件和文件夾應(yīng)按照以下結(jié)構(gòu)命名:
(1)一個(gè)名為“images”的文件夾,用于存儲(chǔ)訓(xùn)練和測(cè)試照片。該文件夾下應(yīng)分別包含名為“train”和“test”的子文件夾,用于保存相應(yīng)的訓(xùn)練和測(cè)試照片。
(2)創(chuàng)建一個(gè)名為“l(fā)abels”的文件夾,用于存儲(chǔ)訓(xùn)練和測(cè)試標(biāo)注文件。請(qǐng)注意,YOLO只支持.txt文件格式的標(biāo)注集。
2.1" 修改配置文件
首先,將-yolov5/data/coco128.yaml-文件復(fù)制并粘貼到-guitar-目錄下,并將文件名更改為-guitar_parameter.yaml-。其次,需調(diào)整參數(shù)-nc-和-names-。其中,-nc-表示標(biāo)簽數(shù)量,-names-是標(biāo)簽名稱(chēng)。此外,-path-參數(shù)應(yīng)設(shè)置為項(xiàng)目根目錄的絕對(duì)路徑,而-train-參數(shù)應(yīng)指向-guitar-文件夾下的相對(duì)路徑。對(duì)于驗(yàn)證集(-val-),可以使用與訓(xùn)練集相同的路徑。
將yolov5/models/yolov5x.yaml復(fù)制、粘貼至guitar目錄下,更名為guitar_model.yaml,只將如下的nc修改為訓(xùn)練集種類(lèi)即可。由于在樂(lè)譜識(shí)別的例子中有不定量的標(biāo)簽,故設(shè)置音符數(shù)量的最大值為40。
為了縮短網(wǎng)絡(luò)的訓(xùn)練時(shí)間并提高模型精度,通常使用預(yù)訓(xùn)練權(quán)重進(jìn)行網(wǎng)絡(luò)訓(xùn)練[6]。YOLOv5版本5.0提供了多種預(yù)訓(xùn)練權(quán)重,用戶(hù)可以根據(jù)不同需求選擇不同版本的權(quán)重[7]。通過(guò)了解權(quán)重的名稱(chēng)和大小信息,可以預(yù)見(jiàn),權(quán)重越大,訓(xùn)練出來(lái)的精度可能越高,但檢測(cè)速度可能會(huì)變慢。
2.2" 收集訓(xùn)練圖像并處理
收集簡(jiǎn)譜圖像數(shù)據(jù)集并對(duì)其進(jìn)行標(biāo)注,包括為每個(gè)簡(jiǎn)譜圖像中的音符和休止符標(biāo)注邊界框和類(lèi)別標(biāo)簽。此過(guò)程需要大量簡(jiǎn)譜圖像,并對(duì)圖像文件進(jìn)行重新命名,利用-labelme-工具對(duì)圖像進(jìn)行標(biāo)注,將標(biāo)注結(jié)果存儲(chǔ)在-images-文件夾中。通常,訓(xùn)練大約100張單行譜面圖像可以獲得較好的效果,這是由YOLO的識(shí)別原理和圖像分割的特性導(dǎo)致的。
3" 識(shí)別過(guò)程
3.1" 環(huán)境配置
本文使用Python編程語(yǔ)言以及YOLOv5代碼庫(kù)提供的解析器來(lái)處理命令行參數(shù),以靈活配置模型訓(xùn)練、驗(yàn)證和測(cè)試的流程。根據(jù)YOLOV5官網(wǎng)的運(yùn)行環(huán)境要求,Python版本為3.7。
為了使程序能夠接受靈活的參數(shù)配置,本文使用Python中的argparse庫(kù)提供的ArgumentParser()類(lèi)來(lái)創(chuàng)建參數(shù)解析器,使用YOLOv5模型進(jìn)行目標(biāo)檢測(cè)任務(wù)的程序設(shè)計(jì)[8]。通過(guò)使用Python編程語(yǔ)言和argparse庫(kù)提供的參數(shù)解析器,能夠靈活配置模型的訓(xùn)練、驗(yàn)證和測(cè)試流程,以滿(mǎn)足不同任務(wù)和數(shù)據(jù)集的需求。
參數(shù)解析器的設(shè)計(jì)和使用介紹向讀者展示了定義和解析各種命令行參數(shù)的方法,包括模型權(quán)重路徑、模型配置文件路徑、數(shù)據(jù)集配置文件路徑等。這些參數(shù)的靈活配置使得用戶(hù)可以輕松地調(diào)整模型的超參數(shù)和訓(xùn)練設(shè)置,以獲得最佳的檢測(cè)性能。
3.2" 識(shí)別結(jié)果
簡(jiǎn)譜的識(shí)別過(guò)程主要涉及以下幾個(gè)關(guān)鍵步驟:首先,需要準(zhǔn)備簡(jiǎn)譜圖像數(shù)據(jù)集,包括不同樂(lè)曲的簡(jiǎn)譜圖像樣本。這些樣本應(yīng)該覆蓋各種樂(lè)器、不同音符類(lèi)型和大小的情況,并且標(biāo)注對(duì)應(yīng)的簡(jiǎn)譜位置和類(lèi)別信息。其次,在選擇模型時(shí),本文采用YOLOv5作為簡(jiǎn)譜識(shí)別的目標(biāo)檢測(cè)模型。YOLOv5具有較高的檢測(cè)精度和較快的推理速度,在保證識(shí)別效果的同時(shí)能夠滿(mǎn)足實(shí)時(shí)性的要求。同時(shí),利用準(zhǔn)備好的簡(jiǎn)譜圖像數(shù)據(jù)集,對(duì)YOLOv5模型進(jìn)行訓(xùn)練。在訓(xùn)練過(guò)程中,通過(guò)反向傳播算法不斷調(diào)整模型的參數(shù),使其能夠準(zhǔn)確地檢測(cè)簡(jiǎn)譜中的音符、符號(hào)和其他元素。再次,對(duì)YOLOv5模型進(jìn)行調(diào)優(yōu),以提高模型在簡(jiǎn)譜數(shù)據(jù)上的識(shí)別性能。這包括調(diào)整模型的輸入大小、網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)率等超參數(shù),并進(jìn)行合適的數(shù)據(jù)增強(qiáng)操作。在簡(jiǎn)譜識(shí)別的推理過(guò)程中,本文將訓(xùn)練好的YOLOv5模型應(yīng)用于待識(shí)別的簡(jiǎn)譜圖像上。模型將對(duì)圖像進(jìn)行前向傳播,生成預(yù)測(cè)結(jié)果,包括檢測(cè)到的音符位置和類(lèi)別。通過(guò)分析預(yù)測(cè)結(jié)果,本文可以得到簡(jiǎn)譜中每個(gè)音符的位置坐標(biāo)和對(duì)應(yīng)的音高信息。最后,本文可以對(duì)模型輸出的預(yù)測(cè)結(jié)果進(jìn)行后處理,包括去除重復(fù)檢測(cè)、合并相鄰音符、校正位置偏差等操作,以提高識(shí)別結(jié)果的準(zhǔn)確性和穩(wěn)定性。
通過(guò)以上步驟,本文可以實(shí)現(xiàn)基于YOLOv5模型的簡(jiǎn)譜識(shí)別,識(shí)別結(jié)果如圖1所示。
簡(jiǎn)譜識(shí)別完成后,接下來(lái)的關(guān)鍵步驟是將識(shí)別得到的簡(jiǎn)譜信息輸出,以便后續(xù)單片機(jī)程序?qū)?jiǎn)譜進(jìn)行解析和演奏。這一過(guò)程包括以下幾個(gè)環(huán)節(jié)。
首先,從YOLOv5模型的輸出結(jié)果中提取識(shí)別到的音符信息。這些信息包括音符的位置坐標(biāo)、音高、音符類(lèi)型(如音符、休止符、調(diào)號(hào)等)等。其次,根據(jù)識(shí)別到的音符信息,對(duì)簡(jiǎn)譜圖像進(jìn)行解析。這一步驟包括將音符位置映射到簡(jiǎn)譜坐標(biāo)系中,識(shí)別音符類(lèi)型和時(shí)值,確定音符之間的時(shí)序關(guān)系和音高關(guān)系等。最后,將解析得到的簡(jiǎn)譜信息存儲(chǔ)在合適的數(shù)據(jù)結(jié)構(gòu)中,以便后續(xù)的單片機(jī)程序進(jìn)行讀取和處理。通常可以使用數(shù)組、鏈表或其他數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)簡(jiǎn)譜信息。每個(gè)音符對(duì)應(yīng)一個(gè)數(shù)據(jù)結(jié)構(gòu)對(duì)象,包括音符類(lèi)型、音高、時(shí)值、起始位置等屬性。
4" 結(jié)語(yǔ)
本文實(shí)現(xiàn)了基于YOLOv5的簡(jiǎn)譜自動(dòng)識(shí)別。該方法不僅有效提高了簡(jiǎn)譜的識(shí)別效率和準(zhǔn)確性,還為音樂(lè)信息檢索和簡(jiǎn)譜處理提供了一種創(chuàng)新的解決方案。結(jié)果表明,該方法具有較高的識(shí)別效率和準(zhǔn)確性,可在各種音樂(lè)應(yīng)用場(chǎng)景中發(fā)揮作用,為后續(xù)的音樂(lè)信息檢索提供了堅(jiān)實(shí)的基礎(chǔ)。
未來(lái)的研究中,研究人員可以繼續(xù)探索將這種方法應(yīng)用于其他樂(lè)器的樂(lè)譜識(shí)別,從而進(jìn)一步提升音樂(lè)學(xué)習(xí)和創(chuàng)作的效率。通過(guò)持續(xù)優(yōu)化算法和模型,期待在音樂(lè)領(lǐng)域創(chuàng)造更多智能化、自動(dòng)化的解決方案,為" 音樂(lè)產(chǎn)業(yè)和音樂(lè)教育的發(fā)展作出貢獻(xiàn)。
參考文獻(xiàn)
[1]孫孚斌,朱兆優(yōu),陳思超,等.基于改進(jìn)YOLOv5的人臉檢測(cè)算法[J].機(jī)電工程技術(shù),2023(2):172-176.
[2]高駿一,鄭榜貴,王穎雪,等.基于YOLOv5的超市自動(dòng)取貨機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2023(11):22-27,33.
[3]朱瑞鑫,楊福興.運(yùn)動(dòng)場(chǎng)景下改進(jìn)YOLOv5小目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2023(10):196-203.
[4]米佳豪,蔣權(quán).基于葉片數(shù)量與類(lèi)別占比的香蕉樹(shù)長(zhǎng)勢(shì)檢測(cè)[J].現(xiàn)代信息科技,2023(23):106-110,115.
[5]張明.基于YOLOv5算法的觀影人數(shù)檢測(cè)模型探索[J].現(xiàn)代電影技術(shù),2022(2):42-46.
[6]汪陽(yáng).中藥飲片的智能檢測(cè)分類(lèi)[D].阜陽(yáng):阜陽(yáng)師范大學(xué),2023.
[7]付嬈.不確定背景下深基坑施工進(jìn)度智能化動(dòng)態(tài)預(yù)測(cè)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2022.
[8]鄭楚偉,林輝.基于Swin Transformer的YOLOv5安全帽佩戴檢測(cè)方法[J].計(jì)算機(jī)測(cè)量與控制,2023(3):15-21.
(編輯" 王雪芬)
Automatic recognition of simplified notation based on YOLO
LI" Shaochun, HUANG" Ye, WU" Yang
(School of Intelligent Equipment Engineering, Wuxi Taihu University, Wuxi 214064, China)
Abstract:" With the rapid development of artificial intelligence and computer vision technology, music recognition has become one of the hot research topics in the field of music information retrieval and recognition. Based on YOLO algorithm, this paper studies and realizes the automatic recognition method of guitar simple score. By recognizing the note coordinates on the spectrum surface, the input score can be matched with the score set in the retrieval library. Methods considering the processing power of YOLO model and the effect of matching algorithm, an automatic recognition method based on YOLO is proposed, and a matching model of note coordinates is established. The simulation results show that this method is excellent in accuracy and efficiency, and the correctness and effectiveness of this method in music information retrieval and recognition of simplified music processing are verified.
Key words: numbered musical notation; recognition; YOLO; matching