One DAG to Rule Them All
In this paper, we present novel strategies for optimizing the performance of many binary image processing algorithms. These strategies are collected in an open-source framework, graphgen , that is able to automatically generate optimized C++ source code implementing the desired optimizations. Simply...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on pattern analysis and machine intelligence 2022-07, Vol.44 (7), p.3647-3658 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 3658 |
---|---|
container_issue | 7 |
container_start_page | 3647 |
container_title | IEEE transactions on pattern analysis and machine intelligence |
container_volume | 44 |
creator | Bolelli, Federico Allegretti, Stefano Grana, Costantino |
description | In this paper, we present novel strategies for optimizing the performance of many binary image processing algorithms. These strategies are collected in an open-source framework, graphgen , that is able to automatically generate optimized C++ source code implementing the desired optimizations. Simply starting from a set of rules, the algorithms introduced with the graphgen framework can generate decision trees with minimum average path-length, possibly considering image pattern frequencies, apply state prediction and code compression by the use of directed rooted acyclic graphs (DRAGs). Moreover, the proposed algorithmic solutions allow to combine different optimization techniques and significantly improve performance. Our proposal is showcased on three classical and widely employed algorithms (namely Connected Components Labeling, Thinning, and Contour Tracing). When compared to existing approaches -in 2D and 3D-, implementations using the generated optimal DRAGs perform significantly better than previous state-of-the-art algorithms, both on CPU and GPU. |
doi_str_mv | 10.1109/TPAMI.2021.3055337 |
format | Article |
fullrecord | <record><control><sourceid>proquest_pubme</sourceid><recordid>TN_cdi_pubmed_primary_33507865</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9339949</ieee_id><sourcerecordid>2483818632</sourcerecordid><originalsourceid>FETCH-LOGICAL-c395t-68ca458a6128352a7c78e6e65e4dbba39ead865c98662443fd4cbc73a5b97a473</originalsourceid><addsrcrecordid>eNpdkE1PwkAQhjdGI4jejSamiRcvxd2d_Tw2qEiCwRg8b7bbIUJaql168N9bBDl4msM87zuTh5ArRoeMUXs_f81eJkNOORsClRJAH5E-s2BTkGCPSZ8yxVNjuOmRsxhXlDIhKZySHoCk2ijZJ5ezNSYP2TjZ1MlbW2Iy_8AqycrynJwsfBnxYj8H5P3pcT56Tqez8WSUTdMAVm5SZYIX0njFuAHJvQ7aoEIlURR57sGiL7pDwRqluBCwKETIgwYvc6u90DAgd7vez6b-ajFuXLWMAcvSr7Fuo-PCgGFGAe_Q23_oqm6bdfed40pzQ7XsuAHhOyo0dYwNLtxns6x88-0YdVtv7teb23pze29d6GZf3eYVFofIn6gOuN4BS0Q8rC2AtcLCD---bRc</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2672807586</pqid></control><display><type>article</type><title>One DAG to Rule Them All</title><source>IEEE Electronic Library (IEL)</source><creator>Bolelli, Federico ; Allegretti, Stefano ; Grana, Costantino</creator><creatorcontrib>Bolelli, Federico ; Allegretti, Stefano ; Grana, Costantino</creatorcontrib><description>In this paper, we present novel strategies for optimizing the performance of many binary image processing algorithms. These strategies are collected in an open-source framework, graphgen , that is able to automatically generate optimized C++ source code implementing the desired optimizations. Simply starting from a set of rules, the algorithms introduced with the graphgen framework can generate decision trees with minimum average path-length, possibly considering image pattern frequencies, apply state prediction and code compression by the use of directed rooted acyclic graphs (DRAGs). Moreover, the proposed algorithmic solutions allow to combine different optimization techniques and significantly improve performance. Our proposal is showcased on three classical and widely employed algorithms (namely Connected Components Labeling, Thinning, and Contour Tracing). When compared to existing approaches -in 2D and 3D-, implementations using the generated optimal DRAGs perform significantly better than previous state-of-the-art algorithms, both on CPU and GPU.</description><identifier>ISSN: 0162-8828</identifier><identifier>EISSN: 1939-3539</identifier><identifier>EISSN: 2160-9292</identifier><identifier>DOI: 10.1109/TPAMI.2021.3055337</identifier><identifier>PMID: 33507865</identifier><identifier>CODEN: ITPIDJ</identifier><language>eng</language><publisher>United States: IEEE</publisher><subject><sc xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">graphgen ; Algorithms ; chain-code ; connected components labeling ; decision tables ; Decision trees ; directed rooted acyclic graphs ; Graphics processing units ; Image compression ; Image processing ; Labeling ; optimal decision trees ; Optimization ; Performance enhancement ; Prediction algorithms ; Source code ; Task analysis ; thinning ; Two dimensional displays</subject><ispartof>IEEE transactions on pattern analysis and machine intelligence, 2022-07, Vol.44 (7), p.3647-3658</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c395t-68ca458a6128352a7c78e6e65e4dbba39ead865c98662443fd4cbc73a5b97a473</citedby><cites>FETCH-LOGICAL-c395t-68ca458a6128352a7c78e6e65e4dbba39ead865c98662443fd4cbc73a5b97a473</cites><orcidid>0000-0002-3461-7565 ; 0000-0002-4792-2358 ; 0000-0002-5299-6351</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9339949$$EHTML$$P50$$Gieee$$Hfree_for_read</linktohtml><link.rule.ids>314,780,784,796,27923,27924,54757</link.rule.ids><backlink>$$Uhttps://www.ncbi.nlm.nih.gov/pubmed/33507865$$D View this record in MEDLINE/PubMed$$Hfree_for_read</backlink></links><search><creatorcontrib>Bolelli, Federico</creatorcontrib><creatorcontrib>Allegretti, Stefano</creatorcontrib><creatorcontrib>Grana, Costantino</creatorcontrib><title>One DAG to Rule Them All</title><title>IEEE transactions on pattern analysis and machine intelligence</title><addtitle>TPAMI</addtitle><addtitle>IEEE Trans Pattern Anal Mach Intell</addtitle><description>In this paper, we present novel strategies for optimizing the performance of many binary image processing algorithms. These strategies are collected in an open-source framework, graphgen , that is able to automatically generate optimized C++ source code implementing the desired optimizations. Simply starting from a set of rules, the algorithms introduced with the graphgen framework can generate decision trees with minimum average path-length, possibly considering image pattern frequencies, apply state prediction and code compression by the use of directed rooted acyclic graphs (DRAGs). Moreover, the proposed algorithmic solutions allow to combine different optimization techniques and significantly improve performance. Our proposal is showcased on three classical and widely employed algorithms (namely Connected Components Labeling, Thinning, and Contour Tracing). When compared to existing approaches -in 2D and 3D-, implementations using the generated optimal DRAGs perform significantly better than previous state-of-the-art algorithms, both on CPU and GPU.</description><subject><sc xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">graphgen</subject><subject>Algorithms</subject><subject>chain-code</subject><subject>connected components labeling</subject><subject>decision tables</subject><subject>Decision trees</subject><subject>directed rooted acyclic graphs</subject><subject>Graphics processing units</subject><subject>Image compression</subject><subject>Image processing</subject><subject>Labeling</subject><subject>optimal decision trees</subject><subject>Optimization</subject><subject>Performance enhancement</subject><subject>Prediction algorithms</subject><subject>Source code</subject><subject>Task analysis</subject><subject>thinning</subject><subject>Two dimensional displays</subject><issn>0162-8828</issn><issn>1939-3539</issn><issn>2160-9292</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>ESBDL</sourceid><sourceid>RIE</sourceid><recordid>eNpdkE1PwkAQhjdGI4jejSamiRcvxd2d_Tw2qEiCwRg8b7bbIUJaql168N9bBDl4msM87zuTh5ArRoeMUXs_f81eJkNOORsClRJAH5E-s2BTkGCPSZ8yxVNjuOmRsxhXlDIhKZySHoCk2ijZJ5ezNSYP2TjZ1MlbW2Iy_8AqycrynJwsfBnxYj8H5P3pcT56Tqez8WSUTdMAVm5SZYIX0njFuAHJvQ7aoEIlURR57sGiL7pDwRqluBCwKETIgwYvc6u90DAgd7vez6b-ajFuXLWMAcvSr7Fuo-PCgGFGAe_Q23_oqm6bdfed40pzQ7XsuAHhOyo0dYwNLtxns6x88-0YdVtv7teb23pze29d6GZf3eYVFofIn6gOuN4BS0Q8rC2AtcLCD---bRc</recordid><startdate>20220701</startdate><enddate>20220701</enddate><creator>Bolelli, Federico</creator><creator>Allegretti, Stefano</creator><creator>Grana, Costantino</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>ESBDL</scope><scope>RIA</scope><scope>RIE</scope><scope>NPM</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>7X8</scope><orcidid>https://orcid.org/0000-0002-3461-7565</orcidid><orcidid>https://orcid.org/0000-0002-4792-2358</orcidid><orcidid>https://orcid.org/0000-0002-5299-6351</orcidid></search><sort><creationdate>20220701</creationdate><title>One DAG to Rule Them All</title><author>Bolelli, Federico ; Allegretti, Stefano ; Grana, Costantino</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c395t-68ca458a6128352a7c78e6e65e4dbba39ead865c98662443fd4cbc73a5b97a473</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic><sc xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">graphgen</topic><topic>Algorithms</topic><topic>chain-code</topic><topic>connected components labeling</topic><topic>decision tables</topic><topic>Decision trees</topic><topic>directed rooted acyclic graphs</topic><topic>Graphics processing units</topic><topic>Image compression</topic><topic>Image processing</topic><topic>Labeling</topic><topic>optimal decision trees</topic><topic>Optimization</topic><topic>Performance enhancement</topic><topic>Prediction algorithms</topic><topic>Source code</topic><topic>Task analysis</topic><topic>thinning</topic><topic>Two dimensional displays</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Bolelli, Federico</creatorcontrib><creatorcontrib>Allegretti, Stefano</creatorcontrib><creatorcontrib>Grana, Costantino</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE Open Access Journals</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>PubMed</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>MEDLINE - Academic</collection><jtitle>IEEE transactions on pattern analysis and machine intelligence</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bolelli, Federico</au><au>Allegretti, Stefano</au><au>Grana, Costantino</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>One DAG to Rule Them All</atitle><jtitle>IEEE transactions on pattern analysis and machine intelligence</jtitle><stitle>TPAMI</stitle><addtitle>IEEE Trans Pattern Anal Mach Intell</addtitle><date>2022-07-01</date><risdate>2022</risdate><volume>44</volume><issue>7</issue><spage>3647</spage><epage>3658</epage><pages>3647-3658</pages><issn>0162-8828</issn><eissn>1939-3539</eissn><eissn>2160-9292</eissn><coden>ITPIDJ</coden><abstract>In this paper, we present novel strategies for optimizing the performance of many binary image processing algorithms. These strategies are collected in an open-source framework, graphgen , that is able to automatically generate optimized C++ source code implementing the desired optimizations. Simply starting from a set of rules, the algorithms introduced with the graphgen framework can generate decision trees with minimum average path-length, possibly considering image pattern frequencies, apply state prediction and code compression by the use of directed rooted acyclic graphs (DRAGs). Moreover, the proposed algorithmic solutions allow to combine different optimization techniques and significantly improve performance. Our proposal is showcased on three classical and widely employed algorithms (namely Connected Components Labeling, Thinning, and Contour Tracing). When compared to existing approaches -in 2D and 3D-, implementations using the generated optimal DRAGs perform significantly better than previous state-of-the-art algorithms, both on CPU and GPU.</abstract><cop>United States</cop><pub>IEEE</pub><pmid>33507865</pmid><doi>10.1109/TPAMI.2021.3055337</doi><tpages>12</tpages><orcidid>https://orcid.org/0000-0002-3461-7565</orcidid><orcidid>https://orcid.org/0000-0002-4792-2358</orcidid><orcidid>https://orcid.org/0000-0002-5299-6351</orcidid><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0162-8828 |
ispartof | IEEE transactions on pattern analysis and machine intelligence, 2022-07, Vol.44 (7), p.3647-3658 |
issn | 0162-8828 1939-3539 2160-9292 |
language | eng |
recordid | cdi_pubmed_primary_33507865 |
source | IEEE Electronic Library (IEL) |
subjects | <sc xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">graphgen Algorithms chain-code connected components labeling decision tables Decision trees directed rooted acyclic graphs Graphics processing units Image compression Image processing Labeling optimal decision trees Optimization Performance enhancement Prediction algorithms Source code Task analysis thinning Two dimensional displays |
title | One DAG to Rule Them All |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-12T11%3A09%3A31IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pubme&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=One%20DAG%20to%20Rule%20Them%20All&rft.jtitle=IEEE%20transactions%20on%20pattern%20analysis%20and%20machine%20intelligence&rft.au=Bolelli,%20Federico&rft.date=2022-07-01&rft.volume=44&rft.issue=7&rft.spage=3647&rft.epage=3658&rft.pages=3647-3658&rft.issn=0162-8828&rft.eissn=1939-3539&rft.coden=ITPIDJ&rft_id=info:doi/10.1109/TPAMI.2021.3055337&rft_dat=%3Cproquest_pubme%3E2483818632%3C/proquest_pubme%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2672807586&rft_id=info:pmid/33507865&rft_ieee_id=9339949&rfr_iscdi=true |