第330章 小孔成像和PNP問題

要想利用“人工神經網絡”處理圖像識別問題,需要事先收集到大量的數據。

可是倉促之間,上哪去弄數據?

倒是可以給“戰神一號”拍一些“寫真”,來充當訓練集,反正所有的參賽機器人,外形都差不多。

這樣做倒也不是不行,但時間太倉促了,數據的量級達不到要求,訓練效果應該不會太好。

而且,就算拼着一夜不睡,東拼西湊出一點訓練數據,也很可能來不及訓練了。

訓練“人工神經網絡”,畢竟是一件比較消耗時間的事情。

而現在最大的問題,就是缺少時間,明天就要正式上場了的說……

何況,“人工神經網絡”的優勢在於通用性和準確率,在特定問題上的識別速度,還真不見得能比得上精心優化過的“笨辦法”。

所以江寒仔細思考了一番之後,還是決定採用“幾何形狀匹配”的思路來做圖像識別。

這種辦法的優點是識別速度比較快,更容易獲得高幀率。

編程的複雜度可能稍微高了一點,但這對江寒來說,並不是什麼太大的問題。

他先新建一個.CPP文件,以及對應的.h頭文件,然後創建一個新的類,用於容納自己的圖像識別算法。

接下來就可以正式編碼了。

江寒一邊思考,一邊編寫代碼,靳雪雯在一邊安靜地看着。

兩人偶爾也交流一兩句,討論一下編程思路、函數的功能之類的問題。

“江寒哥哥,這幾個語句是做什麼用的啊?”

“這個是圖像預處理,按照自定義的閾值,將每個像素二值化……”

“那江寒哥哥,這個函數呢?我有點看不懂……”

“哦,這個叫膨脹處理,可以讓圖像的輪廓更加明顯……”

……

二十多分鐘後,江寒搞定了圖像預處理的相關代碼。

這部分要做的事情很簡單,就是將攝像頭拍到的圖像,先處理成灰度圖,然後二值化,只留下LED燈部分。

接下來,要在圖像中遍歷像素、尋找LED燈的輪廓。

這是整個算法中計算量最大的部分。

好在江寒對圖片的預處理,做得相當到位,將這一步所消耗的時間,基本上壓縮到了極限。

找到LED燈後,下面的事情就簡單了,遍歷輪廓、提取LED燈,再匹配篩選、找到機體輪廓,然後就可以鎖定目標攻擊了。

在做機體輪廓分析時,江寒考慮了一下,使用了模板匹配技術。

這樣一來,就進一步減少了運算量,節省了時間。

到了這裡,目標識別就基本完成了。

接下來,就可以測算目標的方位和距離了。

這一步涉及到圖片座標系與大地座標系之間的換算,算法複雜度相當高。

但江寒豈是欺軟怕硬的人呢?

只要捨得腦力全開,肯定是搞得定的。

然而,這樣又有一個新問題,可別不等完成編碼,大腦的能量就消耗殆盡了。

那種空虛乏味的感覺,可是相當難受的……

所以江寒想了想,就笑眯眯地說:“小蚊子,可以拜託你一件事嗎?”

靳雪雯精神一振,摩拳擦掌地說:“江寒哥哥,快說、快說,是什麼事?”

自己閒了這麼久,總算可以派上點兒用場了……

江寒微微一笑,說:“幫我打個電話給前臺,要點宵夜。”

“沒問題!”靳雪雯脆生生地答應了一聲。

然後拿出手機,喜滋滋地問:“江寒哥哥,你想吃什麼呀?”

“冰島紅極參,問問哪裡有,然後讓前臺幫忙訂做兩盤,送到大廳來。”

“好的。”靳雪雯立即撥號。

江寒想了想,又補充說:“口味隨便,紅燒、清蒸無所謂……哦,對了,讓他們把點餐的錢加到我賬單裡。”

靳雪雯一擺手:“不用,你教我改程序,我還不知道怎麼感謝呢!

再說咱們戰隊剛剛成立,本隊長請吃個宵夜,也是應該的吧?”

江寒呵呵一笑:“小蚊子啊,你可能不太清楚,這種地方,一條紅極參只怕得7、8百塊。”

靳雪雯嘻嘻一笑:“沒事,讓爸爸買單就行了,他賺錢就是給我和媽媽花的嘛。”

江寒:“……”

有點無言以對的感覺。

眼前這一隻,莫非就是傳說中的富蘿莉?

畢竟有句話說得好,十個蘿莉九個富,還有一個……

靳雪雯很快安排完宵夜,然後繼續看江寒編程。

