Papers › ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation

ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation

7 Jun 2016arXiv:1606.02147archive 2025-07-28

Adam Paszke, Abhishek Chaurasia, Sangpil Kim, Eugenio Culurciello

The ability to perform pixel-wise semantic segmentation in real-time is of paramount importance in mobile applications. Recent deep neural networks aimed at this task have the disadvantage of requiring a large number of floating point operations and have long run-times that hinder their usability. In this paper, we propose a novel deep neural network architecture named ENet (efficient neural network), created specifically for tasks requiring low latency operation. ENet is up to 18× faster, requires 75× less FLOPs, has 79× less parameters, and provides similar or better accuracy to existing models. We have tested it on CamVid, Cityscapes and SUN datasets and report on comparisons with existing state-of-the-art methods, and the trade-offs between accuracy and processing time of a network. We present performance measurements of the proposed architecture on embedded systems and suggest possible software improvements that could make ENet even faster.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1606.02147")

Code

Syntology Ran 5 of 30 code samples harvested from 8 repositories linked to this paper; 25 have no recorded run. Of those that ran: 4 ran · our draft was wrong; 1 ran with no contract checked.

By repository: community (archive-listed): 30 samples from 8 repositories, 5 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

49 repositories listed; official and paper-mentioned ones first.

Kaustav97/Colab mentioned on GitHubtf report
PRBonn/bonnet mentioned on GitHubtfGPL-3.0 report
Shun14/enet mentioned on GitHubpaddleApache-2.0 report
TimoSaemann/ENet mentioned on GitHubcaffe2 report
XuyangSHEN/lane_detection_enet mentioned on GitHubtf report
adrshm91/segmentationEnet mentioned on GitHubtfMIT report
alalagong/LEDNet mentioned on GitHubpytorch report
bhattbhavesh91/lane-detection-enet mentioned on GitHubGPL-3.0 report
davidtvs/PyTorch-ENet mentioned on GitHubpytorchMIT report
e-lab/ENet-training mentioned on GitHub report
fregu856/deeplabv3 mentioned on GitHubpytorch report
fregu856/segmentation mentioned on GitHubtfMIT report
gevero/enet_tensorflow mentioned on GitHubtf report
gjy3035/enet.pytorch mentioned on GitHubpytorch report
gtakos-ai/ENet mentioned on GitHub report
hustvl/YOLOP mentioned on GitHubpytorchMIT report
hustvl/yolop mentioned on GitHubpytorchMIT report
iArunava/ENet-Real-Time-Semantic-Segmentation mentioned on GitHubpytorchBSD-3-Clause report
jiayuanwang-jw/yolov8-multi-task mentioned on GitHubpytorchAGPL-3.0 report
klintan/lanenet-pytorch mentioned on GitHubpytorchMIT report
klintan/pytorch-lanenet mentioned on GitHubpytorchMIT report
kwotsin/TensorFlow-ENet mentioned on GitHubtfMIT report
m273033/masters_thesis mentioned on GitHubtf report
osmr/imgclsmob mentioned on GitHubmxnetMIT report
sacmehta/ESPNet mentioned on GitHubpytorchMIT report
shanglianlm0525/CvPytorch mentioned on GitHubpytorch report
soumik12345/Enet mentioned on GitHubpytorch report
wutianyiRosun/CGNet mentioned on GitHubpytorch report
xiaoyufenfei/LEDNet mentioned on GitHubpytorchMIT report
y-ouali/pytorch_segmentation mentioned on GitHubpytorch report
zm0612/ENet-version-CPP mentioned on GitHub report
alililia/ascend_E-NET mindsporeApache-2.0 report
kingcong/gpu_E-NET mindsporenot reachable when probed 2026-09-18 — repositories for recent papers often appear after camera-ready report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

30 samples harvested; 5 ran; 0 honoured the contract we drafted; 25 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

4ran · our draft was wrong
1ran
25unverified

Licence: 0 of the 30 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 8 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

