कोर्स
एफ़ाइन ट्रांसफ़ॉर्मेशन वह प्रक्रिया है जो किसी रेखीय ट्रांसफ़ॉर्मेशन और एक शिफ्ट (जिसे ट्रांसलेशन कहा जाता है) लागू कर, अंतरिक्ष में बिंदुओं को नए बिंदुओं पर ले जाती है। आप घुमा सकते हैं, स्केल कर सकते हैं, शियर, रिफ़्लेक्ट कर सकते हैं, और फिर सब कुछ सरका सकते हैं—और सीधी रेखाएँ सीधी ही रहती हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन सर्वत्र मिलते हैं क्योंकि वे ज्यामितीय बदलावों की एक विस्तृत श्रेणी को समेटते हैं जो वस्तु की ज्यामितीय रचना को बनाए रखते हुए भी गणना में सस्ते होते हैं।

एफ़ाइन ट्रांसफ़ॉर्मेशन के विविध अनुप्रयोग। चित्र स्रोत: Napkin AI
यह विचार तब उभरा जब Leonhard Euler और August Ferdinand Möbius जैसे गणितज्ञ यह समझने की कोशिश कर रहे थे कि किन गुणों में दूसरे बदलावों के बावजूद कोई परिवर्तन नहीं होता।
आज, यह डिजिटल दुनिया का एक प्रमुख हिस्सा है—वेबपेज के CSS से लेकर जटिल चिकित्सा इमेजिंग तक हर जगह।
एफ़ाइन ट्रांसफ़ॉर्मेशन क्या हैं?
एफ़ाइन ट्रांसफ़ॉर्मेशन “शुद्ध रैखिक बीजगणित” और “वास्तविक-जगत की ज्यामिति” के बीच का पुल हैं। वे गणित को सुव्यवस्थित रखते हैं और साथ ही ट्रांसलेशन की अनुमति देते हैं, जो केवल रैखिक मैप नहीं कर सकते।
एफ़ाइन स्पेस और ट्रांसफ़ॉर्मेशन को समझना
एक वेक्टर स्पेस में एक विशेष बिंदु होता है जिसे उद्गम (origin) कहते हैं (भले ही आप उसे न बनाएँ, अवधारणात्मक रूप से वह मौजूद होता है)। एक वेक्टर स्पेस में, वेक्टर जोड़े और स्केल किए जा सकते हैं, और एक विशिष्ट “शून्य वेक्टर” होता है।
एक एफ़ाइन स्पेस एक वेक्टर स्पेस जैसा दिखता है, पर चुने हुए उद्गम के बिना। आप अभी भी इन पर बात कर सकते हैं:
- बिंदु (स्थान)
- विस्थापन वेक्टर बिंदुओं के बीच (जैसे, “P से Q तक जाएँ”)
- किसी बिंदु में एक वेक्टर जोड़ना (बिंदु को उस विस्थापन से ले जाना)
पर आप दो बिंदुओं को अर्थपूर्ण ढंग से जोड़ नहीं सकते, क्योंकि बिंदुओं का योग चुनें हुए उद्गम पर निर्भर करता है।
औपचारिक रूप से, वेक्टर स्पेस V पर एक एफ़ाइन स्पेस A बिंदुओं का ऐसा समुच्चय है जिस पर V की क्रिया मुक्त और संक्रमणशील (transitive) हो। व्यवहार में: बिंदुओं के अंतर V में होते हैं, पर स्वयं बिंदु नहीं।
एक एफ़ाइन ट्रांसफ़ॉर्मेशन एफ़ाइन स्पेसों के बीच ऐसा मैप है जो एफ़ाइन कॉम्बिनेशनों को संरक्षित रखता है (आगे इस पर और), और ज्यामितीय रूप से, सीधी रेखाओं और समानांतरता को संरक्षित रखता है।
एफ़ाइन ट्रांसफ़ॉर्मेशन का सूत्र: वेक्टर स्पेस के संदर्भ में परिभाषा
निर्देशांकों में, एफ़ाइन ट्रांसफ़ॉर्मेशन का रूप होता है:

मैट्रिक्स रूप में एफ़ाइन ट्रांसफ़ॉर्मेशन।
जहाँ:
- x ∈ Rn आपका इनपुट बिंदु है (कॉलम वेक्टर के रूप में)
- A ∈ Rn×n वह मैट्रिक्स है जो रैखिक भाग (रोटेशन, स्केलिंग, शियर, रिफ़्लेक्शन, संयोजन) का प्रतिनिधित्व करता है
- b ∈ Rn वह वेक्टर है जो ट्रांसलेशन को दर्शाता है
“रैखिक + नियतांक” की यही संरचना इंजीनियरिंग और कंप्यूटिंग में एफ़ाइन मैप्स को लोकप्रिय बनाती है: वे अभिव्यंजक हैं, फिर भी लागू करने में तेज़ और स्थिर।
एफ़ाइन ट्रांसफ़ॉर्मेशन के प्रमुख गुण
एफ़ाइन ट्रांसफ़ॉर्मेशन कई “संरचनात्मक” ज्यामितीय संबंधों को संरक्षित रखते हैं, जबकि आकारों को खिंचने या तिरछा होने देते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन में कौन से गुण संरक्षित रहते हैं?

