Outline of object recognition

Short description: Topical guide to object recognition

This illustration highlights that, while some images are easier to recognize, other are harder to label.

Object recognition - technology in the field of computer vision for finding and identifying objects in an image or video sequence. Humans recognize a multitude of objects in images with little effort, despite the fact that the image of the objects may vary somewhat in different view points, in many different sizes and scales or even when they are translated or rotated. Objects can even be recognized when they are partially obstructed from view. This task is still a challenge for computer vision systems. Pattern Matching Algorithm have been commonly used, as a standard for identifying parts on the inspection images, however these algorithms are very heavy in terms of mathematical calculations.[citation needed] Many approaches to the task have been implemented over multiple decades.

## Contents

* 1 Approaches based on CAD-like object models
* 1.1 Recognition by parts
* 2 Appearance-based methods
* 2.1 Edge matching
* 2.2 Divide-and-Conquer search
* 2.3 Greyscale matching
* 2.4 Gradient matching
* 2.5 Histograms of receptive field responses
* 2.6 Large modelbases
* 3 Feature-based methods
* 3.1 Interpretation trees
* 3.2 Hypothesize and test
* 3.3 Pose consistency
* 3.4 Pose clustering
* 3.5 Invariance
* 3.6 Geometric hashing
* 3.7 Scale-invariant feature transform (SIFT)
* 3.8 Speeded Up Robust Features (SURF)
* 3.9 Bag of words representations
* 4 Genetic algorithm
* 5 Other approaches
* 6 Applications
* 7 Surveys
* 8 See also
* 9 Notes
* 10 References
* 11 External links

## Approaches based on CAD-like object models

* Edge detection
* Primal sketch
* Marr, Mohan and Nevatia[1]
* Lowe
* Olivier Faugeras

### Recognition by parts

* Generalized cylinders (Thomas Binford)
* Geons (Irving Biederman)
* Dickinson, Forsyth and Ponce

## Appearance-based methods

* Use example images (called templates or exemplars) of the objects to perform recognition
* Objects look different under varying conditions:
* Changes in lighting or color
* Changes in viewing direction
* Changes in size/shape
* A single exemplar is unlikely to succeed reliably. However, it is impossible to represent all appearances of an object.

### Edge matching

* Uses edge detection techniques, such as the Canny edge detection, to find edges.
* Changes in lighting and color usually don't have much effect on image edges
* Strategy:
1. Detect edges in template and image
2. Compare edges images to find the template
3. Must consider range of possible template positions
* Measurements:
* Good – count the number of overlapping edges. Not robust to changes in shape
* Better – count the number of template edge pixels with some distance of an edge in the search image
* Best – determine probability distribution of distance to nearest edge in search image (if template at correct position). Estimate likelihood of each template position generating image

### Divide-and-Conquer search

* Strategy:
* Consider all positions as a set (a cell in the space of positions)
* Determine lower bound on score at best position in cell
* If bound is too large, prune cell
* If bound is not too large, divide cell into subcells and try each subcell recursively
* Process stops when cell is "small enough"
* Unlike multi-resolution search, this technique is guaranteed to find all matches that meet the criterion (assuming that the lower bound is accurate)
* Finding the Bound:
* To find the lower bound on the best score, look at score for the template position represented by the center of the cell
* Subtract maximum change from the "center" position for any other position in cell (occurs at cell corners)

### Greyscale matching

* Edges are (mostly) robust to illumination changes, however they throw away a lot of information
* Must compute pixel distance as a function of both pixel position and pixel intensity
* Can be applied to color also

### Gradient matching

* Another way to be robust to illumination changes without throwing away as much information is to compare image gradients
* Matching is performed like matching greyscale images
* Simple alternative: Use (normalized) correlation

### Histograms of receptive field responses

* Avoids explicit point correspondences
* Relations between different image points implicitly coded in the receptive field responses
* Swain and Ballard (1991),[2] Schiele and Crowley (2000),[3] Linde and Lindeberg (2004, 2012)[4][5]

### Large modelbases

* One approach to efficiently searching the database for a specific image to use eigenvectors of the templates (called eigenfaces)
* Modelbases are a collection of geometric models of the objects that should be recognized

## Feature-based methods

