Fast visible light indoor positioning system based on smart phone
-
摘要: 基于智能手机的可见光定位不仅定位精度高,还兼具了可见光通信与移动互联网的优势。由于图像处理的高计算复杂度,现有系统定位速度较低无法支持实时导航。论文提出了一种快速和高精度的可见光室内定位系统,通过设计无闪烁线路编码方案和轻量级图像处理算法降低定位时延,同时还具有抑制调制闪烁和支持多级调光的优点。市售Android智能手机完成了原型系统开发和现场测试,实验结果显示,系统平均定位精度可达到7.5 cm,定位时间可低至22.7 ms(单灯)和35.7 ms(双灯),可支持移动速度高达18 km/h的实时室内导航。Abstract: Visible light positioning (VLP) based on mobile phone not only has high positioning accuracy, but also has advantages of visible light communication and mobile internet. Due to high computational complexity of image processing, most existing system can not support real-time navigation because of its low positioning speed. A fast indoor VLP system with high accuracy is proposed in this paper. Positioning latency is reduced by designing elaborate flicker-free line coding scheme and lightweight image processing algorithm. In addition, this system has advantage of supporting flicker mitigation and dimming, which are important for illumination. Android-based system prototype has been developed for field tests on an off-the-shelf smartphone. Experimental results show that it can achieve high accuracy of 7.5 cm, and positioning time is reduced to 22.7 ms for single-luminaire and to 35.7 ms for dual-luminaries respectively. In addition, it supports real-time indoor navigation for users moving at a speed of up to 18 km/h.
-
Keywords:
- visible light communication /
- indoor positioning /
- line coding /
- image processing
-
引言
基于视觉成像的传统测速主要以单目测速和双目测速为主,利用视频测速技术记录运动目标在运动位置上的变化以及所用时间,从而计算出目标的运动速度。2013年,林柏林通过对路面标定和车辆特征识别实现了单目视觉对道路车辆的测速功能[1],但是该测速系统存在安装方式单一、道路标定困难以及场景要求高等弊端。东北大学常子霆 [2]在单目视觉测速的基础上,结合一种空间位置的匹配区域对齐算法和基于模板匹配的空间位移计算方法,实现了基于双目视觉测速的功能,实验上验证了运动目标速度控制在10 km/h~20 km/h的速度测试,误差控制在5%以内。
近几十年来,不少学者对仿生复眼相机成像技术进行了不断探索,并利用仿生复眼的成像优势,不断探索发掘实质性的应用[3-8]。在曲面仿生复眼相机良好的成像效果基础上,为了突显对运动目标敏感的视觉优势,利用曲面仿生复眼相机实现对高速运动目标测速的相关研究也得到了重视。2017年,西安光机所鱼卫星团队研制了一种小型曲面仿生复眼系统,结合每个子眼不同视角的成像原理,对不同子眼测速分量进行分析,提出利用速度分量计算目标实际速度的方法[9]。2020年,该课题组研制出一款长工作距离的曲面仿生复眼相机[10-12],通过一块图像传感器对127个子眼进行数据采集,保证了数据采集的同步性,并将该曲面仿生复眼相机搭载在无人机上实现了对运动目标的探测。与此同时,服务于复眼图像信息提取的相关算法也得到了重视和发展。2019年,天津大学韩宇等[13]对基本的SIFT(scale invariant feature transform)算法进行了改进,在曲面仿生复眼测速系统中该方法可以快速、有效地解决特征点匹配的问题,提高了测速的准确性和稳定性。2020年,谭中慧[14]团队利用opencv的车速测量算法和SIFT等图像算法对运动车辆进行目标角点检测,根据图像像素与实际距离的对应关系得到汽车运动的实际距离。该方法相比传统车辆测速算法具有更好的鲁棒性,能够得到更好的测量结果。
为了进一步探索曲面仿生复眼成像系统在测速方面的技术优势,本文采用127个子眼曲面仿生复眼相机对运动目标的速度进行了测试研究,建立了基于曲面仿生复眼的多目标速度测试模型,设计了相关测速实验,得到了准确的速度测试结果。同时为了突出复眼测速的优势,采用成像性能相近的单孔径相机进行了测速实验,并进行了比对,结果表明,曲面仿生复眼测速系统具有更高的准确性和稳定性。
1 曲面仿生复眼测速原理
本文采用的曲面仿生复眼相机,由一块CMOS图像传感器对数据进行采集,最终捕捉到的图像是由127个子图像组成一副完整图像。由于相邻子眼之间存在视场重叠,所以相邻7个子眼可以同时获取到同一被测目标的位置信息。曲面仿生复眼系统测速原理如图1(a)所示。图1中,中心子眼C1_1和周围相邻6个子眼C2_1,C2_2,C2_3,C2_4,C2_5和C2_6组成一组具有视场重叠特性的簇眼,利用该簇眼可以对场景中同一运动目标同时进行测速。以目标P(x,y,z)所在位置建立世界坐标系o-xyz,运动距离L后的坐标位置为P'(x',y',z'),同时以7个子眼的中心建立相机坐标系O-XijYijZij,最后以每个子眼所对应的子图像建立图像坐标系o-uij-vij,如图1(b)所示。建立相邻子眼重叠视场数学模型,在图像坐标系中利用SIFT特征匹配,找出相邻子图像中对应的像素坐标,通过如图2所示的图像几何变换可以得到相邻子图像之间的重叠像素数目,从而计算出运动目标在图像坐标系中运动的像素数目。
根据图1(a)中测速原理,结合小孔成像模型以及三角形相似关系,则有:
$$ \frac{L}{l} = \frac{D}{f} $$ 式中:$ T $为运动时间;D为拍摄距离;$ f $为曲面仿生复眼测速系统的焦距。
相邻2个子眼对同一目标在重叠视场内的成像示意图如图2所示,目标点分别对应2个视场的A点和A′点。由图2可知,经过对右子眼视场进行180°翻转,可以达到简化计算重叠像素数目的目的。假设α1为有效像素数目(红色线段区域),α2为相邻子图像之间的像素数目(青色线段区域),α3为重叠区域的像素数目(黑色线段区域),则图像几何变换前后两点A和A′之间的总像素数目αbefore和αafter分别为
$$ {\alpha _{{\text{before}}}} = {\alpha _1} + {\alpha _2} + {\alpha _3} $$ (1) $$ {\alpha _{{\text{after}}}} = {\alpha _2} + {\alpha _3} $$ (2) 在目标整个运动过程中,7个子眼两两相互对应,如图3所示。以图3中第一排(R1)为例,P和P '分别代表对应子眼中的特征点位置。假设整个运动过程中总重叠像素为Δα,已知每个像元大小为ρ,则图像坐标系中的位移量$ l $为
$$ l = \rho \sqrt {{{\left( {{u_{ij}} - u{'_{ij}}} \right)}^2} + {{\left( {{v_{ij}} - \Delta \alpha - v{'_{ij}}} \right)}^2}} $$ (3) 运动目标的速度为
$$ V = \frac{{lD}}{{f\left( {{T_2} - {T_1}} \right)}} $$ (4) 式中:T为运动时间,T1和T2分别表示运动起始和结束的时间。
在整个实验过程中,以C1_1为中心子眼的7个相邻子眼,可以同时获取该场景中运动目标的位置信息。所以在一组实验数据中,针对运动目标的每个位置均存在七组位置对应关系,可通过公式(5)取平均值的方法来减少实验误差,得到更接近真实的速度:
$$ \bar V = \dfrac{{\displaystyle\sum\nolimits_{n = 1}^7 {\dfrac{{{l_n}D}}{{f\Delta {T_n}}}} }}{7} $$ (5) 2 曲面复眼相机测速实验
实验场地为单向三车道,宽度为9 m,曲面仿生复眼测速系统固定在车道一侧,选择拍摄距离分别为9.4 m和6.3 m。首先将相机摆放在合适位置,无遮挡物出现在相机的视野内,并使得运动目标能够在复眼相机和单孔径相机视野范围内运动。利用单孔径相机的录像功能,在同一次实验过程中,既能通过曲面复眼相机得到目标的运动信息,也可以利用单孔径相机得到目标的运动信息,这样大大减小了重复实验对数据造成的误差。
实验前,利用外部电源给曲面仿生复眼相机供电,输出端连入电脑,通过ipxplayer软件实现对运动目标的拍摄。实验中,利用曲面仿生复眼相机和单孔径相机分别在同一工作距离下对行驶在道路中的汽车进行拍摄,汽车上标记一张黑色A4纸,以4个黑色角点为目标进行特征点检测,有利于后期数据处理,汽车保持8.33 m/s(30 km/h)的速度匀速直线行驶。曲面仿生复眼相机在拍摄距离9.3 m和6.4 m处得到的全视场复眼融合图如图4所示。从图4可以看出,该曲面仿生复眼相机具有良好的成像效果。
拍摄距离为9.3 m时汽车在复眼图像上的起始位置和终点位置如图5所示。从图5可以看出,由于曲面仿生复眼相机的视场重叠优势,在原始复眼图像上有一簇子眼可以观察到汽车的运动信息,即利用曲面仿生复眼相机的视场重叠优势,在一次实验中可以得到7组数据,通过对这7组子眼的速度数据求平均值可使误差更小。
以黑色A4纸为目标,通过对感兴趣区域采用角点检测,找出目标所在子眼像素坐标系下的坐标,进而利用霍夫圆检测算法、图像分割和SIFT特征点匹配算法计算出重叠区域的像素数目。通过MATLAB对原始复眼图像进行图像分割,得到相邻2个子眼的子图像,如图6所示。
对相邻2个子图像进行特征点匹配,从而计算出相邻2个子眼之间的重叠像素数目,如图7所示。
在一次完整的采集过程中,运动目标从C1_1运动到所对应的C'1_1, 采样时间T=1.37 s,整个过程共经过了9个子眼,每相邻2个子眼间会出现一次无图像区域和重叠区域。经计算,无图像区域像素数目α2=10,相邻2个子眼之间的重叠像素数目α3=220,根据公式(2)可计算出拍摄距离为9.3 m时,整个运动过程的总像素数目为
$$ \Delta \alpha = 8{\alpha _{{\text{after}}}} = 8\left( {{\alpha _2} + {\alpha _3}} \right) = 1{\text{ }}840 $$ 在曲面仿生复眼相机对运动汽车进行拍摄过程中可以得到多幅复眼图像,文中只给出了部分图像。根据文中复眼图像可知,汽车运动中的2个位置P和P '相对应,共有14个像素坐标分别记录在14个子图像中,通过图像处理得到的像素坐标如表1所示。根据表1中像素坐标,并结合公式(3)、公式(4)可计算出汽车的平均速度以及相对误差,如表2所示。
表 1 复眼不同拍摄距离处目标位置P和P'对应的像素坐标Table 1. Pixel coordinates corresponding to target positions P and P' at different shooting distances of compound eye测试位置 子眼数 像素坐标(ui,vi) D=9.3 m D=6.4 m P 1 (4 101,2 581) (4 547,2 547) 2 (3 822,2 117) (4 267,2 080) 3 (4 366,2 105) (4 810,2 069) 4 (4 647,2 576) (5 095,2 537) 5 (4 377,3 052) (4 825,3 017) 6 (3 835,3 053) (4 280,3 022) 7 (3 560,2 589) (4 004,2 553) P' 1 (851,2 654) (911,2 631) 2 (571,2 182) (632,2 159) 3 (1 118,2 176) (1 178,2 155) 4 (1 396,2 645) (1 455,2 622) 5 (1 134,3 119) (1 193,3 095) 6 (589,3 128) (646,3 106) 7 (308,2 660) (365,2 638) 表 2 复眼不同拍摄距离处测试速度与实际速度对比Table 2. Comparison of test speed and actual speed at different shooting distances of compound eye测试
位置/m速度测量值 V/(m/s) 平均
速度/
(m/s)实际
速度/
(m/s)误差/% V1 V2 V3 V4 V5 V6 V7 9.3 8.61 8.62 8.60 8.62 8.57 8.58 8.62 8.60 8.33 3.24 6.4 8.05 8.04 8.03 8.07 8.03 8.04 8.06 8.04 8.33 3.48 从表2中测试数据可以看出,在一次完整的实验过程中,曲面仿生复眼相机7组测试速度值比较稳定,远距离拍摄汽车运动速度的相对误差控制在4%以内。因此,曲面仿生复眼相机具有良好的远距离测速性能。
簇眼中7个子眼相对误差图如图8所示。下面对不同距离下的测速精度进行分析:(1)在不同拍摄距离下,运动目标经过的子眼数是不同的,导致计算过程中重叠像素数目不同。因为每幅子图像周围存在光晕,在对子图像进行分割时,会导致部分像素数目丢失或增加,从而影响最后的测速结果。(2)本文利用SIFT特征点提取与匹配算法对目标进行等量代换,特征点的运动速度等于目标的运动速度。在不同拍摄距离下,目标出现在图像中的大小不同,确定对特征点的像素坐标存在0~5个像素数目的误差,导致速度测量值存在误差。
误差的产生主要与重叠像素数目的计算有关。不同拍摄距离时,目标在复眼原始图像上经过的子眼个数不同,D=9.3 m时,目标经过9个子眼,D=6.4 m时,目标经过8个子眼。故运动过程中重叠像素数目不同,导致速度误差不同。
3 曲面复眼相机与单孔径相机测速比对
为了比较曲面复眼相机和单孔径相机的测速能力,选择视场和焦距与曲面复眼相机接近的单孔径相机进行测速实验。曲面仿生复眼相机与单孔径相机的参数对比如表3所示。
表 3 曲面仿生复眼相机与单孔径相机参数对比Table 3. Comparison of parameters of curved bionic compound eye camera and single aperture camera参数 数值 复眼相机 单孔径相机 子眼个数 N 127 1 球壳半径 R/mm 68 33 单个子眼直径 D/mm 7.4 66 像元尺寸 α/μm 4.5 11 单个子眼的视场角 Δ$ \varphi $/(°) 14 / 相邻子眼的重叠角度/(°) 7 / 相机帧速率/fps 13 23 总视场 $ \omega $/(°) 98×98 95.4×78.4 焦距 f/mm 5 6 曲面仿生复眼镜头半径为68 mm[15],由127个子眼组成。每个子眼的直径为7.4 mm,子眼的焦距为5 mm,单个子眼的视场为14°,相邻子眼光轴之间的夹角为7°,角分辨率为 1.8 mrad。该复眼仿生系统的总视场角约为98°×98°,所有成像通道共用一个图像传感器,选用索尼公司的型号为NOIP1SN025KA的图像传感器,图像采样速率为13 fps,传感器像元尺寸为4.5 μm,系统体积为Ф123 mm×195 mm,系统总质量为1.35 kg。
单孔径测速系统由HS-95-U3型号相机与单孔径镜头组成,镜头半径为33 mm,系统的焦距为6 mm,该单孔径系统的总视场为95.4°×78.4°。图像传感器选用的是GSENSE400BSI,图像的采样速率为23 fps,像元尺寸大小为11 μm。单孔径测速系统总体积为Ф66 mm×95 mm,系统总质量为1 kg。
在曲面仿生复眼系统拍摄的同时,得到单孔径相机对运动目标拍摄的一段视频,视频时长33 s,共697帧图像,单孔径相机帧频为23 fps,可知任意两帧图像之间的时间差。选取四帧图像,每两帧图像可计算出一个速度值,通过四幅分时图像排列组合得到6个速度测试值。在拍摄距离为9.3 m处,单孔径相机通过视频处理得到两组的四幅图像帧,分别是第535帧、545帧、560帧和565帧;第二组是第550帧、563帧、573帧和580帧。在拍摄距离为6.4 m处,单孔径相机通过视频处理得到两组的四幅图像帧,第一组是第215帧、220帧、230帧和235帧;第二组是第335帧、340帧、345帧和355帧。单孔径测速系统与曲面仿生复眼测速系统选取同样的特征点,结合SIFT算法匹配出每幅图像帧中特征点的像素坐标,如表4所示。
表 4 单孔径相机不同拍摄距离处目标位置帧数对应的像素坐标Table 4. Pixel coordinates corresponding to the number of target position frames at different shooting distances of single-aperture cameras帧数 像素坐标(ui,vi) 9.3 m图像帧 6.4 m图像帧 D=9.3 m D=6.4 m 535 215 (531,957) (582,941) 545 220 (768,960) (738,943) 560 230 (1 068,965) (1 058,950) 565 235 (1 156,967) (1 183,954) 550 335 (550,958) (677,958) 563 340 (833,961) (833,961) 573 345 (1 071,966) (980,963) 580 355 (1 227,969) (1 283,969) 根据表4中像素坐标,并结合公式(3)和公式(4),可计算出单孔径相机对汽车的平均速度以及相对误差,如表5所示。
表 5 单孔径不同拍摄距离处测试速度与实际速度对比Table 5. Comparison of test speed and actual speed at different shooting distances of single aperture测试位置 D/m 速度测量值 V(m/s) 平均速度/(m/s) 实际速度/(m/s) 误差/% V1 V2 V3 V4 V5 V6 9.3 9.31 8.43 8.17 7.86 7.61 7.14 8.08 8.33 2.9 6.4 8.71 8.73 8.59 8.20 8.03 6.98 8.20 8.33 1.5 9.3 8.61 8.88 8.87 9.43 9.20 8.86 8.97 8.33 7.68 6.4 8.71 8.26 8.17 8.21 8.12 8.26 8.28 8.33 0.6 从表5中多组测试数据可以看出,由单孔径相机得到的四帧图像可两两组合得到六组测试速度值,发现六组测试值波动较大,与实际速度值相比也出现较大的相对误差。
曲面仿生复眼测速系统与单孔径测速系统分别在拍摄距离为6.4 m和9.3 m处的速度测试值分布曲线如图9所示。图9中黑色曲线
和蓝色曲线 分别代表复眼测试值,红色曲线 和青色曲线 分别代表单孔径测试值,绿色曲线 代表实际速度值。从图9可以明显看出,曲面仿生复眼测速系统对高速运动目标的测速精度比单孔径测速系统更加稳定和准确,曲面仿生复眼测速系统具有更快的激励反应,第一个测试值就可以反应实际速度,同时误差控制在4%以内。单孔径测速系统的测试值在8.61 m/s~9.43 m/s之间,具有较大波动,需要通过多次测试,取平均值后才能得到一个更加准确的速度值。4 结论
本文使用的曲面仿生复眼相机在一定程度上解决了现有大视场、高分辨率成像与数据采集同步性、实时性之间的矛盾,并且实现了对高速运动目标进行广域监控的功能。从曲面仿生复眼与单孔径相机测速对比实验中可以看出,曲面仿生复眼测速系统可以实现一组7个子眼同时对高速运动的目标进行识别与分辨,并且相对于单孔径测速系统具有更好的稳定性与准确性。由于曲面仿生复眼相机结构小巧、携带轻便、功耗低,并且系统只采用一块图像传感器,从而确保了数据采集的同步性,同时图像处理过程全部在原始图像上进行,这样大大提高了运动目标的实时探测能力。因此,该相机在目标探测、安全监控等领域有着广泛的应用前景。
-
[1] Armstrong J, Sekercioglu Y A, Neild A. Visible light positioning: a roadmap for international standardization[J]. IEEE Communications Magazine, 2013, 51(12): 68-73. doi: 10.1109/MCOM.2013.6685759
[2] Li Liqun, Hu Pan, Peng Chunyi, et al. Epsilon: A visible light based positioning system[C]//11th USENIX symposium on networked systems design and implementation (NSDI 14). CA, USA: USENIX Association Berkeley, 2014: 331-343.
[3] Rajagopal N, Lazik P, Rowe A. Visual light landmarks for mobile devices[C]//Proceedings of the 13th international symposium on information processing in sensor networks.New York: IEEE Press, 2014: 249-260. https://ieeexplore.ieee.org/document/6846757
[4] Kuo Y S, Pannuto P, Hsiao K J, et al. Luxapose: Indoor positioning with mobile phones and visible light[C]//Proceedings of the 20th annual international conference on mobile computing and networking. New York: ACM, 2014: 447-458. https://dl.acm.org/citation.cfm?id=2641747
[5] Yang Z, Wang Z, Zhang J, et al. Wearables can afford: Light-weight indoor positioning with visible light[C]//Proceedings of the 13th annual international conference on mobile systems, applications, and services. New York: ACM, 2015: 317-330.
[6] Chow C W, Chen C Y, Chen S H. Enhancement of signal performance in LED visible light communications using mobile phone camera[J]. IEEE Photonics Journal, 2015, 7(5): 1-7. http://cn.bing.com/academic/profile?id=b156e14e7ecba307fc3293c3fcbeade4&encoded=0&v=paper_preview&mkt=zh-cn
[7] Kim J Y, Yang S H, Son Y H, et al. High-resolution indoor positioning using light emitting diode visible light and camera image sensor[J]. Iet Optoelectronics, 2016, 10(5):.184-192. doi: 10.1049/iet-opt.2015.0073
[8] Rajagopal S, Roberts R D, Lim S K. IEEE 802.15. 7 visible light communication: modulation schemes and dimming support[J]. IEEE Communications Magazine, 2012, 50(3): 72-82. doi: 10.1109/MCOM.2012.6163585
[9] IEEE. IEEE standard PAR 1789-2015 recommended practices for modulating current in high-brightness LEDs for mitigating health risks to viewers[S]. New York: IEEE, 2015:
[10] Sriram T, Rao K V, Biswas S, et al. Applications of barcode technology in automated storage and retrieval systems[C]//Industrial electronics, control, and instrumentation.New York : IEEE, 1996: 641-646. https://ieeexplore.ieee.org/document/571035
[11] 陈冠楠, 杨坤涛, 谢志明, 等.基于深度优先遍历的图像边缘检测方法[J].应用光学, 2008, 29(1):14-17. doi: 10.3969/j.issn.1002-2082.2008.01.005 Chen Guannan, Yang Kuntao, Xie Zhiming, et al. Edge recognition method for image segmentation based on depth-first traversal[J]. Journal of Applied Optics, 2008, 29(1):14-17. doi: 10.3969/j.issn.1002-2082.2008.01.005
[12] 杨利红, 施浣芳, 陈智利, 等.基于CCD采集的Math-Zehnder干涉条纹图的处理算法[J].应用光学, 2005, 26(2): 40-42. doi: 10.3969/j.issn.1002-2082.2005.02.012 Yang Lihong, Shi Huanfang, Chen Zhili, et al. Arithmetic to process the Mach-Zehnder interference fringe patterns collected by CCD[J]. Journal of Applied Optics, 2005, 26(2): 40-42. doi: 10.3969/j.issn.1002-2082.2005.02.012
-
期刊类型引用(1)
1. 王媛,杨陈,李世杰. 图像拼接的仿生复眼光学系统设计. 西安工业大学学报. 2024(05): 616-624 . 百度学术
其他类型引用(0)