導航:首頁 > 數據處理 > 網路微調需要多少數據集

網路微調需要多少數據集

發布時間:2023-06-06 19:02:26

Ⅰ BP神經網路的訓練集需要大樣本嗎一般樣本個數為多少

BP神經網路的訓練集需要大樣本嗎?一般樣本個數為多少?
BP神經網路樣本數有什麼影響
學習神經網路這段時間,有一個疑問,BP神經網路中訓練的次數指的網路的迭代次數,如果有a個樣本,每個樣本訓練次數n,則網路一共迭代an次,在n>>a 情況下 , 網路在不停的調整權值,減小誤差,跟樣本數似乎關系不大。而且,a大了的話訓練時間必然會變長。
換一種說法,將你的數據集看成一個固定值, 那麼樣本集與測試集 也可以按照某種規格確定下來如7:3 所以如何看待 樣本集的多少與訓練結果呢? 或者說怎麼使你的網路更加穩定,更加符合你的所需 。

我嘗試從之前的一個例子中看下區別

如何用70行Java代碼實現深度神經網路演算法

作者其實是實現了一個BP神經網路 ,不多說,看最後的例子

一個運用神經網路的例子
最後我們找個簡單例子來看看神經網路神奇的效果。為了方便觀察數據分布,我們選用一個二維坐標的數據,下面共有4個數據,方塊代表數據的類型為1,三角代表數據的類型為0,可以看到屬於方塊類型的數據有(1,2)和(2,1),屬於三角類型的數據有(1,1),(2,2),現在問題是需要在平面上將4個數據分成1和0兩類,並以此來預測新的數據的類型。


圖片描述

我們可以運用邏輯回歸演算法來解決上面的分類問題,但是邏輯回歸得到一個線性的直線做為分界線,可以看到上面的紅線無論怎麼擺放,總是有一個樣本被錯誤地劃分到不同類型中,所以對於上面的數據,僅僅一條直線不能很正確地劃分他們的分類,如果我們運用神經網路演算法,可以得到下圖的分類效果,相當於多條直線求並集來劃分空間,這樣准確性更高。

圖片描述

簡單粗暴,用作者的代碼運行後 訓練5000次 。根據訓練結果來預測一條新數據的分類(3,1)



預測值 (3,1)的結果跟(1,2)(2,1)屬於一類 屬於正方形

這時如果我們去掉 2個樣本,則樣本輸入變成如下

//設置樣本數據,對應上面的4個二維坐標數據
double[][] data = new double[][]{{1,2},{2,2}};
//設置目標數據,對應4個坐標數據的分類
double[][] target = new double[][]{{1,0},{0,1}};
1
2
3
4
1
2
3
4




則(3,1)結果變成了三角形,

如果你選前兩個點 你會發現直接一條中間線就可以區分 這時候的你的結果跟之前4個點時有區別 so 你得增加樣本 直到這些樣本按照你所想要的方式分類 ,所以樣本的多少 重要性體現在,樣本得能反映所有的特徵值(也就是輸入值) ,樣本多少或者特徵(本例子指點的位置特徵)決定的你的網路的訓練結果,!!!這是 我們反推出來的結果 。這里距離深度學習好像近了一步。

另外,這個70行代碼的神經網路沒有保存你訓練的網路 ,所以你每次運行都是重新訓練的網路。其實,在你訓練過後 權值已經確定了下來,我們確定網路也就是根據權值,so只要把訓練後的權值保存下來,將需要分類的數據按照這種權值帶入網路,即可得到輸出值,也就是一旦網路確定, 權值也就確定,一個輸入對應一個固定的輸出,不會再次改變!個人見解。

最後附上作者的源碼,作者的文章見開頭鏈接
下面的實現程序BpDeep.java可以直接拿去使用,