江寒接下來就開始編寫目標測算模塊。

靳雪雯原本使用的辦法,是直接用像素座標來計算旋轉角度。

這樣做倒也不是一定不行,但比較麻煩,而且效果也不會太好。

wωw▲ttκǎ n▲CO

這是因爲像素座標差與角度之間,並不是線性關係,必須根據像素的座標,隨時矯正換算比例,才能得到一個不很精確的近似值。

江寒思考了一下,根據“小孔成像”的原理,設計了一個簡單而又巧妙的算法,通過像素座標算出了正確的轉角。

想要從圖像數據中得到物理世界的座標,需要先標定攝像頭,從而得到攝像頭的內參。

這一步可以使用OpenCV中的標定工具來做。

標定完攝像頭後,就能得到攝像頭的內參矩陣和畸變參數。

根據這兩組參數,對像素值的座標進行矯正,然後就可以通過反三角函數,來計算出需要的角度了。

寫完算法之後,江寒又設計了一個小實驗,對其進行了驗證。

實驗結果表明,這個算法完全OK,準確率和速度都優於靳雪雯原來的算法。

但這種算法也有一個相當明顯的缺陷,由於缺失了深度信息,因此無法對座標系進行變換操作。

這樣一來,就只能得到相對於攝像頭中心的轉角……

那麼如何解決深度的問題,得到三維座標呢?

江寒又設計了一種算法,通過求解PNP問題,來得到敵我雙方在真實空間中的座標偏移。

PNP問題,就是 Perspective N-Point Problem 。

江寒對這個算法不是十分熟悉,只知道可以用來處理空間定位問題。

所以,他先去網上找了幾篇文獻,仔細瀏覽,理解了原理之後,纔開始編寫自己的代碼。

首先標定攝像頭,得到相機的內參矩陣和畸變參數,然後測量物體的尺寸,得到物體在世界座標系中的座標。

接下來,從圖像中得到機體的像素座標,然後通過SolvePnP函數計算出平移向量,對座標進行平移操作。

最後再修正一下y軸和z軸的座標,就可以通過反三角函數,計算出所需要的角度值了。

這種算法可以得到物體在三維空間中的座標,缺點是需要計算四個點,而第一種算法,利用小孔成像的原理,只需要計算一個點就夠了。

兩種辦法各有優缺點,可以分情況,靈活運用。

當目標距離十分遙遠時,就用“小孔成像法”計算角度;距離合適的時候,則不妨切換成PNP法……

這樣一來,就能兼顧效率與精準了。

破費!

最後還有一件事,那就是目標動作預測。

第353章 神乎其技第373章 肉體永生,還是機械飛昇?第48章 《如果時間能倒退》第55章 委託第315章 故伎重施第333章 不怕教壞了乖女兒?第380章 買豬頭不要肉第19章 一切爲了押韻第79章 李東的Show time第263章 一切都在算計中第161章 論腦補,只服你第371章 莫非換了個女朋友?第54章 專利第103章 風口第34章 遊戲發佈第82章 渣男反編譯第7章 所謂“取整”,就是……第121章 還有誰會對自己這麼好?第252章 生吃海蔘,不蘸醬油第166章 意外的變化第377章 打造自己的科技品牌第157章 找個清靜的地方第313章 “僱傭兵”與“香餌”第148章 到底什麼意思?第305章 再不用就過期了第14章 別帶壞了江寒第303章 你以爲就這樣而已?第262章 貴有貴的道理第163章 萬能逼近定理第162章 奇怪的U盤第169章 最後0.5公分第360章 造了什麼孽?第217章 超級粉絲第294章 峰迴路轉,轉了又轉第316章 順藤摸瓜第198章 唯實話與馬屁不穿第22章 名偵探婉瑩第191章 好像只能擠一擠了第7章 所謂“取整”,就是……第11章 像我這麼專一第369章 點八個,贈十個……第179章 馬爾可夫隨機場第244章 屋裡陪他小電影?第168章 本能反應第250章 幸虧有雙保險第112章 圖紙和垃圾桶第97章 媽媽問我爲何跪着看手機?第227章 智能安防報警系統第6章 三個系統倒有四種資源?第325章 說好的理想男神呢?第109章 不擅長的事情第15章 夏雨菲的羨慕第419章 媽可能是親媽,爹……第158章 查崗?第269章 易中海的困境第137章 聽鬆小院,好地方?第304章 不忘舊情,有恩必償第82章 渣男反編譯第160章 只能看到文章本身第136章 打造算術邏輯單元第397章 作曲大師,自帶乾糧第16章 倔強的夏雨菲第132章 做個小遊戲第206章 整理論文第95章 再花5000也值第254章 數據解析和FCN的拓撲結構第329章 拋棄框架,從零開始造輪子第37章 烤肉第197章 除了不能說的第371章 莫非換了個女朋友?第326章 “戰神一號”的弱點第147章 有點深奧啊第64章 渣男第168章 本能反應第349章 說錯了什麼?第209章 校服就是最正式的裝扮第13章 “感知機”和“M-P模型”第163章 萬能逼近定理第427章 詭異的附加關卡第229章 從源頭上防仿製?第246章 Vigenère密碼和國王遊戲第364章 徑向基神經網絡第150章 全+1!第166章 意外的變化第155章 到底什麼關係?第289章 對等原則第320章 法無禁止即可爲第133章 過去的自己,以及自己的過去第179章 馬爾可夫隨機場第361章 有點像“年輕”時的自己第243章 比賽心得和騙分教程第247章 對拍、Day1第三題第161章 論腦補,只服你第76章 還有什麼是他不會的?第393章 男人不能沒有事業第3章 一個大膽的想法第135章 巧合?考驗?第92章 《激光雕刻機》第421章 身世大白第388章 組隊刷分,在線賣軟
第353章 神乎其技第373章 肉體永生,還是機械飛昇?第48章 《如果時間能倒退》第55章 委託第315章 故伎重施第333章 不怕教壞了乖女兒?第380章 買豬頭不要肉第19章 一切爲了押韻第79章 李東的Show time第263章 一切都在算計中第161章 論腦補,只服你第371章 莫非換了個女朋友?第54章 專利第103章 風口第34章 遊戲發佈第82章 渣男反編譯第7章 所謂“取整”,就是……第121章 還有誰會對自己這麼好?第252章 生吃海蔘,不蘸醬油第166章 意外的變化第377章 打造自己的科技品牌第157章 找個清靜的地方第313章 “僱傭兵”與“香餌”第148章 到底什麼意思?第305章 再不用就過期了第14章 別帶壞了江寒第303章 你以爲就這樣而已?第262章 貴有貴的道理第163章 萬能逼近定理第162章 奇怪的U盤第169章 最後0.5公分第360章 造了什麼孽?第217章 超級粉絲第294章 峰迴路轉,轉了又轉第316章 順藤摸瓜第198章 唯實話與馬屁不穿第22章 名偵探婉瑩第191章 好像只能擠一擠了第7章 所謂“取整”,就是……第11章 像我這麼專一第369章 點八個,贈十個……第179章 馬爾可夫隨機場第244章 屋裡陪他小電影?第168章 本能反應第250章 幸虧有雙保險第112章 圖紙和垃圾桶第97章 媽媽問我爲何跪着看手機?第227章 智能安防報警系統第6章 三個系統倒有四種資源?第325章 說好的理想男神呢?第109章 不擅長的事情第15章 夏雨菲的羨慕第419章 媽可能是親媽,爹……第158章 查崗?第269章 易中海的困境第137章 聽鬆小院,好地方?第304章 不忘舊情,有恩必償第82章 渣男反編譯第160章 只能看到文章本身第136章 打造算術邏輯單元第397章 作曲大師,自帶乾糧第16章 倔強的夏雨菲第132章 做個小遊戲第206章 整理論文第95章 再花5000也值第254章 數據解析和FCN的拓撲結構第329章 拋棄框架,從零開始造輪子第37章 烤肉第197章 除了不能說的第371章 莫非換了個女朋友?第326章 “戰神一號”的弱點第147章 有點深奧啊第64章 渣男第168章 本能反應第349章 說錯了什麼?第209章 校服就是最正式的裝扮第13章 “感知機”和“M-P模型”第163章 萬能逼近定理第427章 詭異的附加關卡第229章 從源頭上防仿製?第246章 Vigenère密碼和國王遊戲第364章 徑向基神經網絡第150章 全+1!第166章 意外的變化第155章 到底什麼關係?第289章 對等原則第320章 法無禁止即可爲第133章 過去的自己,以及自己的過去第179章 馬爾可夫隨機場第361章 有點像“年輕”時的自己第243章 比賽心得和騙分教程第247章 對拍、Day1第三題第161章 論腦補,只服你第76章 還有什麼是他不會的?第393章 男人不能沒有事業第3章 一個大膽的想法第135章 巧合?考驗?第92章 《激光雕刻機》第421章 身世大白第388章 組隊刷分,在線賣軟