日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過利用深度學(xué)習(xí)對(duì)道路損壞進(jìn)行檢測分析

新機(jī)器視覺 ? 來源:小白學(xué)視覺 ? 作者:小白學(xué)視覺 ? 2022-07-06 09:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.簡介

道路基礎(chǔ)設(shè)施是一項(xiàng)重要的公共資產(chǎn),因?yàn)樗兄诮?jīng)濟(jì)發(fā)展和增長,同時(shí)帶來重要的社會(huì)效益。路面檢查主要基于人類的視覺觀察和使用昂貴機(jī)器的定量分析。這些方法的最佳替代方案是智能探測器,它使用記錄的圖像或視頻來檢測損壞情況。除了道路INFR一個(gè)結(jié)構(gòu),道路破損檢測器也將在自主駕駛汽車,以檢測他們的方式有些坑洼或其他干擾,盡量避免他們有用。

2.數(shù)據(jù)集

本項(xiàng)目中使用的數(shù)據(jù)集是從這里收集的。該數(shù)據(jù)集包含不同國家的道路圖像,它們是日本、印度、捷克。對(duì)于圖像,標(biāo)簽的注釋是在 xml 文件中,即標(biāo)簽是 PASCAL VOC 格式。由于數(shù)據(jù)集包含來自日本的大部分圖像(在以前的版本中,它僅包含來自日本的圖像),因此根據(jù)數(shù)據(jù)來源,根據(jù)日本道路指南確定了標(biāo)簽。

但是最新的數(shù)據(jù)集現(xiàn)在包含其他國家的圖像,因此為了概括我們只考慮以下標(biāo)簽的損害。D00:垂直裂縫,D10:水平裂縫,D20:鱷魚裂縫,D40:坑洼

3.基于深度學(xué)習(xí)得目標(biāo)檢測

CNN 或卷積神經(jīng)網(wǎng)絡(luò)是所有計(jì)算機(jī)視覺任務(wù)的基石。即使在物體檢測的情況下,從圖像中提取物體的模式到特征圖(基本上是一個(gè)比圖像尺寸小的矩陣)卷積操作也被使用。現(xiàn)在從過去幾年開始,已經(jīng)對(duì)對(duì)象檢測任務(wù)進(jìn)行了大量研究,我們得到了大量最先進(jìn)的算法或方法,其中一些簡而言之,我們?cè)谙旅孢M(jìn)行了解釋。

4.EDA

數(shù)據(jù)集中的圖像總數(shù):26620

標(biāo)簽分布

每個(gè)班級(jí)的計(jì)數(shù)D00 : 6592 D10 : 4446 D20 : 8381 D40 : 5627

各國標(biāo)簽分布(全數(shù)據(jù)分析)

捷克數(shù)據(jù)分析0 圖像數(shù)量 2829 1 D00 988 2 D10 399 3 D20 161 4 D40 197 5 標(biāo)簽數(shù)量 1745 ************************ **********************************************印度數(shù)據(jù)分析 類別計(jì)數(shù)6 圖像數(shù)量 7706 7 D00 1555 8 D10 68 9 D20 2021 10 D40 3187 11 標(biāo)簽數(shù)量 6831 **************************** ******************************************日本數(shù)據(jù)分析12 圖像數(shù)量 10506 13 D00 404914 D10 3979 15 D20 6199 16 D40 2243 17 標(biāo)簽數(shù)量 16470 ************************************ ************************************

圖像中標(biāo)簽大小的分布

標(biāo)簽最小尺寸:0x1 標(biāo)簽最大尺寸:704x492

5.關(guān)鍵技術(shù)

對(duì)象檢測現(xiàn)在是一個(gè)龐大的主題,相當(dāng)于一個(gè)學(xué)期的主題。它由許多算法組成。因此,為了使其簡短,目標(biāo)檢測算法被分為各種類別,例如基于區(qū)域的算法(RCNN、Fast-RCNN、Faster-RCNN)、兩級(jí)檢測器、一級(jí)檢測器,其中基于區(qū)域的算法本身是兩級(jí)檢測器的一部分,但我們將在下面簡要地解釋它們,因此我們明確地提到了它們。讓我們從RCNN(基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò))開始。

