主頁 >  其他 > 利用尾巴作為時間序列進行處理來識別鯨魚

利用尾巴作為時間序列進行處理來識別鯨魚

2020-11-10 03:19:18 其他

作者|Lamothe Thibaud
編譯|Flin
來源|towardsdatascience

使用曲率積分和動態時間規整,讓我們深入研究抹香鯨識別!

前言

最近,我們嘗試了Capgemini的全球資料科學挑戰賽,我與Acores鯨魚研究中心合作,挑戰的目的是確定抹香鯨,用人工智能幫助拯救抹香鯨的生命,

為了完成這項任務,我們收集了幾千張過去幾年的鯨魚照片,在訓練資料集中,平均每頭鯨魚有1.77張照片,很多動物只出現過一次,因此,主要思想是,給定一個新的圖片,在已有資料中找出最接近它的,

因此,如果鯨魚已經被拍下來,研究人員就可以知道是何時何地拍的了,

我很自豪地宣布,我們以第三名的成績結束了比賽,我們使用暹羅網路取得了勝利,但是,由于已經有很多關于這個奇妙架構的文章,今天我將介紹一個更有趣、更新穎的方法來解決這個問題,

方法

由Weideman等人設計,在他們的論文“用于識別海豚和鯨魚的曲率積分表示和匹配演算法”中,這是我今天要介紹的方法的關鍵步驟如下:

  • 基于顏色分析和輪廓檢測的尾部提取

  • 曲率積分尾部處理(IC)

  • 與動態時間規整(DTW)的尾部比較

免責宣告N°1:預測率不如暹羅網路好,我們不得不探索其他解決方案,但是這個想法非常有趣,值得分享和了解,

免責宣告N°2:在許多資料科學專案中,資料準備是最困難的部分,實際上,要將尾部處理為信號,信號的質量必須非常好,在本文中,我們將花一些時間來理解信號處理之前的所有必要步驟,

探索我們的資料集,分析圖片

如引言中所述,我們得到了數千張圖片,乍一看,鯨魚就是鯨魚,所有這些圖片看上去都像是一個藍色背景(天空和大海),中間有一個灰色斑點(尾巴),

經過初步探索之后,我們開始在兩條不同的抹香鯨之間進行區別,這主要歸功于尾巴的形狀,我們確信這對我們的演算法至關重要,那顏色呢?像素分布中是否有什么有趣的資訊?

