身體渴睡到極點,但大腦就是不肯妥協。
王棟輾轉反側了半宿,仍舊無法入睡,隻好坐起身來。
王棟知道這種狀態其實是用腦過度導致的,以前做項目時也有過類似的經曆,隻能等大腦的興奮勁慢慢冷卻下來。
當然,明天白天肯定是報廢了。
他腦袋裏麵一直在思考到底應該如何把符號螺旋映射成數字。
螺旋線雖然一圈一圈地盤旋著,但其實從裏到外隻有一根弧線。所以,這也僅僅是一個符號序列而已。
需要確定的是這個序列的順序,也就是符號書寫閱讀的順序。
隻有兩種可能性,從裏到外,或者從外到裏。
但就算書寫順序確定了,還需要進一步確定它是大端序還是小端序,就是從數字的低位向高位書寫,還是從高位向低位書寫。
然後是進製,最簡單的破譯方案當然是忽略符號大小的區別,然後直接采用三進製。
不是有三種幾何符號麽?
但忽略大小真的合理麽?
這樣也未免有點太一廂情願了吧。
最重要的是,這個解譯方法有個前提,需要假設整個符號螺旋就是一串數字。
這個假設其實不怎麽靠譜。
如果是他寫的程序中需要彈出一個提示窗口,絕對不會僅僅顯示一串數字。
難道不應該至少帶個單位?
所以,他其實知道現在的所思所想很可能都是無用功,但大腦不怎麽聽指揮,它完全自顧自地運轉,根本停不下來。
想來想去,他突然意識到窗口裏還有一半的紅色區域,係統不會沒事浪費一半的顯示區域,而不提供任何信息。
所以很有可能紅色區域本來也是要顯示符號螺旋的,然後與白色區域裏的符號螺旋相互比對。
也就是說,白色區域中展示的可能是這項自動化操作需要多少資源,而紅色區域中展示的則是現在有多少資源。
這無疑是一種最直觀的信息呈現方式,通過對比來告知用戶為什麽操作沒成功,資源不夠用了,你自己看看還差多少。
紅色區域一直空空如也,表明他一點兒那個資源也沒有。
所以,需要的這個資源絕對不會是能量!
如果他真的一點能量都沒有,小角度偏轉怎麽就能被完成了?子彈怎麽就能被複製了?那些操作難道不需要消耗能量值麽?
王棟一下子就從地上蹦了起來,髒話不可抑製地從口中噴射而出。
他突然想明白了這個符號螺旋最可能是個什麽東西。
錢!
一種沒有實際意義的一般等價物。
有的操作不需要付錢,是免費的。
但有的操作是需要付費的。
增加初速度需要花錢,偏轉角度太大也需要花錢。
這個世界難道就是一個氪金遊戲麽?
玩家是誰?
錢又被付給了誰?
為什麽複製不需要付費,而加速卻需要?
他想不明白原因。
當然,也許就像很多遊戲一樣,付費與否不過是某個程序員胡亂定下來的。
此時,王棟並沒有任何破解謎題後的興奮。
原因很簡單,他沒有錢。
也不知道要怎麽做才能搞到錢。
破譯符號螺旋的工作現在已經變得沒有任何意義,就算他看懂了這個世界給他的反饋又能如何?
隻要他搞不來這個世界裏的錢,紅色區域就會一直保持著空空如也的狀態,所有的付費操作都無法實現。
最終他還是無法達成之前想達到的目的,讓子彈更具威能,從而正麵硬剛外丹。
王棟努力壓抑著自己的沮喪情緒。
人力有時而窮,項目中也常常會碰到這種狀況。
當問題無法解決時,就隻能想辦法繞過去。
現在,既然無論如何也無法提升子彈的初速度,那也隻能換一種思路,比如讓子彈更加精準。
如果每一顆子彈都能非常準確地命中同一位置,多顆連續的子彈也可以把殺傷效用發揮到極致,這也算是一種增加威力的辦法。
那麽,如何讓子彈更加精準呢?答案是在它出膛後對其方向進行校準。
假定子彈出膛前槍口指向是準確的,但目標物的移動會導致射擊角度的偏差,那麽,也許可以通過自動偏轉子彈來補償這個偏差。
而這就需要將如下三個操作配合起來:設定射擊目標;估計目標與子彈當前方向的偏差角;偏轉子彈以補償這個偏差角。
設定射擊目標的前提是先獲取目標。
他把槍口指向城中的一個npc居民,在召喚這把槍的第二階段,已經設定為持續獲取槍口指向的當前物體,並顯示出來。
這個實驗成功了,這個npc居民的影像果然以彈出窗口的形式被展現在王棟眼前。
背景是紅色的,除了這個居民的影像,所有其它景物都沒出現在窗口中。
換了幾個別的物體做目標,實驗仍舊能夠成功,這是個免費操作,它能把距離彈著點最近的物體當作目標返迴。
這樣,就為讓子彈自動偏轉,以追著這個目標物打創造了條件。
下一步,他嚐試獲取子彈出膛方向與射擊目標之間的角度偏差。
不幸的是,嚐試失敗了。
不是淨土操作係統不支持,而是因為它是個付費操作。
金額不足的彈窗再次出現在他的眼前。
這個死要錢的係統!
當然,也不是沒有解決方案。
很簡單,操作係統不支持的功能,那就自己寫代碼來實現。
實驗室之前完成過一個項目,在某種特殊設備上實現視覺目標跟蹤。
那個設備內存太小,常規的視覺目標檢測模型都跑不起來,好在實驗室還有一個通過知識蒸餾方法得到的參數量很小的模型。
那是一個卷積神經網絡模型,隻有上萬個模型參數,相比較於常用模型動輒上千萬上億的參數量,可以算是非常袖珍了。
由於是從大模型蒸餾來的,這個袖珍模型的性能還是相當不錯的,準確率非常高。
那個設備因為敏感性太高,連onnx這樣的部署方式都被禁用了。
那時,王棟隻好用c語言重新寫了一個運行該網絡模型的程序,甚至為了保證可靠性,該程序還是在甲方指定的編譯器上編譯完成的。
為了節省內存資源,王棟直接就把模型參數寫在程序裏了,當時他是一個參數一個參數敲進去的。
在死亡虛空時,大腦當時拚命找東西迴憶,由於這段程序還足夠新鮮,他就每一個字符都迴憶了一遍。
結果就是,現在這個程序就在他腦子裏,能被完完整整地複現出來。
這就為解決偏差角估計的問題提供了可能,先通過這個模型檢測到目標物體,然後再估算它與子彈之間的距離。
估計距離反倒是個免費操作,很容易就實現了。
王棟設定了一個校準間隔時間。
在每個校準時刻,都可以獲得三個距離,上一時刻子彈與目標間的距離,本時刻子彈與目標間的距離,以及自上一時刻後目標移動的距離。
根據這三個距離就能計算出偏差角。
當然,王棟現在不是要在計算機中複現那段目標檢測的代碼,而是要通過自己的思維活動,將其嵌入到觸發操作之中去。
這確實很難。
首先是不能有一點點錯誤,所有的數據和邏輯都不能想錯。
由於不能調試,所以哪怕錯了一個小數點,一次小運算,之前所做的一切就都白做了,隻能全部重來。
其次,他並不是把程序直接搬過來,淨土操作係統可沒有c語言編譯器,王棟要搬的是那個程序的實現邏輯。
他得事先想清楚,對特定的程序邏輯,在大腦中要用什麽樣的思維邏輯來代替。
將思維邏輯轉換成程序邏輯的事情他做得多了,這還是頭一次進行反向操作,好在這並不困難,就是得多花一些時間去適應。
此外,從係統中獲取的目標物圖像的分辨率非常高,比目標檢測模型支持的分辨率高得多,所以還得降采樣,這個也不難,王棟嚐試了一次就成功了。
最後,子彈偏轉也是一個很麻煩問題,超過三度就要付費。
這個,可以通過把校準間隔時間設定的非常小來解決,間隔時間越短,子彈與目標間的偏差就越小,隻要始終保持在3度以內,就能利用免費的角度偏轉操作了。
有了切實可行的方案,王棟困意全消,全身心地投入到工作中。
當天開始蒙蒙亮時,所有的準備工作都已完成,終於到了進行測試的時刻。
為此,他先召喚出一個移動靶來。
做微衝項目時,這種移動靶他見得多了,它能以各種速度按各種軌跡進行高速移動。
王棟輕輕撫摸著手中被召喚來的微型衝鋒槍,心下惴惴不安,這個設定過程太過複雜,他也不敢保證自己沒犯任何錯誤。
他深吸了口氣,啟動了移動靶。
扣動了扳機後,他不停地移動槍口去追蹤靶心。
打完上千發子彈後,他停止了射擊,也停下了移動靶,走近定睛細看。
靶身上,隻在紅心的正中心處有唯一的一個彈孔。
上千發子彈經過角度校正,都精準地打擊在那個位置上了。
他成功了!!
現在,他終於擁有了一把威力巨大的武器。
巨大的興奮如潮水般湧來,又退去,王棟便倒頭唿唿大睡起來。
王棟輾轉反側了半宿,仍舊無法入睡,隻好坐起身來。
王棟知道這種狀態其實是用腦過度導致的,以前做項目時也有過類似的經曆,隻能等大腦的興奮勁慢慢冷卻下來。
當然,明天白天肯定是報廢了。
他腦袋裏麵一直在思考到底應該如何把符號螺旋映射成數字。
螺旋線雖然一圈一圈地盤旋著,但其實從裏到外隻有一根弧線。所以,這也僅僅是一個符號序列而已。
需要確定的是這個序列的順序,也就是符號書寫閱讀的順序。
隻有兩種可能性,從裏到外,或者從外到裏。
但就算書寫順序確定了,還需要進一步確定它是大端序還是小端序,就是從數字的低位向高位書寫,還是從高位向低位書寫。
然後是進製,最簡單的破譯方案當然是忽略符號大小的區別,然後直接采用三進製。
不是有三種幾何符號麽?
但忽略大小真的合理麽?
這樣也未免有點太一廂情願了吧。
最重要的是,這個解譯方法有個前提,需要假設整個符號螺旋就是一串數字。
這個假設其實不怎麽靠譜。
如果是他寫的程序中需要彈出一個提示窗口,絕對不會僅僅顯示一串數字。
難道不應該至少帶個單位?
所以,他其實知道現在的所思所想很可能都是無用功,但大腦不怎麽聽指揮,它完全自顧自地運轉,根本停不下來。
想來想去,他突然意識到窗口裏還有一半的紅色區域,係統不會沒事浪費一半的顯示區域,而不提供任何信息。
所以很有可能紅色區域本來也是要顯示符號螺旋的,然後與白色區域裏的符號螺旋相互比對。
也就是說,白色區域中展示的可能是這項自動化操作需要多少資源,而紅色區域中展示的則是現在有多少資源。
這無疑是一種最直觀的信息呈現方式,通過對比來告知用戶為什麽操作沒成功,資源不夠用了,你自己看看還差多少。
紅色區域一直空空如也,表明他一點兒那個資源也沒有。
所以,需要的這個資源絕對不會是能量!
如果他真的一點能量都沒有,小角度偏轉怎麽就能被完成了?子彈怎麽就能被複製了?那些操作難道不需要消耗能量值麽?
王棟一下子就從地上蹦了起來,髒話不可抑製地從口中噴射而出。
他突然想明白了這個符號螺旋最可能是個什麽東西。
錢!
一種沒有實際意義的一般等價物。
有的操作不需要付錢,是免費的。
但有的操作是需要付費的。
增加初速度需要花錢,偏轉角度太大也需要花錢。
這個世界難道就是一個氪金遊戲麽?
玩家是誰?
錢又被付給了誰?
為什麽複製不需要付費,而加速卻需要?
他想不明白原因。
當然,也許就像很多遊戲一樣,付費與否不過是某個程序員胡亂定下來的。
此時,王棟並沒有任何破解謎題後的興奮。
原因很簡單,他沒有錢。
也不知道要怎麽做才能搞到錢。
破譯符號螺旋的工作現在已經變得沒有任何意義,就算他看懂了這個世界給他的反饋又能如何?
隻要他搞不來這個世界裏的錢,紅色區域就會一直保持著空空如也的狀態,所有的付費操作都無法實現。
最終他還是無法達成之前想達到的目的,讓子彈更具威能,從而正麵硬剛外丹。
王棟努力壓抑著自己的沮喪情緒。
人力有時而窮,項目中也常常會碰到這種狀況。
當問題無法解決時,就隻能想辦法繞過去。
現在,既然無論如何也無法提升子彈的初速度,那也隻能換一種思路,比如讓子彈更加精準。
如果每一顆子彈都能非常準確地命中同一位置,多顆連續的子彈也可以把殺傷效用發揮到極致,這也算是一種增加威力的辦法。
那麽,如何讓子彈更加精準呢?答案是在它出膛後對其方向進行校準。
假定子彈出膛前槍口指向是準確的,但目標物的移動會導致射擊角度的偏差,那麽,也許可以通過自動偏轉子彈來補償這個偏差。
而這就需要將如下三個操作配合起來:設定射擊目標;估計目標與子彈當前方向的偏差角;偏轉子彈以補償這個偏差角。
設定射擊目標的前提是先獲取目標。
他把槍口指向城中的一個npc居民,在召喚這把槍的第二階段,已經設定為持續獲取槍口指向的當前物體,並顯示出來。
這個實驗成功了,這個npc居民的影像果然以彈出窗口的形式被展現在王棟眼前。
背景是紅色的,除了這個居民的影像,所有其它景物都沒出現在窗口中。
換了幾個別的物體做目標,實驗仍舊能夠成功,這是個免費操作,它能把距離彈著點最近的物體當作目標返迴。
這樣,就為讓子彈自動偏轉,以追著這個目標物打創造了條件。
下一步,他嚐試獲取子彈出膛方向與射擊目標之間的角度偏差。
不幸的是,嚐試失敗了。
不是淨土操作係統不支持,而是因為它是個付費操作。
金額不足的彈窗再次出現在他的眼前。
這個死要錢的係統!
當然,也不是沒有解決方案。
很簡單,操作係統不支持的功能,那就自己寫代碼來實現。
實驗室之前完成過一個項目,在某種特殊設備上實現視覺目標跟蹤。
那個設備內存太小,常規的視覺目標檢測模型都跑不起來,好在實驗室還有一個通過知識蒸餾方法得到的參數量很小的模型。
那是一個卷積神經網絡模型,隻有上萬個模型參數,相比較於常用模型動輒上千萬上億的參數量,可以算是非常袖珍了。
由於是從大模型蒸餾來的,這個袖珍模型的性能還是相當不錯的,準確率非常高。
那個設備因為敏感性太高,連onnx這樣的部署方式都被禁用了。
那時,王棟隻好用c語言重新寫了一個運行該網絡模型的程序,甚至為了保證可靠性,該程序還是在甲方指定的編譯器上編譯完成的。
為了節省內存資源,王棟直接就把模型參數寫在程序裏了,當時他是一個參數一個參數敲進去的。
在死亡虛空時,大腦當時拚命找東西迴憶,由於這段程序還足夠新鮮,他就每一個字符都迴憶了一遍。
結果就是,現在這個程序就在他腦子裏,能被完完整整地複現出來。
這就為解決偏差角估計的問題提供了可能,先通過這個模型檢測到目標物體,然後再估算它與子彈之間的距離。
估計距離反倒是個免費操作,很容易就實現了。
王棟設定了一個校準間隔時間。
在每個校準時刻,都可以獲得三個距離,上一時刻子彈與目標間的距離,本時刻子彈與目標間的距離,以及自上一時刻後目標移動的距離。
根據這三個距離就能計算出偏差角。
當然,王棟現在不是要在計算機中複現那段目標檢測的代碼,而是要通過自己的思維活動,將其嵌入到觸發操作之中去。
這確實很難。
首先是不能有一點點錯誤,所有的數據和邏輯都不能想錯。
由於不能調試,所以哪怕錯了一個小數點,一次小運算,之前所做的一切就都白做了,隻能全部重來。
其次,他並不是把程序直接搬過來,淨土操作係統可沒有c語言編譯器,王棟要搬的是那個程序的實現邏輯。
他得事先想清楚,對特定的程序邏輯,在大腦中要用什麽樣的思維邏輯來代替。
將思維邏輯轉換成程序邏輯的事情他做得多了,這還是頭一次進行反向操作,好在這並不困難,就是得多花一些時間去適應。
此外,從係統中獲取的目標物圖像的分辨率非常高,比目標檢測模型支持的分辨率高得多,所以還得降采樣,這個也不難,王棟嚐試了一次就成功了。
最後,子彈偏轉也是一個很麻煩問題,超過三度就要付費。
這個,可以通過把校準間隔時間設定的非常小來解決,間隔時間越短,子彈與目標間的偏差就越小,隻要始終保持在3度以內,就能利用免費的角度偏轉操作了。
有了切實可行的方案,王棟困意全消,全身心地投入到工作中。
當天開始蒙蒙亮時,所有的準備工作都已完成,終於到了進行測試的時刻。
為此,他先召喚出一個移動靶來。
做微衝項目時,這種移動靶他見得多了,它能以各種速度按各種軌跡進行高速移動。
王棟輕輕撫摸著手中被召喚來的微型衝鋒槍,心下惴惴不安,這個設定過程太過複雜,他也不敢保證自己沒犯任何錯誤。
他深吸了口氣,啟動了移動靶。
扣動了扳機後,他不停地移動槍口去追蹤靶心。
打完上千發子彈後,他停止了射擊,也停下了移動靶,走近定睛細看。
靶身上,隻在紅心的正中心處有唯一的一個彈孔。
上千發子彈經過角度校正,都精準地打擊在那個位置上了。
他成功了!!
現在,他終於擁有了一把威力巨大的武器。
巨大的興奮如潮水般湧來,又退去,王棟便倒頭唿唿大睡起來。