目標(biāo)檢測算法的基本架構(gòu)由兩部分組成。該部分由一個(gè) CNN 組成,它將原始圖像信息轉(zhuǎn)換為特征圖,在下一部分中,不同的算法有不同的技術(shù)。因此,在 RCNN 的情況下,它使用選擇性搜索來獲得 ROI(感興趣區(qū)域),即在那個(gè)地方有可能有不同的對(duì)象。從每個(gè)圖像中提取大約 2000 個(gè)區(qū)域。它使用這些 ROI 對(duì)標(biāo)簽進(jìn)行分類并使用兩種不同的模型預(yù)測對(duì)象位置。因此這些模型被稱為兩級(jí)檢測器。

RCNN 有一些限制,為了克服這些限制,他們提出了 Fast RCNN。RCNN 具有很高的計(jì)算時(shí)間,因?yàn)槊總€(gè)區(qū)域都分別傳遞給 CNN,并且它使用三種不同的模型進(jìn)行預(yù)測。因此,在 Fast RCNN 中,每個(gè)圖像只傳遞一次到 CNN 并提取特征圖。在這些地圖上使用選擇性搜索來生成預(yù)測。將 RCNN 中使用的所有三個(gè)模型組合在一起。

但是 Fast RCNN 仍然使用緩慢的選擇性搜索,因此計(jì)算時(shí)間仍然很長。猜猜他們想出了另一個(gè)名字有意義的版本,即更快的 RCNN。Faster RCNN 用區(qū)域提議網(wǎng)絡(luò)代替了選擇性搜索方法,使算法更快?,F(xiàn)在讓我們轉(zhuǎn)向一些一次性檢測器。YOLO 和 SSD 是非常著名的物體檢測模型,因?yàn)樗鼈冊(cè)谒俣群蜏?zhǔn)確性之間提供了非常好的權(quán)衡

YOLO:單個(gè)神經(jīng)網(wǎng)絡(luò)在一次評(píng)估中直接從完整圖像中預(yù)測邊界框和類別概率。由于整個(gè)檢測管道是一個(gè)單一的網(wǎng)絡(luò),因此可以直接在檢測性能上進(jìn)行端到端的優(yōu)化

SSD(Single Shot Detector):SSD 方法將邊界框的輸出空間離散為一組不同縱橫比的默認(rèn)框。離散化后,該方法按特征圖位置進(jìn)行縮放。Single Shot Detector 網(wǎng)絡(luò)結(jié)合了來自具有不同分辨率的多個(gè)特征圖的預(yù)測,以自然地處理各種大小的對(duì)象。

6.型號(hào)

作為深度學(xué)習(xí)的新手,或者準(zhǔn)確地說是計(jì)算機(jī)視覺,為了學(xué)習(xí)基礎(chǔ)知識(shí),我們嘗試了一些基本且快速的算法來實(shí)現(xiàn)如下數(shù)據(jù)集:

Efficientdet_d0SSD_mobilenet_v2YOLOv3

對(duì)于第一個(gè)和第二個(gè)模型,我們使用了tensorflow 模型 zoo并且為了訓(xùn)練 yolov3 引用了this。用于評(píng)估 mAP(平均平均精度),使用 Effectivedet_d0 和 ssd_mobilenet_v2 得到的 mAP 非常低,可能是因?yàn)闆]有更改學(xué)習(xí)率、優(yōu)化器和數(shù)據(jù)增強(qiáng)的一些默認(rèn)配置。

7.結(jié)果

使用 efficicentdet_d0 進(jìn)行推導(dǎo)

import tensorflow as tffrom object_detection.utils import label_map_utilfrom object_detection.utils import config_utilfrom object_detection.utils import visualization_utils as viz_utilsfrom object_detection.builders import model_builder# Load pipeline config and build a detection modelconfigs = config_util.get_configs_from_pipeline_file('/content/efficientdet_d0_coco17_tpu-32/pipeline.config')model_config = configs['model']detection_model = model_builder.build(model_config=model_config, is_training=False)# Restore checkpointckpt = tf.compat.v2.train.Checkpoint(model=detection_model)ckpt.restore('/content/drive/MyDrive/efficientdet/checkpoints/ckpt-104').expect_partial()@tf.functiondef detect_fn(image):"""Detect objects in image."""    image, shapes = detection_model.preprocess(image)    prediction_dict = detection_model.predict(image, shapes)    detections = detection_model.postprocess(prediction_dict, shapes)return detectionscategory_index = label_map_util.create_category_index_from_labelmap('/content/data/label_map.pbtxt',                                                                    use_display_name=True)for image_path in IMAGE_PATHS:    print('Running inference for {}... '.format(image_path), end='')    image_np = load_image_into_numpy_array(image_path)    input_tensor = tf.convert_to_tensor(np.expand_dims(image_np, 0), dtype=tf.float32)    detections = detect_fn(input_tensor)    num_detections = int(detections.pop('num_detections'))    detections = {key: value[0, :num_detections].numpy()for key, value in detections.items()}    detections['num_detections'] = num_detections# detection_classes should be ints.    detections['detection_classes'] = detections['detection_classes'].astype(np.int64)    label_id_offset = 1    image_np_with_detections = image_np.copy()    viz_utils.visualize_boxes_and_labels_on_image_array(            image_np_with_detections,            detections['detection_boxes'],            detections['detection_classes']+label_id_offset,            detections['detection_scores'],            category_index,            use_normalized_coordinates=True,            max_boxes_to_draw=200,            min_score_thresh=.30,            agnostic_mode=False)    %matplotlib inline    fig = plt.figure(figsize = (10,10))    plt.imshow(image_np_with_detections)    print('Done')    plt.show()