Feature detection

Edge detection

* Canny
* Deriche
* Differential
* Sobel
* Prewitt
* Roberts cross

Corner detection

* Harris operator
* Shi and Tomasi
* Level curve curvature
* Hessian feature strength measures
* SUSAN
* FAST

Blob detection

* Laplacian of Gaussian (LoG)
* Difference of Gaussians (DoG)
* Determinant of Hessian (DoH)
* Maximally stable extremal regions
* PCBR

Ridge detection
Hough transform

* Hough transform
* Generalised Hough transform

Structure tensor

* Structure tensor
* Generalized structure tensor

Affine invariant feature detection

* Affine shape adaptation
* Harris affine
* Hessian affine

Feature description

* SIFT
* SURF
* GLOH
* HOG

Scale space

* Scale-space axioms
* Implementation details
* Pyramids

* v
* t
* e

* a search is used to find feasible matches between object features and image features.
* the primary constraint is that a single position of the object must account for all of the feasible matches.
* methods that extract features from the objects to be recognized and the images to be searched.
* surface patches
* corners
* linear edges

### Interpretation trees

* A method for searching for feasible matches, is to search through a tree.
* Each node in the tree represents a set of matches.
* Root node represents empty set
* Each other node is the union of the matches in the parent node and one additional match.
* Wildcard is used for features with no match
* Nodes are "pruned" when the set of matches is infeasible.
* A pruned node has no children
* Historically significant and still used, but less commonly

### Hypothesize and test

* General Idea:
* Hypothesize a correspondence between a collection of image features and a collection of object features
* Then use this to generate a hypothesis about the projection from the object coordinate frame to the image frame
* Use this projection hypothesis to generate a rendering of the object. This step is usually known as backprojection
* Compare the rendering to the image, and, if the two are sufficiently similar, accept the hypothesis
* Obtaining Hypothesis:
* There are a variety of different ways of generating hypotheses.
* When camera intrinsic parameters are known, the hypothesis is equivalent to a hypothetical position and orientation – pose – for the object.
* Utilize geometric constraints
* Construct a correspondence for small sets of object features to every correctly sized subset of image points. (These are the hypotheses)
* Three basic approaches:
* Obtaining Hypotheses by Pose Consistency
* Obtaining Hypotheses by Pose Clustering
* Obtaining Hypotheses by Using Invariants
* Expense search that is also redundant, but can be improved using Randomization and/or Grouping
* Randomization
* Examining small sets of image features until likelihood of missing object becomes small
* For each set of image features, all possible matching sets of model features must be considered.
* Formula:

(1 – Wc)k = Z
* W = the fraction of image points that are "good" (w ~ m/n)
* c = the number of correspondences necessary
* k = the number of trials
* Z = the probability of every trial using one (or more) incorrect correspondences
* Grouping
* If we can determine groups of points that are likely to come from the same object, we can reduce the number of hypotheses that need to be examined

### Pose consistency

* Also called Alignment, since the object is being aligned to the image
* Correspondences between image features and model features are not independent – Geometric constraints
* A small number of correspondences yields the object position – the others must be consistent with this
* General Idea:
* If we hypothesize a match between a sufficiently large group of image features and a sufficiently large group of object features, then we can recover the missing camera parameters from this hypothesis (and so render the rest of the object)
* Strategy:
* Generate hypotheses using small number of correspondences (e.g. triples of points for 3D recognition)
* Project other model features into image (backproject) and verify additional correspondences
* Use the smallest number of correspondences necessary to achieve discrete object poses

### Pose clustering

* General Idea:
* Each object leads to many correct sets of correspondences, each of which has (roughly) the same pose
* Vote on pose. Use an accumulator array that represents pose space for each object
* This is essentially a Hough transform
* Strategy:
* For each object, set up an accumulator array that represents pose space – each element in the accumulator array corresponds to a "bucket" in pose space.
* Then take each image frame group, and hypothesize a correspondence between it and every frame group on every object
* For each of these correspondences, determine pose parameters and make an entry in the accumulator array for the current object at the pose value.
* If there are large numbers of votes in any object's accumulator array, this can be interpreted as evidence for the presence of that object at that pose.
* The evidence can be checked using a verification method
* Note that this method uses sets of correspondences, rather than individual correspondences
* Implementation is easier, since each set yields a small number of possible object poses.
* Improvement
* The noise resistance of this method can be improved by not counting votes for objects at poses where the vote is obviously unreliable

