深度學習之目標檢測:R-CNN、Fast R-CNN、Faster R-CNN

object detection 就是在給定的圖片中精確找到物體所在位置,并標注出物體的類別。object detection 要解決的問題就是物體在哪里,是什么這整個流程的問題。然而,這個問題不是容易解決的,物體的尺寸變化范圍很大,擺放物體的角度,姿態不定,可以出現在圖片的任何地方,而且物體還可以是多個類別。

object detection技術的演進:RCNN->SppNET->Fast-RCNN->Faster-RCNN

傳統的目標檢測方法

傳統的目標檢測方法一般分為三個階段:首先在給定的圖像上選擇一些候選的區域,然后對這些區域提取特征,最后使用訓練的分類器進行分類。

1. 區域選擇

這一步是為了對目標進行定位。傳統方法是采用窮舉策略。由于目標可能在圖片上的任意位置,大小不定,因此使用滑動窗口的策略對整幅圖像進行遍歷,而且需要設置不同的長寬。這種策略雖然可以檢測到所有可能出現的位置,但是時間復雜度太高,產生的冗余窗口太多,嚴重影響后續特征的提取和分類速度的性能。

2. 特征提取

提取特征的好壞會直接影響到分類的準確性,但又由于目標的形態多樣性,提取一個魯棒的特征并不是一個簡單的事。這個階段常用的特征有SIFT(尺度不變特征變換 ,Scale-invariant feature transform)和HOG( 方向梯度直方圖特征,Histogram of Oriented Gradient)等。

3. 分類器

主要有SVM,Adaboost等

綜上所述,傳統目標檢測存在兩個主要問題:一個是基于滑動窗口的區域選擇策略沒有針對性,時間復雜度高,窗口冗余;二是手工設計的特征對于多樣性沒有很好的魯棒性。

Region proposal+CNN(RCNN)

文章鏈接:Region-based Convolution Networks for Accurate Object detection and Segmentation

針對滑動窗口問題,region proposal(候選區域)是預先找出圖中目標可能出現的位置,這可以保證在選取較少窗口(幾千個甚至幾百個)的情況下保持較高的召回率。并且獲取的候選窗口要比滑動窗口的質量更高(滑動窗口固定長寬比)。針對特征選取,卷積神經網絡(convolution neural network: CNN) 的特征比傳統手工特征效果更好。因此在2014年,RBG(Ross B. Girshick )使用 Region proposal+CNN(RCNN)代替傳統目標檢測使用的滑動窗口+手工設計特征,設計了RCNN框架,使得目標檢測取得巨大突破,并開啟了基于深度學習的目標檢測熱潮。

1 檢測流程

RCNN主要分為3個大部分,第一部分產生候選區域,第二部分對每個候選區域使用CNN提取長度固定的特征;第三個部分使用一系列的SVM進行分類。

下圖是RCNN的整體檢測流程:

  1. 首先輸入一張自然圖像;
  2. 使用Selective Search提取大約2000個候選區域(proposal);
  3. 對每個候選區域的圖像進行拉伸形變,使之成為固定大小的正方形圖像,并將該圖像輸入到CNN中提取特征;
  4. 使用線性的SVM對提取的特征進行分類。

下面我們來分布介紹這幾個步驟。

1.1 候選區域的產生

RCNN使用Selective Search算法提取圖像中的候選區域。

大牛們發明好多選定候選框的方法,比如EdgeBoxes和Selective Search。以下是各種選定候選框的方法的性能對比。

1.2 CNN特征提取

作者用 AlexNet 對得到的候選區域的圖像進行特征提取,最終生成的是一個4096維的特征向量。注意 AlexNet 輸入的是227x227大小的圖像,因此在輸入到 AlexNet 之前,作者把候選區域的圖像首先進行了一小部分的邊緣擴展(16像素),然后進行了拉伸操作,使得輸入的候選區域圖像滿足AlexNet的輸入要求(即227x227)。

作者在這里其實進行了一部分實驗,考慮怎樣使候選區域圖像滿足AlexNet的輸入要求,在文章的附錄A中進行了介紹,以下是附錄A中實驗的三種方法:最終作者選擇的是D中的直接拉伸的方法。

1.3 SVM特征分類