使用 SSD_mobilenet_v2 進(jìn)行推導(dǎo)

(與efficientdet 相同的代碼)

YOLOv3 的推導(dǎo)

def func(input_file):classes = ['D00', 'D10', 'D20', 'D40']alt_names = {'D00': 'lateral_crack', 'D10': 'linear_cracks', 'D20': 'aligator_crakcs', 'D40': 'potholes'}  # initialize a list of colors to represent each possible class labelnp.random.seed(42)COLORS = np.random.randint(0, 255, size=(len(classes), 3),dtype="uint8")  # derive the paths to the YOLO weights and model configurationweightsPath = "/content/drive/MyDrive/yolo/yolo-obj_final.weights"configPath = "/content/yolov3.cfg"  # load our YOLO object detector trained on COCO dataset (80 classes)  # and determine only the *output* layer names that we need from YOLO  #print("[INFO] loading YOLO from disk...")net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)ln = net.getLayerNames()ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]  # read the next frame from the fileframe = cv2.imread(input_file)(H, W) = frame.shape[:2]  # construct a blob from the input frame and then perform a forward  # pass of the YOLO object detector, giving us our bounding boxes  # and associated probabilitiesblob = cv2.dnn.blobFromImage(frame, 1 / 255.0, (416, 416),swapRB=True, crop=False)net.setInput(blob)start = time.time()layerOutputs = net.forward(ln)end = time.time()  # initialize our lists of detected bounding boxes, confidences,  # and class IDs, respectivelyboxes = []confidences = []classIDs = []  # loop over each of the layer outputsfor output in layerOutputs:    # loop over each of the detectionsfor detection in output:      # extract the class ID and confidence (i.e., probability)      # of the current object detectionscores = detection[5:]classID = np.argmax(scores)confidence = scores[classID]      # filter out weak predictions by ensuring the detected      # probability is greater than the minimum probabilityif confidence > 0.3:        # scale the bounding box coordinates back relative to        # the size of the image, keeping in mind that YOLO        # actually returns the center (x, y)-coordinates of        # the bounding box followed by the boxes' width and        # heightbox = detection[0:4] * np.array([W, H, W, H])(centerX, centerY, width, height) = box.astype("int")        # use the center (x, y)-coordinates to derive the top        # and and left corner of the bounding boxx = int(centerX - (width / 2))y = int(centerY - (height / 2))        # update our list of bounding box coordinates,        # confidences, and class IDsboxes.append([x, y, int(width), int(height)])confidences.append(float(confidence))classIDs.append(classID)  # apply non-maxima suppression to suppress weak, overlapping  # bounding boxesidxs = cv2.dnn.NMSBoxes(boxes, confidences, 0.3,0.25)  # ensure at least one detection existsif len(idxs) > 0:    # loop over the indexes we are keepingfor i in idxs.flatten():      # extract the bounding box coordinates(x, y) = (boxes[i][0], boxes[i][1])(w, h) = (boxes[i][2], boxes[i][3])      # draw a bounding box rectangle and label on the framecolor = [int(c) for c in COLORS[classIDs[i]]]cv2.rectangle(frame, (x, y), (x + w, y + h), color, 2)label = classes[classIDs[i]]text = "{}: {:.4f}".format(alt_names[label],confidences[i])cv2.putText(frame, text, (x, y - 5),cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)  cv2_imshow(frame)
審核編輯:郭婷
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 檢測器
    +關(guān)注

    關(guān)注

    1

    文章

    948

    瀏覽量

    50142
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7842

    瀏覽量

    93498
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5610

    瀏覽量

    124659