import java.util.Random;
public class BpDeep{
public double[][] layer;//神經網路各層節點
public double[][] layerErr;//神經網路各節點誤差
public double[][][] layer_weight;//各層節點權重
public double[][][] layer_weight_delta;//各層節點權重動量
public double mobp;//動量系數
public double rate;//學習系數

public BpDeep(int[] layernum, double rate, double mobp){
this.mobp = mobp;
this.rate = rate;
layer = new double[layernum.length][];
layerErr = new double[layernum.length][];
layer_weight = new double[layernum.length][][];
layer_weight_delta = new double[layernum.length][][];
Random random = new Random();
for(int l=0;l<layernum.length;l++){
layer[l]=new double[layernum[l]];
layerErr[l]=new double[layernum[l]];
if(l+1<layernum.length){
layer_weight[l]=new double[layernum[l]+1][layernum[l+1]];
layer_weight_delta[l]=new double[layernum[l]+1][layernum[l+1]];
for(int j=0;j<layernum[l]+1;j++)
for(int i=0;i<layernum[l+1];i++)
layer_weight[l][j][i]=random.nextDouble();//隨機初始化權重
}
}
}
//逐層向前計算輸出
public double[] computeOut(double[] in){
for(int l=1;l<layer.length;l++){
for(int j=0;j<layer[l].length;j++){
double z=layer_weight[l-1][layer[l-1].length][j];
for(int i=0;i<layer[l-1].length;i++){
layer[l-1][i]=l==1?in[i]:layer[l-1][i];
z+=layer_weight[l-1][i][j]*layer[l-1][i];
}
layer[l][j]=1/(1+Math.exp(-z));
}
}
return layer[layer.length-1];
}
//逐層反向計算誤差並修改權重
public void updateWeight(double[] tar){
int l=layer.length-1;
for(int j=0;j<layerErr[l].length;j++)
layerErr[l][j]=layer[l][j]*(1-layer[l][j])*(tar[j]-layer[l][j]);

while(l-->0){
for(int j=0;j<layerErr[l].length;j++){
double z = 0.0;
for(int i=0;i<layerErr[l+1].length;i++){
z=z+l>0?layerErr[l+1][i]*layer_weight[l][j][i]:0;
layer_weight_delta[l][j][i]= mobp*layer_weight_delta[l][j][i]+rate*layerErr[l+1][i]*layer[l][j];//隱含層動量調整
layer_weight[l][j][i]+=layer_weight_delta[l][j][i];//隱含層權重調整
if(j==layerErr[l].length-1){
layer_weight_delta[l][j+1][i]= mobp*layer_weight_delta[l][j+1][i]+rate*layerErr[l+1][i];//截距動量調整
layer_weight[l][j+1][i]+=layer_weight_delta[l][j+1][i];//截距權重調整
}
}
layerErr[l][j]=z*layer[l][j]*(1-layer[l][j]);//記錄誤差
}
}
}

public void train(double[] in, double[] tar){
double[] out = computeOut(in);
updateWeight(tar);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
下面是這個測試程序BpDeepTest.java的源碼:

import java.util.Arrays;
public class BpDeepTest{
public static void main(String[] args){
//初始化神經網路的基本配置
//第一個參數是一個整型數組,表示神經網路的層數和每層節點數,比如{3,10,10,10,10,2}表示輸入層是3個節點,輸出層是2個節點,中間有4層隱含層,每層10個節點
//第二個參數是學習步長,第三個參數是動量系數
BpDeep bp = new BpDeep(new int[]{2,10,2}, 0.15, 0.8);

//設置樣本數據,對應上面的4個二維坐標數據
double[][] data = new double[][]{{1,2},{2,2},{1,1},{2,1}};
//設置目標數據,對應4個坐標數據的分類
double[][] target = new double[][]{{1,0},{0,1},{0,1},{1,0}};

//迭代訓練5000次
for(int n=0;n<5000;n++)
for(int i=0;i<data.length;i++)
bp.train(data[i], target[i]);

//根據訓練結果來檢驗樣本數據
for(int j=0;j<data.length;j++){
double[] result = bp.computeOut(data[j]);
System.out.println(Arrays.toString(data[j])+":"+Arrays.toString(result));
}

//根據訓練結果來預測一條新數據的分類
double[] x = new double[]{3,1};
double[] result = bp.computeOut(x);
System.out.println(Arrays.toString(x)+":"+Arrays.toString(result));
}
}

Ⅱ DOTA V1.5數據集:基於航空圖像的大規模目標檢測數據集

  目標檢測是計算機視覺任務中一個具有挑戰性的方向。盡管在過去十年中目標檢測在自然場景中有了重大突破,但是在航拍圖像的進展是十分緩慢的,這不僅是因為地球表面相同類別物體的規模、方向和形狀有著巨大的差異,而且還因為缺少航拍影像中目標對象的標注信息。為了推進「Earth Vision」(也稱為「地球觀測和遙感」)中目標檢測的研究,我們提出了用於航拍影像中用於目標檢測的大規模數據集(DOTA)。我們從不同的感測器和平台收集了2806個航拍影像,每張圖像的大小約為4000*4000像素,並包含了各種不同比例、方向和形狀的目標對象。航拍圖像專家將這些DOTA數據集圖像中常見的15種對象類別進行標注。完全注釋之後的DOTA數據集圖像包含188282個實例,每個實例都由四點確定的任意四邊形(8 d.o.f.)標記。為了建立地球視覺中目標檢測的基準,我們評估了DOTA上最新的目標檢測演算法。實驗表明,DOTA能夠代表真實的地球視覺應用,並具有一定的挑戰性。

  Earth Vision中的目標檢測是指在將地球表面感興趣的物體(例如車輛、飛機場)定位並預測他們的類別。與傳統的目標檢測數據集相反,在傳統的目標檢測數據集中,物體的位置通常由於重力而以一種向上的姿態出現,航拍圖像中物體的實例通常以任意狀態出現,如圖1所示,這取決於航拍視角的關系。
  由於計算機視覺領域的最新進展以及Earth Vision應用的高要求,有大量的研究者已經開始圍繞航拍影像中的目標檢測開展研究,這些方法中的大多數嘗試將原有的目標檢測演算法應用在航拍影像中。最近,在基於深度學習的目標檢測演算法取得巨大成功的鼓舞下,Earth Vision的研究者們基於大規模數據集(ImageNet和MSCOCO數據集)預訓練模型上進行微調網路的方法,使之在航拍數據集檢測中有所改善。
  盡管這種基於微調的方法是可行的,但是如圖1所示,航拍圖像中的目標檢測與常規的目標檢測有著以下方面的區別:

  近年來,在一些較為依賴數據的研究中,數據集扮演著十分重要的角色,像MSCOCO這樣的大型數據集在促進目標檢測和圖像捕捉研究方面發揮了重要的作用。當涉及到分類任務和場景識別任務時,ImageNet以及Places也很重要。
  但是,在航拍目標檢測中,缺少像MSCOCO和ImageNet這樣在圖像數量和詳細注釋方面的數據集,特別是對於開發基於深度學習的演算法時,這是Earth Vision研究的主要障礙之一。航拍目標檢測對於車輛計數,遠程目標跟蹤和無人駕駛領域非常有用。因此,創建一個能實際應用的大規模數據集並提出富有挑戰性的航拍目標檢測基準對於促進該領域的研究十分必要。
  我們認為,一個好的航拍影像數據集應該具有以下四個屬性:
1)大量的圖片;2)每個類別都有很多實例;3)合適角度的目標注釋框;4)許多不同類別的對象,這使得數據集能夠應用到實際中。然而目前所公開的航拍數據集存在以下缺點:圖像數據和類別不足,缺少更精細的注釋以及解析度過低。而且,它們缺少復雜性並不能足以應用再實際現實世界中。

  像TAS,VEDAI,COWC等數據集只關注車輛,UCAS-AOD包含汽車和飛機,HRSC2016隻包含船隻,雖然有標注細致的分類信息。但所有這些數據集在類別的數量上都是少的,這對它們在復雜場景的泛化適應上有所約束。作為對比,NWPU VHR-10數據集由10種類型的物體組成,而它的總實例數大概只有3000。關於這些已存在的數據集的具體比較細節在表1中給出。我們在第四部分可以看到,對比這些航拍數據集,DOTA具有更龐大的目標實例數目、隨意但是均勻的方向,多樣性的分類目錄和復雜的航拍場景。此外,DOTA數據集中的場景與真實場景更加一致,所以DOTA數據集對於真實世界應用開發來說是更有幫助的。
  當涉及到普通對象數據集時,ImageNet和MSCOCO因其具有大量的圖像、更多的類別和詳細的注釋而被大多數研究人員所選擇。在所有對象檢測數據集中,ImageNet的圖像數量最多。但是每個圖像的平均實例數遠少於MSCOCO和我們的DOTA數據集,而且必須擁有干凈的背景和精心選擇的場景帶來了局限性,DOTA數據集中的圖像包含大量的對象實例,其中一些圖片具有1000多個實例。 PASCAL VOC數據集在每個圖像和場景的實例上與ImageNet相似,但是圖像數量不足使得它不適合處理大多數檢測需求。我們的DOTA數據集在實例編號和場景類型方面類似於MSCOCO,但是DOTA的類別不如MSCOCO那樣多,因為可以在航拍影像中能清晰看到的對象時非常有限的。
  此外,在上文提到的大規模普遍目標檢測基準中DOTA數據集的特別之處在於使用OBB方法注釋,OBB可以很好的區分目標物體的離散與聚集,在第三部分詳細描述了使用OBB注釋目標物體的好處。在表2中對DOTA,PASCAL VOC,ImageNet and MSCOCO等數據集的比較中給出不同點。

  在航拍數據集中由於存在多種多樣的感測器被使用的情況,導致數據集產生偏差。為了消除這些偏差,我們數據集中的圖片是由多解析度多感測器和多平台收集而來的,如谷歌地球。為了提高數據的多樣性,我們收集的圖片的城市是由圖像判讀方面的專家來挑選的。在挑選過程中,會記錄下精確的地理坐標,來捕捉圖片使得確保沒有重復的圖像。

  我們的DOTA數據集注釋選擇了15種類別,包括飛機、船隻、儲蓄罐、棒球內場、網球場、籃球場、田徑場、海港、橋、大型車輛、小型車輛、直升飛機、英式足球場、環狀交叉路口、游泳池。
  標注類別是由圖像判讀方面的莊家根據目標物體的普遍性和現實世界中存在的價值來挑選的,前十個類別在已有的數據集中很普遍,我們保留了下來,除了將交通工具的汽車分為大型和小型,因為兩種類型的汽車在航拍圖像上區別很大。其他的類別主要是由於現實場景的應用。我們選擇直升機是考慮到航拍圖像中運動物體具有重要的意義,環狀交叉路口被選中是因為它在巷道分析中具有重要意義。
  要不要把「stuff」作為一類是值得探討的,在SUN數據集中,一般說來沒有明確的定義說明什麼是stuff一類,比如海港、機場、停車場。但是,它們提供的語義信息是對檢測有幫助的。我們只採納了海港分類,因為它的邊界容易定義,並且在我們的圖片源信息中有豐富的實例。最後拓展的分類是足球場。
  在表2我們比較了DOTA和NWPU VHR_10,後者在先前存在的航拍圖像目標檢測數據集中有更多的分類數。而且DOTA在目錄分類數目和每一類下的實例數目都遠超過了NWPU VHR-10。

  我們考慮了許多不同的注釋方法。在計算機視覺領域,許多視覺概念(比如區域說明,目標,屬性,關系)都可以被一個注釋邊框說明,對邊框的一個普遍描述一般採用 ,其中 表示位置, 是邊框的寬和高度。
  沒有一定方向的物體可以採用這種注釋方式充分注釋。然而,在航拍影像中的文本和物體以這種方式標記的邊界框不能精確或緊湊地貼合物體的輪廓。如圖3(c)所示的極端但實際的普遍存在情況和圖(d)比起來,兩個邊界框之間的重疊是如此之大以至於最先進的對象檢測方法也不能區分它們。為了解決這一問題,我們需要一種其他更適合面向這種有一定方向物體的注釋方法。
  一個可選選項是採用基於 的邊界框,它被應用於一些文本檢測基準,即 ,其中 表示從邊界框與水平方向的夾角度。但這種方法的缺點是依舊不能貼合圍繞住那些不同部分之間可能有較大變形的物體。考慮到航拍圖像中物體的復雜場景和物體的各種方位,我們需要放棄這種方法選擇其他更靈活易懂的方式。一種可供選擇的方法是使用任意四邊形邊界框,它可以被描述為: ,其中 表示圖像中定向邊界框的頂點的位置,頂點按順時針順序排列,這種方法在定向場景的文本檢測中廣泛使用。我們受到這些研究的啟發,在注釋物體時使用這種任意四邊形邊界框的方式。

  為了進行更具體的注釋,如圖3所示,我們強調了第一點 的重要性,該點通常表示對象的「首部」。對於直升機,大型車輛,小型車輛,港口,棒球鑽石,輪船和飛機等類別,我們選擇與之豐富的潛在用途有關的點作為起始點。對於足球場,游泳池,橋梁,地面田徑場,籃球場和網球場類別來說,沒有視覺上的線索來確定第一個點,因此我們通常選擇左上角的點作為起點。
  我們在圖4中展示了DOTA數據集中一些已經注釋過的例子(不是全部的初始圖像)

  為了確保訓練數據和測試數據分布大致相同,我們隨機選擇原始圖像的一半作為訓練集,將1/6作為驗證集,將1/3作為測試集。 我們將為訓練集和驗證集公開提供所有帶有原始事實的原始圖像,但不會為測試集提供。 為了進行測試,我們目前正在構建評估服務。

  與其他圖像數據集相比,航拍圖像一般尺寸很大。我們的數據集中圖像的原始大小約為800×800到4000×4000之間不等,而常規數據集中的大多數圖像(例如PASCAL-VOC和MSCOCO)則不超過1000×1000。我們在原始完整圖像上進標注,而不將其分割成塊,以避免將單個實例分割成不同碎片的情況。

  如圖1(f)所示,我們的數據集在不同方向的實例中達到了比較好的平衡,這對於網路檢測器的魯棒性提升有很大幫助。此外,我們的數據集更接近真實場景,因為在現實世界中通常會看到各種方向的對象。

  我們還為數據集中的每幅圖像提供了空間解析度,這可以推斷出實例的實際大小。空間解析度對檢測任務的重要性有兩個方面。首先,它使模型對於相同類別的各種對象更具適應性和魯棒性。眾所周知,從遠處看物體會顯得更小。具有不同大小的同一對象會給模型造成麻煩並損害分類。但是,通過提供解析度信息而不是對象的大小,模型可以更加關注形狀。其次,可以進行進行更精細的分類。例如,將一艘小船與一艘大型軍艦區分開是很簡單的。
  空間解析度還可以用於過濾數據集中標記錯誤的離群值,因為大多數類別的類內實際大小變化是有限的。在較小的空間解析度范圍內,選擇與同類物體尺寸相差較大的物體,可以發現離群值(Outliers)。

  按照[33]中的規定,我們將水平邊框的高度(簡稱為像素大小)稱為實例大小的度量。我們根據水平邊界框的高度將數據集中的所有實例分為三個部分:較小的范圍為10到50,中間的范圍為50到300,較大的范圍為300以上。圖3說明了不同數據集中的三個實例拆分的百分比。顯然,PASCAL VOC數據集,NWPU VHR-10數據集和DLR 3K Munich Vehicle數據集分別由中間實例,中間實例和較小實例主導。但是,我們在小實例和中間實例之間實現了良好的平衡,這與現實世界場景更加相似,因此有助於在實際應用中更好地捕獲不同大小的對象。
  值得注意的是,像素大小在不同類別中有所不同。例如,車輛可能小到30像素,但是橋梁可能大到1200像素,比車輛大40倍。不同類別實例之間的巨大差異使檢測任務更具挑戰性,因為模型必須足夠靈活以處理極小的物體。

