1 00:00:00,825 --> 00:00:01,976 10 年前, 2 00:00:02,000 --> 00:00:04,776 電腦視覺研究人員認為, 3 00:00:04,800 --> 00:00:07,496 要讓電腦辨別貓與狗的差別, 4 00:00:07,520 --> 00:00:09,496 幾乎是比登天還難, 5 00:00:09,520 --> 00:00:13,216 即使用了相當先進的 人工智慧都很難辦到。 6 00:00:13,240 --> 00:00:16,800 現在我們可以把辨別的準確度 提升到 99% 以上。 7 00:00:17,680 --> 00:00:19,536 這技術叫做圖像分類—— 8 00:00:19,560 --> 00:00:22,656 給電腦看圖片, 並給圖片貼上標籤—— 9 00:00:22,680 --> 00:00:25,720 電腦還可以識別出 許多其它類別的東西。 10 00:00:26,680 --> 00:00:29,576 我目前是華盛頓大學的研究生, 11 00:00:29,600 --> 00:00:31,496 我正在做一個專題叫做「暗黑網路」, 12 00:00:31,520 --> 00:00:33,216 它是一個用來訓練及測試 13 00:00:33,240 --> 00:00:36,056 電腦視覺模型的神經網路架構。 14 00:00:36,080 --> 00:00:39,056 所以,讓我們來瞧瞧暗黑網路 15 00:00:39,080 --> 00:00:40,840 對我們照片識別能力的狀況。 16 00:00:42,520 --> 00:00:44,856 當我們在這張照片上 17 00:00:44,880 --> 00:00:46,096 開啟我們的分類器, 18 00:00:46,120 --> 00:00:48,576 可以看到電腦現在不只 在預測這是狗或貓, 19 00:00:48,600 --> 00:00:50,936 它實際上正在擷取特定品種的預測。 20 00:00:50,960 --> 00:00:53,136 這就是現在我們電腦的粒度等級。 21 00:00:53,160 --> 00:00:54,776 辨別正確。 22 00:00:54,800 --> 00:00:56,640 我的狗的確是隻雪橇犬。 23 00:00:57,040 --> 00:01:01,376 所以,我們在圖像識別上 已經有了很大的進步, 24 00:01:01,400 --> 00:01:03,400 但如果我們用識別器 25 00:01:03,424 --> 00:01:05,384 來辨別這樣的照片呢? 26 00:01:07,080 --> 00:01:08,280 嗯…… 27 00:01:12,640 --> 00:01:16,536 可以看到從分類器 得到的預測也相當類似。 28 00:01:16,560 --> 00:01:19,656 沒錯,圖片中有一隻雪橇狗, 29 00:01:19,680 --> 00:01:21,490 但它只給出一個標籤, 30 00:01:21,490 --> 00:01:25,067 我們對這張照片的理解 還不是很完整。 31 00:01:25,091 --> 00:01:26,651 我們需要更強的東西。 32 00:01:27,240 --> 00:01:29,856 我正在研究一個問題, 叫做「物件偵測」, 33 00:01:29,880 --> 00:01:32,816 我們把一張照片中的 所有物體都找出來, 34 00:01:32,840 --> 00:01:34,296 用邊界框把它們框起來, 35 00:01:34,320 --> 00:01:36,290 然後標示它們是那些東西。 36 00:01:36,400 --> 00:01:41,050 我們來看一下當我們在這一張圖片上 執行偵測軟體時,會發生甚麼事。 37 00:01:41,240 --> 00:01:43,496 現在,有了這類的結果, 38 00:01:43,520 --> 00:01:46,216 我們就可以利用電腦視覺演算法, 幫我們做更多的事。 39 00:01:46,240 --> 00:01:49,216 我們可以看到, 電腦知道圖片中有一隻貓和狗。 40 00:01:49,240 --> 00:01:51,496 它知道牠們彼此的相對位置、 41 00:01:51,520 --> 00:01:52,736 大小。 42 00:01:52,760 --> 00:01:54,696 電腦甚至可能知道其它的資訊。 43 00:01:54,720 --> 00:01:56,680 它也看到了背景中有一本書。 44 00:01:57,280 --> 00:02:00,536 如果你想要建立一個 基於電腦視覺系統的實用系統, 45 00:02:00,560 --> 00:02:04,016 比如說,自動駕駛車或機械人系統, 46 00:02:04,040 --> 00:02:06,496 這類就會是你想要的資訊。 47 00:02:06,520 --> 00:02:09,759 你會想要一個可以 與實體世界互動的東西。 48 00:02:10,759 --> 00:02:13,016 當我開始做物件偵測時, 49 00:02:13,040 --> 00:02:16,336 它要花 20 秒才能處理一張圖片。 50 00:02:16,360 --> 00:02:20,240 為了讓各位體會 為什麼這個領域這麼講究速度, 51 00:02:21,120 --> 00:02:23,656 我這邊做個執行物件偵測器的示範, 52 00:02:23,680 --> 00:02:26,096 一張照片只要 2 秒的處理時間。 53 00:02:26,120 --> 00:02:28,736 所以,比 20 秒一張的偵測器 54 00:02:28,760 --> 00:02:32,296 快了 10 倍, 55 00:02:32,320 --> 00:02:34,976 各位可以看到, 在它識別圖像的過程中, 56 00:02:35,000 --> 00:02:37,040 周圍環境已經發生了變化, 57 00:02:37,880 --> 00:02:40,296 但對一個應用軟體而言, 58 00:02:40,320 --> 00:02:41,736 這樣的速度是很鷄肋的。 59 00:02:41,760 --> 00:02:44,256 如果我們把另一個參數調升到 10 , 60 00:02:44,280 --> 00:02:47,096 這個偵測器每秒 就可以識別 5 張圖片。 61 00:02:47,120 --> 00:02:48,656 這樣好多了, 62 00:02:48,680 --> 00:02:50,656 但,假如, 63 00:02:50,680 --> 00:02:52,976 移動很快的時候…… 64 00:02:53,000 --> 00:02:55,560 我可不想在我車上裝這樣慢的系統。 65 00:02:57,120 --> 00:03:00,360 這是在我筆電上運行的 即時偵測系統。 66 00:03:01,000 --> 00:03:04,136 我在框框附近移動的時候, 它可以很順暢地追蹤著我, 67 00:03:04,160 --> 00:03:07,880 而且,它可以根據不同的大小、 68 00:03:09,440 --> 00:03:10,640 姿勢、 69 00:03:11,280 --> 00:03:13,136 前、後來做調整。 70 00:03:13,160 --> 00:03:14,376 太棒了。 71 00:03:14,400 --> 00:03:17,946 如果我們要建立一個 基於電腦視覺系統的實用系統, 72 00:03:17,946 --> 00:03:20,186 這個才會是我真正想要的。 73 00:03:20,186 --> 00:03:23,080 (掌聲) 74 00:03:24,280 --> 00:03:26,456 所以,才幾年的時間, 75 00:03:26,480 --> 00:03:29,136 我們從每 20 秒處理一張照片, 76 00:03:29,160 --> 00:03:32,696 進步到每張照片只要 20 毫秒, 快了 1000 倍。 77 00:03:32,720 --> 00:03:34,136 我們是如何辦到的? 78 00:03:34,160 --> 00:03:37,176 過去,物件偵測系統, 79 00:03:37,200 --> 00:03:39,136 會把一張像這樣的照片, 80 00:03:39,160 --> 00:03:41,616 分割成好幾個小區塊, 81 00:03:41,640 --> 00:03:44,896 然後在每一個小區塊 運行分類器軟體, 82 00:03:44,920 --> 00:03:47,456 相似度得分如果比較高 83 00:03:47,480 --> 00:03:50,616 會被識別器認為照片偵測成功。 84 00:03:50,640 --> 00:03:54,696 但這樣一張圖片要執行 好幾千次的識別指令、 85 00:03:54,720 --> 00:03:58,520 經過好幾千次的神經網路評估 才有辦法偵測出來。 86 00:03:59,240 --> 00:04:03,776 但我們不是這樣做,我們訓練了一個 網路模型來幫我們完成所有的偵測。 87 00:04:03,800 --> 00:04:08,080 它可以同時產出邊界框 並同時對可能的結果進行評估。 88 00:04:08,680 --> 00:04:12,176 有了我們的系統, 你就不用一張圖片看了好幾千遍 89 00:04:12,200 --> 00:04:13,656 才能偵測出來。 90 00:04:13,680 --> 00:04:14,936 你只要看一眼 (YOLO), 91 00:04:14,960 --> 00:04:17,880 所以我們簡稱這個 物件偵測技術為「YOLO」。 92 00:04:19,360 --> 00:04:23,336 所以,有了這樣的辨識速度, 我們不只可以偵測圖片; 93 00:04:23,360 --> 00:04:25,776 還可以處理即時的影片。 94 00:04:25,800 --> 00:04:28,896 現在各位看到的不是 貓、狗的靜態圖片, 95 00:04:28,920 --> 00:04:33,060 而是有牠們在移動、 互動的動態影片。 96 00:04:34,560 --> 00:04:37,676 這是我們用微軟 COCO 資料集裡 97 00:04:37,676 --> 00:04:41,016 80 種不同的類別 98 00:04:41,040 --> 00:04:44,296 訓練出來的辨識器。 99 00:04:44,320 --> 00:04:47,656 它包含各種東西, 像是湯匙、叉子、碗 100 00:04:47,680 --> 00:04:50,080 這類的日常用品。 101 00:04:50,360 --> 00:04:53,456 它還有很多奇妙的東西: 102 00:04:53,480 --> 00:04:56,736 動物、車子、斑馬、長頸鹿。 103 00:04:56,760 --> 00:04:58,696 現在我們要進行一件好玩的事。 104 00:04:58,720 --> 00:05:00,816 我們會進到觀眾席, 105 00:05:00,840 --> 00:05:02,856 去看看能辨識到哪些東西。 106 00:05:02,880 --> 00:05:04,500 有誰要填充娃娃? 107 00:05:06,000 --> 00:05:08,682 這邊還有一些泰迪熊。 108 00:05:10,040 --> 00:05:14,576 我們現在降低一下 對偵測結果的精確度的要求, 109 00:05:14,600 --> 00:05:18,000 這樣我們可以在觀眾席中 找到更多東西。 110 00:05:19,560 --> 00:05:21,896 我們來看看能不能偵測到停止標誌。 111 00:05:21,920 --> 00:05:23,800 我們有偵測到一些背包。 112 00:05:25,880 --> 00:05:27,720 現在把鏡頭拉近一點。 113 00:05:30,320 --> 00:05:31,576 這真的很厲害。 114 00:05:31,600 --> 00:05:34,050 所有的偵測流程 115 00:05:34,050 --> 00:05:36,870 都可以在筆電裡即時呈現。 116 00:05:37,080 --> 00:05:38,536 更重要的是, 117 00:05:38,560 --> 00:05:41,776 這只是一個一般用的物件偵測系統, 118 00:05:41,800 --> 00:05:46,800 我們還可以訓練它 辨別任何領域的照片。 119 00:05:48,320 --> 00:05:50,856 同樣的程式碼, 放在自動駕駛車裡, 120 00:05:50,880 --> 00:05:53,336 可以偵測到停止標誌、行人、 121 00:05:53,360 --> 00:05:55,336 腳踏車, 122 00:05:55,360 --> 00:05:58,216 但放到組織切片 123 00:05:58,240 --> 00:06:01,256 就可以偵測出癌症細胞。 124 00:06:01,280 --> 00:06:05,320 現在全球有很多研究人員 已經開始在使用這項技術 125 00:06:06,240 --> 00:06:09,656 做進一步的研究, 像是醫藥、機械人領域。 126 00:06:09,680 --> 00:06:11,056 今天早上,我讀到一篇文章, 127 00:06:11,080 --> 00:06:15,656 在奈洛比國家公園裡, 他們要對動物們進行統計調查, 128 00:06:15,680 --> 00:06:18,816 YOLO 就是其使用的 偵測系統的一部分。 129 00:06:18,840 --> 00:06:21,936 而這一切都是因為 暗黑網路是開放原始碼, 130 00:06:21,960 --> 00:06:24,480 在公眾領域, 任何人都可以免費使用。 131 00:06:25,600 --> 00:06:31,296 (掌聲) 132 00:06:31,320 --> 00:06:36,256 但我們希望偵測系統 可以更親民、更好用, 133 00:06:36,280 --> 00:06:40,336 所以在經過模型優化、 134 00:06:40,360 --> 00:06:42,656 網路二值化及近似度化的整合後, 135 00:06:42,680 --> 00:06:46,600 我們終於可以在手機上偵測物件。 136 00:06:52,800 --> 00:06:58,120 (掌聲) 137 00:06:58,960 --> 00:07:02,316 而我真的相當興奮,因為我們現在 138 00:07:02,360 --> 00:07:07,036 在低階的電腦影像處理問題上 有了相當強力的解決方式, 139 00:07:07,036 --> 00:07:10,216 任何人都可以拿去並創造一些東西。 140 00:07:10,240 --> 00:07:13,416 所以,接下來就看各位 141 00:07:13,440 --> 00:07:16,376 以及全世界所有人 用這個軟體大展身手了, 142 00:07:16,400 --> 00:07:20,056 我真的等不及想看看你們 用這項科技所做出來的產品。 143 00:07:20,080 --> 00:07:21,296 謝謝。 144 00:07:21,320 --> 00:07:24,760 (掌聲)