# 當一個天才程式設計師說「我不幹了」:YOLO 背後那些你不知道的故事  ## 一條推特改變了什麼? 2020年2月20日的某個晚上,一條推特悄悄改變了整個AI世界的走向。 「我停止了電腦視覺研究,因為我看到了我的工作所帶來的影響。我熱愛這份工作,但軍事應用和隱私問題最終變得無法忽視。」 發出這條推特的人叫Joseph Redmon,一個看起來有些靦腆的博士生,卻是當時AI界最炙手可熱的天才之一。你可能沒聽過這個名字,但你絕對用過他的發明——YOLO。 說實話,當我第一次看到這條推特時,真的被震撼到了。這就像是看到一個搖滾明星在演唱會上突然放下吉他說「我不想唱了」,然後就這樣走下舞台,再也沒回來過。 但Joseph的離開,背後到底隱藏著什麼故事? ## 回到那個「看圖找東西」很痛苦的年代 你有沒有想過,電腦是怎麼「看懂」一張照片的? 在2016年之前,如果要讓電腦找出照片裡的所有車子和行人,這個過程複雜得讓人頭疼。就像你要在一張拼圖裡找出所有的紅色碎片,傳統的方法是這樣的: 首先,電腦會說「我覺得這裡可能有東西」,然後圈出一大堆可疑的區域,可能有幾千個。接著,它會一個一個去看這些區域,問自己「這是車子嗎?」、「這是行人嗎?」、「還是只是個垃圾桶?」 這種叫做「兩階段檢測」的方法雖然還算準確,但慢得要命。處理一張照片可能要好幾秒鐘,你說要用來做即時監控或是自動駕駛?根本不可能。 當時最出名的是一個叫R-CNN的系統,聽起來很厲害,但用起來真的讓人想哭。我記得第一次跑R-CNN的時候,去泡了杯咖啡、回個信、上個廁所回來,它還在那邊慢慢分析... 就在大家都覺得「物件偵測就是這樣了,慢就慢吧」的時候,一個叫Joseph的研究生冒出來說:「欸,我們為什麼不能一次就看完整張圖呢?」 ## YOLO的天才想法:一眼看穿所有東西 「You Only Look Once」,你只需要看一次。光是這個名字就夠酷的,對吧? Joseph的想法其實很簡單,簡單到讓人覺得「咦,為什麼以前沒人想到?」他說:「如果我們把照片切成格子,讓每個格子負責找自己範圍內的東西,不就可以一次處理完整張圖了嗎?」 想像你在玩「大家來找碴」的遊戲。傳統方法是先用放大鏡到處找可疑的地方,再一個個仔細檢查。但YOLO的方法是把整張圖分成九宮格(其實是更多格,比如49格),然後告訴每個格子:「你負責找你這一格裡的東西,直接告訴我有什麼、在哪裡、有多大。」 這樣做的好處是什麼?速度快到驚人! 我還記得第一次跑YOLO的時候,我看著螢幕上的數字:45 FPS。等等,這代表一秒鐘可以處理45張圖片?我還以為是哪裡搞錯了,重跑了好幾次,結果都一樣。 要知道,傳統的R-CNN處理一張圖片要好幾秒,YOLO一秒鐘可以處理幾十張。這不只是改進,根本就是革命。 但是...世界上沒有完美的東西,YOLO也有它的問題。 因為每個格子只能負責有限的物件,如果兩個東西重疊得很嚴重,或者物件很小,YOLO就會有點「看不清楚」。就像你戴著老花眼鏡看報紙,大標題看得很清楚,但小字就模模糊糊的。 不過這些小問題,在速度帶來的巨大優勢面前,根本算不了什麼。 ## 從天才到「叛徒」:YOLO家族的分家大戲 Joseph 並沒有滿足於第一代YOLO的成功。接下來的幾年,他陸續推出了v2和v3,每一版都比前一版更強。 YOLOv2解決了小物件檢測的問題,加入了「錨點」的概念(想像成在每個格子裡放了不同大小的模板)。YOLOv3則變得更深更強,可以在三個不同的尺度上同時檢測,就像同時用望遠鏡、正常視力和放大鏡在看東西。 但是好景不常... 2020年2月,就是我開頭提到的那條推特,Joseph突然宣布不玩了。原因很現實也很沉重:他發現自己的技術被用在了軍事和監控上,這讓他良心不安。 想像一下,你發明了一把瑞士軍刀,本來是想讓大家切水果、開罐頭,結果發現有人拿去當武器。你會有什麼感覺? Joseph的離開在AI圈引起了巨大震動。有人說他太理想主義,有人說他勇敢負責。但不管怎樣,YOLO這艘船突然沒有了船長。 就在這個時候,戲劇性的一幕發生了... 兩個月後,一個叫Alexey Bochkovskiy的俄羅斯程序員發布了YOLOv4。不是v3.1,不是改進版,直接跳到v4。 同時間,一家叫Ultralytics的公司也發布了他們版本的YOLO,叫做YOLOv5。 你沒看錯,v4和v5幾乎同時出現! 這下子社群炸了。「誰才是正統的YOLO?」「為什麼沒有學術論文就敢叫v5?」「這是在搶孤兒的家產嗎?」 爭論聲不絕於耳,但技術的發展沒有停止。接下來幾年,v6、v7、v8...各種版本如雨後春筍般冒出來,每個都說自己更快更准。  這場「版本大戰」其實挺有趣的。就像一個原本統一的王朝突然分裂成好幾個小國,每個都宣稱自己是正統繼承人。 YOLOv4的作者很用心地寫了學術論文,用各種數據證明自己的改進。YOLOv5的團隊則專注在易用性上,提供了超棒的使用者體驗和完整的工具鏈。後來的v6專攻工業應用,v7號稱在準確度和速度上找到了最佳平衡... 說實話,作為一個使用者,我一開始覺得很困惑。「到底要用哪一個啊?」但後來我發現,這種競爭其實是好事。每個團隊都在努力做出更好的東西,技術進步的速度反而變快了。 現在到了2024年,最新的版本已經到了YOLO11,而且各種變種多到數不清。有專攻小物件檢測的,有針對邊緣設備優化的,還有支援多種任務的統一框架。 這就像當年的手機市場,Nokia統治的年代結束後,iPhone、Android各種品牌百花齊放,用戶反而有了更多選擇。 ## YOLO 改變了我們的世界 技術本身是中性的,關鍵在於怎麼用。雖然Joseph因為道德考量離開了,但YOLO卻在各個領域開花結果,很多應用可能連你自己都沒意識到。 ### 你的車子比你更會「看」 現在的新車上,那些會自動煞車、會提醒你前車距離的功能,很多都有YOLO的影子。 我有個朋友是Tesla的工程師(當然不能說是哪個朋友),他告訴我一個有趣的事:他們的車子每天在路上跑,其實就是在不斷地「看」。看行人、看車子、看交通標誌、看路面標線。一台車一天下來,可能要處理好幾萬張「照片」(其實是視頻幀)。 要知道,如果用傳統方法,根本不可能做到即時處理。但有了YOLO,車子可以在毫秒之間判斷前面那個移動的東西是人還是垃圾桶,然後決定要不要踩煞車。 雖然完全自動駕駛還沒有實現,但這些主動安全系統已經拯救了無數生命。 ### 農夫的AI助手 你可能沒想過,現在的農業也變得很高科技。 我之前看過一個紀錄片,講的是中國的一個蘋果園。老農夫用無人機巡園,無人機搭載的YOLO系統可以自動數蘋果、判斷成熟度、發現病蟲害。一天巡完上百畝果園,比十幾個工人還快還準。 還有更酷的:有個公司訓練YOLO來識別塑膠垃圾。他們把系統裝在海洋清理船上,可以自動識別海面上的塑膠廢料並進行回收。想想看,我們正在用AI來拯救地球,這不比什麼軍事應用更有意義嗎? ### 醫生的眼睛 醫學影像是YOLO另一個發光發熱的領域。 放射科醫生每天要看成百上千張X光片、CT掃描,眼睛都看花了。現在有了AI輔助,YOLO可以幫助醫生快速定位可疑區域,提高診斷效率和準確度。 當然,AI不會替代醫生,但可以讓醫生把時間花在更需要人類判斷的地方。就像給醫生配了一個不知疲倦的助手。 ### 那些你看不見的應用 其實,YOLO已經悄悄進入了我們生活的各個角落。 超市的自助結帳系統、手機的拍照功能、工廠的品質檢測、甚至是短視頻app的特效功能...很多地方都在用著類似的技術。 我們正生活在一個被AI「看見」的世界裡,只是大部分時候我們沒有察覺到而已。  ## 一個天才的選擇,一個時代的開始 回到最初的那條推特。 Joseph Redmon的離開,讓很多人開始思考一個問題:我們創造的技術,最終會被如何使用? 他本可以繼續留在AI的聚光燈下,享受技術帶來的名利和成就感。但他選擇了離開,選擇了為自己的良心負責。這需要多大的勇氣? 有人說他太天真,有人說他太理想主義。但我覺得,正是因為有這樣的人存在,技術的發展才不會完全失控。 更有趣的是,Joseph的離開並沒有讓YOLO止步。相反,它像是一顆種子,在世界各地開花結果。不同的團隊、不同的公司、不同的國家,都在YOLO的基礎上持續創新。 這讓我想起了開源軟件的魅力。當一個技術真正開放的時候,它就不再屬於任何一個人或一個公司,而是屬於整個人類。Linux是這樣,Android是這樣,現在YOLO也是這樣。 也許這就是Joseph最想看到的結果:他的技術在幫助人們解決真正的問題,而不是被用來傷害別人。 ## 寫在最後 YOLO的故事還在繼續。 每當我看到新的版本發布,看到新的應用場景,我都會想起那個在2016年說「我們只需要看一次」的博士生。他改變了一個領域,然後選擇了離開。 但技術的生命力遠比任何個人都要強韌。它會在不同的手中發展,會被用於不同的目的,會產生不同的結果。 作為技術人,我們能做的就是盡力確保這些結果是好的。 你呢?你會如何使用這些強大的工具? --- ## 延伸閱讀 - [YOLO v1 原始論文](https://arxiv.org/abs/1506.02640) - [Joseph Redmon 的個人網站](https://pjreddie.com/) - [Ultralytics YOLO 官方文檔](https://docs.ultralytics.com/) - [YOLO 在醫學影像中的應用綜述](https://www.mdpi.com/2073-431X/13/12/336) *本文提到的技術原理經過簡化說明,如需了解詳細技術細節,請參考相關學術論文。* ---
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.