seminar info (autosaved)

Upload: harsh-parekh

Post on 08-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 seminar info (Autosaved)

    1/21

    The Processing System

    Architectural Issues

    Two different architectural solutions have been pointed out and

    evaluated: special-purpose and standard processing system. In

    particular during the project a massively parallel architecture was

    developed: PAPRICA, based on a square array of 256 single-bit

    Processing Elements was able to deliver a sufficiently highcomputational power to allow real-time image processing when

    other general-purpose processors weren't (at that time only 80286

    and 80386 were commercially available).

    The advantages offered by the first solution, such as an ad-hoc

    design of both the processing paradigm and the overall system

    architecture, are diminished by the necessity of managing thecomplete project, starting from the hardware level (design of the

    ASICs) up to the design of the architecture, of the programming

    language along with an optimizing compiler, and finally to the

    development of applications using the specific computational

    paradigm. Conversely the latter takes advantage of standard

    development tools and environments but suffers from a less

    specific instruction set and a less oriented system architecture.

    In addition also the following technological aspects need to be

    considered:

  • 8/7/2019 seminar info (Autosaved)

    2/21

    the fast technological improvements, which tend to reduce

    the life time of the system;

    the costs of the system design and engineering, which are

    justified for productions based on large volumes only.

    For these reasons the architectural solution currently under

    evaluation on the ARGO vehicle is based on a standard 200 MHz

    MMX Pentium processor.

    The MMX Technology

    MMX technology represents an enhancement of the Intel

    processor family, adding instructions, registers, and data types

    specifically designed for multimedia data processing. Namely

    software performance are boosted exploiting a SIMD technique:

    multiple data elements can be processed in parallel using a single

    instruction. The new general-purpose instructions supported by

    MMX technology perform arithmetic and logical operations on

    multiple data elements packed into 64-bit quantities. These

    instructions accelerate the performance of applications based on

    compute-intensive algorithms that perform localized recurring

    operations on small native data. More specifically in the

    processing of gray level images, data is represented in 8 bit

    quantities, hence an MMX instruction can operate on 8 pixels

    simultaneously.

    Basically the MMX extensions provide the programmers with the

    following new features:

  • 8/7/2019 seminar info (Autosaved)

    3/21

    MMX Registers:

    the MMX technology provides eight general-purpose 64-bit new

    registers. MMX registers have been overlapped to the floating

    point registers to assure the backward compatibility with the

    existing software and specifically with the multitasking operating

    systems[3].

    Unfortunately this solution has two drawbacks:

    theprogrammer is expected to not mix MMX instructions and

    floating point code in any way, but is forced to use a specific

    instruction (EMMS) at the end of every MMX enhanced

    routine. The EMMS instruction empties the floating point tag

    word, thus allowing the correct execution of floating point

    operations;

    frequent transitions between the MMX and floating-point

    instructions may cause significant performance degradation.

    MMX Data Types:

    the MMX instructions can handle four different 64-bit data types:

    8 bytes packed into one 64-bit quantity,

    4 words packed into one 64-bit quantity,

    2 double-words packed into one 64-bit quantity, or

    1 quadword (64-bit).

    This allows to process multiple data using a single instruction or

    to directly manage 64-bit data.

  • 8/7/2019 seminar info (Autosaved)

    4/21

    MMX arithmetics:

    the main innovation of the MMX technology consists in the two

    different methods used to process the data:

    saturation arithmetic and

    wraparound mode.

    Their difference depends on how the overflow or underflow

    caused by mathematical operations is managed. In both cases

    MMX instructions do not generate exceptions nor set flags, but in

    wraparound mode, it results that overflow or underflow are

    truncated and only the least significant part of the result isreturned; conversely, the saturation approach consists in setting

    the result of an operation that overflows to the maximum value of

    the range, as well as the result of an operation that underflows is

    set to the minimum value. For example packed unsigned bytes for

    results that overflow or underflow are saturated to 0x00 or to 0xFF

    respectively.

    The latter approach is very useful for grey-level image processing,

    in fact, saturation brings grey value to pure black or pure white,

    without allowing for an inversion as in the former approach.

    MMX instructions:

    MMX processors are featured by 57 new instructions, which may

    be grouped into the following functional categories: arithmetic

    instructions, comparison instructions, conversion instructions,

    logical instructions, shift instructions, data transfer instructions,

    and the EMMS instruction.

  • 8/7/2019 seminar info (Autosaved)

    5/21

    Automatic Vehicle Driving is a generic term used to address a

    technique aimed at automating -enterely or in part- one or more

    driving tasks. The automation of these tasks carries a large number

    of economical and social benefits, such as:

    a higher exploitation of the road network,

    lower fuel and energy consumption,

    reduction of personnel for people and goods mobility, and -of

    course-

    improved quality of mobility and

    improved safety conditions compared to the current scenario.

    The tasks that automatically driven vehicles are able to perform

    range from the following:

    the possibility to follow the road and keep within the right

    lane,

    maintaining a safe distance between vehicles,

    regulating the vehicle's speed according to traffic conditions

    and road characteristics,

    moving across lanes in order to overtake vehicles and avoid

    obstacles,

    helping to find the correct and shortest route to a destination,

    and

    the movement and parking within urban environments.

  • 8/7/2019 seminar info (Autosaved)

    6/21

    Car Functionalities:

    Manual Driving:

    the system monitors the driver activity; in case of potentialdangerous situations the system warns the driver with acoustic and

    optic signals

    Supervised Driving:

    the system warns the driver with acoustic and optic signals and, in

    case of dangerous situations, takes the control of the vehicle inorder to keep it in a safe condition

    Automatic Driving:

    the system drives automatically, following the lane and localizing

    obstacles on the path; it is able to perform lane changes

    The Input System

    Only passive sensors (cameras) are used on ARGO to sense the

    surrounding environment, since they offer the possibility toacquire data in a non-invasive way, namely without altering the

    environment. Because of the large number of vehicles that could

    be moving simultaneously, this is a prominent advantage with

    respect to invasive ways of perceiving the environment, which

    could lead to an unacceptable pollution of the environment.

  • 8/7/2019 seminar info (Autosaved)

    7/21

    Figure 1: The left and right cameras

    The vision system

    The ARGO vehicle is equipped with a stereoscopic vision system

    (figure 1) consisting of two synchronized cameras able to acquire

    pairs of grey level images. The installed devices are small (3.2cm

    X 3.2cm) low cost cameras featuring a 6.0 mm focal length and a

    360 lines resolution which can receive the synchronism from an

    external signal.

    The cameras lie inside the car at the top corners of the windscreen,

    so that the longitudinal distance between the two cameras is

    maximum. The optical axes are parallel and, in order to handle

    also non flat roads, part of the scene over the horizon is captured,even if the framing of a portion of the sky can be critical for the

    image brightness: in case of high contrast the sensor may acquire

    oversaturated images.

    The acquisition system

    Images are acquired by a PCI Matrox board, which is able to grab

    three 768 X 288 pixel images simultaneously. The images are

    directly stored into the main memory of the host computer thanks

    to the use of DMA. The acquisition can be performed in real time,

  • 8/7/2019 seminar info (Autosaved)

    8/21

    at a 25Hz rate in case of full frames or at a 50Hz rate in case of

    single field acquisition.

    The output

    The steering capabilities

    The ARGO vehicle has autonomous steering capabilities: the

    result of the processing (position of obstacles and geometry of the

    road) is used to drive an actuator on the steering wheel. More

    precisely, the output provided by the GOLD vision system, suchas the vehicle lateral offset, the vehicle yaw relative to the road

    centerline and the upcoming road curvature, are combined to

    determine the lane center at a given distance ahead of the vehicle.

    The steering wheel is turned to head the vehicle at that lane center

    point ahead of the vehicle. In addition, the information coming

    from a speedometer will be integrated to handle also changes in

    the vehicle speed.

    Acoustic warnings

    For debug purposes, the result of the processing is also fed to the

    driver through a set of output devices installed on-board of the

    vehicle. An acoustical device warns the driver in case dangerousconditions are detected, e. g. when the distance to the leading

    vehicle is under a safety threshold or when the vehicle position

    within the lane is not safe.

  • 8/7/2019 seminar info (Autosaved)

    9/21

    The visual feedback

    Moreover, a visual feedback is supplied to the driver by displaying

    the results both on an on-board monitor and on a led-based control

    panel: the monitor presents the acquired left image with markershighlighting the lane markings as well as the position of the

    eventual obstacles, while the leds encode the offset of the vehicle

    with respect to the road center line.

  • 8/7/2019 seminar info (Autosaved)

    10/21

    Future Trends Will I still be driving in the near future?

    The research carried out worldwide on intelligent

    vehicles -after its first explorative stage- has now reached its

    second stage: many different approaches have been evaluated

    during these years and the most promising ones are being

    engineerized, installed on prototype vehicles, and extensively

    tested on the road.

    However, a long period of exhaustive tests and refinement must

    precede the availability of these systems on the general market,

    and a fully automated highway system with intelligent vehicles

    driving and exchanging information is not expected for a couple

    of decades. For the time being, complete automation will be

    restricted to special infrastructures such as industrial applications

    or public transportation. Then, automatic vehicle technology will

    be gradually extended to other key transportation areas such as the

    transportation of goods, for example on expensive trucks, where

    the cost of an autopilot is negligible with respect to the cost of the

    vehicle itself and the service it provides. Finally, once technology

    has been stabilised and after freezing the most promising solutions

    and the best algorithms, a massive integration and a widespread

    use of such systems will also take place with private vehicles, but

    this will not happen for another two or more decades.

    So, it's a bit too early to be looking for autonomous vehicles in

    your automobile dealers' showrooms.

  • 8/7/2019 seminar info (Autosaved)

    11/21

  • 8/7/2019 seminar info (Autosaved)

    12/21

    Lane Detection by

    means of IPM

    This section presents a possible solution to the problem oflane detection

    in images acquired from a camera installed on a mobile vehicle which is

    reduced to the detection of lane markings. In this case the a-priori

    knowledge exploited by the IMP transform is the assumption of a flatroad

    in front of the vehicle. The advantage offered by the use of the IPM is that

    in the remapped image (see figure 2.c) the road markings width is almost

    invariant within the whole image. This simplifies the following detection

    steps and allows its implementation with a traditional pattern matching

    technique on a SIMD system.

  • 8/7/2019 seminar info (Autosaved)

    13/21

    The basic assumption lane detection relies on is that road markings after

    the IPM transform are represented by quasi-vertical constant width lines,

    brighter than their surrounding region. Hence the first step of road

    markings detection is a low-level processing aimed to detect the pixels that

    have a higher brightness value than their horizontal neighbors at a given

    distance. The following processing is in charge of the reconstruction of the

    road geometry.

    Figure 2: IPM applied to a road environment: (a) 3D representation of the

    environment, (b) the acquired image, (c) the remapped image

    Obstacle Detection bymeans of Stereo IPM

    As mentioned in paragraph 3.2, when obstacle detection means the mere

    localization of objects that can obstruct the vehicle's path without their

    complete identification orrecognition, stereo IPM can be used in

    conjunction with a geometrical model of the road in front of the vehicle[2].

    Assuming the flatroadhypothesis introduced in the previous section, IPM

  • 8/7/2019 seminar info (Autosaved)

    14/21

    is performed using the same relations. This is of basic importance since in

    a system aimed to both obstacle and lane detection the IPM transform can

    be performed only once and its result can be shared by the two processes.

    The flat road model is checked through a pixel-wise difference between

    the two remapped images: in correspondence to a genericobstacle in front

    of the vehicle, namely anything rising up from the road surface, the

    difference image features sufficiently large clusters of non-zero pixels that

    have a particular shape.

    Due to the different angles of view of the stereo cameras, an ideal

    homogeneous square obstacle produces two clusters of pixels with a

    triangular shape in the difference image, in correspondence to its vertical

    edges.

    Unfortunately triangles found in real cases (see figure 4) are not so clearly

    defined and often not clearly disjoint because of the texture, irregular

    shape, and non-homogeneous color of real obstacles. Nevertheless clusters

    of pixels having an almost triangular shape are anyway recognizable in the

    difference image (see figure 4.e). The obstacle detection process is thus

    based on the localization of these triangles.

    Moreover, this process is complicated by the possible presence oftwoor

    moreobstacles in front of the vehicle at the same time, thus producing

    more than one pair of triangles, orpartially visibleobstacles, thus

    producing a single triangle; a further processing step is thus needed in

    order to classify triangles that belong to the same obstacle.

  • 8/7/2019 seminar info (Autosaved)

    15/21

    Vehicle Detection

  • 8/7/2019 seminar info (Autosaved)

    16/21

    The platooning functionality is based on the detection of the distance,

    speed, and direction of the preceeding vehicle, which is localized and

    tracked using a single monocular image sequence.

    The vehicle detection algorithm is based on the following considerations: a

    vehicle is generally symmetric, characterized by a rectangular bounding

    box which satisfies specific aspect ratio constraints, and placed in a

    specific region of the image. These features are used to identify vehicles in

    the image in the following way: first an area of interest is identified on the

    basis of road position and perspective constraints. This area is searched for

    possible vertical symmetries; not only gray level symmetries are

    considered, but vertical and horizontal edges symmetries as well, in order

    to increase the search robustness. Once the symmetry position and width

    has been detected, a new search begins, which is aimed at the detection of

    the two bottom corners of a rectangular bounding box. Finally, the top

    horizontal limit of the vehicle is searched for, and the preceeding vehicle

    localized.

    The tracking phase is performed through the maximization of the

    correlation beetween the portion of the image cintained into the bounding

    box of the previous frame (partially stretched and reduced to take into

    account small size variations due to the increment and reduction of the

    relative distance) and the new frame.

    System calibration

  • 8/7/2019 seminar info (Autosaved)

    17/21

    Since the processing is based on stereo vision, camera calibration plays a

    basic role for the success of the approach. It is divided in two steps.

    Supervised calibration:

    the first part of the calibration process is an interactive step: a grid with

    known size (figure 1.a) has been painted onto the ground and two stereo

    images (figure 1.b and 1.c) are captured and used for the calibration.

    Thanks to an X-Window based graphical interface a user selects the

    intersections of the grid lines using a mouse; these intersections represent a

    small set of homologous points whose world coordinates are known to the

    system; this mapping is used to compute the calibration parameters. Theset of homologous points is used to minimize different cost functions, such

    as, the distance between each point and its neighbors and line parallelism.

    This first step is intended to be performed only once when the orientation

    of the cameras or the vehicle trim have changed. Since the set of

    homologous points is small and their coordinates may be affected by

    human imprecision, this calibration represents only a rough guess of the

    parameters, and a further process is required.

    Automatic parameters tuning:

    after the supervised phase, the computed calibration parameters have to be

    refined. Moreover small changes in the vision system setup or in the

    vehicle trim require a periodic tuning of the calibration. For this purpose

    an automatic tool has been developed [2]. Since this step is only a

    refinement, a structured environment, such as the grid, is no more required

    and a mere flat road in front of the vision system suffices. The parameters

    tuning consists of an iterative procedure based on the application of the

    IPM transform to stereo images (see the extension of IPM to stereo vision)

    and takes about 20 seconds.

  • 8/7/2019 seminar info (Autosaved)

    18/21

    The Internet Connection

    Video broadcast requirements

    During the Tour across Italy, ARGO broadcasted a live video

    stream to the Internet. To accomplish this target a permanent link

    to the Internet was established.

    The problem

    A permanent link from a moving vehicle implies the use of mobile

    telecommunications facilities, such as GSM modems.

    Unfortunately the use of GSM modems for live video streaming

    compels to face the following constraints:

    low bit-rate band for transmission (usually 9600 bps, namely

    a little more than 1 kbyte/s);

    high variability of the bandwidth during movements;

    The solution

    In order to increase the throughput of the link the simultaneous

    use of two GSM modems has been studied. Two different

    techniques were conceived to exploit multiple phone lines:

    MLPPP (Multi-Link Point to Point Protocol);

  • 8/7/2019 seminar info (Autosaved)

    19/21

    EQL (EQualizer Load-balancer);

    Both share the underlying idea of splitting the network traffic

    across multiple serial links. The former relies on the presence of

    homogeneous serial links. Conversely the latter can handle also

    links that feature different throughput and protocols. But the most

    important capability for our application is that EQL dynamically

    adapt the network traffic according to the number of working

    serial links.

    The implementation

    Another personal computer was installed on ARGO; it wasequipped with a parallel port QuickcamColor camera and two

    GSM modems able to work up to 9600 bps using the MNP10-EC

    protocol. The computer runs the Linux operating system and a

    specific application that grabs images from the Quickcam, convert

    them in the jpeg format, and send them to our web server through

    the two GSM modems exploiting EQL.

  • 8/7/2019 seminar info (Autosaved)

    20/21

    Pair of stereo cameras: it is used to detect the obstacles in front of

    the car and is an input for the processor.

    Stereo loudspeakers: during emergency gives warnings for a

    person sitting in the car.

    Hall effect speedometer: to detect the speed of the car.

    Emergency pedal: incase the system fails and if someone is sittin

    in the car the person can use the emergency pedal to stop the car.

    Electric engine: is used to power up the car and also acts as a

    supply for the processing system.

    Control panel: to control the movement of

    the car.

    Tv monitor: to see the visuals taken from the camera.

    Emergency joystick: this is also used during emergency.

    Personel computer: it acts as a processing system for the car.

    Inverter: the dc supply given from the electric engine is converted

    to ac and then sent to the processing system.

  • 8/7/2019 seminar info (Autosaved)

    21/21

    Gsm antennas: are used to connect to the internet and locate cars

    position through gps.

    Internal cameras: to get the internal view of the car.