Ухаалаг гар утсан дээр хиймэл оюун ухаанаар камер хэрхэн хийх вэ

Ухаалаг гар утсан дээрээ хиймэл оюун ухаант камер хэрхэн хийх вэ

Технологийн дэвшил нь зөвхөн техник хангамжийн шинэчлэлээр хязгаарлагдаад зогсохгүй, улам бүр боловсронгуй болсон програм хангамжийн хөгжүүлэлтийг хамардаг бөгөөд үүний нэг жишээ бол ухаалаг гар утасны камерт хиймэл оюун ухаан (AI)-ийг ашиглах явдал юм. Энэхүү технологи нь бидний зураг авах, засварлах арга барилыг хувьсгал болгож байна. Хиймэл оюун ухаанаар ажилладаг камерууд нь илүү үзэсгэлэнтэй зураг гаргахад туслахаас гадна автоматжуулалтын функцүүдийн тусламжтайгаар зураг авалтын процессыг хялбаршуулдаг. Энэ нийтлэлд ухаалаг гар утсан дээр хиймэл оюун ухаанаар ажилладаг камерыг хэрхэн бүтээх, концепцийн танилцуулгаас эхлээд хэрэгжүүлэх хүртэлх талаар гүнзгий судлах болно.

Хиймэл оюун ухаанаар камер таних

Хиймэл оюун ухаанаар ажилладаг ухаалаг гар утасны камерууд нь зургийн чанарыг автоматаар шинжлэх, оновчтой болгох, сайжруулахын тулд хиймэл оюун ухааны технологийг ашигладаг. Ухаалаг гар утасны камеруудад байдаг зарим нийтлэг хиймэл оюун ухааны онцлогууд нь:

1. Объект ба дүр зургийг таних: Хиймэл оюун ухаан нь зураг авч буй объект эсвэл дүр зургийг илрүүлж, камерын тохиргоог автоматаар тохируулж чаддаг.
2. Хөрөг зургийн горим: Үндсэн объектыг илүү тодруулахын тулд дэвсгэрийг автоматаар бүдгэрүүлдэг.
3. Гэрэлтүүлгийн оновчлол: Хамгийн сайн үр дүнд хүрэхийн тулд гэрэлтүүлэг болон тод байдлыг автоматаар тохируулдаг.
4. Зургийн чанарыг сайжруулах: Дуу чимээг арилгаж, өнгийг сайжруулж, зургийг тодотгож өгнө.

Шаардлагатай багаж хэрэгсэл, технологи

Ухаалаг гар утсан дээр хиймэл оюун ухаантай камер хөгжүүлэхийн тулд бэлтгэх шаардлагатай хэд хэдэн хэрэгсэл, технологи байдаг.

1. Хиймэл оюун ухааны хөгжлийн хүрээ: Жишээлбэл, хиймэл оюун ухааны загвар бүтээхэд ашигладаг TensorFlow, PyTorch, эсвэл OpenCV.
2. Зургийн өгөгдлийн багц: Хиймэл оюун ухааны загваруудыг сургахад ашигладаг зургийн өгөгдлийн цуглуулга.
3. Төхөөрөмжийн сургалт: Google Pixel эсвэл хиймэл оюун ухаан идэвхжүүлсэн чипсеттэй iPhone гэх мэт машин сургалтын чадвартай ухаалаг гар утаснууд.
4. IDE (Нэгдсэн Хөгжүүлэлтийн Орчин): Програм хөгжүүлэхэд зориулсан Android Studio эсвэл Xcode зэрэг хэрэгслүүд.
5. Камерын API: Ухаалаг гар утсан дээрх камерын функцүүдэд хандахын тулд Android Camera2 API эсвэл Apple AVFoundation.

Хиймэл оюун ухаанаар камер бүтээх алхамууд

1. Хөгжлийн орчны бэлтгэл

Хиймэл оюун ухаанаар ажилладаг камер бүтээх эхний алхам бол хөгжүүлэлтийн орчныг бэлтгэх явдал юм. Android аппликейшн хөгжүүлэхэд зориулсан Android Studio эсвэл iOS-д зориулсан Xcode гэх мэт IDE суулгах нь чухал юм. Түүнчлэн, шаардлагатай бүх SDK болон сангууд суулгасан эсэхийг шалгаарай.

2. Өгөгдлийн багц цуглуулах, бэлтгэх

Өгөгдлийн багц нь хиймэл оюун ухааны загвар боловсруулах гол элемент юм. Хиймэл оюун ухааны загваруудыг сургахад бидэнд том, олон төрлийн зургийн өгөгдлийн багц хэрэгтэй. Эдгээр өгөгдлийн багцыг ImageNet гэх мэт онлайн эх сурвалжаас авах эсвэл бие даан цуглуулж болно. Өгөгдлийн багцыг цуглуулсны дараа шаардлагатай бол зургийн хэмжээг өөрчлөх, хэвийн болгох, өгөгдлийг нэмэгдүүлэх зэрэг урьдчилсан боловсруулалт хийгддэг.

3. Хиймэл оюун ухааны загваруудыг бий болгох, сургах

Өгөгдлийн багц бэлэн болсны дараа дараагийн алхам бол хиймэл оюун ухааны загварыг бий болгож, сургах явдал юм. Жишээлбэл, дүрс боловсруулахад тохиромжтой Convolutional Neural Network (CNN) загварын архитектуртай TensorFlow хүрээг ашиглах. Энэ үе шатанд загварын тодорхойлолт, эмхэтгэх, сургалтын үйл явцад тохируулах аргууд орно.