एफ़ाइन ट्रांसफ़ॉर्मेशन में संरक्षित गुण। चित्र स्रोत: Napkin AI
संरक्षित:
- सह-रेखीयता (Collinearity): यदि बिंदु पहले एक ही रेखा पर थे, तो बाद में भी किसी रेखा पर ही रहेंगे।
- समानांतरता (Parallelism): समानांतर रेखाएँ समानांतर ही रहती हैं (ग्राफ़िक्स और मैपिंग में यह बहुत महत्त्वपूर्ण है)।
- उत्तलता (Convexity): एक उत्तल आकार उत्तल ही रहता है।
- एक रेखा के entlang अनुपात: यदि कोई बिंदु किसी खंड को किसी अनुपात में विभाजित करता है, तो वह अनुपात संरक्षित रहता है।
इसे व्यक्त करने का एक सुघड़ तरीका है एफ़ाइन कॉम्बिनेशन के माध्यम से:

एफ़ाइन मैप्स इन संयोजनों को संरक्षित रखते हैं।
आम तौर पर संरक्षित नहीं रहते:
- दूरी
- कोण
- क्षेत्रफल/आयतन (जब तक विशेष शर्तें न हों)
अंततः, एफ़ाइन ट्रांसफ़ॉर्मेशन रचना (composition) के तहत बंद होते हैं: एक एफ़ाइन ट्रांसफ़ॉर्मेशन के बाद दूसरा करने पर परिणाम भी एफ़ाइन ही रहता है।
एफ़ाइन ट्रांसफ़ॉर्मेशन का समूह ढांचा
एफ़ाइन ट्रांसफ़ॉर्मेशन रचना के तहत एक समूह बनाते हैं (इसे प्रायः एफ़ाइन समूह कहा जाता है, Aff(n) के रूप में लिखा जाता है)।
रचना सुचारु रूप से काम करती है यदि

और

तब

यह अब भी एफ़ाइन है।
इनवर्टिबिलिटी पर नोट: Ax+b इनवर्टिबल होता है यदि A इनवर्टिबल हो (det(A)≠0)। तब:

इससे एक शक्तिशाली बीजगणित मिलता है: सरल ट्रांसफ़ॉर्मेशनों को जोड़कर जटिल बनाएँ, और ज़रूरत पड़े तो उन्हें पलट दें।
एफ़ाइन ट्रांसफ़ॉर्मेशन मैट्रिक्स
एफ़ाइन ट्रांसफ़ॉर्मेशन को कुशलता से गणना करने के लिए हम मैट्रिक्स का उपयोग करते हैं—विशेषकर होमोजीनियस निर्देशांक, जो ट्रांसलेशन को मैट्रिक्स-संगत ढंग से संभव बनाते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन मैट्रिक्स का सामान्य रूप
n विमाओं में, ट्रांसफ़ॉर्मेशन इस प्रकार है:

जहाँ
-
Aआकार में परिवर्तन (रैखिक अवयव) को नियंत्रित करता है। -
bविस्थापन (ट्रांसलेशन) को नियंत्रित करता है
इनवर्टिबिलिटी के लिए अपेक्षा है कि मैट्रिक्स (A) इनवर्टिबल हो। सरल शब्दों में, यदि (A) सभी बिंदुओं को किसी रेखा पर समेट देता है (रैंक घट जाती है), तो उसे अद्वितीय रूप से पलटा नहीं जा सकता।
होमोजीनियस निर्देशांक और ऑग्मेंटेड मैट्रिक्स प्रतिनिधित्व
केवल (x) पर क्रियाशील (n x n) मैट्रिक्स द्वारा ट्रांसलेशन व्यक्त नहीं किया जा सकता। होमोजीनियस निर्देशांक एक अतिरिक्त निर्देशांक जोड़कर इस समस्या का समाधान करते हैं।
2D बिंदु ((x, y)) को ((x, y, 1)) के रूप में निरूपित करें।
तब 2D एफ़ाइन ट्रांसफ़ॉर्म एक 3×3 मैट्रिक्स बन जाता है:

