搜尋
首頁科技週邊人工智慧準備圖像AI專案資料集的七個步驟

譯者| 陳峻

#重樓| 審校

不知你是否注意到,資料集可能是機器學習專案中最容易被忽略的部分。在大多數人看來,資料集不過是一些快速拼湊、或已下載的預製圖像的集合。而實際上,資料集是任何基於影像的人工智慧(AI)專案的基石。對於任何旨在實現高準確性的機器學習專案來說,創建和管理一個平衡且結構合理的資料集,都是至關重要的。

不過,建立一個資料集並不像收集幾百張圖片那麼簡單。我們在嘗試啟動某個AI專案時,很可能會遇到各種隱患。下面,我將和您討論可用來建立自己的資料集的七個典型步驟,以便您深入了解資料集大小的重要性、可能出現的資料遺漏、以及將資料集轉換為資料庫等要素。

注意:這些步驟將主要適用於,那些針對包含了影像資料集的物件偵測和分類項目。而諸如 NLP 或圖形項目等其他項目類型,則需要採用不同的方法。

步驟 1#:圖片大小

通常情況下,神經網路只能處理特定尺寸的影像,超過閾值的影像會被強制縮小。這意味著在使用資料集之前,我們需要選擇適合的神經網絡,並相應地調整圖像的尺寸

#如您所知,如果將圖像尺寸縮小,可能會導致精確度大幅下降,甚至使影像上的小物體消失,對整個辨識過程造成損害。如下所示,您需要在監視器拍攝的影像中偵測出車牌號碼,而車牌只佔整個影像的一小部分。因此,當神經網路對影像進行縮小處理時,車牌號碼可能會變得非常小,無法被辨識到

準備圖像AI專案資料集的七個步驟

#如下圖所示,如果能夠了解網路可使用的圖像尺寸,將有助於您裁剪出適當的資料集圖像。

準備圖像AI專案資料集的七個步驟

雖然大多數神經網路可處理的圖像尺寸都比較小,但是諸如 Yolo v5x6之類的最新神經網絡,則能夠處理更大解析度的影像。例如,Yolo v5xs6就能夠處理寬達 1280 像素的圖像。

步驟 2:了解的環境

為了確保資料集能夠準確反映神經網路在運行過程中所需識別的真實影像,我們在收集資料集時需要注意以下因素:

  1. 相機的類型,是智慧型手機鏡頭,還是安全攝影機
  2. 圖片的大小
  3. 相機的位置,是在室內,還是室外
  4. 天氣條件,如光照、雨、霧、雪等。

在清楚地了解了神經網路待處理的真實影像後,我們就能夠建立一個資料集,來準確地反映那些感興趣的對象、及其所處的環境。

收集Google上的普通圖片可能被認為是組成大型資料集最簡單、最快捷的方法。然而,這種方法實際上很難達到較高的精確度要求。如下圖所示,與真實相機拍攝的影像相比,Google或照片資料庫中的影像通常經過「美顏」處理

準備圖像AI專案資料集的七個步驟

#而一個過於「漂亮」的資料集,很可能會導致較高的測試準確率。這意味著,神經網路將僅能在測試資料(從資料集中純化的影像集合)上良好運行,但在真實條件下運作不佳,並導致準確率低。 步驟

3#格式與

#### ################我們需要注意的另一個重要面向是:圖片的格式。在開始專案之前,請檢查您選擇的框架能夠支援哪些格式,而您的圖片是否能夠符合此類要求。雖然目前的框架已能夠支援多種圖片格式,但是對於###### .jfif######等格式仍存在問題。 ############

註解資料可以用來詳細說明邊界框、檔案名稱、以及可以採用的不同結構。通常,不同的神經網路和框架,需要不同的註釋方法。有些需要包含邊界框位置的絕對座標,有些則需要相對座標;有些要求每個圖像都附帶一個單獨的、包含了註釋的.txt 文件,而另一些僅需要一個包含了所有註釋的文件。可見,即使您的資料集擁有良好的圖像,如果您的框架無法處理註釋的話,也將無濟於事。

步驟 4#:訓練與驗證子集