作者論文里并沒有介紹怎么進行SVM的特征分類,不過要注意的是作者為每個類都訓練了一個SVM分類器,在訓練/檢測的過程中使用這些分類器為每一類進行分類。

CNN表面是在分類,但真正目的其實只是提取特征,提取特征之后,每個候選框可以得到一個4096維的特征向量,使用得到的CNN特征再輸入線性SVM中訓練分類器。

SVM支持向量機其實是可以支持多分類的,即SVMs分類器。但是論文不是對21個類(別漏了background類)使用一個SVM,而是使用了One-Versu-All的方法,對每個類別都使用個SVM(這里只需要20個SVM)。方法很簡單,對于每個類別來說,一個Region如果不是該類別,那就是背景。由于負樣本很多,使用?hard negative mining?方法。每個SVM判斷候選框是否屬于這一類。對于2000個候選框,將屬于第i類的所有候選框進行分類,并按照得分進行降序排列,然后使用?MNS?去除重疊的候選框。

為什么不直接使用CNN的分類結果,而還要繼續訓練若干個SVM分類器呢?

作者也直接使用CNN分類結果進行了實驗,發現效果相比SVM有所降低,他發現使用CNN直接分類結果并不注重于精確定位(我覺得這個情況很合理,因為CNN識別能力非常強大,非常的魯棒,所以不是那么精確的定位也可以得到比較好的結果,所以不注重精確定位)第二個原因在于SVM 訓練時采用的 hard negative mining 選擇的樣本比 CNN 中隨機選擇的樣本要好,所以結果會更好。作者也提出,可能通過更改 fine-tuning 的一些細節可以提升效果(他們也是這么做的,Fast RCNN中他們改變了loss函數)。

因為CNN容易過擬合,想要期望樣本數目多一些,所以在判斷正樣本的時候條件比較松,IoU>0.5就認為是正樣本,而SVM本身是結構風險最小,以SVM為分類器時改變了正負樣本的判定條件:候選框完全包含 GoundTruth 的定位框才是正樣本,當IoU<0.3時是負樣本。

2 訓練與測試

2.1?訓練

  1. 預訓練 AlexNet 網絡。將訓練好的模型保存。
  2. fine-tuning 。這種方法也是當數據量不夠的時候,常用的一種訓練方式,即先用別的數據庫訓練網絡,然后再用自己的數據庫微調訓練(fine-tuning)。 首先會逐步讀入圖片,然后采用 seletive search 對讀入的圖片生成候選區域,再計算每個候選區域和 ground truth (代碼中的fine_turn_list)的IOU。當IOU大于閾值時,則認為是當前的候選區域屬于正確類。并且將其標定為相應的類別(label)。這樣每一個候選區域就會產生相應的label即(image, label),?(image, label)就是Fineturn訓練的訓練集。然后利用這些數據訓練 AlexNet 網絡,這時候參數的初始化即為步驟1中與訓練的結果,將訓練好的 fine-tuning 模型保存。
  3. SVM訓練。采用與2相同的方法生成 SVM?訓練集。首先會逐步讀入圖片,然后采用 seletive search 對讀入的圖片生成候選區域,這時候會生成候選區域候選框的坐標信息, 再計算每個候選區域和 ground truth (代碼中的fine_turn_list)的IOU。當IOU大于閾值時,則認為是當前的候選區域屬于正確類,并且將其標定為相應的類別(label), 并將這個label對應的候選區域圖(image)的候選框坐標信息與ground truth的位置信息作對比,保留相對位置(平移和縮放)信息保留下來(label_bbox),作為訓練數據。這樣整個訓練數據則為(image, label, label_bbox)對。但是在訓練 SVM 時不會用到label_bbox信息,SVM 還只是用來分類。而且需要對每種類型都單獨訓練一個分類器, 并保存訓練好的模型,備用。另外 SVM 分類器的輸入是 AlexNet 網絡 softmax 鏈接層之前的全連接層的輸出結果。
  4. 候選框回歸(Reg_box)。這個模型的訓練集就是3中方法生成的(image, label_bbox)對。模型會計算出候選框相對于 ground truth 的平移縮放結果。

2.2 測試