"` питон
импортын тензор урсгалыг tf
tensorflow.keras.models импортоос Sequential
tensorflow.keras.layers-аас Conv2D, MaxPooling2D, Flatten, Desen импортлох

CNN загварын тодорхойлолт
загвар = Дараалсан ()
model.add(Conv2D(32, (3, 3), activation='relu', оролтын_хэлбэр=(зургийн_өндөр, зургийн_өргөн, 3)))
загвар.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
загвар.add(MaxPooling2D((2, 2)))
model.add(хавтгай болгох())
model.add(Нягт(128, идэвхжүүлэх='relu'))
model.add(Нягт(num_classes, activation='softmax'))

Загварыг эмхэтгэх
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

Загварын сургалт
model.fit(сургалт_өгөгдөл, сургалтын_шошго, epochs=10, validation_data=(баталгаажуулалтын_өгөгдөл, validation_шошго))
""

4. Ухаалаг гар утсанд зориулсан загварыг байршуулах

Загварыг сургасны дараа ухаалаг гар утсан дээр ашиглаж болох формат руу хөрвүүлэх шаардлагатай. Андройдын хувьд TensorFlow Lite ашиглаж болох бол iOS-ын хувьд Core ML маш хэрэгтэй.

"` питон
импортын тензор урсгалыг tf

Загварыг TensorFlow Lite формат руу хөрвүүлэх
хөрвүүлэгч = tf.lite.TFLiteConverter.from_keras_model(загвар)
tflite_model = хөрвүүлэгч.convert()

Моделийг файлд хадгалах
open('model.tflite', 'wb') функцийг ашиглан f:
f.write(tflite_загвар)
""

5. Камерын програмтай загвар нэгтгэх

Эцсийн алхам бол хиймэл оюун ухааны загварыг камерын аппликейшнд нэгтгэх явдал юм. Андройд дээр зураг авахын тулд Camera2 API, харин боловсруулахын тулд TensorFlow Lite ашиглах шаардлагатай. iOS дээр AVFoundation болон Core ML ашигладаг.

Андройд дээрх интеграцийн жишээ:

“`java
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.Орчуулагчийг импортлох;

public class CameraActivity нь extends Activity нь SurfaceHolder.Callback-г implements болгодог.
хувийн SurfaceView surfaceView;
хувийн SurfaceHolder surfaceHolder;
хувийн камер;
хувийн орчуулагч tflite;

@Дараах
protected void onCreate(Багц хадгалагдсанInstanceState) {
super.onCreate(хадгалсанInstanceState);
setContentView(R.layout.activity_camera);

// Камерын зөвшөөрөл хүсэх
хэрэв (ContextCompat.checkSelfPermission(энэ, Manifest.permission.CAMERA)
!= Багцын менежер.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(энэ, шинэ String[]{Manifest.permission.CAMERA}, 100);
}

// SurfaceView-г эхлүүлэх
гадаргуун харах = findViewById(R.id.surfaceView);
гадаргуун эзэмшигч = surfaceView.getHolder();
surfaceHolder.addCallback(энэ);

// TFLite загварыг ачаалах
try {
tflite = шинэ орчуулагч(loadModelFile(“model.tflite”));
} барих (IOException e) {
e.printStackTrace ();
}
}

@Дараах
public void surfaceCreated(SurfaceHolder эзэмшигч) {
камер = Камер.open();
camera.setPreviewDisplay(эзэмшигч);
камер.эхлүүлэхУрьдчилан харах();
}

@Дараах
public void surfaceChanged(SurfaceHolder эзэмшигч, int формат, int өргөн, int өндөр) {}

@Дараах
олон нийтийн хоосон гадаргуу Устгагдсан (Гадаргуугийн эзэмшигч) {
камер.stopPreview();
камер.хувилбар();
}

хувийн хоосон процессын зураг (Bitmap bitmap) {
// Урьдчилан боловсруулж, энд дүгнэлт хийнэ үү
}

@Дараах
public void onRequestPermissionsResult(int requestCode, @NonNull String[] зөвшөөрлүүд, @NonNull int[] grantResults) {
хэрэв (хүсэлтийн код == 100) {
хэрэв (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
surfaceHolder.addCallback(энэ);
} else {
Toast.makeText(энэ, “Камерын зөвшөөрөл татгалзсан”, Toast.LENGTH_SHORT).show();
}
}
}
}
""

Дүгнэлт

Ухаалаг гар утсан дээр хиймэл оюун ухаанаар ажилладаг камер бүтээх нь зөвхөн нарийн хиймэл оюун ухааны загвар боловсруулах тухай биш, харин уг загварыг ухаалаг гар утасны одоо байгаа техник хангамж, програм хангамжтай нэгтгэх тухай юм. Хөгжүүлэлтийн орчныг бэлтгэх, өгөгдлийн багц цуглуулах, хиймэл оюун ухааны загварыг сургах, загварыг ухаалаг гар утсанд байршуулах, загварыг камерын аппликейшнтай нэгтгэх зэрэг алхмуудыг ойлгож, хэрэгжүүлснээр бид зөвхөн ухаалаг камер төдийгүй хэрэглэгчдэд ихээхэн ашиг тустай автоматжуулалтаар оновчтой үр дүнд хүрэх чадвартай камер бүтээж чадна.

Энэхүү технологи нь энгийн хэрэглэгчдийн ажлыг хялбаршуулаад зогсохгүй програм хөгжүүлэгчид болон мэргэжлийн гэрэл зурагчдад бүтээлч сэтгэлгээгээ илүү боловсронгуй, үр ашигтай аргаар судлах боломжийг нээж өгдөг.

Сэтгэгдэл үлдээх