channel_shuffle xiaoyufenfei/LEDNet/imagenet-pretrain/lednet_imagenet.py community (archive-listed) ran · our draft was wrong fingerprinted MIT (permissive) · b9da06d4f527dd6c · report
colormap xiaoyufenfei/LEDNet/utils/transform.py community (archive-listed) ran MIT (permissive) · eb024d61772489c9 · report
get_test_config Shun14/enet/val.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 20eb3e6b0aba73e4 · report
partition_list Shun14/enet/paddleseg/core/predict.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · 2f75a098ce9f7b0e · report
split xiaoyufenfei/LEDNet/imagenet-pretrain/lednet_imagenet.py community (archive-listed) ran · our draft was wrong fingerprinted MIT (permissive) · 8f2448483b5d9342 · report
PReLU adrshm91/segmentationEnet/utilities.py community (archive-listed) unverified MIT (permissive) · 5c761d2d09e7ba63 · report
batch_transform davidtvs/PyTorch-ENet/utils.py community (archive-listed) unverified MIT (permissive) · 599debf6e1c7afb4 · report
colormap_cityscapes xiaoyufenfei/LEDNet/utils/transform.py community (archive-listed) unverified MIT (permissive) · 99041b5a06df43ad · report
convert_to_one_hot alililia/ascend_E-NET/src/iou_eval.py community (archive-listed) unverified Apache-2.0 (permissive) · 11aacaf9af63492c · report
create_class_mask iArunava/ENet-Real-Time-Semantic-Segmentation/utils.py community (archive-listed) unverified BSD-3-Clause (permissive) · 6ed362b4f0b5f5f1 · report
decode_segmap iArunava/ENet-Real-Time-Semantic-Segmentation/utils.py community (archive-listed) unverified BSD-3-Clause (permissive) · 9c590e1757837710 · report
flip_combination Shun14/enet/paddleseg/core/infer.py community (archive-listed) unverified Apache-2.0 (permissive) · 95bccf5957a196e4 · report
getBool alililia/ascend_E-NET/src/util.py community (archive-listed) unverified Apache-2.0 (permissive) · 0be453fd7e80102c · report
getColorEntry xiaoyufenfei/LEDNet/utils/iouEval.py community (archive-listed) unverified MIT (permissive) · d40f8d453fe5f80c · report
get_class_weights iArunava/ENet-Real-Time-Semantic-Segmentation/utils.py community (archive-listed) unverified BSD-3-Clause (permissive) · f7071fb80d60a088 · report
get_image_list Shun14/enet/predict.py community (archive-listed) unverified Apache-2.0 (permissive) · c8f710d7401e0006 · report
get_reverse_list Shun14/enet/paddleseg/core/infer.py community (archive-listed) unverified Apache-2.0 (permissive) · 026fee631ce4a66c · report
get_test_config Shun14/enet/predict.py community (archive-listed) unverified Apache-2.0 (permissive) · 32d2a7cc8725e25e · report
is_image alililia/ascend_E-NET/src/dataset.py community (archive-listed) unverified Apache-2.0 (permissive) · 48024d1a7659869b · report
is_label alililia/ascend_E-NET/src/eval310.py community (archive-listed) unverified Apache-2.0 (permissive) · 8021631fe7e194d3 · report
load_checkpoint davidtvs/PyTorch-ENet/utils.py community (archive-listed) unverified MIT (permissive) · 59005d1e1e0f3e6f · report
load_image alililia/ascend_E-NET/src/eval310.py community (archive-listed) unverified Apache-2.0 (permissive) · 1c803ce4388e0644 · report
load_image alililia/ascend_E-NET/src/dataset.py community (archive-listed) unverified Apache-2.0 (permissive) · 127533b21bcc84b5 · report
max_unpool adrshm91/segmentationEnet/utilities.py community (archive-listed) unverified MIT (permissive) · c9f38b5c4a775ebd · report
max_unpool fregu856/segmentation/utilities.py community (archive-listed) unverified MIT (permissive) · 72d70919eb58cc17 · report
preprocess kwotsin/TensorFlow-ENet/preprocessing.py community (archive-listed) unverified MIT (permissive) · c3e13fd4733c18c4 · report
resize alililia/ascend_E-NET/src/dataset.py community (archive-listed) unverified Apache-2.0 (permissive) · 5d56ce0fb9020da6 · report
spatial_dropout kwotsin/TensorFlow-ENet/enet.py community (archive-listed) unverified MIT (permissive) · cbb808498994f295 · report
spatial_dropout adrshm91/segmentationEnet/utilities.py community (archive-listed) unverified MIT (permissive) · 10706543dfcc19b0 · report
unpool kwotsin/TensorFlow-ENet/enet.py community (archive-listed) unverified MIT (permissive) · a53416ca000946a2 · report

Tasks

Efficient Neural NetworkReal-Time Semantic SegmentationSemantic Segmentation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Real-Time Semantic Segmentation Cityscapes test ENet Frame (fps) 76.9 #39 of 39 Archive leaderboard report
Real-Time Semantic Segmentation Cityscapes test ENet Time (ms) 13 #39 of 39 Archive leaderboard report
Real-Time Semantic Segmentation Cityscapes test ENet mIoU 58.3% #39 of 39 Archive leaderboard report
Semantic Segmentation Cityscapes test ENet Mean IoU (class) 58.3% #101 of 105 Archive leaderboard report
Semantic Segmentation ScanNetV2 ENet Mean IoU 37.6% #10 of 12 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: ENet, ENet Bottleneck, ENet Dilated Bottleneck, ENet Initial Block

1x1 ConvolutionAdamBatch NormalizationConvolutionDilated ConvolutionENetENet BottleneckENet Dilated BottleneckENet Initial BlockMax PoolingPReLUSpatialDropoutWeight Decay

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections