ඔබේ ස්මාර්ට් ජංගම දුරකථනයෙන් AI කැමරාවක් සාදා ගන්නේ කෙසේද?
තාක්ෂණික දියුණුව දෘඩාංග නවෝත්පාදනයන්ට පමණක් සීමා නොවී, වඩ වඩාත් සංකීර්ණ මෘදුකාංග සංවර්ධනයක් ද ඇතුළත් වේ, උදාහරණයක් ලෙස ස්මාර්ට්ෆෝන් කැමරාවලට කෘතිම බුද්ධිය (AI) යෙදීම. මෙම තාක්ෂණය අප ඡායාරූප ගන්නා සහ සංස්කරණය කරන ආකාරය විප්ලවීය වෙනසක් සිදු කරයි. AI බලයෙන් ක්රියාත්මක වන කැමරා වඩාත් අලංකාර රූප නිපදවීමට උපකාරී වනවා පමණක් නොව, ස්වයංක්රීයකරණ විශේෂාංග සමඟ වෙඩි තැබීමේ ක්රියාවලිය සරල කරයි. සංකල්පය පිළිබඳ හැඳින්වීමේ සිට එය ක්රියාත්මක කිරීම දක්වා ස්මාර්ට් ජංගම දුරකථනයක AI බලයෙන් ක්රියාත්මක වන කැමරාවක් නිර්මාණය කරන්නේ කෙසේද යන්න මෙම ලිපියෙන් ගැඹුරින් ගවේෂණය කරනු ඇත.
AI සමඟ කැමරා හඳුනාගැනීම
AI-සක්රීය ස්මාර්ට්ෆෝන් කැමරා, රූපයේ ගුණාත්මකභාවය ස්වයංක්රීයව විශ්ලේෂණය කිරීමට, ප්රශස්ත කිරීමට සහ වැඩි දියුණු කිරීමට කෘතිම බුද්ධි තාක්ෂණය භාවිතා කරයි. ස්මාර්ට්ෆෝන් කැමරාවල ඇති සමහර පොදු AI විශේෂාංග අතරට:
1. වස්තුව සහ දර්ශන හඳුනාගැනීම: ග්රහණය කර ගන්නා වස්තුව හෝ දර්ශනය AI මගින් හඳුනාගෙන කැමරා සැකසුම් ස්වයංක්රීයව සකස් කළ හැක.
2. පෝට්රේට් ප්රකාරය: ප්රධාන විෂය වඩාත් කැපී පෙනෙන ලෙස පසුබිම ස්වයංක්රීයව බොඳ කරයි.
3. ආලෝකකරණ ප්රශස්තිකරණය: හොඳම ප්රතිඵල සඳහා ආලෝකය සහ දීප්තිය ස්වයංක්රීයව සකස් කරයි.
4. රූපයේ ගුණාත්මකභාවය වැඩි දියුණු කිරීම: ශබ්දය ඉවත් කරයි, වර්ණය වැඩි දියුණු කරයි, සහ රූප තියුණු කරයි.
අවශ්ය මෙවලම් සහ තාක්ෂණය
ස්මාර්ට් ජංගම දුරකථනයක AI සහිත කැමරාවක් සංවර්ධනය කිරීම සඳහා, සකස් කළ යුතු මෙවලම් සහ තාක්ෂණයන් කිහිපයක් තිබේ:
1. AI සංවර්ධන රාමුව: උදාහරණයක් ලෙස, AI ආකෘති ගොඩනැගීමට භාවිතා කරන TensorFlow, PyTorch, හෝ OpenCV.
2. රූප දත්ත කට්ටලය: AI ආකෘති පුහුණු කිරීම සඳහා භාවිතා කරන රූප දත්ත එකතුවකි.
3. උපාංග ඉගෙනීම: AI-සක්රීය චිප්සෙට් එකක් සහිත Google Pixel හෝ iPhone වැනි යන්ත්ර ඉගෙනීමේ හැකියාවන් සහිත ස්මාර්ට්ෆෝන්.
4. IDE (ඒකාබද්ධ සංවර්ධන පරිසරය): යෙදුම් සංවර්ධනය කිරීම සඳහා Android Studio හෝ Xcode වැනි මෙවලම්.
5. කැමරා API: ස්මාර්ට්ෆෝන් වල කැමරා ක්රියාකාරකම් වෙත ප්රවේශ වීමට Android Camera2 API හෝ Apple AVFoundation.
AI භාවිතයෙන් කැමරාවක් නිර්මාණය කිරීමට පියවර
1. සංවර්ධන පරිසරය සකස් කිරීම
AI-සක්රීය කැමරාවක් ගොඩනැගීමේ පළමු පියවර වන්නේ සංවර්ධන පරිසරය සකස් කිරීමයි. Android යෙදුම් සංවර්ධනය සඳහා Android Studio හෝ iOS සඳහා Xcode වැනි IDE එකක් ස්ථාපනය කිරීම අත්යවශ්ය වේ. එසේම, අවශ්ය සියලුම SDK සහ පුස්තකාල ස්ථාපනය කර ඇති බවට වග බලා ගන්න.
2. දත්ත කට්ටල එකතු කිරීම සහ සකස් කිරීම
AI ආකෘති සංවර්ධනයේ ප්රධාන අංගයක් වන්නේ දත්ත කට්ටලයි. AI ආකෘති පුහුණු කිරීම සඳහා අපට විශාල හා විවිධාකාර රූප දත්ත කට්ටල අවශ්ය වේ. මෙම දත්ත කට්ටල ImageNet වැනි මාර්ගගත මූලාශ්රවලින් ලබා ගත හැකිය හෝ ස්වාධීනව එකතු කළ හැකිය. දත්ත කට්ටලය එකතු කළ පසු, අවශ්ය නම්, රූප ප්රමාණය වෙනස් කිරීම, සාමාන්යකරණය කිරීම සහ දත්ත වැඩි දියුණු කිරීම වැනි පූර්ව සැකසුම් සිදු කරනු ලැබේ.
3. AI ආකෘති නිර්මාණය කිරීම සහ පුහුණු කිරීම
දත්ත කට්ටලය සූදානම් වූ පසු, ඊළඟ පියවර වන්නේ AI ආකෘතියක් නිර්මාණය කිරීම සහ පුහුණු කිරීමයි. උදාහරණයක් ලෙස, රූප සැකසීම සඳහා සුදුසු Convolutional Neural Network (CNN) ආකෘති ගෘහ නිර්මාණ ශිල්පයක් සහිත TensorFlow රාමුව භාවිතා කිරීම. මෙම අදියරේදී පුහුණු ක්රියාවලිය සඳහා ආකෘති අර්ථ දැක්වීම, සම්පාදනය සහ සවි කිරීමේ ක්රම ඇතුළත් වේ.
"`පිඹුරා
tf ලෙස tensorflow ආනයනය කරන්න
tensorflow.keras.models import Sequential වෙතින්
tensorflow.keras.layers වෙතින් Conv2D, MaxPooling2D, Flatten, Dense ආයාත කරන්න
CNN ආකෘතියේ අර්ථ දැක්වීම
ආකෘතිය = අනුක්රමික ()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(image_height, image_width, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Flatten())
model.add(ඝන(128, සක්රිය කිරීම='relu'))
model.add(ඝන(පන්ති_සංඛ්යාව, සක්රිය කිරීම='softmax'))
සම්පාදක ආකෘතිය
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['නිරවද්යතාවය'])
ආකෘති පුහුණුව
model.fit(පුහුණු_දත්ත, පුහුණු_ලේබල්, යුග=10, වලංගුකරණ_දත්ත=(වලංගු කිරීමේ_දත්ත, වලංගුකරණ_ලේබල්))
""
4. ස්මාර්ට් ජංගම දුරකථනයට යෙදවීමේ ආකෘතිය
ආකෘතිය පුහුණු කළ පසු, එය ස්මාර්ට් ජංගම දුරකථනයක භාවිතා කළ හැකි ආකෘතියකට පරිවර්තනය කළ යුතුය. Android සඳහා TensorFlow Lite භාවිතා කළ හැකි අතර, iOS සඳහා Core ML ඉතා ප්රයෝජනවත් වේ.
"`පිඹුරා
tf ලෙස tensorflow ආනයනය කරන්න
ආකෘතිය TensorFlow Lite ආකෘතියට පරිවර්තනය කරන්න
පරිවර්තකය = tf.lite.TFLiteConverter.from_keras_model(මාදිලිය)
tflite_model = පරිවර්තකය.convert()
ආකෘතිය ගොනුවකට සුරකින්න
open('model.tflite', 'wb') සමඟ f ලෙස:
f.write(tflite_model)
""
5. කැමරා යෙදුම සමඟ ආදර්ශ ඒකාබද්ධ කිරීම
අවසාන පියවර වන්නේ AI ආකෘතිය කැමරා යෙදුමට ඒකාබද්ධ කිරීමයි. Android හි, මෙයට රූප ග්රහණය කර ගැනීමට Camera2 API සහ ඒවා සැකසීමට TensorFlow Lite භාවිතා කිරීම ඇතුළත් වේ. iOS හි, එය AVFoundation සහ Core ML භාවිතා කරයි.
Android හි ඒකාබද්ධ කිරීමේ උදාහරණය:
"ජාවා"
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 {
පුද්ගලික මතුපිට දර්ශනය මතුපිට දර්ශනය;
පුද්ගලික මතුපිට රඳවනය මතුපිට රඳවනය;
පුද්ගලික කැමරා කැමරාව;
පුද්ගලික පරිවර්තක tflite;
Ver ඕවර්රයිඩ්
ආරක්ෂිත void onCreate(බණ්ඩලය සුරකින ලදීInstanceState) {
super.onCreate(සුරකින ලදඉන්ස්ටන්ස්ස්ටේට්);
අන්තර්ගතය සකසන්න(R.layout.activity_camera);
// කැමරා අවසරය ඉල්ලන්න
(ContextCompat.checkSelfPermission(මෙය, Manifest.permission.CAMERA) නම්
!= පැකේජ කළමනාකරු.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(මෙය, නව String[]{Manifest.permission.CAMERA}, 100);
}
// මතුපිට දර්ශනය ආරම්භ කරන්න
මතුපිට දර්ශනය = findViewById(R.id.surfaceView);
මතුපිට හෝල්ඩරය = මතුපිට දර්ශනය.getHolder();
surfaceHolder.addCallback(මෙය);
// TFLite ආකෘතිය පූරණය කරන්න
උත්සාහ කරන්න {
tflite = නව පරිවර්තකය(loadModelFile(“model.tflite”));
} අල්ලා ගැනීම (IOException e) {
e.printStackTrace();
}
}
Ver ඕවර්රයිඩ්
පොදු හිස් මතුපිටක් නිර්මාණය කරන ලදී (මතුපිට රඳවන රඳවනය) {
කැමරාව = කැමරාව.open();
camera.setPreviewDisplay(දරන්නා);
කැමරාව.ආරම්භක පෙරදසුන();
}
Ver ඕවර්රයිඩ්
public void surfaceChanged(මතුපිට රඳවන රඳවනය, int ආකෘතිය, int පළල, int උස) {}
Ver ඕවර්රයිඩ්
පොදු හිස් මතුපිට විනාශ විය (මතුපිට රඳවන රඳවනය) {
කැමරාව.stopපෙරදසුන();
කැමරාව.නිදහස් කිරීම();
}
පුද්ගලික හිස් ක්රියාවලි රූපය (බිට්මැප් බිට්මැප්) {
// මෙහි පූර්ව සැකසුම සහ අනුමාන කරන්න
}
Ver ඕවර්රයිඩ්
public void onRequestPermissionsResult(int requestCode, @NonNull String[] අවසර, @NonNull int[] grantResults) {
(ඉල්ලුම් කේතය == 100) නම් {
(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) නම් {
surfaceHolder.addCallback(මෙය);
} වෙන {
Toast.makeText(මෙය, “කැමරා අවසරය ප්රතික්ෂේප කරන ලදී”, Toast.LENGTH_SHORT).show();
}
}
}
}
""
නිගමනය
ස්මාර්ට් ජංගම දුරකථනයක AI-සක්රීය කැමරාවක් ගොඩනැගීම යනු නවීන AI ආකෘතියක් සංවර්ධනය කිරීම පමණක් නොව, එම ආකෘතිය ස්මාර්ට් ජංගම දුරකථනයේ පවතින දෘඩාංග සහ මෘදුකාංග සමඟ ඒකාබද්ධ කිරීම ද වේ. සංවර්ධන පරිසරය සකස් කිරීම, දත්ත කට්ටල එකතු කිරීම, AI ආකෘතිය පුහුණු කිරීම, ස්මාර්ට් ජංගම දුරකථනයට ආකෘතිය යෙදවීම සහ කැමරා යෙදුම සමඟ ආකෘතිය ඒකාබද්ධ කිරීම වැනි පියවර තේරුම් ගෙන ක්රියාත්මක කිරීමෙන්, අපට ස්මාර්ට් කැමරාවක් පමණක් නොව, පරිශීලකයින්ට බෙහෙවින් ප්රයෝජනවත් වන ස්වයංක්රීයකරණය සමඟ ප්රශස්ත ප්රතිඵල ලබා දිය හැකි එකක් ද නිර්මාණය කළ හැකිය.
මෙම තාක්ෂණය සාමාන්ය පරිශීලකයින්ට දේවල් පහසු කරනවා පමණක් නොව, යෙදුම් සංවර්ධකයින්ට සහ වෘත්තීය ඡායාරූප ශිල්පීන්ට ඔවුන්ගේ නිර්මාණශීලිත්වය වඩාත් සංකීර්ණ හා කාර්යක්ෂම ආකාරයකින් ගවේෂණය කිරීමට අවස්ථා විවෘත කරයි.