§ For example, in cases where, if the object was at that pose, the object frame group would be invisible.
* These improvements are sufficient to yield working systems

### Invariance

* There are geometric properties that are invariant to camera transformations
* Most easily developed for images of planar objects, but can be applied to other cases as well

### Geometric hashing

* An algorithm that uses geometric invariants to vote for object hypotheses
* Similar to pose clustering, however instead of voting on pose, we are now voting on geometry
* A technique originally developed for matching geometric features (uncalibrated affine views of plane models) against a database of such features
* Widely used for pattern-matching, CAD/CAM, and medical imaging.
* It is difficult to choose the size of the buckets
* It is hard to be sure what "enough" means. Therefore, there may be some danger that the table will get clogged.

### Scale-invariant feature transform (SIFT)

* Keypoints of objects are first extracted from a set of reference images and stored in a database
* An object is recognized in a new image by individually comparing each feature from the new image to this database and finding candidate matching features based on Euclidean distance of their feature vectors.
* Lowe (2004)[6][7]

### Speeded Up Robust Features (SURF)

* A robust image detector & descriptor
* The standard version is several times faster than SIFT and claimed by its authors to be more robust against different image transformations than SIFT
* Based on sums of approximated 2D Haar wavelet responses and made efficient use of integral images.
* Bay et al. (2008)[8]

### Bag of words representations

## Genetic algorithm

Genetic algorithms can operate without prior knowledge of a given dataset and can develop recognition procedures without human intervention. A recent project achieved 100 percent accuracy on the benchmark motorbike, face, airplane and car image datasets from Caltech and 99.4 percent accuracy on fish species image datasets.[9][10]

## Other approaches

* 3D object recognition and reconstruction[11]
* Biologically inspired object recognition
* Artificial neural networks and Deep Learning especially convolutional neural networks
* Context[12][13]
* Explicit and implicit 3D object models
* Fast indexing[14]
* Global scene representations[12]
* Gradient histograms
* Stochastic grammars[15]
* Intraclass transfer learning
* Object categorization from image search
* Reflectance[16]
* Shape-from-shading[17]
* Template matching
* Texture[18]
* Topic models[13]
* Unsupervised learning
* Window-based detection
* Deformable Part Model
* Bingham distribution[19]

## Applications

Object recognition methods has the following applications:

* Activity recognition[20]
* Automatic image annotation[21][22]
* Automatic target recognition
* Android Eyes - Object Recognition[23]
* Computer-aided diagnosis[24]
* Image panoramas[25]
* Image watermarking[26]
* Global robot localization[27]
* Face detection[28]
* Optical Character Recognition[29]
* Manufacturing quality control[30]
* Content-based image retrieval[31]
* Object Counting and Monitoring[32]
* Automated parking systems[33]
* Visual Positioning and tracking[34]
* Video stabilization[35]
* Pedestrian detection
* Intelligent speed assistance (in car and other vehicles)
* Object Recognition on Touch Screns [36]

## Surveys

* Daniilides and Eklundh, Edelman.
* Roth, Peter M.; Winter, Martin (2008). "SURVEYOFAPPEARANCE-BASED METHODS FOR OBJECT RECOGNITION". Technical Report ICG-TR-01/08. http://lrs.icg.tugraz.at/pubs/roth_tr-icg_08.pdf. Retrieved 2016-02-26.

## See also

* Histogram of oriented gradients
* Convolutional neural network
* OpenCV
* Scale-invariant feature transform (SIFT)
* Object detection
* Scholarpedia article on scale-invariant feature transform and related object recognition methods
* SURF
* Template matching
* Integral channel feature

Lists

* List of computer vision topics
* List of emerging technologies
* Outline of artificial intelligence

## Notes