होमोजीनियस निर्देशांक (3×3 मैट्रिक्स) का उपयोग कर 2D एफ़ाइन ट्रांसफ़ॉर्मेशन। स्रोत: लेखक
लाभ:
- रचना गुणन में सरल हो जाती है (केवल मैट्रिक्स गुणन आवश्यक)।
- अनुकूलित पाइपलाइनों में उपयोग (ग्राफ़िक्स और विज़न लाइब्रेरी इसे प्राथमिकता देती हैं)
- ट्रांसलेशन, रोटेशन, स्केलिंग और शियर का सुसंगत प्रबंधन
एफ़ाइन ट्रांसफ़ॉर्मेशन के प्रकार
व्यवहार में इस्तेमाल होने वाले अधिकांश एफ़ाइन ट्रांसफ़ॉर्मेशन कुछ चुनिंदा चरणों में होते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन में ट्रांसलेशन
ट्रांसलेशन हर बिंदु को एक ही विस्थापन से ले जाता है: T(x)=x+b
2D होमोजीनियस रूप इस प्रकार दर्शाया जाता है:

होमोजीनियस ट्रांसफ़ॉर्मेशन मैट्रिक्स (2D) के रूप में ट्रांसलेशन। स्रोत: लेखक
यह रूप ग्राफ़िक्स (वस्तुओं को स्थानांतरित करने), रोबोटिक्स (कोऑर्डिनेट फ़्रेम बदलने) और विज़न (इमेज एलाइन्मेंट) में उपयोग होता है।
स्केलिंग ट्रांसफ़ॉर्मेशन: यूनिफ़ॉर्म और नॉन-यूनिफ़ॉर्म
यूनिफ़ॉर्म स्केलिंग: 2D में, यूनिफ़ॉर्म स्केलिंग का अर्थ है सभी दिशाओं में एक ही गुणक (s) का उपयोग:

यूनिफ़ॉर्म 2D स्केलिंग मैट्रिक्स। स्रोत: लेखक
नॉन-यूनिफ़ॉर्म स्केलिंग:

नॉन-यूनिफ़ॉर्म 2D स्केलिंग मैट्रिक्स। स्रोत: लेखक
दूसरी ओर, 3D स्केलिंग 3×3 विकर्ण (diagonal) मैट्रिक्स जैसी होती है। स्केल करने पर सीधी रेखाएँ और समानांतरता बनी रहती है, लेकिन दूरियाँ बदल जाती हैं (जब तक s=1 न हो)।
2D और 3D में रोटेशन ट्रांसफ़ॉर्मेशन
कोण (theta) द्वारा 2D रोटेशन:

कोण द्वारा 2D रोटेशन ट्रांसफ़ॉर्मेशन। स्रोत: लेखक
3D में आप किसी अक्ष (x, y, या z) के चारों ओर घुमाते हैं, जिनके अनुरूप मैट्रिक्स होते हैं। रोटेशन में ट्रांसलेशन जोड़ने पर यह एफ़ाइन ही रहता है (और यदि केवल रोटेशन व ट्रांसलेशन हों तो “rigid motion” बनता है)।
शियरिंग ट्रांसफ़ॉर्मेशन समझाया गया
शियर आकृतियों को “तिरछा” कर देता है। 2D x-शियर:

2D x-शियर निरूपण। स्रोत: लेखक
y-शियर:

2D y-शियर निरूपण। स्रोत: लेखक
शियर टाइपोग्राफी, दृश्य विकृति (warps), और ऐसे इफेक्ट्स में प्रयुक्त होते हैं जो परिप्रेक्ष्य जैसे दिखते हैं (हालाँकि वास्तविक परिप्रेक्ष्य प्रोजेक्टिव होता है, एफ़ाइन नहीं)।
एफ़ाइन ज्यामिति में रिफ़्लेक्शन ट्रांसफ़ॉर्मेशन
जब आप उद्गम से होकर जाती धुरियों या समतलों के बारे में परावर्तित (reflect) करते हैं, तो वह रैखिक रिफ़्लेक्शन माना जाता है (और इसलिए एफ़ाइन)।
x-अक्ष के बारे में 2D रिफ़्लेक्शन:

x-अक्ष के बारे में 2D रिफ़्लेक्शन। स्रोत: लेखक
y-अक्ष के बारे में:

y-अक्ष के बारे में 2D रिफ़्लेक्शन। स्रोत: लेखक
रिफ़्लेक्शन उन्मुखता (orientation) बदल देता है और सममिति के विश्लेषण, पैटर्न पहचान और ज्यामिति प्रोसेसिंग में सहायक है।
एफ़ाइन ट्रांसफ़ॉर्मेशन को संयोजित और इनवर्ट कैसे करें
वास्तविक प्रणालियों में, आप क्वचित ही केवल एक ट्रांसफ़ॉर्मेशन उपयोग करते हैं; आप कईयों को श्रृंखलाबद्ध करते हैं।
एकाधिक एफ़ाइन ट्रांसफ़ॉर्मेशन का संयोजन
मान लें:

और

तब:

क्रम मायने रखता है। पहले घुमाना और फिर ट्रांसलेट करना, पहले ट्रांसलेट कर फिर घुमाने के समान नहीं है। क्योंकि ट्रांसलेशन अगले मैट्रिक्स में “फँस” जाता है।
इसे याद रखने का एक उपयोगी तरीका:
- यदि आप होमोजीनियस मैट्रिक्स का उपयोग कर रहे हैं, तो रचना मैट्रिक्स गुणन है
- जिस ट्रांसफ़ॉर्मेशन को आप आख़िर में लागू करते हैं, वह गुणन में बाएँ ओर होता है।
इनवर्स एफ़ाइन ट्रांसफ़ॉर्मेशन: गणना और अनुप्रयोग
के लिए

यदि (A) इनवर्टिबल है:

विज़न में यह अक्सर उपयोग होता है: आप सामान्यतः आउटपुट पिक्सेल को इनपुट पिक्सेल पर (इनवर्स मैपिंग) वापस ले जाते हैं ताकि गैप्स भरे जा सकें।
रैखिक बनाम एफ़ाइन ट्रांसफ़ॉर्मेशन
एफ़ाइन ट्रांसफ़ॉर्मेशन “इनबिल्ट शिफ़्ट वाले रैखिक ट्रांसफ़ॉर्मेशन” हैं।
रैखिक और एफ़ाइन ट्रांसफ़ॉर्मेशन के मुख्य अंतर
एक रैखिक ट्रांसफ़ॉर्मेशन - L(x)=Ax - को यह संतुष्ट करना चाहिए:
- L(0)=0 (उद्गम उद्गम पर ही रहता है)
- L(x+y)=L(x)+L(y)
- L(cx)=cL(x)
एक एफ़ाइन ट्रांसफ़ॉर्मेशन T(x)=Ax+b:
- 0 को 0 पर मैप करना ज़रूरी नहीं
- रेखाओं को सीधा और समानांतरता को संरक्षित रखता है
- ट्रांसलेशन को अलग कर दें तो रैखिक की तरह व्यवहार करता है
हर रैखिक मैप एफ़ाइन है (b=0 रखें), पर हर एफ़ाइन मैप रैखिक नहीं होता (कोई भी गैर-शून्य ट्रांसलेशन रैखिकता तोड़ देता है)।
एफ़ाइन ट्रांसफ़ॉर्मेशन: रैखिक + ट्रांसलेशन
आप इसे दोबारा लिख सकते हैं:

