本申请要求2010年6月21日提交的名称为交通信号的映射和检测的申请No.12/819,575的权益,该申请要求2010年1月22日提交的美国临时申请No.61/297,468的权益,其全部内容通过参照包括于此。
发明内容
本发明大体上涉及构建交通信号的地图。特别地,这些地图可以用于进行交通信号的状态的实时检测。
本发明的一个方面提供一种用于确定交通信号的三维位置的方法。该方法包括:接收多个图像,多个图像中的每个图像与地理位置和方向信息相关联;通过计算机选择多个图像中的与接近交通十字路口的地理位置相关联的一个或多个图像;对每个所选择的图像,通过计算机识别所选择的图像中的红色、黄色和绿色物体;基于两个或更多个所选择的图像的地理位置和方向信息,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体;基于(1)所识别的两个或更多个所选择的图像之间的关联和(2)两个或更多个所选择的图像的地理位置和方向信息,确定交通信号的三维位置;和将交通信号的三维位置存储在计算机可访问的存储器中。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,该方法包括生成包括交通信号的三维位置的地图。
在另一个示例中,通过一个或多个照相机采集多个图像中的每个,每个照相机与车辆相关联。可选地,一个或多个照相机中的每一个安装在车辆上。可选地,基于通过地理方位(position)设备确定的照相机的地理位置和方向信息,生成与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过激光定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过GPS定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过惯性定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,地理位置信息是GPS纬度和经度坐标。
在另一个示例中,在多个图像中的每个图像由一个或多个照相机采集并且每个照相机与车辆相关联的情况下,一个或多个照相机中的每个照相机与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,在多个图像中的每个图像由一个或多个照相机采集并且每个照相机与车辆关联的情况下,多个图像中的每个图像通过网络从一个或多个照相机中的每一个上传至计算机。
在另一个示例中,在多个图像中的每个图像由一个或多个照相机采集并且每个照相机与车辆关联的情况下,一个或多个照相机中的每个照相机被定位以最低程度地阻碍车辆的驾驶者的视线。
在另一个示例中,所识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。在再进一步的示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于两个或更多个所选择的图像的被识别的物体之间的关联距离的。
在另一个示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于交通信号的物理维度的。
在另一个示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于所选择的图像之间的直接运动补偿的,其中,每个所选择的图像由安装在移动车辆上的照相机拍摄。
在另一个示例中,该方法包括:基于直接运动补偿,将所选择的图像中的被识别的红色、黄色和绿色物体识别作为物体而不是作为交通信号灯。
在另一个示例中,该方法包括:基于已确定的特定的交通信号的三维位置和通过十字路口的车道的地图的比较,确定与特定的交通信号相关联的车道。
在另一个示例中,在该方法包括生成包括交通信号的三维位置的地图的情况下,该方法包括:将该地图下载至车辆的第二个计算机。
在另一个示例中,在该方法包括生成包括交通信号的三维位置的地图的情况下,该方法包括:将该地图下载至客户端设备。
在另一个示例中,在该方法包括生成包括交通信号的三维位置的地图的情况下,该方法包括:从客户端设备接收地理位置,并且基于所接收的地理位置,将地图的一部分传输至客户端设备。
本发明的另一个方面提供一种用于确定交通信号的三维位置的设备。该设备包括:处理器和存储器。处理器配置用于:接收多个图像,多个图像中的每个图像与地理位置和方向信息相关联;选择多个图像中的与接近交通十字路口的地理位置相关联的一个或多个图像;对每个所选择的图像,识别所选择的图像中的红色、黄色和绿色物体;基于两个或更多个所选择的图像的地理位置和方向信息,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体;基于(1)所识别的两个或更多个所选择的图像之间的关联和(2)两个或更多个所选择的图像的地理位置和方向信息,确定交通信号的三维位置;和将交通信号的三维位置存储在设备可访问的存储器中。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,处理器配置用于生成包括交通信号的三维位置的地图。
在另一个示例中,多个图像中的每个由一个或多个照相机采集,每个照相机与车辆相关联。可选地,一个或多个照相机中的每一个安装在车辆上。可选地,基于通过地理方位设备确定的照相机的地理位置和方向,生成与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过激光定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过GPS定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过惯性定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,地理位置信息是GPS纬度和经度坐标。
在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,一个或多个照相机中的每一个与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,多个图像中的每个图像通过网络从一个或多个照相机中的每一个上传至设备。
在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,一个或多个照相机中的每一个被定位以最低程度地阻碍车辆的驾驶者的视线。
在另一个示例中,所识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于两个或更多个所选择的图像的被识别的物体之间的关联距离的。
在另一个示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于交通信号的物理维度的。
在另一个示例中,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于所选择的图像之间的直接运动补偿的,其中,每个所选择的图像由安装在移动车辆上的照相机拍摄。
在另一个示例中,处理器进一步配置用于:基于直接运动补偿,将所选择的图像中的被识别的红色、黄色和绿色物体识别作为物体而不是作为交通信号灯。
在另一个示例中,处理器进一步配置用于:基于已确定的特定的交通信号的三维位置和通过十字路口的车道的地图的比较,确定与特定的交通信号相关联的车道。
在另一个示例中,处理器进一步配置用于:将地图下载至与车辆相关联的第二个设备。
在另一个示例中,处理器进一步配置用于:将地图下载至客户端设备。
在另一个示例中,在处理器配置用于生成包括交通信号的三维位置的地图的情况下,处理器进一步配置用于:从客户端设备接收地理位置,并且基于所接收的地理位置,将地图的一部分传输至客户端设备。
本发明的另一个方面提供一种用于确定交通信号的状态的方法,该方法包括:重复确定客户端设备的当前位置;基于客户端设备的当前位置和交通信号的三维位置的地图的比较,确定交通信号的边界的估算位置;采集估算位置的图像;对每个所采集的图像,通过客户端设备识别在交通信号的估算位置的边界内的红色、黄色和绿色物体;以及基于所识别的物体的颜色确定交通信号的状态。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,图像由客户端设备的照相机采集。
在另一个示例中,通过基于激光的定位设备确定客户端设备的当前位置。在另一个示例中,通过激光定位设备确定客户端设备的当前位置。
在另一个示例中,通过GPS定位设备确定客户端设备的当前位置。
在另一个示例中,通过惯性定位设备确定客户端设备的当前位置。
在另一个示例中,在图像由客户端设备的照相机采集的情况下,照相机与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,在图像由客户端设备的照相机采集的情况下,该方法包括:从客户端设备的存储器访问交通信号的三维位置的地图。
在另一个示例中,所识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,确定交通信号的状态是基于在估算位置的边界内的所识别的物体的位置的。
在另一个示例中,估算位置的边界与维度相关,并且该维度大于交通信号的维度。
在另一个示例中,该方法包括:基于客户端设备的当前位置和通过十字路口的交通车道的地图的比较,确定与客户端设备相关联的交通车道。
可选地,确定交通信号的边界的估算位置是基于与客户端设备相关联的交通车道的。
在另一个示例中,该方法包括:通过网络从计算机请求交通信号的三维位置的地图,该请求包括客户端设备的当前位置。
在另一个示例中,该方法包括:通过网络从计算机接收交通信号的三维位置的地图。
在另一个示例中,该方法包括:确定交通信号的状态是否已经从默认状态改变。可选地,如果在交通信号的估算位置的边界内没有被识别的物体,该方法包括:确定交通信号的状态为默认状态。可选地,默认状态为黄色灯。可选地,默认状态为红色灯。
在另一个示例中,该方法包括:将交通信号的状态传输至与车辆相关联的计算机。
在另一个示例中,该方法包括:如果灯的状态是红色或黄色,则使车辆减速。在另一个示例中,该方法包括:可听地识别交通信号的状态。
在另一个示例中,该方法包括:基于交通信号的状态提供驾驶指令。
在另一个示例中,客户端设备包括电子显示器,且该方法进一步包括识别电子显示器上的交通信号的状态。
本发明的另一个方面提供一种用于确定交通信号的三维位置的设备。该设备包括:处理器和存储器,存储器包括用于存储次级资源文件的第一部分。处理器配置用于:重复确定客户端设备的当前位置;基于客户端设备的当前位置和交通信号的三维位置的地图的比较,确定交通信号的边界的估算位置;采集估算位置的图像;对每个所采集的图像,通过客户端设备识别在交通信号的估算位置的边界内的红色、黄色和绿色物体;以及基于所识别的物体的颜色确定交通信号的状态。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,该设备包括用于采集估算位置的图像的照相机。
在另一个示例中,通过激光定位设备确定客户端设备的当前位置。
在另一个示例中,该设备包括基于激光的定位设备,且通过激光定位设备确定客户端设备的当前位置。
在另一个示例中,该设备包括基于GPS的定位设备,且通过GPS定位设备确定客户端设备的当前位置。
在另一个示例中,该设备包括基于惯性的定位设备,且通过惯性定位设备确定客户端设备的当前位置。
在另一个示例中,照相机与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,处理器配置用于:从客户端设备的存储器访问交通信号的三维位置的地图。
在另一个示例中,所识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,处理器基于在估算位置的边界内的所识别的物体的位置,确定交通信号的状态。
在另一个示例中,估算位置的边界与维度相关,该维度大于交通信号的维度。
在另一个示例中,处理器进一步配置用于:基于客户端设备的当前位置和通过十字路口的交通车道的地图的比较,确定与客户端设备相关联的交通车道。
在另一个示例中,处理器基于与客户端设备相关联的交通车道,确定交通信号的边界的估算位置。
在另一个示例中,处理器进一步配置用于:通过网络从计算机请求交通信号的三维位置的地图,该请求包括客户端设备的当前位置。
在另一个示例中,处理器确定交通信号的边界的估算位置,且处理器进一步配置用于:通过网络从计算机接收交通信号的三维位置的地图。
在另一个示例中,处理器进一步配置用于:确定交通信号的状态是否已经从默认状态改变。可选地,处理器进一步配置用于:如果在交通信号的估算位置的边界内没有被识别的物体,确定交通信号的状态为默认状态。可选地,默认状态为黄色灯。可选地,默认状态为红色灯。
在另一个示例中,处理器进一步配置用于:将交通信号的状态传输至与车辆相关联的计算机。
在另一个示例中,处理器进一步配置用于:如果灯的状态是红色或黄色,则使车辆减速。在另一个示例中,处理器进一步配置用于:可听地识别交通信号的状态。
在另一个示例中,处理器进一步配置用于:基于交通信号的状态提供驾驶指令。
在另一个示例中,该设备安装在车辆上。
在另一个示例中,该设备为便携式设备。在另一个示例中,该设备包括电子显示器,且处理器进一步配置用于识别电子显示器上的交通信号的状态。
本发明的另一个方面提供一种用于确定交通信号的状态的方法。该方法包括:重复确定客户端设备的当前位置;基于客户端设备的当前位置和交通信号的三维位置的地图的比较,确定交通信号的边界的估算位置;采集估算位置的图像;对每个所采集的图像,通过客户端设备识别在交通信号的估算位置的边界内的红色、黄色和绿色物体;以及基于所识别的物体的颜色确定交通信号的状态。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,定位设备是激光定位设备。
在另一个示例中,定位设备是GPS定位设备。
在另一个示例中,定位设备是惯性定位设备。
在另一个示例中,该方法包括将照相机定位在车辆上以直接面对车辆前方。
在另一个示例中,该方法包括将照相机定位在后视镜的右方。
在另一个示例中,该方法包括定位照相机以限制驾驶者的视场的障碍。
在另一个示例中,存储器是照相机的本地存储器。
在另一个示例中,地理位置被定义为GPS纬度和经度坐标。
在另一个示例中,该方法进一步包括:接收多个图像和相关联的地理位置和方向信息;选择多个图像中的与接近交通十字路口的地理位置相关联的一个或多个图像;对每个所选择的图像,识别所选择的图像中的红色、黄色和绿色物体;基于两个或更多个所选择的图像的地理位置和方向信息识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体;基于(1)所识别的两个或更多个所选择的图像之间的关联和(2)两个或更多个所选择的图像的地理位置和方向信息,确定交通信号的三维位置;和将交通信号的三维位置存储在计算机可访问的存储器中。可选地,该方法包括:生成包括交通信号的三维位置的地图。
在另一个示例中,在该方法包括识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体的情况下,所识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,在该方法包括识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体的情况下,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于两个或更多个所选择的图像的被识别的物体之间的关联距离的。
在另一个示例中,在该方法包括识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体的情况下,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于交通信号的物理维度的。
在另一个示例中,在该方法包括识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体的情况下,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于所选择的图像之间的直接运动补偿的。
在另一个示例中,在该方法包括识别所选择的图像中的红色、黄色和绿色物体的情况下,该方法包括:基于直接运动补偿,将所选择的图像中的被识别的红色、黄色和绿色物体识别作为物体而不是作为交通信号灯。
在另一个示例中,在该方法包括识别所选择的图像中的红色、黄色和绿色物体的情况下,该方法包括:基于已确定的特定的交通信号的三维位置和通过十字路口的车道的地图的比较,确定与特定的交通信号相关联的车道。
本发明的又另一个方面提供一种用于采集交通信号的图像的设备。该设备包括:车辆;具有为避免交通信号灯的饱和而设置的增益和快门速度的照相机,照相机安装至车辆;定位设备;与车辆耦合的处理器;和包括用于存储图像的第一部分的存储器。处理器配置用于从照相机接收图像;确定与所接收的图像中的每个图像相关联的地理位置;将图像、地理位置和关联存储在存储器中;和通过网络将图像、地理位置和关联传输至计算机。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,照相机被定位在车辆上以直接面对车辆前方。在另一个示例中,照相机被定位在后视镜的右方。在另一个示例中,照相机被定位以限制驾驶者的视场的障碍。在另一个示例中,存储器是照相机的本地存储器。
本发明的再另一个方面提供一种客户端设备,该客户端设备包括处理器和计算机。计算机包括存储器和处理器。处理器配置用于接收多个图像,多个图像中的每个图像与地理位置和方向信息相关联;选择多个图像中的与接近交通十字路口的地理位置相关联的一个或多个图像;对每个所选择的图像,识别所选择的图像中的红色、黄色和绿色物体;基于两个或更多个所选择的图像的地理位置和方向信息,识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体;基于(1)所识别的两个或更多个所选择的图像之间的关联和(2)两个或更多个所选择的图像的地理位置和方向信息,确定交通信号的三维位置;生成交通信号的三维位置的地图;从客户端设备接收对地图的一部分的请求,该请求识别地理位置;基于所识别的地理位置,识别地图的相关部分;和将地图的相关部分传输至客户端设备。第二设备的处理器配置用于重复确定客户端设备的当前位置;传输包括客户端设备的当前位置的请求;接收地图的相关部分;基于客户端设备的当前位置和所接收的地图的相关部分的比较,确定交通信号的边界的估算位置;采集估算位置的图像;对每个所采集的图像,识别在交通信号的估算位置的边界内的红色、黄色和绿色物体;以及基于在交通信号的估算位置的边界内的所识别的物体的颜色确定交通信号的状态。
如此处所论述的,不同的特征可以在任何实施例中以任何组合使用。例如,多个图像中的每一个由一个或多个照相机采集,每个照相机与车辆相关联。
在另一个示例中,基于通过与相关联的车辆相关联的地理方位设备确定的照相机的地理位置和方向,生成与多个图像中的每个图像相关联的地理位置和方向信息。
在另一个示例中,通过激光定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过GPS定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,通过惯性定位设备确定与每个图像相关联的地理位置和方向信息。
在另一个示例中,地理位置信息是GPS纬度和经度坐标。在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,一个或多个照相机中的每一个与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,多个图像中的每个图像通过网络从一个或多个照相机中的每一个上传至计算机。
在另一个示例中,在多个图像中的每一个由一个或多个照相机采集的情况下,每个照相机被定位以最低程度地阻碍车辆的驾驶者的视线。
在另一个示例中,通过计算机的处理器识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,通过计算机的处理器识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于两个或更多个所选择的图像的被识别的物体之间的关联距离的。
在另一个示例中,通过计算机的处理器识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于交通信号的物理维度的。
在另一个示例中,通过计算机的处理器识别两个或更多个所选择的图像中的相关联的红色、黄色和绿色物体是基于所选择的图像之间的直接运动补偿的。
在另一个示例中,第一计算机的处理器进一步配置用于基于直接运动补偿,将所选择的图像中的被识别的红色、黄色和绿色物体识别作为物体而不是作为交通信号灯。
在另一个示例中,第一计算机的处理器进一步配置用于基于已确定的特定的交通信号的三维位置和通过十字路口的车道的地图的比较,确定与特定的交通信号相关联的车道。
在另一个示例中,客户端设备包括电子显示器,且客户端设备的处理器进一步配置用于识别电子显示器上的交通信号的状态。
在另一个示例中,通过激光定位设备确定客户端设备的当前位置。在另一个示例中,通过GPS定位设备确定客户端设备的当前位置。
在另一个示例中,通过惯性定位设备确定客户端设备的当前位置。
在另一个示例中,通过客户端设备的客户端照相机采集所采集的图像。
在另一个示例中,客户端照相机与被设置以避免交通信号灯的饱和的增益和快门速度相关联。
在另一个示例中,客户端设备的处理器进一步配置用于将所接收的地图的部分存储在客户端设备存储器中,且从存储器访问所接收的部分。
在另一个示例中,通过客户端设备的处理器识别的红色、黄色和绿色物体具有与交通信号对应的合适尺寸和宽高比。
在另一个示例中,确定交通信号的状态是基于在估算位置的边界内的所识别的物体的位置的。
在另一个示例中,估算位置的边界与维度相关,且该维度大于交通信号的维度。
在另一个示例中,客户端设备进一步配置用于:基于客户端设备的当前位置和通过十字路口的交通车道的地图的比较,确定与客户端设备相关联的交通车道。可选地,客户端设备的处理器进一步配置用于:基于与客户端设备相关联的交通车道,确定交通信号的边界的估算位置。
在另一个示例中,客户端设备的处理器进一步配置用于:确定交通信号的状态是否已经从默认状态改变。
在另一个示例中,客户端设备的处理器进一步配置用于:如果在交通信号的估算位置的边界内没有被识别的物体,确定交通信号的状态为默认状态。可选地,默认状态为黄色灯。可选地,默认状态为红色灯。
在另一个示例中,客户端设备进一步配置用于:将交通信号的状态传输至与车辆相关联的计算机。
在另一个示例中,客户端设备的处理器进一步配置用于:如果灯的状态是红色或黄色,发送指令以使车辆减速。
在另一个示例中,客户端设备包括一个或多个扬声器,且客户端设备的处理器进一步配置用于可听地识别交通信号的状态。
在另一个示例中,客户端设备的处理器进一步配置用于:基于交通信号的状态提供驾驶指令。
具体实施方式
本发明的方面、特征和优点将在通过参考以下示例性实施例的描述和附图考虑时被理解。不同附图中的相同标号可以标识相同或类似的元件。而且,以下描述不是限制性的,本发明的范围由所附权利要求及其等同物限定。
具有固定曝光和光圈的照相机可以被直接校准以采集交通灯彩色信号电平的图像。交通灯的方位、位置和方向可以从这样的图像中的两个或更多个自动推断。这种信息接着用于生成识别交通灯的三维位置的地图。这些交通灯的三维地图可以允许客户端设备预料和预测交通灯。
如图1A和图1B所示,根据本发明的一个方面的系统100包括计算机110,计算机110包括处理器120、存储器130和其他典型地存在于通用计算机中的部件。
存储器130存储处理器120可访问的信息,包括:可以被处理器120执行或者以其他方式被处理器120使用的指令132和数据134。存储器130可以是能够存储处理器可访问的信息的任何类型,包括计算机可读介质,或者存储可以在电子设备的帮助下可以被读取的数据的其他介质,例如硬盘驱动器、车载存储器、ROM、RAM、DVD或者其他光盘,以及其他可写和只读存储器。系统和方法可以包括上述的不同的组合,从而指令和数据的不同部分存储在不同类型的介质上。
指令132可以是将由处理器直接地(例如机器代码)或间接地(例如脚本)执行的任何指令集。例如,指令可以作为计算机代码存储在计算机可读介质上。就此而言,在此处可以互换地使用术语“指令”和“程序”。指令可以以目标代码形式存储以被处理器直接处理,或者以包括根据需要被解释或预先被编译的脚本或独立源代码模块的集合的任何其他计算机语言的形式存储。下面更详细地说明指令的功能、方法和例程。
可以根据指令132通过处理器120检索、存储或者修改数据134。例如,尽管系统和方法不受任何特定的数据结构限制,数据可以作为具有多个不同字段和记录、XML文档或者平面文件的表格存储在计算机寄存器中的关系数据库中。数据也可以任何计算机可读格式被格式化。仅作为进一步举例,图像数据可以作为包括像素网格的位图以及用于绘制图形的计算机指令存储,该像素网格按照压缩的或未压缩的无损的(例如BMP)或有损的(例如JPEG)、和基于位图的或基于矢量的(例如SVG)格式存储。数据可以包括足以识别相关信息的任何信息,例如,数字、描述性文本、私有代码、对存储在相同存储器或不同存储器(包括其他网络位置)的其他区域中的数据的引用,或者通过函数用于计算相关数据的信息。
处理器120可以是任何常规的处理器,例如来自Intel Corporation或Advanced MicroDevice的处理器,可选地,处理器可以是专用设备例如ASIC。尽管图1功能性地说明了在相同块内的处理器和存储器,本领域普通技术人员应该理解处理器和存储器可以实际包括可以或不可以存储在相同的物理外壳内的多个处理器和存储器。例如,存储器可以是硬盘驱动器或者位于数据中心的服务器群的其他存储介质。相应地,对处理器或计算机的引用可以理解为包括对可以或不可以平行操作的处理器或计算机或存储器的集合的引用。
计算机110可以位于网络150的一个节点,且能够直接地和间接地与网络的其他节点通信。例如,计算机110可以包括万维网服务器,万维网服务器能够通过网络150与客户端设备170-72通信,以使服务器110使用网络150传输和显示信息给用户或者以其他方式提供信息给用户,例如图1B中的人191或192。服务器110还可以包括多个计算机,多个计算机为了接收、处理和传输数据至客户端设备的目的与网络中不同节点交换信息。在这种情况下,客户端设备典型地仍位于网络中与包括服务器110的计算机不同的节点。
网络150以及服务器110与客户端设备之间的中间节点可以包括各种配置和使用各种协议,各种协议包括互联网、万维网、内联网、虚拟专用网络、局域以太网、使用一个或多个公司私有通信协议的私有网络、蜂窝和无线网络(例如WiFi)、即时消息、HTTP和SMTP、以及上述的各种组合。尽管图1-2中仅显示出几个计算机,应当理解,典型的系统可以包括大量被连接的计算机。
每个客户端设备可以与服务器110类似地配置,具有处理器120、存储器和指令132。每个客户端设备170-172可以是意欲被人191-192使用的设备,且具有所有通常使用的与计算机有关的部件,例如中央处理器(CPU)、存储例如网页浏览器的数据162和指令的存储器(例如RAM和内部硬盘驱动器)、电子显示器164(例如具有屏幕的监视器、小型LCD触摸屏、投影仪、电视机、计算机打印机或者任何其他可操作以显示信息的电子设备)、以及用户输入166(例如鼠标、键盘、触摸屏和/或麦克风)。客户端设备还可以包括照相机176、地理方位部件178、一个或多个扬声器174、网络接口设备、以及所有用于将这些元件彼此连接的部件。
尽管每个客户端设备170-172可以包括全尺寸的个人计算机,它们可选地包括能够或不能够通过诸如互联网的网络与服务器无线交换数据的移动设备。仅作为举例,客户端设备172可以是安装在车辆上的设备或者与车辆连接,以使客户端设备172可以与车辆的计算机交换信息。在另一个示例中,客户端设备171可以是可无线使能的PDA或者能够通过互联网获取信息的蜂窝式电话。用户可以使用小键盘(在黑莓电话的情况下)、袖珍键盘(在典型的手机的情况下)或者触摸屏(在PDA的情况下)输入信息。的确,根据在此处描述的系统和方法的客户端设备可以包括能够处理指令和将数据传输至人和其他计算机和从人和其他计算机传输数据的任何设备,其他计算机包括通用设备、无本地存储能力的网络计算机等。
客户端设备还可以包括地理方位部件以确定设备的地理位置和方向。例如,客户端设备170可以包括GPS接收器以确定设备的纬度、经度和/或高度方位。也可以使用其他的位置系统例如基于激光的定位系统,惯性辅助的GPS或者基于照相机的定位系统。另外,地理方位部件也可以包括用于基于客户端设备171处接收的其他信号确定设备位置的软件,其他信号是例如如果客户端设备是手机,在手机的天线处从一个或多个蜂窝塔接收的信号。
客户端设备171还可以包括其他特征,例如加速计、陀螺仪或者其他加速设备168以确定设备朝向的方向。仅作为举例,加速设备可以确定其相对于重力方向或者与其垂直的平面的俯仰角、偏航角或者坡角(或者其改变)。就此而言,可以理解客户端设备提供的在此列出的位置和方向数据可以自动地提供给用户、服务器或者两者。
返回至图1A,数据134可以包括图像数据例如交通信号的图像。图像可以与包括拍摄图像时的车辆或者照相机的方位、位置和方向的各种信息相关联。图像信息还可以与指示图像中的交通信号的方位和位置的标记相关联。这些标记可以通过各种方法生成。例如,用于生成标记图像的一个方法是使用一组人工贴标。但是,当需要对典型的城市环境中的高密度灯工作时,人工贴标可能显得相对较慢。而且,即使是最好的人工贴标也不总是能够进行精确贴标。在以下更详细地描述的另一个示例中,通过使用交通信号分类器140自动生成标记。
图像数据134还可以包括与其他图像的关联。例如,在两个不同图像中的两个标记识别相同的交通信号的情况下,这些标记(或者图像)可以彼此相关联。如以下更详细地描述的,图像之间的这些标记和关联可以用于生成识别交通信号的估算的三维位置的交通信号地图138。
例如,可以通过手动驾驶装备有照相机和诸如GPS、惯性和/或激光系统的导航系统的车辆通过十字路口,并且精确采集打有时间戳的激光测距和照相机图像而采集这些图像。车辆(例如车辆180-181)可以使用各种类型的以各种配置安装的照相机182以采集交通信号灯图像。例如,将Point Grey Grasshopper 5MP照相机定位以直接面对前方,且安装在后视镜的右方,以最低程度地阻碍驾驶者的视场。可以为照相机选择特定的兴趣区,例如具有带有30度视场的固定透镜的照相机的2040×1080区域。例如,照相机可以被校准以能够当以55MPH的速度行驶时在150m处检测交通信号,以确保合理的制动距离。
车辆180-181或者照相机182还可以包括如上所述的地理方位部件178。地理方位部件可以用于识别拍摄特定图像时照相机或车辆的地理位置、方向和方位。
车辆180-181可以记录被服务器110使用的图像。图像和相关联的信息可以通过网络150从车辆上传至服务器110或者直接载入服务器110。
为了在夜晚采集交通信号灯的图像,可以设置增益和快门速度以避免交通灯(特别是明亮的基于LED的绿色灯)的饱和。即使在白天也可以使用这些设置生成相对暗的图像。
以下将详细描述图2所描述的实施例200。应当理解不需要以下述的精确顺序进行操作。相反,各步骤可以不同的顺序或者同时操作。
如图2的框210所示,通过服务器110接收图像数据。接着,在框220,服务器筛选图像获得最相关的图像,即可能包括交通灯的图像。通常地,将交通信号定位在十字路口,从而可以使用地理空间查询以摒弃当没有十字路口有可能可见时拍摄的图像。
辨别当车辆接近十字路口时拍摄图像与这组图像之后,图像被分类和标记,如框230和240所示。服务器110可以使用寻找鲜明地着色的红色、黄色和绿色的具有合适的尺寸和宽高比的斑点的交通信号分类器,并且接着将这些斑点用作用于位置估算过程的暂时的交通信号标记。尽管结合具有一组红色、黄色和绿色灯的典型的垂直交通信号描述本发明,应当理解该特定的结构仅仅用作举例。交通信号可以具有变化的几何结构(geometry)和有时甚至复杂的几何结构,并且本发明可以任何数量的这些另外的几何结构操作。
图3描述了交通信号的人工标记的示例。对于每个正例,可以生成八个另外的反例。如果新生成的例子与正例重叠,例如,在两个交通信号非常靠近在一起的情况下,可以摒弃新生成的示例。
标记步骤的输出可以是大量标记,但是没有关于哪个标记属于哪个交通信号的信息。估算物体的三维位置需要不同图像中的至少两个标记,并且如果有更多的图像可用,通常将会改善位置估算。然而,为了识别包括相同主题(例如特定的交通信号)的两个或更多个图像,图像的标记必须彼此相关联。如果与那些图像相关联的标记落入彼此的关联距离之内,则两个图像可以是相关联的。例如,每个标记可以具有直径d。如果两个标记的中心在彼此的相对小的距离(例如d或者10d)内,这些标记可以彼此相关联。在另一个示例中,如果两个标记重叠,这些标记可以是相关联的。可以在图像序列中的标记之间确定关联,一旦已经进行位置估算在三维物体之间确定关联,或者通过使用结合二种类型的关联的迭代法确定关联。
为了识别关联,服务器可以做出一些关于图示的交通信号的类型的推断。例如,通过假设信号具有标准的垂直的红色-黄色-绿色结构(到目前为止最常见的配置)来推断交通信号的全尺寸。这些全尺寸的交通信号标记可以使产生来自具有改变的颜色的交通信号的相关联标记变得更简单。
图像之间的标记关联可以通过各种方式进行。例如,在近仿射运动和/或高帧速率的情况下,可以使用模板跟踪器将一个图像中的标记与下一个图像中的标记相关联。在另一个示例中,在照相机帧速率是低的,例如4fps,并且物体运动可以充分投影的情况下,可以使用直接运动补偿。
如上所述,对于每个图像而言,精确的照相机位姿或者方位/位置/方向是已知的。如果照相机安装在移动车辆上,在几秒钟的时间期间在该位姿上的累计误差可以是相对低的,例如行驶距离的1%。在一些示例中,可以通过离线优化方法改进车辆的位置估算,以产生0.15m以内位置精度。
返回至图2的框250,服务器110可以使用直接运动补偿以识别不同图像中的标记之间的关联。由于坡角、俯仰角和偏航角的变化产生的物体的视运动可以是一直向前的,以使用本征照相机模式校正,但是物体位置的有些估算是必要的,以校正由于车辆的向前运动产生的物体的视运动。物体在图像中的视位置将它的位置限制在沿着光线的某处,通过假设物体是具有特定维度的交通信号能够对物体的距离作粗略的估算。在由焦距为fu的照相机拍摄的图像中到具有实际宽度w和视宽度的物体的距离d为:
方向矢量X=[u,v]T可以通过使用照相机模式校正径向畸变进行计算,并且物体的粗略的三维位置为:
y=sin(arctan(-u))d,
z=sin(arctan(-v))d,
如果T1和T2是两次不同的从车辆的帧到本地平滑的坐标帧的4×4的变换矩阵,并且C是从车辆帧到照相机帧的变换,则从一个图像到另一个图像的物体的相对运动可以校正为:
畸变图像坐标可以通过使用照相机的本征模式进行计算。如上所述,如果标记落在彼此的关联距离内,则两个图像中的交通信号的两个标记可以是相关联的。因此,标记的长序列可以是相关联的,表明它们全部与特定交通信号的图像相关联。
在一些示例中,标记可以与其他类型的物体(例如另一个车辆的尾灯)相对应。在这些情况下,粗略的距离估算和随后的运动补偿将是不正确的,被不正确地分类为交通信号的物体之间的标记关联的可能性会降低。这还可以允许服务器筛选出伪标记。
如果运动校正过的标记与另一个标记重叠,很有可能是这些标记与相同的物体相对应。可以从对应标记的序列估算物体的三维位置。
如框260所示,服务器110可以使用关联以确定交通信号的三维位置。具体地,基于两个或更多个图像中关联的标记可以估算三维物体的位姿。例如,可以使用最优的三角测量方法,但是,该方法可以应用于最多三个标记,当相同的交通信号有很多个标记时该方法可能不太有用。在另一个示例中,可以通过使用线性三角测量和直接线性转换、最小二乘法估算位姿。
使用最小二乘法,每个被临时分类的图像标记可以与图像坐标相关联。使用照相机的本征模式校正径向畸变等,可以将这些图像坐标转换为方向矢量x。
估算三维点X以使对每个标记方向矢量xi和照相机投影矩阵Pi,
xi=PiX
可以将这些方程式合并入以下形式:
AX=0
这是X的线性方程式。为了消除投影几何学中固有的同质比例因子,对于特定的物体,可以从图像标记{x1,x2,...}的每一个的交叉乘积组合3nx4的矩阵A:
其中,交叉乘积矩阵为:
和
对A进行奇异值分解,其中A=U∑VT,X的解为与A的最小奇异值或者A的最右值相对应的分解的(de-homogenized)奇异矢量。
信号的方向可以估算为所有用于估算交通信号位置的图像标记的平均车辆航向的反方位航向。
上述生成的信息可以用于生成描述交通信号的三维位置和几何结构的地图信息,如框270所示。地图信息的精度可以受照相机的非本征参数(即表示相对于车辆的坐标帧的照相机的位置和方向的变换)的影响。假设非本征参数的合理的初始估算,通过使用坐标下降法求取交通信号的二次投影结果的最小值校准这些参数:
在此,Xe是通过映射流水线使用非本征参数e估算的交通信号位置。可以使用类似的过程以估算通过照相机拍摄图像的时候和将图像传输至计算机的时候之间的时间延迟(尽管还可以使用硬件时间戳)。该时间延迟可以随照相机帧速率和Firewire总线调度分配而改变,但是对于给定的配置,它也可以在百分之几秒内是稳定的。对于标准的径向透镜模型,可以使用棋盘格角点提取过程校准照相机的确定透镜畸变的本征参数。
交通信号也可以识别到它们应用的实际车道。例如,有些交通信号可以仅应用于仅左转或右转车道。该信息可以表示为交通信号和通过十字路口的不同的允许的路线之间的关联。可以使用基于估算的交通信号方向和平均十字路口宽度的简单的试探法以对这些关联作出估算。接着可以人工地验证这些估算。这对于复杂的多车道十字路口特别必要。
可以持续增加新标记并且使用新标记优化分类器。可以使用各种优化方法,包括网格搜索和爬山算法。例如,在网格搜索中,参数空间的每个轴可以是离散的,并且评估这些离散坐标的所有组合。粗糙的网格可以提供对待优化的空间的结构深入的了解。
尽管将图2的步骤描述为通过使用单个中心服务器计算机的过程,可以将图像分布在一组计算机上以使每个计算机载入一小组图像至RAM,然后根据那些缓存图像的当前优化器状态重复评估分类器。例如对一组10000个图像,通过几百个计算机在一秒钟内评估特定的分类器配置。这允许使用迭代爬山算法,例如坐标上升(coordinateascent)以在很短的时间期间内优化分类器。通过将待评估的所有状态在单个优化器步骤中批处理可以使进一步的并行化成为可能。如果有更多的自动生成的负例,正例的执行结果的权重可以是10倍高。
一旦生成了地图信息,可以使用该信息帮助机器人车辆或驾驶者。可以使用交通信号地图识别和解释交通信号(红色、黄色或者绿色)。图4描述了该过程的示例性流程图400。如框410所示,客户端设备持续地确定客户端设备相对于交通信号地图的相关部分的位置。例如,车载或者便携式设备可以直接访问交通信号地图或者可以基于设备(或车辆)的位置从服务器请求或者自动接收地图的部分。
接着,客户端设备确定它是否向十字路口(或交通信号)移动,如框420所示。如果客户端设备正接近十字路口,客户端设备可以基于客户端设备的位置和交通信号地图预测交通信号在十字路口的三维位置,如框430所示。
使用车辆位姿和交通信号地图,可以对关于何时交通灯应该可见以及何处它们应该出现在图像帧中作出预测。可以从GPS、基于激光的定位系统、惯性辅助GPS、基于照相机的定位系统或者还识别海拔的激光雷达定位系统中的一种或多种估算车辆或者设备相对于交通灯地图的位置。可以使用kd树或者S2球面几何单元以及包括车辆方向和交通信号方向的简单的可视性模型预测附近灯的位置。然后使用照相机模型将预测出的位置投影至图像帧作为轴对齐边界框。可以基于如地图信息所描述的交通信号的几何结构确定边界框的几何结构。考虑到预测中的不准确性,在一个示例中,可以将边界框在每个轴中制作得比实际预测大3倍。
在框440和450,客户端设备可以使用照相机采集图像且使用分类器检测这些图像中的红色、黄色或绿色斑点。
客户端设备可以使用如上所述的分类器在每个预测的边界框内寻找合适尺寸的鲜明地着色的红色、黄色和绿色斑点。可以使用交通灯的几何结构区别不同类型的灯。例如,如果特定的交通信号具有绿色灯,可以使用交通信号的近似的位置、形状和设计确定绿色灯是指左转弯箭头还是指掉头灯。对每个交通信号,结果是一组可能的分类,其可以用于识别交通信号的状态。
如果在框460在预测的位置内没有相关的斑点被检测到,在框480客户端设备可以假设交通信号的默认状态。客户端设备可以假设默认状态例如黄色灯。选择黄色作为默认状态可以作为安全机制,由于黄色表明需要车辆减速。可以假设,当接近十字路口时为了继续对交通信号的状态分类,使车辆减速几乎总是安全的。如果没有新的类别,客户端设备可以确定交通信号的状态没有改变并且灯仍然是黄色的。
另外,客户端设备也可以选择预测的边界框内几何学上最高的类别。例如,在窗口(例如给定的边界框)中,可能有几个被检测到的灯。客户端设备可以确定最高的物理灯与交通信号相对应。这可以防止物体的错误分类,物体例如常常恰好在绿色灯之下但是正好在预测的边界框(参见图5的“禁止行走”标志550)内的橙色的人行横道灯。
返回至图4的框470,如果有相关的斑点被分类器检测到,客户端设备可以确定交通信号是否有某种状态改变。如果没有状态改变,在框480,客户端设备可以再次假设交通信号的默认状态。如果有某种状态改变,在框490,客户端设备可以确定改变的类型。最终,在框495,确定交通信号的状态并且准备将交通信号的状态用于帮助车辆或者用户。
交通信号的状态和位置接着用于帮助驾驶者或者机器人汽车。在由人驾驶的车辆内使用设备的情况下,设备可以提供关于交通信号的状态的信息。例如,设备可以提供可视的或可听的指示:灯是红色的、黄色的或绿色的,例如“灯是黄色的”。在另一个示例中,设备可以提供可听的指令或者警告,例如“使用刹车,灯是红色的”或者“灯是红色的,停止车辆”。在另一个示例中,设备可以指示正确的灯(例如左转信号)不是绿色的。使用设备对车辆发出应当使用刹车的指令。如果设备与导航系统结合使用,可以包括另外的指示,例如“在下一个十字路口停止,灯是红色的”。
在图5的示例中,车辆510的驾驶者接近十字路口。驾驶者对于交通信号540的视线可能被车辆520限制或者完全遮挡。车辆510内的客户端设备可以确定交通信号在照相机拍摄的图像中是可见的,并且可以确定,例如,交通信号灯545(黄色灯)照亮。客户端设备可以通过,例如,使用可视的或可听的信号,说明“减速,灯是黄色的”或者指示车辆的计算机需要使用刹车,将该信息传递给驾驶者。如果客户端设备不能识别交通信号的状态,设备可以使用默认状态并且再次提供某个可视的或可听的信号给用户。在另一个示例中,可以由于交通信号的红灯而使车辆停止。当灯变为绿色时,客户端设备可以识别交通信号的状态的改变并且提供该信息给驾驶者或车辆的计算机。在接收到该信息后,驾驶者或计算机可以,例如,开始加速车辆。
在进一步的示例中,车辆可以在特定的路线上行驶,并且客户端设备可以使用其位置确定通过十字路口的行驶车道。基于该信息,客户端设备可以确定哪个与十字路口相关联的交通信号与预期路线相关,并且对车辆的计算机或者用户更新相关交通信号的状态。
当车辆自动操作时,设备可以通过确定在预测的边界框内没有检测到红色或黄色的灯并且必须检测到至少一个绿色灯,而决定通过十字路口的特定的路径。应当理解的是,虽然在十字路口通常有多个语义上相同的灯,设备仅有必要识别这些灯中的一个以确定是否通过。
图6是在沿着城市街道和公路实验行驶32km,并且使用设备控制汽车通过十字路口过程中预测的和检测到的灯的距离柱状图。在这个示例中,当设备开始预测交通信号应当是可见的时候,检测到交通信号在200m处。因此即使在车辆中的设备和交通信号之间有障碍物的情况下(参见图5和上述相关联的描述),也可预测交通信号。
图7描述了实验行驶阶段的交通信号混淆矩阵。该矩阵包括从每个正例的8个近邻生成的负例。地面实况中不包括黄色信号例子。
以下的表1包括来自交通信号混淆矩阵的真正(true positive)(tp)、真负(truenegative)(tn)、假正(false positive)(fp)和假负(false positive)(fn)。
表1
基于表1,实验设备的精度是99%(851/859=0.99),虽然调用(recall)是62%(851/1387=0.62)。由于将图像传输至实验设备有大约0.12秒的等待时间,主要经历大约0.2秒的等待时间。基于照相机的带宽限制,检测流水线的帧速率是4Hs。主要由于图像的高分辨率,处理器负载小于单个CPU(中央处理单元)的25%。在照相机安装在被风挡刮水器扫过的区域后面的情况下,实验设备在夜晚和有中雨的工作状态最好。
尽管如上所述当传输或接收信息时获得一定优势,本发明的方面不局限于信息传输的任何特定方式。例如,在一些方面,可以通过介质诸如光盘或者便携式驱动器发送信息。在其他方面,可以非电子格式传输信息和手动地将信息输入至系统。进一步地,尽管指出有些功能发生在服务器上而其他功能发生在客户端,该系统和方法的各个方面可以通过具有单个处理器的单个计算机实现。
进一步地应当理解所描述的以及如图所示的数据的样本值、类型和配置仅用于说明的目的。就此而言,根据本发明的方面的系统和方法可以包括不同的物理属性、数据值、数据类型和配置,并且可以在不同的时间由不同的实体提供和接收(例如,可以从不同的源预提议和提供一些值)。
因为在不脱离由权利要求所限定的发明的情况下可以使用以上所论述的这些变化和其他变化和特征的组合,应当通过说明的方式而不是通过对由权利要求所限定的发明的限制的方式理解示例性实施例的上述描述。还应当理解的是,本发明示例(以及用短语“诸如”、“例如”、“包括”等等表达的从句)的提供不应当解释为将本发明限制为特定的示例,相反,这些示例仅仅意欲说明多个可能的方面的一些方面。
除非清楚地相反声明,给定实施例、替代方案或者示例中的每个特征可以在此处用于任何其他的实施例、替代方案或者示例。例如,在此处用于确定与照相机或特定的图像相关联的地理位置和方向的任何技术可以用于任何配置中。在此处发送或识别交通信号的位置或者交通信号的状态的每种方式可以用于任何配置中。
工业适用性
本申请大体上涉及构建交通信号的地图。另外,这些地图可以用于进行实时交通信号检测。