原文標(biāo)題:實(shí)戰(zhàn):基于深度學(xué)習(xí)的道路損壞檢測

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深度學(xué)習(xí)為什么還是無法處理邊緣場景?

    選擇視而不見甚至直接加速。 之所以出現(xiàn)這個(gè)問題,是因?yàn)?b class='flag-5'>深度學(xué)習(xí)模型大多建立在統(tǒng)計(jì)學(xué)基礎(chǔ)之上,它們通過觀察數(shù)以千萬計(jì)的圖像學(xué)習(xí)識(shí)別物體的特征。然而,真實(shí)世界的
    的頭像 發(fā)表于 05-04 10:16 ?2152次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>為什么還是無法處理邊緣場景?

    如何對(duì)電纜局部放電進(jìn)行檢測?

    作為一種用于評(píng)估電纜絕緣系統(tǒng)健康狀態(tài)的無損診斷技術(shù),電纜局部放電檢測通過檢測電纜在高壓作用下絕緣部分產(chǎn)生的局部放電信號(hào),來發(fā)現(xiàn)潛伏性缺陷、評(píng)估絕緣老化程度,并預(yù)防絕緣擊穿等故障。其檢測
    的頭像 發(fā)表于 04-22 09:54 ?276次閱讀
    如何對(duì)電纜局部放電<b class='flag-5'>進(jìn)行檢測</b>?

    2026視覺檢測產(chǎn)業(yè)深度調(diào)研及未來趨勢分析

    視覺檢測技術(shù)融合深度學(xué)習(xí)與多模態(tài)傳感,實(shí)現(xiàn)從輔助工具向決策中樞的轉(zhuǎn)變,推動(dòng)智能制造與工業(yè)4.0發(fā)展。
    的頭像 發(fā)表于 04-01 09:26 ?280次閱讀
    2026視覺<b class='flag-5'>檢測</b>產(chǎn)業(yè)<b class='flag-5'>深度</b>調(diào)研及未來趨勢<b class='flag-5'>分析</b>

    【智能檢測】基于AI深度學(xué)習(xí)與飛拍技術(shù)的影像測量系統(tǒng):實(shí)現(xiàn)高效精準(zhǔn)的全自動(dòng)光學(xué)檢測與智能制造數(shù)據(jù)閉環(huán)

    內(nèi)容概要:文檔內(nèi)容介紹了中圖儀器(Chotest)影像測量儀融合人工智能深度學(xué)習(xí)與飛拍技術(shù)的自動(dòng)化檢測解決方案。系統(tǒng)通過AI深度
    發(fā)表于 03-31 17:11

    穿孔機(jī)頂頭檢測儀 機(jī)器視覺深度學(xué)習(xí)

    ,能適用惡劣工況,在粉塵、高溫、氧化皮等惡劣環(huán)境中均可正常工作。 測量原理 利用頂頭與周圍的物質(zhì)(水、空氣、導(dǎo)盤等)紅外輻射能量的差異,用熱成像相機(jī)拍攝出清晰的圖片,再通過深度學(xué)習(xí)短時(shí)間內(nèi)深度
    發(fā)表于 12-22 14:33

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課(11大系列課程,共5000+分鐘)

    行業(yè)市場具備深度學(xué)習(xí)能力的視覺系統(tǒng)占比已突破40%,催生大量復(fù)合型技術(shù)崗位需求: ? 崗位缺口:視覺算法工程師全國缺口15萬+,缺陷檢測專項(xiàng)人才招聘響應(yīng)率僅32% ? 薪資水平:掌握LabVIEW+
    發(fā)表于 12-04 09:28

    進(jìn)行檢測溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來實(shí)現(xiàn)

    進(jìn)行檢測溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來實(shí)現(xiàn)。 該數(shù)據(jù)記錄模塊是一種串口設(shè)備,在使用時(shí)其工作的波特率為9600bps,在接收到開發(fā)板所發(fā)送的數(shù)據(jù)時(shí),就將數(shù)據(jù)完整地記錄到TF卡的文件中。
    發(fā)表于 12-01 08:18

    如何深度學(xué)習(xí)機(jī)器視覺的應(yīng)用場景

    檢測應(yīng)用 微細(xì)缺陷識(shí)別:檢測肉眼難以發(fā)現(xiàn)的微小缺陷和異常 紋理分析:對(duì)材料表面紋理進(jìn)行智能分析和缺陷識(shí)別 3D表面重建:
    的頭像 發(fā)表于 11-27 10:19 ?354次閱讀

    如何檢測電能質(zhì)量在線監(jiān)測裝置采樣電阻是否損壞?

    故障源(如 CT、ADC),具體操作如下: 一、第一階段:非侵入式檢測 —— 通過數(shù)據(jù)異常初步定位 無需拆解裝置,僅通過觀察裝置顯示的電流數(shù)據(jù)及告警,判斷采樣電阻是否存在損壞嫌疑,核心
    的頭像 發(fā)表于 10-22 15:07 ?1257次閱讀

    XKCON祥控輸煤皮帶智能機(jī)器人巡檢系統(tǒng)對(duì)監(jiān)測數(shù)據(jù)進(jìn)行挖掘分析

    XKCON祥控輸煤皮帶智能機(jī)器人巡檢系統(tǒng)通過智能機(jī)器人在皮帶運(yùn)行過程中對(duì)皮帶的運(yùn)行狀態(tài)和環(huán)境狀況進(jìn)行實(shí)時(shí)檢測,在應(yīng)用過程中,不但提升了巡視周期頻次,還通過大數(shù)據(jù)分析
    的頭像 發(fā)表于 09-15 11:22 ?806次閱讀
    XKCON祥控輸煤皮帶智能機(jī)器人巡檢系統(tǒng)對(duì)監(jiān)測數(shù)據(jù)<b class='flag-5'>進(jìn)行</b>挖掘<b class='flag-5'>分析</b>

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測可定位已訓(xùn)練的目標(biāo)類別,并通過矩形框(邊界框)對(duì)其進(jìn)行標(biāo)識(shí)。 在討論人工智能(AI)或
    的頭像 發(fā)表于 09-10 17:38 ?1079次閱讀
    如何在機(jī)器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    普蘭店來看看你的產(chǎn)品是否適用單軸測徑儀進(jìn)行檢測

    是否符合公差要求(平臺(tái)型號(hào)測量精度在±0.01mm)。 管材制造:無縫鋼管、精密合金管的外徑測量,避免因軋制參數(shù)偏差導(dǎo)致管徑超差,對(duì)大口徑管材的檢測更有為其研制的大直徑測徑儀,可對(duì)外徑為幾米的直徑進(jìn)行檢測
    發(fā)表于 08-22 15:25

    存儲(chǔ)示波器的存儲(chǔ)深度對(duì)信號(hào)分析有什么影響?

    內(nèi)存)。 偶發(fā)信號(hào):存儲(chǔ)深度≥10Mpts(分段存儲(chǔ),如1000段×10μs)。 通過合理設(shè)置存儲(chǔ)深度,可確保信號(hào)的時(shí)域完整性、頻域精度和觸發(fā)穩(wěn)定性,優(yōu)化示波器在高頻、低頻及偶發(fā)信號(hào)分析
    發(fā)表于 05-27 14:39

    提高IT運(yùn)維效率,深度解讀京東云AIOps落地實(shí)踐(異常檢測篇)

    基于深度學(xué)習(xí)對(duì)運(yùn)維時(shí)序指標(biāo)進(jìn)行異常檢測,快速發(fā)現(xiàn)線上業(yè)務(wù)問題 時(shí)間序列的異常檢測是實(shí)際應(yīng)用中的一個(gè)關(guān)鍵問題,尤其是在 IT 行業(yè)。我們沒有采
    的頭像 發(fā)表于 05-22 16:38 ?1181次閱讀
    提高IT運(yùn)維效率,<b class='flag-5'>深度</b>解讀京東云AIOps落地實(shí)踐(異常<b class='flag-5'>檢測</b>篇)

    基于RK3576開發(fā)板的車輛檢測算法

    車輛檢測是一種基于深度學(xué)習(xí)的對(duì)人進(jìn)行檢測定位的目標(biāo)檢測,能廣泛的用于園區(qū)管理、交通分析等多種場景
    的頭像 發(fā)表于 05-08 17:34 ?1669次閱讀
    基于RK3576開發(fā)板的車輛<b class='flag-5'>檢測</b>算法
    吴堡县| 新乡县| 如东县| 霍山县| 荣昌县| 松潘县| 永定县| 明光市| 南康市| 汾西县| 固安县| 定州市| 庆阳市| 镇巴县| 林甸县| 仪征市| 读书| 江永县| 中卫市| 古蔺县| 库车县| 法库县| 荆门市| 满城县| 杭州市| 绩溪县| 宿松县| 邹城市| 山阳县| 禄丰县| 永福县| 大冶市| 太仓市| 昌平区| 华宁县| 新兴县| 许昌市| 安仁县| 沙田区| 湖口县| 合江县|