表3:航拍圖像和自然圖像中某些數據集的實例大小分布比較

  對於基於錨的模型,例如Faster RCNN和YOLO V2,長寬比是至關重要的因素。我們對數據集中所有實例的兩種長寬比進行計數,以提供更好的模型設計參考:1)最低程度受限於水平邊界框的橫縱、2)原始四邊形邊框的長寬比。圖5說明了我們數據集中實例的兩種縱橫比分布類型,我們可以看到實例的縱橫比差異很大。此外,DOTA數據集中有許多橫縱比較大的實例。

  航拍圖像中常常包括數以千計的實例,它們完全與自然場景圖像不同。例如IMANEET數據集中每張圖像平均包含2個類別和2個實例,MSCCO共有3.5個類別、7.7個實例。如圖5所示我們的DOTA數據集更豐富,每個圖像的實例可以高達2000個。
  在一幅圖像中有如此多的實例,不可避免地會看到很密集的實例聚集在某個區域。在COCO數據集中,實例並不是逐個注釋的,因為圖像中的遮擋使之難以將實例與其相鄰實例區分開來。在這些情況下,實例組被標記為一個屬性名為「crowd」的片段。然而,這種情況不會在航拍圖像下出現,因為從航拍視角來看,很少有遮擋物。因此,我們可以在擁擠的實例場景中將實例一個個分別標注。圖4展示了聚集著很多實例的一個例子。在這種情況下檢測物體對現有的檢測方法提出了巨大的挑戰。

  我們在DOTA上評估了最新的物體檢測方法。對於水平物體檢測,我們謹慎地選擇Faster R-CNN,R-FCN,YOLO V2和SSD作為我們的基準測試演算法,因為它們在一般物體檢測中具有出色的性能。對於定向對象檢測,我們修改了原始的Faster R-CNN演算法,以便可以預測正確定向的邊界框,表示為 。
  值得注意的是,R-FCN和Faster R-CNN的骨幹網路分別ResNet-101,用於SSD的是Inception V2,YOLO V2用的是GoogLeNet 。

  為了全面評估基於深度學習的DOTA檢測方法的現狀,我們提出了兩個任務,即在水平邊界框(簡稱HBB)上進行檢測以及在定向邊界框(簡稱OBB)上進行檢測。更具體地說,無論採用何種方法訓練,我們都根據兩種不同的基礎事實(HBB或OBB)評估這些方法。

  DOTA的圖像太大,無法直接發送到基於CNN的探測器。因此,我們將原始圖像裁剪為一系列1024*1024的面片,步幅設置為512。注意在裁剪過程中,完整的物體可能會被切成兩部分。為了方便起見,我們將原始對象的面積為 ,劃分部分 的面積為 然後計算:
  最終我們將U<0.7的部分標記為「difficult」,其他的標記和原始注釋一樣。對於那些新生成的部分的頂點我們需要保證它們可以被一個具有4個順時針排列頂點的定向邊界框用一種合適的方法來描述。
  在測試階段,我們首先將裁剪後的面片送到一個臨時的結果中,然後將結果合並在一起,來重構原始圖像的檢測,最後我們對預測結果使用NMS(非極大值抑制演算法)。我們設置NMS的參數閾值對於水平邊界框(簡稱HBB)將閾值設置為0.3,定向的邊界框閾值設置為0.1。通過使用這種方式,我們在基於CNN的模型上訓練和測試了DOTA數據集。
  對於評價的度量,我們使用和PSASCAL VOC一樣的mAP計算方式。

  HBB實驗的ground truth 是通過在原始的已標注的邊界框上計算軸對稱邊界框產生的,為了公平起見,我們將實驗的配置以及超參數設置為與文章[4,16,25,26]一致。
  在表4中給出了HBB實驗的預測結果,我們注意到SSD上的結果比其他模型低很多。我們懷疑可能是因為SSD數據集數據增長策略中的隨意裁剪操作,這種操作在普通的目標檢測中有用,但是在航拍圖像目標檢測的大規模小實例上作用有所降低。實驗結果也進一步表明了航拍圖像和普通目標圖像檢測在實例大小上的巨大差別。

  OBB的預測比較困難,因為現有的目標檢測方法並非針對定向對象而設計。因此,我們依據准確性和效率選擇Faster R-CNN作為基礎框架,然後對其進行修改使之能預測定向的邊界框。
  由RPN(候選區域生成網路)產生的RoIs(興趣區域)是可以被表示為 的矩形框,更為詳盡的解釋是 。在R-CNN程序中,每個RoI都附加有一個ground truth定向邊界框寫作: ,然後R-CNN的輸出目標 由以下等式計算:

