Learn how receptive fields help [CNNs](https://www.ultralytics.com/glossary/convolutional-neural-network-cnn) see context. Explore why [YOLO26](https://docs.ultralytics.com/models/yolo26/) optimizes this for superior object detection.
In the domain of computer vision (CV) and deep learning, the receptive field refers to the specific region of an input image that a particular neuron in a neural network (NN) "sees" or analyzes. Conceptually, it functions similarly to the field of view of a human eye or a camera lens. It determines how much spatial context a model can perceive at any given layer. As data progresses through a Convolutional Neural Network (CNN), the receptive field typically expands, allowing the system to transition from identifying tiny, local details—like edges or corners—to understanding complex, global structures like entire objects or scenes.
受容野の大きさと深さはネットワークのアーキテクチャによって決定される。 初期層では、ニューロンは通常小さな受容野を持ち、微細なテクスチャを捉えるためにピクセルの小さなクラスターに焦点を当てる。ネットワークが深くなるにつれ、プーリング層 やストライド畳み込みなどの操作によって特徴マップが効果的にダウンサンプリングされる。このプロセスにより、後続のニューロンは元の入力のより広範な領域からの情報を統合できるようになる。
Ultralytics 現代のアーキテクチャは、これらの受容野を緻密にバランスさせるよう設計されている。受容野が狭すぎると、モデルは物体の形状全体を認識できず、大きな物体を認識できない可能性がある。 逆に、解像度を維持せずに受容野が過度に広すぎると、モデルは小さな物体を見逃す可能性がある。この問題を解決するため、エンジニアはしばしば拡張畳み込み(アトラス畳み込みとも呼ばれる)を用いて、空間解像度を低下させることなく受容野を拡張する。この技術は、セマンティックセグメンテーションのような高精度タスクに不可欠である。
受容野の最適化は、様々なAIソリューションの成功にとって極めて重要である。
ネットワーク設計を完全に理解するには、受容野を類似の用語と区別することが有用である:
State-of-the-art models like the newer YOLO26 utilize Feature Pyramid Networks (FPN) to maintain effective receptive fields for objects of all sizes. The following example shows how to load a model and perform object detection, leveraging these internal architectural optimizations automatically. Users looking to train their own models with optimized architectures can utilize the Ultralytics Platform for seamless dataset management and cloud training.
from ultralytics import YOLO
# Load the latest YOLO26 model with optimized multi-scale receptive fields
model = YOLO("yolo26n.pt")
# Run inference; the model aggregates features from various receptive field sizes
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results, detecting both large (bus) and small (person) objects
results[0].show()