摘" 要:隨著人工智能不斷成熟,自動(dòng)駕駛汽車行業(yè)發(fā)展迅速。為保證道路交通的安全性,自動(dòng)駕駛汽車對(duì)于交通標(biāo)志識(shí)別的準(zhǔn)確性要求極高。文章將基于JavaWeb技術(shù)棧,利用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),使用IDEA集成開發(fā)環(huán)境,設(shè)計(jì)了視頻采集與傳輸系統(tǒng),該系統(tǒng)由五個(gè)主要功能構(gòu)成,采用數(shù)據(jù)流轉(zhuǎn)自動(dòng)化流程,支持視頻的采集、預(yù)處理和存儲(chǔ),用于識(shí)別算法研究的前期數(shù)據(jù)采集工作。該系統(tǒng)對(duì)于監(jiān)控系統(tǒng)、教育教學(xué)系統(tǒng)也具有一定的推廣性。
關(guān)鍵詞:JavaWeb;視頻采集與傳輸系統(tǒng);MySQL
中圖分類號(hào):TP311" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2025)04-0107-05
Design of the Video Acquisition and Transmission System Based on JavaWeb
YANG Haojun
(Guangxi Eco-engineering Vocational and Technical College, Liuzhou" 545004, China)
Abstract: With the continuous maturity of Artificial Intelligence, the self-driving automobile industry is developing rapidly. In order to ensure the safety of road traffic, self-driving automobiles have extremely high requirements for the accuracy of traffic sign recognition. Based on the JavaWeb technology stack, this paper designs a video acquisition and transmission system by using the MySQL database to store data and the IDEA integrated development environment. The system comprises five core functions, employs an automated data flow process, and supports video acquisition, preprocessing and storage, for the preliminary data collection work of recognition algorithm research. The system also has certain popularization for monitoring systems and education teaching systems.
Keywords: JavaWeb; video acquisition and transmission system; MySQL
0" 引" 言
近年來(lái)自動(dòng)駕駛汽車行業(yè)正在飛速發(fā)展,部分城市已經(jīng)開始試運(yùn)營(yíng)自動(dòng)駕駛出租車、無(wú)人配送機(jī)器人及無(wú)人駕駛貨車等。自動(dòng)駕駛技術(shù)已然成為最熱門的技術(shù)之一,提高通行效率和減少道路擁堵是自動(dòng)駕駛技術(shù)的優(yōu)勢(shì)[1]。安全、高效、舒適的自動(dòng)駕駛汽車離不開高精度的傳感器、復(fù)雜算法和強(qiáng)大的計(jì)算能力感知環(huán)境、智能決策與協(xié)同控制等[2]。在自動(dòng)駕駛汽車系統(tǒng)中,交通標(biāo)志識(shí)別是保證道路交通安全性的核心功能之一,要求車輛行駛過(guò)程中使用車載攝像頭提取當(dāng)前場(chǎng)景下的交通標(biāo)識(shí)圖像進(jìn)行檢測(cè)和識(shí)別,將結(jié)果反饋給車輛或駕駛員[3]。交通標(biāo)志識(shí)別離不開準(zhǔn)確、實(shí)時(shí)、穩(wěn)定的視頻采集與傳輸系統(tǒng)。
在實(shí)際的應(yīng)用場(chǎng)景當(dāng)中,為了確保遠(yuǎn)端獲取到的高清視頻能夠傳輸?shù)奖O(jiān)控室,并進(jìn)行更深入的分析與處理,這對(duì)視頻的采集和傳輸提出了較高的要求[4]。特別是應(yīng)用于自動(dòng)駕駛汽車的視頻采集與傳輸系統(tǒng)需要能夠在不同的光照強(qiáng)度或惡劣天氣的情況下依舊能穩(wěn)定、高速進(jìn)行視頻采集,并采取有效的加密和防護(hù)措施進(jìn)行傳輸。文章設(shè)計(jì)了一套視頻采集與傳輸系統(tǒng),為非標(biāo)況道路交通標(biāo)志識(shí)別算法研究提供技術(shù)系統(tǒng)支持。
1" 系統(tǒng)需求分析
根據(jù)非標(biāo)況道路交通標(biāo)志識(shí)別算法研究課題的需要,視頻采集與傳輸系統(tǒng)是以高清車載攝像機(jī)作為采集設(shè)備,將獲取到的道路視頻圖像信息進(jìn)行預(yù)處理,通過(guò)無(wú)線數(shù)字傳輸網(wǎng)絡(luò)調(diào)用BEM-wiener的信道估計(jì)算法實(shí)現(xiàn)視頻信息的實(shí)時(shí)傳輸與保存[5]。
視頻采集與傳輸系統(tǒng)架構(gòu)如圖1所示,具體構(gòu)成內(nèi)容如下:
1)用戶層:系統(tǒng)包含三種角色,即普通用戶、管理員和系統(tǒng)管理人員,不同的角色登錄進(jìn)入后將會(huì)進(jìn)入對(duì)應(yīng)的操作界面。普通用戶登錄后可進(jìn)行視頻實(shí)時(shí)采集和視頻傳輸;管理員和系統(tǒng)管理人員登錄后可查看用戶傳輸過(guò)來(lái)的視頻,也可根據(jù)后續(xù)查詢或研究分析的需要,隨時(shí)調(diào)取相應(yīng)視頻。新用戶首次登錄無(wú)賬戶名和密碼,則需先注冊(cè)成功后再登錄。為確保信息安全,新增管理員無(wú)法直接注冊(cè),必須由系統(tǒng)管理員進(jìn)入系統(tǒng)內(nèi)添加,避免普通用戶自行注冊(cè)為系統(tǒng)管理員。
2)展現(xiàn)層:采用HTML+CSS和JSP等前端技術(shù)實(shí)現(xiàn)網(wǎng)頁(yè)操作界面的設(shè)計(jì)。
3)功能層:包含登錄注冊(cè)、信息管理、視頻采集、視頻傳輸和視頻查看5個(gè)主要功能,負(fù)責(zé)處理用戶層的請(qǐng)求與響應(yīng)操作,滿足視頻采集與傳輸系統(tǒng)的實(shí)際應(yīng)用需求。
4)數(shù)據(jù)層:存儲(chǔ)普通用戶、管理員和系統(tǒng)管理員的數(shù)據(jù),以及視頻數(shù)據(jù)。
5)支撐層:在Windows系統(tǒng)環(huán)境下,使用Tomcat服務(wù)器處理前后端交互操作,并運(yùn)用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)層的相關(guān)數(shù)據(jù),從而確保視頻采集與傳輸系統(tǒng)穩(wěn)定運(yùn)行。
2" 系統(tǒng)用例分析
2.1" 普通用戶用例分析
普通用戶操作的用例圖如圖2所示,具體功能如下:
1)登錄注冊(cè)功能:當(dāng)用戶首次進(jìn)入系統(tǒng)無(wú)賬號(hào)時(shí),則需先進(jìn)行注冊(cè)填寫相關(guān)信息,注冊(cè)成功后重新進(jìn)入登錄頁(yè)面,完成登錄操作才可進(jìn)入相應(yīng)系統(tǒng)頁(yè)面。若用戶登錄后直接關(guān)閉網(wǎng)頁(yè),并未點(diǎn)擊退出按鈕,5分鐘內(nèi)重新進(jìn)入系統(tǒng),則無(wú)須登錄直接進(jìn)入。
2)個(gè)人信息管理功能:用戶可以修改自己的個(gè)人信息。當(dāng)用戶修改手機(jī)號(hào)或郵箱時(shí),需要通過(guò)驗(yàn)證碼的形式驗(yàn)證手機(jī)號(hào)或郵箱的真實(shí)性。
3)視頻采集功能:用戶觸發(fā)視頻采集指令后,獲取并啟動(dòng)攝像頭,對(duì)當(dāng)前畫面進(jìn)行實(shí)時(shí)采集。同時(shí),對(duì)畫面做預(yù)處理和圖像增強(qiáng)操作,確保采集到的數(shù)據(jù)便于檢測(cè)與識(shí)別算法的研究。
4)視頻傳輸功能:將采集獲取到的視頻數(shù)據(jù)進(jìn)行處理,快速、安全的傳輸?shù)浇邮斩恕?/p>
5)查看視頻功能:查看自己曾傳輸?shù)乃幸曨l信息及視頻內(nèi)容,也可以通過(guò)日期、時(shí)間等條件進(jìn)行篩選。
6)退出登錄功能:用戶可安全退出系統(tǒng)。
2.2" 管理員和系統(tǒng)管理員用例分析
管理員和系統(tǒng)管理員操作的用例圖如圖3所示,具體功能如下:
1)登錄功能:通過(guò)管理員或系統(tǒng)管理員的賬號(hào)和密碼進(jìn)行登錄操作,即可進(jìn)入相應(yīng)的系統(tǒng)頁(yè)面。若用戶登錄成功后直接關(guān)閉網(wǎng)頁(yè),并未點(diǎn)擊退出按鈕,5分鐘內(nèi)重新進(jìn)入系統(tǒng),則無(wú)須登錄直接進(jìn)入。
2)信息管理功能:包含個(gè)人信息管理、添加管理員信息、修改管理員信息和刪除管理員信息功能。管理員和系統(tǒng)管理員都可以修改自己的個(gè)人信息,但增加、刪除、修改管理員只有系統(tǒng)管理員才有權(quán)限操作。
3)查看視頻功能:管理員和系統(tǒng)管理員可查看普通用戶傳輸?shù)乃幸曨l信息及內(nèi)容,也可以通過(guò)用戶名、日期、時(shí)間等條件進(jìn)行查詢。
4)退出登錄功能:管理員和系統(tǒng)管理員可安全退出系統(tǒng)。
3" 開發(fā)環(huán)境
基于非標(biāo)況道路交通標(biāo)志識(shí)別算法研究課題項(xiàng)目的實(shí)際應(yīng)用,本系統(tǒng)采用B/S開發(fā)模式,從而脫離了時(shí)間、地域等對(duì)系統(tǒng)的限制,所有業(yè)務(wù)功能用戶能通過(guò)瀏覽器使用本系統(tǒng)。
前端UI界面:采用HTML、CSS、Bootstrap框架等相關(guān)技術(shù)實(shí)現(xiàn)。Bootstrap框架預(yù)設(shè)了一套CSS樣式和與之對(duì)應(yīng)的jQuery代碼,便于開發(fā)者快速搭建精美的前端界面[6]。
數(shù)據(jù)存儲(chǔ):采用MySQL進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)與存儲(chǔ)。MySQL數(shù)據(jù)庫(kù)是廣受歡迎的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),提供了豐富的API接口和管理工具,具備較高的可靠性和穩(wěn)定性。
后端開發(fā):在IDEA集成開發(fā)環(huán)境中使用Java語(yǔ)言進(jìn)行編程,服務(wù)器端采用JavaWeb技術(shù)實(shí)現(xiàn)。Java編程語(yǔ)言是當(dāng)前應(yīng)用較為普遍的編程語(yǔ)言,具備語(yǔ)法簡(jiǎn)單、面向?qū)ο蟆⒎€(wěn)定、與平臺(tái)無(wú)關(guān)、多線程、動(dòng)態(tài)等特點(diǎn)[7]。而JavaWeb是通過(guò)Servlet和JSP解析客戶端發(fā)送過(guò)來(lái)的請(qǐng)求,連接數(shù)據(jù)庫(kù)服務(wù)器取出相應(yīng)數(shù)據(jù)進(jìn)行處理,將最終的結(jié)果響應(yīng)到前端[8]。
4" 系統(tǒng)設(shè)計(jì)
4.1" 登錄注冊(cè)模塊設(shè)計(jì)
不同類型的用戶所對(duì)應(yīng)的權(quán)限也不同,因此該系統(tǒng)必須登錄后才能進(jìn)入。根據(jù)系統(tǒng)需求,普通用戶、管理員和系統(tǒng)管理員均有登錄功能,而注冊(cè)功能只能注冊(cè)普通用戶,管理員賬號(hào)不可以隨意注冊(cè),只能由系統(tǒng)管理員進(jìn)行添加。
4.1.1" 登錄功能
當(dāng)用戶進(jìn)入登錄界面輸入用戶名和密碼,并點(diǎn)擊“登錄”按鈕后,系統(tǒng)將會(huì)對(duì)文本框進(jìn)行校驗(yàn),檢查是否已全部填寫,否則會(huì)彈出相應(yīng)提示“用戶名或密碼不能為空”。再根據(jù)登錄時(shí)是否勾選系統(tǒng)管理員,在數(shù)據(jù)表中檢驗(yàn)用戶名和密碼是否正確,若正確則進(jìn)入到相應(yīng)的視頻采集與傳輸界面;若驗(yàn)證失敗,則彈出提示“用戶名或密碼錯(cuò)誤”。若用戶登錄后關(guān)閉系統(tǒng)頁(yè)面,五分鐘內(nèi)再次進(jìn)入本系統(tǒng),則無(wú)須登錄,直接進(jìn)入視頻采集與傳輸?shù)牟僮鹘缑妗5卿浟鞒倘鐖D4所示。
4.1.2" 注冊(cè)功能
普通用戶在注冊(cè)界面填寫注冊(cè)信息時(shí),系統(tǒng)會(huì)引導(dǎo)用戶填寫各個(gè)部分的信息,并進(jìn)行實(shí)時(shí)保存。系統(tǒng)會(huì)對(duì)當(dāng)前頁(yè)面的文本框進(jìn)行校驗(yàn),檢查是否全部填寫完、兩次輸入的密碼是否一致、密碼是否符合注冊(cè)要求(密碼由6~20位字符組成,包含大小寫字母和數(shù)字,不能包含空格和特殊字符)、手機(jī)號(hào)和郵箱是否符合規(guī)范,以及該用戶名是否已被注冊(cè)。只要有一項(xiàng)要求不符合則會(huì)彈出相應(yīng)提示,只有達(dá)到所有要求才可注冊(cè)成功,將相應(yīng)信息添加到數(shù)據(jù)庫(kù)User表中,并標(biāo)注用戶類型為普通用戶。注冊(cè)流程如圖5所示。
4.2" 視頻采集模塊設(shè)計(jì)
視頻數(shù)據(jù)的采集是視頻傳輸系統(tǒng)的必要部分,該模塊是普通用戶的權(quán)限,啟動(dòng)后開始實(shí)時(shí)采集。普通用戶發(fā)出指令后,系統(tǒng)獲取并開啟視頻采集設(shè)備,進(jìn)行視頻采集,如圖6所示。視頻采集會(huì)受到天氣的影響,暴曬天氣或者雷雨交加的暴雨天都可能會(huì)導(dǎo)致畫面模糊、亮度損失、退化等問(wèn)題。為確保視頻質(zhì)量,在視頻采集后需要使用畫面去噪、畫面增強(qiáng)和碼率壓縮等方式對(duì)圖像進(jìn)行預(yù)處理。
用戶登錄進(jìn)入界面后將會(huì)觸發(fā)攝像頭開啟指令,通過(guò)getUserMedia()獲取媒體設(shè)備,同時(shí)還需要處理瀏覽器兼容性問(wèn)題。當(dāng)用戶允許獲取設(shè)備,則success Callback被調(diào)用,回調(diào)函數(shù)的參數(shù)則為Media Stream對(duì)象;反之,則error Callback被調(diào)用。再運(yùn)用Video對(duì)象play()方法,用戶則可在網(wǎng)頁(yè)上查看到當(dāng)前設(shè)備攝像頭所拍攝的畫面。
點(diǎn)擊“開始”按鈕觸發(fā)錄制功能,對(duì)Media Stream創(chuàng)建Media Recorder對(duì)象進(jìn)行錄制,Media Recorder.ondataavailable獲取當(dāng)前攝像頭。點(diǎn)擊“開始”按鈕后錄制的數(shù)據(jù),將會(huì)提供一個(gè)Blob對(duì)象,即開始數(shù)據(jù)采集工作。點(diǎn)擊“結(jié)束”按鈕后,將會(huì)終止錄制器,關(guān)閉媒體流,即數(shù)據(jù)采集工作結(jié)束。采集到的視頻使用歸一化處理,將視頻數(shù)據(jù)調(diào)整到合適的數(shù)值范圍,改善視頻質(zhì)量[9]。
4.3" 視頻傳輸模塊設(shè)計(jì)
系統(tǒng)無(wú)須人工啟動(dòng)傳輸功能,它能通過(guò)攝像頭的幀率和圖像幀數(shù)自動(dòng)完成截段保存的操作,隨即觸發(fā)視頻傳輸功能[10]。分段保存視頻流后,將錄制獲得的Blob對(duì)象轉(zhuǎn)成File對(duì)象,添加到FormData對(duì)象,運(yùn)用Ajax上傳到后端。后端代碼創(chuàng)建ServletFileUpload對(duì)象,配置上傳參數(shù),通過(guò)調(diào)用ServletFileUpload.parseRequest(request)解析前端傳遞的數(shù)據(jù),并存儲(chǔ)到數(shù)據(jù)庫(kù)video表中,并提示“文件上傳成功!”,即完成視頻傳輸工作。數(shù)據(jù)傳輸過(guò)程中要加強(qiáng)數(shù)據(jù)安全和隱私保護(hù),采用加密處理和訪問(wèn)控制機(jī)制,確保傳輸過(guò)程中不被非法截獲和可追溯性。視頻傳輸成功界面及數(shù)據(jù)庫(kù)存儲(chǔ)記錄如圖7所示。
4.4" 用戶信息管理模塊設(shè)計(jì)
普通用戶、管理員和系統(tǒng)管理員登錄后都可進(jìn)入個(gè)人信息管理界面,對(duì)個(gè)人信息進(jìn)行修改。進(jìn)入界面將會(huì)讀取數(shù)據(jù)庫(kù)User表中當(dāng)前用戶的姓名、性別、聯(lián)系電話等各字段數(shù)據(jù),根據(jù)頁(yè)面需要顯示到相應(yīng)位置。用戶只需更正需要修改的信息,點(diǎn)擊提交后將新數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。由于密碼需保密,則進(jìn)入界面時(shí)不顯示,如需修改點(diǎn)擊修改密碼按鈕,再根據(jù)提示輸入兩遍密碼進(jìn)行修改。
系統(tǒng)中新增、修改和刪除管理員用戶信息的操作僅限系統(tǒng)管理員執(zhí)行,避免其他人惡意操作,確保視頻信息的安全:
1)新增管理員:該界面顯示添加管理員需要填寫的信息,點(diǎn)擊提交按鈕后將當(dāng)前數(shù)據(jù)保存到數(shù)據(jù)庫(kù)User表中。對(duì)于手機(jī)號(hào)、Email等具有特殊要求的輸入框,均會(huì)對(duì)其進(jìn)行檢驗(yàn),只有符合所有輸入框的填寫要求后才會(huì)存入到User表中,并標(biāo)注用戶類型為管理員。
2)修改管理員:在管理員信息列表中,選擇需要修改的管理員名稱,系統(tǒng)將會(huì)訪問(wèn)數(shù)據(jù)庫(kù)將該管理員信息顯示在頁(yè)面上,當(dāng)前界面與個(gè)人信息管理功能基本一致。
3)刪除管理員:在管理員信息列表界面,點(diǎn)擊需要?jiǎng)h除的人員信息所對(duì)應(yīng)的“刪除”按鈕,系統(tǒng)將會(huì)將數(shù)據(jù)庫(kù)User表中該管理員的信息刪除,并更新當(dāng)前管理員信息列表界面。
4.5" 視頻查看模塊設(shè)計(jì)
不同用戶的視頻查看模塊有所不同,普通用戶僅能查看自己上傳的視頻時(shí)間和內(nèi)容,即查詢數(shù)據(jù)庫(kù)video表中當(dāng)前用戶曾上傳的視頻數(shù)據(jù),以表格的形式顯示在當(dāng)前頁(yè)面;而管理員和系統(tǒng)管理員可查看所有用戶上傳的視頻時(shí)間和內(nèi)容,即以表格的形式顯示出數(shù)據(jù)庫(kù)video表中所有的視頻數(shù)據(jù)。無(wú)論是哪種類型用戶,每行數(shù)據(jù)后均設(shè)有查看按鈕,點(diǎn)擊則可播放視頻,同時(shí)還能根據(jù)視頻上傳時(shí)間進(jìn)行升序或降序排列。數(shù)據(jù)太多時(shí),不僅可以通過(guò)頁(yè)面上方的搜索進(jìn)行查找,也可以使用用戶名、日期、時(shí)間等進(jìn)行篩選。視頻信息界面如圖8所示。
5" 結(jié)" 論
隨著人工智能技術(shù)的普及,視頻采集與傳輸系統(tǒng)的應(yīng)用范圍將不斷擴(kuò)大。文章結(jié)合自動(dòng)駕駛汽車非標(biāo)況道路交通標(biāo)志識(shí)別算法研究課題的需求,對(duì)視頻采集與傳輸系統(tǒng)整體進(jìn)行了詳細(xì)的需求分析、用例分析,以及核心模塊詳細(xì)的實(shí)現(xiàn)設(shè)計(jì)。避免惡劣天氣對(duì)視頻采集效果的影響,系統(tǒng)的視頻采集階段也相應(yīng)做了一些簡(jiǎn)單的圖像預(yù)處理,為后續(xù)非標(biāo)況道路交通標(biāo)志識(shí)別算法研究奠定了基礎(chǔ)。如果在視頻圖像預(yù)處理時(shí)能更進(jìn)一步優(yōu)化圖像增強(qiáng)算法,將更有利于自動(dòng)駕駛汽車的識(shí)別,提升安全性和穩(wěn)定性。同時(shí),該系統(tǒng)還能適用于監(jiān)控系統(tǒng)、教育教學(xué)系統(tǒng)等。
參考文獻(xiàn):
[1] 李升波,劉暢,殷玉明,等.汽車端到端自動(dòng)駕駛系統(tǒng)的關(guān)鍵技術(shù)與發(fā)展趨勢(shì) [J].人工智能,2023(5):1-16.
[2] 端帥,王霽宇,秦孔建,等.自動(dòng)駕駛汽車實(shí)際道路測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].制造業(yè)自動(dòng)化,2022,44(11):208-214.
[3] 陳晗晗,王俊英,任肖月.交通標(biāo)志的檢測(cè)與識(shí)別方法研究綜述 [J].信息技術(shù)與信息化,2024(3):77-82.
[4] 梁愈高.基于FPGA高速收發(fā)器的高清視頻傳輸系統(tǒng)設(shè)計(jì) [J].長(zhǎng)江信息通信,2024,37(7):107-109+112.
[5] 周方正.面向高速移動(dòng)場(chǎng)景的高速公路視頻采集和自動(dòng)化傳輸系統(tǒng)設(shè)計(jì) [J].電子設(shè)計(jì)工程,2024,32(9):191-195.
[6] 張?jiān)换?Bootstrap響應(yīng)式設(shè)計(jì)在甜點(diǎn)網(wǎng)站中的應(yīng)用研究 [J].現(xiàn)代信息科技,2024,8(15):88-92+98.
[7] 操心慧,溫智聰.基于JavaWeb的線上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代計(jì)算機(jī),2023,29(24):90-96.
[8] 黃一鋒.茶葉監(jiān)測(cè)預(yù)警數(shù)據(jù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn) [D].武漢:中南民族大學(xué),2018.
[9] 梁建勇.基于視頻識(shí)別的人員密集度檢測(cè)系統(tǒng)設(shè)計(jì) [J].電子設(shè)計(jì)工程,2021,29(23):152-157.
[10] 張博,羅維平.基于監(jiān)控視頻的奶牛飼料消耗狀態(tài)監(jiān)測(cè)與預(yù)測(cè)系統(tǒng) [J].農(nóng)業(yè)與技術(shù),2024,44(9):47-50.
作者簡(jiǎn)介:陽(yáng)皓筠(1995—),女,漢族,廣西桂林人,工程師,本科,研究方向:應(yīng)用開發(fā)、數(shù)據(jù)挖掘。
收稿日期:2024-08-10
基金項(xiàng)目:自然科學(xué)類課題(XJ2022002201)