為了訓練的目的,通常將資料集分成兩個子集:

  1. #訓練子集 #- 它是一組圖像。神經網路將會在這組影像上進行訓練。其佔比為圖像總數的 70% #至 80%。
  2. 驗證子集- #是用來檢查神經網路在訓練過程中學習效果的較小圖像集。其佔比為圖像總數的 20% 30% #之間。

準備圖像AI專案資料集的七個步驟

通常,神經網路會使用從訓練子集中提取到的物體特徵,來“學習”物體的外觀。也就是說,在一個訓練週期結束(歷時,epoch)後,神經網路會查看驗證子集的數據,並嘗試猜測它能夠 「看 #」到那些物體。無論是正確的、還是錯誤的猜測,其結構都能夠讓神經網路進一步深入學習。

雖然這種方法已被廣泛使用,並被證明能夠取得良好的效果,但我們更傾向於採用一種不同的方法,將數據集合分割為以下子集:

  1. 訓練子集## - 佔總影像總數的 70%
  2. #驗證子集 - 佔總影像總數的 20%
  3. #測試資料集 - 約圖像總數的10%

準備圖像AI專案資料集的七個步驟

由於測試子集包含了神經網路從未見過的資料集中的圖像,因此開發人員可以透過該子集來測試模型,以了解其手動運行的效果,以及在處理哪些圖像時會遇到困難。換句話說,該子集將有助於在專案啟動前,找出神經網路可能犯錯的地方,進而避免在專案啟動之後,進行過多的重新訓練 步驟

5

:資料遺漏

準備圖像AI專案資料集的七個步驟

如果您使用來訓練機器學習演算法的資料中,恰好包含了您試圖預測的信息,那麼就可能發生資料外洩。如下圖所示,從影像辨識的角度來看,當訓練子集和驗證子集的相同物件的照片非常相似時,就會發生資料外洩。顯然,數據遺漏對於神經網路的品質來說是極為不利的。

本質上來說,模型在訓練資料集中看到了一幅圖像後,會先提取其特徵,然後進入驗證資料集,進而發現看到的完全相同(或非常相似)的圖像。因此,與其說模型在真實學習,不如說它只是在記憶各種資訊。有時,這會導致驗證資料集上的準確率,高得離譜(例如,可高達

98%),但是在生產實際中的準確率卻非常低。 目前最常用的一種資料集分割方法是:將資料隨機打亂,然後選取前 70%

的圖片放入訓練子集,剩下的

準備圖像AI專案資料集的七個步驟 30%

###則放入驗證子集。這種方法就容易導致資料遺漏的產生。如下圖所示,我們的當務之急是從資料集中刪除所有「重複」的照片,並檢查兩個子集中是否有類似的照片。 #####################

對此,我們可以使用簡單的腳本來自動執行重複刪除。當然,您可以調整重複閾值,例如:只刪除完全重複的圖片、或相似度高達到 90% 的圖片等。總的說來,只要刪除的重複內容越多,神經網路的生產精度就會越高。

步驟 6#:大型資料集資料庫

如果您的資料集相當大,例如:超過 10 圖片、以及具有數十個物件類別與子類別的話,我們建議您建立一個簡單的資料庫,來儲存資料集資訊。這背後的原因其實非常簡單:對於大型資料集而言,我們很難追蹤所有的資料。因此,如果不對資料進行某種結構化的處理,我們將無法對其進行準確分析。

透過資料庫,您可以快速地診斷資料集,進而發現諸如:特定類別的圖片數量過少,會導致神經網路難以辨識出物件;類別之間的圖片分佈不夠均勻;特定類別中的Google圖片數量過多,導致該類別的準確率得分過低等情況。

透過簡單的資料庫,我們可以包含以下資訊:

  1. 檔案名稱
  2. 檔案路徑
  3. #註解資料
  4. 類別資料
  5. 資料來源(源自生產環境、還是Google等)

準備圖像AI專案資料集的七個步驟

##物件類型、名稱等物件相關資訊