在測試階段,首先使用selective search提取測試圖像的2000個proposals,然后將所有proposal圖像拉伸到合適的大小并用CNN進行特征提取,得到固定長度的特征向量。最終對于每個類別,使用為該類別訓練的SVM分類器對得到的所有特征向量(對應每個proposal圖像)進行打分(代表的是這個proposal是該類的概率)。如果不是背景,用Reg_box生成平移縮放值, 然后對生成的候選區域進行調整。最后應用了一次NMS(非最大值抑制)

作者對測試階段的時間進行了分析,認為RCNN的優勢在于:(1)CNN中共享網絡參數(CNN本身特性);(2)CNN提取后的特征維度較低(相比之前的方法),計算更快。

作者在各階段的一些細節

ImageNet預訓練階段

作者首先在ImageNet上進行了CNN的預訓練,由于VOC 2012中訓練數據較少(相對而言),所以使用ImageNet預訓練然后再fine tune效果會更好。

Fine-tuning(微調)階段

在微調階段,作者把ImageNet上預訓練的網絡從1000個輸出改為21個輸出(VOC的20類+1類background),然后將所有與groundtruth的包圍框的IoU>= 0.5的proposal看作正類(20類之一),其他的全部看作背景類。在訓練時使用隨機梯度下降(SGD),學習率為0.001,在訓練的過程中隨機選取32個postive樣本和96個negative樣本,這樣選擇是因為在提取的proposal中background樣本要遠遠多于postive樣本。

SVM分類器訓練階段

在訓練SVMs的過程中,作者把IoU低于0.3的proposal設置為negative樣本,對于postive則是groundtruth的包圍盒圖像。作者對每個類別都訓練了一個線性的SVM分類器,由于訓練圖像過多,同時為了保證訓練的效果,所以作者在訓練的過程中采用了hard negative mining方法(hard negative mining訓練方法在我看來就是通過訓練挑出訓練集中那些總是被識別錯誤的負樣本作為訓練集)。

為什么fine-tuning時采用的IoU閾值和SVM訓練時采用的閾值不同呢?

首先作者承認,在實驗開始他們并沒有fine-tuning的過程,而最開始使用SVM訓練時閾值就是0.3,在訓練SVM時,正樣本為groundtruth,負樣本定義為與ground truth的IoU小于0.3的候選區域為負樣本,介于0.3與0.7之間的樣本忽略。

在后面的實驗中加入fine-tuing 以后,采用相同的閾值效果比使用現在的0.5閾值要差很多。作者的猜想是閾值的設置并不是很重要,而是微調時數據量的問題,在微調時采用0.5閾值的話會出現很多所謂的“抖動”的樣本,這些樣本于groundtruth的IoU在0.5到1之間,采用0.5的閾值以后正樣本增加了30倍,所以fine-tuning時訓練數據增多,效果會更好。?
而且 fine-tuning 時擔心過擬合的原因,要擴大正樣本的樣本量,所以定義比較寬松,但是SVM是最終用于分類的分類器,而且SVM原理就是最小的距離最大化,越難分的數據越有利于SVM的訓練,所以對樣本的定義比較嚴格。

Bounding-box回歸

作者在完成了前面提到的“生成候選區域——CNN提取特征——SVM進行分類”以后,為了進一步的提高定位效果,在文章的附錄C中介紹了Bounding-box Regression的處理。可以參考:深度學習之邊框回歸(Bounding Box Regression)。

小結:R-CNN在 PASCAL VOC2007上的檢測結果從 DPM HSC的34.3%直接提升到了66%(mAP)。如此大的提升使我們看到了region proposal+CNN的巨大優勢。 但是R-CNN框架也存在著很多問題:

  1. 訓練分為多個階段,步驟繁瑣: 微調網絡+訓練SVM+訓練邊框回歸器
  2. 訓練耗時,占用磁盤空間大:5000張圖像產生幾百G的特征文件
  3. 速度慢: 使用GPU, VGG16模型處理一張圖像需要47s。

針對速度慢的這個問題,SPP-NET給出了很好的解決方案。

SPP-NET (ECCV2014, TPAMI2015) (Spatial Pyramid Pooling)

它的特點有兩個:

1.結合空間金字塔方法實現CNNs的對尺度輸入。一般CNN后接全連接層或者分類器,他們都需要固定的輸入尺寸,因此不得不對輸入數據進行crop或者warp,這些預處理會造成數據的丟失或幾何的失真。SPP Net的第一個貢獻就是將金字塔思想加入到CNN,實現了數據的多尺度輸入。如下圖所示,在卷積層和全連接層之間加入了SPP layer。此時網絡的輸入可以是任意尺度的,在SPP layer中每一個pooling的filter會根據輸入調整大小,而SPP的輸出尺度始終是固定的。

2.只對原圖提取一次卷積特征。在 R-CNN 中,每個候選框先 resize 到統一大小,然后分別作為CNN的輸入,這樣是很低效的。所以SPP Net根據這個缺點做了優化:只對原圖進行一次卷積得到整張圖的 feature map,然后找到每個候選框在 feature map 上的映射 patch,將此 patch 作為每個候選框的卷積特征輸入到 SPP layer 和之后的層。節省了大量的計算時間,比 R-CNN 有一百倍左右的提速。

小結:使用SPP-NET相比于R-CNN可以大大加快目標檢測的速度,但是依然存在著很多問題:

  1. 訓練分為多個階段,步驟繁瑣: 微調網絡+訓練SVM+訓練訓練邊框回歸器
  2. SPP-NET在微調網絡的時候固定了卷積層,只對全連接層進行微調,而對于一個新的任務,有必要對卷積層也進行微調。(分類的模型提取的特征更注重高層語義,而目標檢測任務除了語義信息還需要目標的位置信息)

針對這兩個問題,RBG又提出Fast R-CNN, 一個精簡而快速的目標檢測框架。

深度學習目標檢測:FAST RCNN?(ICCV2015)

SPP Net 真是個好方法,R-CNN 的進階版 Fast R-CNN 就是在 RCNN 的基礎上采納了 SPP Net方法,對RCNN作了改進,使得性能進一步提高。

FAST RCNN 提出了一個可以看做單層 spp-net 的網絡層,叫做?ROI Pooling,這個網絡層可以把不同大小的輸入映射到一個固定尺度的特征向量,而我們知道,conv、pooling、relu 等操作都不需要固定size的輸入,因此,在原始圖片上執行這些操作后,雖然輸入圖片size不同導致得到的feature map 尺寸也不同,不能直接接到一個全連接層進行分類,但是可以加入這個神奇的 ROI Pooling 層,對每個 region 都提取一個固定維度的特征表示,再通過正常的 softmax 進行類型識別。

FAST RCNN框架圖如下:

與R-CNN框架圖對比,可以發現主要有兩處不同:

  • 一是最后一個卷積層后加了一個 ROI pooling layer,ROI pooling layer實際上是 SPP-NET 的一個精簡版。同時加入了候選框映射功能,使得網絡能夠反向傳播,解決了SPP的整體網絡訓練問題; ?
  • 二是損失函數使用了多任務損失函數(multi-task loss),將邊框回歸直接加入到CNN網絡中訓練。 R-CNN 訓練過程分為了三個階段,而 Fast R-CNN 直接使用 softmax 替代 SVM 分類,同時利用多任務損失函數把邊框回歸也加入到了網絡中,這樣整個的訓練過程是端到端的(除去 region proposal 提取階段)。Fast R-CNN在網絡微調的過程中,將部分卷積層也進行了微調,取得了更好的檢測效果。
  • SmoothL1Loss取代Bouding box回歸。 ? ?

小結:Fast R-CNN融合了R-CNN和SPP-NET的精髓,并且引入多任務損失函數,使整個網絡的訓練和測試變得十分方便。

缺點:region proposal 的提取使用 selective search,目標檢測時間大多消耗在這上面(提取region proposal 2~3s,而提取特征分類只需0.32s),無法滿足實時應用,而且并沒有實現真正意義上的端到端訓練測試(region proposal 使用 selective search 先提取出來)。

深度學習目標檢測:FASTER RCNN?(NIPS2015)

網絡結構如下:

preview

Fast R-CNN 存在的問題:存在瓶頸,Fast R-CNN 使用 selective search 找候選框,這個也非常耗時。那我們能不能找出一個更加高效的方法來求出這些候選框呢?當然可以,我們可以加入一個提取邊緣的神經網絡??Region Proposal Network(RPN)。也就是說找到候選框的工作也交給神經網絡來做了。

具體做法:

  • 將RPN放在最后一個卷積層的后面
  • RPN直接訓練得到候選區域

?

NIPS2015 版本的 Faster R-CNN 使用的檢測框架是 RPN網絡+Fast R-CNN網絡分離進行的目標檢測,整體流程跟Fast R-CNN一樣,只是region proposal現在是用RPN網絡提取的(代替原來的selective search)。RPN的核心思想是使用卷積神經網絡直接產生region proposal,使用的方法本質上就是滑動窗口。RPN的設計比較巧妙,只需在最后的卷積層上滑動一遍,因為anchor機制和邊框回歸可以得到多尺度多長寬比的 region proposal。 作者為了讓 RPN 網絡和 Fast R-CNN 網絡實現卷積層的權值共享,訓練 RPN 和 Fast R-CNN 的時候用了4階段的訓練方法:

  1. 使用在ImageNet上預訓練的模型初始化網絡參數,微調 RPN 網絡;
  2. 使用(1)中 RPN 網絡提取 region proposal 訓練 Fast R-CNN 網絡;
  3. 使用(2)的 Fast R-CNN 網絡重新初始化 RPN, 固定卷積層進行微調;
  4. 固定(2)中 Fast R-CNN 的卷積層,使用(3)中 RPN 提取的 region proposal 微調網絡。

權值共享后的RPN和Fast R-CNN用于目標檢測精度會提高一些。

小結:Faster R-CNN 將一直以來分離的 region proposal 和 CNN 分類融合到了一起,使用端到端的網絡進行目標檢測,無論在速度上還是精度上都得到了不錯的提高。然而 Faster R-CNN 還是達不到實時的目標檢測,預先獲取 region proposal,然后在對每個 proposal 分類計算量還是比較大。比較幸運的是YOLO這類目標檢測方法的出現讓實時性也變的成為可能。Faster R-CNN 可以達到每秒7幀,YOLO系列可以達到每秒40幀。

速度對比

Faster R-CNN的主要貢獻是設計了提取候選區域的網絡RPN,代替了費時的選擇性搜索,使得檢測速度大幅提高。

RCNN網絡的演進

因為Faster-RCNN,這種基于CNN的 real-time 的目標檢測方法看到了希望,在這個方向上有了進一步的研究思路。至此,我們來看一下RCNN網絡的演進,如下圖所示:

最后總結一下各大算法的步驟:

RCNN
  1. 在圖像中確定約1000-2000個候選框 (使用選擇性搜索)
  2. 每個候選框內圖像塊縮放至相同大小,并輸入到CNN內進行特征提取?
  3. 對候選框中提取出的特征,使用分類器判別是否屬于一個特定類
  4. 對于屬于某一特征的候選框,用回歸器進一步調整其位置

Fast RCNN
  1. 在圖像中確定約1000-2000個候選框 (使用選擇性搜索)
  2. 對整張圖片輸進CNN,得到feature map
  3. 找到每個候選框在feature map上的映射patch,將此patch作為每個候選框的卷積特征輸入到SPP layer和之后的層
  4. 對候選框中提取出的特征,使用分類器判別是否屬于一個特定類
  5. 對于屬于某一特征的候選框,用回歸器進一步調整其位置

Faster RCNN
  1. 對整張圖片輸進CNN,得到feature map
  2. 卷積特征輸入到RPN,得到候選框的特征信息
  3. 對候選框中提取出的特征,使用分類器判別是否屬于一個特定類
  4. 對于屬于某一特征的候選框,用回歸器進一步調整其位置

總的來說,從R-CNN, SPP-NET, Fast R-CNN, Faster R-CNN一路走來,基于深度學習目標檢測的流程變得越來越精簡,精度越來越高,速度也越來越快。可以說基于region proposal的R-CNN系列目標檢測方法是當前目標檢測技術領域最主要的一個分支。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453804.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453804.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453804.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

九江機器人餐廳_機器人精通200道佳肴 九江學院來了多位機器廚神

九江學院來了多位“機器廚神”●炒菜機一次能炒近10公斤菜&#xff0c;三四分鐘就能出鍋&#xff0c;味道也不錯●煮飯機從淘米到煮熟全部自動機械化操作&#xff0c;效率提高了不少電腦開啟&#xff0c;設定好程序&#xff0c;機器就可以自動運轉&#xff0c;快速炒出美味可口…

深度學習之邊框回歸(Bounding Box Regression)

從rcnn&#xff0c; fast rcnn, faster rcnn, yolo, r-fcn, ssd&#xff0c;到cvpr的yolo9000。這些paper中損失函數都包含了邊框回歸&#xff0c;除了rcnn詳細介紹了&#xff0c;其他的paper都是一筆帶過&#xff0c;或者直接引用rcnn就把損失函數寫出來了。前三條網上解釋比較…

2018 年,React 將獨占web前端框架鰲頭?

相比 Angular 和 Vue&#xff0c; React 是 2017 年的主要 JS 框架&#xff0c;尤其是 React Native 以前所未有的速度提升自己。 Stateofjs 2017前端框架調查結果 相比較 2016 年的調查結果 所以 &#xff0c;1 年過去了&#xff0c;Vue.js 顯然在前端框架中占據了領導地位&am…

ffmpeg的編譯(for x86,for arm)安裝及使用(網絡資料整理)

ffmpeg編譯及使用 1 ffmpeg介紹 ffmpeg是音視頻的分離&#xff0c;轉換&#xff0c;編碼解碼及流媒體的完全解決方案&#xff0c;其中最重要的就是libavcodec庫。它被mplayer或者xine使用作為解碼器。還有&#xff0c;國內比較流行的播放器影音風暴或MyMPC的后端ffdshow也是使…

python中other_Python other

最新項目django tinymcewrapper允許您輕松地將tinymce小部件添加到其他應用程序管理表單中&#xff0c;而無需修改其他應用程序。此包Python名稱&#xff1a;djang ...2020-12-24已閱讀: n次##這是什么&#xff1f;愚蠢的服務器可以幫助您模擬一些尚未實現的http服務&#xff0…

python 第三方模塊之 pandas 操作 excel

python 解析 excel 對比 包版本xls讀xlsx讀xls寫xlsx寫備注xlrd1.1.0&#xff08;2017年8月22日&#xff09;√√2.0 之后不支持xlsxxlwt1.3.0&#xff08;2017年8月22日&#xff09;√openpyxl2.6.2&#xff08;2019年3月29日&#xff09;√√XlsxWriter1.2.1&#xff08;201…

JMeter響應斷言詳解

響應斷言 &#xff1a;對服務器的響應進行斷言校驗 &#xff08;1&#xff09;應用范圍: main sample and sub sample&#xff0c; main sample only &#xff0c; sub-sample only &#xff0c; jmeter variable    關于應用范圍&#xff0c;我們大多數勾選“main sample on…

YUV / RGB 格式及快速轉換

YUV是指亮度參量和色度參量分開表示的像素格式&#xff0c;而這樣分開的好處就是不但可以避免相互干擾&#xff0c;還可以降低色度的采樣率而不會對圖像質量影響太大。 YUV是一個比較籠統地說法&#xff0c;針對它的具體排列方式&#xff0c;可以分為很多種具體的格式。轉載一篇…

交換機分布緩存_交換機網絡嗅探方法 如何欺騙交換機緩存

嗅探(sniff)&#xff0c;就是竊聽網絡上流經的數據包&#xff0c;而數據包里面一般會包含很多重要的私隱信息&#xff0c;如&#xff1a;你正在訪問什么網站&#xff0c;你的郵箱密碼是多少&#xff0c;你在和哪個MM聊QQ等等......而很多攻擊方式(如著名的會話劫持)都是建立在嗅…

深度學習之 SSD(Single Shot MultiBox Detector)

目標檢測近年來已經取得了很重要的進展&#xff0c;主流的算法主要分為兩個類型&#xff1a; &#xff08;1&#xff09;two-stage方法&#xff0c;如R-CNN系算法&#xff0c;其主要思路是先通過啟發式方法&#xff08;selective search&#xff09;或者CNN網絡&#xff08;RP…

短時程突觸可塑性(short-term synaptic plasticity)

介紹神經元的突觸可塑性一般被認為是大腦學習與記憶的分子生物學機制&#xff0c;它是指突觸傳遞效率增強或減弱的變化現象。若這種變化只持續數十毫秒到幾分&#xff0c;便稱之為短時程突觸可塑性&#xff0c;其中效率增強與減弱分別叫做短時程增強&#xff08;short-term enh…

windows平臺下vlc編譯

轉自:http://jeremiah.blog.51cto.com/539865/114190Jeremiah剛剛工作幾個月&#xff0c;參與的第一個項目是與視頻監控有關&#xff0c;分配給我的任務就是用開源的vlc做一個自己的播放器。對于開源項目來說&#xff0c;搭建起編譯環境是第一步也是最重要的一步。Jeremiah在歷…

python xgboost安裝_win7 64 python2 xgboost安裝

綜述&#xff1a;安裝Python3 環境下的xgboost 可以通過pip install &#xff0c; 在網址中下載對應版本&#xff1a; http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 來進行安裝。但Python2在該網址下并沒有相應的包&#xff0c;所以要下載xgboost源代碼 然后編譯。很麻…

深度學習之卷積神經網絡 AlexNet

AlexNet 是 2012年ILSVRC 比賽冠軍&#xff0c;遠超第二名的CNN&#xff0c;比LeNet更深&#xff0c;用多層小卷積疊加來替換單個的大卷積&#xff0c;結構如下圖所示。 ?? 結構 預處理 原始圖片&#xff1a;256?256?3256*256*3256?256?3 圖像處理&#xff1a; 1.隨機…

jstl處理欄目與子欄目_芬頓氧化法廢水處理工程技術規范(征求意見稿)

日前&#xff0c;生態環境部印發《芬頓氧化法廢水處理工程技術規范(征求意見稿)》&#xff0c;詳情如下&#xff1a;各有關單位&#xff1a;為貫徹《中華人民共和國環境保護法》和《中華人民共和國水污染防治法》等法律法規&#xff0c;防治環境污染&#xff0c;改善環境質量&a…

深度學習之卷積神經網絡 ZF Net

ZFNet出自論文《 Visualizing and Understanding Convolutional Networks》&#xff0c;作者Matthew D. Zeiler和Rob Fergus——顯然ZFNet是以兩位作者名字的首字母命名的。ZFNet通常被認為是ILSVRC 2013的冠軍方法&#xff0c;但實際上ZFNet排在第3名&#xff0c;前兩名分別是…

SIP與RTP綜合應用5-RTP解包過程

RTP接收部分比較簡單(不用考慮jitterbuffer等)&#xff0c;先從這里入手。 其實主要就3步&#xff1a; 1 創建一個udp&#xff0c;監聽一個端口&#xff0c;比如5200。 2 收到RTP包&#xff0c;送到解包程序&#xff0c;繼續收第 二個。 3 收齊一幀后&#xff0c;或保存文件&am…

JavaScript eval() 函數,計算某個字符串,并執行其中的的 JavaScript 代碼。

JavaScript eval() 函數&#xff0c;計算某個字符串&#xff0c;并執行其中的的 JavaScript 代碼。 適合用于計算器的計算&#xff0c;等。 例子&#xff1a; eval("x10;y20;document.write(x*y)") document.write(eval("22")) var x10 document.write(eva…

vb整合多個excel表格到一張_[Excel]同一工作簿中多個工作表保存成獨立的表格

一個工作簿中有多個表格&#xff0c;如何將其表格單獨保存成一個獨立的文檔呢&#xff1f;如果表格少&#xff0c;操作如下&#xff1a;選中要導出表格的標簽名--鼠標郵件--移動或復制表格--新建工作簿。當如果表格太多呢&#xff0c;以上方法就太羅嗦了。簡單方法用VBA,步驟如…

sqlserver字符串多行合并為一行

1 --創建測試表2 CREATE TABLE [dbo].[TestRows2Columns](3 [Id] [int] IDENTITY(1,1) NOT NULL,4 [UserName] [nvarchar](50) NULL,5 [Subject] [nvarchar](50) NULL,6 [Source] [numeric](18,0) NULL7 )8 GO9 10 --插入測試數據 11 INSERT INTO [TestRows2C…