Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Traffic Jam Detection System by Ratul, Sadh, Shams


Published on

report on my project about an approach to automatically detect traffic jam with the aid of Image Processing in traffic points using computers

Published in: Technology, Business

Traffic Jam Detection System by Ratul, Sadh, Shams

  1. 1.  [Type the document title]  [Year]                Khulna University of Engineering & Technology              Department of Computer Science and Engineering  CSE 3100 Report on Software Development Project – II   Traffic Jam Detection System Date: 22 June, 2008 Authors: Khan Muhammad Nafee Mostafa 0507007 & Qudrat-E-Alahy Ratul 0507037 Supervisor: Rushdi Shams Lecturer, Dept of Computer Science and Engineering, Khulna University of Engineering & Technology, Bangladesh
  2. 2.   Acknowledgement  We express our gratitude to  the Almighty and our family.  We also thank Batch 2k5 of  CSE and whole CSE  department of KUET for  being a beaming source of  inspiration.  Thousands of people have  worked and been working in  the field of Image  Processing and Object  Recognition. Our respects go  to all of them.  We dedicate our work to  them who relate to traffic.   
  3. 3. TRAFFIC JAM DETECTION SYSTEM    TRAFFIC JAM DETECTION SYSTEM    Contents    Chapter 1: Introduction…01  1.1 Traffic Jam Detection…01  1.2 Techniques of Traffic Jam Detection…02  1.3 A Brief of Our Approach…03  1.4 Outcome of the Project…04   Chapter 2: Background…05  2.1 About Traffic Jam…05  2.2 About Image Processing and Object Detection…06  2.3 Fundamental Steps in Digital Image processing…06  2.4 Idea of Image…07  2.5 Towards Traffic Jam Detection…07   Chapter 3: Work Approach …08  3.1 Approach of Image Processing and Object Detection…08  3.2 Image Acquisition…08  3.3 Image Enhancement…09  3.4 Lane Masking…10  3.5 Further Enhancement…11  3.6 Erosion Operation…12  3.7 Adaptive smoothing…13  3.8 Blobs (Binary Large Objects)…14  3.9 Object Analysis…14  3.10 Motion Detect…15  3.11 Showing Result…15    Chapter 4: Result and Calculation…17    Chapter 5: Conclusion…18      Appendix I : Screenshot of Our  Application… A‐1             
  4. 4. TRAFFIC JAM DETECTION SYSTEM    TRAFFIC JAM DETECTION SYSTEM  Chapter   1   Introduction      Traffic  system  is  at  the  heart  of  civilized  world  and  development  in  many  aspects of life relies on it. Excessive number of traffic in roads and improper  controls  of  that  traffic  create  traffic  jam.  It  either  hampers  or  stagnate  schedule,  regimen,  business,  and  commerce.  Automated  traffic  detection  system  is  therefore  required  to  run  the  civilization  smooth  and  safe‐  which  will eventually lead us towards proper analysis on traffics, proper adjustment  of control management, and distribution of controlling signals.  The  aim  of  this  project  is  to  develop  a  traffic  jam  detection  system  using  image processing and object detection. Besides, we developed an application  that uses this detection mechanism and provides instant online information  through  Short  Messaging  Service  (SMS)  and  e‐mail.  This  information  helps  the travelers to incorporate with current situation on specific roads and the  authority to plan and schedule load balancing on the roads.      1.1 Traffic Jam Detection    Mostly,  automated  systems  need  the  interaction  with  a  computer  that  requires an algorithm to meet the specific requirements.  Human eye can easily detect whether there is a traffic jam or not. Within less  than  a  second,  human brain  processes  the  image  of  the  traffic,  detects  and  analyzes  objects,  and  thereafter  comes  to  a  decision.  A  programmer  also  detects, as being a human, traffic jam according to the analysis and detection  of  objects.  But  implementation  of  such  a  biological  process  requires  some  special treatment.     1 
  5. 5. TRAFFIC JAM DETECTION SYSTEM    Computers  can  recognize  only  binary  signals.  A  picture  of  the  road  can  be  represented  as  a  digital  image,  which  is  actually  binary  signal.  This  image  is  used  as  primary  source  of  data.  But,  an  image,  when  it  is  captured  from  natural  environment,  is  very  raw  and  unformatted.  Programmers  have  to  process  the  data  and  extract  relevant  information  from  images.  Frequent  need  of  extracting  information  from  images  has  led  to  the  development  of  several  fields  (e.g.  Image  processing,  Computer  Vision,  Object  recognition  etc)  in  computing  industry.    We  have  used  image  processing  and  object  detection to detect traffic jam. It takes several steps of image processing for  us to make decision about traffic jam. Key points of these steps are,  • Image Analysis  • Object detection  • Typed object count  • Motion detection  • Result representation  We  have  integrated  these  steps  in  our  system  and  have  developed  an  application to simulate it.      1.2 Techniques of Traffic Jam Detection    Several  approaches  have  been  taken  to  detect  traffic  jam.  Oldest  and  most  reliable approach of them is to employ a person in important traffic points.  But  with  the  advent  of  technology  and  increment  of  traffic  flow,  several  approaches with less involvement of human have been taken.  Magnetic Loop Detector (MLD) used to count the number of plying vehicles  using magnetic properties [Koller et al. 1994].   Light beams (IR, LASER etc) are also use. As traffic move on road light beams  are cut. Electronic devices can record these events and detect traffic jam.  In  contemporary  approaches,  image  processing,  computer  vision  etc  are  highly  recommended.  In  these  types  of  approaches  involvement  of  computers  provide  online  characteristics,  facilitate  centralized  control  over  distributed system and develop compact platform. Computer vision (or Robot  Vision) can also provide other services. In these approaches, information feed    2 
  6. 6. TRAFFIC JAM DETECTION SYSTEM    through  telephone  or  web  networks  can  easily  be  supported.  Even,  traffic  flow of whole city can be observed from a centre and statistics can be made.  Traffic  systems  design  and  urban  planning  can  be  very  efficient  by  taking  statistics from computer aided traffic systems.  We are using computer aided image processing to attain optimal support.      1.3 A Brief of Our Approach    In our project, as mentioned earlier, we have used image processing. Major  steps of our work are presented next,    1.3.1 Image Analysis  At first we must capture the image of the traffic point where we are going to  detect  traffic  jam.  This  image  is  taken  using  a  good  digital  camera.  Usually  some  fundamental  image  enhancements  using  Gaussian  filter  and  noise  reductions are done by camera itself. So, we do not need to apply them again  and kept this step for camera.    1.3.2 Object Detection  This step is very crucial. We used ‘Lane Masking’ [Atkociunas et al. 2005]. After  masking lane, the image contains only traffic vehicles. Then ‘Euclidean Color  Filter’ is applied. It will fill pixels with white where the difference of color is  minimal. Then, the image will be converted into a binary (first ‘Grayscale’ and  then  ‘Black  &  White’)  image  using  a  threshold  value.  Afterwards,  ‘Erosion’  operator  and  ‘Adaptive  Smoothing’  are  applied.  Finally,  ‘blobs’  are  found  from the image and are placed apart. We recognize these blobs as objects.  We will call this technique as ‘Lane Masked Erosion‐Blob Technique of Object  Extraction’.        3 
  7. 7. TRAFFIC JAM DETECTION SYSTEM    1.3.3 Typed Object Count   Object  detection  is  followed  by  object  count.  We,  classify  all  the  objects  found,  in  previous  step,  into  four  groups  (small,  large,  critical  and  perfect)  and count them. This information is provided to determine the present state  of traffic.  We will call this technique as ‘Lane Masked Erosion‐Blob Technique of Typed  Object Count’.    1.3.4 Motion Detection  To  detect  motion,  we  need  two  consecutive  captures  of  the  road.  Both  images undergo ‘Erosion‐Blob Technique of Object Extraction’ (section 1.3.2).  Then, we detect overlapped blobs. Then, we calculate the distance the same  blob has moved. Finally we average the result to determine speed of plying  traffic.    We  will  call  this  technique  as  ‘Lane  Masked  Erosion‐Blob‐Displacement  method of motion detection’.  1.3.5 Result Representation  We  simulate  our  system  with  an  application  developed  in  the  .Net  Framework.      1.4 Outcome of the Project    Our  project  is  targeted  at  developing  a  tool  for  detecting  traffic  jam.  This  project  reaches  the  target  successfully  and  can  be  implemented  in  various  online systems. We can feed information about:   • Number of plying vehicle  • Existence of Jam  • Average speed of traffic    In the next chapters we will represent details of our project.    4 
  8. 8. TRAFFIC JAM DETECTION SYSTEM    TRAFFIC JAM DETECTION SYSTEM  Chapter   2   Background    2.1 About Traffic Jam    It  is  said  that  road  and  transport  system  is  the  mean  by  which  we  can  measure  the  development  level  of  a  country.  And  Traffic  jam  is  the  unavoidable part of road & transport. Insufficient roads, poor urban planning  etc may cause traffic jam. In general sense, we say that there is a traffic jam  when there plies more vehicles in a road than it can hold.   In any one of the following cases, we say there is a traffic jam:  • The vehicles are stopped  • Vehicles are moving very slowly  • There is an excessive number of vehicle on road    Automated traffic control system can help us to reduce traffic jam and save  our  valuable  time.  Again,  computer  aided  traffic  jam  detection  system  can  warn  people  about  traffic  points  with  traffic  jam  and  ask  people  to  try  alternative path. We worked on traffic jam detection to build a base of such  modern facilities to ensure better transport.          5 
  9. 9. TRAFFIC JAM DETECTION SYSTEM    2.2 About Image Processing and Object Detection    Recently  computing  industry  is  working  a  lot  in  both  image  processing  and  objects  detection.  These  two  fields  are  contributed  in  the  development  of  artificial intelligence and automated systems.  According to Nils J. Nilson [Nilson, 2002], Image processing has been proved  to  be  a  very  difficult  problem  for  machines.  Programmers  mainly  face  difficulties from   • Variable and uncontrolled illumination  • Complex and hard to describe objects  • Objects occluding other objects  In  man  made  environment  difficulties  are  lessened  than  in  natural  environment.    Object detection is the outcome of image processing. Object recognition goes  far more deep in analyzing images and objects from it.      2.3 Fundamental Steps in Digital Image processing    Some fundamental steps of image processing are,  • Image Acquisition  • Image Enhancement  • Image Restoration  • Color Image Processing  • Wavelets processing  • Compression  • Morphological Processing  • Segmentation  • Representation and Description  • Recognition    (Please look for references, [Gonzalez & Woods, 2003], [TUDelft])      6 
  10. 10. TRAFFIC JAM DETECTION SYSTEM    2.4 Idea of Image  In  most  contexts,  we  studied  and  worked  on,  the  word  ‘image’  is  used  to  mention  a  two  dimensional  array  (or  matrix  or  a  plane)  of  bitmaps  and  is  used to represent 2D vision of real‐life images.   Every  bitmap  contains  3  fields:  R,  G  and  B.  Respectively,  they  contain  the  color  values  of  red,  green  and  blue  of  a  particular  point  (pixel).  Sometimes,  another fourth field may contain intensity of the very point.      2.5 Towards Traffic Jam Detection  Computer industry is getting enriched in image processing everyday. A lot of  work  of  many  individuals  throughout  the  world  has  helped  us  to  develop  a  traffic jam detection system.                                   7 
  11. 11. TRAFFIC JAM DETECTION SYSTEM    TRAFFIC JAM DETECTION SYSTEM  Chapter   3   Work Approach    We  have  developed  this  project  as  a  part  of  a  course  named  ‘Software  Development  Project  ‐  II’  within  the  undergraduate  engineering  program  in  Computer  Science  and  Engineering.  We  were  suggested  to  use  the  .Net  framework as platform and C# as the language. To accomplish our project C#  .Net  was  a  good  tool.  Amongst  several  different  approaches  of  image  processing we have selected some to use. A precise description of our work is  presented in this chapter.      3.1 Approach of Image Processing and Object Detection    A machine, just like a human being, requires to ‘see’ the road for detecting  traffic jam on it. To provide a machine the capability to see we must exactly  follow the process a human being does.   Image processing requires huge processing of data and several algorithms run  in order of n2 or ny. Therefore, processes involving image processing are to be  handled with care.       3.2 Image Acquisition    Image acquisition is the first step of our system. A precise image of the case  road (traffic point) is acquired. We need to capture an image of the road with  no vehicle plying on it. This is called as background image (fig 3.2‐b).     8 
  12. 12. TRAFFIC JAM DETECTION SYSTEM    Another  image  of  the  road  is  taken  exactly  at  the  time  when  we  need  to  detect traffic jam. We have a sample image next (fig 3.2‐a).      Fig3.2‐a: Sample Image taken on road at runtime       Fig3.2‐b: Sample Image taken as the background image       3.3 Image Enhancement    Some  noise  frequently  comes  on  images  taken  on  natural  environment.  Contemporary  technology  brings  cameras  integrated  with  image  enhancing  algorithms. So, we are not applying any enhancement separately.      9 
  13. 13. TRAFFIC JAM DETECTION SYSTEM    3.4 Lane Masking   This method is intended to separate the part of the road where vehicles are  moving in one direction (Fig. 3.2‐a). This method simplifies the processing. As  we eliminate background we have only to think about the objects. So, a huge  amount of irrelevant information is discarded.   Masking algorithm is given by formula  N(p) = M(p) × V (p),  Where,  M(p) is an image point value in primary frame,   N(p) is a new image point in the output image (Fig. 3.4‐a),  V(p) is mask value for point p: V (p) = 0 if corresponding pixel is eliminated,   otherwise V (p) = 1.     Masking is applied to each RGB color separately.       Fig3.4‐a: Image after lane masked from main image     ‐  =    Fig 3.4‐b: the Lane Masking Process    10 
  14. 14. TRAFFIC JAM DETECTION SYSTEM    3.5 Further Enhancement  After lanes are masked, the images are then enhanced by turning it into  grayscale (fig3.5‐a).   Grayscale algorithm is  R=G=B= (r+g+b)/3   Where,   R, G and B are new values of red, green and blue   r, g and b are old values of red, green and blue    Then the image is converted into black & white binary image (fig3.5‐b). This  requires the algorithm,    If (r+g+b > threshold) {        R=G=B = white;  }        Else {            R=G=B=black;          }      Fig3.5‐a : Grayscal conversion      Fig 3.5‐b : Binary Converted Image    11 
  15. 15. TRAFFIC JAM DETECTION SYSTEM    3.6 Erosion Operation  The Erosion operator is defined as,            Fig 3.6‐a: Erosion Operator  In the case of object extract we can get good result by applying this operator.  Fig 3.6‐b depicts an image with erosion applied on it.    Fig3.6‐a: Figure with erosion applied on it      12 
  16. 16. TRAFFIC JAM DETECTION SYSTEM    3.7 Adaptive smoothing  While traditional smoothing methods use the same window shape and size to  smooth  an  image  independent  of  its  content,  in  adaptive  smoothing,  the   window  shape  and  size  are  varied  across  the  image  domain  depending  on  local  image  content.  In  adaptive  smoothing  a  window  is  sized  according  to  the gradient magnitude locally and shaped in such a way that it has a shorter  side across an edge compared to along the edge. This mechanism maintains  edge details while smoothing random noise.  Fig3.7a shows the picture processed with adaptive smoothing. And fig3.7b is  without adaptive smoothing.      Fig 3.7a: Figure after Adaptive smoothing       Fig 3.7b: Figure without Adaptive smoothing            13 
  17. 17. TRAFFIC JAM DETECTION SYSTEM    3.8 Blobs (Binary Large Objects)  Blobs are the largest objects. To find blob, we blur the image to eliminate all  small noises. Figure below shows the largest blob found by our method, ‘Lane  Masked Erosion‐Blob Technique of Object Extraction’.    Fig3.8a: Perfect Blob of 7 found blobs    3.9 Object Analysis    Blobs  found  in  previous  step  is  now  processed  mathematically  to  classify  them in 4 groups,  • Small  • Critical  • Perfect  • Large    Small objects are discarded as they are mostly noises. Large objects are never  car or bus. They can be the image itself or other large portion of image. Most  of  the  cars  lie  in  the  perfect  blob  group.  But  sometimes  critical  blob  hold  portions of car (hood, trunk etc).  We count the number of blobs in each class. Then the count is compared to  standard  conditions  and  a  decision  about  jam  status  is  then  can  be  made.  This  approach  can  be  called  as  ‘Lane  Masked  Erosion‐Blob  Technique  of  Typed Object Count’.    14 
  18. 18. TRAFFIC JAM DETECTION SYSTEM    3.10 Motion Detect    Motion detection is another good way of telecasting information about traffic  jam. To do so,   • we take two  consecutive images of the road  • find the blobs  • detect overlapping blobs  • find axis‐wise displacement  • calculate the average displacement to determine speed  This  approach  can  be  called  as  ‘Lane  Masked  Erosion‐Blob‐Displacement  method of motion detection’.  Two images are given below showing motion detection:                  Fig3.10a: two images for detecting traffic motion    3.11 Showing Result     In  all  the  stages,  described  above,  necessary  information  for  deciding  whether there is a traffic jam or not is produced. Now we can display or even  feed this information to several systems.  In addition to traffic jam detection our simulation program can,  • Generate string describing traffic status  • Receive request through  SMS   • Respond to a SMS immediately  • Receive request through e‐mail   • Respond to e‐mail requests    15 
  19. 19. TRAFFIC JAM DETECTION SYSTEM    Total integration of our application has also included set‐up features and set‐ up data are stored with the help of filing system.                                                    16 
  20. 20. TRAFFIC JAM DETECTION SYSTEM     TRAFFIC JAM DETECTION SYSTEM  Chapter   4   Result and Calculation    Our project has been tested in several conditions. We have found that, it  takes 3 to 4 second for our system to determine the objects and their speed  when the image is 1024*768 pixels.   Our system can work efficiently work in standard environment.                                      17 
  21. 21. TRAFFIC JAM DETECTION SYSTEM    TRAFFIC JAM DETECTION SYSTEM  Chapter   5  Conclusion    Traffic  jam  recognition  systems  have  been  developed  in  several  different  ways.  Our  approach  is  analytical.  It  also  takes  the  advantage  of  statistical  data. Lane masking has contributed greatly in reducing time complexity and  has tremendously have improved performance.  In future our work can support online centralized traffic system for a city. In  this system, every important traffic point will be monitored with our ‘Traffic  Jam Detection System’. Then, information will  be fed to central server. This  server  can  analyze  all  points’  traffic  state  and  can  control  traffic  flow.  Such  system may reduce traffic jam greatly.        18 
  22. 22.   References  [Atkociunas et al. 2005]   [Gonzalez & Woods, 2003] Rafael C. Gonzalez, Richard E. Woods,”Digital Image  Processing ”2/e,2003    [Koller et al. 1994] Dieter Koller, Joseph Weber and Jitendra Malik, "Robust Multiple Car Tracking with Occlusion Reasoning" ECCV (1) 1994 [Nilson, 2002] Nils J. Nilson “Artificail Intelligence”, 2002   [TUDelft]    
  23. 23. Appendix I: Screenshots of Aour Application          A‐1