其中 。
  其他配置和超參數設置保持與Faster R-CNN中所述相同。數值結果顯示在表5中。為了與我們為OBB實施的Faster R-CNN進行比較,我們評估了OBB地面實況在HBB上訓練的YOLO V2,R-FCN,SSD和Faster R-CNN。如表5所示,在HBB上訓練的那些方法的結果比在OBB上訓練的Faster R-CNN的結果低得多,這表明對於空中場景中的定向目標檢測,相應地調整這些方法可能會得到更好的結果。

  當我們分析表4中呈現的數據結果時,小型汽車,大型汽車,船隻的分類結果不盡人意,因為它們的尺寸較小,並且在航拍圖像中位置十分密集。然而大型的離散物體如飛機,游泳池、網球場等,表現出的效果較好。
  在圖6中我們比較了HBB和OBB兩種檢測方式的結果。在圖6(a)和6(b)中表示的緊密圖像中,HBB實驗的定位精度要比OBB實驗差的多,並且許多結果受到先前工作的限制。所以OBB回歸是定向物體檢測的一個正確方式,並且可以被真正在實際中應用。在圖6(c)中,使用OBB來標注縱橫比較大的物體(比如橋和海港),對於現在的檢測器來說很難做回歸。但是在HBB方法中,這些物體通常有著較為普通的縱橫比,因此結果如圖6(d)看起來比OBB好很多。但是在一些極度擁擠的場景下,比如圖6(e)和6(f),HBB和OBB的結果並不盡如人意,表明了現階段檢測器具有一定的缺陷。

  交叉數據集驗證是數據集泛化能力的一個評價方式。我們選擇UCAS-AOD數據集來做交叉數據集泛化,因為它與其他航空物體檢測數據集相比有著更大的數據量。因為沒有UCAS-AOD數據集的官方劃分方式,於是我們隨機選擇1110個進行訓練和400個進行測試。選擇YOLO V2作為所有測試實驗的檢測器,並且將所有的ground truth使用HBB標注。將UCAS-AOD數據集中原始圖片大小改為960*544作為輸入的圖片大小,其餘的配置不改變。
  結果顯示在表6中,對於YOLOv2-A模型而言兩個數據集之間的性能差異分別為35.8和15.6。這表明DOTA極大地覆蓋了UCAS-AOD,並且具有更多的模式和特性,而UCAS-AOD則不具備這種特性。兩種模型在DOTA上的結果都很低,這表明DOTA更具挑戰性。

  我們建立了一個大型數據集,用於航拍圖像中進行定向物體檢測,這個數據集比這個領域中所有現有的數據集都要大。 與一般對象檢測基準相反,我們使用定向邊界框標注大量分布良好的定向物體。 我們猜測這個數據集是具有挑戰性的,並且非常類似於自然的航拍場景,更適合實際應用。我們還為航拍圖像物體檢測建立了基準,並展示了通過修改主流檢測演算法生成定向邊界框的可行性。
  這個數據集在大圖片中檢測密集排列的小實例和具有任意方向的超大實例都將特別有意義且具有挑戰性。我們相信DOTA不僅會推動Earth Vision中物體檢測演算法的發展,而且還會對計算機視覺中的一般物體檢測提出有趣的問題。