के रूप में—“पहले रैखिक भाग (Ax) करें, फिर ट्रांसलेशन (b) जोड़ें।”
आप 1D रूप पहले से जानते हैं—(y=mx+c)। यही कारण है कि एफ़ाइन मैप्स न्यूरल नेटवर्क्स में अक्सर उपयोग होते हैं: एक डेंस लेयर (Wx+b) गणना करती है, जो एक एफ़ाइन मैप है। उसके बाद नॉनलाइनियरिटी जोड़ी जाती है।
कंप्यूटर ग्राफ़िक्स और कंप्यूटर विज़न एफ़ाइन ट्रांसफ़ॉर्मेशन का उपयोग करते हैं।
कंप्यूटर ग्राफ़िक्स और कंप्यूटर विज़न में एफ़ाइन ट्रांसफ़ॉर्मेशन
यहीं एफ़ाइन ट्रांसफ़ॉर्मेशन अमूर्तता से आगे बढ़कर वास्तविक उपयोगिता देने लगते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन द्वारा इमेज ट्रांसफ़ॉर्मेशन और वॉर्पिंग
इमेज प्रोसेसिंग में एफ़ाइन ट्रांसफ़ॉर्म का उपयोग इन कार्यों में होता है:
- रोटेशन और रीसाइजिंग
- ट्रांसलेशन (इमेज को स्थानांतरित करना)
- स्क्यू करेक्शन (शियर)
- एलाइनमेंट/रजिस्ट्रेशन (इमेज का मिलान)
दो महत्वपूर्ण कार्यान्वयन विचार:
- फ़ॉरवर्ड मैपिंग: हर इनपुट पिक्सेल को आगे भेजना। इससे गैप/होल बन सकते हैं।
- इनवर्स मैपिंग: प्रत्येक आउटपुट पिक्सेल के लिए, पीछे मैप करके पता करें कि वह कहाँ से आया; यह सामान्यतः बेहतर विकल्प है।
इंटरपोलेशन महत्त्वपूर्ण है क्योंकि मैप की गई निर्देशांक प्रायः पूर्ण पिक्सेल पर नहीं गिरतीं। कुछ सामान्य तरीके हैं:
- नज़दीकी पड़ोसी (Nearest neighbor): सबसे तेज़, ब्लॉकी दिख सकता है
- बाइलीनियर (Bilinear): अधिक स्मूद, प्रायः डिफ़ॉल्ट
- बायक्यूबिक (Bicubic): और स्मूद, पर अधिक गणना-खर्चीला
3D ग्राफ़िक्स और रेंडरिंग में एफ़ाइन ट्रांसफ़ॉर्मेशन
3D ग्राफ़िक्स में एफ़ाइन ट्रांसफ़ॉर्मेशन सर्वत्र हैं:
- मॉडल ट्रांसफ़ॉर्म (वस्तु स्थानीय → विश्व)
- व्यू ट्रांसफ़ॉर्म (विश्व → कैमरा)
- प्रोजेक्शन की तैयारी (प्रोजेक्टिव चरण से पहले एफ़ाइन भाग)
एक सूक्ष्म परन्तु महत्त्वपूर्ण बिंदु: जब स्केलिंग यूनिफ़ॉर्म नहीं होती, तो सरफेस नॉर्मल्स प्रायः बिंदुओं की तरह नहीं बदलते। सही लाइटिंग हेतु, रेंडरिंग पाइपलाइंस सामान्यतः रैखिक भाग के इनवर्स-ट्रांसपोज़ का उपयोग नॉर्मल्स के लिए करती हैं।
रोबोटिक्स में एफ़ाइन ट्रांसफ़ॉर्मेशन
रोबोटिक्स मूलतः कोऑर्डिनेट प्रणालियों की सर्वव्यापकता ही है।
एफ़ाइन ट्रांसफ़ॉर्मेशन मैप करते हैं:
- रोबोट बेस फ़्रेम ↔ आर्म फ़्रेम ↔ एंड-इफ़ेक्टर फ़्रेम
- कैमरा फ़्रेम ↔ विश्व फ़्रेम
- लिडार ↔ वाहन निर्देशांक
विज़न-आधारित लोकेलाइज़ेशन (जैसे, विज़ुअल ओडोमेट्री) में, फ़्रेमों के बीच छोटे-छोटे मूवमेंट्स को प्रायः इमेज स्पेस में स्थानीय रूप से एफ़ाइन माना जा सकता है, जो गति का आकलन और ट्रैकिंग करने में सहायक होता है।
कोऑर्डिनेट स्पेस मैपिंग और डेटा नॉर्मलाइज़ेशन
मशीन लर्निंग में, फीचर स्केलिंग प्रायः एफ़ाइन होती है:
- मिन-मैक्स स्केलिंग: (x' = alpha x + beta)
- स्टैंडर्डाइज़ेशन: (x' = (x-μ)/σ) (यह भी एफ़ाइन)
यह इसलिए महत्त्वपूर्ण है कि कई मॉडल (विशेषकर ग्रेडिएंट-आधारित) तब बेहतर काम करते हैं जब फीचर्स समान पैमानों पर हों।
एफ़ाइन ट्रांसफ़ॉर्मेशन: उन्नत संकल्पनाएँ और सिद्धांत
एफ़ाइन ट्रांसफ़ॉर्मेशन पहली नज़र में सीधे लगते हैं, पर सिद्धांत गहरा है—विशेषकर जब आप क्षेत्रफल जैसे इनवेरिएंट्स या वैकल्पिक निर्देशांक प्रणालियों की परवाह करने लगते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन की उन्नत संकल्पनाएँ। चित्र स्रोत: Napkin AI
एफ़ाइन ज्यामिति और बैरिसेंट्रिक निर्देशांक
बैरिसेंट्रिक निर्देशांक किसी बिंदु को त्रिभुज के शीर्षों के भारित मिश्रण के रूप में व्यक्त करते हैं:

ये निर्देशांक एफ़ाइन-इनवेरिएंट होते हैं, यानी यदि आप त्रिभुज और बिंदु को एफ़ाइन ढंग से बदलें, तो λi समान रहते हैं।
इसीलिए बैरिसेंट्रिक निर्देशांक का उपयोग व्यापक है: टेक्सचर मैपिंग, मेश इंटरपोलेशन, और फ़ाइनाइट एलीमेंट विश्लेषण में।
मेज़र-प्रिज़र्विंग और इक्वीएरियल एफ़ाइन ट्रांसफ़ॉर्मेशन
एक एफ़ाइन ट्रांसफ़ॉर्म क्षेत्रफल (2D) या आयतन (3D) को तब संरक्षित रखता है जब:

A का डेटर्मिनेंट यह बताता है कि रैखिक भाग जोड़ने पर क्षेत्रफल या आयतन कितना बदलता है।
यदि (|det(A)| > 1) है, तो स्पेस बड़ा होता है; और यदि एक से कम है, तो छोटा। यदि यह नकारात्मक है, तो उन्मुखता बदलती है (जैसे रिफ़्लेक्शन)। ये बातें विज़ुअल्स, फिज़िक्स सिमुलेशन और डीफ़ॉर्मेशन मॉडलिंग में महत्वपूर्ण हैं।
एफ़ाइन ज्यामिति में सिमिलैरिटी ट्रांसफ़ॉर्मेशन और आइसोमेट्री
संबंध:
- एफ़ाइन: (Ax+b) (सामान्य मामला)
- सिमिलैरिटी: स्केलिंग + रोटेशन + ट्रांसलेशन (कोण समान रहते हैं, स्केल तक)
- आइसोमेट्री (rigid): रोटेशन + ट्रांसलेशन (दूरी और कोण समान रहते हैं)
तो:आइसोमेट्री ⊂ सिमिलैरिटीज़ ⊂ एफ़ाइन ट्रांसफ़ॉर्मेशन
यह वंशानुक्रम (हायरार्की) आपको समस्या के लिए सही मॉडल चुनने देता है। उदाहरण के लिए, यदि दूरी को संरक्षित रखना आवश्यक है, तो एफ़ाइन बहुत व्यापक है।
प्रोजेक्टिव ट्रांसफ़ॉर्मेशन और उच्च-आयामी एफ़ाइन विस्तार
एफ़ाइन ट्रांसफ़ॉर्मेशन, प्रोजेक्टिव ट्रांसफ़ॉर्मेशन का एक प्रकार हैं। प्रोजेक्टिव ट्रांसफ़ॉर्मेशन परिप्रेक्ष्य का निरूपण कर सकते हैं, जैसे समानांतर रेखाएँ वैनिशिंग प्वॉइंट पर मिलती दिखती हैं। एफ़ाइन ट्रांसफ़ॉर्मेशन यह नहीं कर सकते।
होमोजीनियस निर्देशांकों में, प्रोजेक्टिव ट्रांसफ़ॉर्मेशन अंतिम पंक्ति को ([0,0,1]) से व्यापक होने की अनुमति देते हैं। यही अतिरिक्त स्वतंत्रता परिप्रेक्ष्य प्रभावों को संभव बनाती है।
एफ़ाइन संकल्पनाएँ उच्च आयामों में भी काम करती हैं, जैसे 3D ग्राफ़िक्स में 4D होमोजीनियस ट्रांसफ़ॉर्म।
एफ़ाइन ट्रांसफ़ॉर्मेशन का इम्प्लीमेंटेशन
एफ़ाइन ट्रांसफ़ॉर्म “आसान गणित” हैं, पर उनका उपयोग परिणाम बना या बिगाड़ सकता है।
एफ़ाइन ट्रांसफ़ॉर्मेशन में सांख्यिकीय स्थिरता और परिशुद्धता
सामान्य समस्याएँ:
- निकट-सिंगुलर मैट्रिक्स: यदि (det(A)) 0 के निकट है, तो इनवर्ज़न अस्थिर हो जाता है
- फ्लोटिंग-पॉइंट त्रुटि संचय: बार-बार रचना करने पर बहाव (drift) हो सकता है
- अत्यधिक स्केलिंग: बहुत बड़े या बहुत छोटे पैमाने पर परिशुद्धता घट सकती है।
उत्कृष्ट प्रक्रियाएँ:
- त्वरित चेतावनी संकेतक के रूप में कंडीशन नंबर (या कम से कम |det(A)|) देखें।
- इनवर्ज़न के लिए स्थिर लाइब्रेरी चुनें, जैसे NumPy और Eigen।
- जब ग्राफ़िक्स या रोबोटिक्स की तरह क्रमिक क्रियाएँ अधिक हों, तो रोटेशन मैट्रिक्स को पुनः ऑर्थोनॉर्मलाइज़ करें।
GPU इम्प्लीमेंटेशन और एफ़ाइन ट्रांसफ़ॉर्मेशन का पैरेलल प्रोसेसिंग
एफ़ाइन ट्रांसफ़ॉर्मेशन अत्यधिक पैरेलल-उपयुक्त हैं, यानी प्रत्येक बिंदु या पिक्सेल स्वतंत्र रूप से बदलता है। इससे वे SIMD और GPU कर्नलों के लिए उपयुक्त बनते हैं।
इसीलिए इमेज वॉर्प्स और रेंडरिंग पाइपलाइंस GPU के साथ अच्छा काम करती हैं: वे एक साथ बहुत सारे गुणन और जोड़ कर सकती हैं।
कुछ सामान्य ऑप्टिमाइज़ेशन हैं: फ़्यूज़्ड मल्टिप्लाई-एड ऑपरेशन, ट्रांसफ़ॉर्मेशनों का बैचिंग, और मेमोरी ट्रांसफर्स को कम करना।
एफ़ाइन ट्रांसफ़ॉर्मेशन के विशिष्ट अनुप्रयोग और विस्तार
एफ़ाइन ट्रांसफ़ॉर्मेशन बहुत-से कार्यों के लिए “पर्याप्त रूप से कड़े” हैं, और इन्हें अधिक लचीले मॉडल बनाने के लिए भी विस्तारित किया जा सकता है।
नॉन-रिजिड रजिस्ट्रेशन के लिए B-Spline एफ़ाइन ट्रांसफ़ॉर्मेशन
मॉर्फोमेट्रिक्स और मेडिकल इमेजिंग में, केवल एफ़ाइन एलाइनमेंट पहला कदम होता है। मोटे एलाइनमेंट के बाद, B-spline-आधारित डीफ़ॉर्मेशन मॉडल आपको नियंत्रक बिंदुओं को सहज रखते हुए स्मूद, नॉन-रिजिड वॉर्प्स करने देते हैं।
इसे ऐसे समझें: एफ़ाइन समग्र इमेज को ठीक-ठाक सीधा करता है, और B-splines बारीक मोड़ों का ख्याल रखते हैं।
पैटर्न रिकग्निशन और कंप्यूटर विज़न में एफ़ाइन इनवेरिएंस
कई रिकग्निशन प्रणालियाँ एफ़ाइन इनवेरिएंट बनने की कोशिश करती हैं, ताकि व्यूप्वाइंट एफ़ाइन-जैसे बदलाव के बावजूद वस्तुएँ पहचानी जा सकें।
तकनीकें शामिल हैं:
- एफ़ाइन-इनवेरिएंट फ़ीचर्स का उपयोग (या पैचों का नॉर्मलाइज़ करना)
- कीपॉइंट्स के लिए स्थानीय एफ़ाइन फ़्रेम निकालना
- ऐसे डिस्क्रिप्टर्स बनाना जो स्क्यू और स्केल के प्रति सक्षम हों
इससे मैचिंग, ट्रैकिंग और रिट्रीवल जैसी प्रक्रियाएँ अधिक भरोसेमंद होती हैं।
GIS और जियोडेटिक कोऑर्डिनेट प्रणालियों में एफ़ाइन ट्रांसफ़ॉर्मेशन
GIS में, एफ़ाइन ट्रांसफ़ॉर्मेशन मैप जियोरेफ़रेंसिंग, अलग-अलग स्रोतों की लेयरों को एलाइन करने, या कोऑर्डिनेट रूपांतरणों के स्थानीय अनुप्रयोगों में दिखते हैं।
वास्तविक जियोडेटिक ट्रांसफ़ॉर्म अधिक जटिल हो सकते हैं, पर एफ़ाइन मॉडल स्थानीय अनुप्रयोगों के रूप में या बड़े पाइपलाइन के हिस्से के रूप में अक्सर उपयोग होते हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन के लिए सॉफ़्टवेयर लाइब्रेरीज़
आपको सब कुछ शुरू से बनाने की ज़रूरत नहीं; अधिकांश इकोसिस्टम में अच्छा समर्थन मिलता है।
Python, C++, और Java में एफ़ाइन ट्रांसफ़ॉर्मेशन का इम्प्लीमेंटेशन
- Python: मैट्रिक्स गणित के लिए NumPy; इमेज वॉर्प्स के लिए OpenCV; संख्यात्मक टूल्स के लिए SciPy।
- C++: Eigen (लीनियर अल्जेब्रा), OpenCV (विज़न), GLM (ग्राफ़िक्स गणित)
- Java: Apache Commons Math, और स्टैक के अनुसार विज़न टूलकिट्स
भाषाओं के पार मूल विचार:
- बिंदुओं को वेक्टर के रूप में निरूपित करें
- (Ax+b) लागू करें (या होमोजीनियस मैट्रिक्स गुणन)
- ट्रांसफ़ॉर्मेशन को संयोजित करने के लिए मैट्रिक्स गुणनों का उपयोग करें।
- ज़रूरत पर (A-1) से पलटें
एफ़ाइन ट्रांसफ़ॉर्मेशन के लिए सर्वोत्तम सॉफ़्टवेयर टूल्स और लाइब्रेरीज़

एफ़ाइन ट्रांसफ़ॉर्मेशन के लिए श्रेष्ठ टूल्स और लाइब्रेरीज़। चित्र स्रोत: Napkin AI
व्यापक रूप से इस्तेमाल होने वाले टूल्स:
- OpenCV: warpAffine, getAffineTransform, estimateAffine2D (विज़न वर्कफ़्लोज़)
- NumPy: सामान्य मैट्रिक्स ऑपरेशन
- Eigen: उच्च-प्रदर्शन C++ लीनियर अल्जेब्रा
- GLM / DirectXMath: ग्राफ़िक्स-केंद्रित गणित लाइब्रेरीज़
- GDAL / PROJ (GIS): कोऑर्डिनेट ट्रांसफ़ॉर्मेशन और जियोस्पैशियल पाइपलाइंस
अपने डोमेन के आधार पर चुनें: इमेज के लिए OpenCV, ग्राफ़िक्स के लिए GLM, GIS के लिए GDAL/PROJ।
एफ़ाइन ट्रांसफ़ॉर्मेशन पर वैकल्पिक दृष्टिकोण
एक ही विचार को अलग तरह से सुनना कभी-कभी चीजों को और स्पष्ट कर देता है।
वैकल्पिक परिभाषाएँ: एफ़ाइन मैप्स और एफ़ाइन फ़ंक्शन
एफ़ाइन मैप को ऐसी फ़ंक्शन के रूप में परिभाषित किया जा सकता है जो एफ़ाइन कॉम्बिनेशनों की गरिमा को संरक्षित रखता है:
यह विन्यास खुद को एकल उद्गम से नहीं बाँधता, जो “एफ़ाइन ज्यामिति” की भावना के अत्यंत अनुरूप है। यह तुरंत यह भी स्पष्ट करता है कि रेखाएँ रेखाओं में ही अनुवादित होती हैं।
एफ़ाइन ट्रांसफ़ॉर्मेशन और (y = mx + b) सूत्र
यदि एफ़ाइन ट्रांसफ़ॉर्मेशन अमूर्त लगें, तो उन्हें अपनी जानकारी से जोड़ें: (y=mx) रैखिक है (यह उद्गम से गुजरती है), और (y=mx+b) एफ़ाइन है (उसी ढलान प्रभाव के साथ शिफ़्ट)।
उच्च आयामों में, (m) मैट्रिक्स (A) बन जाता है, पर कहानी वही रहती है: यह रैखिक रूप से क्रिया करता है और इधर-उधर सरकता है।
निष्कर्ष
एफ़ाइन ट्रांसफ़ॉर्मेशन, यदि सारी अतिरिक्त बातें हटा दें, तो मूलतः बस इतना कहते हैं: “मैं आपकी दुनिया को सीधी रेखाओं और समानांतर किनारों से बनी रखूँगा, पर आपके कोण वही रहेंगे—यह वादा नहीं कर सकता।”
यदि आप मैट्रिक्स और रैखिक प्रणालियों के संदर्भ में सोच रहे हैं, तो Linear Algebra for Data Science in R और मैट्रिक्स-केंद्रित ट्यूटोरियल, जैसे Row Echelon Form Explained देखें।
यदि आप कंप्यूटर विज़न में उतरना चाहते हैं, तो Food Image Classification with Hugging Face जैसे प्रोजेक्ट और Working with Hugging Face जैसे कोर्स अच्छे अगले कदम हैं।
डेटा साइंस, आर्टिफिशियल इंटेलिजेंस, एनालिटिक्स और डेटा रणनीति में अनुभवी विशेषज्ञ।
FAQs
एफ़ाइन ट्रांसफ़ॉर्मेशन क्या है?
एफ़ाइन ट्रांसफ़ॉर्मेशन बिंदुओं को T(x)=Ax+bT के अनुसार मैप करता है, जहाँ A रैखिक ट्रांसफ़ॉर्म है और b ट्रांसलेशन है। यह एक ही ढाँचे में रोटेशन, स्केलिंग, शियर, रिफ़्लेक्शन और शिफ़्टिंग को समेटता है।
एफ़ाइन ट्रांसफ़ॉर्मेशन रैखिक ट्रांसफ़ॉर्मेशन से कैसे भिन्न है?
रैखिक ट्रांसफ़ॉर्मेशन, जिसे L(x)=Ax लिखा जाता है, को उद्गम को स्वयं पर भेजना होता है। एफ़ाइन ट्रांसफ़ॉर्मेशन में ट्रांसलेशन (b≠0) शामिल होता है, जिसका अर्थ है कि यह उद्गम को शिफ़्ट कर सकता है।
एफ़ाइन ट्रांसफ़ॉर्मेशन में कौन-से ज्यामितीय गुण संरक्षित रहते हैं?
एफ़ाइन ट्रांसफ़ॉर्मेशन सीधी रेखाएँ, सह-रेखीयता और समानांतरता को संरक्षित रखते हैं, इस प्रकार “रेखा-संरचना” अक्षुण्ण रहती है। यह एक ही रेखा के entlang दूरियों के अनुपात को भी संरक्षित रखता है (उदाहरण के लिए, मध्यबिंदु मध्यबिंदु ही रहते हैं)।
कौन-से गुण संरक्षित नहीं रहते?
दूरी और कोण सामान्यतः बदल जाते हैं, यानी आकार खिंच या मुड़ सकते हैं। क्षेत्रफल और आयतन भी बदल सकते हैं, जब तक कि डेटर्मिनेंट से सम्बंधित शर्त पूरी न हो।
क्या मशीन लर्निंग में फीचर स्केलिंग एफ़ाइन ट्रांसफ़ॉर्मेशन है?
हाँ—स्टैंडर्डाइज़ेशन और मिन-मैक्स स्केलिंग एफ़ाइन मैप्स के उदाहरण हैं। वे निर्देशांकों को इस तरह बदलते हैं कि ऑप्टिमाइज़ेशन बेहतर काम करे, बिना संबंधों को अधिक बदले।

