在人工智能和計算機視覺中,數據采集成本高、耗時長,并且基于人的標記容易出錯。模型的準確性還受到數據不足和不平衡以及改進深度學習模型所需的時間延長的影響。它總是要求在現實世界中重新獲取數據。
基于人工智能培訓的數據收集、準備和準確可靠的軟件解決方案的開發是一個極其艱苦的過程。所需的投資成本抵消了部署該系統的預期收益。
用合成數據代替真實數據進行訓練是縮小數據差距、加速模型訓練的一種方法 天空發動機 提供了一個 AI 平臺,將深度學習轉移到虛擬現實中。可以使用模擬生成合成數據,其中合成圖像帶有可直接用于訓練 AI 模型的注釋。
合成數據現在可以直接導出到 NVIDIA 遷移學習工具包 ( TLT )上運行, TLT 是一個人工智能訓練工具箱,通過抽象出人工智能/ DL 框架的復雜性來簡化訓練。這使您能夠更快地構建生產質量模型,而不需要任何人工智能專業知識。有了 SKY ENGINE AI 平臺和 TLT ,您可以快速迭代和構建 AI 。
在這篇文章中,您將學習如何通過獲取預先說明的合成數據并在 TLT 上對其進行訓練來利用合成數據的威力。我演示了一個簡單的檢查用例,使用分段來識別電信塔上的天線。
關于天空引擎人工智能方法
SKY ENGINE 推出了一個用于虛擬現實深度學習的全棧 AI 平臺,這是下一代用于圖像和視頻分析應用的主動學習 AI 系統。 SKY ENGINE 人工智能平臺可以使用一個專有的、專用的模擬系統生成數據,在這個系統中,圖像已經經過注釋,可以進行深入學習。
輸出數據流可以包括以下任一項:
- 所選模式中的渲染圖像或其他模擬傳感器數據
- 對象邊界框
- 三維邊界框
- 語義遮罩
- 二維或三維骨架
- 深度貼圖
- 法向量映射
天空引擎人工智能還包括先進的領域適應算法,可以了解真實數據的特點的例子。它們保證了推理過程中任何經過訓練的人工智能模型的高質量性能。

天空引擎模擬系統支持物理驅動的傳感器模擬(相機、熱視覺、紅外、激光雷達、雷達等) 傳感器數據融合。它與深度學習管道緊密結合,以確保進化。在訓練過程中,天空引擎人工智能可以發現模糊的情況,從而降低人工智能模型的準確性。它可以獲得更多的圖像數據來反映那些深層次學習精度可以瞬間提高的問題情境。天空引擎 AI 通過每一個執行的實驗學到了更多。
天空引擎 AI 提供了一個完全實現、測試和優化的深度神經網絡花園。提供的模型專用于流行的計算機視覺任務,如目標檢測和語義分割。它們還可以作為更復雜的拓撲結構,用于三維位置和姿態估計、三維幾何推理或表示學習。
天空引擎人工智能還包括先進的領域適應算法,可以了解實際數據的特點,并確保訓練模型推理的性能。天空引擎 AI 不需要復雜的渲染和成像知識,因此入門門檻非常低。它有一個 Python API ,包括大量的幫助程序來快速構建和配置環境。
神經網絡優化
SKY ENGINE AI 平臺可以生成數據集,并支持深度學習模型的培訓,該模型可以使用來自任何來源的輸入數據。在 NVIDIA TLT 和 AI 驅動推理中訓練 AI 模型的輸入流可以有效地包括使用智能手機獲得的低質量圖像、來自 CCTV 攝像機或安裝在無人機上的攝像機的數據。
您可以在云上部署用于電信網絡性能優化的分析模塊,包括數據存儲和多 GPU 擴展。在這個領域,大多數由機器學習驅動的軟件項目都無法達到解決方案部署的最后階段。這可能是因為機器學習能力高度依賴于輸入數據的質量。 SKY ENGINE 提供的人工智能模型的開發以及對合成數據的深入培訓,是一個具有可預測的項目開發和在多個工業業務流程中保證部署的解決方案。
電信設備檢測與分類
計算機視覺的一個常見任務是對感興趣的設備進行定位和分類。在這篇文章中,我提出了一個基于 MaskRCNN 的 NVIDIA TLT 環境的神經網絡優化過程,用于電信塔天線實例的包圍盒定位。你使用來自天空引擎 AI 的合成數據來訓練 MaskRCNN 模型。高層工作流程如下:
- 生成帶注釋的合成數據。
- 根據 NVIDIA TLT-MaskRCNN 模型的要求將數據格式轉換為 COCO 。
- 配置 NGC 環境和數據預處理。
- 在合成數據上訓練和評估 MaskRCNN 模型。
- 使用訓練好的人工智能模型對合成和真實的電信塔進行推理。
接下來,請參閱 GitHub 上的 天空引擎 AI Jupyter 筆記本 。
給出了電信塔的真實示例,我使用 SE 呈現引擎創建了一個帶注釋的合成數據集。
要使用 SKY ENGINE AI 啟動標記數據的自動生成并準備數據源對象,必須定義基本工具(如空渲染器上下文)以及合成場景資源所在的路徑。
在這個渲染場景中,我隨機化了以下內容:
- 給定電信塔上天線的數目
- 光的方向
- 攝像機的位置
- 攝像機的水平視野
- 背景圖
在許多項目中, SKY 引擎返回的樣本洗牌不夠。一個例子是渲染過程遵循攝影機軌跡。因此,我建議在將數據劃分為訓練集和測試集之前對其進行額外的洗牌。
生成圖像后,利用 SKY 引擎的數據輸出模塊將圖像轉換為 COCO 格式。這是 NVIDIA TLT 框架所要求的。根據文檔準備好配置文件后,可以使用 TensorFlow 后端運行 TLT 預訓練掩碼 RCNN 模型的培訓:
!tlt mask_rcnn train -e $SPECS_DIR/maskrcnn_train_telco_resnet50.txt \ ?????????????????????-d $USER_EXPERIMENT_DIR/experiment_telco_anchors \ ?????????????????????-k $KEY \ ?????????????????????--gpus?1
最后一步,運行一個經過訓練的深度學習模型,對真實數據進行推理,以查看該模型是否準確地執行了感興趣的任務。
!tlt mask_rcnn inference -i $DATA_DIR/valid_images \ ?????????????????????????-o $USER_EXPERIMENT_DIR/se_telco_maskrcnn_inference_synth \ ?????????????????????????-e $SPECS_DIR/maskrcnn_train_telco_resnet50.txt \ ?????????????????????????-m $USER_EXPERIMENT_DIR/experiment_telco_anchors/model.step-20000.tlt \ ?????????????????????????-l $SPECS_DIR/telco_labels.txt \ ?????????????????????????-t 0.5 \ ?????????????????????????-b 1 \ ?????????????????????????-k $KEY \ ?????????????????????????--include_mask
圖 3 顯示了電信天線檢測的一些結果。
概括
在本文中,我演示了如何使用 SKY ENGINE 的合成數據,并使用 NVIDIA TLT 對其進行訓練和優化,從而減少數據收集和注釋工作。我提出了一個用于電信行業的單天空引擎人工智能用例。然而,這個平臺打開了更多潛在應用的大門,提供了一些高級功能:
- 自動數據集平衡(主動學習)
- 域適配
- 三維推理的預訓練深度學習模型
- 傳感器仿真與傳感器融合深度學習模型訓練
有關更多信息,請參閱 GitHub 上的 天空引擎 AI 解決方案 。有關在 SKY ENGINE AI 平臺中開發的更多計算機視覺用例,請參閱以下視頻:
?