色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何利用衛(wèi)星圖像對儲油罐的體積進行估計

牽手一起夢 ? 來源:磐創(chuàng)AI ? 作者:佚名 ? 2020-09-16 14:54 ? 次閱讀

在1957年以前,地球上只有一顆天然衛(wèi)星:月球。1957年10月4日,蘇聯發(fā)射了世界上第一顆人造衛(wèi)星,從那時起,來自40多個國家大約有8900顆衛(wèi)星發(fā)射升空。

這些衛(wèi)星可以幫助我們進行監(jiān)視、通信、導航等等。國家可以利用衛(wèi)星監(jiān)視另一個國家的土地及其動向,估計其經濟和實力,然而所有的國家都互相隱瞞著他們的信息。同理,全球石油市場也并非完全透明,幾乎所有的產油國都在努力隱藏著自己的總產量、消費量和儲存量,各國這樣做是為了間接地向外界隱瞞其實際經濟,并增強其國防系統(tǒng)的能力,這種做法可能會對其他國家造成威脅。出于這個原因,許多初創(chuàng)公司,如Planet和Orbital Insight,都通過衛(wèi)星圖像來關注各國的此類活動。通過收集儲油罐的衛(wèi)星圖像來估算石油儲量。但問題是,如何僅憑衛(wèi)星圖像來估計儲油罐的體積呢?首先第一個條件是儲油罐為浮頂油罐,因為只有這樣,衛(wèi)星才能檢測到。這種特殊類型的油罐是專門為儲存大量石油產品而設計的,如原油或凝析油,它由頂蓋組成,直接位于油的頂部,隨著油箱中油量的增加或下降,并在其周圍形成兩個陰影。如下圖所示,陰影位于北側

如何利用衛(wèi)星圖像對儲油罐的體積進行估計

(外部陰影)是指儲罐的總高度,而儲罐內的陰影(內部陰影)表示浮頂的深度,體積可估計計算為1-(內部陰影區(qū)域/外部陰影區(qū)域)。在本文,我們將使用Tensorflow2.x框架,在衛(wèi)星圖像的幫助下,使用python從零開始實現一個完整的模型來估計儲油罐的占用量。GitHub倉庫本文的所有內容和整個代碼都可以在這個github存儲庫中找到https://github.com/mdmub0587/Oil-Storage-Tank-s-Volume-Occupancy以下是本文目錄。我們會逐一探索。目錄

問題陳述、數據集和評估指標

現有方法

相關研究工作

有用的博客和研究論文

我們的貢獻

