[{"data":1,"prerenderedAt":493},["ShallowReactive",2],{"doc-/logbook-experiments/programming/yolo":3},{"id":4,"title":5,"author":6,"body":7,"date":477,"description":478,"extension":479,"image":480,"location":481,"meta":482,"navigation":483,"path":484,"seo":485,"stem":486,"tags":487,"__hash__":492},"content/logbook-experiments/programming/yolo.md","[LOGBOOK] Object Detection Implementation Using YOLOv4-Tiny for Autonomous Surface Vehicles","Firizqi Aditya",{"type":8,"value":9,"toc":459},"minimark",[10,15,35,46,49,54,64,67,80,87,89,93,96,126,131,137,140,151,155,166,177,180,182,186,193,207,218,220,224,227,241,244,246,250,253,257,378,380,384,387,390,401,407,409,413,416,424,427,429,433,440,443,454,457],[11,12,14],"h1",{"id":13},"object-detection-using-yolov4-tiny","Object Detection Using YOLOv4-Tiny",[16,17,18,19,23,24,23,27,30,31,34],"p",{},"Object detection is a core perception capability required for autonomous surface vehicles (ASVs) to safely navigate and execute competition tasks such as ",[20,21,22],"strong",{},"Evacuation Route",", ",[20,25,26],{},"Debris Clearance",[20,28,29],{},"Emergency Response Sprint",", and ",[20,32,33],{},"Navigate the Marina",".",[16,36,37,38,41,42,45],{},"This logbook documents the implementation and evaluation of ",[20,39,40],{},"YOLOv4-Tiny"," as the primary object detection model deployed on the ",[20,43,44],{},"NVIDIA Jetson Nano"," for real-time autonomous operation.",[47,48],"hr",{},[50,51,53],"h2",{"id":52},"_1-model-selection-rationale","1. Model Selection Rationale",[16,55,56,57,60,61,63],{},"During early development, both ",[20,58,59],{},"YOLOv4"," and ",[20,62,40],{}," were evaluated to determine the most suitable architecture for real-time inference on embedded hardware.",[16,65,66],{},"Although YOLOv4 provides higher detection accuracy (mAP), experimental evaluation shows that it suffers from:",[68,69,70,74,77],"ul",{},[71,72,73],"li",{},"Lower frame rates in complex scenes",[71,75,76],{},"Higher computational load",[71,78,79],{},"Less stable real-time performance on embedded platforms",[16,81,82,83,86],{},"To ensure reliable perception during autonomous missions, ",[20,84,85],{},"YOLOv4-Tiny was selected"," due to its significantly higher and more stable frame rate while maintaining acceptable detection accuracy.",[47,88],{},[50,90,92],{"id":91},"_2-dataset-preparation-and-training-configuration","2. Dataset Preparation and Training Configuration",[16,94,95],{},"The object detection model was trained using a custom dataset with the following characteristics:",[68,97,98,104,110],{},[71,99,100,103],{},[20,101,102],{},"Total images:"," 500 labeled images",[71,105,106,109],{},[20,107,108],{},"Number of classes:"," 7",[71,111,112,115],{},[20,113,114],{},"Dataset split:",[68,116,117,120,123],{},[71,118,119],{},"70% training",[71,121,122],{},"20% validation",[71,124,125],{},"10% testing",[127,128,130],"h3",{"id":129},"_21-training-resolution-selection","2.1 Training Resolution Selection",[16,132,133,134,34],{},"Based on experimental evaluation, the ",[20,135,136],{},"training input resolution was fixed at 640 × 352 pixels",[16,138,139],{},"This resolution was selected because:",[68,141,142,145,148],{},[71,143,144],{},"It provides a strong balance between detection accuracy and inference speed",[71,146,147],{},"It matches the aspect ratio of the onboard camera stream",[71,149,150],{},"It minimizes unnecessary image scaling during inference",[127,152,154],{"id":153},"_22-input-stream-resolution","2.2 Input Stream Resolution",[16,156,157,158,161,162,165],{},"The ",[20,159,160],{},"live camera input stream"," used during inference testing was also configured to ",[20,163,164],{},"640 × 352",", ensuring consistency between:",[68,167,168,171,174],{},[71,169,170],{},"Training data resolution",[71,172,173],{},"Network input size",[71,175,176],{},"Real-time deployment conditions",[16,178,179],{},"This configuration reduces distortion and improves detection stability during continuous operation.",[47,181],{},[50,183,185],{"id":184},"_3-training-and-optimization-process","3. Training and Optimization Process",[16,187,188,189,192],{},"All models were trained using the ",[20,190,191],{},"Darknet framework"," with consistent hyperparameter configurations:",[68,194,195,201,204],{},[71,196,197,198],{},"Maximum iterations: ",[20,199,200],{},"6000 (max_batches)",[71,202,203],{},"Identical learning rate scheduling",[71,205,206],{},"Uniform data augmentation strategy",[16,208,209,210,213,214,217],{},"The trained YOLOv4-Tiny model was converted into ",[20,211,212],{},"TensorRT format"," and deployed on the NVIDIA Jetson Nano using ",[20,215,216],{},"FP16 precision",", enabling accelerated inference and reduced computational load.",[47,219],{},[50,221,223],{"id":222},"_4-performance-evaluation-methodology","4. Performance Evaluation Methodology",[16,225,226],{},"Performance evaluation focused on two primary metrics:",[68,228,229,235],{},[71,230,231,234],{},[20,232,233],{},"Mean Average Precision (mAP@0.5)"," for detection accuracy",[71,236,237,240],{},[20,238,239],{},"Frames Per Second (FPS)"," for real-time performance",[16,242,243],{},"Inference tests were conducted by running direct detection on a live camera stream using the Jetson Nano platform under realistic operational conditions.",[47,245],{},[50,247,249],{"id":248},"_5-experimental-results-summary","5. Experimental Results Summary",[16,251,252],{},"The table below summarizes the observed performance of YOLOv4 and YOLOv4-Tiny across multiple input resolutions.",[127,254,256],{"id":255},"table-1-object-detection-performance-on-jetson-nano-tensorrt-fp16","Table 1. Object Detection Performance on Jetson Nano (TensorRT FP16)",[258,259,260,279],"table",{},[261,262,263],"thead",{},[264,265,266,270,273,276],"tr",{},[267,268,269],"th",{},"Model",[267,271,272],{},"Input Resolution",[267,274,275],{},"mAP@0.5",[267,277,278],{},"FPS",[280,281,282,296,309,321,333,345,365],"tbody",{},[264,283,284,287,290,293],{},[285,286,59],"td",{},[285,288,289],{},"416 × 416",[285,291,292],{},"79.02%",[285,294,295],{},"12 – 13",[264,297,298,300,303,306],{},[285,299,59],{},[285,301,302],{},"608 × 608",[285,304,305],{},"84.41%",[285,307,308],{},"5 – 6",[264,310,311,313,315,318],{},[285,312,59],{},[285,314,164],{},[285,316,317],{},"84.88%",[285,319,320],{},"9 – 11",[264,322,323,325,327,330],{},[285,324,40],{},[285,326,289],{},[285,328,329],{},"72.78%",[285,331,332],{},"40 – 42",[264,334,335,337,339,342],{},[285,336,40],{},[285,338,302],{},[285,340,341],{},"79.55%",[285,343,344],{},"19 – 20",[264,346,347,351,355,360],{},[285,348,349],{},[20,350,40],{},[285,352,353],{},[20,354,164],{},[285,356,357],{},[20,358,359],{},"81.69%",[285,361,362],{},[20,363,364],{},"29 – 32",[264,366,367,369,372,375],{},[285,368,40],{},[285,370,371],{},"960 × 544",[285,373,374],{},"83.17%",[285,376,377],{},"12 – 14",[47,379],{},[50,381,383],{"id":382},"_6-analysis-and-design-decision","6. Analysis and Design Decision",[16,385,386],{},"Although YOLOv4 achieves higher absolute mAP values, its frame rate decreases significantly as input resolution increases, making it less suitable for real-time autonomous operation.",[16,388,389],{},"YOLOv4-Tiny demonstrates:",[68,391,392,395,398],{},[71,393,394],{},"Faster training time",[71,396,397],{},"Significantly higher and more stable FPS",[71,399,400],{},"Competitive mAP that can be improved through hyperparameter tuning and dataset refinement",[16,402,157,403,406],{},[20,404,405],{},"640 × 352 resolution"," provides an optimal operating point where detection accuracy remains high while maintaining real-time performance suitable for complex autonomous tasks.",[47,408],{},[50,410,412],{"id":411},"_7-system-integration","7. System Integration",[16,414,415],{},"Detection outputs from YOLOv4-Tiny are integrated into the ROS-based perception pipeline and combined with:",[68,417,418,421],{},[71,419,420],{},"2D LiDAR data",[71,422,423],{},"GPS and IMU information",[16,425,426],{},"This sensor fusion output supports obstacle avoidance, waypoint adjustment, and autonomous decision-making.",[47,428],{},[50,430,432],{"id":431},"conclusion","Conclusion",[16,434,435,436,439],{},"The implementation of ",[20,437,438],{},"YOLOv4-Tiny at 640 × 352 resolution"," successfully meets the real-time perception requirements of the autonomous surface vehicle.",[16,441,442],{},"By aligning dataset resolution, training configuration, and live inference input size, the system achieves:",[68,444,445,448,451],{},[71,446,447],{},"Stable real-time detection",[71,449,450],{},"Efficient resource utilization",[71,452,453],{},"Reliable performance in complex maritime environments",[16,455,456],{},"This approach represents a balanced and practical object detection solution for embedded autonomous maritime systems.",[47,458],{},{"title":460,"searchDepth":461,"depth":461,"links":462},"",2,[463,464,469,470,471,474,475,476],{"id":52,"depth":461,"text":53},{"id":91,"depth":461,"text":92,"children":465},[466,468],{"id":129,"depth":467,"text":130},3,{"id":153,"depth":467,"text":154},{"id":184,"depth":461,"text":185},{"id":222,"depth":461,"text":223},{"id":248,"depth":461,"text":249,"children":472},[473],{"id":255,"depth":467,"text":256},{"id":382,"depth":461,"text":383},{"id":411,"depth":461,"text":412},{"id":431,"depth":461,"text":432},"13 December 2025","Documenting the implementation, training, optimization, and performance evaluation of YOLOv4-Tiny for real-time object detection on NVIDIA Jetson Nano during Roboboat 2026 development.","md","/images/improvements/vision.webp",null,{},true,"/logbook-experiments/programming/yolo",{"title":5,"description":478},"logbook-experiments/programming/yolo",[488,40,489,490,491],"Object Detection","Computer Vision","Jetson Nano","Autonomous Surface Vehicle","hoVor5ioczOuemWYkFnqDfvXScsx1Spc4G_Gz6pMsdo",1768857524015]