每個圖片中顏色數量之間的相關性(綠色與紅色–藍色與紅色–綠色與藍色)
使用Bokeh可視化庫(https://bokeh.org/) ,我們很快發現影像中的顏色高度相關,因此,我們專注于輪廓,嘗試通過顏色變化來檢測它們,

基于彩色濾波器的尾部提取

檢測尾巴輪廓的第一步是從天空和水中提取尾巴,實際上,這是該程序中最困難的部分,

首先,我們使用輪廓檢測??演算法,但是由于從一個鏡頭到另一個鏡頭的陽光不斷變化,因此對比度發生了很大變化,結果總不能令人滿意,

順便說一句,看到圖片演算法失敗最多的地方還是很有趣的,因為在大多數情況下,尾巴和大海之間的區別對于人類來說是顯而易見的,

話雖如此,讓我們深入研究顏色分析和輪廓提取自動化,

使用顏色提取尾巴

讓我們為每個通道強度(紅色,綠色,藍色)繪制灰度圖片

觀察單個圖片的三個通道

正如你在上面看到的,對于大多數圖片來說都是這樣,圖片中間的顏色較少,可以按像素強度進行過濾,由于尾巴通常是灰色的,因此它們的每種顏色的數量幾乎相同(R = G = B),但是,海和天空往往是藍色的,這使該顏色成為過濾的理想選擇,

讓我們看看當只保留藍色值,并且只保留藍色值<選定的閾值(blue_value < SELECTED_THRESHOLD)的像素時會發生什么,

選定的閾值SELECTED_THRESHOLD的最大值為255,因為它是像素強度的最大值,

通過這一系列圖片,我們可以相信,提取尾巴很容易,但是我該如何選擇過濾閾值?

以下是使用10到170(十乘十)的所有值作為單個圖片的閾值的結果示例,

根據藍色像素的強度,在一張圖片上應用17種不同的濾波器:

以下是一些有趣的內容:

  • 閾值很小(大約10),大海消失了,但尾巴也消失了

  • 閾值很小(大約20),尾巴的一部分消失了

  • 閾值不太高(大約40),提取的挺好,所有的尾巴都沒有閾值那么藍,但是所有的大海都比閾值藍,

  • 在中間閾值(大約80)的情況下,尾巴保持完整,但我們開始只能保留部分海洋

  • 在接近中間值的閾值(約110)的情況下,很難區分海和尾巴

  • 在較高的閾值(>=140)下,尾巴完全消失,這意味著即使大海也不夠藍,無法通過過濾器選擇,

這樣就到了,而且似乎很明顯應該采用SELECTED_THRESHOLD = 40并應用filter blue_value < 40,

可以猜到,這并不容易,給定該圖片的光強度,該圖片的正確值為40,但是這也是陳詞濫調了,通過將所有這些閾值繪制在隨機圖片上的結果,該閾值發生在10到130之間變化,那么如何選擇合適的值呢?

使用邊界框選擇閾值

通過查看前面的圖片,我們想到了一些東西:正確閾值的正確圖片是外部具有最大空白區域而內部具有最大區域的影像,并希望一些在ImageNet上訓練的神經網路可以將鯨魚定位在圖片中,我們決定使用基于ImageNet類的MobileNet,

與原始圖片相比,一批提取的尾巴帶有邊框

這真是個好主意,如下所示,我們可以非常準確地確定圖片中尾巴的位置,然后,我們幾乎可以在所有圖片中將“尾部-內部”與“海部-外部”分開,

為了更好地了解這種分離,對于訓練集的每張圖片,我們將邊界框內每個像素的藍色值相加,并對框外的像素進行相同的處理,

然后,我們在下圖上繪制每個圖片,內部結果體現在X軸上,外部結果體現在Y軸上,藍線代表X = Y,我們可以從此圖形中獲得的含義如下:你離線條越遠,尾巴和海洋之間的分隔就越容易,

在邊界框內外的藍色像素強度下比較抹香鯨圖片

我們嘗試根據與線的距離應用過濾器閾值,但這沒有產生任何結果,經過幾次嘗試,我們僅根據圖片的顏色分布做不出什么,因此決定采用強硬的方法,除了查看圖片并確定閾值外,我們還為每張圖片應用15個濾波器,對其進行分析,然后自動選擇最佳濾波器以進行進一步處理,

然后對于給定的圖片,我們將15個濾波器應用了15個不同的值作為閾值,對于每個濾波器,我們計算邊界框內的像素和外面的像素的數量(過濾后,像素值為0或1,無需再對強度求和),然后,我們對結果進行歸一化,使數字獨立于影像的大小,并將結果繪制在一個圖形上,

單個圖片和不同過濾閾值的邊界框內(X軸)和外框(Y軸)的像素數量,

對于每張圖片,我們得到的曲線都類似于上面的曲線,這是我們隨著閾值的演變而對前面的陳述進行的數學轉換,

  • 當閾值很小時,尾巴和大海消失了,尾部內部或外部均無像素

  • 當閾值增加時,出現尾巴,并且X軸的值升高,

  • 直到閾值開始出現在海洋的某些部分,并且外部價值開始增長,

使用線性回歸或導數,現在很容易檢測到正確的閾值:它是圖的兩條線的交點處的閾值,

注意:橙色線是 y = y_of_the_selected_threshold

尾巴提取的最后提示

最后,為了在提取時得到最好的圖片,當我們計算出最佳閾值(10,20,30,40,…,120,130,140,150)時,假設是80,我們對-5/+5值應用了過濾器,所以我們有三張照片:藍色< 75,藍色< 80,藍色< 85,然后我們將這些網格圖片中的三個(0和1)求和,并且只保留結果像素的值等于2,這將作為最后的過濾器,去除尾部的噪音,這樣的提取效果很好,我們決定適用于所有的圖片,

結果

作為總結,以下是我們到目前為止所做的假設:

  • 我們可以使用濾波器對藍色像素的強度把尾巴和海洋區分開

  • 在過濾之前,需要為每個圖片找到一個閾值

  • 使用邊界框是找到此閾值的有效的方法

經過幾個小時的作業,我們最終得到了一個非常好的尾巴提取器,可以很好地處理具有不同亮度,天氣,海洋顏色,尾巴顏色的尾巴,并且能夠瀏覽最難的圖片,

一批提取出來的尾巴與原始圖片進行比較

輪廓檢測

現在尾部位于圖片中,我們進行輪廓檢測,確實,要處理時間序列中的尾巴,我們需要發出信號,

在這一步,我們可以使用OpenCV的輪廓檢測演算法,但是通過以下兩個步驟,看起來會更快一些:

步驟1:使用熵去除尾巴周圍的噪聲

使用熵變僅保留提取的尾巴的輪廓

步驟2:保持每列圖片的高光像素

應用熵濾波器后檢測到的提取的尾巴輪廓

此步驟非常簡單,沒有什么復雜性,

曲率積分

通過從海中提取尾巴并獲取圖片的上部像素,我們得到了尾巴的后沿作為信號,現在我們有了這個,我們就要處理規范化問題,實際上,所有圖片的大小或像素數量都不相同,此外,到抹香鯨的距離并不總是相同的,拍攝時的方位可能會發生變化,

尾巴方向的示例,同一條鯨的兩張照片之間可能會有所不同

為了進行標準化,我們必須沿著兩個軸進行,首先,我們決定使用每條尾巴300個點進行信號比較,然后我們對最短的插值進行插值,并對最長的進行采樣,其次,我們將0到1之間的所有值歸一化,這導致信號疊加,如下圖所示,

標度信號疊加

為了解決定向問題,我們使用了曲率積分度量,該度量通過區域評估將信號轉換為另一個信號,

如原始論文中所述:“它捕獲沿后緣的每個點的區域形狀資訊,對于位于后緣上的給定點,我們在該點處放置一個半徑為r的圓,然后找到后緣上位于該圓內的所有點,”

然后,在每一步中,我們將信號的邊緣沿圓形拉直,以使其內接為正方形,

曲率積分原理

最后,我們定義曲率如下:

曲率是曲線下到正方形總面積的面積,這意味著直線的曲率值為c = 0.5

因此,我們獲得了標準化信號,與鯨魚和攝影者之間的距離無關,與鯨魚和攝影者之間的角度無關,并且與鯨魚和海洋之間的傾角無關,

然后,對于每張訓練測驗圖片,我們在IC相移期間創建了半徑分別為5、10和15像素的那些信號,我們將它們存盤起來,并用于最后一步:時間序列之間的比較,

在本文中,我將介紹這種演算法的實作,一旦作業,我們就可以將其應用到尾緣,并從環境細節中提取信號,對于一條尾巴,信號看起來像這樣:

曲率積分應用于帶有3個不同半徑值的抹香鯨尾緣

現在,讓我們進行信號比較!

動態時間規整

動態時間規整(DTW,https://en.wikipedia.org/wiki/Dynamic_time_warping) 是一種能夠在兩個時間序列之間找到最佳對齊方式的演算法,它通常用于確定時間序列的相似性,分類以及查找兩個時間序列之間的對應區域,

與歐幾里得距離(指??的是兩條曲線之間的距離,逐點)相反,DTW距離允許鏈接曲線的不同部分,該演算法的作業原理如下:

使用2條曲線,我們創建了兩個系列之間的距離矩陣,從左下角到右上角,計算兩點之間的距離Ai和Bi,如下計算兩個點之間的距離:D(Ai, Bi) = |Ai — Bi] + min(D[i-1, j-1], D[i-1, j], D[i, j-1]),

當距離矩陣滿足時,我們計算從右上角到左下角的權重較小的路徑,為此,我們在每一步中選擇具有最小值的平方,

最后,所選的路徑(下圖中的綠色)指示來自序列A的哪個資料點對應于序列B中的資料點,

這樣的基本計算的實作非常容易,例如,這是一個根據兩個序列s和創建距離矩陣的函式t,

def dtw(s, t):
  """ Computes the distance matrix between two time series
      args: s and t are two numpy arrays of size (n, 1) and (m, 1)
  """
  
    # Instanciate distance matrix
    n, m = len(s), len(t)
    dtw_matrix = np.zeros((n+1, m+1))
    for i in range(n+1):
        for j in range(m+1):
            dtw_matrix[i, j] = np.inf
    dtw_matrix[0, 0] = 0
    
    # Compute distance matrix
    for i in range(1, n+1):
        for j in range(1, m+1):
            cost = abs(s[i-1] - t[j-1])
            last_min = np.min([
              dtw_matrix[i-1, j],
              dtw_matrix[i, j-1],
              dtw_matrix[i-1, j-1]
            ])
            dtw_matrix[i, j] = cost + last_min
    
    return dtw_matrix


話雖如此,讓我們回到我們的抹香鯨!資料集的每個尾巴都轉換為“積分曲線信號”,我們計算了所有尾巴之間的距離,以發現最接近的那些,

之后,當接收到一張新圖片時,我們必須使其通過整個準備流程:使用藍色濾波器的尾部提取,使用熵方法進行輪廓檢測以及使用IC進行輪廓轉換,它給了我們一個300x1形狀的張量,最后我們要計算整個資料集的距離,順便說一句,這很費時,

判決:結果可觀!當我們有兩張相同的鯨魚照片時,在大多數情況下,兩張照片是最接近的40張,這在2000年中是最好的,但是,如引言中所述,使用暹羅網路的結果要好于這張照片(圖片通常在最近的5張中) ),鑒于比賽的時間,我們不得不在調查中選擇其他的方法,

獎勵:處理一半的尾巴和一半的信號

我們嘗試使用半尾巴,假設以下任一情況:

  • 尾巴是對稱的,這將簡化計算,

  • 尾巴是不對稱的,因此可以通過半尾巴進行比較,

盡管進行了大量測驗,但這并沒有給我們非常確定的結果,我們認為我們的分離不夠可靠:我們將需要更多時間來研究信號處理帶來的更好分離,

最后的想法

在發送了一些比我們想象的要難的時間的尾部提取后,由于圖片的顏色(基本上是藍色——海洋和天空)以及資料集中圖片的各種亮度,我們對尾巴識別應用了兩種連續的處理方法,

首先,曲率積分是一種通過查看曲線的區域變化對信號進行歸一化的方法,然后,我們使用了動態時間規整,這是兩條曲線之間的距離計算,即使移動了兩條曲線也可能會發現兩條曲線之間的相似性,

不幸的是,結果并不如我所愿,我們無法繼續使用該解決方案,通過更多的時間和更多的努力,我深信我們可以改進管道的每個步驟,從而獲得更好的模型,我也非常喜歡和本文提到的這些概念一起作業,

通過所有步驟,實作它們的不同方法以及引數,監視所有轉換非常具有挑戰性,正如我們有路線圖一樣,每一步都有其自身的困難,每一次小小的成功都是勝利,它開啟了下一步,非常可喜,

我發現這種方法非常有趣,并且與通常的預訓練的CNN完全不同,希望你也喜歡本文主題的這種方法的優點,如有任何疑問,請隨時與我聯系??

參考文獻

  • 我們從這篇論文中得到了IC + DTW的想法:

    • https://arxiv.org/abs/1708.07785
  • 動態時間規整1–0–1(中等)

    • https://towardsdatascience.com/dynamic-time-warping-3933f25fcdd
  • DTW python實作

    • https://pypi.org/project/dtw-python/
  • Kaggle座頭鯨鑒定比賽

    • https://www.kaggle.com/c/humpback-whale-identification
  • 關于此次活動的Capgemini 網頁(面向公司外人員)

    • https://www.yammer.com/capgemini.com/#/threads/inGroup?type=in_group&feedId=13438430&view=all

原文鏈接:https://towardsdatascience.com/whale-identification-by-processing-tails-as-time-series-6d8c928d4343

歡迎關注磐創AI博客站:
http://panchuang.net/

sklearn機器學習中文官方檔案:
http://sklearn123.com/

歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208643.html

標籤:其他

上一篇:手把手教你使用容器服務 TKE 集群審計排查問題

下一篇:接縫雕刻演算法:一種看似不可能的影像大小調整方法

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more