本公開涉及三維融合,尤其涉及一種相機標定方法、設備及存儲介質。
背景技術:
1、相關技術可以將房間內設置的魚眼攝像頭拍攝的魚眼圖和房間的建筑信息模型(building?information?modeling,簡稱bim)的三維(即3d)盒子進行三維融合,以獲取第三人稱視角的全局觀察體驗。而要實現魚眼圖和bim的3d盒子的三維融合,房間的戶型矢量和相機的外參是需要獲知的必要參數,因此,如何準確的實現相機標定,獲取相機外參是需要解決的技術問題。
技術實現思路
1、為了解決上述技術問題或者至少部分地解決上述技術問題,本公開提供了一種相機標定方法、設備及存儲介質。
2、第一方面,本公開實施例提供了一種相機標定方法,所述方法包括:
3、將房間的魚眼圖投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖;
4、基于所述目標全景圖,確定所述目標全景圖中包含的地面的輪廓點,并將所述輪廓點投影到三維空間中;
5、在所述三維空間中對所述輪廓點的投影點進行聚類,并基于聚類結果確定所述地面的輪廓;
6、對所述輪廓和所述房間的戶型矢量進行對齊處理,并基于對齊處理結果,確定所述相機的外參。
7、可選地,所述在所述三維空間中對所述輪廓點的投影點進行聚類,并基于聚類結果確定所述地面的輪廓,包括:
8、分別在第一坐標軸和第二坐標軸的方向上對所述投影點進行聚類,得到在所述第一坐標軸和所述第二坐標軸方向上的多個點簇,其中,所述第一坐標軸和所述第二坐標軸是地面坐標系的坐標軸;
9、基于所述第一坐標軸方向上的多個點簇生成多條第一直線;
10、基于所述第二坐標軸方向上的多個點簇生成多條第二直線;
11、基于所述多條第一直線和所述多條第二直線,確定所述地面在所述三維空間中的輪廓。
12、可選地,所述基于所述多條第一直線和所述多條第二直線,確定所述地面在所述三維空間中的輪廓,包括:
13、分別從所述多條第一直線和所述多條第二直線中,確定相互之間距離大于預設距離的多個目標直線;
14、將所述多個目標直線圍成的輪廓,確定為所述地面在所述三維空間中的輪廓。
15、可選地,所述對所述輪廓和所述房間的戶型矢量進行對齊處理,包括:
16、按照相同的提取方式,從所述輪廓和所述戶型矢量上提取相同數量的點;
17、對所述輪廓和所述戶型矢量上的所述點進行對齊處理。
18、可選地,所述對所述輪廓和所述戶型矢量上的所述點進行對齊處理,包括:
19、基于普魯克分析方法對所述輪廓和所述戶型矢量上的所述點進行對齊處理。
20、可選地,所述第一方面的方法還包括:
21、對所述魚眼圖進行語義分割處理,得到語義分割結果。
22、可選地,所述語義分割結果中包括地面在所述魚眼圖中的位置;
23、所述將房間的魚眼圖投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖,包括:
24、將所述魚眼圖以及所述地面在所述魚眼圖中的位置,投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖,以及所述地面在所述目標全景圖中的位置;
25、所述基于所述目標全景圖,確定所述目標全景圖中包含的地面的輪廓點,包括:
26、基于所述地面在所述目標全景圖中的位置,確定所述目標全景圖中地面的輪廓點。
27、可選地,所述語義分割結果中包括:門和/或窗在所述魚眼圖中的位置;
28、所述基于對齊處理結果,確定所述相機的外參,包括:
29、基于門和/窗在所述戶型矢量中的位置,以及所述門和/窗在所述地面的所述輪廓上的投影位置,對所述對齊處理結果進行調整,以使所述門和/或窗在所述戶型矢量和所述輪廓上的位置一致;
30、基于調整后的對齊處理結果,確定所述相機的外參。
31、第二方面,本公開實施例提供了一種相機標定裝置,該裝置包括:
32、第一處理模塊,用于將房間的魚眼圖投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖;
33、第二處理模塊,用于基于所述目標全景圖,確定所述目標全景圖中包含的地面的輪廓點,并將所述輪廓點投影到三維空間中;
34、第一確定模塊,用于在所述三維空間中對所述輪廓點的投影點進行聚類,并基于聚類結果確定所述地面的輪廓;
35、第二確定模塊,用于對所述輪廓和所述房間的戶型矢量進行對齊處理,并基于對齊處理結果,確定所述相機的外參。
36、可選地,所述第一確定模塊,用于:
37、分別在第一坐標軸和第二坐標軸的方向上對所述投影點進行聚類,得到在所述第一坐標軸和所述第二坐標軸方向上的多個點簇,其中,所述第一坐標軸和所述第二坐標軸是地面坐標系的坐標軸;
38、基于所述第一坐標軸方向上的多個點簇生成多條第一直線;
39、基于所述第二坐標軸方向上的多個點簇生成多條第二直線;
40、基于所述多條第一直線和所述多條第二直線,確定所述地面在所述三維空間中的輪廓。
41、可選地,所述第一確定模塊,用于:
42、分別從所述多條第一直線和所述多條第二直線中,確定相互之間距離大于預設距離的多個目標直線;
43、將所述多個目標直線圍成的輪廓,確定為所述地面在所述三維空間中的輪廓。
44、可選地,第二確定模塊,用于:
45、按照相同的提取方式,從所述輪廓和所述戶型矢量上提取相同數量的點;
46、對所述輪廓和所述戶型矢量上的所述點進行對齊處理。
47、可選地,第二確定模塊,用于:
48、基于普魯克分析方法對所述輪廓和所述戶型矢量上的所述點進行對齊處理。
49、可選地,第二方面提供的相機標定裝置,還包括:
50、語義分割模塊,用于對所述魚眼圖進行語義分割處理,得到語義分割結果。
51、可選地,所述語義分割結果中包括地面在所述魚眼圖中的位置;
52、第一處理模塊,用于:將所述魚眼圖以及所述地面在所述魚眼圖中的位置,投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖,以及所述地面在所述目標全景圖中的位置;
53、第二處理模塊,用于:基于所述地面在所述目標全景圖中的位置,確定所述目標全景圖中地面的輪廓點。
54、可選地,所述語義分割結果中包括:門和/或窗在所述魚眼圖中的位置;
55、第二確定模塊,用于:
56、基于門和/窗在所述戶型矢量中的位置,以及所述門和/窗在所述地面的所述輪廓上的投影位置,對所述對齊處理結果進行調整,以使所述門和/或窗在所述戶型矢量和所述輪廓上的位置一致;
57、基于調整后的對齊處理結果,確定所述相機的外參。
58、第三方面,本公開實施例提供一種計算機設備,所述計算機設備包括:
59、存儲器;
60、處理器;以及
61、計算機程序;
62、其中,所述計算機程序存儲在所述存儲器中,并被配置為由所述處理器執(zhí)行以實現如第一方面所述的方法。
63、第四方面,本公開實施例提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行以實現第一方面所述的方法。
64、第五方面,本公開實施例提供了一種計算機程序產品,包括計算機程序指令,所述計算機程序指令被處理器執(zhí)行時可以實現第一方面所述的方法。
65、本公開實施例提供的相機標定方法、設備及存儲介質,通過將房間的魚眼圖投影到全景圖視角,并對投影得到的全景圖進行重力矯正,得到目標全景圖,能夠保證地面上的三維點都在統(tǒng)一平面上,通過基于目標全景圖,確定目標全景圖中包含的地面的輪廓點,并將輪廓點投影到三維空間中,在三維空間中對輪廓點的投影點進行聚類,并基于聚類結果確定所述地面的輪廓,能夠減小輪廓點計算誤差對地面輪廓估計的影響,提高了地面輪廓確定的準確性。進而,將確定得到的地面的輪廓和房間的戶型矢量進行對齊,能夠提高對齊結果的準確性,從而提高相機標定的準確性。