#資料庫是收集資料集、統計資料不可或缺的工具。它能夠幫助我們快速、輕鬆地查看資料集的平衡程度,以及每個類別中高品質影像的數量(從神經網路的角度來看)。透過類似下面直觀呈現的數據,我們可以更快地進行分析,並將其與識別結果進行比較,從而找出準確率低的根本原因

需要重新寫作的內容是:一個值得注意的問題是,準確率低的原因可能是因為圖片數量較少或某一類別中Google照片的比例較高。透過建立這樣的資料庫,可以大幅減少生產、測試和模型再訓練的時間

# 7

## :資料集

準備圖像AI專案資料集的七個步驟增強

作為一種用於增加影像數量的技術,資料增強是對資料進行簡單或複雜轉換的過程,例如透過翻轉或樣式轉化,我們可以提高資料的有效性。而據此獲得的有效資料集,則無需經歷過多的訓練。如下圖所示,此類資料轉換既可以是簡單到僅將影像旋轉 90 #度,也可以複雜到在影像中添加太陽耀斑、以模仿背光照片或鏡頭耀斑。

  1. 通常,這類增強轉換都是自動執行的。例如,我們可以準備一個專門用於資料增強的 Python
  2. 庫。目前,資料增強有兩種:訓練前增強##- 在訓練過程開始之前,對資料進行擴增,並將其新增至訓練子集中。當然,只有在資料集被劃分為訓練子集和驗證子集之後,我們才能進行此類增加,以避免前文提到的資料遺漏。

訓練內增強的-

# 採用類似###### PyTorch######的框架內建影像變換技術。 #####################值得注意的是,資料集的大小增加十倍,並不會讓神經網路的效率提高十倍。事實上,這反而可能會使網路的效能比以前更差。因此,我們應只使用與生產環境相關的增強功能。例如,對於被安裝在建築物內的攝影機,在其正常運作的情況下,是不會出現雨淋的。因此我們完全沒有必要在影像中加入針對「雨景」的增強。 ############

#儘管對於那些希望將AI應用到業務中的人來說,資料集是最不令人興奮的部分。但不可否認的是,資料集是任何影像辨識項目中的重要部分。而且在大多數影像辨識專案中,資料集的管理和整理,往往會花費團隊大量的時間。最後,讓我們小結一下,該如何透過適當地處置資料集,以便從AI專案中獲得最佳結果:

  1. 裁剪或調整影像的大小,以滿足神經網路的要求
  2. 根據天氣和照明條件,擷取真實影像
  3. 根據神經網路的要求,建立註解
  4. #避免使用所有的圖像來訓練網路。而需留一部分用於測試
  5. 刪除驗證資料集中的重複影像,以避免資料遺漏
  6. 建立資料庫,以快速診斷資料集
  7. #盡量少用資料增強,來增加影像數量

#譯者介紹

#陳峻(Julian Chen),51CTO社群編輯,具有十多年的IT專案實施經驗,善於對內部和外部資源與風險實施管控,專注於傳播網路與資訊安全知識與經驗。

原文標題:7 Steps To Prepare A Dataset For An Image-Based AI Project#,作者:Oleg Kokorin

以上是準備圖像AI專案資料集的七個步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
2023年机器学习的十大概念和技术2023年机器学习的十大概念和技术Apr 04, 2023 pm 12:30 PM

机器学习是一个不断发展的学科,一直在创造新的想法和技术。本文罗列了2023年机器学习的十大概念和技术。 本文罗列了2023年机器学习的十大概念和技术。2023年机器学习的十大概念和技术是一个教计算机从数据中学习的过程,无需明确的编程。机器学习是一个不断发展的学科,一直在创造新的想法和技术。为了保持领先,数据科学家应该关注其中一些网站,以跟上最新的发展。这将有助于了解机器学习中的技术如何在实践中使用,并为自己的业务或工作领域中的可能应用提供想法。2023年机器学习的十大概念和技术:1. 深度神经网

超参数优化比较之网格搜索、随机搜索和贝叶斯优化超参数优化比较之网格搜索、随机搜索和贝叶斯优化Apr 04, 2023 pm 12:05 PM

本文将详细介绍用来提高机器学习效果的最常见的超参数优化方法。 译者 | 朱先忠​审校 | 孙淑娟​简介​通常,在尝试改进机器学习模型时,人们首先想到的解决方案是添加更多的训练数据。额外的数据通常是有帮助(在某些情况下除外)的,但生成高质量的数据可能非常昂贵。通过使用现有数据获得最佳模型性能,超参数优化可以节省我们的时间和资源。​顾名思义,超参数优化是为机器学习模型确定最佳超参数组合以满足优化函数(即,给定研究中的数据集,最大化模型的性能)的过程。换句话说,每个模型都会提供多个有关选项的调整“按钮

人工智能自动获取知识和技能,实现自我完善的过程是什么人工智能自动获取知识和技能,实现自我完善的过程是什么Aug 24, 2022 am 11:57 AM

实现自我完善的过程是“机器学习”。机器学习是人工智能核心,是使计算机具有智能的根本途径;它使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。机器学习主要研究三方面问题:1、学习机理,人类获取知识、技能和抽象概念的天赋能力;2、学习方法,对生物学习机理进行简化的基础上,用计算的方法进行再现;3、学习系统,能够在一定程度上实现机器学习的系统。

得益于OpenAI技术,微软必应的搜索流量超过谷歌得益于OpenAI技术,微软必应的搜索流量超过谷歌Mar 31, 2023 pm 10:38 PM

截至3月20日的数据显示,自微软2月7日推出其人工智能版本以来,必应搜索引擎的页面访问量增加了15.8%,而Alphabet旗下的谷歌搜索引擎则下降了近1%。 3月23日消息,外媒报道称,分析公司Similarweb的数据显示,在整合了OpenAI的技术后,微软旗下的必应在页面访问量方面实现了更多的增长。​​​​截至3月20日的数据显示,自微软2月7日推出其人工智能版本以来,必应搜索引擎的页面访问量增加了15.8%,而Alphabet旗下的谷歌搜索引擎则下降了近1%。这些数据是微软在与谷歌争夺生

荣耀的人工智能助手叫什么名字荣耀的人工智能助手叫什么名字Sep 06, 2022 pm 03:31 PM

荣耀的人工智能助手叫“YOYO”,也即悠悠;YOYO除了能够实现语音操控等基本功能之外,还拥有智慧视觉、智慧识屏、情景智能、智慧搜索等功能,可以在系统设置页面中的智慧助手里进行相关的设置。

30行Python代码就可以调用ChatGPT API总结论文的主要内容30行Python代码就可以调用ChatGPT API总结论文的主要内容Apr 04, 2023 pm 12:05 PM

阅读论文可以说是我们的日常工作之一,论文的数量太多,我们如何快速阅读归纳呢?自从ChatGPT出现以后,有很多阅读论文的服务可以使用。其实使用ChatGPT API非常简单,我们只用30行python代码就可以在本地搭建一个自己的应用。 阅读论文可以说是我们的日常工作之一,论文的数量太多,我们如何快速阅读归纳呢?自从ChatGPT出现以后,有很多阅读论文的服务可以使用。其实使用ChatGPT API非常简单,我们只用30行python代码就可以在本地搭建一个自己的应用。使用 Python 和 C

人工智能在教育领域的应用主要有哪些人工智能在教育领域的应用主要有哪些Dec 14, 2020 pm 05:08 PM

人工智能在教育领域的应用主要有个性化学习、虚拟导师、教育机器人和场景式教育。人工智能在教育领域的应用目前还处于早期探索阶段,但是潜力却是巨大的。

人工智能在生活中的应用有哪些人工智能在生活中的应用有哪些Jul 20, 2022 pm 04:47 PM

人工智能在生活中的应用有:1、虚拟个人助理,使用者可通过声控、文字输入的方式,来完成一些日常生活的小事;2、语音评测,利用云计算技术,将自动口语评测服务放在云端,并开放API接口供客户远程使用;3、无人汽车,主要依靠车内的以计算机系统为主的智能驾驶仪来实现无人驾驶的目标;4、天气预测,通过手机GPRS系统,定位到用户所处的位置,在利用算法,对覆盖全国的雷达图进行数据分析并预测。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。