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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on pattern analysis and machine intelligence 2022-07, Vol.44 (7), p.3647-3658
Hauptverfasser: Bolelli, Federico, Allegretti, Stefano, Grana, Costantino
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>&lt;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"&gt;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>&lt;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"&gt;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>&lt;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"&gt;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 &amp; 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