Ⅲ 神經網路的數據量多少比較合適

一般來說要1萬以上,越多越好,但要保證採集標准統一,且輸出為相同的數據不能太多。

閱讀全文

與網路微調需要多少數據集相關的資料

熱點內容
塗料的產品怎麼樣 瀏覽:582
怎麼多循環一次程序 瀏覽:158
大商所交易系統是什麼 瀏覽:386
徐步天交易要多少天 瀏覽:21
哪個手機app可以模擬交易美股 瀏覽:817
愛情虛假交易是什麼意思 瀏覽:458
番禺哪裡有鮮花批發市場 瀏覽:563
山東修正健康飲品怎麼代理 瀏覽:786
數據比較多復制是哪個鍵 瀏覽:474
批發市場的東西為什麼這么便宜 瀏覽:896
雪肌麗仁產品怎麼樣 瀏覽:274
怎麼做麥吉麗的代理 瀏覽:497
產品資質證書是什麼 瀏覽:511
百度文庫為什麼下載的是數據 瀏覽:810
快遞信息如何查商家 瀏覽:773
鋪面信息簡介怎麼寫 瀏覽:561
理財基金介紹產品怎麼買 瀏覽:41
代理網店需要哪些手續 瀏覽:273
怎麼樣發信息呢 瀏覽:236
羅布樂思技術困難怎麼回事 瀏覽:822