உங்கள் ஸ்மார்ட்போனில் AI கேமராவை உருவாக்குவது எப்படி
தொழில்நுட்ப முன்னேற்றங்கள் வன்பொருள் கண்டுபிடிப்புகளுடன் மட்டும் நின்றுவிடுவதில்லை, மாறாக மிகவும் நுட்பமான மென்பொருள் உருவாக்கத்தையும் உள்ளடக்கியுள்ளன. ஸ்மார்ட்போன் கேமராக்களில் செயற்கை நுண்ணறிவைப் (AI) பயன்படுத்துவது இதற்கு ஒரு சிறந்த எடுத்துக்காட்டாகும். இந்தத் தொழில்நுட்பம் நாம் புகைப்படங்களை எடுக்கும் மற்றும் திருத்தும் விதத்தில் ஒரு புரட்சியை ஏற்படுத்தி வருகிறது. AI-ஆற்றல் பெற்ற கேமராக்கள் மிகவும் அழகான படங்களை உருவாக்க உதவுவது மட்டுமல்லாமல், தானியங்கு அம்சங்களுடன் படமெடுக்கும் செயல்முறையையும் எளிதாக்குகின்றன. இந்தக் கட்டுரை, ஒரு ஸ்மார்ட்போனில் AI-ஆற்றல் பெற்ற கேமராவை உருவாக்குவது எப்படி என்பதை, அதன் கருத்தாக்கத்தின் அறிமுகம் முதல் அதைச் செயல்படுத்துவது வரை விரிவாக ஆராயும்.
செயற்கை நுண்ணறிவு மூலம் கேமரா அங்கீகாரம்
செயற்கை நுண்ணறிவு (AI) வசதி கொண்ட ஸ்மார்ட்போன் கேமராக்கள், படங்களின் தரத்தைத் தானாகவே பகுப்பாய்வு செய்யவும், மேம்படுத்தவும், மற்றும் மெருகேற்றவும் செயற்கை நுண்ணறிவுத் தொழில்நுட்பத்தைப் பயன்படுத்துகின்றன. ஸ்மார்ட்போன் கேமராக்களில் உள்ள சில பொதுவான AI அம்சங்கள் பின்வருமாறு:
1. பொருள் மற்றும் காட்சி அடையாளம் காணுதல்: செயற்கை நுண்ணறிவால் (AI) படம்பிடிக்கப்படும் பொருள் அல்லது காட்சியைக் கண்டறிந்து, கேமரா அமைப்புகளைத் தானாகவே சரிசெய்ய முடியும்.
2. உருவப்பட முறை: முக்கியப் பொருள் மேலும் தனித்துத் தெரியும்படி செய்ய, பின்னணியைத் தானாகவே மங்கலாக்குகிறது.
3. ஒளி அமைப்பு உகப்பாக்கம்: சிறந்த முடிவுகளுக்காக ஒளி அமைப்பையும் பிரகாசத்தையும் தானாகவே சரிசெய்கிறது.
4. படத் தர மேம்பாடு: இரைச்சலை நீக்குகிறது, வண்ணத்தை மேம்படுத்துகிறது, மற்றும் படங்களைக் கூர்மையாக்குகிறது.
தேவையான கருவிகள் மற்றும் தொழில்நுட்பம்
ஸ்மார்ட்போனில் செயற்கை நுண்ணறிவுடன் கூடிய கேமராவை உருவாக்க, பல கருவிகளும் தொழில்நுட்பங்களும் தயார் செய்யப்பட வேண்டும்:
1. செயற்கை நுண்ணறிவு மேம்பாட்டு கட்டமைப்பு: எடுத்துக்காட்டாக, டென்சர்ஃப்ளோ, பைடார்ச் அல்லது ஓபன்சிவி போன்றவை செயற்கை நுண்ணறிவு மாதிரிகளை உருவாக்கப் பயன்படுகின்றன.
2. படத் தரவுத்தொகுப்பு: செயற்கை நுண்ணறிவு மாதிரிகளுக்குப் பயிற்சி அளிக்கப் பயன்படும் படத் தரவுகளின் தொகுப்பு.
3. சாதனக் கற்றல்: கூகுள் பிக்சல் அல்லது செயற்கை நுண்ணறிவு சிப்செட் கொண்ட ஐபோன் போன்ற, இயந்திரக் கற்றல் திறன் கொண்ட ஸ்மார்ட்போன்கள்.
4. IDE (ஒருங்கிணைந்த மேம்பாட்டுச் சூழல்): செயலிகளை உருவாக்குவதற்கான ஆண்ட்ராய்டு ஸ்டுடியோ அல்லது எக்ஸ்கோட் போன்ற கருவிகள்.
5. கேமரா ஏபிஐ: ஸ்மார்ட்போன்களில் உள்ள கேமரா செயல்பாடுகளை அணுகுவதற்கு ஆண்ட்ராய்டு கேமரா2 ஏபிஐ அல்லது ஆப்பிள் ஏவிஃபவுண்டேஷன்.
செயற்கை நுண்ணறிவுடன் கேமராவை உருவாக்குவதற்கான வழிமுறைகள்
1. வளர்ச்சிச் சூழல் தயாரிப்பு
செயற்கை நுண்ணறிவு வசதி கொண்ட கேமராவை உருவாக்குவதில் முதல் படி, மேம்பாட்டுச் சூழலைத் தயார் செய்வதாகும். ஆண்ட்ராய்டு செயலி மேம்பாட்டிற்கு ஆண்ட்ராய்டு ஸ்டுடியோ அல்லது iOS-க்கு எக்ஸ்கோட் போன்ற ஒரு IDE-ஐ நிறுவுவது அவசியமாகும். மேலும், தேவையான அனைத்து SDK-களும் லைப்ரரிகளும் நிறுவப்பட்டுள்ளதா என்பதையும் உறுதிப்படுத்திக் கொள்ளுங்கள்.
2. தரவுத்தொகுப்புகளைச் சேகரித்தல் மற்றும் தயாரித்தல்
செயற்கை நுண்ணறிவு மாதிரி உருவாக்கத்தில் தரவுத்தொகுப்புகள் ஒரு முக்கிய அங்கமாகும். செயற்கை நுண்ணறிவு மாதிரிகளுக்குப் பயிற்சி அளிக்க, நமக்கு பெரிய மற்றும் பன்முகத்தன்மை வாய்ந்த படத் தரவுத்தொகுப்புகள் தேவைப்படுகின்றன. இந்தத் தரவுத்தொகுப்புகளை ImageNet போன்ற இணைய மூலங்களிலிருந்து பெறலாம் அல்லது சுயமாகச் சேகரிக்கலாம். தரவுத்தொகுப்பு சேகரிக்கப்பட்டவுடன், தேவைப்பட்டால், பட அளவை மாற்றுதல், இயல்பாக்குதல் மற்றும் தரவு விரிவாக்கம் போன்ற முன்செயலாக்கப் பணிகள் மேற்கொள்ளப்படுகின்றன.
3. செயற்கை நுண்ணறிவு மாதிரிகளை உருவாக்குதல் மற்றும் பயிற்சி அளித்தல்
தரவுத்தொகுப்பு தயாரானதும், அடுத்த கட்டமாக ஒரு AI மாதிரியை உருவாக்கிப் பயிற்சி அளிக்க வேண்டும். எடுத்துக்காட்டாக, படச் செயலாக்கத்திற்கு ஏற்ற கன்வல்யூஷனல் நியூரல் நெட்வொர்க் (CNN) மாதிரி கட்டமைப்பைக் கொண்ட டென்சர்ஃப்ளோ கட்டமைப்பைப் பயன்படுத்தலாம். இந்தக் கட்டத்தில், பயிற்சி செயல்முறைக்கான மாதிரி வரையறை, தொகுத்தல் மற்றும் பொருத்தும் முறைகள் ஆகியவை அடங்கும்.
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
tensorflow.keras.models இறக்குமதி வரிசையிலிருந்து
tensorflow.keras.layers இலிருந்து Conv2D, MaxPooling2D, Flatten, Dense ஆகியவற்றை இறக்குமதி செய்யவும்
CNN மாதிரியின் வரையறை
மாதிரி = தொடர்()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(image_height, image_width, 3)))
மாதிரி.சேர்(மேக்ஸ்பூலிங்2டி((2, 2)))
model.add(Conv2D(64, (3, 3), செயல்படுத்தல்='relu'))
மாதிரி.சேர்(மேக்ஸ்பூலிங்2டி((2, 2)))
model.add(Flatten())
model.add(அடர்த்தி(128, செயல்படுத்தல்='relu'))
model.add(அடர்த்தி(எண்_வகுப்புகள், செயல்படுத்தல்='softmax'))
மாதிரியைத் தொகுக்கவும்
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['துல்லியம்'])
மாதிரி பயிற்சி
model.fit(training_data, training_labels, epochs=10, validation_data=(validation_data, validation_labels))
"`
4. ஸ்மார்ட்போனுக்கான வரிசைப்படுத்தல் மாதிரி
மாடலுக்குப் பயிற்சி அளித்தவுடன், அதை ஸ்மார்ட்போனில் பயன்படுத்தக்கூடிய வடிவத்திற்கு மாற்ற வேண்டும். ஆண்ட்ராய்டுக்கு டென்சர்ஃப்ளோ லைட் (TensorFlow Lite) பயன்படுத்தலாம், அதே சமயம் iOS-க்கு கோர் எம்எல் (Core ML) மிகவும் பயனுள்ளதாக இருக்கும்.
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
மாடலை டென்சர்ஃப்ளோ லைட் வடிவத்திற்கு மாற்றவும்
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
மாதிரியை ஒரு கோப்பில் சேமிக்கவும்
open('model.tflite', 'wb') as f:
f.write(tflite_model)
"`
5. கேமரா பயன்பாட்டுடன் மாதிரி ஒருங்கிணைப்பு
இறுதிப் படியானது, AI மாதிரியை கேமரா செயலியில் ஒருங்கிணைப்பதாகும். ஆண்ட்ராய்டில், இது படங்களைப் பிடிக்க Camera2 API-ஐயும், அவற்றைச் செயலாக்க TensorFlow Lite-ஐயும் பயன்படுத்துவதை உள்ளடக்கியது. iOS-இல், இது AVFoundation மற்றும் Core ML-ஐப் பயன்படுத்துகிறது.
ஆண்ட்ராய்டில் ஒருங்கிணைப்பு எடுத்துக்காட்டு:
""ஜாவா
android.Manifest ஐ இறக்குமதி செய்க;
android.app.Activity ஐ இறக்குமதி செய்க;
android.content.pm.PackageManager-ஐ இறக்குமதி செய்க;
android.graphics.Bitmap ஐ இறக்குமதி செய்க;
android.os.Bundle ஐ இறக்குமதி செய்க;
android.view.SurfaceView ஐ இறக்குமதி செய்க;
android.view.SurfaceHolder-ஐ இறக்குமதி செய்க;
android.widget.Toast ஐ இறக்குமதி செய்க;
androidx.annotation.NonNull ஐ இறக்குமதி செய்க;
androidx.core.app.ActivityCompat ஐ இறக்குமதி செய்க;
androidx.core.content.ContextCompat ஐ இறக்குமதி செய்க;
com.google.tflite.Interpreter ஐ இறக்குமதி செய்க;
public class CameraActivity extends Activity implements SurfaceHolder.Callback {
தனியார் SurfaceView surfaceView;
தனியார் SurfaceHolder surfaceHolder;
தனியார் கேமரா கேமரா;
தனியார் மொழிபெயர்ப்பாளர் tflite;
Ver ஓவர்ரைடு
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
// கேமரா அனுமதி கோரவும்
(ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) எனில்)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 100);
}
// SurfaceView-ஐத் துவக்கவும்
surfaceView = findViewById(R.id.surfaceView);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
// TFLite மாடலை ஏற்றவும்
முயற்சி {
tflite = புதிய Interpreter(loadModelFile(“model.tflite”));
} கேட்ச் (IOException e) {
e.printStackTrace ();
}
}
Ver ஓவர்ரைடு
பொது வெற்றிட மேற்பரப்பு உருவாக்கப்பட்டது(மேற்பரப்புதாங்கி தாங்கி) {
கேமரா = கேமராவைத் திற;
கேமரா.செட்பிரிவியூடிஸ்ப்ளே(ஹோல்டர்);
கேமரா.ஸ்டார்ட்பிரிவியூ();
}
Ver ஓவர்ரைடு
பொது வெற்றிட மேற்பரப்பு மாற்றப்பட்டது(மேற்பரப்புதாங்கி தாங்கி, முழு எண் வடிவம், முழு எண் அகலம், முழு எண் உயரம்) {}
Ver ஓவர்ரைடு
பொது வெற்றிட மேற்பரப்பு அழிக்கப்பட்டது(மேற்பரப்பு தாங்கி தாங்கி) {
கேமரா.முன்னோட்டத்தை நிறுத்து();
கேமரா.வெளியீடு();
}
தனியார் செயல்முறைப் படம்(பிட்மேப் பிட்மேப்) {
// இங்கே முன் செயலாக்கம் செய்து அனுமானிக்கவும்
}
Ver ஓவர்ரைடு
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
கோரிக்கை குறியீடு 100 ஆக இருந்தால்
(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) எனில் {
surfaceHolder.addCallback(this);
} வேறு {
Toast.makeText(this, “கேமரா அனுமதி மறுக்கப்பட்டது”, Toast.LENGTH_SHORT).show();
}
}
}
}
"`
முடிவுரை
ஸ்மார்ட்போனில் செயற்கை நுண்ணறிவு (AI) வசதியுள்ள கேமராவை உருவாக்குவது என்பது, ஒரு மேம்பட்ட AI மாதிரியை உருவாக்குவது மட்டுமல்ல, அந்த மாதிரியை ஸ்மார்ட்போனில் ஏற்கனவே உள்ள வன்பொருள் மற்றும் மென்பொருளுடன் ஒருங்கிணைப்பதும் ஆகும். மேம்பாட்டுச் சூழலைத் தயார் செய்தல், தரவுத் தொகுப்புகளைச் சேகரித்தல், AI மாதிரிக்குப் பயிற்சி அளித்தல், அந்த மாதிரியை ஸ்மார்ட்போனில் நிறுவுதல், மற்றும் அந்த மாதிரியை கேமரா செயலியுடன் ஒருங்கிணைத்தல் போன்ற படிகளைப் புரிந்துகொண்டு செயல்படுத்துவதன் மூலம், நம்மால் ஒரு ஸ்மார்ட் கேமராவை மட்டுமல்ல, பயனர்களுக்குப் பெரிதும் பயனளிக்கும் தானியக்கத்துடன் உகந்த முடிவுகளை வழங்கக்கூடிய ஒன்றையும் உருவாக்க முடியும்.
இந்தத் தொழில்நுட்பம் சாதாரணப் பயனர்களுக்கு விஷயங்களை எளிதாக்குவது மட்டுமின்றி, செயலி உருவாக்குநர்கள் மற்றும் தொழில்முறைப் புகைப்படக் கலைஞர்கள் தங்கள் படைப்பாற்றலை மேலும் நுட்பமான மற்றும் திறமையான முறையில் வெளிப்படுத்துவதற்கான வாய்ப்புகளையும் திறந்துவிடுகிறது.