探索性數據分析(EDA

數據擴充

數據預處理、擴充和TFRecords

基于YoloV3的目標檢測

儲量估算

結果

結論

今后的工作

參考引用

1.問題陳述、數據集和評估指標

問題陳述:利用衛(wèi)星圖像進行浮頂油罐的檢測和儲油量的估算,然后將圖像塊重新組合成具有儲油量估計的全圖像。數據集:數據集鏈接:https://www.kaggle.com/towardsentropy/oil-storage-tanks該數據集包含一個帶注釋的邊界框,衛(wèi)星圖像是從谷歌地球(google earth)拍攝的,它包含有世界各地的工業(yè)區(qū)。數據集中有2個文件夾和3個文件,讓我們逐一看看。large_images: 這是一個文件夾,包含100個衛(wèi)星原始圖像,每個大小為4800x4800,所有圖像都以id_large.jpg格式命名。Image_patches: Image_patches目錄包含從大圖像生成的512x512大小的子圖,每個大的圖像被分割成100個512x512大小的子圖,兩個軸上的子圖之間有37個像素的重疊,生成圖像子圖的程序以id_row_column.jpg格式命名**labels.json:**它包含所有圖像的標簽。標簽存儲為字典列表,每個圖像對應一個字典,不包含任何浮頂罐的圖像將被標記為“skip”,邊界框標簽的格式為邊界框四個角的(x,y)坐標。labels_coco.json: 它包含與前一個文件相同的標簽的COCO標簽格式。在這里,邊界框的格式為[x_min, y_min, width, height].**large_image_data.csv:**它包含大型圖像文件的元數據,包括每個圖像的中心坐標和海拔高度。評估指標:對于儲油罐的檢測,我們將使用每種儲油罐的平均精度(Average Precision,AP)和各種儲油罐的mAP(Mean Average Precision,平均精度)來作為評估指標。浮頂罐的估計容積沒有度量標準。mAP 是目標檢測模型的標準評估指標。mAP 的詳細說明可以在下面的youtube播放列表中找到https://www.youtube.com/watch?list=PL1GQaVhO4f_jE5pnXU_Q4MSrIQx4wpFLM&v=e4G9H18VYmA

2.現有方法

Karl Keyer [1]在他的存儲庫中使用RetinaNet來完成儲油罐探測任務。他從頭開始創(chuàng)建模型,并將生成的錨框應用于該數據集,他的研究使得浮頂罐的平均精度(AP)達到76.3%,然后他應用陰影增強和像素閾值法來計算它的體積。據我所知,這是互聯網上唯一可用的方法。

3.相關研究工作

Estimating the Volume of Oil Tanks Based on High-Resolution Remote Sensing Images [2]:這篇文章提出了一種基于衛(wèi)星圖像的油罐容量/容積估算方法。為了計算一個儲油罐的總容積,他們需要儲油罐的高度和半徑。為了計算高度,他們使用了與投影陰影長度的幾何關系,但是計算陰影的長度并不容易,為了突出陰影使用了HSV(即色調飽和度值)顏色空間,因為通常陰影在HSV顏色空間中具有高飽和度,然后采用基于亞像素細分定位(subpixel subdivision positioning)的中值法來計算陰影長度,最后利用Hough變換算法得到油罐半徑。在本文的相關工作中,提出了基于衛(wèi)星圖像的建筑物高度計算方法。

4.有用的博客和研究論文

A Beginner’s Guide To Calculating Oil Storage Tank Occupancy With Help Of Satellite Imagery [3]:本博客作者為TankerTracker.com,其中的一項工作是利用衛(wèi)星圖像跟蹤幾個感興趣的地理位置的原油儲存情況。在這篇博客中,他們詳細描述了儲油罐的外部和內部陰影如何幫助我們估計其中的石油含量,還比較了衛(wèi)星在特定時間和一個月后拍攝的圖像,顯示了一個月來儲油罐的變化。這個博客給了我們一個直觀的知識,即如何估計量。A Gentle Introduction to Object Recognition With Deep Learning [4] :本文會介紹對象檢測初學者頭腦中出現的最令人困惑的概念。首先,描述了目標分類、目標定位、目標識別和目標檢測之間的區(qū)別,然后討論了一些最新深度學習算法來展開目標識別任務。對象分類是指將標簽分配給包含單個對象的圖像,而對象定位是指在圖像中的一個或多個對象周圍繪制一個邊界框,目標檢測任務結合了目標分類和定位。這意味著這是一個更具挑戰(zhàn)性/復雜的任務,首先通過本地化技術在感興趣對象(OI)周圍繪制一個邊界框,然后借助分類為每個OI分配一個標簽。目標識別是上述所有任務的集合(即分類、定位和檢測)。

最后,本文還討論了兩種主要的目標檢測算法/模型:Region-Based Convolutional Neural Networks (R-CNN)和You Only Look Once (YOLO)。Selective Search for Object Recognition [5]:在目標檢測任務中,最關鍵的部分是目標定位,因為目標分類是在此基礎上進行的,它依賴于定位所輸出的目標區(qū)域(簡稱區(qū)域建議)。更完美的定位可以實現更完美的目標檢測。選擇性搜索是一種新興的算法,在一些物體識別模型中被用于物體定位,如R-CNN和Fast-R-CNN。該算法首先使用高效的基于圖的圖像分割方法生成輸入圖像的子段,然后使用貪婪算法將較小的相似區(qū)域合并為較大的相似區(qū)域。分段相似性基于顏色、紋理、大小和填充四個屬性。

Region Proposal Network — A detailed view[6]:RPN(Region-proposition Network)由于其比傳統(tǒng)選擇性搜索算法更快而被廣泛地應用于目標定位,它從特征圖中學習目標的最佳位置,就像CNN從特征圖中學習分類一樣。它負責三個主要任務,首先生成錨定框(每個特征映射點生成9個不同形狀的錨定框),然后將每個錨定框分類為前景或背景(即是否包含對象),最后學習錨定框的形狀偏移量以使其適合對象。Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[7]:Faster R-CNN模型解決了前兩個相關模型(R-CNN和Fast R-CNN)的所有問題,并使用RPN作為區(qū)域建議生成器。它的架構與Fast R-CNN完全相同,只是它使用了RPN而不是選擇性搜索,這使得它比Fast R-CNN快34倍。

Real-time Object Detection with YOLO, YOLOv2, and now YOLOv3 [8]:在介紹Yolo系列模型之前,讓我們先看一下首席研究員約瑟夫·雷德曼在Ted演講上的演講。https://youtu.be/Cgxsv1riJhI這個模型在對象檢測模型列表中占據首位的原因有很多,然而,最主要的原因是它的牢固性,它的推理時間非常短,這是為什么它很容易匹配視頻的正常速度(即25fps)并應用于實時數據的原因。

與其他對象檢測模型不同,Yolo模型具有以下特性。單神經網絡模型(即分類和定位任務都將從同一個模型中執(zhí)行):以一張照片作為輸入,直接預測每個邊界框的邊界框和類標簽,這意味著它只看一次圖像。由于它對整個圖像而不是圖像的一部分執(zhí)行卷積,因此它產生的背景錯誤非常少。YOLO學習對象的一般化表示。在對自然圖像進行訓練和藝術品測試時,YOLO的性能遠遠超過DPM和R-CNN等頂級檢測方法。由于YOLO具有高度的通用性,所以當應用于新的域或意外的輸入時,它不太可能崩潰。是什么讓YoloV3比Yolov2更好。如果你仔細看一下yolov2論文的標題,那就是“YOLO9000: Better, Faster, Stronger”。yolov3比yolov2更好嗎?答案是肯定的,它更好,但不是更快更強,因為體系的復雜性增加了。Yolov2使用了19層DarkNet架構,沒有任何殘差塊、skip連接和上采樣,因此它很難檢測到小對象,然而在Yolov3中,這些特性被添加了,并且使用了在Imagenet上訓練的53層DarkNet網絡,除此之外,還堆積了53個卷積層,形成了106個卷積層結構。

Yolov3在三種不同的尺度上進行預測,首先是大對象的13X13網格,其次是中等對象的26X26網格,最后是小對象的52X52網格。YoloV3總共使用9個錨箱,每個標度3個,用K均值聚類法選出最佳錨盒。Yolov3可以對圖像中檢測到的對象執(zhí)行多標簽分類,通過logistic回歸預測對象置信度和類預測。

5.我們的貢獻

我們的問題陳述包括兩個任務,第一個是浮頂罐的檢測,另一個是陰影的提取和已識別罐容積的估計。第一個任務是基于目標檢測,第二個任務是基于計算機視覺技術。讓我們描述一下解決每個任務的方法。儲罐檢測:我們的目標是估算浮頂罐的容積。我們可以為一個類建立目標檢測模型,但是為了減少一個模型與另一種儲油罐(即其他類型儲油罐)的混淆,并使其具有魯棒性,我們提出了三個類別的目標檢測模型。使用帶有轉移學習的YoloV3進行目標檢測是因為它更容易在機器上訓練,此外為了提高度量分值,還采用了數據增強的方法。陰影提取和體積估計:陰影提取涉及許多計算機視覺技術,由于RGB顏色方案對陰影不敏感,必須先將其轉換成HSV和LAB顏色空間,我們使用(l1+l3)/(V+1) (其中l(wèi)1是LAB顏色空間的第一個通道值)的比值圖像來增強陰影部分。然后,通過閾值0.5×t1+0.4×t2(其中t1是最小像素值,t2是平均值)來過濾增強圖像,再對閾值圖像進行形態(tài)學處理(即去除噪聲、清晰輪廓等)。最后,提取出兩個儲油罐的陰影輪廓,然后根據上述公式估算出所占用的體積。這些想法摘自以下Notebook。https://www.kaggle.com/towardsentropy/oil-tank-volume-estimation遵循整個流程來解決這個案例研究如下所示。

讓我們從數據集的探索性數據分析EDA開始吧!!

6.探索性數據分析(EDA)

探索Labels.json文件:json_labels = json.load(open(os.path.join('data','labels.json')))

print('Number of Images: ',len(json_labels))

json_labels[25:30]

所有的標簽都存儲在字典列表中,總共有10萬張圖片。不包含任何儲罐的圖像將標記為Skip,而包含儲罐的圖像將標記為tank、tank Cluster或Floating Head tank,每個tank對象都有字典格式的四個角點的邊界框坐標。計數:

在10K個圖像中,8187個圖像沒有標簽(即它們不包含任何儲油罐對象,此外有81個圖像包含至少一個儲油罐簇對象,1595個圖像包含至少一個浮頂儲油罐。在條形圖中,可以觀察到,在包含圖像的1595個浮頂罐中,26.45%的圖像僅包含一個浮頂罐對象,單個圖像中浮頂儲罐對象的最高數量為34。探索labels_coco.json文件:json_labels_coco = json.load(open(os.path.join('data','labels_coco.json')))

print('Number of Floating tanks: ',len(json_labels_coco['annotations']))

no_unique_img_id = set()

for ann in json_labels_coco['annotations']:

no_unique_img_id.add(ann['image_id'])

print('Number of Images that contains Floating head tank: ', len(no_unique_img_id))

json_labels_coco['annotations'][:8]

此文件僅包含浮頂罐的邊界框及其在字典格式列表中的image_id打印邊界框:

儲油罐有三種:Tank(T 油罐)Tank Cluster(TC 油罐組),Floating Head Tank(FHT,浮頂罐)

7.數據擴充

在EDA中,人們觀察到10000幅圖像中有8171幅是無用的,因為它們不包含任何對象,此外1595個圖像包含至少一個浮頂罐對象。眾所周知,所有的深度學習模型都需要大量的數據,沒有足夠的數據會導致性能的下降。因此,我們先進行數據擴充,然后將獲得的擴充數據擬合到Yolov3目標檢測模型中。

8.數據預處理、擴充和TFRecords

數據預處理:對象的注釋是以Jason格式給出的,其中有4個角點,首先,從這些角點提取左上角點和右下角點,然后屬于單個圖像的所有注釋及其對應的標簽都保存在CSV文件的一行列表中。從角點提取左上角點和右下角點的代碼def conv_bbox(box_dict):

"""

input: box_dict-> 字典中有4個角點

Function: 獲取左上方和右下方的點

output: tuple(ymin, xmin, ymax, xmax)

"""

xs = np.array(list(set([i['x'] for i in box_dict])))

ys = np.array(list(set([i['y'] for i in box_dict])))

x_min = xs.min()

x_max = xs.max()

y_min = ys.min()

y_max = ys.max()

return y_min, x_min, y_max, x_max

CSV文件將如下所示

為了評估模型,我們將保留10%的圖像作為測試集。# 訓練和測試劃分

df_train, df_test= model_selection.train_test_split(

df, #CSV文件注釋

test_size=0.1,

random_state=42,

shuffle=True,

df_train.shape, df_test.shape

數據擴充:我們知道目標檢測需要大量的數據,但是我們只有1645幅圖像用于訓練,這是非常少的,為了增加數據,我們必須執(zhí)行數據擴充。我們通過翻轉和旋轉原始圖像來生成新圖像。我們轉到下面的GitHub存儲庫,從中提取代碼進行擴充https://blog.paperspace.com/data-augmentation-for-bounding-boxes/通過執(zhí)行以下操作從單個原始圖像生成7個新圖像:水平翻轉旋轉90度旋轉180度旋轉270度水平翻轉和90度旋轉水平翻轉和180度旋轉水平翻轉和270度旋轉示例如下所示

TFRecords:TFRecords是TensorFlow自己的二進制存儲格式。當數據集太大時,它通常很有用。它以二進制格式存儲數據,并對訓練模型的性能產生顯著影響。二進制數據復制所需的時間更少,而且由于在訓練時只加載了一個batch數據,所以占用的空間也更少。你可以在下面的博客中找到它的詳細描述。https://medium.com/mostly-ai/tensorflow-records-what-they-are-and-h(huán)ow-to-use-them-c46bc4bbb564也可以查看下面的Tensorflow文檔。https://www.tensorflow.org/tutorials/load_data/tfrecord我們的數據集已轉換成RFRecords格式,但是我們沒有必要執(zhí)行此任務,因為我們的數據集不是很大,如果你感興趣,可以在我的GitHub存儲庫中找到代碼。

9.基于YoloV3的目標檢測

訓練:為了訓練yolov3模型,采用了遷移學習。第一步包括加載DarkNet網絡的權重,并在訓練期間凍結它以保持權重不變。def create_model():

tf.keras.backend.clear_session()

pret_model = YoloV3(size, channels, classes=80)

load_darknet_weights(pret_model, 'Pretrained_Model/yolov3.weights')

print('Pretrained Weight Loaded')

model = YoloV3(size, channels, classes=3)

model.get_layer('yolo_darknet').set_weights(

pret_model.get_layer('yolo_darknet').get_weights())

print('Yolo DarkNet weight loaded')

freeze_all(model.get_layer('yolo_darknet'))

print('Frozen DarkNet layers')

return model

model = create_model()

model.summary()

我們使用adam優(yōu)化器(初始學習率=0.001)來訓練我們的模型,并根據epoch應用余弦衰減來降低學習速率。在訓練過程中使用模型檢查點保存最佳權重,訓練結束后保存最后一個權重。tf.keras.backend.clear_session()

epochs = 100

learning_rate=1e-3

optimizer = get_optimizer(

optim_type = 'adam',

learning_rate=1e-3,

decay_type='cosine',

decay_steps=10*600

loss = [YoloLoss(yolo_anchors[mask], classes=3) for mask in yolo_anchor_masks]

model = create_model()

model.compile(optimizer=optimizer, loss=loss)

# Tensorbaord

! rm -rf ./logs/

logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))

%tensorboard --logdir $logdir

tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)

callbacks = [

EarlyStopping(monitor='val_loss', min_delta=0, patience=15, verbose=1),

ModelCheckpoint('Weights/Best_weight.hdf5', verbose=1, save_best_only=True),

tensorboard_callback,

history = model.fit(train_dataset,

epochs=epochs,

callbacks=callbacks,

validation_data=valid_dataset)

model.save('Weights/Last_weight.hdf5')

損失函數:

YOLO損失函數:Yolov3模型訓練中所用的損失函數相當復雜。Yolo在三個不同的尺度上計算三個不同的損失,并對反向傳播進行總結(正如你在上面的代碼單元中看到的,最終損失是三個不同損失的列表),每個loss都通過4個子函數來計算檢測損失和分類損失。中心(x,y) 的MSE損失.邊界框的寬度和高度的均方誤差(MSE)邊界框的二元交叉熵得分與無目標得分邊界框多類預測的二元交叉熵或稀疏范疇交叉熵讓我們看看Yolov2中使用的損失公式

Yolov2中的最后三項是平方誤差,而在Yolov3中,它們被交叉熵誤差項所取代,換句話說,Yolov3中的對象置信度和類預測現在通過logistic回歸來進行預測。看看Yolov3損失函數的實現def YoloLoss(anchors, classes=3, ignore_thresh=0.5):

def yolo_loss(y_true, y_pred):

# 1. 轉換所有預測輸出

# y_pred: (batch_size, grid, grid, anchors, (x, y, w, h, obj, ...cls))

pred_box, pred_obj, pred_class, pred_xywh = yolo_boxes(

y_pred, anchors, classes)

# predicted (tx, ty, tw, th)

pred_xy = pred_xywh[..., 0:2] #x,y of last channel

pred_wh = pred_xywh[..., 2:4] #w,h of last channel

# 2. 轉換所有真實輸出

# y_true: (batch_size, grid, grid, anchors, (x1, y1, x2, y2, obj, cls))

true_box, true_obj, true_class_idx = tf.split(

y_true, (4, 1, 1), axis=-1)

#轉換 x1, y1, x2, y2 to x, y, w, h

# x,y = (x2 - x1)/2, (y2-y1)/2

# w, h = (x2- x1), (y2 - y1)

true_xy = (true_box[..., 0:2] + true_box[..., 2:4]) / 2

true_wh = true_box[..., 2:4] - true_box[..., 0:2]

# 小的box要更高權重

#shape-> (batch_size, grid, grid, anchors)

box_loss_scale = 2 - true_wh[..., 0] * true_wh[..., 1]

# 3. 對pred box進行反向

# 把 (bx, by, bw, bh) 變?yōu)?(tx, ty, tw, th)

grid_size = tf.shape(y_true)[1]

grid = tf.meshgrid(tf.range(grid_size), tf.range(grid_size))

grid = tf.expand_dims(tf.stack(grid, axis=-1), axis=2)

true_xy = true_xy * tf.cast(grid_size, tf.float32) - tf.cast(grid, tf.float32)

true_wh = tf.math.log(true_wh / anchors)

true_wh = tf.where(tf.logical_or(tf.math.is_inf(true_wh),

tf.math.is_nan(true_wh)),

tf.zeros_like(true_wh), true_wh)

# 4. 計算所有掩碼

#從張量的形狀中去除尺寸為1的維度。

#obj_mask: (batch_size, grid, grid, anchors)

obj_mask = tf.squeeze(true_obj, -1)

#當iou超過臨界值時,忽略假正例

#best_iou: (batch_size, grid, grid, anchors)

best_iou = tf.map_fn(

lambda x: tf.reduce_max(broadcast_iou(x[0], tf.boolean_mask(

x[1], tf.cast(x[2], tf.bool))), axis=-1),

(pred_box, true_box, obj_mask),

tf.float32)

ignore_mask = tf.cast(best_iou < ignore_thresh, tf.float32)

# 5.計算所有損失

xy_loss = obj_mask * box_loss_scale *

tf.reduce_sum(tf.square(true_xy - pred_xy), axis=-1)

wh_loss = obj_mask * box_loss_scale *

tf.reduce_sum(tf.square(true_wh - pred_wh), axis=-1)

obj_loss = binary_crossentropy(true_obj, pred_obj)

obj_loss = obj_mask * obj_loss +

(1 - obj_mask) * ignore_mask * obj_loss

#TODO:使用binary_crossentropy代替

class_loss = obj_mask * sparse_categorical_crossentropy(

true_class_idx, pred_class)

# 6. 在(batch, gridx, gridy, anchors)求和得到 => (batch, 1)

xy_loss = tf.reduce_sum(xy_loss, axis=(1, 2, 3))

wh_loss = tf.reduce_sum(wh_loss, axis=(1, 2, 3))

obj_loss = tf.reduce_sum(obj_loss, axis=(1, 2, 3))

class_loss = tf.reduce_sum(class_loss, axis=(1, 2, 3))

return xy_loss + wh_loss + obj_loss + class_loss

return yolo_loss

分數:為了評估我們的模型,我們使用了AP和mAP來評估訓練和測試數據測試集分數get_mAP(model, 'data/test.csv')

訓練集分數get_mAP(model, 'data/train.csv')

推理:讓我們看看這個模型是如何執(zhí)行的

10.儲量估算

體積估算是本案例研究的主要內容。雖然沒有評估估計容積的標準,但我們試圖找到圖像的最佳閾值像素值,以便能夠在很大程度上檢測陰影區(qū)域(通過計算像素數)。我們將使用衛(wèi)星拍攝到的4800X4800形狀的大圖像,并將其分割成100個512x512的子圖,兩個軸上的子圖之間重疊37像素。圖像修補程序在id_row_column.jpg命名。每個生成的子圖預測都將存儲在一個CSV文件中,然后再估計每個浮頂儲油罐的體積(代碼和解釋以Notebook格式在我的GitHub存儲庫中提供)。最后,將所有的圖像塊和邊界框與標簽合并,輸出估計的體積,形成一個大的圖像。你可以看看下面的例子:

11.結果

測試集上浮頂罐的AP分數為0.874,訓練集上的AP分數為0.942。

12.結論

只需有限的圖像就可以得到相當好的結果。數據增強工作得很到位。在本例中,與RetinaNet模型的現有方法相比,yolov3表現得很好。

13.今后的工作

浮頂罐的AP值為87.4%,得分較高,但我們可以嘗試在更大程度上提高分數。我們將嘗試生成的更多數據來訓練這個模型。我們將嘗試訓練另一個更精確的模型,如yolov4,yolov5(非官方)。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6029

    瀏覽量

    135961
  • 衛(wèi)星
    +關注

    關注

    18

    文章

    1713

    瀏覽量

    67012
  • 導航
    +關注

    關注

    7

    文章

    528

    瀏覽量

    42407
收藏 人收藏

    評論

    相關推薦

    如何利用遙感監(jiān)測環(huán)境變化 遙感衛(wèi)星的工作原理與種類

    利用遙感監(jiān)測環(huán)境變化是一個復雜但高效的過程,它主要依賴于遙感衛(wèi)星的工作原理及其種類。以下是對這兩個方面的介紹: 遙感監(jiān)測環(huán)境變化的步驟 選擇合適的傳感器 :不同類型的傳感器可以獲取不同波段的信息,如
    的頭像 發(fā)表于 12-05 10:25 ?258次閱讀

    通過北斗衛(wèi)星進行授時,時鐘同步裝置的工作原理是什么?

    ? ? 北斗衛(wèi)星導航系統(tǒng)是中國自主研發(fā)的衛(wèi)星導航定位系統(tǒng),包括北斗一號和北斗二號兩個階段,是全球定位系統(tǒng)的重要組成部分之一。控制系統(tǒng)北斗衛(wèi)星導航系統(tǒng)授時的核心是控制系統(tǒng),其由多個衛(wèi)星
    的頭像 發(fā)表于 12-03 14:05 ?226次閱讀
    通過北斗<b class='flag-5'>衛(wèi)星</b><b class='flag-5'>進行</b>授時,時鐘同步裝置的工作原理是什么?

    第三章:訓練圖像估計光照度算法模型

    這一篇就到了圖像估計光照度算法章節(jié),這篇我主要記錄如何使用 tensorflow2 訓練一個從圖片中估計光照度的算法。一般的流程是拍攝多張圖片以及用光照度計來檢測其光照度值,分別作為輸入和輸出
    的頭像 發(fā)表于 11-06 15:57 ?366次閱讀

    利用圖像處理板避障 讓小型飛行器像昆蟲一樣靈巧

    要的一點是要對環(huán)境進行自動化的識別。利用高性能的AI圖像處理板,再定制化目標識別檢測的算法,通過對飛行環(huán)境的大量深度學習,就能夠讓飛行器AI愈發(fā)聰明,能夠快速識別判
    的頭像 發(fā)表于 07-31 08:30 ?262次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>圖像</b>處理板避障  讓小型飛行器像昆蟲一樣靈巧

    紅外熱像儀在儲罐液位檢測的應用

    在石油化工安全生產行業(yè)中,紅外熱像儀的應用是其中一個關鍵因素。今天,我將帶你深入了解紅外熱像儀在儲罐液位檢測中的重要應用。為什么需要紅外熱像儀?石油化工行業(yè)中,儲油罐和儲氣罐長期在高溫、高壓、腐蝕
    的頭像 發(fā)表于 07-12 12:08 ?421次閱讀
    紅外熱像儀在儲罐液位檢測的應用

    如何利用CNN實現圖像識別

    卷積神經網絡(CNN)是深度學習領域中一種特別適用于圖像識別任務的神經網絡結構。它通過模擬人類視覺系統(tǒng)的處理方式,利用卷積、池化等操作,自動提取圖像中的特征,進而實現高效的圖像識別。本
    的頭像 發(fā)表于 07-03 16:16 ?1341次閱讀

    發(fā)電機油罐控制柜PLC數據采集物聯網解決方案

    啟動供油泵,高液位停泵,回油泵根據PLC信號自動調節(jié),從而保證電力系統(tǒng)供應正常與穩(wěn)定可靠。 對此,物通博聯提供接入控制器PLC數據采集的物聯網解決方案,實現油罐的監(jiān)控管理,確保發(fā)電工作安全穩(wěn)定進行。通過將PLC接入到物通博聯
    的頭像 發(fā)表于 07-02 17:10 ?287次閱讀
    發(fā)電機<b class='flag-5'>油罐</b>控制柜PLC數據采集物聯網解決方案

    油罐安全:ThingsBoard物聯網網關實時監(jiān)控

    儲油罐是采油、煉油企業(yè)儲存油品的重要設備,對儲油罐液位、溫度的實時數據監(jiān)測對企業(yè)的庫存和安全管理有著重大意義。 場景 對于企業(yè),尤其是加油站來說,高效的罐體液位、溫度監(jiān)測對于優(yōu)化燃油庫存、防止短缺或
    的頭像 發(fā)表于 05-24 16:56 ?535次閱讀
    <b class='flag-5'>油罐</b>安全:ThingsBoard物聯網網關實時監(jiān)控

    如何選擇適合自己需求的衛(wèi)星同步時鐘設備?

    衛(wèi)星同步時鐘設備是一種利用衛(wèi)星信號進行時間同步的設備,具有精度高、可靠性強等特點,廣泛應用于電力、通信、交通等領域。 在選擇衛(wèi)星同步時鐘設備
    的頭像 發(fā)表于 03-19 10:50 ?449次閱讀
    如何選擇適合自己需求的<b class='flag-5'>衛(wèi)星</b>同步時鐘設備?

    GPS衛(wèi)星同步時鐘的工作原理及應用場景介紹

    GPS衛(wèi)星同步時鐘是一種基于全球定位系統(tǒng)(GPS)的授時系統(tǒng),它利用GPS衛(wèi)星原子鐘的高精度時間信息,對地面接收設備進行時間同步。該系統(tǒng)具有高精度、高可靠性、易于部署等特點,在通信、電
    的頭像 發(fā)表于 03-19 10:28 ?1819次閱讀
    GPS<b class='flag-5'>衛(wèi)星</b>同步時鐘的工作原理及應用場景介紹

    Xplore利用休斯衛(wèi)星提供網絡服務

    據悉,“木星三號”是迄今為止問世的最大規(guī)模商用通訊衛(wèi)星,由美國著名航天制造商Maxar完成制造。該衛(wèi)星將與休斯公司已有的衛(wèi)星網路配套使用,為南美洲和北美洲帶去優(yōu)質的寬帶互聯網服務。
    的頭像 發(fā)表于 02-21 13:58 ?476次閱讀

    衛(wèi)星如何與地面通信

    衛(wèi)星與地面通信是通過無線電波實現的。衛(wèi)星與地面通信的過程包括信號的發(fā)送、接收、處理和解碼等環(huán)節(jié)。這使得衛(wèi)星能夠在太空中與地面進行雙向通信。
    的頭像 發(fā)表于 02-01 10:17 ?4054次閱讀
    <b class='flag-5'>衛(wèi)星</b>如何與地面通信

    如何使用Python進行圖像識別的自動學習自動訓練?

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自動訓練需要掌握一些重要的概念和技術。在本文中,我們將介紹如何使用Python中的一些常用
    的頭像 發(fā)表于 01-12 16:06 ?581次閱讀

    從單張圖像中揭示全局幾何信息:實現高效視覺定位的新途徑

    我們提出了一種新穎的方法,它可以從單個 RGB 圖像進行全局 6 自由度姿態(tài)估計。我們的方法與大多數現有的姿態(tài)回歸方法有相同的約束條件,即:從一組圖像姿態(tài)對
    的頭像 發(fā)表于 01-08 14:58 ?715次閱讀
    從單張<b class='flag-5'>圖像</b>中揭示全局幾何信息:實現高效視覺定位的新途徑

    榮耀Magic6系列官宣搭載鴻燕衛(wèi)星通信技術

    從官方一同公布的海報來看,榮耀鴻燕衛(wèi)星通信擁有更小體積、更快連接、更低功耗,其將支持衛(wèi)星通話和衛(wèi)星短信。
    的頭像 發(fā)表于 12-29 11:36 ?1067次閱讀
    榮耀Magic6系列官宣搭載鴻燕<b class='flag-5'>衛(wèi)星</b>通信技術
    主站蜘蛛池模板: xxxxhdvideos动漫| 99E久热只有精品8在线直播| 亚洲精品喷白浆在线观看| 亚洲国产成人精品无码区APP | 我的家庭女教师| 亚洲国产果果在线播放在线 | 午夜天堂AV久久久噜噜噜| 亚洲黄视频在线观看| 在线超碰免费视频观看| 99热只有精品| 国产剧情福利AV一区二区| 久久精品国产亚洲AV久五月天 | 亚洲精品AV一二三区无码| 与嫂子同居的日子在线观看| metart中国撒尿人体欣赏| 国产精品久久久久久久久无码 | 日本九九热在线观看官网| 性色爽爱性色爽爱网站| 2012中文字幕手机在线| 色窝窝亚洲AV在线观看| 亚洲精品美女久久久久99| 99久久久无码国产精品AAA| 国产精品俺来也在线观看| 九九精品在线播放| 日本人六九视频| 夜夜狂射影院欧美极品| 扒开老师大腿猛进AAA片邪恶| 国产一区二区三区影院| 麻豆官网入口| 亚洲AV成人无码网天堂| 999精品国产人妻无码系列| 国产午夜在线视频| 欧美另类摘花hd| 亚洲三级在线视频| 朝鲜美女bbwbbw撒尿| 久久精品视频3| 桃隐社区最新最快地址| 9988电影网| 国产又粗又猛又爽又黄的免费视频 | 人人在线碰碰视频免费| 亚洲伊人久久精品|