6個步驟,告訴你如何用樹莓派和機器學習DIY一個車牌識別器!(附詳細...

2021-01-08 AI科技大本營

作者 | Robert Lucian Chiriac

翻譯 | 天道酬勤,編輯 | Carol

出品 | AI科技大本營(ID:rgznai100)

幾個月前,作者開始考慮讓汽車能夠具備檢測和識別物體的能力。他很喜歡這個主意,因為已經見識到了特斯拉的能力,並且雖然不能立即購買特斯拉(Model 3看起來越來越有吸引力了),但他認為會盡力實現自己的夢想。

預測視頻的GIF,檢查結果部分,

視頻地址:https://www.youtube.com/watch?v=gsYEZtecXlA

所以,他做到了。

下面,作者記錄了項目中的每個步驟。

確定項目範圍

首先要考慮這種系統應該具備的功能。如果說作者這輩子學到了什麼,那就是從小做起永遠是最好的策略:循序漸進。所以,除了顯而易見的車道保持任務(每個人都已經做過了)之外,作者想到的只是在開車時清楚地識別車牌。這個識別過程包括兩個步驟:

檢測車牌;識別每個車牌邊框內的文本。如果我們能夠做到這一點,那麼進行其他任務應該相當容易(如確定碰撞風險、距離等)。也許甚至可以創建一個環境的向量空間表示,這可能是一個很好的選擇。

在過多擔心細節之前,我們需要知道以下兩點:

一種將未標記圖像作為輸入並檢測車牌的機器學習模型。某種硬體。簡而言之,需要一個能連結到一個或多個攝像機的計算機系統來查詢我們的模型。首先,我們來著手建立正確的對象檢測模型。

選擇正確的模型

經過認真研究,作者決定採用以下機器學習模型:

YOLOv3——這是迄今為止最快的模型,其mAP可與其他先進模型相媲美,該模型用於檢測物體。文字檢測器——用於檢測圖像中的文字。CRNN——基本上是循環卷積神經網絡(CNN)模型。卷積神經網絡必須是循環的,因為它需要能夠將檢測到的字符按正確的順序排列來形成單詞。這三個模型將如何協同工作的呢?下面是操作流程:

首先,YOLOv3模型在從攝像機接收的每一幀中檢測每個牌照的邊界框。建議不要非常精確地預測邊界框,包含比檢測到的物體更寬的邊界比較好。如果太窄,則可能會影響後續流程的性能。這與下面的模型相輔相成。CRAFT文字檢測器從YOLOv3接收裁剪的車牌。現在,如果裁剪過的幀太窄,那麼很有可能會遺漏部分車牌文字,從而預測會失敗。但是,當邊界框更大時,我們可以讓CRAFT模型檢測字母的位置。這給了我們每個字母非常精確的位置。最後,我們可以將CRAFT中每個單詞的邊界框傳遞給我們的CRNN模型,來預測實際單詞。有了的基本模型架構後,我們便可以將其轉移到硬體上了。

設計硬體

我們需要低功耗的硬體,比如樹莓派(Raspberry Pi)。它具有足夠的計算能力,可以用可觀的幀速率對幀進行預處理,並且具有Pi攝像頭。Pi攝像頭是樹莓派的實際相機系統。它有一個很棒的庫,而且非常成熟。

至於聯網訪問,我們可以提供一個EC25-E的4G接入,其中還嵌入了一個GPS模塊。有關樹莓派接入4G網絡的文章可閱讀此處:

https://www.robertlucian.com/2018/08/29/mobile-network-access-rpi/。

我們從外殼開始,將其掛在汽車的後視鏡上應該可以很好地工作,我們來設計一個由兩部分組成的支撐結構:

樹莓派+GPS模塊+4G模塊將放在後視鏡的一側。在EC25-E模塊上可以查看上述文章,來查看所選擇的GPS和4G天線。另一方面,通過一個帶有球形接頭的手臂來給Pi相機固定方向。這些支持或外殼使用可靠的Prusa i3 MK3S 3D印表機列印。

圖1 樹莓派+4G/GPS防護罩的外殼

圖2 帶有球形接頭用於定向的Pi攝像機支架

圖1和圖2顯示了呈現時的結構。注意,C型支架是可插拔的,因此樹莓派的外殼和Pi相機的支持沒有與支架一起列印出來。它們有一個插座,插座上插著支架。如果有讀者決定複製該項目,這將非常有用。你們只需要調整後視鏡支架即可在汽車上工作。目前,該支架在一款路虎自由職業者的車上運作良好。

圖3 Pi 相機支撐結構的側視圖

圖4 Pi相機的支撐結構和RPi支架的前視圖

圖5 攝像機視野的富有想像力的表示

圖6 包含4G / GPS模塊、Pi攝像頭和樹莓派的嵌入式系統的特寫照片

顯然,這些建模需要花費一些時間,需要進行幾次迭代才能得到堅固的結構。使用PETG材料層高度為200微米,PETG可以在80-90攝氏度內很好地工作,並且對紫外線輻射的抵抗力很強,雖然不如ASA好,但強度很高。

這是在SolidWorks中設計的,因此所有的SLDPRT / SLDASM文件以及所有STL和gcode都可以在下方連結找到,也可以使用它們來列印你的版本。

https://www.dropbox.com/sh/fw16vy1okrp606y/AAAwkoWXODmoaOP4yR-z4T8Va?dl=0

訓練模型

一旦有了硬體,便可以開始訓練模型。

不出所料,最好不要重新發明輪子,並儘可能多地重複使用別人的工作。這就是遷移學習的全部內容——利用來自其他超大型數據集的分析。幾天前作者讀到過一個關於遷移學習非常相關案例的文章,在文章中,它談到了哈佛醫學院的一個附屬團隊,該團隊能夠對模型進行微調,來預測「從胸部X光片得出的長期死亡率,包括非癌性死亡」。他們只有一個僅50000張標籤圖像的小型數據集,但是他們使用的預訓練模型(Inception-v4)訓練了大約1400萬張圖像。這比最初的模型花費的訓練時間和金錢較少,然而達到的準確性仍然很高。

文章地址:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fdeep-learning-isnt-hard-anymore-26db0d4749d7

作者也打算這樣做。

YOLOv3在網上可以查到很多經過預先訓練的車牌模型,但沒有預期的那麼多,但是其中有一個訓練過約3600張車牌圖像。它雖然不多,但也比什麼都沒有強。此外,它還使用Darknet的預訓練模型進行了訓練。我們可以用,這是那個模型:

https://github.com/ThorPham/License-plate-detection

作者用VOTT注釋了收集的車架(當然還有車牌)。最終創建了一個由534張圖像組成的小型數據集,並帶有標記為車牌的邊框。數據集連結如下:

https://github.com/RobertLucian/license-plate-dataset

然後,作者找到了YOLOv3網絡的Keras實現。用它來訓練數據集,然後將模型預發布到這個倉庫中,以便其他人也可以使用它。在測試集中獲得的mAP為90%,考慮到數據集非常小,這已經很好了。

CRNN&CRNN在無數次嘗試尋找一種好的網絡來識別文本之後,作者偶然發現了keras-ocr,它是CRAFT和CRNN的包和靈活的版本。並且還附帶了它們的預訓練模型。這非常好用,作者決定不對模型進行微調,並保持原樣。

最重要的是,使用keras-ocr預測文本非常簡單。基本上只是幾行代碼。查看它們的主頁,了解其操作方法:

https://github.com/faustomorales/keras-ocr。

部署我的車牌識別器模型

這裡可以使用兩種主要的模型部署方法:

在本地進行所有推理。在雲中進行推理。這兩種方法都具有挑戰性。第一個意味著有一個龐大的「大腦」計算機系統,這既複雜又昂貴。第二個問題是有關延遲和基礎架構方面的挑戰,特別是使用GPU進行推理。

在本研究中,作者偶然發現了一個名為cortex的開源項目。它對遊戲來說是很新的東西,但是作為AI開發工具的下一個發展方向,確實很有意義。

基本上,cortex是一個將機器學習模型部署為生產web服務的平臺。這意味著我們可以專注於自己的應用程式,而把其餘的事情留給cortex去處理。在這種情況下,它在AWS上完成所有配置,而我們唯一需要做的就是使用模板模型來編寫預測器。非常方便,只需為每個模型編寫幾十行代碼。

這是從GitHub存儲庫中提取的終端中的cortex:https://github.com/cortexlabs/cortex如果那不是漂亮和簡單,不知道如何該怎麼稱呼:

來源: GitHubCortex

由於自動駕駛儀不使用此計算機視覺系統,延遲對我們而言並不重要,因此我們可以使用cortex。如果它是自動駕駛系統的一部分,那麼使用通過雲提供商提供的服務並不是一個好主意,至少在現在不是。

部署帶有cortex的機器學習模型只需以下兩點:

定義cortex.yaml文件,這是我們API的配置文件。每個API都會處理一種任務。我們分配的yolov3 API用於檢測給定幀上車牌的邊界框,crnn API用於使用CRAFTtext檢測器和CRNN預測車牌號。定義每個API的預測變量。基本上,在cortex中定義一個特定類別的預測方法以接收有效負載(所有servypart已由平臺處理),使用有效負載預測結果,然後返回預測。就是這麼簡單!這裡有一個經典iris數據集的預測器示例,但沒有詳細介紹作者是如何做到這一點的(並使本文保持適當的長度)。這兩個api的cortex實現的連結可以在他們的資源庫中找到:這個項目的所有其他資源都在這篇文章的末尾。

https://github.com/cortexlabs/cortex/tree/master/examples/tensorflow/license-plate-reader

然後進行預測,你只需像這樣使用curl:

預測響應看起來像是「setosa」。非常簡單!

開發客戶端

通過cortex處理我們的部署,我們可以繼續設計客戶端,這是很棘手的部分。

我們可以考慮以下架構:

以適當的解析度(800x450或480x270)從Pi相機以30 FPS的速度收集幀,並將每個幀放入一個公共隊列。在一個單獨的過程中,我們從隊列中拉出幀,並將其分發給不同線程上的多個工作線程。每個工作線程(或稱之為推理線程)都會向我們的cortexAPI發出API請求。首先,向我們的yolov3API發送請求,然後,如果檢測到任何牌照,則向我們的crnn API發送另一個請求,其中包含一批裁剪的牌照。該響應會包含文本格式的預測車牌號。將每個檢測到的車牌(包含或不包含識別的文本)推入另一個隊列,最終將其廣播到瀏覽器頁面。同時,還將車牌號預測推送到另一個隊列,稍後將其保存到磁碟(csv格式)。廣播隊列將接收一組無序幀。它的使用者的任務是通過在每次向客戶端廣播新幀時將它們放置在非常小的緩衝區(幾幀大小)中來對它們進行重新排序。該使用者正在另外一個進程上運行。該使用者還必須嘗試將隊列上的大小保持為指定值,以便可以以一致的幀速率(即30 FPS)顯示幀。顯然,如果隊列大小減小,則幀速率的減少是成比例的,反之亦然,當隊列大小增加時,成比例的增加。最初,作者想實現一個遲滯功能,但是意識到它會給流帶來非常起伏的感覺。同時,在主進程中還有另一個線程正在運行,它從另一個隊列和GPS數據中提取預測。當客戶端收到終止信號時,預測、GPS數據和時間也將轉儲到csv文件中。下面是與AWS上的雲API相關的客戶端流程圖。

圖7 客戶端流程圖以及隨cortex設置的雲API

在我們的案例中,客戶端是樹莓派,推理請求發送到的樹莓派和雲API由cortex在亞馬遜網絡服務AWS上提供。

客戶端的原始碼也可以在其GitHub存儲庫上進行複製:

https://github.com/RobertLucian/cortex-license-plate-reader-client。

我們必須克服的一個特殊挑戰是4G的帶寬。最好減少此應用程式所需的帶寬,來減輕可能出現的掛機或對可用數據的過度使用。作者決定在Pi相機上使用非常低的解析度:480x270(我們可以使用較小的解析度,因為Pi相機的視野非常窄,因此我們仍然可以輕鬆識別車牌)。即使在此解析度下,幀的JPEG大小在10MBits時仍約為100KB。將其乘以每秒30幀,就可以得到3000KB,大約為24Mb / s,而且沒有HTTP開銷——這太大了。

相反,作者做了以下技巧:

將寬度減小到416像素,這正是YOLOv3模型將圖像調整大小的寬度。規模顯然保持不變。將圖像轉換為灰度。刪除了圖像頂部的45%部分。他們的想法是,由於汽車不在飛行中,因此牌照不會出現在車架的頂部。據作者所知,裁剪出45%的圖像不會影響預測器的性能。再次將圖像轉換為JPEG,但質量較低。結果幀的大小約為7–10KB,這非常好。這相當於2.8Mb / s。但是加上所有的開銷,它大約是3.5Mb / s(包括響應)。

對於crnn API,即使沒有應用壓縮技巧,裁剪的車牌也不會花費太多。它們的大小約為2-3KB。

總而言之,要以30FPS的速度運行,推理API所需的帶寬約為6Mb / s。這個數字是我們可以接受的。

結果

通過觀看視頻得知,本項目成功了,視頻地址:https://youtu.be/gsYEZtecXlA。 上面的例子是通過cortex運行推理的實時示例。我需要大約20個配備GPU的實例才能順利運行。根據群集的延遲,你可能需要更多或更少的實例。從捕獲幀到將其廣播到瀏覽器窗口之間的平均等待時間約為0.9秒,考慮到推斷髮生在很遠的地方,這非常棒,這讓我們感到驚訝。

文本識別部分可能不是最好的,但至少可以證明這一點,通過提高視頻的解析度,減小攝像機的視場或對其進行微調,可以使精度更高。

至於較高的GPU數量,可以通過優化減少。例如,將模型轉換為使用混合/全半精度(FP16 / BFP16)。一般而言,讓模型使用混合精度將對精度產生最小的影響,因此我們不會做太多的權衡。T4和V100 GPU具有特殊的張量內核,這些張量內核被設計為在半精度類型的矩陣乘法上超快。在T4上,半精度加速比單精度運算的速度提高了約8倍,而在V100上,提高了10倍。這是一個數量級的差異。這意味著已轉換為使用單精度/混合精度的模型可以最多減少8倍的時間來進行推理,而在V100上則分別減少十分之一的時間。作者沒有將模型轉換為使用單精度/混合精度,因為這超出了該項目的範圍。就作者而言,這只是一個優化問題。作者很可能會在0.14版的cortex版本發布時使用它(具有真正的多進程支持和基於隊列的自動縮放功能),因此我們也可以利用多進程的Web伺服器。

總而言之,如果實施了所有優化措施,將集群的大小從20個配備GPU的實例減少到一個實例實際上是可行的。如果進行了適當的優化,甚至不可能最大化配備單個GPU的實例。

為了使成本更加可以接受,在AWS上使用彈性推理可以將成本降低多達75%,這非常好。形象地說,你可能擁有一個管道來實時處理一個流。不幸的是,目前Cortex尚不支持彈性推理,但由於它已經應用在雷達上了,因此我們可以在不久的將來看到它的支持。注意:YOLOv3和CRNN模型可以通過在更大的數據集(大約50–100k樣本)上進行微調來進行很多改進。到那時,甚至可以進一步減小幀的大小以減少數據使用量,而不會降低精度:「補償某處以便能夠從其他地方取走」。結合所有這些模型轉換為使用半精度類型(可能還有彈性推理),可以構成一個非常高效/具有成本效益的推理機。

更新

有了支持Web伺服器多進程工作程序的cortex版本0.14,我們能夠將yolov3 API和crnn API的GPU實例數量從8個減少到2個(在CRNN和 CRAFT模型)從12降低到10。這實際上意味著實例總數減少了40%,這是非常不錯的收益。所有這些實例都配備了單個T4 GPU和4個vCPU。我們發現計算量最大的模型是CRAFT模型,該模型建立在具有約1.38億權重的VGG-16模型的基礎上。請記住,由於一幀中可能檢測到多個車牌,因此通常每個幀都需要進行多個推斷。這極大地增加了它的計算要求。從理論上講,應消除CRAFT模型,而應改進(微調)CRNN模型以更好地識別車牌。這樣,crnn API可以縮小很多,最多可以縮小到1或2個實例。

結論(以及5G如何適配這些)

目前,很多設備開始越來越依賴於雲計算,尤其是對於計算能力有限的邊緣設備。

而且,由於目前正在部署5G,因此從理論上講,它應該使雲距離這些計算受限的設備更近。因此,雲的影響力應隨之增長。5G網絡越可靠,對於將所謂的關鍵任務(即自動駕駛汽車)的計算卸載到雲上的信心就越大。我們可以在這個項目中一直學習的另一件事是,隨著簡化的平臺的出現,事情變得如此簡單,這些簡化的平臺用於在雲中部署機器學習模型。5年前,這將是一個很大的挑戰:但是現在,一個人可以在相對較短的時間內完成很多工作。參考資源

可在此處找到3D列印支架的所有SLDPRT / SLDASM / STL / gcode :https://www.dropbox.com/sh/fw16vy1okrp606y/AAAwkoWXODmoaOP4yR-z4T8Va?dl=0該項目的客戶端實施可在此處找到:https://github.com/RobertLucian/cortex-license-plate-reader-client該項目的cortex實現在這裡找到: https://github.com/cortexlabs/cortex/tree/master/examples/tensorflow/license-plate-reader可在此處找到Keras的YOLOv3模型庫: https://github.com/experiencor/keras-yolo3可在此處找到CRAFT文本檢測器+CRNN文本識別器的庫: https://github.com/faustomorales/keras-ocr可在此處找到歐洲車牌的數據集(由作者的Pi相機捕獲的534個樣本組成): https://github.com/RobertLucian/license-plate-dataset可在此處找到Keras(license_plate.h5)和SavedModel(yolov3文件夾/zip)格式的YOLOv3模型:https://www.dropbox.com/sh/4ltffycnzfeul01/AACe85GoIzlmjEnIhuh5JQPma?dl=0

如果有不清楚的地方或其他意見,歡迎評論告訴我們。

原文:https://towardsdatascience.com/i-built-a-diy-license-plate-reader-with-a-raspberry-pi-and-machine-learning-7e428d3c7401

(*本文由 AI 科技大本營編譯,轉載請聯繫微信1092722531)

【end】

《原力計劃【第二季】- 學習力挑戰》正式開始!

即日起至 3月21日,千萬流量支持原創作者更有專屬【勳章】等你來挑戰

0.052秒打開100GB數據?這個Python開源庫這樣做數據分析這款「狗屁不通」文章生成器火了,效果確實比GPT 2差太遠淘寶千萬級並發架構的十四次演進「華為搜索」正海外內測;蘋果5億美元和解「降速門」;Firefox隱藏HTTPS血虧 1.5 億元!微盟耗時 145 個小時彌補刪庫Libra為何而生?Facebook為何要給 Libra創建Move語言?Calibra技術負責人給出了回答

相關焦點

  • 用樹莓派(Raspberry Pi)和機器學習製作一個DIY車牌閱讀器
    全文共7733字,預計學習時長23分鐘幾個月前,筆者有一些想法,想讓自己的車能檢測和識別物體。筆者之所以有如此想法,主要是因為已經見識了特斯拉的能力,雖然並不想馬上買一輛特斯拉(不得不說,Model 3看起來一天比一天誘人),但筆者認為應該嘗試實現自己的夢想。所以,筆者實施了這個想法。下文記錄了項目中的每個步驟。
  • 你有特斯拉我有樹莓派,手工打造車牌識別檢測系統,家用車變智能車
    選自towardsdatascience作者:Robert Lucian Chiriac機器之心編譯參與:王子嘉、思、一鳴閒來無事,我們給愛車裝了樹莓派,配了攝像頭、設計了客戶端,搞定了實時車牌檢測與識別系統。怎樣在不換車的前提下打造一個智能車系統呢?
  • 車牌識別系統中車牌定位方法的研究
    基於這些基本運算還可推導和組合成各種數學形態學實用算法,用它們可以進行圖像形狀和結構的分析及處理,包括圖像分割、特徵抽取、邊界檢測、圖像濾波、圖像增強和恢復等。數學形態學方法利用一個稱作結構元素的「探針」收集圖像的信息,當探針在圖像中不斷移動時,便可考察圖像各個部分之間的相互關係,從而了解圖像的結構特徵。上海大學的盧雅琴、鄔凌超基於形態學的思想提出了一種基於形態學的車牌定位方法。
  • 智能交通:汽車車牌定位識別完整設計
    2 系統原理和技術特點2.1 Adaboost車牌定位算法原理Adaboost車牌定位算法的設計,分為離線訓練模塊和在線識別模塊如圖1所示,離線訓練模塊通過對大量正、負樣本的學習,形成一系列的弱分類器實際應用時,若干個強分類器構成如圖2(b)所示的Cascade結構,Cascade結構就像一個篩孔可變的篩子,開始的篩孔很大,使得大多數車牌都能通過,在此基礎上儘量拋棄反例,位置越靠後的篩孔越複雜,即包含越多的弱分類器,因而也具有更強的分類能力。
  • 汽車車牌定位識別完整設計
    2 系統原理和技術特點2.1 Adaboost車牌定位算法原理Adaboost車牌定位算法的設計,分為離線訓練模塊和在線識別模塊如圖1所示,離線訓練模塊通過對大量正、負樣本的學習,形成一系列的弱分類器(典型特徵),然後依據權重把這些弱分類器組合成強分類器,如圖2(a)所示。
  • 一種利用Hough變換和先驗知識的車牌識別新方法
    隨著交通管理系統的日趨現代化,車牌自動識別系統成為智能交通系統的重要組成部分。通過對當前車牌識別的基本原理和主要方法的研究,分析比較各種識別方法的優缺點,針對車牌定位、字符分割和字符識別,本文提出一套實用可靠的算法。
  • CS231n 2017中文字幕視頻:如何訓練機器進行視覺識別?
    本課程深入探討深度學習架構的細節問題,重點學習視覺識別任務(尤其是圖像分類任務)的端到端學習模型。在為期 10 周的課程中,學生將學習如何實現、訓練和調試自己的神經網絡,並建立起對計算機視覺領域前沿研究方向的詳細理解。最後的任務將涉及訓練一個有數百萬參數卷積神經網絡,並將其應用於最大的圖像分類資料庫(ImageNet)上。
  • 用彈藥箱DIY一個音樂播放器,炫酷到沒朋友
    但就上述這些功能的話,已經能夠拉開市面上絕大多數揚聲播放器產品一大截了,此外,我們還會告訴你如何製作太陽能電池板和手機充電器。實際上,就算你不是個電子產品達人,也一樣可以製作出這麼一款高大上的揚聲播放器,只要你按照本文介紹的步驟操作,就能夠輕鬆搞定。
  • 用樹莓派DIY波士頓機器狗省50萬:教程開源,人人可上手
    SpotMicroAI的教程可謂是「手把手」,撰寫教程的工程師幾乎提供了組裝機器狗的每一步詳細,甚至連如何SSH連接到樹莓派的方法都有,力求每個人都能看懂。首先是為樹莓派安裝作業系統,建議安裝PINN,這是一個增強版的NOOBS作業系統安裝器。
  • 如何用Python和深度神經網絡識別圖像?
    你早已聽說過自動駕駛汽車的神奇吧?沒有機器對圖像的辨識,能做到嗎?你的好友可能(不止一次)給你演示如何用新買的iPhone X做面部識別解鎖了吧?沒有機器對圖像的辨識,能做到嗎?通過學習足夠數量的樣本,機器可以從數據中自己構建模型。其中,可能涉及大量的判斷準則。但是,人類不需要告訴機器任何一條。它是完全自己領悟和掌握的。你可能會覺得很興奮。那麼,下面我來告訴你一個更令你興奮的消息——你自己也能很輕易地構建圖片分類系統!不信?請跟著我下面的介紹,來試試看。
  • 如何使用Python進行面部識別?
    全文共2841字,預計學習時長8分鐘圖源:unsplash本文將介紹圖像處理中的一些重要概念,除了具體解釋每個步驟之外,還將提供一個在Python中使用Cv2和DLib庫輕鬆進行人臉識別的項目。例如,如果我們需要篩選汽車的車牌,我們的感興趣領域只停留在車牌上,那麼街道、車身和圖片中出現的任何東西都只是輔助部分。在本例中,我們將使用opencv庫,該庫支持對圖像進行分區並幫助我們確定感興趣領域。
  • 想入門機器學習?機器之心為你準備了一份中文資源合集
    機器之心也介紹過許多數學基礎與概念:基礎入門:深度學習矩陣運算的概念和代碼實現想了解概率圖模型?你要先理解圖論的基本定義與形式深度神經網絡中的數學,對你來說會不會太難?Reddit 熱門話題:如何閱讀並理解論文中的數學內容?
  • 樹莓派如何刷RetroPie,製作一個復古遊戲機
    給它裝上開源的RetroPi模擬器後,它就是一臺萬能復古遊戲機,可以運行索尼、任天堂、世嘉各大公司上萬款遊戲,隨便說幾款耳熟能詳的遊戲:超級馬裡奧、魂鬥羅、合金彈頭、古惑狼都可以玩,接下來我將一步步告訴大家如何把手上吃灰的樹莓派拿出來,製作一個「遊戲機」!
  • 小小樹莓派要搭上 Google 的人工智慧了
    (圖自 i1os.com)Google 顯然仍在為該項目做準備,而這次樹莓派公告的其中一個任務就是向用戶發放一份問卷調查,以協助 Google 了解「創造者」的需求。(圖自 Raspberry Pi)調查問卷中涉及了無人機、穿戴設備、3D 列印、機器學習(圖像識別、語音識別、翻譯、TensorFlow)、自動化等多個方面,基本涵蓋了 Google 原有的開發者工具系列。
  • 自製迷你小本子,7 種方法教你如何 DIY(附教程)
    自製迷你小本子,7 種方法教你如何 DIY(附教程)
  • 技巧| 6個步驟告訴你如何對建築物進行熱成像檢測
    但是如何有效地對房屋進行熱成像檢測呢?這就難倒了一大波吃瓜群眾大多數人只是懂一點皮毛沒有經過系統的理論學習所以,檢測出來的結果難免有誤差甚至是失誤作為紅外熱像領域的領軍企業FLIR對於紅外熱像儀的"十八般武藝"可謂是樣樣精通今天,小編就免費給你上一堂課告訴你如何對建築物進行熱成像檢測首先
  • 智能交通:車牌識別工作原理與四大應用
    一個完整的車牌識別系統應包括車輛檢測、圖像採集、車牌識別等幾部分。當車輛檢測部分檢測到車輛到達時觸發圖像採集單元,採集當前的視頻圖像。車牌識別單元對圖像進行處理,定位出車牌位置,再將車牌中的字符分割出來進行識別,最後組成車牌號碼輸出。  車牌識別工作原理  而車牌識別系統通常會經過下列步驟完成識別輸出的工作。
  • 如何用免費GPU學習AI算法?這篇算法資源大集錦別錯過
    進階學習者如何利用好AI studio學習深度學習算法深度學習進階總是痛苦的,主要的原因是沒有足夠示例,有示例也不夠詳細,有詳細的示例但又不知道從哪個看起。圖像分類按粒度粗細也分兩種,粗細度的是識別類型,比如這是貓還是狗;細粒度是給你一張照片, 讓你用模型識別這是緬因貓, 還是挪威森林貓)。現在我們先做粗粒度的貓狗識別分類器。我們的任務是訓練一個分類器,去分辨哪些是貓,哪些是狗。詳情請查看《卷積神經網絡實踐-貓狗分類》。如果你掌握了上面的貓狗分類器,那恭喜你,對深度學習圖像分類模型又有了更進一步的了解。
  • 資源 從人臉識別到機器翻譯:52個有用的機器學習和預測API
    開發者可以通過這些 API 將其它公司提供的智能識別、媒體監測和定向廣告等人工智慧服務集成到自己的產品中。機器之心在 2015 年底就曾經編譯過一篇介紹當前優質人工智慧和機器學習 API 的文章《技術 | 50 個常用的人工智慧和機器學習 API》,列舉了 50 個較為常用的涉及到機器學習、推理預測、文本分析及歸類、人臉識別、語言翻譯等多個方面的 API。
  • 基於圖像採集的汽車車牌定位識別,軟硬體協同
    2項目任務本項目的主要任務是利用攝像機以及FPGA開發板,設計一個可以在交通路口和收費卡口對來往車輛的車牌進行預處理的系統,實現對車輛進行圖像拍攝,並對圖像中的車牌進行識別,輸出車牌在圖片中的位置坐標等信息。