1. ↑ Rahesh Mohan; Rakamant Nevatia (1992). "Perceptual organization for scene segmentation and description". IEEE Transactions on Pattern Analysis and Machine Intelligence 14 (6): 616. doi:10.1109/34.141553. Bibcode: 1992ITPAM..14..616M. http://iris.usc.edu/outlines/papers/1992/pami-mohan-92.pdf.
2. ↑ Swain, Michael J.; Ballard, Dana H. (1991-11-01). "Color indexing" (in en). International Journal of Computer Vision 7 (1): 11–32. doi:10.1007/BF00130487. ISSN 1573-1405.
3. ↑ Schiele, Bernt; Crowley, James L. (2000-01-01). "Recognition without Correspondence using Multidimensional Receptive Field Histograms" (in en). International Journal of Computer Vision 36 (1): 31–50. doi:10.1023/A:1008120406972. ISSN 1573-1405.
4. ↑ Linde, O.; Lindeberg, T. (2004). "Object recognition using composed receptive field histograms of higher dimensionality". Proceedings of the 17th International Conference on Pattern Recognition, 2004. ICPR 2004. pp. 1-6 Vol.2. doi:10.1109/ICPR.2004.1333965. ISBN 0-7695-2128-2. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-44311.
5. ↑ O. Linde; T. Lindeberg (2012). "Composed Complex-Cue Histograms: An Investigation of the Information Content in Receptive Field Based Image Descriptors for Object Recognition". Computer Vision and Image Understanding 116 (4): 538–560. doi:10.1016/j.cviu.2011.12.003. http://www.csc.kth.se/~tony/abstracts/LinLin11-CompComplCueHist.html.
6. ↑ Lowe, David G. (2004). "Distinctive Image Features from Scale-Invariant Keypoints". International Journal of Computer Vision 60 (2): 91–110. doi:10.1023/B:VISI.0000029664.99615.94.
7. ↑ Lindeberg, Tony (2012). "Scale invariant feature transform". Scholarpedia 7 (5). doi:10.4249/scholarpedia.10491. Bibcode: 2012SchpJ...710491L.
8. ↑ Bay, Herbert; Ess, Andreas; Tuytelaars, Tinne; Van Gool, Luc (2008). "Speeded-Up Robust Features (SURF)". Computer Vision and Image Understanding 110 (3): 346–359. doi:10.1016/j.cviu.2007.09.014.
9. ↑ "New object recognition algorithm learns on the fly". Gizmag.com. 20 January 2014. http://www.gizmag.com/learning-object-recognition-algorithm-byu/30512.
10. ↑ Lillywhite, K.; Lee, D. J.; Tippetts, B.; Archibald, J. (2013). "A feature construction method for general object recognition". Pattern Recognition 46 (12): 3300. doi:10.1016/j.patcog.2013.06.002. Bibcode: 2013PatRe..46.3300L.
11. ↑ Brown, Matthew, and David G. Lowe. "Unsupervised 3D object recognition and reconstruction in unordered datasets." 3-D Digital Imaging and Modeling, 2005. 3DIM 2005. Fifth International Conference on. IEEE, 2005.
12. ↑ 12.0 12.1 Oliva, Aude; Torralba, Antonio (2007). "The role of context in object recognition". Trends in Cognitive Sciences 11 (12): 520–527. doi:10.1016/j.tics.2007.09.009. PMID 18024143. http://people.csail.mit.edu/torralba/publications/reviewPapers/TrendsInCog.pdf.
13. ↑ 13.0 13.1 Zhenxing Niu; Gang Hua; Xinbo Gao; Qi Tian (2012). "Context aware topic model for scene recognition". 2012 IEEE Conference on Computer Vision and Pattern Recognition. pp. 2743–2750. doi:10.1109/CVPR.2012.6247997. ISBN 978-1-4673-1228-8.
14. ↑ Stein, F.; Medioni, G. (1992). "Structural indexing: Efficient 3-D object recognition". IEEE Transactions on Pattern Analysis and Machine Intelligence 14 (2): 125–145. doi:10.1109/34.121785. Bibcode: 1992ITPAM..14..125S. http://graphics.stanford.edu/~smr/ICP/comparison/stein-medioni-reg-pami92.pdf.
15. ↑ Mumford, David; Zhu, Song-Chun (2006). "A Stochastic Grammar of Images". Foundations and Trends® in Computer Graphics and Vision 2 (4): 259–362. doi:10.1561/0600000018. http://www.nowpublishers.com/article/DownloadSummary/CGV-018.
16. ↑ Nayar, Shree K.; Bolle, Ruud M. (1996). "Reflectance based object recognition". International Journal of Computer Vision 17 (3): 219–240. doi:10.1007/BF00128232.
17. ↑ Worthington, P.L.; Hancock, E.R. (2001). "Object recognition using shape-from-shading". IEEE Transactions on Pattern Analysis and Machine Intelligence 23 (5): 535–542. doi:10.1109/34.922711. Bibcode: 2001ITPAM..23..535W. http://eprints.whiterose.ac.uk/archive/00001989/01/hancocker5.pdf.
18. ↑ Shotton, Jamie; Winn, John; Rother, Carsten; Criminisi, Antonio (2009). "TextonBoost for Image Understanding: Multi-Class Object Recognition and Segmentation by Jointly Modeling Texture, Layout, and Context". International Journal of Computer Vision 81: 2–23. doi:10.1007/s11263-007-0109-1. https://www.researchgate.net/publication/220660505.
19. ↑ "Better robot vision". KurzweilAI. http://www.kurzweilai.net/better-robot-vision.
20. ↑ Donahue, Jeff; Hendricks, Lisa Anne; Rohrbach, Marcus; Venugopalan, Subhashini; Guadarrama, Sergio; Saenko, Kate; Darrell, Trevor (2017). "Long-Term Recurrent Convolutional Networks for Visual Recognition and Description". IEEE Transactions on Pattern Analysis and Machine Intelligence 39 (4): 677–691. doi:10.1109/TPAMI.2016.2599174. PMID 27608449. Bibcode: 2017ITPAM..39..677D. https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Donahue_Long-Term_Recurrent_Convolutional_2015_CVPR_paper.pdf.
21. ↑ Karpathy, Andrej; Fei-Fei, Li (2017). "Deep Visual-Semantic Alignments for Generating Image Descriptions". IEEE Transactions on Pattern Analysis and Machine Intelligence 39 (4): 664–676. doi:10.1109/TPAMI.2016.2598339. PMID 27514036. Bibcode: 2017ITPAM..39..664K. https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Karpathy_Deep_Visual-Semantic_Alignments_2015_CVPR_paper.pdf.
22. ↑ P Duygulu; K Barnard; N de Fretias; D Forsyth (2002). "Object recognition as machine translation: Learning a lexicon for a fixed image vocabulary". pp. 97–112. http://vision.cs.arizona.edu/kobus/research/publications/ECCV-02-1/.
23. ↑ "Android Eyes Computer Vision". https://play.google.com/store/apps/details?id=com.davecote.androideyes/. Martha J. Farah "Visual Agnosia", Computer Vision Computing Cognitive Neuroscience, MIT Press, 2011-05-01, Pages 760-781, ISSN 1468-4233 [1]
24. ↑ Esteva, Andre; Kuprel, Brett; Novoa, Roberto A.; Ko, Justin; Swetter, Susan M.; Blau, Helen M.; Thrun, Sebastian (2017). "Dermatologist-level classification of skin cancer with deep neural networks". Nature 542 (7639): 115–118. doi:10.1038/nature21056. PMID 28117445. PMC 8382232. Bibcode: 2017Natur.542..115E. http://on-demand.gputechconf.com/gtc/2017/presentation/s7822-andre-esteva-dermatologiest-level-classification-of-skin-cancer.pdf.
25. ↑ Brown; Lowe (2003). "Recognising panoramas". Proceedings Ninth IEEE International Conference on Computer Vision. pp. 1218-1225 vol.2. doi:10.1109/ICCV.2003.1238630. ISBN 0-7695-1950-4. http://faculty.cse.tamu.edu/jchai/CPSC641/iccv2003.pdf.
26. ↑ Li, L., Guo, B., and Shao, K., "Geometrically robust image watermarking using scale-invariant feature transform and Zernike moments," Chinese Optics Letters, Volume 5, Issue 6, pp. 332-335, 2007.
27. ↑ Se, S.; Lowe, D.G.; Little, J.J. (2005). "Vision-based global localization and mapping for mobile robots". IEEE Transactions on Robotics 21 (3): 364–375. doi:10.1109/TRO.2004.839228. Bibcode: 2005ITRob..21..364S. http://142.103.6.5/nest/lci/papers/docs2005/se05.pdf.
28. ↑ Serre, Thomas; Riesenhuber, Maximilian; Louie, Jennifer; Poggio, Tomaso (2002). "On the Role of Object-Specific Features for Real World Object Recognition in Biological Vision". Biologically Motivated Computer Vision. Lecture Notes in Computer Science. 2525. pp. 387–397. doi:10.1007/3-540-36181-2_39. ISBN 978-3-540-00174-4. https://apps.dtic.mil/sti/pdfs/ADA454940.pdf.
29. ↑ Permaloff, Anne; Grafton, Carl (1992). "Optical Character Recognition". PS: Political Science and Politics 25 (3): 523–531. doi:10.2307/419444. ISSN 1049-0965.
30. ↑ Christian Demant, Bernd Streicher-Abel, Peter Waszkewitz, "Industrial image processing: visual quality control in manufacturing" Outline of object recognition at Google Books
31. ↑ Vasconcelos, N. (2001). "Image indexing with mixture hierarchies". Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001. 1. doi:10.1109/CVPR.2001.990449. ISBN 0-7695-1272-0. http://www.svcl.ucsd.edu/publications/conference/2001/cvpr01/cvpr01.pdf.
32. ↑ Heikkilä, Janne; Silvén, Olli (2004). "A real-time system for monitoring of cyclists and pedestrians". Image and Vision Computing 22 (7): 563–570. doi:10.1016/j.imavis.2003.09.010.
33. ↑ Jung, Ho Gi; Kim, Dong Suk; Yoon, Pal Joo; Kim, Jaihie (2006). "Structure Analysis Based Parking Slot Marking Recognition for Semi-automatic Parking System". in Yeung, Dit-Yan; Kwok, James T.; Fred, Ana et al. (in en). Structural, Syntactic, and Statistical Pattern Recognition. Lecture Notes in Computer Science. 4109. Berlin, Heidelberg: Springer. pp. 384–393. doi:10.1007/11815921_42. ISBN 978-3-540-37241-7.
34. ↑ Nayar, S.K.; Murase, H.; Nene, S.A. (1994). "Learning, positioning, and tracking visual appearance". Proceedings of the 1994 IEEE International Conference on Robotics and Automation. pp. 3237–3244. doi:10.1109/ROBOT.1994.351072. ISBN 0-8186-5330-2. http://www1.cs.columbia.edu/CAVE/publications/pdfs/Nayar_ICRA94.pdf.
35. ↑ Liu, F.; Gleicher, M.; Jin, H.; Agarwala, A. (2009). "Content-preserving warps for 3D video stabilization". ACM Transactions on Graphics 28 (3): 1. doi:10.1145/1531326.1531350.
36. ↑ Whitepaper: Applications for Object Recognition on Touch Screens, eyefactive GmbH

## References

* Elgammal, Ahmed "CS 534: Computer Vision 3D Model-based recognition", Dept of Computer Science, Rutgers University;
* Hartley, Richard and Zisserman, Andrew "Multiple View Geometry in computer vision", Cambridge Press, 2000, ISBN 0-521-62304-9.
* Roth, Peter M. and Winter, Martin "Survey of Appearance-Based Methods for Object Recognition", Technical Report ICG-TR-01/08, Inst. for Computer Graphics and Vision, Graz University of Technology, Austria; January 15, 2008.
* Collins, Robert "Lecture 31: Object Recognition: SIFT Keys", CSE486, Penn State
* IPRG[Usurped!] Image Processing - Online Open Research Group
* Christian Szegedy , Alexander Toshev and Dumitru Erhan. Deep Neural Networks for Object Detection. Advances in Neural Information Processing Systems 26 , 2013. page 2553–2561.

## External links

* v
* t
* e

Wikipedia Outlines

General reference

* Culture and the arts
* Geography and places
* Health and fitness
* History and events
* Mathematics and logic
* Natural and physical sciences
* People and self
* Philosophy and thinking
* Religion and belief systems
* Society and social sciences
* Technology and applied sciences

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Outline of object recognition. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Outline_of_object_recognition&oldid=4348793"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template